<td width="100%"><a href="viewtopic.php?p=90#90"><img src="templates/subSilver/images/icon_minipost.gif" width="12" height="9" alt="Message" title="Message" border="0" /></a><span class="postdetails">PostΘ le: Mar 07 Ao√ 2007, 22:40<span class="gen"> </span> Sujet du message: Ultima IV (Origin Systems, 1985)</span></td>
<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=90"><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">Quest of the Avatar by Lord British. Prepare yourself for a grand adventure: Ultima IV, sixteen times larger than Ultima III, is a milestone in computer gaming.
<br />
<br />
The Ultima series is the one that kept me awake during many nights. I have never had the Ultima IV original game but the others. Now, I have been able to remove the protection of Ultima II to Ultima V <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" />
You get a nearly standard DOS 3.3 boot0 code at $0800. The JMP $B6F0 at $084A is different.
<br />
- 96FB:A9 59 8D 4B 08 A9 FF 8D 4C 08 4C 01 08
<br />
- 9600G
<br />
You now have the RWTS from $B600 to $BFFF
<br />
At $B6F0, zero page address $31 is set to $AA, $4E is set to $AD then a JMP $B700 is performed
<br />
<br />
At $B700, the code loops until $C000 and decode with EOR $8E the rest of the RWTS code... Let's reveal it:
<br />
- B701:1B
<br />
- B71A:60
<br />
- B700G
<br />
- B71A:8E
<br />
Enjoy the reading of the decoded RWTS: DOS 3.3 loading through $B793 using $B7B5 which goes to $BA00 and not the standard $BD00.
<br />
<br />
If you read the RWTS carefully, you will realize that the different routines have been reordered:
<br />
- The header field read routine is at $BE42 instead of $B944. It uses the $31 ZP value to read the D5 AA 96 disk values.
<br />
- The data field read routine is at $BDDC instead of $B8DE. It uses the $4E ZP value to read the D5 AA AD/B5 disk values.
<br />
etc.
<br />
<br />
At $B793 you read a JMP $B800 that is the first protection of the diskette: a nibble read comparison which fails with a copy <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" /> Keep in mind you will need to remove that one...
As usual, my objective is to make minimal changes to the disk. The changes above will be limited to the removal of the disk check routine and the change of the data markers D5 AA AD/B5.
<br />
<br />
As stated previously, the disk check routine is called by $B793 at address $B800 => we must remove that one and keep in mind that our RWTS is EOR coded with the value $8E...
<br />
- Launch Disk Fixer
<br />
- Read track 0, sector 1
<br />
- At offset 93, change C2 8E 36 (aka JMP $B800) to 22 6B 39 (aka LDY $B7E5)
<br />
- Save the sector, that's it!
<br />
<br />
As stated previously, the data marker to read is located on the zero page at address $4E, 'valid' values are AD and B5. The data read routine is located at $BDDC, we must replace CMP $4E with CMP #$AD, let's do it now:
<br />
- Launch Disk Fixer
<br />
- Read track 0, sector 7
<br />
- At offset FA, change 4B C0 (aka CMP $4E) with 47 23 (CMP #$AD)
<br />
- Save the sector, that's it!
<br />
<br />
<br />
You now have your backup copy as the three other sides are not copy-protected (each file name contains control characters <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" />
<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"><!--
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=3"><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=3"><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://boutillon.free.fr" 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 valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=92"><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">Cela fonctionne avec AppleWin 1.13.2 sans aucun problΦme de chargement.</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"><!--
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=3"><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=3"><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://boutillon.free.fr" 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>