<td width="100%"><a href="viewtopic.php?p=167#167"><img src="templates/subSilver/images/icon_minipost.gif" width="12" height="9" alt="Message" title="Message" border="0" /></a><span class="postdetails">PostΘ le: Mer 15 Ao√ 2007, 21:36<span class="gen"> </span> Sujet du message: Leather goddesses of Phobos (Infocom, 1992)</span></td>
<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=167"><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">A sex-oriented text adventure by Infocom. You'd better speak and understand English (and slang English) very well otherwise you'll get lost quite rapidly. At the time of HackerForce, the game has been distributed with its on-disk protection!
- $D010: nibblize 256 bytes to 342 6*2 coded nibbles
<br />
- $D03A: write sector
<br />
- $D0D2: denibblize 342 6*2 coded nibbles to X bytes (X is set at $0D)
<br />
- $D154: read header marker and data (volume/track/sector)
<br />
- $D1B0: move arm
<br />
- $D2E0: the RWTS management routine
<br />
- ...: other routines
<br />
- $D486: read a 18-sector from disk
<br />
- $D505: some inits
<br />
- $D51D: translation routine
<br />
==> Given two parameters (maybe a page index), the routines translates the values into a track and sector value depending on the side (side 1 = 16 sectors per track, side 2 = 18 sectors per track)
<br />
- $D871: please insert side 1 of the disk routine
<br />
==> $EB = 1
<br />
- $D8A1: please insert side 2 of the disk routine
<br />
==> $EB = 2
<br />
- $DD48: the main program loop
<br />
<br />
That is a huge RWTS, using lots of parameters in the zero page. What was fun to discover is the ADC #$12 or SBC #$12 making me understand that the second side was a 18-sector one. There have been several games using that kind of protection: Flight Simulator 2, Wings of Fury, Prince of Persia and maybe others. It appears that the disk scheme was sometimes different. Let's see ours.
Please find hereafter the long commented source code of the RWTS. Please note that the original code begins at label RWTS, the first part is my copy code (read the 18-sector disk and move to the IIgs memory)
<br />
<br />
<span style="font-style: italic">The RWTS source code is not complete, it is available upon request</span>
- Use my code in the previous section to copy the back side
<br />
- Then use a DOS 3.3 RWTS to write back the data on a 16-sector disk
<br />
<br />
<span style="font-style: italic">We would have been obliged to rewrite the RWTS if the game would have used the entire $23 tracks of it. We are lucky people, we find data on the first $F tracks of our 16-sector copy</span>
<br />
<br />
<br />
<span style="font-weight: bold">REMOVE THE PROTECTION</span>
<br />
We have to tell our beloved goddesses that the back side is no longer a 18-sector ($12) track but a 16-sector ($10) one.
<br />
<br />
Oops! I believe I am a really lucky guy:
<br />
- Remember the RWTS ADDRESSES section and the details about the ADC/SBC #$12?
<br />
=> Why not find and replace $12 with $10
<br />
- Remember the RWTS commands with bit 7 = 1 if it is to read a 18-sector data?
<br />
=> Why not mask bit 7?
<br />
<br />
- Please launch your favorite disk editor
<br />
- Set the interleaving to the one described (so) many lines above
<br />
- On T0/S7/48: 12 => 10
<br />
- On T0/S7/55: 12 => 10
<br />
- On T0/S2/00: EA EA => 29 7F (I am a lucky guy, thanks for the NOPs)
<br />
<br />
<br />
Reboot... Insert side 2... Enjoy your backup copy...
<br />
<br />
Toinet
<br />
<br />
<span style="font-style: italic">Thanks to Deckard, try the $verify command at the prompt. It shall answer 'Okay.' if your disks can be read entirely.</span></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="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=175"><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">Attention pour les softs Infocom, il y a souvent plusieurs versions d'un mΩme titre qui sont sorties avec des annΘes d'Θcart.
<br />
<br />
=> Qui dit version diffΘrente, dit aussi dΘprotection probablement dissemblable.
<br />
<br />
Il faut prΘciser ici qu'il s'agit de la version SOLID GOLD (il y a du dorΘ sur la jacquette du programme) et cette version a 2 faces contrairement α la version initiale sortie quelques annΘes plus t⌠t qui n'en comptait qu'une seule. (Si le programme vous demande de retourner le disk, vous avez la derniΦre version). Ce supplΘment correspond α une aide en ligne -built-in hint menu (qui prend de la place).
<br />
<br />
Il est aussi possible de se repΘrer par rapport α la version de l'interprΘteur Z-Machine (numΘro α rajouter - lα je ne peux pas, je suis sur le dΘpart en congΘs). Ce numΘro s'affiche au dΘmarrage.
<br />
<br />
JM</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=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=182"><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">Je suis trΦs ΘtonnΘ que cette version date de 1992 <img src="images/smiles/icon_eek.gif" alt="Shocked" border="0" />
<br />
J'aurais plut⌠t dit la fin des annΘes 80.
<br />
JM</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=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>