=:===========================================================================:= EDD III Essential Data Duplicator =:===========================================================================:= INTRODUCTION ------------ EDD 3.0 est le plus achevé des programmes de copies... Les possibilitees d' EDD 3.0 sont les suivantes : - paramétrages tres complet, pour les pro. bien sur - possibilité de modifier les pistes copiées , ex: reperer les champs adresses (D5 AA 96) sur la piste original et copier le tout mais en modifiant ce champs adresse (D4 96 AA). Balaise, isn't it ??? - retrouve le debut de piste automatiquement - trouve et traite les nibbles en considerant leurs valeur, et les bits additionnel s'il y en a . Bits de sync prenant des valeurs de 0 a 4 . - possibilité de copier avec un increment de 1/4 de piste - temps de duplication moyen de 4 mn 30 - reglage du drive à une vitesse de 300 RPM - reglage du drive à la meme vitesse que celle utilisée pour ecrire le programme à copier... SPECIAL KEY ----------- : Interruption de les toutes opérations en cours : Arret sur un processus particulier CTRL-S : commutation du son ON/OFF - : Lorsqu'il doit avoir compression de la piste a l'ecriture, (suppression de bits de sync.), EDD ne le fait pas et donne un code d'erreur "L" pour signaler que la piste est trop longue . Ceci permet une copie plus rapide de l'ensemble de la disquette et de copier apres les pistes delicates . Pour utiliser cette commande avec un seul drive, pressez '-' à chaque fois qu'EDD vous demande d'introduire le DUPLICATE DisK. ERROR/PROCESSING CODES ---------------------- - inverse video - R : Reading track : Lecture d'une piste P : processing track : Zyeute la piste W : writing track : Ecriture d'une piste V : verifying the written track : Vérifie la piste écrite E : erasing track on duplicate disk : Efface la piste du disk DUPLICATE A : analyze original disk : Analyse le disk original S : examine speed of original disk : Examine la vitesse /original - flash video - S : synchronizing track : Synchro G : cleaning timing GAPS : replace les bons Nibbles de Synchro A : analyzing or modifing track : Analyse ou modifie une piste - normal video - . : copie correcte R : READ error - track would not verify against itself (*ERR lecture) - track length could not be found - couldn't find the same place on track twice - timing gap too small - track contains invalid data - unrecorded or erased track C : track had to be COMPRESSED - la copie peut etre bonne ? - le drive destination tourne trop vite EDD entend par la qu'il a - le drive original tourne trop lentement supprimer des bits de sync. - possibilitees d'erreur de lecture - possibilitees d'erreur d'ecriture L : track LENGTH is too long - fin de piste recouvrant le debut - le drive destination tourne trop vite EDD ne peut plus supprimer - possibilitees d'erreur de lecture de bits de sync. Il en - possibilitees d'erreur d'ecriture arrive a supprimer des octets complet W : WRITE error - written track would not verify - written track length could not be found - track may be unrecorded or erased - track contains invalid data - duplicate drive speed too fast S : SYNCHRONIZE track error - track was not synchronized correctly - usualy only happens when parm 00 is changed - : track appears to be only partially recorded - croos talk from an adjancent piste partiellement enregistree track - track has a weak signal - track contains invalid data * : duplicate track has been erased track appears to contain little or no valid data : - track is unrecorded. - cross talk from an adjanced track - track has a very weak signal. - track contains invalid data MODES DE COPIES --------------- -1- NORMAL : duplication classique des bytes normals et de sync. Si la longueur de la piste destination est plus courte que celle de l'original il y a compression de la piste (suppression de bits de sync.) , il en resulte un code d'erreur "C". S'il y pas assez de bits de sync. (trop a supprimer) , EDD affiche le code d'erreur "L" Lorsque la longueur de la piste destination est trop longue , EDD insert des octects definies par les parm. 01 et 02 pour boucler la piste . -2- SYNCHRONISATION : synchronisation des pistes les une par rapport aux autres note: il faut copier la piste 00 en premier -3- AUTO NIBBLE COUNT : routine idemtique au processus 1 mais EDD conserve la longueur de la piste en ajoutant ou en supprimant des bits de sync. -4- MANUAL NIBBLE COUNT : idem au processus 3 mais la conservation de la longueur s'effectue par variation de la vitesse du drive , vis de reglage a l'arriere du drive APPLE Il n'y a donc pas modification des octets de sync. comme avec l'option AUTO NIBBLE COUNT -5- SYNC. TRACKS AND AUTO COUNT : utilisation des processus 2 et 3 -6- SYNC. TRACKS AND MANUAL COUNT : utilisation des processus 2 et 4 -7- ERASE TRACKS ONLY : EDD efface les pistes specifiees sur le drive destinat. DUPLICATION / STATUS -------------------- 00000000 96 96 96... 00000000 96 96 96... track 00000000 96 DE AA EB F9 F7 FE FF end/start -------- ----------------------- 12222222 FF FF FF FF FF FF FF FF 22222222 FF FF FF... octects de sync. , avec 2 bits 22222222 FF FF FF... suplementaires GAP LENGTH=$0023 TRACK LENGTH=$1893 SYNC TIMER=$054D DIFFERENCE=>0013 TRACK END/START --------------- When your disk drive looks at a disk, earch track appears to be a circular stream of bytes. EDD reads the track several times to be sure that there is at least one whole good track sample in memory. EDD then displays the track's end and start on the screen. If you are experienced enough, you may be able to tell by inspection if necessary, to calculate (or define) a different track start. The timing bits on the left are the amount of extra bits written before the corresponding raw data byte on the right are written EDD visualise la fin/debut de piste avec 2 indications ,la premiere en donnant a droite les octects qui constituent la fin de piste , la deuxieme en donnant le nombre de bits suplementaires pour chaque octects , dans l'exemple on a une succession d'octects de sync. avec 2 bits suplementaires LARGEST GAP LENGTH ------------------ Longueur du plus important groupe de sync. SYNC TIMER ---------- When synchronized tracks are written, a special method of positionine the track is used. It involves selecting a know starting point on a certain track (usualy track "0") and using it as a jumping-off point for the arm move to the next track, then wasting some time, until the point is reached where the writing to begin for this new track. Usually, the smaller the delay, the more accurately the synchronized track will be written. CHANGE PARAMETERS ----------------- ctrl R : remise a leur valeur d'origine de tous les parametres 00-OVERRRIDE ERROR:00 (00-04) Intruction parm. Valeur : 0 = traitement classique 1 = pas de verification de l'ecriture 2 = ignore les erreurs de lecture et ne verifie pas l'ecriture 4 = pas de compression , donne de code "L" , idem a l'appui de "-" 8 = n'ecrit pas s'il y a une erreur de lecture 10 = interdit toute ecriture sur le drive destination 01-LEAD-IN DATA VALUE:00 (00-FF) Intruction or data parm. Erase the duplicate track with this data value before writing the original track to duplicate disk and also use for the track lead-in Take this "8 bits" data value, and add the length to parm 02, to make 8,9,10,11 or 12 bit long timing byte. If the value of this parm is larger than 7F (80-FF) use this data value, with 02. If this value equals 00 then re-use the data value found in the track, with parm 02. If this value is between 00 and 80 (01-7F), re-use both the data and timing values found in the actual track. Used to give a track a known value for lead-in. (Fr) : la valeur donnee a ce parametre permet plusieurs alternative : - 00 - avant ecriture d'une piste sur le drive destination EDD efface la piste avec un octet de valeur definie .Cette valeur est dans le cas present , celle trouvee sur le premier gap de la piste originale La nature des octets ecrits est donnee par le parm. 02 - 01-7F - il n'y a pas d'ecriture prealable avant l'ecriture de la piste a copier - 80-FF - EDD efface la piste avec des octets dont la valeur est donnee ici La nature des octets est toujours donnee par le parm. 02 02-LEAD-IN DATA EXTRA BITS:02 (00-04) Data parm. Only active if parm 01 is larger then 7F (80-FF) or equal to 00. When writting track, add this amount to the length of the data byte (parm 01) 0 = data byte + 0 = 8 bit data byte (normal data byte) 1 = data byte + 1 = 9 bit data byte (normal 3.2 dos timing byte) 2 = data byte + 2 = 10 bit data byte (normal 3.3 dos timing byte) 3 = data byte + 3 = 11 bit data byte 4 = data byte + 4 = 12 bit data byte Used to give the lead-in byte (parm 01) a known length. 03-MAXIMUM WRITE ERRORS ALLOWED:05 (00-FF) Instruction parm. Number of attempts allowed to re-write a track to the duplicate disk, until it verifies. Not active if parm 00=1,2,10. Used to help prevent error code "W". 04-MAXIMUM READ ERRORS ALLOWED:03 (00-FF) Instruction parm. Number of attempts allowed to re-read a track to the original disk until it verifies. Not active if parm 00=2.Used to help prevent error code "W". 05-TIMING GAP CLAEN ROUTINE:18 (00-10) Instruction parm. If this parm value is greater than 0, the processing code "G" will be actived. Add each routine you want and input the sum. 0 = copie les bits de sync. sans traitement prealable , tel qu'il sont lus. 1 = force tous les bits de sync. a la valeur 1 2 = force tous les bits de sync. a la valeur 2 3 = force tous les bits de sync. a la valeur 3 4 = change tous les bits de sync. a une valeur moyenne 8 = force a 10 la longueur du premier octet de chaque gap 10 = force a 9 bits (sync. 1) tous octets de 8 bits contenus entre 2 octets de 9 bits. 06-TRACK GAP ROUTINE:00 (00-01) Instruction parm. While searching for the start track gap, the timing bit lengths in the gaps are considered to be: 0 = anything longer then 8 bits 1 = all the same length, longer than 8 bits Used to possibly find a different track start. 07-CUT GAP POSITION:00 (00-02) Intruction parm. Apres avoir trouve le gap le plus important (avec le parm. 06) EDD fixe le debut de piste ou la fin (c'est pareil) , mais ou donc ? 0 = en avant du gap 1 = au milieu du gap 2 = apres le gap Utilise pour trouver des start/end de pistes differents 08,09-ADD GAP:FF (00-FF) Support parm. Nunber of bytes to add to the start of the track, found after parm 07, to define a new start track. Parm 08:low, 09:high 0 = add nothing 1-7F = add value to start 80-FF = subtract value from start Used for calculating different track starts. 0A-MAXIMUM TRACK LENGTH:1A (01-FF) Support parm. Give the high byte maximum length of the track. you may need to change this to 1C on disks with long tracks. Usualy the maximum track length is between 19-1C. Used as the highest location to search for the track length. If too low, an error "R" will occur. 0B-MINIMUM TRACK LENGTH:13 (01-FF) Support parm. Give the high byte mimimum length of the track. Usualy the mimimum track length would between 13-16. Used as the lowest location to search for the track length. If too high, an error "R" will occur. 0C-KNOW DATA LENGTH (high byte):11 (00-FF) Support parm. The least amount of data assumed to be used from the largest gap. Used for finding valid data. 0D-COMPRESS START:08 (00-FF) Support parm. Lorsqu'il y a suppression de bits de sync (processing code C) , EDD ne commence ce traitement qu'a partir du debut de piste + la valeur donnee à ce parametre . Ceci est destine a conserver les bits de sync. des premiers octets presents en debut de piste . En effet pour assurer une bonne synchronisation il est necessaire de conserver au minimum 5 octets a 2 bits supplementaires ou 8 a 1 bit supplementaire . Destine a prevenir les erreurs d'ecriture . 0E-COMPRESS OFFSET:70 (00-FF) Support parm. When deleting timing bits, add this amount to the last byte modified to search for the next byte to be modified. Used to create a more even compressed track. 0F-SEARCH UNIQUE PATTERN LENGTH:10 (01-FF) Support parm. When searching the track for a unique data pattern, use this length. Used to help prevent "R" errors. 10-SEARCH TRACK LENGTH:30 (01-FF) Support parm. The amount of bytes that are searched for locating the track length. Used with parm 11 to help prevent "R" errors. 11-SEARCH TRACK LENGTH MINIMUM:28 (01-FF) Support parm. From the number of bytes in parm 10, this is the minimum amount of bytes that have to match. This parm is only valid if less than parm 10. Used to prevent "R" errors. 12-BYTES TO VERIFY AFTER WRITE:F0 (01-FF) Support parm. The number of bytes to verify to ensure that the track was correctly written. Used to prevent "W" error. 13-MANUAL OVERIDE END OF TRACK:00 (00-02) Instruction parm. Aftes EDD defines the end of a track, you may re-define it. 0 = ignire this parm 1 = yes 2 = yes, override any read errors movement key: <-,-> : horizontal "P",";" : vertical "L" : jump to start of track buffer. Used for manually defining your own track end/start and/or looking through the track. 14-HIRES SCREEN:00 (00-02) Instruction parm. The hi-resolution screen contains the track's timing bits. Do you want the hi-resolution screen turned on during the read processing ? 0 = no 1 = yes Used to display the timing bits, for a visual look, while duplicating disk. 15-SYNC. FROM THIS TRACK:00 (00-8C) Support parm. This value equals the number of quarter track to move away from track zero, before looking for the SYNC TABLE (parm 1A-27). Exemple:lets say you wanted to sync from track 10. Since it takes four quarter tracks to move a distance equal to one whole track, you would have to multiply 10 by four, to find out how many quarter track you need to move from track 00. If you change this value, you will almost certainly have to change the SYNC. TABLE (parm 1A-27). Used to syncronize off a different track, if needed. 16-TIMER LOOP BEFORE SYNC:05 (0-15) high byte Support parm. When syncing tracks, use this timer val to ensure there is enough time for the sync. routine to work. Used to prevent error "S" 17-SYNC TRACK OFFSET:08 (00-FF) Support parm. Add this amount to the SYNC TIMER before the write, to offset the sync. track slightly. Used to make the sync tracks more precis. 18-ADD TO TIMER ON ERROR:01 (01-FF) Support parm. If the sync timer is not long enough for the sync routine, add this amount and try again. Used to prevent "S". 19-LENGTH OF SYNC TABLE:0D (00-0D) Support parm. Number of bytes of data to compare when looking for the SYNC TABLE (parm 1A-27). 1A,27-SYNC TABLE: Data parm. Table of bytes to compare for the synchronize routine to continue. D5,AA,96,7F,7F,AA,AA,AA,AA,7F,7F,7F,7F,7F This has been preset for most 3.3 disks track 00, sector 00. If you duplicating a 3.2 disk, change the "96" (parm 1C) to value "B5". 7F = wildcard. These bytes must be on the track specified in parm 15. Used to prevent an error flashing "S". 28-ANALYSE/MODIFY TRACK:00 (00-7F) ----------------------------------- Instructiom parm. Si la value du paramètre (parm) est plus grande que '0', le processing code 'A' sera activé. 00 = Do not analyse/modify track. (n'analyse pas et ne modifie pas la piste) 01 = Use logic search (parm 65,66,67-6E) to replace raw data values to parm29 02= Use logic search(parm 65,66,67-6E) to replace timing bit lengths to parm2A 04 = Use logic search (parm 65,66,67-6E) to replace timing bit lengths to "0" after track start is found. 08 = Make sure that the high bits are set on all raw data. 10 = Search the raw data for parms 2B-38 data pattern, add parm 39 and 3A, replace with the new data pattern (parms 3B-48). 20 = Similar to using value 10. Instead of changing data values, change the timing values to time length table (parms 49-56). 40 = Use data pattern (instead of timing gap) for locating track start (parms 57-64). Each bit position activates different routines. To use a combination of routines, add the values of the each routine you want to use, then input the sum. These processus (if selected) are done in this order: 20,10,02,01,08,40 then 04. Used to modify the raw data and may be to calculate a different track start. 29-FIX INVALID DATA WITH THIS DATA BYTE:FF (00-FF) Data parm. Usually, only a valid disk byte value should be used. Valid only if parm 28 has the "1" bit on. Used to prevent error "R". 2A-FIX INVALID DATA WITH THIS TIME LENGTH:01 (00-04) Data parm. Valid only if parm 28 has the "2" bit on. Used to by pass some protections. 2B,38-TABLE; SEARCH FOR THIS DATA: Data parm. Use this pattern when fixing track. D5,AA,96,7F,7F,7F,7F,7F,7F,7F,7F,7F,7F,7F This table has been preset for finding normal DOS 3.3 address fields. (for normal DOS 3.2 change parm 2D to B5). 7F = wildcard. Valid only if parm 28 has the 10 or the 20 bit on. Used to locate certain patterns in the track. 39,3A-ADD AFTER FINDING TABLE: Support parm. parm 39 = low byte:00 (00-FF) 3A = high byte:00 (00-FF) Valis only if parm 28 has the 10 or the 20 bit on. Used to change the values of certain bytes in the track. 3B,48-TABLE; CHANGE TO THIS DATA: Data parm. Use this pattern to change the data. 7F,7F,7F,7F,7F,7F,7F,7F,7F,7F,7F,DE,AA,EB This table has been preset for changing epilogue fields of each sector to normal DOS 3.3 and 3.2. 7F = wildcard Valid only if parm 28 has the 10 bit on. Used to change certain bytes in the track. 49,56-TABLE; CHANGE TO THIS TIMING LENGTH: Data parm. Use this pattern to change the timing bytes. 2,2,1,0,0,0,0,0,0,0,0,1,1,0 This table has been preset to change the first two bytes of the address field prologues to 2, epologues to 1, and everything else to 0. 7F = wildcard. Valid only if parm 28 has the 20 bit on. Used to change the length of certain bytes of the track. 57,64-TABLE; LOCATING THE START OF TRACK. Data pattern. The first match of raw data using this pattern is considered to be the track start. D5,AA,96,7F,7F,7F,7F,7F,AA,AA,7F,7F,7F,7F,7F Preset for finding sector zero of standard 3.2 and 3.3 DOS disk. 7F = wildcard Only used if parm 28 has the 40 bit on. 65-LOGIC PERFORMED ON DATA BYTES:3D (1D,3D,5D,DD) Instruction parm. This tells EDD what type of logic to perform on a track. Each byte of raw data is either ORA,AND,EOR, or CMP to each byte of the LOGIC BIT PATTERN (parm 67-6E). If the result is either equal to "00" or parm 66, then replace the data byte (if parm 28=1) to parm 29 and/or the timing byte (if parm 28=2) to parm 2A and/or the timing byte (if parm 28=4) to "00". Valid value are: 1D = ORA (or) 3D = AND (and) 5D = EOR (exclusive-or) DD = CMP (compare) Used only if parm 28 has the 1,2, and/or the 4 bits on. Preset equaling "AND", to help locate invalid bytes. 66-VALUE AFTER LOGIC:00 (00-FF) Data parm. If the result of the logic performed (using parms 28,65, and table 67-6E) equals "00" or this value then replace either the data byte (if parm 28=1) to parm 29 or the timing byte (if parm 28=2) to parm 2A or the timing byte (if parm 28=4) to "00". Used only if parm 28 has the 1,2, and/or the 4 bit on. 67,6E-LOGIC BIT PATTERNS: Data parm. Use these bytes as bit patterns while logically searching the raw data bytes. Preset for locating invalid bytes containing more than two consecutive zero's in a row or with out their high bit on. If the result of a raw data byte and any of these bit pattern values equal "00" (preset parm 66 value) after logically "AND"ing (preset parm 65 value) then, the data byte is then considered to be invalid. 80,70,38,1C,0E,07,07,07 Only used if parm 28 has the 1,2 or the 4 bit on. 6F-ARMWAIT1:24 (01-FF) Support parm. Wait routine between all phased arm movement. Used to keep the computer from attempting to move the arm faster than the disk drive can physically move it. Used to change the speed of the arm move. 70-ARMWAIT2:FF (01-FF) Support parm. Wait routine used after the arm move is complete. This will give the computer enough time to let the arm come to a rest, before trying to read or write data. 71,80-TABLE FOR ARM MOVE: Support parm. Phase table for setting the arm move. Quarter and three quarter tracks use each byte in table whole and half track use every other byte. 1,1,1,3,3,3,3,5,5,5,5,7,7,7,7,1 Usually you wouldn't need to modify this table. 81-WRITE VERIFY SEARCH START:03 (01-06) Support parm. EDD subtracts this amount from the original track length to start searching the duplicate disk for the difference in track lengths. Used to help prevent error "W". Used with parm 82. 82-WRITE VERIFY SEARCH LENGTH:06 (01-20) Support parm. If the duplicate disks track length hasn't been found after this amount of bytes have been searched, a write error "W" will occur. Used with parm 81. 83-ERASE TRACK DATA VALUE:FF (00-FF) Data parm. Lors de l'effacement d'une ou plusieurs piste (mode #7) , EDD utilise cette valeur pour effacer la ou les pistes concernees . Il convient de n'utiliser qu'une valeur ayant le bit 7 a 1 , c'est a dire un octet ayant une valeur superieure a 7F (80-FF) A utiliser avec le parm. 84 84-ERASE TRACK TIMING LENGTH:01 (00-04) Data parm. Ce parm. determine le nombre de bits de sync. a ajouter au 8 bits de l'octet defini par le parm. 83 . Ex 83:FF , 84:02 -> la piste sera effacée avec des octets de sync. (de 10 bits) de valeurs $FF 85-TRACK DUMP SENSITIVITY:02 (00-03,10) Support/instruction parm. While dumping a track, if a byte has not be received during the strobe of; 0 = 25 or 31 cycles 1 = 26 or 32 cycles 2 = 27 or 33 cycles 3 = 28 or 34 cycles the byte will be considered a timing byte. Drive speed can be very critical. Some disk drives can not read/write bytes longer than 10 bits: 00 = if longer than 10 bits, make it 10 bits. 10 = if longer than 11 bits, make it 11 bits. 86-SOUND ROUTINES:01 (00-01) Instruction parm.Pressing ctrl S from any prompt will turn this parm value to 0 (0 = OFF, 1 = ON) ANALYSE ORIGINAL DISK --------------------- Analyse du disque original STATUS (haut de l'ecran) : . = correcte - = piste partiellement enregistre interaction possible avec une piste adjacente donnees invalides sur la piste * = peu ou pas de donnees valides interaction avec une autre piste piste non enregistree STATUS (bas de l'ecran) : . = donnee/gap valides * = donnee invalide, signal trop faible,piste non enregistree EXAMINE SPEED OF ORIGINAL DISK ------------------------------ Cette option permet de regler le drive a la meme vitesse que celle qui a ete utilise pour ecrire la disquette originale TOUCHES UTILISEES : : suspend l'affichage de nouvelles informations 1,9 : reglage de la vitesse d'affichage <,> : incrementation d'un quart de piste <-,-> : incrementation d'une demi piste EDD visualise les types d'octects presents sur la disquette : data/sync. bytes. Ces suites de nombres permettent un reglage de la vitesse du drive CAS POSSIBLES : vitesse correcte : screen display byte length: ....................... = 8+0 = 8 11111111111111111111111 = 8+1 = 9 22222222222222222222222 = 8+2 = 10 vitesse trop elevee : ....................... = 8+0 = 8 1111.1111.11111.11111.1 = 8+1 = 9 22122222122212222122222 = 8+2 = 10 vitesse trop faible : ...1........1.......1.. = 8+0 = 8 11111121111111112111111 = 8+1 = 9 22322222222322222222322 = 8+2 = 10 exemple : ............................. <- octect de donnee ..........2222222222222222222 22222223222222222322222232222 <- octect de sync. bit supp. = 2 2222222322222................ L'apparition de 3 parmi un nombre plus important de 2 nous informe sur le reglage du drive a effectuer : le drive tourne trop lentement , il faut donc l'accelerer CHECKING DRIVE SPEED (Zyeute la vitesse du drive) --------------------------------------------------- Pas grand chose a dire sur cette option si ne n'est que l'index de l'original est cale sur une vitesse de 300 RPM et que l'index du destination est cale sur une vitesse plus faible , ceci pour eviter des problemes d'ecriture : - compression , code d'erreur "C" - track too long , code d'erreur "L" Ces 2 codes d'erreurs sont en general du a une vitesse du drive destination trop élevée. Version du 27/09/85 Traduit par GODFATHER et P.POWER Texte revu et corrigé par ZE ENFOIRES le present texte a ete tape a l'aide du tres precieux MAGIC WINDOW II Disponible sur Apple IIc .dsk Archive par Steph & Gist : http://www.multimania.com/apple2c/