00000000: D3 D5 C2 CA 3A 20 CA 41 4D 45 53 2D 20 20 20 20 |....: .AMES- |
00000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000020: 20 28 D2 29 20 20 20 C6 D2 CF CD 3A 20 D5 54 49 | (.) ....: .TI|
00000030: 4C 49 54 49 45 53 31 20 20 30 35 2F 30 35 2F 38 |LITIES1 05/05/8|
00000040: 39 20 20 20 D3 23 3A 20 34 33 35 36 39 30 20 20 |9 .#: 435690 |
00000050: 0D CF 4B 2E 2E 2E 54 48 45 20 44 45 41 4C 20 54 |..K...THE DEAL T|
00000060: 48 49 53 3A 0D 0D 39 39 2E 39 39 39 39 39 39 39 |HIS:..99.9999999|
00000070: 25 20 4F 46 20 41 4C 4C 20 54 48 45 20 CD C1 CA |% OF ALL THE ...|
00000080: CF D2 20 53 4F 46 54 57 41 52 45 20 4D 41 4E 55 |.. SOFTWARE MANU|
00000090: 46 41 43 54 55 52 45 52 53 20 48 41 56 45 20 54 |FACTURERS HAVE T|
000000A0: 48 45 49 52 20 44 49 53 4B 53 20 53 45 4E 54 20 |HEIR DISKS SENT |
000000B0: 54 4F 20 43 4F 50 59 20 48 4F 55 53 45 53 20 54 |TO COPY HOUSES T|
000000C0: 4F 20 42 45 20 50 52 4F 44 55 43 45 44 2E 20 20 |O BE PRODUCED. |
000000D0: D4 48 45 53 45 20 48 4F 55 53 45 53 20 55 53 45 |.HESE HOUSES USE|
000000E0: 20 4D 41 43 48 49 4E 45 53 20 28 C6 4F 52 45 4D | MACHINES (.OREM|
000000F0: 41 53 54 45 52 29 20 54 4F 20 54 48 41 54 20 4C |ASTER) TO THAT L|
00000100: 49 4E 45 20 55 50 20 54 48 45 20 54 52 41 43 4B |INE UP THE TRACK|
00000110: 53 20 55 53 49 4E 47 20 54 48 45 20 49 4E 44 45 |S USING THE INDE|
00000120: 58 20 48 4F 4C 45 20 53 45 4E 53 4F 52 2E 20 20 |X HOLE SENSOR. |
00000130: D4 48 49 53 20 4D 45 41 4E 53 20 54 48 41 54 20 |.HIS MEANS THAT |
00000140: 54 48 45 20 53 54 41 52 54 20 4F 46 20 C5 C1 C3 |THE START OF ...|
00000150: C8 20 41 4E 44 20 C5 D6 C5 D2 D9 20 54 52 41 43 |. AND ..... TRAC|
00000160: 4B 20 57 49 4C 4C 20 42 45 20 41 54 20 54 48 45 |K WILL BE AT THE|
00000170: 20 49 4E 44 45 58 20 48 4F 4C 45 2E 0D 0D D7 49 | INDEX HOLE....I|
00000180: 54 48 20 54 48 49 53 20 4B 4E 4F 57 4C 45 44 47 |TH THIS KNOWLEDG|
00000190: 45 2C 20 48 45 52 45 20 49 53 20 48 4F 57 20 54 |E, HERE IS HOW T|
000001A0: 48 45 20 C9 C8 D3 20 CE C9 C2 C2 CC C5 D2 20 57 |HE ... ....... W|
000001B0: 4F 52 4B 53 3A 0D 0D D2 C5 C1 C4 20 D0 C1 D3 D3 |ORKS:...... ....|
000001C0: 3A 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 31 29 20 D7 |:.---------.1) .|
000001D0: 41 49 54 20 46 4F 52 20 49 4E 44 45 58 20 48 4F |AIT FOR INDEX HO|
000001E0: 4C 45 20 54 4F 20 41 50 50 45 41 52 2E 20 20 0D |LE TO APPEAR. .|
000001F0: 32 29 20 D3 54 41 52 54 20 52 45 41 44 49 4E 47 |2) .TART READING|
00000200: 20 44 41 54 41 20 55 4E 54 49 4C 20 D2 C1 CD 20 | DATA UNTIL ... |
00000210: 49 53 20 20 20 20 20 20 20 20 20 46 55 4C 4C 2E |IS FULL.|
00000220: 0D 33 29 20 D7 41 49 54 20 46 4F 52 20 49 4E 44 |.3) .AIT FOR IND|
00000230: 45 58 20 48 4F 4C 45 20 54 4F 20 41 50 50 45 41 |EX HOLE TO APPEA|
00000240: 52 2E 0D 34 29 20 C3 4F 55 4E 54 20 54 48 45 20 |R..4) .OUNT THE |
00000250: 23 20 4F 46 20 42 59 54 45 53 20 54 48 41 54 20 |# OF BYTES THAT |
00000260: 47 4F 20 42 59 0D 20 20 20 55 4E 54 49 4C 20 54 |GO BY. UNTIL T|
00000270: 48 45 20 49 4E 44 45 58 20 48 4F 4C 45 20 41 50 |HE INDEX HOLE AP|
00000280: 50 45 41 52 53 20 0D 20 20 20 41 47 41 49 4E 2E |PEARS . AGAIN.|
00000290: 0D 35 29 20 D3 54 4F 52 45 20 54 48 49 53 20 56 |.5) .TORE THIS V|
000002A0: 41 4C 55 45 20 2D 24 31 30 20 41 53 20 54 48 45 |ALUE -$10 AS THE|
000002B0: 20 C5 CE C4 0D 20 20 20 CF C6 20 D4 D2 C1 C3 CB | .... .. .....|
000002C0: 20 4D 41 52 4B 45 52 2E 0D 0D D7 D2 C9 D4 C5 20 | MARKER........ |
000002D0: D0 C1 D3 D3 3A 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |....:.----------|
000002E0: 0D 31 29 20 D7 52 49 54 45 20 35 35 27 53 20 54 |.1) .RITE 55'S T|
000002F0: 4F 20 45 4E 54 49 52 45 20 54 52 41 43 4B 2E 0D |O ENTIRE TRACK..|
00000300: 32 29 20 D7 52 49 54 45 20 31 30 20 D3 D9 CE C3 |2) .RITE 10 ....|
00000310: 20 4D 41 52 4B 53 20 28 C6 C6 27 53 29 2E 0D 33 | MARKS (..'S)..3|
00000320: 29 20 D7 41 49 54 20 46 4F 52 20 D3 D9 CE C3 20 |) .AIT FOR .... |
00000330: 4D 41 52 4B 53 20 54 4F 20 41 50 50 45 41 52 2E |MARKS TO APPEAR.|
00000340: 0D 34 29 20 C3 4F 55 4E 54 20 23 20 4F 46 20 42 |.4) .OUNT # OF B|
00000350: 59 54 45 53 20 47 4F 20 42 59 20 55 4E 54 49 4C |YTES GO BY UNTIL|
00000360: 20 D3 D9 CE C3 0D 20 20 20 4D 41 52 4B 53 20 41 | ..... MARKS A|
00000370: 50 50 45 41 52 20 41 47 41 49 4E 2E 0D 35 29 20 |PPEAR AGAIN..5) |
00000380: D3 54 4F 52 45 20 54 48 49 53 20 56 41 4C 55 45 |.TORE THIS VALUE|
00000390: 20 41 53 20 54 48 45 20 C5 CE C4 20 4F 46 20 D4 | AS THE ... OF .|
000003A0: D2 C1 C3 CB 0D 20 20 20 4D 41 52 4B 45 52 2E 0D |..... MARKER..|
000003B0: 36 29 20 D7 41 49 54 20 46 4F 52 20 49 4E 44 45 |6) .AIT FOR INDE|
000003C0: 58 20 48 4F 4C 45 20 54 4F 20 41 50 50 45 41 52 |X HOLE TO APPEAR|
000003D0: 2E 0D 37 29 20 D7 52 49 54 45 20 4F 55 54 20 44 |..7) .RITE OUT D|
000003E0: 41 54 41 20 55 4E 54 49 4C 20 C5 CE C4 20 4F 46 |ATA UNTIL ... OF|
000003F0: 20 D4 D2 C1 C3 CB 0D 20 20 20 4D 41 52 4B 45 52 | ...... MARKER|
00000400: 20 41 50 50 45 41 52 53 2E 0D 0D D9 4F 55 20 53 | APPEARS....OU S|
00000410: 45 45 2C 20 54 48 45 20 50 52 4F 42 4C 45 4D 20 |EE, THE PROBLEM |
00000420: 49 53 20 57 49 54 48 20 54 48 45 20 44 52 49 56 |IS WITH THE DRIV|
00000430: 45 20 53 50 45 45 44 20 56 41 52 59 49 4E 47 2E |E SPEED VARYING.|
00000440: 20 20 C9 46 20 59 4F 55 20 57 52 49 54 45 20 54 | .F YOU WRITE T|
00000450: 4F 4F 20 4D 55 43 48 20 44 41 54 41 20 54 4F 20 |OO MUCH DATA TO |
00000460: 54 48 45 20 44 49 53 4B 2C 20 59 4F 55 20 57 49 |THE DISK, YOU WI|
00000470: 4C 4C 20 4F 56 45 52 20 57 52 49 54 45 20 54 48 |LL OVER WRITE TH|
00000480: 45 20 54 52 41 43 4B 2E 20 20 D4 4F 4F 20 4C 49 |E TRACK. .OO LI|
00000490: 54 54 4C 45 20 57 49 4C 4C 20 43 55 54 20 49 54 |TTLE WILL CUT IT|
000004A0: 20 53 48 4F 52 54 2E 20 20 D3 4F 2C 20 54 48 45 | SHORT. .O, THE|
000004B0: 20 53 4F 46 54 57 41 52 45 20 46 49 47 55 52 45 | SOFTWARE FIGURE|
000004C0: 53 20 4F 55 54 20 49 46 20 54 48 45 20 23 20 4F |S OUT IF THE # O|
000004D0: 46 20 42 59 54 45 53 20 D2 C5 C1 C4 20 49 53 20 |F BYTES .... IS |
000004E0: 47 52 45 41 54 45 52 20 54 48 41 4E 20 23 20 4F |GREATER THAN # O|
000004F0: 46 20 42 59 54 45 53 20 54 48 41 54 20 41 52 45 |F BYTES THAT ARE|
00000500: 20 41 42 4C 45 20 54 4F 20 42 45 20 57 52 49 54 | ABLE TO BE WRIT|
00000510: 54 45 4E 2E 20 20 C9 46 20 54 48 49 53 20 49 53 |TEN. .F THIS IS|
00000520: 20 54 48 45 20 43 41 53 45 2C 20 54 48 45 20 53 | THE CASE, THE S|
00000530: 4F 46 54 57 41 52 45 20 41 54 54 45 4D 50 54 53 |OFTWARE ATTEMPTS|
00000540: 20 54 4F 20 52 45 44 55 43 45 20 54 48 45 20 54 | TO REDUCE THE T|
00000550: 52 41 43 4B 2E 2E 2E 4C 4F 53 49 4E 47 20 53 4F |RACK...LOSING SO|
00000560: 4D 45 20 44 41 54 41 20 41 4E 44 20 43 41 55 53 |ME DATA AND CAUS|
00000570: 49 4E 47 20 54 48 45 20 43 4F 50 59 20 54 4F 20 |ING THE COPY TO |
00000580: 46 41 49 4C 2E 0D 0D C9 46 20 54 48 45 20 23 20 |FAIL....F THE # |
00000590: 4F 46 20 42 59 54 45 53 20 D2 C5 C1 C4 20 41 52 |OF BYTES .... AR|
000005A0: 45 20 46 45 57 45 52 20 54 48 41 4E 20 57 48 41 |E FEWER THAN WHA|
000005B0: 54 20 43 41 4E 20 42 45 20 53 54 4F 52 45 44 20 |T CAN BE STORED |
000005C0: 4F 4E 20 54 48 45 20 D7 D2 C9 D4 C5 20 4D 4F 44 |ON THE ..... MOD|
000005D0: 45 2C 20 54 48 45 4E 20 45 56 45 52 59 54 48 49 |E, THEN EVERYTHI|
000005E0: 4E 47 20 49 53 20 46 49 4E 45 2E 0D 0D C9 20 41 |NG IS FINE.... A|
000005F0: 4D 20 57 4F 52 4B 49 4E 47 20 4F 4E 20 54 48 49 |M WORKING ON THI|
00000600: 53 20 50 52 4F 42 4C 45 4D 20 4E 4F 57 20 57 49 |S PROBLEM NOW WI|
00000610: 54 48 20 47 52 45 41 54 20 53 55 43 43 45 53 53 |TH GREAT SUCCESS|
00000620: 21 0D 0D CA 49 4D 0D 0D D0 2E D3 2E 20 28 D4 48 |!...IM...... (.H|
00000630: 49 53 20 C8 C1 D3 20 D4 CF 20 C2 C5 20 54 48 45 |IS ... .. .. THE|
00000640: 20 CC CF CE C7 C5 D3 D4 20 4D 45 53 53 41 47 45 | ....... MESSAGE|
00000650: 20 C9 20 48 41 56 45 20 C5 D6 C5 D2 20 54 59 50 | . HAVE .... TYP|
00000660: 45 44 21 29 20 20 3B 29 0D 20 20 0D 0D 20 20 |ED!) ;). .. |
SUBJ: JAMES- (R) F
ROM: UTILITIES1 05/05/89 S#: 435690
.OK...THE DEAL THIS:..99.9999999% OF ALL
THE MAJOR SOFTWARE MANUFACTURERS HAVE T
HEIR DISKS SENT TO COPY HOUSES TO BE PRO
DUCED. THESE HOUSES USE MACHINES (FOREM
ASTER) TO THAT LINE UP THE TRACKS USING
THE INDEX HOLE SENSOR. THIS MEANS THAT
THE START OF EACH AND EVERY TRACK WILL B
E AT THE INDEX HOLE...WITH THIS KNOWLEDG
E, HERE IS HOW THE IHS NIBBLER WORKS:..R
EAD PASS:.---------.1) WAIT FOR INDEX HO
LE TO APPEAR. .2) START READING DATA UN
TIL RAM IS FULL..3) WAIT FOR IND
EX HOLE TO APPEAR..4) COUNT THE # OF BYT
ES THAT GO BY. UNTIL THE INDEX HOLE AP
PEARS . AGAIN..5) STORE THIS VALUE -$1
0 AS THE END. OF TRACK MARKER...WRITE
PASS:.----------.1) WRITE 55'S TO ENTIRE
TRACK..2) WRITE 10 SYNC MARKS (FF'S)..3
) WAIT FOR SYNC MARKS TO APPEAR..4) COUN
T # OF BYTES GO BY UNTIL SYNC. MARKS A
PPEAR AGAIN..5) STORE THIS VALUE AS THE
END OF TRACK. MARKER..6) WAIT FOR INDE
X HOLE TO APPEAR..7) WRITE OUT DATA UNTI
L END OF TRACK. MARKER APPEARS...YOU S
EE, THE PROBLEM IS WITH THE DRIVE SPEED
VARYING. IF YOU WRITE TOO MUCH DATA TO
THE DISK, YOU WILL OVER WRITE THE TRACK.
TOO LITTLE WILL CUT IT SHORT. SO, THE
SOFTWARE FIGURES OUT IF THE # OF BYTES
READ IS GREATER THAN # OF BYTES THAT ARE
ABLE TO BE WRITTEN. IF THIS IS THE CAS
E, THE SOFTWARE ATTEMPTS TO REDUCE THE T
RACK...LOSING SOME DATA AND CAUSING THE
COPY TO FAIL...IF THE # OF BYTES READ AR
E FEWER THAN WHAT CAN BE STORED ON THE W
RITE MODE, THEN EVERYTHING IS FINE...I A
M WORKING ON THIS PROBLEM NOW WITH GREAT
SUCCESS!..JIM..P.S. (THIS HAS TO BE THE
LONGEST MESSAGE I HAVE EVER TYPED!) ;)
. ..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL