home *** CD-ROM | disk | FTP | other *** search
/ hackzapple.com / www.hackzapple.com.tar / www.hackzapple.com / DISKII / DISKIITECH04.HTM.orig < prev    next >
Text File  |  2010-10-06  |  25KB  |  360 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  2. <HTML>
  3. <HEAD>
  4. <TITLE>HACK Z APPLE, Collection Apple II</TITLE>
  5.   <link rel="shortcut icon" type="image/x-icon" href="http://www.hackzapple.com/favicon.ico">
  6.   <meta http-equiv="imagetoolbar" content="no">
  7.   <meta name="author" content="JPL">
  8.  <meta name="KEYWORDS"    content="HACK Z APPLE, JPL, Cracking, Hacking, DISK II, DRIVES, DISQUETTES, Collection APPLE II, APPLE, Apple II, APPLE II Plus, 2+, Europlus, 2e, //e, enhanced, Platinium, Stealth,  Cortland, GS, IIGS, WOZ, IIGS WOZ, ROM 0, ROM 1, ROM 4, IIc, IIc Plus,Apple III, LISA, MAC XL, DARK VADOR, ITT 2020, APPLE BF,APPLE REV0, REVISION 0, RFI, NON RFI">
  9.   <meta name="TITLE"     content="Apple II standard">
  10.   <meta name="OWNER"     content="HACKZAPPLE.COM">
  11.   <meta name="SUBJECT"     content="Collection Apple II">
  12.   <meta name="REVISIT-AFTER"     content="10 DAYS">
  13.   <meta name="LANGUAGE" content="FR">
  14.   <meta name="ROBOTS"     content="All">   
  15. <link href="../BASIC.CSS" rel="stylesheet" type="text/css"> 
  16. </HEAD>
  17.  
  18. <BODY>
  19. <CENTER>
  20. <A NAME="DISK04"></A>
  21. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  22. <TR>     <TD WIDTH="200">     </TD> 
  23.     <TD WIDTH="100">     </TD> 
  24.     <TD WIDTH="200">    </TD> 
  25.     <TD WIDTH="10">    </TD> 
  26.     <TD WIDTH="190">    </TD> 
  27. </TR>
  28.  
  29. <TR>     <TD COLSPAN="4" valign="TOP" > <img src="../THEMAS/M3/XDISK4.PNG" BORDER=0></TD>  
  30.     <TD> 
  31.     <CENTER>
  32.     <A HREF="DISKIITECH03.HTM" > <img  src="../THEMAS/DIVERS/PRIOR1.PNG" BORDER=0></A>
  33.     <A HREF="DISKIITECH.HTM" > <img  src="../THEMAS/DIVERS/HOME1.PNG" BORDER=0></A>  
  34.     <A HREF="DISKIITECH04A.HTM" ><img  src="../THEMAS/DIVERS/SUITE1.PNG" BORDER=0></A>
  35.     </CENTER>
  36.     </TD>
  37. </TR>
  38. <TR> <TD HEIGHT="10"> </TD> </TR>
  39. <TR>     <TD COLSPAN="5" CLASS="PARAG1"> Puisqu'il n'y a aucun systeme physique permettant de signaler α la tete de 
  40. lecture o∙ commence un <A HREF="DISKIITECH2A.HTM">"NIBBLE"</A> Θcrit sur la disquette, quand la dite tΩte de lecture
  41. lit un bit, il n'y a absolument aucun moyen de savoir si elle est positionnΘe au debut d'un octet valide sur 
  42. la disquette... c'est mΩme rarement le cas.
  43. <BR><BR> 
  44. En fait la synchronisation est fondΘe sur le fait qu'un nibble valide doit obligatoirement commencer par un 1 et 
  45. jamais un 0, et, <FONT COLOR="RED">qu'en ayant ajoutΘ deux 0 supplΘmentaires lors de l'Θcriture des nibbles de synchronisation,</FONT> la lecture
  46.  va ainsi "dΘraper" car <FONT COLOR="RED">on aura Θcrit des <B>nibbles de synchronisation en 10 bits alors qu'on effectuera
  47.  la lecture par groupes de 8 bits.</B> </FONT>
  48. <BR><BR> 
  49. En clair (les points sont lα uniquement pour faciliter la lecture des bits): <BR>
  50. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">un nibble  $FF Θcrit normalement en 32 cycles (4*8) sera reprΘsentΘ sur la disquette par 1111.1111 <BR>
  51. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">un nibble  $FF Θcrit en 40 cycles sera reprΘsentΘ sur la disquette par 1111.1111.00<BR>
  52. Parce qu'il y a deux zΘros supplΘmentaire ce dernier $FF est dit "de synchronisation", l'explication suit....
  53. <BR><BR>
  54.     </TD>
  55. </TR>
  56. </TABLE>
  57.  
  58. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  59. <TR>     <TD WIDTH="100">     </TD> 
  60.     <TD WIDTH="600">     </TD> 
  61. </TR>
  62. <TR>     
  63.     <TD>   <IMG SRC="../THEMAS/DIVERS/DIPLOME.PNG"></TD>
  64.     <TD  CLASS="PARAG1K">
  65.     <B>CULTURE GENERALE </B> 
  66.     <BR><BR>
  67.     Wozniak a dΘclarΘ dans une interview a Anaheim (californie) le 17 avril 1983 qu'il avait eu l'idΘe de mettre le bit 7 
  68.     obligatoirement α 1, pour dΘfinir des groupes de donnΘes, en s'inspirant du bit de stop utilisΘ par les liaisons RS232.
  69.     (source : <A HREF="DISKIITECH13.HTM">Jim Sather</A>)
  70.     </TD>
  71. </TR>
  72. </TABLE>
  73.  
  74.  
  75. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  76. <TR>     <TD WIDTH="200">     </TD> 
  77.     <TD WIDTH="100">     </TD> 
  78.     <TD WIDTH="200">    </TD> 
  79.     <TD WIDTH="10">    </TD> 
  80.     <TD WIDTH="190">    </TD> 
  81. </TR>
  82. <TR>     <TD COLSPAN="5" CLASS="PARAG1">
  83. <BR>
  84. <HR color="RED">
  85. <FONT COLOR=RED> <B>MAIS COMMENT CA MARCHE ?</B></FONT>
  86. <HR color="RED">
  87. <BR> 
  88. La lecture des bits sur la disquette se fait par groupe de 8. Immanquablement il y aura donc un moment ou certains de ces 0 se trouveront en tΩte de groupe 
  89. et ils seront ignorΘs (car le bit 7 doit OBLIGATOIREMENT Ωtre α 1), ce qui permet ainsi de rΘaliser de synchroniser la 
  90. lecture sur les valeurs ad hoc <FONT COLOR="RED">par "dΘrapage" de la lecture.</FONT> L'explication technique de ce "dΘrapage"
  91. est donnΘe dans la rubrique<A HREF="DISKIITECH07B.HTM">"FONCTIONNEMENT DU LOGIC STATE SEQUENCER EN MODE READ"</A>
  92. <BR><BR>
  93. Le DATA REGISTER qui contient le nibble en cours de lecture n'a pas la bonne valeur immΘdiatement, la lecture est rapide mais
  94. cela ne relΦve pas de la magie non plus : C'est la raison mΩme de l'instruction BPL que l'on trouve dans toutes les routines de lecture, cette instruction permet
  95. ainsi d'Ωtre s√r que le nibble lu et prΘsent dans le registre de lecture commence bien par un 1. 
  96. <BR><BR>
  97. En Θcrivant un nombre suffisant de ces nibbles de synchronisation, les valeurs cherchΘes pourront Ωtre retrouvΘes
  98. et ce sont les routines de lecture qui vont devoir dΘterminer ce qu'il faut trouver... de lα ces merveilleux systΦmes 
  99. de protection qui Θcrivent des valeurs non standard pour empΩcher la copie. Voici donc la sΘquence normale de dΘtection des
  100. valeurs recherchΘes :<BR> </TD> </TR>
  101. <TR>     <TD COLSPAN="5" CLASS="PARAG1"> </TD></TR>
  102. <TR>     <TD  CLASS="PARAG1" > <CENTER> LOOP</CENTER> </TD> <TD CLASS="PARAG1"> LDA $C08C,X </TD> </TR>
  103. <TR>     <TD> </TD> <TD CLASS="PARAG1"> BPL LOOP</TD> <TD COLSPAN="3"  CLASS="PARAG1"> ; tant que le nibble ne commence pas par 1 on boucle</TD> </TR>
  104. <TR>     <TD> </TD> <TD CLASS="PARAG1"> CMP #$D5</TD> <TD COLSPAN="3"  CLASS="PARAG1"> ; on fait le test ensuite de ce qui est recherchΘ</TD> </TR>
  105. <TR>     <TD> </TD> <TD CLASS="PARAG1"> BNE LOOP</TD> <TD COLSPAN="3"  CLASS="PARAG1"> ; si ce n'est pas $D5 on continue <BR><BR>  </TD> 
  106.  
  107. </TR>
  108. <TR>     <TD COLSPAN="5" CLASS="PARAG1"> 
  109. <FONT COLOR=RED> Nota important : </FONT> 
  110. On n'essaye pas de lire les valeurs de synchronisation en tant que telles mais la premiere valeur 
  111. ad hoc qui se trouve derriΦre. Supposons que vous cherchiez les valeurs $D5 $AA $96, premiers marqueurs d'un dΘbut de 
  112. champ d'adresse, derriΦre cinq $FF de synchronisation.
  113. <BR>
  114. <BR>
  115. Sur votre disque vous aurez la suite FF FF FF FF FF D5 AA 96 etc... Comme les $FF sont des nibbles de synchronisation,
  116.  ils sont Θcrits en 40 cycles et donc prΘsentent tous normalement 2 extrabits (les deux zΘros de fin), il y a en fait sur 
  117. la disquette les bits suivants (les points . sont lα pour faciliter la lecture des bits par groupe de 4 et localiser les extrabits)<BR>
  118. </TD> </TR>
  119. </TABLE>
  120.  
  121. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  122. <TR> 
  123. <TD WIDTH="30"> </TD>
  124. <TD WIDTH="30"> </TD>
  125. <TD WIDTH="30"> </TD>
  126. <TD WIDTH="30"> </TD>
  127. <TD WIDTH="30"> </TD>
  128. <TD WIDTH="30"> </TD>
  129. <TD WIDTH="30"> </TD>
  130. <TD WIDTH="30"> </TD>
  131. <TD WIDTH="30"> </TD>
  132. </TR>
  133. <TR>  
  134. <TD bgcolor="GREEN" CLASS="PARAG1AC">1111.1111.00</TD><TD bgcolor="BLUE" CLASS="PARAG1AC">1111.1111.00</TD>
  135. <TD bgcolor="GREEN" CLASS="PARAG1AC">1111.1111.00</TD><TD bgcolor="BLUE" CLASS="PARAG1AC">1111.1111.00</TD>
  136. <TD bgcolor="GREEN" CLASS="PARAG1AC">1111.1111.00</TD>
  137. <TD bgcolor="GRAY" CLASS="PARAG1AC">1101.0100.</TD>
  138. <TD bgcolor="DARKGRAY" CLASS="PARAG1AC">1010.1010.</TD>
  139. <TD bgcolor="GRAY" CLASS="PARAG1AC">1001.0101.</TD></TR>
  140. <TR> <TD COLSPAN="9" HEIGHT="30"> </TD></TR>
  141. <TR> 
  142. <TD bgcolor="GREEN" CLASS="PARAG1AC"> $FF et.00</TD><TD bgcolor="BLUE" CLASS="PARAG1AC"> $FF et.00</TD>
  143. <TD bgcolor="GREEN" CLASS="PARAG1AC"> $FF et.00</TD><TD bgcolor="BLUE" CLASS="PARAG1AC"> $FF et.00</TD>
  144. <TD bgcolor="GREEN" CLASS="PARAG1AC"> $FF et.00</TD>
  145. <TD bgcolor="GRAY" CLASS="PARAG1AC"> $D5 </TD>
  146. <TD bgcolor="DARKGRAY" CLASS="PARAG1AC">$AA </TD>
  147. <TD bgcolor="GRAY" CLASS="PARAG1AC">$96 </TD>
  148. </TR>
  149. </TABLE>
  150.  
  151.  
  152.  
  153. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  154. <TR> <TD WIDTH="200"> </TD> <TD WIDTH="100"> </TD> <TD WIDTH="50"></TD> <TD WIDTH="250"></TD> <TD WIDTH="100"></TD> </TR>
  155. <TR> <TD COLSPAN="5" HEIGHT="10"></TD></TR>
  156. <TR>     <TD COLSPAN="5" CLASS="PARAG1"> Ci dessous on reprΘesente ce flux de nibbles dΘcomposΘs en bits. 
  157. Comme dit plus haut les nibbles de synchronisation sont Θcrits en 40 cycles c'est pourquoi ils ont toujours 
  158. les 2 zΘros (les extrabits) derriΦre les 8 bits reprΘsentant leur propre valeur qui, pour
  159. d'Θvidentes raisons de simplification sont $FF soit 11111111. <BR><BR>Mais attention certaines protections, pour Θviter 
  160. que les programmes de copie "intelligents" (bitcopiers) trouvent le dΘbut de piste par dΘtection de ces $FF, 
  161. mettent d'autres  valeurs Θcrites en 32 cycles, donc sans ces deux extrabits et lα le calcul de synchronisation devient 
  162. un tantinet moins simple.
  163. <BR><BR>
  164. <FONT COLOR=RED> Nota important : </FONT>  DΦs que la synchronisation est obtenue, ELLE EST CONSERVEE JUSQU'A LA FIN
  165. DE LA LECTURE de l'objet lu (entΩte d'adresse ou secteur). ELLE N'EST PERDUE QU'EN CAS D'ERREUR DE MAGNETISATION !!! 
  166. donc si votre disquette est abεmΘe.... o∙ si vous Ωtes sur une zone de recouvrement 
  167. (voir la rubrique <A HREF="DISKIITECH03.HTM">"format d'une disquette"</A>)
  168. <BR><BR> <HR color="RED">
  169. <FONT COLOR=RED> <B>EXPLICATION DETAILLEE DE LA SYNCHRONISATION PAR L'EXEMPLE</B></FONT> 
  170. <HR color="RED">
  171. Il n'y a que 10 possibilitΘs pour commencer la lecture
  172. Ci dessous vous avez donc le mΩme flux representΘ 10 fois, et sous chaque flux on montre ce qui se passe au niveau 
  173. de la lecture selon le premier bit lu par la tete de lecture. La ligne 1 c'est le cas ou la tete tombe immediatement sur le premier bit d'un octet de synchronisation, 
  174. il va sans dire que la synchronisation est immediate. 
  175. <BR><BR>
  176. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF"><B>les Θtoiles (*) sous les bits indiquent que le mode lecture n'a encore 
  177. pas commencΘ.</B> <BR> <BR> 
  178. <FONT COLOR="#40FF40"> 
  179.     Quand la lecture commence effectivement, elle se fait :<BR>  
  180.     <IMG SRC="../THEMAS/DIVERS/BULLET2.GIF">soit par acceptation ("a" = acceptΘ) <BR>
  181.     <IMG SRC="../THEMAS/DIVERS/BULLET2.GIF">soit par ignorance ("I" = IgnorΘ) du  bit rencontrΘ. 
  182. </FONT> <BR><BR> 
  183. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">En rouge et magenta (les 'a') ce sont les 8 bits lus pour constituer un nibble, 
  184. <BR><BR>
  185. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">En jaune les extrabits qui peuvent Ωtre soit acceptΘs dans un nibble (a), soit ignorΘs 
  186. α la lecture (I) quand ils sont en tΩte de nibble (qui doit toujours commencer par un 1 pour Ωtre valide, on ne le dira jamais assez)
  187. <BR><BR>
  188. <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">En vert gras le premier nibble synchronisΘ, les suivants sont obligatoirement synchronisΘs<BR>
  189. <BR>Les cas 9 et 10 sont les cas particuliers ou la tΩte tombe directement sur l'un ou l'autre des extrabits, ce qui revient quasiment au mΩme
  190. que de tomber sur le 1er bit d'un nibble valide
  191. </TD> </TR>
  192. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 1 (synchronisation immΘdiate) </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  193. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> <FONT COLOR=RED> 1 1 1 1 1 1 1 1 </FONT> <FONT COLOR=YELLOW> 0 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> </TD></TR>
  194. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> <FONT COLOR=RED> a a a a a a a a</FONT> 
  195. <FONT COLOR=YELLOW>  I I </FONT> Les deux 0 sont ignorΘs car un nibble doit commencer par 1... </TD></TR>
  196. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"> <img src="../THEMAS/M3/BIT.PNG">
  197. Les nibbles valides lus sont les suivants :
  198. </TD></TR>
  199. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  200. le 1er     <FONT COLOR="RED"> 1111 1111 =$FF</FONT><BR>
  201. le 2Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  202. </TD></TR>
  203.  
  204. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 2 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  205. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 <FONT COLOR=RED> 1 1 1 1 1 1 1 0 </FONT> <FONT COLOR=YELLOW> 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT>  </TD></TR>
  206. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * <FONT COLOR=RED> a a a a a a a a </FONT>
  207.  <FONT COLOR=YELLOW>I</FONT> Le zΘro est ignorΘ car un nibble doit commencer par 1... puis c'est SynchronisΘ</TD></TR>
  208. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">   <img src="../THEMAS/M3/BIT.PNG">
  209. Les nibbles valides lus sont les suivants :
  210. </TD></TR>
  211. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  212. le 1er     <FONT COLOR="RED"> 1111 1110 =$FE</FONT><BR>
  213. le 2Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  214. </TD></TR>
  215.  
  216. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG1"> Comparez les cas 1 et 2 pour bien comprendre que les extrabits 
  217. (dits de synchronisation) sont bien lα pour Ωtre soit absorbΘs dans un nibble soit pour Ωtre ignorΘs. L'objectif
  218. recherchΘ est d'avoir suffisament de nibbles avec ces zeros finaux pour faire "dΘraper" la lecture de telle
  219. faτon que l'on soit obligatoirement synchronisΘ aprΦs un certain temps, qui dΘpendra de l'endroit o∙ la tΩte de
  220. lecture commence α effectivement lire les transitions magnΘtiques de la disquette</TD></TR>
  221.  
  222. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 3 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  223. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 <FONT COLOR=RED> 1 1 1 1 1 1 0 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW>0 0</FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT></TD></TR>
  224. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * <FONT COLOR=RED> a a a a a a a a </FONT> 
  225. Les deux extrabits ont ΘtΘ absorbΘs dans le nibble lu et maintenant c'est SynchronisΘ</TD></TR>
  226. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">       <img src="../THEMAS/M3/BIT.PNG">
  227. Les nibbles valides lus sont les suivants :
  228. </TD></TR>
  229. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  230. le 1er     <FONT COLOR="RED"> 1111 1100 =$FC</FONT><BR>
  231. le 2Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  232. </TD></TR>
  233.  
  234. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG1">
  235. Il est Θgalement important de comprendre que le programme de lecture n'essaye PAS de lire la valeur des nibbles 
  236. de synchronisation mais RECHERCHE UNIQUEMENT UN NIBBLE VALIDE SPECIFIQUE dont il connaεt la valeur, 
  237. par exemple $D5 pour le premier nibble d'un champ adresse. <BR>
  238. Dans le cas prΘsent la tΩte de lecture ne s'est pas posΘe au dΘbut du $FF qui a ΘtΘ Θcrit avec ses deux extrabits 
  239. et pourtant on est synchronisΘ immΘdiatement comme si elle s'Θtait posΘe au dΘbut du dit $FF !
  240. </TD></TR>
  241.  
  242.  
  243. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 4 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  244. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 <FONT COLOR=RED> 1 1 1 1 1 0 0 1</FONT> <FONT COLOR=MAGENTA> 1 1 1 1 1 1 1 0 </FONT> <FONT COLOR=YELLOW>  0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT></TD></TR>
  245. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * <FONT COLOR=RED> a a a a a a a a </FONT> <FONT COLOR=MAGENTA> a a a a a a a a </FONT> <FONT COLOR=YELLOW>  I</FONT>   Maintenant c'est SynchronisΘ</TD></TR>
  246. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">          <img src="../THEMAS/M3/BIT.PNG">
  247. Les nibbles valides lus sont les suivants :
  248. </TD></TR>
  249. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  250. le 1er     <FONT COLOR="RED"> 1111 1001 =$F9</FONT><BR>
  251. le 2Φme <FONT COLOR="MAGENTA">1111 1110 =$FE</FONT>,<BR> 
  252. le 3Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  253. </TD></TR>
  254.  
  255. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 5 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  256. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 <FONT COLOR=RED> 1 1 1 1 0 0 1 1 </FONT> <FONT COLOR=MAGENTA> 1 1 1 1 1 1 0 0 </FONT>  <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT></TD></TR>
  257. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * <FONT COLOR=RED> a a a a a a a a </FONT> <FONT COLOR=MAGENTA> a a a a a a a a </FONT>   Maintenant c'est SynchronisΘ</TD></TR>
  258. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">             <img src="../THEMAS/M3/BIT.PNG">
  259. Les nibbles valides lus sont les suivants :
  260. </TD></TR>
  261. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  262. le 1er     <FONT COLOR="RED"> 1111 0011 =$F3</FONT><BR>
  263. le 2Φme <FONT COLOR="MAGENTA">1111 1100 =$FC</FONT>,<BR> 
  264. le 3Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  265. </TD></TR>
  266.  
  267. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 6 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  268. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 1 <FONT COLOR=RED> 1 1 1 0 0 1 1 1 </FONT> <FONT COLOR=MAGENTA> 1 1 1 1 1 0 0 1 </FONT> <FONT COLOR=RED> 1 1 1 1 1 1 1 0 </FONT> <FONT COLOR=YELLOW>  0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT>  1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> </TD></TR>
  269. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * * <FONT COLOR=RED> a a a a a a a a </FONT> <FONT COLOR=MAGENTA>a a a a a a a a </FONT> <FONT COLOR=RED>a a a a a a a a </FONT> <FONT COLOR=YELLOW>  I </FONT>     Maintenant c'est SynchronisΘ</TD></TR>
  270. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">               <img src="../THEMAS/M3/BIT.PNG">
  271. Les nibbles valides lus sont les suivants :
  272. </TD></TR>
  273. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  274. le 1er     <FONT COLOR="RED"> 1110.0111 =$E7</FONT><BR>
  275. le 2Φme <FONT COLOR="MAGENTA">1111 1001 =$F9 </FONT>,<BR> 
  276. le 3Φme <FONT COLOR="RED">1111 1110 =$FE </FONT>,<BR>
  277. le 4Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  278. </TD></TR>
  279.  
  280. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 7 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  281. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 1 1 <FONT COLOR=RED> 1 1 0 0 1 1 1 1 </FONT> <FONT COLOR=MAGENTA> 1 1 1 1 0 0 1 1 </FONT> <FONT COLOR=RED> 1 1 1 1 1 1 0 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW>0 0 </FONT>  1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT>  </TD></TR>
  282. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * * * <FONT COLOR=RED> a a a a a a a a </FONT> <FONT COLOR=MAGENTA> a a a a a a a a </FONT> <FONT COLOR=RED> a a a a a a a a </FONT>   Maintenant c'est SynchronisΘ</TD></TR>
  283. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">                    <img src="../THEMAS/M3/BIT.PNG"> Les nibbles valides lus sont les suivants :
  284.  
  285. </TD></TR>
  286. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">  
  287. le 1er     <FONT COLOR="RED"> 1100.1111 =$CF</FONT>  <BR>
  288. le 2Φme <FONT COLOR="MAGENTA"> 1111 0011 =$F3 </FONT>,<BR> 
  289. le 3Φme <FONT COLOR="RED"> 1111 1100 =$FC </FONT>,<BR>
  290. le 4Φme <FONT COLOR="#40FF40"> 1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  291. </TD></TR>
  292.  
  293. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 8 </B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  294. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 1 1 1 <FONT COLOR=RED> 1 0 0 1 1 1 1 1 </FONT> <FONT COLOR=MAGENTA> 1 1 1 0 0 1 1 1 </FONT> <FONT COLOR=RED> 1 1 1 1 1 0 0 1 </FONT> <FONT COLOR=MAGENTA> 1 1 1 1 1 1 1 0 </FONT> <FONT COLOR=YELLOW>  0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW>  0 0 </FONT> </TD></TR>
  295. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * * * * <FONT COLOR=RED> a a a a a a a a </FONT> <FONT COLOR=MAGENTA> a a a a a a a a</FONT> <FONT COLOR=RED>  a a a a a a a a </FONT> <FONT COLOR=MAGENTA> a a a a a a a a </FONT> <FONT COLOR=YELLOW> I </FONT>   Maintenant c'est SynchronisΘ</TD></TR>
  296. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4">                        <img src="../THEMAS/M3/BIT.PNG">
  297. Les nibbles valides lus sont les suivants :
  298. </TD></TR>
  299. <TR> <TD ></TD>  <TD COLSPAN ="4" CLASS="PARAG4">
  300. le 1er     <FONT COLOR="RED"> 1001.1111 =$9F</FONT><BR>
  301. le 2Φme <FONT COLOR="MAGENTA">1110 0111 =$E7 </FONT>,<BR> 
  302. le 3Φme <FONT COLOR="RED">1111 1001 =$F9 </FONT>,<BR>
  303. le 4Φme <FONT COLOR="MAGENTA">1111 1110 =$FE </FONT>, <BR>
  304. le 5Φme <FONT COLOR="#40FF40">1111 1111 =$FF </FONT>et nous sommes synchronisΘs
  305. </TD></TR>
  306.  
  307. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 9 (synchronisation quasi immΘdiate)</B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  308. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT></TD></TR>
  309. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * * * * * <FONT COLOR=YELLOW> I I  </FONT>  Maintenant c'est SynchronisΘ</TD></TR>
  310.  
  311. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG1">
  312. Dans ce cas particulier (et le suivant) la tΩte de lecture ne dΘtecte en fait rien car elle est "tombΘe" dans la zone des extrabits,
  313. qui sont donc ignorΘs purement et simplement. La synchronisation est quasi immΘdiate en ce sens que le premier
  314. nibble valide sera celui qui se trouve juste derriΦre ces deux extrabits, un bon gros $FF bien normal.
  315. </TD></TR>
  316.  
  317. <TR> <TD COLSPAN ="5" HEIGHT="10" CLASS="PARAG4"><B>CAS 10 (synchronisation quasi immΘdiate)</B></TD></TR> <TR> <TD COLSPAN ="5" BGCOLOR="BLUE"></TD></TR>
  318. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> <FONT COLOR=GREEN> <B>1 1 1 1 1 1 1 1 </B></FONT>  <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT> 1 1 1 1 1 1 1 1 <FONT COLOR=YELLOW> 0 0 </FONT></TD></TR>
  319. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> * * * * * * * * *<FONT COLOR=YELLOW>  I  </FONT>  Maintenant c'est SynchronisΘ</TD></TR>
  320. <TR> <TD COLSPAN ="5" HEIGHT="10" ></TD></TR>
  321. <TR> <TD COLSPAN ="5" CLASS="PARAG1"> Vous comprennez maintenant pourquoi <FONT COLOR=RED><B>il faut au minimum 4 $FF de synchronisation (cf. cas 8)</B></FONT> 
  322. avant d'Θcrire un marker d'entΩte, que ce soit du champ adresse ou du champ de donnΘes.(si l'on exclut le cas particulier des schΘmas de protection qui peuvent en mettre plus avec moins d'extrabits.) <BR><BR>
  323. <FONT COLOR=RED> Vous allez sans doute vous dire "oui mais si la lecture commence ailleurs que sur
  324.  les octets de synchronisation ? </FONT> <BR>
  325. Comme dirait le cerveau de Baker Street "ElΘmentaire mon cher Watson, on ne peut pas se synchroniser tant que l'on ne passe pas sur 
  326. ces fameux nibbles de synchronisation! Les marqueurs d'adresse ont d'ailleurs des valeurs dont la combinaison NE PEUT PAS
  327. se retrouver dans les donnΘes enregistrΘes dans chaque secteur, ce qui Θvite des tentatives de lecture quasi-infinies" !<BR><BR>
  328. </TD></TR>
  329. <TR>  <TD COLSPAN ="2" CLASS="PARAG1">Ce α quoi ce mΩme cerveau fΘcond ajouterait "mais c'est d'ailleurs une astuce utilisΘe par certains schΘmas de 
  330. protection que de modifier ces octets de synchronisation et le nombre d'extrabits..."</TD> 
  331. <TD><CENTER><IMG SRC="../THEMAS/DIVERS/VIN.PNG"></CENTER></TD>
  332. <TD COLSPAN ="2" CLASS="PARAG1"> Cela donne des systΦmes de protection 
  333. trΦs efficaces contre la copie, d'autant que l'on peut le faire avec des formats tout α fait normaux... et cela dΘroute 
  334. tous les newbies qui se lancent dans le piratage</TD> </TR>
  335.  
  336.  
  337.  
  338. <TR> <TD COLSPAN="5" height="10"></TD>  </tr>
  339. <TR>    <TD COLSPAN="5" CLASS="PARAG1"> <CENTER> 
  340.     <A HREF="DISKIITECH03.HTM" > <img  src="../THEMAS/DIVERS/PRIOR1.PNG" BORDER=0></A>
  341.     <A HREF="DISKIITECH04A.HTM" ><img  src="../THEMAS/DIVERS/SUITE1.PNG" BORDER=0></A>
  342.     </CENTER>
  343.     </TD>
  344. </TR>
  345.  
  346. <TR> <TD COLSPAN="5" height="10"></TD> </tr>
  347. <TR><TD COLSPAN="5"  ><HR color="BLUE"></td>
  348. </TR>
  349. <TR> 
  350.     <TD COLSPAN="5">  
  351.     <CENTER>
  352.     <A HREF="javascript:history.back()"> <IMG SRC="../THEMAS/DIVERS/JSBACK.PNG"></A> 
  353.     <A HREF="DISKIITECH.HTM" > <IMG SRC="../THEMAS/DIVERS/HOMESITE.PNG"></A>
  354.     </CENTER></TD>
  355. </TR>
  356. </TABLE>
  357. </CENTER>
  358. </BODY>
  359. </HTML>
  360.