<td width="100%"><a href="viewtopic.php?p=142#142"><img src="templates/subSilver/images/icon_minipost.gif" width="12" height="9" alt="Message" title="Message" border="0" /></a><span class="postdetails">PostΘ le: Sam 11 Ao√ 2007, 22:45<span class="gen"> </span> Sujet du message: The seven cities of gold (Electronic Arts, 1984)</span></td>
<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=142"><img src="templates/subSilver/images/lang_french/icon_quote.gif" alt="RΘpondre en citant" title="RΘpondre en citant" border="0" /></a> </td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
<tr>
<td colspan="2"><span class="postbody">1492 - 1540. The age of discovery, exploration and conquest. The stage of history belonged to Spain. Now it belongs to you.
<br />
<br />
Fantastic game by Ozark Softscape, I have played so many hours trying to discover new worlds. The package will be placed close to the Ultima series.
<br />
<br />
That message will explain how to make a backup copy of it, the following messages will detail the m-code interpreter used by Electronic Arts.
<br />
<br />
<br />
<span style="font-weight: bold">PROTECTION TYPE </span>
<br />
On a standard diskette, track 6 is not copyable. A nibble editor will display lots of $B4 nibbles in it.
<br />
<br />
<br />
<span style="font-weight: bold">DISK COPY </span>
<br />
- Launch Advanced Demuffin 1.4
<br />
- Insert the original disk in drive 1
<br />
- Insert a blank (volume 254) diskette in drive 2
<br />
- Copy tracks 0 to 5
<br />
- Copy tracks 7 to $22
<br />
<br />
<br />
<span style="font-weight: bold">REMOVE THE PROTECTION </span>
<br />
Launch your favorite disk editor
<br />
Remove the first check routine
<br />
- T1/S6/8: 03 79 => B2 71
<br />
Remove the second check routine
<br />
- TE/S7/75: 20 => 2C
<br />
<br />
<br />
Your backup copy is now ready,
<br />
<br />
Toinet</span><span class="gensmall"></span></td>
</tr>
</table></td>
</tr>
<tr>
<td class="row1" width="150" align="left" valign="middle"><span class="nav"><a href="#top" class="nav">Revenir en haut de page</a></span></td>
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
The $A8 and $05 that are stacked are the address to go once tracks 1 and 2 are loaded. That means that the jump address is $A806...
<br />
<br />
If you want to break the program once data are loaded, replace $A8 with $FF and $05 with $58 <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" /> You will go in the monitor...
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
The m-code is a language that contains about 16 different functions dealing with loading, storing data or calling functions. It is fun in the sense that addresses or values are EORed, making it hard to understand.
<br />
<br />
When you have an opcode that takes one parameter, that one is EORed with value #$4C. When it takes two, the key is #$D903 (high-low)
<br />
<br />
The following tables show the opcode value, its parameter number and its name:
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
Yep, yep, now that you speak m-code fluently, we need to find where the protection at $A000 is called as we have been unable to find a JSR or JMP to it. Please discover the protection:
So that, 01 03 79 means JSR $A000 <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" /> A call to a 6502 protection. We need to bypass the call and thus find a 6502 RTS address...
<br />
<br />
There is one at $A8B1, we must encode it:
<br />
- $B1 EOR $03 => $B2
<br />
- $A8 EOR $D9 => $71
<br />
<br />
Gotcha!!!!! You now have the explanation of the change of track 1, sector 6 <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" />
<br />
<br />
If you reboot, you will be disappointed as there is another disk check routine. As I thought it was the same as the first one, I have searched for the same $C0EC patterns. You will find them in memory locations $6100 and above or on track E on disk.
<br />
<br />
Discover the new $6000..$6FFF memory space and find a $6100 call at $6875, let's try to BIT it, thus the second change on track E, sector 7.
<br />
<br />
Two days of hard work...</span><span class="gensmall"></span></td>
</tr>
</table></td>
</tr>
<tr>
<td class="row2" width="150" align="left" valign="middle"><span class="nav"><a href="#top" class="nav">Revenir en haut de page</a></span></td>
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
Please find hereafter the source code of my basic m-code decoder <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" /> Just put the address of a m-code buffer in $FE..$FF, then 1000G <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" />
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
<td align="right" valign="top" nowrap="nowrap"><span class="gensmall">Toutes les heures sont au format GMT + 1 Heure</span><br /><span class="nav"></span>
</td>
</tr>
<tr>
<td align="left" colspan="3"><span class="nav">Page <b>1</b> sur <b>1</b></span></td>
<td nowrap="nowrap"><span class="gensmall">Sauter vers: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ forms['jumpbox'].submit() }"><option value="-1">SΘlectionner un forum</option><option value="-1"> </option><option value="-1">GENERALITES</option><option value="-1">----------------</option><option value="1">REGLES DE BASE DU FORUM</option><option value="2">PRESENTATION DES MEMBRES</option><option value="3">FAQ</option><option value="24">LES VENDEURS DE Q et assimilΘs...</option><option value="-1"> </option><option value="-1">La ligne des APPLE II</option><option value="-1">----------------</option><option value="4">APPLE II et II+</option><option value="5">APPLE IIe</option><option value="6">APPLE IIc et IIc Plus</option><option value="7">APPLE IIGS</option><option value="8">ITT2020</option><option value="9">BELL & HOWELL</option><option value="-1"> </option><option value="-1">ON AIME AUSSI...</option><option value="-1">----------------</option><option value="25">APPLE I</option><option value="10">APPLE /// et ///Plus</option><option value="11">LISA 1, 2, 2/5, 2/10 et ... XL</option><option value="-1"> </option><option value="-1">LOGICIELS</option><option value="-1">----------------</option><option value="12">PROBLEMES DIVERS</option><option value="13"selected="selected">PROTECTION MALEFIQUE</option><option value="23">EMULATION</option><option value="-1"> </option><option value="-1">LES CARTES ET PERIPHERIQUES</option><option value="-1">----------------</option><option value="14">CARTES COPROCESSEUR</option><option value="15">CARTES MEMOIRE</option><option value="16">CARTES POUR DISQUES</option><option value="17">AUTRES CARTES</option><option value="18">PERIPHERIQUES</option><option value="-1"> </option><option value="-1">EN VRAC ET DIVERS</option><option value="-1">----------------</option><option value="19">Recherches techniques (hard ou soft)</option><option value="20">ACHATS,VENTES ET/OU ECHANGES</option><option value="21">DIVERS...MAIS TOUJOURS EN RELATION AVEC APPLE!</option><option value="22">LES PETITS MAUDITS A EVITER</option></select><input type="hidden" name="sid" value="88dc291636b558c274916ca04b217a32" /> <input type="submit" value="Aller" class="liteoption" /></span></td>
</tr>
</table></form>
<span class="gensmall">Vous <b>ne pouvez pas</b> poster de nouveaux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> rΘpondre aux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> Θditer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> supprimer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> voter dans les sondages de ce forum<br /></span></td>