home *** CD-ROM | disk | FTP | other *** search
/ hackzapple.com / www.hackzapple.com.tar / www.hackzapple.com / DISKII / DISKIITECH09.HTM.orig < prev    next >
Text File  |  2010-10-06  |  14KB  |  351 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.  
  21. <A NAME="DISK09"></A>
  22. <TABLE border="0" cellspacing="0" cellpadding="0" width="700">
  23. <TR> <TD WIDTH="200"> </TD> 
  24.     <TD WIDTH="100"> </TD> 
  25.     <TD WIDTH="200"></TD> 
  26.     <TD WIDTH="100"></TD> 
  27.     <TD WIDTH="100"></TD> 
  28. </TR>
  29.  
  30. <TR>     <TD COLSPAN="4" valign="TOP" > <img src="../THEMAS/M3/XDISK9.PNG" BORDER=0></TD>  
  31.     <TD> 
  32.     <CENTER>
  33.     <A HREF="DISKIITECH08.HTM" > <img  src="../THEMAS/DIVERS/PRIOR1.PNG" BORDER=0></A>
  34.     <A HREF="DISKIITECH.HTM" > <img  src="../THEMAS/DIVERS/HOME1.PNG" BORDER=0></A>  
  35.     </CENTER>
  36.     </TD>
  37. </TR>
  38. <TR> <TD COLSPAN="5"  HEIGHT="10"></TD></TR>
  39. <TR> <TD COLSPAN="5"  CLASS="PARAG1">
  40.     Le dΘplacement de la tΩte de lecture est fait par un moteur PAS A PAS qui est diffΘrent ce celui qui fait 
  41.     tourner la disquette. Eh oui, comme dΘjα dit,  il y a bien deux moteurs dans un lecteur de disquette !<BR>
  42.     <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">le "drive motor" qui permet de faire tourner la disquette α 300 tours/minute
  43.     <BR>
  44.     <IMG SRC="../THEMAS/DIVERS/BULLET.GIF">le "stepper motor" qui permet de faire avancer la tΩte de lecture ne pas α pas
  45.     <BR><BR>
  46.     Pour le dΘtail de la sΘlection des drives, allumage, extinction et tout ce qui concerne le "drive motor", tout 
  47.     est expliquΘ dans la rubrique <A HREF="DISKIITECH02B.HTM">VITESSE DU DRIVE </A>. Celui qui va nous passionner ici
  48.     est le "stepper motor".
  49.     <BR><BR>
  50.     Notons auparavant que lorsque l'on dit "dΘplacment de la tΩte de lecture", il faut entendre "dΘplacement du bloc portant la tΩte de lecture".
  51.     <BR><BR>
  52.     <CENTER><IMG SRC="HEAD/HEAD1.PNG"></CENTER>
  53.     <BR><BR>
  54.  
  55.     </TD>
  56. </TR>
  57. <TR> <TD COLSPAN="5"  CLASS="TITRE3R">LE "STEPPER MOTOR"... le moteur PAS A PAS</TD></TR>
  58. <TR> <TD COLSPAN="5" height="1" BGCOLOR="RED"></TD></TR>
  59. <TR> <TD COLSPAN="5"  CLASS="PARAG1">
  60.     <BR>
  61.     Celui qui nous intΘresse ici est donc le second moteur qui permet de faire avancer ou reculer la tΩte de lecture. 
  62.     Ses caractΘristiques sont α la base de systΦmes de protection trΦs sophistiquΘs mais avant de les examiner, 
  63.     voyons voir comment se fait le fonctionnement normal de cette petite merveille... et pour commencer : opΘration dΘmontage !
  64.     <BR><BR>
  65.     </TD>
  66. </TR>
  67. <TR> <TD COLSPAN="5"  CLASS="TITRE3R">Petit dΘmontage...</TD></TR>
  68. <TR> <TD COLSPAN="5"  CLASS="PARAG1">
  69.     <BR>
  70.     Si je l'ai fait c'est bien pour vous Θviter de le faire ! mais vous pouvez toujours essayer, je ne garantis pas 
  71.     que votre remontage sera α la hauteur de vos espΘrances, je crains mΩme que cela ne fonctionne plus du tout...
  72.     <CENTER><BR> 
  73.     <IMG SRC="MOTOR.PNG"> 
  74.     <BR> 
  75.     <IMG SRC="BOBINES.PNG"> 
  76.     </CENTER><BR> 
  77.     </TD>
  78. </TR>
  79. <TR> <TD COLSPAN="5"  CLASS="TITRE3R">Le fonctionnement de la merveille... physiquement !</TD></TR>
  80.  
  81. <TR>  
  82.     <TD COLSPAN="2"  CLASS="PARAG1">
  83.     <BR><IMG SRC="COLIMACON.PNG"> 
  84.     <BR><BR>
  85.     </TD>
  86.     <TD COLSPAN="3"  CLASS="PARAG1">
  87.     <BR>
  88.     Vous noterez sur la photo ci-contre :
  89.     <BR><BR>
  90.     En "A" (au contour en cyan) le bloc qui porte la tΩte de lecture, ce bloc se dΘplace sur les bras fixes
  91.     indiquΘs en "B" (en rouge). 
  92.     <BR><BR>
  93.     Ok mais comment avance-t-il ? 
  94.     <BR><BR>
  95.     Eh bien la came reperΘe en "C" a la gravure d'un colimaτon en "C1" dans
  96.     lequel est placΘ un petit guide en cuivre en "G" qui est solidaire du bloc "A" et lorsque la came tourne dans 
  97.     un sens ou dans un autre, ce guide qui reste encastrΘ dans le colimaτon en suit le mouvement et fait ainsi 
  98.     avancer ou reculer le systΦme portant la tΩte de lecture. Nous avons lα la transformation d'une rotation 
  99.     en un mouvement longitudinal.
  100.     <BR><BR>
  101.     Il suffit donc de programmer le moteur pas α pas qui fait tourner la dite came pour faire avancer ou reculer 
  102.     le systΦme de lecture de la disquette. Encore une belle Θvidence biblique ! 
  103.     <BR><BR>
  104.     Du calme... pour l'instant on sait avancer et reculer mais pas se positionner sur une piste, ce qui est la suite 
  105.     de cette passionnante rubrique.
  106.     </TD>
  107. </TR>
  108. <TR>     <TD COLSPAN="5" CLASS="PARAG1K">
  109.     Avant toute chose il faut bien comprendre que le positionnement sur une piste se fait en gΘnΘral par rapport 
  110.     α la piste 0 sur laquelle on est sensΘ Ωtre, en se dΘplaτant d'un certain nombre de pas nΘcessaires pour aller 
  111.     jusqu'α la piste recherchΘe (donc en avanτant ou en reculant) et en vΘrifiant PAR LA LECTURE d'un champ adresse 
  112.     le numΘro de piste sur lequel la tΩte de lecture est sensΘe Ωtre : 
  113.     <BR><BR>
  114.     On est donc dans un contr⌠le LOGICIEL de la position de destination. 
  115.     <BR><BR>
  116.     Si cela ne donne rien de bon alors vous entendrez le merveilleux  bruit du drive qui se recalibre sur la piste 0 
  117.     afin de recommencer pour cette fois se positionner α partir de la piste 0 (notons que les bruits du drive, du dΘplacement du bras en particulier, ont ΘtΘ utilisΘs dans 
  118.     des logiciels pornographiques pour simuler ce que vous pouvez imaginer). Le bruit le plus fort est la frappe du systΦme
  119.     α pattes contre l'axe de la came alors que le bruit de frottement est... le frottement justement du systΦme coulissant
  120.     qui supporte la tΩte de lecture.<BR><BR>
  121.  
  122.     </TD>
  123. </TR>
  124. <TR>     <TD COLSPAN="2" ROWSPAN="3" CLASS="PARAG1">
  125.     <BR><IMG SRC="ARRETOIR.PNG"> 
  126.     <BR><BR>
  127.     </TD>
  128.     <TD COLSPAN="3"  CLASS="PARAG1">
  129.     <BR>
  130.     Pourquoi se recalibrer sur la piste 0 ? Eh  bien c'est la seule qui est toujours au mΩme endroit pour tous les drives
  131.     car un arrΩtoir physique est utilisΘ pour s'y positionner. Les autres pistes sont relatives α cette piste 0.    
  132.     <BR><BR>
  133.     NOTA IMPORTANT :  
  134.     <BR><BR>
  135.     L'axe qui sert de bloqueur n'est PAS celui de la disquette mais celui de la CAME qui sert α dΘplacer 
  136.     le bras de la tΩte de lecture. 
  137.     <BR><BR>
  138.     Pas convaincu ?<BR> 
  139.     Regardez donc <A HREF="DISKIITECH09A.HTM">un lecteur vu de dessus ici.</A><BR>
  140.     Allez petit pervers le dessous t'interesses ? <A HREF="DISKIITECH09D.HTM">c'est ICI</A>
  141.     <BR><BR></TD>
  142. </TR>
  143. <TR>  <TD COLSPAN ="3" CLASS="TITRE3K"> <IMG SRC="../THEMAS/DIVERS/CRACK.BMP"> Hacking corner </TD></TR>
  144. <TR>     <TD COLSPAN ="3" CLASS="PARAG1K"> 
  145.     a Tous les pirates de la planΦte ont toujours ΘtΘ passionnΘs pour voir sur quelles pistes un programme protΘgΘ va.
  146.     Donc... ils    ont dΘmontΘ leur drive et regardΘ le dΘplacement du bras : misΦre ! en regardant ce systΦme (cf "A")
  147.     se dΘplacer  ils ont constatΘ que la distance entre chaque piste Θtait quasiment indΘtectable. 
  148.     <BR><BR>
  149.     Le principe de base
  150.     du piratage Θtant "IL Y A TOUJOURS UNE AUTRE VOIE", le mouvement de la came (Cf. "C") les a bigrement intΘressΘ car lα
  151.     le dΘplacement de rotation entre deux pistes est LARGEMENT IMPRESSIONNANT... et cela a donnΘ ce systΦme de marquage
  152.     qui est dΘtaillΘ dans la rubrique <A HREF="DISKIITECH09D.HTM">"repΘrer les pistes"</A>. 
  153.     <BR><BR>
  154.     <BR><BR>
  155.     </TD>
  156. </TR>
  157.  
  158. <TR> <TD COLSPAN="5"  CLASS="TITRE3R">Le fonctionnement de la merveille... par la programmation !</TD></TR>
  159. <TR> <TD COLSPAN="5"  CLASS="PARAG1"><BR>
  160.     Pour dΘplacer la tΩte de lecture il faut rΘaliser des opΘrations successives d'alimentation(ON) / dΘsalimentation(OFF)
  161.     des bobines tout en laissant un dΘlai de 20 ms entre chacune de ces opΘrations. 
  162.     C'est ce que l'on appelle enclencher les phases du moteur.  
  163.     <BR><BR>
  164.     ATTENTION : pour pouvoir Θcrire dΦs que vous Ωtes sur la piste recherchΘe,  les phases doivent Ωtre 
  165.     OFF... en rΘalitΘ c'est surtout pour la phase 1 car celle-ci est Θgalement connectΘe sur le systΦme de dΘtection de la 
  166.     protection contre l'Θcriture. APPLE a sans doute imposΘ cela pour Θviter que le bras de dΘplacement de la tΩte 
  167.     de lecture ne bouge pendant une opΘration d'Θcriture ou lecture.
  168.     <BR><BR>
  169.     Pour ce faire vous disposez de 4 phases, chacune pouvant Ωtre ON ou OFF. Ce sont lα encore des softswitchs qui permettent ces 
  170.     opΘrations, ils sont donnΘs dans le tableau suivant et leur utilisation la plus simple reste l'adressage indexΘ en ayant le numΘro 
  171.     de slot * 16 en index X.
  172.     <BR><BR>
  173.     <IMG SRC="MAGNETS.PNG"> 
  174.     <BR><BR><FONT COLOR="RED"><B>
  175.     Un dΘplacement des phases dans le sens ASCENDANT (de $C080 vers $C087) dΘplace le bras VERS l'INTERIEUR (donc vers la piste 35).
  176.     Un dΘplacement des phases dans le sens DESCENDANT (de $C087 vers $C080) dΘplace le bras VERS l'EXTERIEUR (donc vers la piste 0)</B></FONT>
  177.     <BR><BR>
  178.     Normalement le dΘplacement du bras d'une phase place la tΩte sur la piste suivante MAIS le problΦme du disk II d'APPLE
  179.     est la rΘsolution de la tΩte de lecture qui N'EST PAS ASSEZ FINE POUR PERMETTRE CELA... ce qui implique en fait 
  180.     un dΘplacement de deux phases pour passer d'une piste α une autre... et lα vous comprenez tout de suite
  181.     qu'en utilisant une seule de ces phases vous Ωtes sur les fameuses demi-pistes !
  182.     <BR><BR>
  183.     EXEMPLES  
  184.     <BR><BR>
  185.     <IMG SRC="../THEMAS/DIVERS/FL.GIF"> Admettons que je sois positionnΘ sur une piste et alignΘ sur la phase 0, si je fais :
  186.     <BR>
  187.     Phase 1 ON / dΘlai / Phase 1 OFF je me dΘplace d'un pas DONC je SUIS SUR UNE DEMI-PISTE (les fameuses X,5) et alignΘ sur la phase 1
  188.     <BR><BR>
  189.     <IMG SRC="../THEMAS/DIVERS/FL.GIF">  Pour me dΘplacer d'une piste je dois faire :
  190.     <BR>
  191.     Phase 1 ON / dΘlai / Phase 1 OFF /dΘlai /Phase 2 ON / dΘlai / Phase 2 OFF 
  192.     <BR><BR>
  193.     Le dΘlai qui est de 20 ms laisse le temps au moteur de bouger effectivement le bras ... En jouant sur ce dΘlai 
  194.     on peut alors Θcrire sur les non moins fameuses 1/4 de pistes !
  195.     <BR><BR>
  196.     EN SAVOIR PLUS SUR LE ROTOR ET CES PHASES : <A HREF="DISKIITECH09D.HTM">VOIR ICI</A>
  197.     <BR><BR>
  198.     </TD>
  199. </TR>
  200.  
  201.  
  202. <TR> <TD COLSPAN="5"  CLASS="TITRE3R">Source d'une routine de dΘplacement</TD></TR>
  203. <TR>  <TD COLSPAN="5" CLASS="PARAG1K"><BR>
  204.     L'entrΘe de la routine se fait par TRKMOVE avec le numΘro de piste qui sera multipliΘ par deux pour avoir la 
  205.     correspondance en nombre de phases. 
  206.     <BR><BR>
  207.     Si vous voulez utiliser cette routine pour rΘaliser des dΘplacements sur 
  208.     des demi-pistes, il suffit d'entrer par TRKMOVE1 avec A qui contient le numΘro de phase de la demi piste cherchΘe.
  209.     Exemple : Pour la piste 1.5 alors A contient 3<BR>
  210.     <BR><BR>
  211.     </TD>
  212. </TR>
  213.  
  214. <TR>  <TD CLASS="PARAG1K">
  215. PHASE0   <BR>
  216. WAIT<BR><BR>
  217. TRKMOVE<BR>
  218. TRKMOVE1<BR>
  219. <BR><BR><BR><BR><BR><BR><BR><BR>
  220. IN1<BR>IN2<BR><BR>OUT1<BR>STEP<BR><BR>
  221. <BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>DONE<BR><BR>
  222. CURPH<BR>
  223. SLOT<BR>
  224. <BR>
  225. </TD>
  226. <TD CLASS="PARAG1K">
  227. EQU $C080<BR>
  228. EQU $FCA8<BR>
  229. <BR>
  230. ASL <BR>
  231. STX SLOT<BR>
  232. SEC<BR>
  233. SBC CURPH <BR>
  234. BEQ DONE<BR>
  235. BCS IN1<BR>
  236. EOR #$FF <BR>
  237. TAY<BR>
  238. INY<BR>
  239. BCC OUT1  <BR>
  240. TAY    <BR>
  241. INC CURPH <BR>
  242. BCS STEP  <BR>
  243. DEC CURPH<BR>
  244. PHP         <BR>
  245. LDA CURPH<BR>
  246. AND #3   <BR>
  247. ASL       <BR>
  248. ORA SLOT<BR>
  249. TAX<BR>
  250. LDA PHASE0+1,X <BR>
  251. LDA #$56<BR>
  252. JSR WAIT <BR>
  253. LDA PHASE0,X       <BR>
  254. PLP<BR>
  255. DEY  <BR>
  256. BEQ DONE   <BR>
  257. BCS IN2   <BR>
  258. BCC OUT1     <BR>
  259. RTS<BR>
  260. <BR>
  261. DS  1   <BR>
  262. DS  1         <BR>
  263. <BR>
  264. <BR>
  265. </TD>
  266. <TD COLSPAN="2" CLASS="PARAG1K">
  267. ; La phase 0 sert de base<BR>
  268. ; Routine moniteur de dΘlai<BR>
  269. ;<BR>
  270. ; 1 piste = 2 phases <BR>
  271. ; Sauve numero de slot <BR>
  272. <BR>    
  273. ; Compare avec la position actuelle (thΘorique)<BR>
  274. ; On est arrivΘ donc on sort<BR>
  275. ; Il faut se dΘplacer vers l'intΘrieur <BR>
  276. ; Non donc complement α 2 pour difference<BR>
  277. ; ... et sauve en Y =<BR>
  278. <BR>
  279. ; <FONT COLOR="RED">Branchement systΘmatique</FONT><BR>
  280. ; Sauve la diffΘrence entre les pistes dans Y<BR>
  281. ; DΘplacement d'un track vers l'intΘrieur<BR>
  282. ; <FONT COLOR="RED">Branchement systΘmatique</FONT><BR>
  283. ; DΘplacement d'un track vers l'extΘrieur<BR>
  284. ; Sauve le pas de la direction (dans C)<BR>
  285. <BR>
  286. ; Conversion piste / phase <BR>
  287. ;<BR>
  288. <BR>
  289. <BR>
  290. ; Phase ON<BR>
  291. <BR>
  292. ; Petit dΘlai<BR>
  293. ; Phase OFF<BR>
  294. ; Reprend P car C donne la direction<BR>
  295. ; Encore un pas?<BR>
  296. ; Non, donc on sort<BR>
  297. ; Oui et c'est vers l'intΘrieur <BR>
  298. ; Oui et c'est vers l'extΘrieur <BR>
  299. <BR><BR>
  300. ; Numero de piste actuelle<BR>
  301. ; NumΘro de slot<BR>
  302. </TD>
  303. </TR>
  304. <TR>
  305. <TD COLSPAN="5" CLASS="PARAG1K">
  306. ;<BR>
  307. ; RECALIB : cette routine sert pour recalibrer la tΩte sur la piste 0, on l'appelle quand on est perdu ...<BR>
  308. ; EntrΘe :  X = numΘro de slot * 16 et ne pas oublier d'avoir le drive en  ON <BR>
  309. ; Cette routine fait faire au drive un bruit un peu inquiΘtant mais c'est normal car on lui fait croire qu'on est <BR>
  310. ; en piste 40 (donc α 80 demi pistes [soit $50 en hexadΘcimal] de la piste 0) et qu'on veut justement aller sur la piste 0...<BR> 
  311. ; qui n'est physiquement jamais aussi loin !<BR>
  312. ;<BR>
  313. </TD>
  314. </TR>
  315.  
  316.  
  317. <TR>
  318. <TD CLASS="PARAG1K">RECALIB</TD>
  319. <TD CLASS="PARAG1K">
  320. LDA #$50  <BR>
  321. STA CURPH<BR>
  322. LDA #0         <BR>
  323. JMP TRKMOVE1  <BR>
  324. </TD>
  325. <TD></TD>
  326. </TR>
  327.  
  328.  
  329. <TR> <TD COLSPAN="5" height="10" ></TD> </tr>
  330. <TR>    <TD COLSPAN="5" CLASS="PARAG1"> <CENTER> 
  331.     <A HREF="DISKIITECH08.HTM"> <img  src="../THEMAS/DIVERS/PRIOR1.PNG" BORDER=0></A>
  332.     <A HREF="DISKIITECH01.HTM"> <img  src="../THEMAS/DIVERS/SUITE1.PNG" BORDER=0></A>
  333.     </CENTER>
  334.     </TD>
  335. </TR>
  336.  
  337.  
  338. <TR> <TD COLSPAN="5" height="10"></TD>  </tr>
  339. <TR><TD COLSPAN="5"  ><HR color="BLUE"></td>
  340. </TR>
  341. <TR> 
  342.     <TD COLSPAN="5">  
  343.     <CENTER>
  344.     <A HREF="javascript:history.back()"> <IMG SRC="../THEMAS/DIVERS/JSBACK.PNG"></A> 
  345.     <A HREF="DISKIITECH.HTM" > <IMG SRC="../THEMAS/DIVERS/HOMESITE.PNG"></A>
  346.     </CENTER></TD>
  347. </TR>
  348. </TABLE></CENTER>
  349. </BODY>
  350. </HTML>
  351.