<td width="100%"><a href="viewtopic.php?p=103#103"><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 08 Ao√ 2007, 22:21<span class="gen"> </span> Sujet du message: Transat (No man's land, 1984)</span></td>
<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=103"><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 French software from 1984, written by Jean-Marc Sornin. Come aboard, we're expecting you... Oops! Cross the Atlantic ocean from La Rochelle to Halifax. An old software written in Applesoft.
<br />
<br />
I have to admit that I have been unable to crack the software at the end of the 80's. Whatever I tried, it failed! I was close to stop working on that software until I tried the basic direct reading of the diskette through the RWTS...
The RWTS entry point at $BD00 redirects to $BEC2. Then, depending on the track the head is over, the markers (DE or F2) and data read routine are changed then execution is given to $BD04.
<br />
<br />
At $BF24, we get the same inits found at $BEC2 but with no data read routine changes or whatever. That may interest us in a near future...
<br />
<br />
The data read routine at $BF75 reads the first markers from the drive (D5 AA AD or AA D5 AD), then it reads extra nibbles and finally read the standard 342 nibbles. Quite weird!
<br />
<br />
<br />
<span style="font-weight: bold">DISK COPY</span>
<br />
As I have been unable to use Advanced Demuffin or similar products, I have written a short program at $0300 that performed track-per-track reads using the program RWTS and moves to my IIgs memory.
<br />
<br />
As the program is trivial, I will not detail it (read one track, copy to memory, loop until track $23)
<br />
<br />
As the RWTS is sort-of a standard one, I presume the code of the RWTS checks that its parameter table must be in $B7xx so that other disk copiers with their own table are unable to copy the disk. I see no other explanation.
Now that the disk is copied, we must invalidate the call to the protection (the one that changes the data read routine and so on...), if you remember well:
<br />
- whenever you call $BD00, a JMP is performed at $BEC2
<br />
- at $BF24, we have a code equivalent to $BEC2 with no change in the data read routine.
<br />
=> Why don't we change the JMP $BEC2 with JMP $BF24 and try?
<br />
<br />
- Launch my favorite disk editor <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" />
<br />
- Read T0/S7
<br />
- At offsets $01/$02, change C2 BE with $24 BF
<br />
- Save and test...
<br />
<br />
<br />
Oh, my backup copy works well...
<br />
<br />
Toinet
<br />
<br />
nb. the CATALOG command has been renamed DIR...</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=119"><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">Tiens, tiens, en lisant la partie consacrΘe au cracking & hacking du site, je suis tombΘ sur la rubrique EDD IV et ses extra-bits.
<br />
<br />
La routine de lecture de Transat semble utiliser la mΩme mΘthode, j'y ai trouvΘ les mΩmes
<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"><!--
BPL MK8_XX ; Marker 8 = $XX EDD l'ignore c'est le $FF trouvΘ par le programme EDDMK1
<br />
NOP
<br />
LDA HC08D,X ; Arghhhhh !!!!!!!
<br />
NOP
<br />
MK9_YY LDA HC08C,X
<br />
BMI MK9_YY ; Marker 9 = $XX EDD
<br />
; Pas un BPL mais un BMI, timing critique!
<br />
</td> </tr></table><span class="postbody">
<br />
<br />
Ce que je peux dΘjα te dire sans me tromper, c'est que c'est un cri qui fait peur - punaise, il me rΘsonne encore dans les oreilles <img src="images/smiles/icon_lol.gif" alt="Laughing" border="0" /> <img src="images/smiles/icon_lol.gif" alt="Laughing" border="0" />
<br />
<br />
Dans le contexte, c'est pour la dΘsynchro des 4 bits (timing) mais peut-Ωtre y a t il une ruse en plus (liΘe au fonctionnement du LSS - je n'ai pas encore lu cette partie). L'expert va venir... <img src="images/smiles/icon_wink.gif" alt="Wink" border="0" /></span><span class="gensmall"><br /><br />DerniΦre Θdition par Deckard le Ven 10 Ao√ 2007, 22:20; ΘditΘ 1 fois</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 valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=127"><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"></span><table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed"><b>Deckard a Θcrit:</b></span></td> </tr> <tr> <td class="quote"> Juste en complΘment, c'est fait α quel moment par rapport α la dΘcomposition d'un secteur (adresse, datas, gaps)?
<br />
Possible d'en voir un peu plus de cette routine ici?</td> </tr></table><span class="postbody">
<br />
<br />
C'est ce qui rend cette disquette particuliΦrement vicieuse α copier car la protection est SUR CHAQUE PISTE (sauf la 0) JUSTE AVANT LES DATAS ET LE MALHEUREUX $F7 qui est le marker de rΘfΘrence, de plus le compte des 80 $FF est strict ce qui fait que les bitcopieurs essayent joyeusement de copier la piste α cet endroit qu'ils pensent Ωtre le dΘbut de piste, ce qui Θvidement vouΘ α l'echec. (pour le crack faut pas pousser c'est assez simple).
Le timing est effectivement trΦs critique et notre $CO8D,X enclenche la sΘquence SR sur le LSS ce qui d'une part le repositionne en sΘquence 0, et d'autre part passe la valeur 1 sur la position du bit 7 du data register (car la disquette est WP testΘe dΦs le dΘbut du boot EDD).
<br />
<br />
Le LSS se retrouve donc sur les sΘquences de codes utilisΘs quand MSB=1 ce qui permet ainsi au LDA qui est alors bouclΘ par BMI d'Θliminer le second bit α 1 de la disquette voir avec + ou - un 0 selon la vitesse du drive. C'est le seul moyen d'Θliminer ces deux bits 1 contenus dans le data register.
<br />
<br />
AprΦs le CLR de ce groupe de codes on se retrouvera alors normalement sur les sΘquences du LSS quand MSB=0 et ainsi resynchronisΘ avec le LDA/BPL mais avec un p'tit souci que Utilico a bien compris...
<br />
<br />
Utilico ne teste pas la valeur du marker placΘ juste derriΦre la dΘsynchronisation α priori car il y a des difficultΘs α savoir de faτon certaine si aprΦs le CLR on sortira de ces sΘquences en allant vers la ligne A ou vers la ligne E des sΘquences reprises pour MSB=0. L'incertitude est liΘe α la vitesse des drives. (Ne surtout pas oublier que les bits 7 et 6 sont dΘtectΘs quand le data register n'est pas encore vidΘ). De ce fait en rΘalitΘ on pourrait relire tout aussi bien <span style="color: red">11</span>11.1111 que <span style="color: red">10</span>11.1111 et on notera avec satisfaction que les deux zeros du $FC Θcrit juste avant le $F7 pourraient alors Ωtre vus comme des bits de synchro lors de la dΘtection du marker $F7.
<br />
Ouf.</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=2"><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=2"><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="mailto:jplvs10@hotmail.com"><img src="templates/subSilver/images/lang_french/icon_email.gif" alt="Envoyer un e-mail" title="Envoyer un e-mail" border="0" /></a> <a href="http://www.hackzapple.com/INDEX0.HTM" 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>