PRG THE 1541.LNX
FILE INFORMATION
FILENAME(S): PRG THE 1541.LNX
FILE TYPE(S): SEQ
FILE SIZE: 58.1K
FIRST SEEN: 2025-10-19 22:48:52
APPEARS ON: 1 disk(s)
FILE HASH
ac6573d0a5eb2d2dabb4bdb035bfd7771cc9d545f43e4d816d54a166d202848f
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| AO MAG NOV 86 | PRG THE 1541.LNX | SEQ | Radd Maxx | 21 | 17 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 20 34 20 20 20 20 4C 59 4E 58 20 56 49 20 42 59 | 4 LYNX VI BY|
00000010: 20 57 49 4C 4C 20 43 4F 52 4C 45 59 0D 20 34 33 | WILL CORLEY. 43|
00000020: 20 0D 4D 2F 4C 20 50 52 47 20 31 35 34 31 20 44 | .M/L PRG 1541 D|
00000030: 4F 43 0D 20 32 39 20 0D 53 0D 20 31 39 34 20 0D |OC. 29 .S. 194 .|
00000040: 52 45 41 44 20 48 45 41 44 45 52 0D 20 36 20 0D |READ HEADER. 6 .|
00000050: 50 0D 20 32 32 30 20 0D 52 45 41 44 20 48 45 41 |P. 220 .READ HEA|
00000060: 44 45 52 49 2F 4C 0D 20 34 20 0D 50 0D 20 32 32 |DERI/L. 4 .P. 22|
00000070: 30 20 0D 52 45 41 44 20 48 44 52 4E 2F 53 59 4E |0 .READ HDRN/SYN|
00000080: 43 0D 20 37 20 0D 50 0D 20 31 35 38 20 0D 4C 4F |C. 7 .P. 158 .LO|
00000090: 41 44 45 52 0D 20 38 20 0D 50 0D 20 31 30 35 20 |ADER. 8 .P. 105 |
000000A0: 0D 42 49 4E 41 52 59 0D 20 34 20 0D 50 0D 20 31 |.BINARY. 4 .P. 1|
000000B0: 38 38 20 0D 48 41 4C 46 20 54 52 41 43 4B 0D 20 |88 .HALF TRACK. |
000000C0: 31 31 20 0D 50 0D 20 36 20 0D 41 53 43 49 49 20 |11 .P. 6 .ASCII |
000000D0: 54 4F 20 48 45 58 0D 20 38 20 0D 50 0D 20 31 39 |TO HEX. 8 .P. 19|
000000E0: 34 20 0D 48 45 58 20 54 4F 20 41 53 43 49 49 0D |4 .HEX TO ASCII.|
000000F0: 20 35 20 0D 50 0D 20 34 34 20 0D 42 49 54 20 44 | 5 .P. 44 .BIT D|
00000100: 45 4E 53 49 54 59 0D 20 39 20 0D 50 0D 20 32 30 |ENSITY. 9 .P. 20|
00000110: 34 20 0D 52 45 41 44 20 48 45 41 44 45 52 20 49 |4 .READ HEADER I|
00000120: 4C 4C 2E 0D 20 34 20 0D 50 0D 20 31 39 34 20 0D |LL.. 4 .P. 194 .|
00000130: 54 52 41 43 45 20 45 51 0D 20 31 20 0D 50 0D 20 |TRACE EQ. 1 .P. |
00000140: 32 33 34 20 0D 54 52 43 0D 20 32 32 20 0D 50 0D |234 .TRC. 22 .P.|
00000150: 20 32 30 32 20 0D 53 52 43 48 20 44 53 4B 20 38 | 202 .SRCH DSK 8|
00000160: 0D 20 33 20 0D 50 0D 20 32 30 37 20 0D 52 44 20 |. 3 .P. 207 .RD |
00000170: 54 52 4B 20 45 51 0D 20 32 20 0D 50 0D 20 32 34 |TRK EQ. 2 .P. 24|
00000180: 39 20 0D 52 44 20 54 52 4B 20 31 0D 20 36 20 0D |9 .RD TRK 1. 6 .|
00000190: 50 0D 20 32 38 20 0D 52 44 20 54 52 4B 20 32 0D |P. 28 .RD TRK 2.|
000001A0: 20 35 20 0D 50 0D 20 36 30 20 0D 52 44 20 54 52 | 5 .P. 60 .RD TR|
000001B0: 4B 20 33 0D 20 32 20 0D 50 0D 20 31 39 31 20 0D |K 3. 2 .P. 191 .|
000001C0: 52 44 20 54 52 4B 20 34 0D 20 32 20 0D 50 0D 20 |RD TRK 4. 2 .P. |
000001D0: 31 30 32 20 0D 52 44 20 54 52 4B 20 35 0D 20 32 |102 .RD TRK 5. 2|
000001E0: 20 0D 50 0D 20 32 30 32 20 0D 52 44 20 54 52 4B | .P. 202 .RD TRK|
000001F0: 20 36 0D 20 31 20 0D 50 0D 20 31 32 37 20 0D 52 | 6. 1 .P. 127 .R|
00000200: 44 20 54 52 4B 20 37 0D 20 33 20 0D 50 0D 20 31 |D TRK 7. 3 .P. 1|
00000210: 34 34 20 0D 52 44 20 54 52 4B 20 38 0D 20 31 39 |44 .RD TRK 8. 19|
00000220: 20 0D 50 0D 20 31 38 37 20 0D 52 44 20 54 52 4B | .P. 187 .RD TRK|
00000230: 20 39 0D 20 37 20 0D 50 0D 20 39 20 0D 52 44 20 | 9. 7 .P. 9 .RD |
00000240: 54 52 4B 20 31 30 0D 20 34 20 0D 50 0D 20 32 30 |TRK 10. 4 .P. 20|
00000250: 37 20 0D 52 44 20 54 52 4B 20 31 31 0D 20 34 20 |7 .RD TRK 11. 4 |
00000260: 0D 50 0D 20 31 35 36 20 0D 52 44 20 54 52 4B 20 |.P. 156 .RD TRK |
00000270: 31 32 0D 20 31 20 0D 50 0D 20 32 33 33 20 0D 52 |12. 1 .P. 233 .R|
00000280: 44 20 54 52 4B 20 31 33 0D 20 31 20 0D 50 0D 20 |D TRK 13. 1 .P. |
00000290: 31 34 38 20 0D 52 44 20 54 52 4B 20 31 34 0D 20 |148 .RD TRK 14. |
000002A0: 32 20 0D 50 0D 20 31 31 37 20 0D 52 44 20 54 52 |2 .P. 117 .RD TR|
000002B0: 4B 20 31 35 0D 20 32 20 0D 50 0D 20 31 33 39 20 |K 15. 2 .P. 139 |
000002C0: 0D 52 44 20 54 52 4B 20 31 36 0D 20 33 20 0D 50 |.RD TRK 16. 3 .P|
000002D0: 0D 20 32 33 20 0D 52 44 20 54 52 4B 20 31 37 0D |. 23 .RD TRK 17.|
000002E0: 20 32 20 0D 50 0D 20 34 39 20 0D 52 44 20 54 52 | 2 .P. 49 .RD TR|
000002F0: 4B 20 31 38 0D 20 33 20 0D 50 0D 20 31 31 33 20 |K 18. 3 .P. 113 |
00000300: 0D 52 44 20 54 52 4B 20 54 41 42 4C 45 53 0D 20 |.RD TRK TABLES. |
00000310: 38 20 0D 50 0D 20 31 32 33 20 0D 53 52 43 48 20 |8 .P. 123 .SRCH |
00000320: 44 53 4B 20 45 51 0D 20 32 20 0D 50 0D 20 32 36 |DSK EQ. 2 .P. 26|
00000330: 20 0D 53 52 43 48 20 44 53 4B 20 31 0D 20 35 20 | .SRCH DSK 1. 5 |
00000340: 0D 50 0D 20 31 38 32 20 0D 53 52 43 48 20 44 53 |.P. 182 .SRCH DS|
00000350: 4B 20 32 0D 20 34 20 0D 50 0D 20 31 32 35 20 0D |K 2. 4 .P. 125 .|
00000360: 53 52 43 48 20 44 53 4B 20 33 0D 20 31 20 0D 50 |SRCH DSK 3. 1 .P|
00000370: 0D 20 31 35 30 20 0D 53 52 43 48 20 44 53 4B 20 |. 150 .SRCH DSK |
00000380: 34 0D 20 32 20 0D 50 0D 20 31 30 20 0D 53 52 43 |4. 2 .P. 10 .SRC|
00000390: 48 20 44 53 4B 20 35 0D 20 35 20 0D 50 0D 20 31 |H DSK 5. 5 .P. 1|
000003A0: 36 31 20 0D 53 52 43 48 20 44 53 4B 20 36 0D 20 |61 .SRCH DSK 6. |
000003B0: 35 20 0D 50 0D 20 32 38 20 0D 53 52 43 48 20 44 |5 .P. 28 .SRCH D|
000003C0: 53 4B 20 37 0D 20 34 20 0D 50 0D 20 31 39 32 20 |SK 7. 4 .P. 192 |
000003D0: 0D 53 52 43 48 20 44 53 4B 20 54 41 42 4C 45 53 |.SRCH DSK TABLES|
000003E0: 0D 20 33 20 0D 50 0D 44 20 54 52 4B 20 36 0D 20 |. 3 .P.D TRK 6. |
000003F0: 31 20 0D 50 0D 20 31 32 40 25 43 50 52 4F 47 52 |1 .P. 12@%CPROGR|
00000400: 41 4D 4D 49 4E 47 20 54 48 45 20 31 35 34 31 0D |AMMING THE 1541.|
00000410: 43 49 4E 20 4D 41 43 48 49 4E 45 20 4C 41 4E 47 |CIN MACHINE LANG|
00000420: 55 41 47 45 0D 43 42 59 0D 43 43 48 41 52 4C 45 |UAGE.CBY.CCHARLE|
00000430: 53 20 4C 45 20 4D 49 45 55 58 0D 43 28 4D 4C 20 |S LE MIEUX.C(ML |
00000440: 42 55 47 29 0D 0D 0D 0D 20 20 20 20 20 54 68 69 |BUG).... Thi|
00000450: 73 20 74 75 74 6F 72 74 6F 72 69 61 6C 20 69 73 |s tutortorial is|
00000460: 20 6F 66 66 65 72 65 64 20 61 73 20 66 72 65 65 | offered as free|
00000470: 77 61 72 65 20 62 79 20 6D 65 2E 20 51 75 65 73 |ware by me. Ques|
00000480: 74 69 6F 6E 73 20 61 6E 64 20 66 65 65 64 62 61 |tions and feedba|
00000490: 63 6B 20 63 61 6E 20 62 65 20 73 65 6E 74 20 74 |ck can be sent t|
000004A0: 6F 20 6D 65 20 76 69 61 20 6D 61 69 6C 20 6F 6E |o me via mail on|
000004B0: 20 51 2D 4C 49 4E 4B 2E 0D 0D 20 20 20 20 20 49 | Q-LINK... I|
000004C0: 74 20 69 73 20 73 74 72 6F 6E 67 6C 79 20 72 65 |t is strongly re|
000004D0: 63 6F 6D 65 6E 64 65 64 20 74 68 61 74 20 79 6F |comended that yo|
000004E0: 75 20 61 71 75 69 72 65 20 6D 65 6D 6F 72 79 20 |u aquire memory |
000004F0: 6D 61 70 73 20 6F 66 20 74 68 65 20 36 34 20 61 |maps of the 64 a|
00000500: 6E 64 20 31 35 34 31 20 74 6F 20 62 65 74 74 65 |nd 1541 to bette|
00000510: 72 20 75 6E 64 65 72 73 74 61 6E 64 20 74 68 65 |r understand the|
00000520: 20 66 6F 6C 6C 6F 77 69 6E 67 2E 0D 0D 20 20 20 | following... |
00000530: 20 20 54 68 65 20 62 65 73 74 20 77 61 79 20 74 | The best way t|
00000540: 6F 20 75 6E 64 65 72 73 74 61 6E 64 20 74 68 65 |o understand the|
00000550: 20 31 35 34 31 20 61 6E 64 20 69 74 27 73 20 72 | 1541 and it's r|
00000560: 6F 75 74 69 6E 65 73 2C 20 69 73 20 74 6F 20 77 |outines, is to w|
00000570: 6F 72 6B 20 77 69 74 68 20 70 72 6F 74 65 63 74 |ork with protect|
00000580: 65 64 20 64 69 73 6B 73 2E 20 4E 6F 72 6D 61 6C |ed disks. Normal|
00000590: 79 20 66 6F 72 6D 61 74 74 65 64 20 64 69 73 6B |y formatted disk|
000005A0: 73 20 68 61 76 65 20 6E 6F 20 63 68 61 6C 6C 65 |s have no challe|
000005B0: 6E 67 65 2E 0D 0D 20 20 20 20 20 54 68 65 20 66 |nge... The f|
000005C0: 6F 6C 6C 6F 77 69 6E 67 20 72 6F 75 74 69 6E 65 |ollowing routine|
000005D0: 73 20 77 65 27 72 65 20 77 72 69 74 74 65 6E 20 |s we're written |
000005E0: 77 69 74 68 20 4C 41 44 53 2E 20 54 68 65 20 73 |with LADS. The s|
000005F0: 6F 75 72 63 65 20 63 6F 64 65 20 69 73 20 69 6E |ource code is in|
00000600: 63 6C 75 64 65 64 20 66 6F 72 20 79 6F 75 2C 20 |cluded for you, |
00000610: 61 73 20 77 65 6C 6C 20 61 73 20 74 68 65 20 61 |as well as the a|
00000620: 73 73 65 6D 62 6C 65 64 20 72 6F 75 74 69 6E 65 |ssembled routine|
00000630: 73 2E 0D 0D 20 20 20 20 20 41 6C 6C 20 6F 66 20 |s... All of |
00000640: 74 68 65 20 64 69 73 6B 20 72 6F 75 74 69 6E 65 |the disk routine|
00000650: 73 20 62 79 2D 70 61 73 73 20 65 72 72 6F 72 20 |s by-pass error |
00000660: 68 61 6E 64 6C 69 6E 67 20 72 6F 75 74 69 6E 65 |handling routine|
00000670: 73 20 62 79 20 75 73 69 6E 67 20 44 49 52 45 43 |s by using DIREC|
00000680: 54 20 41 43 43 45 53 53 20 50 52 4F 47 52 41 4D |T ACCESS PROGRAM|
00000690: 4D 49 4E 47 2E 0D 0D 20 20 20 20 20 44 69 72 65 |MING... Dire|
000006A0: 63 74 20 61 63 63 65 73 73 20 70 72 6F 67 72 61 |ct access progra|
000006B0: 6D 6D 69 6E 67 20 69 73 20 71 75 69 74 65 20 73 |mming is quite s|
000006C0: 69 6D 70 6C 65 2E 20 54 68 65 20 31 35 34 31 20 |imple. The 1541 |
000006D0: 68 61 73 20 77 68 61 74 20 69 73 20 63 61 6C 6C |has what is call|
000006E0: 65 64 20 63 6F 6D 6D 61 6E 64 20 62 75 66 66 65 |ed command buffe|
000006F0: 72 73 2E 20 54 68 65 72 65 20 61 72 65 20 73 69 |rs. There are si|
00000700: 78 20 6F 66 20 74 68 65 6D 2E 20 54 68 65 79 20 |x of them. They |
00000710: 61 72 65 20 6C 6F 61 63 61 74 65 64 20 69 6E 20 |are loacated in |
00000720: 74 68 65 20 31 35 34 31 27 73 20 72 61 6D 20 73 |the 1541's ram s|
00000730: 74 61 72 74 69 6E 67 20 61 74 20 24 30 30 30 30 |tarting at $0000|
00000740: 20 74 6F 20 24 30 30 30 35 2E 20 41 73 73 6F 63 | to $0005. Assoc|
00000750: 69 61 74 65 64 20 77 69 74 68 20 65 61 63 68 20 |iated with each |
00000760: 63 6F 6D 6D 61 6E 64 20 62 75 66 66 65 72 20 61 |command buffer a|
00000770: 72 65 20 74 77 6F 20 62 79 74 65 73 20 74 68 61 |re two bytes tha|
00000780: 74 20 68 6F 6C 64 20 74 68 65 20 74 72 61 63 6B |t hold the track|
00000790: 20 61 6E 64 20 73 65 63 74 6F 72 20 66 6F 72 20 | and sector for |
000007A0: 74 68 65 20 63 6F 6D 6D 61 6E 64 2E 20 54 68 65 |the command. The|
000007B0: 73 65 20 61 72 65 20 6C 6F 63 61 74 65 64 20 66 |se are located f|
000007C0: 72 6F 6D 20 24 30 30 30 36 20 74 6F 20 24 30 30 |rom $0006 to $00|
000007D0: 31 31 2E 0D 0D 20 20 20 20 20 49 66 20 49 20 77 |11... If I w|
000007E0: 61 6E 74 65 64 20 74 6F 20 72 65 61 64 20 61 20 |anted to read a |
000007F0: 63 65 72 74 61 69 6E 20 73 65 63 74 6F 72 2C 20 |certain sector, |
00000800: 73 61 79 20 23 24 30 30 2C 20 6F 6E 20 61 20 63 |say #$00, on a c|
00000810: 65 72 74 61 69 6E 20 74 72 61 63 6B 2C 20 73 61 |ertain track, sa|
00000820: 79 20 23 24 31 31 2C 20 61 6E 64 20 49 20 77 61 |y #$11, and I wa|
00000830: 6E 74 65 64 20 74 68 69 73 20 64 61 74 61 20 73 |nted this data s|
00000840: 74 6F 72 65 64 20 69 6E 20 74 68 65 20 31 35 34 |tored in the 154|
00000850: 31 27 73 20 72 61 6D 20 73 74 61 72 74 69 6E 67 |1's ram starting|
00000860: 20 61 74 20 24 30 33 30 30 2C 20 49 20 77 6F 75 | at $0300, I wou|
00000870: 6C 64 20 64 6F 20 74 68 65 20 66 6F 6C 6C 6F 77 |ld do the follow|
00000880: 69 6E 67 3A 0D 0D 20 20 20 20 20 49 20 77 6F 75 |ing:.. I wou|
00000890: 6C 64 20 66 69 72 73 74 20 70 6C 61 63 65 20 61 |ld first place a|
000008A0: 6E 20 23 24 31 31 20 61 74 20 61 64 64 72 65 73 |n #$11 at addres|
000008B0: 73 20 24 30 30 30 36 2C 20 61 6E 64 20 61 6E 20 |s $0006, and an |
000008C0: 23 24 30 30 20 61 74 20 61 64 64 72 65 73 73 20 |#$00 at address |
000008D0: 24 30 30 30 37 2E 20 49 20 77 6F 75 6C 64 20 74 |$0007. I would t|
000008E0: 68 65 6E 20 70 6C 61 63 65 20 61 6E 20 23 24 38 |hen place an #$8|
000008F0: 30 2C 20 28 72 65 61 64 20 63 6F 6D 6D 61 6E 64 |0, (read command|
00000900: 29 2C 20 61 74 20 24 24 30 30 30 30 2E 0D 0D 20 |), at $$0000... |
00000910: 20 20 20 20 41 73 20 73 6F 6F 6E 20 61 73 20 74 | As soon as t|
00000920: 68 65 20 23 24 38 30 20 69 73 20 70 6C 61 63 65 |he #$80 is place|
00000930: 64 20 69 6E 20 6D 65 6D 6F 72 79 2C 20 74 68 65 |d in memory, the|
00000940: 20 74 72 61 63 6B 20 61 6E 64 20 73 65 63 74 6F | track and secto|
00000950: 72 20 77 69 6C 6C 20 62 65 20 72 65 61 64 20 69 |r will be read i|
00000960: 6E 74 6F 20 74 68 65 20 64 69 73 6B 20 6D 65 6D |nto the disk mem|
00000970: 6F 72 79 20 61 74 20 24 30 33 30 30 20 74 6F 20 |ory at $0300 to |
00000980: 24 30 33 66 66 2E 0D 0D 20 20 20 20 20 48 6F 77 |$03ff... How|
00000990: 20 77 61 73 20 74 68 69 73 20 61 63 63 6F 6D 70 | was this accomp|
000009A0: 6C 69 73 68 65 64 3F 20 53 69 6D 70 6C 65 2E 20 |lished? Simple. |
000009B0: 45 76 65 6E 20 77 68 65 6E 20 74 68 65 20 64 72 |Even when the dr|
000009C0: 69 76 65 20 69 73 20 69 64 6C 65 20 61 20 72 6F |ive is idle a ro|
000009D0: 75 74 69 6E 65 2C 20 28 69 64 6C 65 20 72 6F 75 |utine, (idle rou|
000009E0: 74 69 6E 65 20 61 74 20 24 66 32 62 30 29 20 69 |tine at $f2b0) i|
000009F0: 73 20 6C 6F 6F 6B 69 6E 67 20 66 6F 72 20 73 6F |s looking for so|
00000A00: 6D 65 74 68 69 6E 67 20 74 6F 20 64 6F 2E 20 49 |mething to do. I|
00000A10: 74 20 63 68 65 63 6B 73 20 74 68 65 20 63 6F 6D |t checks the com|
00000A20: 6D 61 6E 64 20 62 75 66 66 65 72 73 20 74 6F 20 |mand buffers to |
00000A30: 73 65 65 20 69 66 20 61 20 63 6F 6D 6D 61 6E 64 |see if a command|
00000A40: 20 69 73 20 77 61 69 74 69 6E 67 2E 20 49 66 20 | is waiting. If |
00000A50: 74 68 65 72 65 20 69 73 20 6F 6E 65 20 69 74 20 |there is one it |
00000A60: 65 78 65 63 75 74 65 73 20 69 74 2E 20 49 74 73 |executes it. Its|
00000A70: 20 61 73 20 74 68 6F 75 67 68 20 79 6F 75 20 68 | as though you h|
00000A80: 61 64 20 74 79 70 65 64 20 72 75 6E 2E 0D 0D 43 |ad typed run...C|
00000A90: 43 4F 4D 4D 41 4E 44 20 43 4F 44 45 53 0D 0D 23 |COMMAND CODES..#|
00000AA0: 24 38 30 20 52 45 41 44 0D 23 24 39 30 20 57 52 |$80 READ.#$90 WR|
00000AB0: 49 54 45 0D 23 24 61 30 20 56 45 52 49 46 59 20 |ITE.#$a0 VERIFY |
00000AC0: 41 20 53 45 43 54 4F 52 0D 23 24 62 30 20 53 45 |A SECTOR.#$b0 SE|
00000AD0: 45 4B 20 41 4E 59 20 53 45 43 54 4F 52 20 4F 4E |EK ANY SECTOR ON|
00000AE0: 20 54 52 41 43 4B 0D 23 24 63 30 20 42 55 4D 50 | TRACK.#$c0 BUMP|
00000AF0: 20 48 45 41 44 20 54 4F 20 54 52 41 43 4B 20 4F | HEAD TO TRACK O|
00000B00: 4E 45 0D 23 24 64 30 20 4A 55 4D 50 20 54 4F 20 |NE.#$d0 JUMP TO |
00000B10: 4D 2F 4C 20 52 4F 55 54 49 4E 45 20 28 54 68 69 |M/L ROUTINE (Thi|
00000B20: 73 20 6F 6E 65 20 69 73 20 6E 6F 74 20 76 65 72 |s one is not ver|
00000B30: 79 20 75 73 65 66 75 6C 29 0D 23 24 65 30 20 45 |y useful).#$e0 E|
00000B40: 58 45 43 55 54 45 20 43 4F 44 45 20 49 4E 20 42 |XECUTE CODE IN B|
00000B50: 55 46 46 45 52 0D 0D 20 20 20 20 20 57 72 69 74 |UFFER.. Writ|
00000B60: 65 20 77 6F 75 6C 64 20 77 6F 72 6B 20 61 73 20 |e would work as |
00000B70: 72 65 61 64 2C 20 65 78 63 65 70 74 20 74 68 61 |read, except tha|
00000B80: 74 20 74 68 65 20 63 6F 64 65 20 69 6E 20 74 68 |t the code in th|
00000B90: 65 20 72 61 6D 20 62 75 66 66 65 72 20 77 6F 75 |e ram buffer wou|
00000BA0: 6C 64 20 62 65 20 77 72 69 74 74 65 6E 20 74 6F |ld be written to|
00000BB0: 20 74 68 65 20 74 72 61 63 6B 20 61 6E 64 20 73 | the track and s|
00000BC0: 65 63 74 6F 72 20 73 70 65 63 69 66 65 64 2E 0D |ector specifed..|
00000BD0: 0D 20 20 20 20 20 41 66 74 65 72 20 61 20 63 6F |. After a co|
00000BE0: 6D 6D 61 6E 64 20 69 73 20 65 78 65 63 75 74 65 |mmand is execute|
00000BF0: 64 2C 20 74 68 65 20 31 35 34 31 27 73 20 65 72 |d, the 1541's er|
00000C00: 72 6F 72 20 68 61 6E 64 6C 69 6E 67 20 72 6F 75 |ror handling rou|
00000C10: 74 69 6E 65 73 20 72 65 70 6C 61 63 65 20 74 68 |tines replace th|
00000C20: 65 20 63 6F 6D 6D 61 6E 64 20 63 6F 64 65 20 77 |e command code w|
00000C30: 69 74 68 20 61 6E 20 65 72 72 6F 72 20 63 6F 64 |ith an error cod|
00000C40: 65 2E 20 49 66 20 61 20 72 65 61 64 20 6F 66 20 |e. If a read of |
00000C50: 74 72 61 63 6B 20 23 24 31 31 2C 20 73 65 63 74 |track #$11, sect|
00000C60: 6F 72 20 23 24 30 30 20 77 61 73 20 73 70 65 63 |or #$00 was spec|
00000C70: 69 66 69 65 64 2C 20 61 6E 64 20 74 68 65 20 72 |ified, and the r|
00000C80: 65 61 64 20 77 61 73 20 65 78 65 63 75 74 65 64 |ead was executed|
00000C90: 20 70 72 6F 70 65 72 6C 79 2C 20 61 6E 20 23 24 | properly, an #$|
00000CA0: 30 31 20 77 6F 75 6C 64 20 72 65 70 61 6C 61 63 |01 would repalac|
00000CB0: 65 20 74 68 65 20 23 24 38 30 20 61 74 20 61 64 |e the #$80 at ad|
00000CC0: 72 65 73 73 20 24 30 30 30 30 2E 0D 0D 43 45 52 |ress $0000...CER|
00000CD0: 52 4F 52 20 43 4F 44 45 53 0D 0D 23 24 30 31 20 |ROR CODES..#$01 |
00000CE0: 4F 4B 0D 23 24 30 32 20 48 45 41 44 45 52 20 42 |OK.#$02 HEADER B|
00000CF0: 4C 4F 43 4B 20 4E 4F 54 20 46 4F 55 4E 44 0D 23 |LOCK NOT FOUND.#|
00000D00: 24 30 33 20 4E 4F 20 53 59 4E 43 20 4D 41 52 4B |$03 NO SYNC MARK|
00000D10: 20 46 4F 55 4E 44 0D 23 24 30 34 20 44 41 54 41 | FOUND.#$04 DATA|
00000D20: 20 42 4C 4F 43 4B 20 4E 4F 54 20 46 4F 55 4E 44 | BLOCK NOT FOUND|
00000D30: 0D 23 24 30 35 20 44 41 54 41 20 42 4C 4F 43 4B |.#$05 DATA BLOCK|
00000D40: 20 43 48 45 43 4B 53 55 4D 20 45 52 52 4F 52 0D | CHECKSUM ERROR.|
00000D50: 23 24 30 37 20 56 45 52 49 46 59 20 45 52 52 4F |#$07 VERIFY ERRO|
00000D60: 52 20 41 46 54 45 52 20 57 52 49 54 45 0D 23 24 |R AFTER WRITE.#$|
00000D70: 30 38 20 57 52 49 54 45 20 50 52 4F 54 45 43 54 |08 WRITE PROTECT|
00000D80: 20 45 52 52 4F 52 0D 23 24 30 39 20 48 45 41 44 | ERROR.#$09 HEAD|
00000D90: 45 52 20 43 48 45 43 4B 53 55 4D 20 45 52 52 4F |ER CHECKSUM ERRO|
00000DA0: 52 0D 23 24 30 61 20 42 4C 4F 43 4B 20 54 4F 4F |R.#$0a BLOCK TOO|
00000DB0: 20 4C 4F 4E 47 20 28 6D 6F 72 65 20 74 68 61 6E | LONG (more than|
00000DC0: 20 32 35 36 20 62 79 74 65 73 29 0D 23 24 30 62 | 256 bytes).#$0b|
00000DD0: 20 49 44 20 45 52 52 4F 52 0D 23 24 31 30 20 47 | ID ERROR.#$10 G|
00000DE0: 43 52 20 42 59 54 45 20 44 45 43 4F 44 45 20 45 |CR BYTE DECODE E|
00000DF0: 52 52 4F 52 0D 0D 20 20 20 20 20 54 68 65 72 65 |RROR.. There|
00000E00: 20 61 72 65 20 73 69 78 20 72 61 6D 20 62 75 66 | are six ram buf|
00000E10: 66 65 72 73 20 74 68 61 74 20 63 61 6E 20 62 65 |fers that can be|
00000E20: 20 75 73 65 64 20 77 69 74 68 20 64 69 72 65 63 | used with direc|
00000E30: 74 20 61 63 63 65 73 73 20 63 6F 6D 6D 61 6E 64 |t access command|
00000E40: 73 2E 0D 0D 43 4F 4D 4D 41 4E 44 20 42 55 46 46 |s...COMMAND BUFF|
00000E50: 45 52 20 20 20 20 20 20 20 20 20 20 52 41 4D 20 |ER RAM |
00000E60: 41 44 44 52 45 53 53 0D 0D 20 20 20 24 30 30 30 |ADDRESS.. $000|
00000E70: 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 |
00000E80: 20 24 30 33 30 30 2D 24 30 33 66 66 0D 20 20 20 | $0300-$03ff. |
00000E90: 24 30 30 30 31 20 20 20 20 20 20 20 20 20 20 20 |$0001 |
00000EA0: 20 20 20 20 20 24 30 34 30 30 2D 24 30 34 66 66 | $0400-$04ff|
00000EB0: 0D 20 20 20 24 30 30 30 32 20 20 20 20 20 20 20 |. $0002 |
00000EC0: 20 20 20 20 20 20 20 20 20 24 30 35 30 30 2D 24 | $0500-$|
00000ED0: 30 35 66 66 0D 20 20 20 24 30 30 30 33 20 20 20 |05ff. $0003 |
00000EE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 24 30 36 | $06|
00000EF0: 30 30 2D 24 30 36 66 66 0D 20 20 20 24 30 30 30 |00-$06ff. $000|
00000F00: 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |4 |
00000F10: 20 24 30 37 30 30 2D 24 30 37 66 66 0D 0D 20 20 | $0700-$07ff.. |
00000F20: 20 20 20 54 68 65 73 65 20 72 61 6D 20 62 75 66 | These ram buf|
00000F30: 66 65 72 73 20 63 61 6E 20 62 65 20 75 73 65 64 |fers can be used|
00000F40: 20 74 6F 20 68 6F 6C 64 20 64 61 74 61 20 72 65 | to hold data re|
00000F50: 61 64 20 66 72 6F 6D 20 74 68 65 20 64 69 73 6B |ad from the disk|
00000F60: 2C 20 74 6F 20 68 6F 6C 64 20 64 61 74 61 20 74 |, to hold data t|
00000F70: 6F 20 62 65 20 77 72 69 74 74 65 6E 20 74 6F 20 |o be written to |
00000F80: 74 68 65 20 64 69 73 6B 2C 20 6F 72 20 68 6F 6C |the disk, or hol|
00000F90: 64 20 61 6E 20 6D 61 63 68 69 6E 65 20 6C 61 6E |d an machine lan|
00000FA0: 67 75 61 67 65 20 72 6F 75 74 69 6E 65 20 74 6F |guage routine to|
00000FB0: 20 62 65 20 65 78 65 63 75 74 65 64 20 62 79 20 | be executed by |
00000FC0: 74 68 65 20 64 69 73 6B 2E 0D 0D 43 31 35 34 31 |the disk...C1541|
00000FD0: 20 46 4F 52 4D 41 54 54 49 4E 47 0D 0D 20 20 20 | FORMATTING.. |
00000FE0: 20 20 57 68 65 6E 20 74 68 65 20 64 72 69 76 65 | When the drive|
00000FF0: 20 66 6F 72 6D 61 74 73 20 61 20 64 69 73 6B 2C | formats a disk,|
00001000: 20 63 65 72 74 61 69 6E 20 64 61 74 61 20 69 73 | certain data is|
00001010: 20 77 72 69 74 74 65 6E 20 74 6F 20 65 61 63 68 | written to each|
00001020: 20 73 65 63 74 6F 72 20 61 6E 64 20 74 72 61 63 | sector and trac|
00001030: 6B 2E 20 54 68 65 79 20 61 72 65 20 63 61 6C 6C |k. They are call|
00001040: 65 64 20 68 65 61 64 65 72 73 2E 20 54 68 69 73 |ed headers. This|
00001050: 20 69 73 20 74 68 65 20 64 61 74 61 20 72 65 71 | is the data req|
00001060: 75 69 72 65 64 20 62 79 20 72 6F 6D 20 72 6F 75 |uired by rom rou|
00001070: 74 69 6E 65 73 20 74 6F 20 6B 6E 6F 77 20 77 68 |tines to know wh|
00001080: 65 72 65 20 69 74 20 69 73 2E 20 54 68 69 73 20 |ere it is. This |
00001090: 68 65 61 64 65 72 20 69 6E 66 6F 72 6D 61 74 69 |header informati|
000010A0: 6F 6E 20 69 73 20 6E 6F 74 20 69 73 20 73 75 70 |on is not is sup|
000010B0: 70 6F 73 65 64 20 74 6F 20 62 65 20 73 65 65 6E |posed to be seen|
000010C0: 20 62 79 20 74 68 65 20 72 6F 6D 20 72 6F 75 74 | by the rom rout|
000010D0: 69 6E 65 73 20 6F 6E 6C 79 2E 20 42 75 74 20 61 |ines only. But a|
000010E0: 73 20 79 6F 75 20 77 69 6C 6C 20 73 65 65 20 74 |s you will see t|
000010F0: 68 65 72 65 20 69 73 20 61 20 77 61 79 20 66 6F |here is a way fo|
00001100: 72 20 75 73 20 74 6F 20 72 65 61 64 20 69 74 20 |r us to read it |
00001110: 61 6C 73 6F 2E 0D 0D 20 20 20 20 20 41 20 74 72 |also... A tr|
00001120: 61 63 6B 20 68 65 61 64 65 72 20 69 73 20 6D 61 |ack header is ma|
00001130: 64 65 20 75 70 20 6F 66 20 73 65 76 65 6E 20 62 |de up of seven b|
00001140: 79 74 65 73 2E 20 54 68 65 79 20 61 72 65 20 61 |ytes. They are a|
00001150: 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0D 42 59 54 45 |s follows:..BYTE|
00001160: 20 4E 55 4D 42 45 52 20 20 20 20 20 20 20 20 20 | NUMBER |
00001170: 20 20 20 46 55 4E 43 54 49 4F 4E 0D 0D 20 20 20 | FUNCTION.. |
00001180: 23 24 30 30 20 20 20 20 20 20 20 20 20 20 20 20 |#$00 |
00001190: 20 20 20 20 53 59 4E 43 20 4D 41 52 4B 0D 20 20 | SYNC MARK. |
000011A0: 20 23 24 30 31 20 20 20 20 20 20 20 20 20 20 20 | #$01 |
000011B0: 20 20 20 20 20 48 45 41 44 45 52 20 49 44 0D 20 | HEADER ID. |
000011C0: 20 20 23 24 30 32 20 20 20 20 20 20 20 20 20 20 | #$02 |
000011D0: 20 20 20 20 20 20 43 48 45 43 4B 53 55 4D 0D 20 | CHECKSUM. |
000011E0: 20 20 23 24 30 33 20 20 20 20 20 20 20 20 20 20 | #$03 |
000011F0: 20 20 20 20 20 20 53 45 43 54 4F 52 20 23 0D 20 | SECTOR #. |
00001200: 20 20 23 24 30 34 20 20 20 20 20 20 20 20 20 20 | #$04 |
00001210: 20 20 20 20 20 20 54 52 41 43 4B 20 23 0D 20 20 | TRACK #. |
00001220: 20 23 24 30 35 20 20 20 20 20 20 20 20 20 20 20 | #$05 |
00001230: 20 20 20 20 20 49 44 0D 20 20 20 23 24 30 36 20 | ID. #$06 |
00001240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 | I|
00001250: 44 0D 0D 20 20 20 20 20 41 20 73 65 63 74 6F 72 |D.. A sector|
00001260: 20 68 65 61 64 65 72 20 69 73 20 6D 61 64 65 20 | header is made |
00001270: 75 70 20 6F 66 20 61 20 73 79 6E 63 20 6D 61 72 |up of a sync mar|
00001280: 6B 2C 20 61 6E 64 20 61 6E 20 69 64 20 62 79 74 |k, and an id byt|
00001290: 65 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 32 35 |e followed by 25|
000012A0: 36 20 62 79 74 65 73 20 6F 66 20 64 61 74 61 2E |6 bytes of data.|
000012B0: 20 41 66 74 65 72 20 74 68 65 20 32 35 36 20 64 | After the 256 d|
000012C0: 61 74 61 20 62 79 74 65 73 20 69 73 20 74 68 65 |ata bytes is the|
000012D0: 20 63 68 65 63 6B 73 75 6D 20 66 6F 72 20 74 68 | checksum for th|
000012E0: 61 74 20 73 65 63 74 6F 72 2E 0D 0D 20 20 20 20 |at sector... |
000012F0: 20 43 68 65 63 6B 20 73 75 6D 73 20 61 72 65 20 | Check sums are |
00001300: 63 61 6C 63 75 6C 61 74 65 64 20 62 79 20 65 78 |calculated by ex|
00001310: 63 6C 75 73 69 76 65 20 6F 72 69 6E 67 20 61 6C |clusive oring al|
00001320: 6C 20 62 79 74 65 73 20 74 6F 67 65 74 68 65 72 |l bytes together|
00001330: 2E 0D 0D 20 20 20 20 20 4D 61 6E 69 70 75 6C 61 |... Manipula|
00001340: 74 69 6E 67 20 74 68 69 73 20 68 65 61 64 65 72 |ting this header|
00001350: 20 64 61 74 61 20 69 73 20 74 68 65 20 62 61 73 | data is the bas|
00001360: 69 73 20 66 6F 72 20 70 72 6F 74 65 63 74 69 6F |is for protectio|
00001370: 6E 20 73 63 68 65 6D 65 73 2E 20 49 66 20 49 20 |n schemes. If I |
00001380: 63 68 61 6E 67 65 20 74 68 65 20 68 65 61 64 65 |change the heade|
00001390: 72 20 69 6E 66 6F 20 6F 6E 20 74 72 61 63 6B 20 |r info on track |
000013A0: 23 24 30 38 20 74 6F 20 72 65 61 64 20 74 72 61 |#$08 to read tra|
000013B0: 63 6B 20 23 24 32 33 2C 20 74 68 65 6E 20 74 68 |ck #$23, then th|
000013C0: 65 20 64 69 73 6B 20 77 69 6C 6C 20 6E 6F 74 20 |e disk will not |
000013D0: 62 65 20 61 62 6C 65 20 74 6F 20 66 69 6E 64 20 |be able to find |
000013E0: 74 72 61 63 6B 20 23 24 30 38 2E 20 54 68 65 20 |track #$08. The |
000013F0: 72 6F 6D 20 72 6F 75 74 69 6E 65 20 74 6F 20 73 |rom routine to s|
00001400: 74 65 70 20 74 68 65 20 68 65 61 64 20 77 69 6C |tep the head wil|
00001410: 6C 20 73 74 65 70 20 74 6F 20 74 72 61 63 6B 20 |l step to track |
00001420: 23 24 30 38 2C 20 62 75 74 20 74 68 65 20 72 6F |#$08, but the ro|
00001430: 6D 20 72 6F 75 74 69 6E 65 20 74 68 61 74 20 72 |m routine that r|
00001440: 65 61 64 73 20 74 68 65 20 68 65 61 64 65 72 20 |eads the header |
00001450: 69 6E 66 6F 20 77 69 6C 6C 20 66 69 6E 64 20 74 |info will find t|
00001460: 72 61 63 6B 20 23 24 32 33 2C 20 61 6E 64 20 61 |rack #$23, and a|
00001470: 6E 20 65 72 72 6F 72 20 77 69 6C 6C 20 74 65 72 |n error will ter|
00001480: 6D 69 6E 61 74 65 20 74 68 65 20 72 65 61 64 20 |minate the read |
00001490: 72 6F 75 74 69 6E 65 2E 20 54 68 69 73 20 69 73 |routine. This is|
000014A0: 20 65 76 65 6E 20 74 72 75 65 20 6F 66 20 64 69 | even true of di|
000014B0: 72 65 63 74 20 61 63 63 65 73 73 2C 20 73 6F 20 |rect access, so |
000014C0: 61 20 62 65 74 74 65 72 20 77 61 79 20 68 61 73 |a better way has|
000014D0: 20 74 6F 20 62 65 20 66 6F 75 6E 64 2E 20 59 6F | to be found. Yo|
000014E0: 75 20 63 61 6E 20 73 65 65 20 68 6F 77 20 69 74 |u can see how it|
000014F0: 20 69 73 20 61 63 63 6F 6D 70 6C 69 73 68 65 64 | is accomplished|
00001500: 20 69 6E 20 74 68 65 20 72 6F 75 74 69 6E 65 20 | in the routine |
00001510: 72 65 61 64 20 74 72 61 63 6B 2E 0D 0D 43 47 52 |read track...CGR|
00001520: 4F 55 50 20 43 4F 44 45 20 52 45 43 4F 52 44 49 |OUP CODE RECORDI|
00001530: 4E 47 0D 0D 20 20 20 20 20 52 65 66 65 72 65 64 |NG.. Refered|
00001540: 20 74 6F 20 61 73 20 47 43 52 2C 20 69 73 20 43 | to as GCR, is C|
00001550: 6F 6D 6D 6F 64 6F 72 73 20 77 61 79 20 6F 66 20 |ommodors way of |
00001560: 69 6E 73 75 72 69 6E 67 20 65 72 72 6F 72 20 66 |insuring error f|
00001570: 72 65 65 20 72 65 61 64 73 20 61 6E 64 20 77 72 |ree reads and wr|
00001580: 69 74 65 73 2E 20 57 68 61 74 20 69 74 20 64 6F |ites. What it do|
00001590: 65 73 20 69 73 20 63 68 61 6E 67 65 20 61 6E 20 |es is change an |
000015A0: 65 69 67 68 74 20 62 69 74 20 62 79 74 65 20 74 |eight bit byte t|
000015B0: 6F 20 61 6E 20 74 65 6E 20 62 69 74 20 62 79 74 |o an ten bit byt|
000015C0: 65 20 6F 6E 20 61 20 77 72 69 74 65 2E 20 4F 6E |e on a write. On|
000015D0: 20 61 20 72 65 61 64 20 74 68 65 20 74 65 6E 20 | a read the ten |
000015E0: 62 69 74 20 62 79 74 65 73 20 61 72 65 20 63 6F |bit bytes are co|
000015F0: 6E 76 65 72 74 65 64 20 62 61 63 6B 20 74 6F 20 |nverted back to |
00001600: 65 69 67 68 74 20 62 69 74 20 62 79 74 65 73 2E |eight bit bytes.|
00001610: 0D 0D 20 20 20 20 20 57 68 65 6E 20 65 69 67 68 |.. When eigh|
00001620: 74 20 62 69 74 20 62 79 74 65 73 20 61 72 65 20 |t bit bytes are |
00001630: 63 6F 6E 76 65 72 74 65 64 20 74 6F 20 74 65 6E |converted to ten|
00001640: 20 62 69 74 20 62 79 74 65 73 2C 20 6E 6F 6E 65 | bit bytes, none|
00001650: 20 6F 66 20 74 68 65 6D 20 77 69 6C 6C 20 62 65 | of them will be|
00001660: 20 61 6E 20 23 24 66 66 2E 20 54 68 69 73 20 62 | an #$ff. This b|
00001670: 79 74 65 20 69 73 20 72 65 73 65 72 76 65 64 20 |yte is reserved |
00001680: 74 6F 20 69 6E 64 69 63 61 74 65 20 61 20 73 79 |to indicate a sy|
00001690: 6E 63 20 6D 61 72 6B 2E 20 41 20 73 79 6E 63 20 |nc mark. A sync |
000016A0: 6D 61 72 6B 20 70 72 65 63 65 65 64 73 20 61 6E |mark preceeds an|
000016B0: 20 68 65 61 64 65 72 2E 20 54 68 69 73 20 69 73 | header. This is|
000016C0: 20 68 6F 77 20 74 68 65 20 64 72 69 76 65 20 6B | how the drive k|
000016D0: 6E 6F 77 73 20 74 68 61 74 20 64 61 74 61 20 68 |nows that data h|
000016E0: 6F 6C 64 69 6E 67 20 74 68 65 20 74 72 61 63 6B |olding the track|
000016F0: 20 61 6E 64 20 73 65 63 74 6F 72 20 69 74 20 69 | and sector it i|
00001700: 73 20 6F 6E 20 69 73 20 74 6F 20 66 6F 6C 6C 6F |s on is to follo|
00001710: 77 2E 0D 0D 20 20 20 20 20 49 20 75 73 65 20 47 |w... I use G|
00001720: 43 52 20 64 65 63 6F 64 69 6E 67 20 74 6F 20 72 |CR decoding to r|
00001730: 65 61 64 20 64 61 74 61 20 66 72 6F 6D 20 74 72 |ead data from tr|
00001740: 61 63 6B 73 20 61 6E 64 20 73 65 63 74 6F 72 73 |acks and sectors|
00001750: 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6E 20 | that have been |
00001760: 70 72 6F 74 65 63 74 65 64 2E 20 28 43 68 61 6E |protected. (Chan|
00001770: 67 65 64 20 66 72 6F 6D 20 77 68 61 74 20 74 68 |ged from what th|
00001780: 65 79 20 73 68 6F 75 6C 64 20 62 65 2E 29 0D 0D |ey should be.)..|
00001790: 20 20 20 20 20 49 66 20 79 6F 75 20 66 6F 6C 6C | If you foll|
000017A0: 6F 77 20 74 68 65 20 64 6F 63 75 6D 65 6E 74 61 |ow the documenta|
000017B0: 74 69 6F 6E 20 77 69 74 68 69 6E 20 74 68 65 20 |tion within the |
000017C0: 73 6F 75 72 63 65 20 63 6F 64 65 2C 20 79 6F 75 |source code, you|
000017D0: 20 73 68 6F 75 6C 64 20 68 61 76 65 20 6C 69 74 | should have lit|
000017E0: 74 6C 65 20 70 72 6F 62 6C 65 6D 73 20 75 6E 64 |tle problems und|
000017F0: 65 72 73 74 61 6E 64 69 6E 67 20 74 68 65 20 72 |erstanding the r|
00001800: 6F 75 74 69 6E 65 73 2E 0D 0D 20 20 20 20 20 41 |outines... A|
00001810: 6C 6C 20 6F 66 20 74 68 65 20 72 6F 75 74 69 6E |ll of the routin|
00001820: 65 73 20 75 73 65 20 64 69 72 65 63 74 20 61 63 |es use direct ac|
00001830: 63 65 73 73 20 63 6F 6D 6D 61 6E 64 73 20 74 6F |cess commands to|
00001840: 20 66 75 6E 63 74 69 6F 6E 2E 20 54 68 65 79 20 | function. They |
00001850: 61 72 65 20 4D 45 4D 4F 52 59 20 52 45 41 44 2C |are MEMORY READ,|
00001860: 20 28 4D 2D 57 29 2C 20 4D 45 4D 4F 52 59 20 57 | (M-W), MEMORY W|
00001870: 52 49 54 45 2C 20 28 4D 2D 45 29 2C 20 61 6E 64 |RITE, (M-E), and|
00001880: 20 4D 45 4D 4F 52 59 20 45 58 45 43 55 54 45 2C | MEMORY EXECUTE,|
00001890: 20 28 4D 2D 45 29 2E 20 54 68 65 20 73 74 61 6E | (M-E). The stan|
000018A0: 64 61 72 64 20 6F 70 65 6E 20 61 6E 64 20 63 6C |dard open and cl|
000018B0: 6F 73 65 20 72 6F 75 74 69 6E 65 73 20 79 6F 75 |ose routines you|
000018C0: 20 61 72 65 20 75 73 65 64 20 74 6F 20 77 69 6C | are used to wil|
000018D0: 6C 20 6E 6F 74 20 77 6F 72 6B 20 77 69 74 68 20 |l not work with |
000018E0: 70 72 6F 74 65 63 74 69 6F 6E 20 76 65 72 79 20 |protection very |
000018F0: 77 65 6C 6C 2E 0D 0D 20 20 20 20 20 4F 6E 65 20 |well... One |
00001900: 6E 6F 74 65 20 68 65 72 65 20 6F 6E 20 74 68 65 |note here on the|
00001910: 20 73 65 63 6F 6E 64 61 72 79 20 61 64 64 72 65 | secondary addre|
00001920: 73 73 65 73 20 75 73 65 64 20 62 79 20 74 68 65 |sses used by the|
00001930: 73 65 20 63 6F 6D 6D 61 6E 64 73 2E 20 49 74 20 |se commands. It |
00001940: 69 73 20 77 72 69 74 74 65 6E 20 74 68 61 74 20 |is written that |
00001950: 74 68 65 79 20 73 68 6F 75 6C 64 20 73 74 61 72 |they should star|
00001960: 74 20 77 69 74 68 20 61 6E 20 23 24 30 36 2C 20 |t with an #$06, |
00001970: 69 65 2C 20 23 24 36 66 20 66 6F 72 20 74 68 65 |ie, #$6f for the|
00001980: 20 63 6F 6D 6D 61 6E 64 20 63 68 61 6E 6E 65 6C | command channel|
00001990: 2E 20 54 68 69 73 20 69 73 20 6E 6F 74 20 74 72 |. This is not tr|
000019A0: 75 65 2C 20 61 73 20 74 68 65 20 72 6F 6D 20 72 |ue, as the rom r|
000019B0: 6F 75 74 69 6E 65 20 74 68 61 74 20 72 65 61 64 |outine that read|
000019C0: 73 20 74 68 69 73 20 73 65 63 6F 6E 64 61 72 79 |s this secondary|
000019D0: 20 61 64 64 72 65 73 73 20 73 74 72 69 70 73 20 | address strips |
000019E0: 6F 66 20 74 68 65 20 68 69 67 68 20 66 6F 75 72 |of the high four|
000019F0: 20 62 69 74 20 6E 69 62 62 6C 65 20 6F 66 20 74 | bit nibble of t|
00001A00: 68 65 20 6E 75 6D 62 65 72 2E 20 41 6E 20 23 24 |he number. An #$|
00001A10: 66 66 2C 20 6F 72 20 23 24 32 66 20 77 69 6C 6C |ff, or #$2f will|
00001A20: 20 77 6F 72 6B 20 6A 75 73 74 20 61 73 20 77 65 | work just as we|
00001A30: 6C 6C 2E 0D 0D 20 20 20 20 20 41 6C 6C 20 74 68 |ll... All th|
00001A40: 65 20 72 6F 75 74 69 6E 65 73 20 61 72 65 20 73 |e routines are s|
00001A50: 65 6C 66 20 65 78 70 6C 61 6E 61 74 6F 72 79 20 |elf explanatory |
00001A60: 65 78 63 65 70 74 20 66 6F 72 20 52 45 41 44 20 |except for READ |
00001A70: 54 52 41 43 4B 2E 20 54 68 69 73 20 72 6F 75 74 |TRACK. This rout|
00001A80: 69 6E 65 20 72 65 61 64 73 20 74 68 72 75 20 65 |ine reads thru e|
00001A90: 72 72 6F 72 73 20 61 6E 64 20 73 74 6F 72 65 73 |rrors and stores|
00001AA0: 20 74 68 65 20 64 61 74 61 20 69 6E 20 74 68 65 | the data in the|
00001AB0: 20 36 34 27 73 20 6D 65 6D 6F 72 79 20 69 6E 20 | 64's memory in |
00001AC0: 47 43 52 20 66 6F 72 6D 2E 0D 0D 20 20 20 20 20 |GCR form... |
00001AD0: 49 74 20 72 65 61 64 73 20 68 61 6C 66 20 74 72 |It reads half tr|
00001AE0: 61 63 6B 73 2C 20 61 6E 64 20 74 72 61 63 6B 73 |acks, and tracks|
00001AF0: 20 75 70 20 74 6F 20 66 6F 72 74 79 20 66 6F 75 | up to forty fou|
00001B00: 72 2C 20 72 65 61 64 73 20 69 6E 20 61 6E 79 20 |r, reads in any |
00001B10: 6F 66 20 74 68 65 20 66 6F 75 72 20 64 65 6E 73 |of the four dens|
00001B20: 69 74 69 65 73 20 61 76 61 69 6C 61 62 6C 65 2C |ities available,|
00001B30: 20 61 6E 64 20 73 74 6F 72 65 73 20 74 68 65 20 | and stores the |
00001B40: 68 65 61 64 65 72 20 64 61 74 61 20 66 6F 72 20 |header data for |
00001B50: 74 68 65 20 74 72 61 63 6B 20 61 6C 73 6F 2E 0D |the track also..|
00001B60: 0D 20 20 20 20 20 54 6F 20 75 73 65 2C 20 66 72 |. To use, fr|
00001B70: 6F 6D 20 61 20 6D 2F 6C 20 6D 6F 6E 69 74 6F 72 |om a m/l monitor|
00001B80: 20 47 20 37 30 30 30 2E 20 45 6E 74 65 72 20 74 | G 7000. Enter t|
00001B90: 68 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 61 |he information a|
00001BA0: 6E 64 20 74 68 65 20 72 6F 75 74 69 6E 65 20 77 |nd the routine w|
00001BB0: 69 6C 6C 20 65 78 65 63 75 74 65 2E 0D 0D 20 20 |ill execute... |
00001BC0: 20 20 20 54 68 65 20 66 69 72 73 74 20 74 68 69 | The first thi|
00001BD0: 6E 67 20 79 6F 75 20 77 69 6C 6C 20 73 65 65 20 |ng you will see |
00001BE0: 61 72 65 20 74 68 65 20 65 72 72 6F 72 20 63 6F |are the error co|
00001BF0: 64 65 73 20 66 6F 72 20 65 61 63 68 20 73 65 63 |des for each sec|
00001C00: 74 6F 72 20 6F 6E 20 74 68 65 20 74 72 61 63 6B |tor on the track|
00001C10: 2E 20 57 68 65 6E 20 74 68 65 20 72 6F 75 74 69 |. When the routi|
00001C20: 6E 65 20 65 6E 64 73 20 74 68 65 20 64 61 74 61 |ne ends the data|
00001C30: 20 69 73 20 72 65 61 64 79 20 74 6F 20 62 65 20 | is ready to be |
00001C40: 63 6F 6E 76 65 72 74 65 64 20 66 72 6F 6D 20 47 |converted from G|
00001C50: 43 52 20 74 6F 20 62 69 6E 61 72 79 2C 20 28 68 |CR to binary, (h|
00001C60: 65 78 29 2E 0D 0D 20 20 20 20 20 54 6F 20 64 6F |ex)... To do|
00001C70: 20 74 68 69 73 20 79 6F 75 20 6D 75 73 74 20 74 | this you must t|
00001C80: 72 61 6E 73 66 65 72 20 74 68 65 20 64 61 74 61 |ransfer the data|
00001C90: 20 74 6F 20 74 68 65 20 47 43 52 20 62 75 66 66 | to the GCR buff|
00001CA0: 65 72 20 61 74 20 24 37 62 30 30 2E 20 54 72 61 |er at $7b00. Tra|
00001CB0: 6E 73 65 72 20 74 77 6F 20 62 6C 6F 63 6B 73 20 |nser two blocks |
00001CC0: 6F 66 20 64 61 74 61 20 61 74 20 61 20 74 69 6D |of data at a tim|
00001CD0: 65 2C 20 69 65 2E 20 54 20 31 30 30 30 20 31 31 |e, ie. T 1000 11|
00001CE0: 66 66 20 37 62 30 30 2E 0D 0D 20 20 20 20 20 54 |ff 7b00... T|
00001CF0: 79 70 65 20 47 20 37 32 30 30 20 5B 72 65 74 75 |ype G 7200 [retu|
00001D00: 72 6E 5D 0D 0D 20 20 20 20 20 54 68 65 6E 20 64 |rn].. Then d|
00001D10: 69 73 70 6C 61 79 20 6D 65 6D 6F 72 79 20 66 72 |isplay memory fr|
00001D20: 6F 6D 20 24 37 39 30 30 20 74 6F 20 73 65 65 20 |om $7900 to see |
00001D30: 74 68 65 20 63 6F 6E 76 65 72 74 65 64 20 64 61 |the converted da|
00001D40: 74 61 2E 20 57 68 69 63 68 20 77 69 6C 6C 20 69 |ta. Which will i|
00001D50: 6E 63 6C 75 64 65 20 74 68 65 20 68 65 61 64 65 |nclude the heade|
00001D60: 72 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 49 |r information. I|
00001D70: 20 73 75 67 67 65 73 74 20 79 6F 75 20 77 6F 72 | suggest you wor|
00001D80: 6B 20 77 69 74 68 20 6E 6F 72 6D 61 6C 6C 79 20 |k with normally |
00001D90: 66 6F 72 6D 61 74 74 65 64 20 64 69 73 6B 73 20 |formatted disks |
00001DA0: 75 6E 74 69 6C 20 79 6F 75 20 67 65 74 20 74 68 |until you get th|
00001DB0: 65 20 68 61 6E 67 20 6F 66 20 69 74 2E 0D 0D 20 |e hang of it... |
00001DC0: 20 20 20 20 54 68 65 20 68 65 61 64 65 72 20 69 | The header i|
00001DD0: 6E 66 6F 72 6D 61 74 69 6F 6E 20 66 6F 72 20 74 |nformation for t|
00001DE0: 68 65 20 74 72 61 63 6B 20 72 65 61 64 20 77 69 |he track read wi|
00001DF0: 6C 6C 20 62 65 20 69 6E 20 73 65 71 75 65 6E 63 |ll be in sequenc|
00001E00: 65 20 73 74 61 72 74 69 6E 67 20 61 74 20 24 37 |e starting at $7|
00001E10: 66 30 30 2E 0D 0D 20 20 20 20 20 49 20 68 61 76 |f00... I hav|
00001E20: 65 20 61 6C 73 6F 20 61 64 64 65 64 20 61 20 66 |e also added a f|
00001E30: 65 77 20 75 74 69 6C 69 74 79 20 72 6F 75 74 69 |ew utility routi|
00001E40: 6E 65 73 20 74 68 61 74 20 6D 69 67 68 74 20 62 |nes that might b|
00001E50: 65 20 6F 66 20 69 6E 74 65 72 65 73 74 2C 20 73 |e of interest, s|
00001E60: 75 63 68 20 61 73 20 61 73 63 69 69 20 74 6F 20 |uch as ascii to |
00001E70: 68 65 78 20 63 6F 6E 76 65 72 73 69 6F 6E 2C 20 |hex conversion, |
00001E80: 62 69 6E 61 72 79 2C 20 61 6E 64 20 74 68 65 20 |binary, and the |
00001E90: 6C 69 6B 65 2E 0D 0D 20 20 20 20 20 54 68 65 20 |like... The |
00001EA0: 28 2E 4D 29 20 69 6E 20 74 68 65 20 73 6F 75 72 |(.M) in the sour|
00001EB0: 63 65 20 63 6F 64 65 20 69 73 20 66 72 6F 6D 20 |ce code is from |
00001EC0: 6D 79 20 6F 77 6E 20 76 65 72 73 69 6F 6E 20 6F |my own version o|
00001ED0: 66 20 4C 41 44 53 2C 20 77 68 69 63 68 20 77 69 |f LADS, which wi|
00001EE0: 6C 6C 20 61 73 73 65 6D 62 6C 65 20 69 6E 20 62 |ll assemble in b|
00001EF0: 69 6E 61 72 79 2C 20 61 6E 64 20 61 73 73 65 6D |inary, and assem|
00001F00: 62 6C 65 20 61 6C 6C 20 32 35 36 20 6F 70 2D 63 |ble all 256 op-c|
00001F10: 6F 64 65 73 20 61 76 61 69 6C 61 62 6C 65 20 6F |odes available o|
00001F20: 6E 20 74 68 65 20 36 35 58 58 20 63 68 69 70 2E |n the 65XX chip.|
00001F30: 20 43 68 61 6E 67 65 20 74 68 65 20 28 2E 4D 29 | Change the (.M)|
00001F40: 20 74 6F 20 61 20 28 2E 4F 29 20 66 6F 72 20 61 | to a (.O) for a|
00001F50: 73 73 65 6D 62 6C 65 20 74 6F 20 6D 65 6D 6F 72 |ssemble to memor|
00001F60: 79 2E 0D 0D 20 20 20 20 20 49 66 20 79 6F 75 20 |y... If you |
00001F70: 61 72 65 20 69 6E 74 65 72 65 73 74 65 64 20 69 |are interested i|
00001F80: 6E 20 74 68 65 20 6D 6F 64 69 66 69 63 61 74 69 |n the modificati|
00001F90: 6F 6E 73 20 74 6F 20 4C 41 44 53 2C 20 73 65 6E |ons to LADS, sen|
00001FA0: 64 20 61 20 63 68 65 63 6B 20 66 6F 72 20 24 31 |d a check for $1|
00001FB0: 35 2E 30 30 2C 20 61 6E 64 20 61 20 62 6C 61 6E |5.00, and a blan|
00001FC0: 6B 20 64 69 73 6B 20 74 6F 3A 0D 0D 43 43 68 75 |k disk to:..CChu|
00001FD0: 63 6B 20 4C 65 20 4D 69 65 75 78 0D 43 31 36 34 |ck Le Mieux.C164|
00001FE0: 20 4A 61 63 6B 73 6F 6E 20 41 76 2E 0D 43 41 6C | Jackson Av..CAl|
00001FF0: 6C 65 6E 73 74 6F 77 6E 2C 20 4E 2E 48 2E 20 30 |lenstown, N.H. 0|
00002000: 33 32 37 35 0D 0D 20 20 20 20 20 49 20 77 69 6C |3275.. I wil|
00002010: 6C 20 73 65 6E 64 20 79 6F 75 20 61 20 73 65 71 |l send you a seq|
00002020: 75 65 6E 74 69 61 6C 20 66 69 6C 65 20 66 6F 72 |uential file for|
00002030: 20 61 6C 6C 20 6D 6F 64 69 66 69 63 61 74 69 6F | all modificatio|
00002040: 6E 73 20 49 20 68 61 76 65 20 6D 61 64 65 20 74 |ns I have made t|
00002050: 6F 20 64 61 74 65 2C 20 69 6E 63 6C 75 64 69 6E |o date, includin|
00002060: 67 20 74 68 65 20 66 69 78 20 66 6F 72 20 74 68 |g the fix for th|
00002070: 65 20 72 61 6D 20 61 73 73 65 6D 62 6C 65 72 2E |e ram assembler.|
00002080: 0D 79 2C 20 61 6E 64 20 74 68 65 20 6C 69 6B 65 |.y, and the like|
00002090: 2E 0D 0D 20 20 20 20 20 54 68 65 20 28 2E 4D 29 |... The (.M)|
000020A0: 20 69 6E 20 74 68 65 20 73 6F 75 72 63 65 20 63 | in the source c|
000020B0: 6F 64 65 20 69 73 20 66 72 6F 6D 20 6D 79 01 08 |ode is from my..|
000020C0: 0E 08 0A 00 AC B2 20 24 37 31 30 30 00 15 08 14 |...... $7100....|
000020D0: 00 2E 53 00 4C 08 32 00 3B 87 20 48 45 41 44 45 |..S.L.2.;. HEADE|
000020E0: 52 20 52 4F 55 54 49 4E 45 20 44 45 53 49 47 4E |R ROUTINE DESIGN|
000020F0: 45 44 20 A4 20 87 20 47 43 52 20 83 20 49 4E 54 |ED . . GCR . INT|
00002100: 4F 20 31 35 34 31 20 52 41 4D 00 8A 08 3C 00 3B |O 1541 RAM...<.;|
00002110: 41 46 54 45 52 20 54 52 41 4E 53 46 45 52 20 A4 |AFTER TRANSFER .|
00002120: 20 36 34 20 52 41 4D 20 47 43 52 20 52 4F 55 54 | 64 RAM GCR ROUT|
00002130: 49 4E 45 20 57 49 4C 4C 20 43 91 56 45 52 54 20 |INE WILL C.VERT |
00002140: 49 54 20 A4 20 48 45 58 00 A3 08 64 00 3B 36 34 |IT . HEX...d.;64|
00002150: 20 52 4F 4D 20 52 4F 55 54 49 4E 45 53 20 4E 91 | ROM ROUTINES N.|
00002160: 45 00 BA 08 78 00 3B 31 35 34 31 20 52 4F 4D 20 |E...x.;1541 ROM |
00002170: 52 4F 55 54 49 4E 45 53 00 CB 08 8C 00 53 52 43 |ROUTINES.....SRC|
00002180: 48 20 B2 20 24 46 35 31 30 00 DC 08 96 00 53 59 |H . $F510.....SY|
00002190: 4E 43 20 B2 20 24 46 35 35 36 00 EC 08 A0 00 47 |NC . $F556.....G|
000021A0: 43 52 20 B2 20 24 31 43 30 31 00 FC 08 AA 00 4F |CR . $1C01.....O|
000021B0: 46 46 20 B2 20 24 46 39 36 39 00 2F 09 BE 00 3B |FF . $F969./...;|
000021C0: 54 48 49 53 20 52 4F 55 54 49 4E 45 20 49 53 20 |THIS ROUTINE IS |
000021D0: 45 58 45 43 55 54 45 44 20 49 4E 20 54 48 45 20 |EXECUTED IN THE |
000021E0: 31 35 34 31 20 41 54 20 24 30 33 30 30 00 6F 09 |1541 AT $0300.o.|
000021F0: C8 00 3B 54 48 45 20 52 4F 55 54 49 4E 45 20 43 |..;THE ROUTINE C|
00002200: 41 4E 20 42 45 20 50 55 54 20 B5 4F 20 54 48 45 |AN BE PUT .O THE|
00002210: 20 31 35 34 31 27 53 20 4D 45 4D B0 59 20 57 49 | 1541'S MEM.Y WI|
00002220: 54 48 20 41 20 36 34 AD 34 31 20 4D 91 00 AD 09 |TH A 64.41 M....|
00002230: DC 00 3B A4 20 8A 20 54 48 49 53 20 52 4F 55 54 |..;. . THIS ROUT|
00002240: 49 4E 45 20 50 55 54 20 54 52 41 43 4B 20 44 45 |INE PUT TRACK DE|
00002250: 53 49 52 45 44 20 41 54 20 24 30 36 20 AF 20 53 |SIRED AT $06 . S|
00002260: 45 43 A4 52 20 41 54 20 24 30 37 00 D6 09 E6 00 |EC.R AT $07.....|
00002270: 3B 50 55 54 20 23 24 45 30 20 28 45 58 45 43 55 |;PUT #$E0 (EXECU|
00002280: 54 45 29 20 41 54 20 24 30 30 20 AF 20 50 52 45 |TE) AT $00 . PRE|
00002290: 53 53 20 8E 00 E3 09 F0 00 4A 53 52 20 53 52 43 |SS ......JSR SRC|
000022A0: 48 00 F0 09 FA 00 4C 44 59 20 23 24 30 30 00 FC |H.....LDY #$00..|
000022B0: 09 04 01 4C 50 31 20 43 4C 56 00 08 0A 0E 01 92 |...LP1 CLV......|
000022C0: 20 42 56 43 20 92 00 10 0A 18 01 44 45 59 00 1C | BVC ......DEY..|
000022D0: 0A 22 01 42 4E 45 20 4C 50 31 00 29 0A 2C 01 4A |.".BNE LP1.).,.J|
000022E0: 53 52 20 53 59 4E 43 00 36 0A 36 01 4C 44 59 20 |SR SYNC.6.6.LDY |
000022F0: 23 24 30 30 00 44 0A 40 01 92 31 20 42 56 43 20 |#$00.D.@..1 BVC |
00002300: 92 31 00 4C 0A 4A 01 43 4C 56 00 58 0A 54 01 4C |.1.L.J.CLV.X.T.L|
00002310: 44 41 20 47 43 52 00 68 0A 5E 01 53 54 41 20 24 |DA GCR.h.^.STA $|
00002320: 30 34 30 30 2C 59 00 70 0A 68 01 49 4E 59 00 7B |0400,Y.p.h.INY.{|
00002330: 0A 72 01 42 4E 45 20 92 31 00 BE 0A 90 01 3B 53 |.r.BNE .1.....;S|
00002340: 52 43 48 20 52 4F 55 54 49 4E 45 20 4C 4F 4F 4B |RCH ROUTINE LOOK|
00002350: 53 20 81 20 4F 55 52 20 54 52 41 43 4B 20 AF 20 |S . OUR TRACK . |
00002360: 53 45 43 A4 52 20 57 45 20 50 55 54 20 41 54 20 |SEC.R WE PUT AT |
00002370: 24 30 36 20 AF 20 24 30 37 20 49 4E 00 04 0B 9A |$06 . $07 IN....|
00002380: 01 3B 5A 45 52 4F 20 50 41 47 45 20 4F 46 20 54 |.;ZERO PAGE OF T|
00002390: 48 45 20 31 35 34 31 20 54 48 45 20 56 20 46 4C |HE 1541 THE V FL|
000023A0: 41 47 20 49 53 20 53 45 54 20 45 56 45 52 59 20 |AG IS SET EVERY |
000023B0: 54 49 4D 45 20 41 20 A2 20 42 59 54 45 20 49 53 |TIME A . BYTE IS|
000023C0: 20 87 00 31 0B 9F 01 3B 48 45 4E 43 45 20 42 56 | ..1...;HENCE BV|
000023D0: 43 20 8B 20 4E 4F 20 42 59 54 45 20 48 41 53 20 |C . NO BYTE HAS |
000023E0: 42 45 45 4E 20 87 20 B5 4F 20 24 31 43 30 31 00 |BEEN . .O $1C01.|
000023F0: 77 0B A4 01 3B 54 48 45 20 46 49 52 53 54 20 23 |w...;THE FIRST #|
00002400: 32 35 36 20 42 59 54 45 53 20 57 49 4C 4C 20 42 |256 BYTES WILL B|
00002410: 45 20 49 47 4E B0 45 44 20 54 48 49 53 20 49 53 |E IGN.ED THIS IS|
00002420: 20 CB 4F 44 20 81 20 54 48 4F 53 45 20 91 45 20 | .OD . THOSE .E |
00002430: 53 45 43 A4 52 00 BE 0B AE 01 3B 87 20 45 52 52 |SEC.R.....;. ERR|
00002440: B0 53 20 57 45 20 50 55 54 20 54 48 45 20 53 45 |.S WE PUT THE SE|
00002450: 43 A4 52 20 4E 55 4D 42 45 52 20 91 45 20 4C 45 |C.R NUMBER .E LE|
00002460: 53 53 20 54 48 41 4E 20 54 48 45 20 42 41 44 20 |SS THAN THE BAD |
00002470: 53 45 43 A4 52 20 49 4E 20 24 30 37 00 EE 0B B8 |SEC.R IN $07....|
00002480: 01 3B 54 48 49 53 20 57 41 59 20 57 45 27 4C 4C |.;THIS WAY WE'LL|
00002490: 20 53 59 4E 43 20 55 50 20 91 20 49 54 20 AF 20 | SYNC UP . IT . |
000024A0: 87 20 49 54 20 41 4E 59 57 41 59 2E 00 39 0C C2 |. IT ANYWAY..9..|
000024B0: 01 3B 57 45 20 4A 53 52 20 53 59 4E 43 20 A4 20 |.;WE JSR SYNC . |
000024C0: 4C 4F 43 41 54 45 20 54 48 45 20 42 45 47 49 4E |LOCATE THE BEGIN|
000024D0: 4E 49 4E 47 20 4F 46 20 54 48 45 20 48 45 41 44 |NING OF THE HEAD|
000024E0: 45 52 20 42 4C 4F 43 4B 20 AF 20 53 A4 52 45 20 |ER BLOCK . S.RE |
000024F0: 54 48 45 20 47 43 52 00 62 0C CC 01 3B 49 4E 20 |THE GCR.b...;IN |
00002500: 54 48 45 20 52 41 4D 20 42 55 46 46 45 52 20 53 |THE RAM BUFFER S|
00002510: 54 41 52 54 49 4E 47 20 41 54 20 24 30 34 30 30 |TARTING AT $0400|
00002520: 00 6F 0C DB 01 4C 44 59 20 23 24 30 30 00 7D 0C |.o...LDY #$00.}.|
00002530: E0 01 92 32 20 42 56 43 20 92 32 00 85 0C EA 01 |...2 BVC .2.....|
00002540: 43 4C 56 00 91 0C F4 01 4C 44 41 20 47 43 52 00 |CLV.....LDA GCR.|
00002550: A1 0C FE 01 53 54 41 20 24 30 35 30 30 2C 59 00 |....STA $0500,Y.|
00002560: A9 0C 08 02 49 4E 59 00 B4 0C 12 02 42 4E 45 20 |....INY.....BNE |
00002570: 92 32 00 F8 0C 26 02 3B 54 48 49 53 20 49 53 20 |.2...&.;THIS IS |
00002580: 54 48 45 20 53 41 4D 45 20 52 4F 55 54 49 4E 45 |THE SAME ROUTINE|
00002590: 20 41 53 20 41 42 4F 56 45 20 42 55 54 20 54 48 | AS ABOVE BUT TH|
000025A0: 45 20 83 20 49 53 20 53 54 4F 52 45 44 20 41 54 |E . IS STORED AT|
000025B0: 20 24 30 35 30 30 00 38 0D 30 02 3B 24 31 43 30 | $0500.8.0.;$1C0|
000025C0: 31 20 49 53 20 83 20 50 4F 52 54 20 41 20 46 4F |1 IS . PORT A FO|
000025D0: 52 20 47 43 52 20 49 2F 4F 20 44 41 54 41 20 28 |R GCR I/O DATA (|
000025E0: 41 4E 20 49 4E 54 45 52 4E 41 4C 20 44 41 54 41 |AN INTERNAL DATA|
000025F0: 20 50 4F 52 54 29 00 45 0D 44 02 4C 44 41 20 23 | PORT).E.D.LDA #|
00002600: 24 30 31 00 51 0D 4E 02 4A 4D 50 20 4F 46 46 00 |$01.Q.N.JMP OFF.|
00002610: 93 0D 62 02 3B 57 45 20 50 55 54 20 41 20 23 24 |..b.;WE PUT A #$|
00002620: 30 31 20 49 4E 20 41 20 AF 20 4A 53 52 20 4F 46 |01 IN A . JSR OF|
00002630: 46 20 54 48 49 53 20 23 24 30 31 20 49 53 20 54 |F THIS #$01 IS T|
00002640: 48 45 20 45 52 52 B0 20 43 4F 44 45 20 28 4F 4B |HE ERR. CODE (OK|
00002650: 29 00 BE 0D 6C 02 3B 54 45 4C 4C 53 20 54 48 45 |)...l.;TELLS THE|
00002660: 20 44 49 53 4B 20 41 4C 4C 20 49 53 20 4F 4B 20 | DISK ALL IS OK |
00002670: AF 20 53 48 55 54 53 20 44 4F 57 4E 00 CE 0D 80 |. SHUTS DOWN....|
00002680: 02 2E 80 20 87 20 48 45 41 44 45 52 00 00 00 4E |... . HEADER...N|
00002690: 43 20 55 50 20 91 20 49 54 20 AF 20 87 20 49 54 |C UP . IT . . IT|
000026A0: 20 41 4E 59 57 41 59 2E 00 39 0C C2 01 3B 57 45 | ANYWAY..9...;WE|
000026B0: 20 4A 01 08 0E 08 0A 00 AC B2 20 24 37 31 30 30 | J........ $7100|
000026C0: 00 15 08 14 00 2E 53 00 53 08 32 00 3B 87 20 48 |......S.S.2.;. H|
000026D0: 45 41 44 45 52 49 AD 4C 20 20 52 4F 55 54 49 4E |EADERI.L ROUTIN|
000026E0: 45 20 44 45 53 49 47 4E 45 44 20 A4 20 87 20 47 |E DESIGNED . . G|
000026F0: 43 52 20 83 20 4F 4E 20 49 4C 4C 45 47 41 4C 20 |CR . ON ILLEGAL |
00002700: 54 52 41 43 4B 00 91 08 3C 00 3B 41 46 54 45 52 |TRACK...<.;AFTER|
00002710: 20 54 52 41 4E 53 46 45 52 20 A4 20 36 34 20 52 | TRANSFER . 64 R|
00002720: 41 4D 20 47 43 52 20 52 4F 55 54 49 4E 45 20 57 |AM GCR ROUTINE W|
00002730: 49 4C 4C 20 43 91 56 45 52 54 20 49 54 20 A4 20 |ILL C.VERT IT . |
00002740: 48 45 58 00 D2 08 46 00 3B A4 20 55 53 45 20 54 |HEX...F.;. USE T|
00002750: 48 49 53 20 52 4F 55 54 49 4E 45 20 53 45 45 20 |HIS ROUTINE SEE |
00002760: 49 4E 46 4F 20 41 54 20 42 45 47 49 4E 49 4E 47 |INFO AT BEGINING|
00002770: 20 4F 46 20 87 20 48 45 41 44 45 52 20 52 4F 55 | OF . HEADER ROU|
00002780: 54 49 4E 45 00 EB 08 6E 00 3B 36 34 20 52 4F 4D |TINE...n.;64 ROM|
00002790: 20 52 4F 55 54 49 4E 45 53 20 4E 91 45 00 02 09 | ROUTINES N.E...|
000027A0: 82 00 3B 31 35 34 31 20 52 4F 4D 20 52 4F 55 54 |..;1541 ROM ROUT|
000027B0: 49 4E 45 53 00 13 09 96 00 53 59 4E 43 20 B2 20 |INES.....SYNC . |
000027C0: 24 46 35 35 36 00 23 09 A0 00 47 43 52 20 B2 20 |$F556.#...GCR . |
000027D0: 24 31 43 30 31 00 33 09 AA 00 4F 46 46 20 B2 20 |$1C01.3...OFF . |
000027E0: 24 46 39 36 39 00 40 09 BE 00 4A 53 52 20 53 59 |$F969.@...JSR SY|
000027F0: 4E 43 00 4D 09 C8 00 4C 44 59 20 23 24 30 30 00 |NC.M...LDY #$00.|
00002800: 5B 09 D2 00 92 31 20 42 56 43 20 92 31 00 63 09 |[....1 BVC .1.c.|
00002810: DC 00 43 4C 56 00 6F 09 E6 00 4C 44 41 20 47 43 |..CLV.o...LDA GC|
00002820: 52 00 7F 09 F0 00 53 54 41 20 24 30 34 30 30 2C |R.....STA $0400,|
00002830: 59 00 87 09 FA 00 49 4E 59 00 92 09 04 01 42 4E |Y.....INY.....BN|
00002840: 45 20 92 31 00 9F 09 0E 01 4C 44 59 20 23 24 30 |E .1.....LDY #$0|
00002850: 30 00 E9 09 22 01 3B 54 48 49 53 20 49 53 20 54 |0...".;THIS IS T|
00002860: 48 45 20 53 41 4D 45 20 52 4F 55 54 49 4E 45 20 |HE SAME ROUTINE |
00002870: 41 53 20 87 20 48 45 41 44 45 52 20 42 55 54 20 |AS . HEADER BUT |
00002880: 41 53 20 49 54 53 20 41 4E 20 49 4C 4C 45 47 41 |AS ITS AN ILLEGA|
00002890: 4C 4C 59 20 81 4D 41 54 54 45 44 00 2B 0A 2C 01 |LLY .MATTED.+.,.|
000028A0: 3B 54 52 41 43 4B 20 57 45 20 44 4F 20 A8 20 55 |;TRACK WE DO . U|
000028B0: 53 45 20 53 52 43 48 20 41 53 20 49 54 20 57 4F |SE SRCH AS IT WO|
000028C0: 55 4C 44 20 8E 20 54 48 45 20 45 52 52 B0 20 48 |ULD . THE ERR. H|
000028D0: 45 41 44 45 52 20 A8 20 46 4F 55 4E 44 00 6D 0A |EADER . FOUND.m.|
000028E0: 36 01 3B 49 4E 53 54 45 41 44 20 57 45 20 92 20 |6.;INSTEAD WE . |
000028F0: 81 20 54 48 45 20 53 59 4E 43 20 AF 20 87 20 57 |. THE SYNC . . W|
00002900: 48 41 54 45 56 45 52 20 83 20 57 45 20 47 45 54 |HATEVER . WE GET|
00002910: 20 54 4F 20 54 48 45 20 42 55 46 46 45 52 53 00 | TO THE BUFFERS.|
00002920: AE 0A 40 01 3B 41 20 52 4F 55 54 49 4E 45 20 43 |..@.;A ROUTINE C|
00002930: 4F 55 4C 44 20 42 45 20 44 45 53 49 47 4E 45 44 |OULD BE DESIGNED|
00002940: 20 A4 20 87 20 41 4C 4C 20 53 45 43 A4 52 53 20 | . . ALL SEC.RS |
00002950: 41 54 20 91 45 20 54 49 4D 45 20 AF 20 54 48 45 |AT .E TIME . THE|
00002960: 00 EF 0A 4A 01 3B 48 45 41 44 45 52 AD 53 20 43 |...J.;HEADER.S C|
00002970: 4F 55 4C 44 20 42 45 20 57 52 49 54 54 45 4E 20 |OULD BE WRITTEN |
00002980: 42 41 43 4B 20 A4 20 41 20 43 4F 50 59 20 44 49 |BACK . A COPY DI|
00002990: 53 4B 20 55 BF 47 20 81 4D 41 54 20 54 52 41 43 |SK U.G .MAT TRAC|
000029A0: 4B 00 FD 0A 5E 01 92 32 20 42 56 43 20 92 32 00 |K...^..2 BVC .2.|
000029B0: 05 0B 68 01 43 4C 56 00 11 0B 72 01 4C 44 41 20 |..h.CLV...r.LDA |
000029C0: 47 43 52 00 21 0B 7C 01 53 54 41 20 24 30 35 30 |GCR.!.|.STA $050|
000029D0: 30 2C 59 00 29 0B 86 01 49 4E 59 00 34 0B 90 01 |0,Y.)...INY.4...|
000029E0: 42 4E 45 20 92 32 00 41 0B 9A 01 4C 44 41 20 23 |BNE .2.A...LDA #|
000029F0: 24 30 31 00 4D 0B A4 01 4A 4D 50 20 4F 46 46 00 |$01.M...JMP OFF.|
00002A00: 96 0B B8 01 3B 57 45 20 50 55 54 20 41 20 23 24 |....;WE PUT A #$|
00002A10: 30 31 20 49 4E 20 41 20 AF 20 4A 53 52 20 4F 46 |01 IN A . JSR OF|
00002A20: 46 20 54 48 49 53 20 23 24 30 31 20 49 53 20 50 |F THIS #$01 IS P|
00002A30: 55 54 20 49 4E 20 54 48 45 20 45 52 52 B0 20 43 |UT IN THE ERR. C|
00002A40: 4F 44 45 20 28 4F 4B 29 00 BF 0B C2 01 3B 54 45 |ODE (OK).....;TE|
00002A50: 4C 4C 53 20 54 48 45 20 44 49 53 4B 20 41 4C 4C |LLS THE DISK ALL|
00002A60: 53 20 4F 4B 20 AF 20 53 48 55 54 53 20 44 4F 57 |S OK . SHUTS DOW|
00002A70: 4E 00 D2 0B D6 01 2E 80 20 87 20 48 45 41 44 45 |N....... . HEADE|
00002A80: 52 49 AD 4C 00 00 00 4C 4C 45 47 41 4C 4C 59 20 |RI.L...LLEGALLY |
00002A90: 81 4D 41 54 54 45 44 00 2B 0A 2C 01 3B 54 52 41 |.MATTED.+.,.;TRA|
00002AA0: 43 4B 20 57 45 20 44 4F 20 A8 01 08 0E 08 0A 00 |CK WE DO .......|
00002AB0: AC B2 20 24 37 31 30 30 00 15 08 0F 00 2E 53 00 |.. $7100......S.|
00002AC0: 5C 08 1E 00 3B 87 20 48 45 41 44 45 52 4E AD 53 |\...;. HEADERN.S|
00002AD0: 59 4E 43 20 87 53 20 54 52 41 43 4B 20 AF 20 48 |YNC .S TRACK . H|
00002AE0: 45 41 44 45 52 20 49 4E 81 4D 41 54 49 91 20 46 |EADER IN.MATI. F|
00002AF0: 52 4F 4D 20 54 52 41 43 4B 20 57 49 54 48 20 4E |ROM TRACK WITH N|
00002B00: 4F 20 53 59 4E 43 00 9D 08 23 00 3B A4 20 55 53 |O SYNC...#.;. US|
00002B10: 45 20 54 48 49 53 20 52 4F 55 54 49 4E 45 20 53 |E THIS ROUTINE S|
00002B20: 45 45 20 49 4E 46 4F 20 41 54 20 42 45 47 49 4E |EE INFO AT BEGIN|
00002B30: 49 4E 47 20 4F 46 20 87 20 48 45 41 44 45 52 20 |ING OF . HEADER |
00002B40: 52 4F 55 54 49 4E 45 00 C2 08 32 00 3B 36 34 20 |ROUTINE...2.;64 |
00002B50: 52 4F 4D 20 52 4F 55 54 49 4E 45 53 20 26 20 41 |ROM ROUTINES & A|
00002B60: 44 44 52 45 53 53 45 53 20 4E 91 45 00 E5 08 46 |DDRESSES N.E...F|
00002B70: 00 3B 31 35 34 31 20 52 4F 4D 20 52 4F 55 54 49 |.;1541 ROM ROUTI|
00002B80: 4E 45 53 20 AF 20 41 44 44 52 45 53 53 45 53 00 |NES . ADDRESSES.|
00002B90: F3 08 50 00 80 20 B2 20 24 46 39 36 39 00 03 09 |..P.. . $F969...|
00002BA0: 5A 00 47 43 52 20 B2 20 24 31 43 30 31 00 10 09 |Z.GCR . $1C01...|
00002BB0: 6E 00 4C 44 59 20 23 24 30 30 00 20 09 78 00 4C |n.LDY #$00. .x.L|
00002BC0: 50 31 20 42 56 43 20 4C 50 31 00 28 09 82 00 43 |P1 BVC LP1.(...C|
00002BD0: 4C 56 00 34 09 8C 00 4C 44 41 20 47 43 52 00 44 |LV.4...LDA GCR.D|
00002BE0: 09 96 00 53 54 41 20 24 30 34 30 30 2C 59 00 4C |...STA $0400,Y.L|
00002BF0: 09 A0 00 49 4E 59 00 58 09 AA 00 42 4E 45 20 4C |...INY.X...BNE L|
00002C00: 50 31 00 65 09 B4 00 4C 44 59 20 23 24 30 30 00 |P1.e...LDY #$00.|
00002C10: 75 09 BE 00 4C 50 32 20 42 56 43 20 4C 50 32 00 |u...LP2 BVC LP2.|
00002C20: 7D 09 C8 00 43 4C 56 00 89 09 D2 00 4C 44 41 20 |}...CLV.....LDA |
00002C30: 47 43 52 00 99 09 DC 00 53 54 41 20 24 30 35 30 |GCR.....STA $050|
00002C40: 30 2C 59 00 A1 09 E6 00 49 4E 59 00 AD 09 F0 00 |0,Y.....INY.....|
00002C50: 42 4E 45 20 4C 50 32 00 BA 09 FA 00 4C 44 41 20 |BNE LP2.....LDA |
00002C60: 23 24 30 31 00 C4 09 04 01 4A 4D 50 20 80 00 07 |#$01.....JMP ...|
00002C70: 0A 18 01 3B 54 48 49 53 20 52 4F 55 54 49 4E 45 |...;THIS ROUTINE|
00002C80: 20 49 53 20 41 4C 4D 4F 53 54 20 54 48 45 20 53 | IS ALMOST THE S|
00002C90: 41 4D 45 20 41 53 20 87 20 48 45 41 44 45 52 20 |AME AS . HEADER |
00002CA0: AF 20 87 20 48 45 41 44 45 52 49 AD 4C 20 42 55 |. . HEADERI.L BU|
00002CB0: 54 00 3F 0A 22 01 3B 48 45 52 45 20 57 45 20 42 |T.?.".;HERE WE B|
00002CC0: 59 20 50 41 53 53 20 41 4C 4C 20 BC 49 43 20 41 |Y PASS ALL .IC A|
00002CD0: 53 20 4E 4F 20 53 59 4E 43 20 57 4F 55 4C 44 20 |S NO SYNC WOULD |
00002CE0: 90 20 55 53 20 44 45 41 44 00 88 0A 2C 01 3B 57 |. US DEAD...,.;W|
00002CF0: 49 54 48 20 54 48 49 53 20 52 4F 55 54 49 4E 45 |ITH THIS ROUTINE|
00002D00: 20 41 4C 4C 20 57 45 20 43 41 4E 20 53 50 45 43 | ALL WE CAN SPEC|
00002D10: 8B 59 20 49 53 20 41 20 54 52 41 43 4B 20 CB 20 |.Y IS A TRACK . |
00002D20: A4 20 49 54 20 AF 20 87 20 54 48 45 20 46 49 52 |. IT . . THE FIR|
00002D30: 53 54 00 D2 0A 36 01 3B 32 35 36 20 42 59 54 45 |ST...6.;256 BYTE|
00002D40: 53 20 54 48 45 20 87 20 48 45 41 44 20 50 41 53 |S THE . HEAD PAS|
00002D50: 53 45 53 20 4F 56 45 52 20 42 55 54 20 49 54 53 |SES OVER BUT ITS|
00002D60: 20 45 4E 4F 55 47 48 20 A4 20 54 45 4C 4C 20 55 | ENOUGH . TELL U|
00002D70: 53 20 8B 20 54 48 45 52 45 20 49 53 00 1C 0B 40 |S . THERE IS...@|
00002D80: 01 3B 41 4E 59 20 55 53 45 46 55 4C 4C 20 83 20 |.;ANY USEFULL . |
00002D90: 4F 4E 20 54 48 45 20 54 52 41 43 4B 20 49 46 20 |ON THE TRACK IF |
00002DA0: 54 48 45 52 45 20 49 53 20 41 20 52 4F 55 54 49 |THERE IS A ROUTI|
00002DB0: 4E 45 20 43 41 4E 20 42 45 20 50 55 54 20 54 4F |NE CAN BE PUT TO|
00002DC0: 47 45 54 48 45 52 00 62 0B 4A 01 3B A4 20 87 20 |GETHER.b.J.;. . |
00002DD0: 49 4E 20 53 4F 4D 45 20 83 2C 20 43 48 45 43 4B |IN SOME ., CHECK|
00002DE0: 20 54 48 45 20 46 49 52 53 54 20 35 20 4F 52 20 | THE FIRST 5 OR |
00002DF0: 53 4F 20 42 59 54 45 53 2C 20 43 48 45 43 4B 20 |SO BYTES, CHECK |
00002E00: 49 54 20 57 49 54 48 20 57 48 41 54 00 98 0B 54 |IT WITH WHAT...T|
00002E10: 01 3B 57 45 20 41 4C 87 59 20 48 41 56 45 2C 20 |.;WE AL.Y HAVE, |
00002E20: 8B 20 49 54 53 20 44 8B 46 45 52 45 4E 54 20 94 |. ITS D.FERENT .|
00002E30: 20 49 54 20 8B 20 A8 20 87 20 53 4F 4D 45 20 4D | IT . . . SOME M|
00002E40: B0 45 00 E5 0B 5E 01 3B 8F 45 4D 42 45 52 20 54 |.E...^.;.EMBER T|
00002E50: 48 49 53 20 49 53 20 47 43 52 20 44 41 54 41 20 |HIS IS GCR DATA |
00002E60: 53 4F 20 49 54 20 48 41 53 20 54 4F 20 42 45 20 |SO IT HAS TO BE |
00002E70: 54 52 41 4E 53 4C 41 54 45 44 20 46 49 52 53 54 |TRANSLATED FIRST|
00002E80: 20 49 20 53 55 47 47 45 53 54 20 54 48 41 54 00 | I SUGGEST THAT.|
00002E90: 27 0C 68 01 3B 59 4F 55 20 57 B0 4B 20 57 49 54 |'.h.;YOU W.K WIT|
00002EA0: 48 20 4E B0 4D 41 4C 4C 59 20 81 4D 41 54 54 45 |H N.MALLY .MATTE|
00002EB0: 44 20 44 49 53 4B 53 20 46 49 52 53 54 20 A4 20 |D DISKS FIRST . |
00002EC0: A1 20 54 48 45 20 48 41 4E 47 20 4F 46 20 47 43 |. THE HANG OF GC|
00002ED0: 52 00 68 0C 72 01 3B 41 53 20 59 4F 55 20 57 91 |R.h.r.;AS YOU W.|
00002EE0: 54 20 46 49 4E 44 20 54 48 45 20 4E B0 4D 41 4C |T FIND THE N.MAL|
00002EF0: 20 53 59 4E 43 20 4D 41 52 4B 53 20 55 53 55 41 | SYNC MARKS USUA|
00002F00: 4C 4C 59 20 46 4F 55 4E 44 20 57 49 54 48 20 47 |LLY FOUND WITH G|
00002F10: 43 52 00 A5 0C 7C 01 3B 57 50 47 43 52 20 91 20 |CR...|.;WPGCR . |
00002F20: 54 48 49 53 20 44 49 53 4B 20 44 45 53 43 52 49 |THIS DISK DESCRI|
00002F30: 42 45 53 20 57 48 41 54 20 47 43 52 20 49 53 20 |BES WHAT GCR IS |
00002F40: AF 20 57 48 41 54 20 A4 20 4C 4F 4F 4B 20 81 00 |. WHAT . LOOK ..|
00002F50: EC 0C 86 01 3B 59 4F 55 20 43 41 4E 20 41 4C 53 |....;YOU CAN ALS|
00002F60: 4F 20 55 53 45 20 44 49 53 4B 20 52 41 4D 20 41 |O USE DISK RAM A|
00002F70: 44 44 52 45 53 53 45 53 20 46 52 4F 4D 20 24 30 |DDRESSES FROM $0|
00002F80: 36 30 30 20 A4 20 24 30 37 46 46 20 A4 20 87 20 |600 . $07FF . . |
00002F90: 49 4E 20 4D B0 45 00 35 0D 90 01 3B 83 20 41 54 |IN M.E.5...;. AT|
00002FA0: 20 41 20 54 49 4D 45 20 4A 55 53 54 20 4D 41 4B | A TIME JUST MAK|
00002FB0: 45 20 53 55 52 45 20 54 4F 20 49 4E 49 54 49 41 |E SURE TO INITIA|
00002FC0: 4C 49 5A 45 20 54 48 45 20 44 49 53 4B 20 57 48 |LIZE THE DISK WH|
00002FD0: 45 4E 20 59 4F 55 52 20 44 4F 4E 45 20 41 53 00 |EN YOUR DONE AS.|
00002FE0: 63 0D 9A 01 3B 24 30 37 30 30 20 A4 20 24 30 37 |c...;$0700 . $07|
00002FF0: 46 46 20 49 53 20 55 53 45 44 20 81 20 54 48 45 |FF IS USED . THE|
00003000: 20 42 41 4D 20 44 49 52 45 43 A4 52 59 00 AD 0D | BAM DIREC.RY...|
00003010: A4 01 3B 46 49 4E 41 4C 4C 59 20 57 48 45 4E 20 |..;FINALLY WHEN |
00003020: 4E 4F 20 53 59 4E 43 20 49 53 20 55 53 45 44 20 |NO SYNC IS USED |
00003030: 81 20 50 52 4F 54 45 43 54 49 91 20 41 A8 48 45 |. PROTECTI. A.HE|
00003040: 52 20 52 4F 55 54 49 4E 45 20 91 20 54 48 45 20 |R ROUTINE . THE |
00003050: 44 49 53 4B 20 49 53 00 F3 0D AE 01 3B 55 53 45 |DISK IS.....;USE|
00003060: 44 20 A4 20 87 20 49 54 20 48 45 4E 43 45 20 4E |D . . IT HENCE N|
00003070: 4F 20 53 59 4E 43 20 49 53 20 A8 20 54 48 45 20 |O SYNC IS . THE |
00003080: 4F 47 45 52 20 50 45 4F 50 4C 45 20 54 48 49 4E |OGER PEOPLE THIN|
00003090: 4B 20 49 54 20 49 53 20 49 20 50 55 54 00 36 0E |K IT IS I PUT.6.|
000030A0: B8 01 3B 54 48 49 53 20 52 4F 55 54 49 4E 45 20 |..;THIS ROUTINE |
000030B0: 48 45 52 45 20 A4 20 53 48 4F 57 20 49 54 20 49 |HERE . SHOW IT I|
000030C0: 53 20 B9 53 49 42 4C 45 20 A4 20 87 20 49 54 20 |S .SIBLE . . IT |
000030D0: 42 55 54 20 54 48 45 20 4B 45 59 20 A4 20 49 54 |BUT THE KEY . IT|
000030E0: 00 7B 0E C2 01 3B 49 53 20 45 4C 53 45 57 48 45 |.{...;IS ELSEWHE|
000030F0: 52 45 20 91 20 54 48 45 20 44 49 53 4B 20 41 20 |RE . THE DISK A |
00003100: 4C 49 54 54 4C 45 20 48 55 4E 54 49 4E 47 20 41 |LITTLE HUNTING A|
00003110: 52 4F 55 4E 44 20 49 53 20 41 4C 4C 20 49 54 20 |ROUND IS ALL IT |
00003120: 54 41 4B 45 53 00 8E 0E CC 01 2E 80 20 87 20 48 |TAKES....... . H|
00003130: 44 52 4E AD 53 59 4E 43 00 00 00 20 AF 20 57 48 |DRN.SYNC... . WH|
00003140: 41 54 20 A4 20 4C 4F 4F 4B 20 81 00 EC 0C 86 01 |AT . LOOK ......|
00003150: 3B 59 4F 55 20 43 41 4E 20 41 4C 53 4F 20 55 53 |;YOU CAN ALSO US|
00003160: 45 20 44 49 53 4B 20 52 41 4D 20 41 44 44 52 45 |E DISK RAM ADDRE|
00003170: 53 53 45 53 20 46 52 4F 4D 20 24 30 36 30 30 20 |SSES FROM $0600 |
00003180: A4 20 24 30 37 46 46 20 A4 20 87 20 49 4E 20 4D |. $07FF . . IN M|
00003190: B0 45 00 35 0D 90 01 3B 83 20 41 54 01 08 0E 08 |.E.5...;. AT....|
000031A0: 0A 00 AC B2 20 24 37 32 30 30 00 15 08 14 00 2E |.... $7200......|
000031B0: 53 00 47 08 3C 00 3B 93 45 52 20 54 52 41 4E 53 |S.G.<.;.ER TRANS|
000031C0: 46 45 52 20 4D AD 4C 20 50 52 4F 47 52 41 4D 20 |FER M.L PROGRAM |
000031D0: A4 20 24 30 33 30 30 20 49 4E 20 31 35 34 31 20 |. $0300 IN 1541 |
000031E0: 52 41 4D 00 68 08 6E 00 3B 36 34 20 52 4F 4D 20 |RAM.h.n.;64 ROM |
000031F0: 52 4F 55 54 49 4E 45 53 20 26 20 41 44 44 52 45 |ROUTINES & ADDRE|
00003200: 53 53 45 53 00 78 08 82 00 4C 49 53 20 B2 20 24 |SSES.x...LIS . $|
00003210: 46 46 42 31 00 8A 08 8C 00 4C 49 53 45 43 20 B2 |FFB1.....LISEC .|
00003220: 20 24 46 46 39 33 00 9C 08 96 00 55 4E 4C 49 53 | $FF93.....UNLIS|
00003230: 20 B2 20 24 46 46 41 45 00 AC 08 A0 00 4F 55 54 | . $FFAE.....OUT|
00003240: 20 B2 20 24 46 46 41 38 00 BD 08 AA 00 50 52 4F | . $FFA8.....PRO|
00003250: 47 20 B2 20 24 37 31 30 30 00 E0 08 BE 00 3B 31 |G . $7100.....;1|
00003260: 35 34 31 20 52 4F 4D 20 52 4F 55 54 49 4E 45 53 |541 ROM ROUTINES|
00003270: 20 26 20 41 44 44 52 45 53 53 45 53 00 E9 08 C8 | & ADDRESSES....|
00003280: 00 3B 4E 91 45 00 FC 08 DC 00 53 54 41 52 54 20 |.;N.E.....START |
00003290: 4C 44 41 20 23 24 30 38 00 08 09 E6 00 4A 53 52 |LDA #$08.....JSR|
000032A0: 20 4C 49 53 00 15 09 F0 00 4C 44 41 20 23 24 46 | LIS.....LDA #$F|
000032B0: 46 00 23 09 FA 00 4A 53 52 20 4C 49 53 45 43 00 |F.#...JSR LISEC.|
000032C0: 30 09 04 01 4C 44 58 20 23 24 30 30 00 41 09 0E |0...LDX #$00.A..|
000032D0: 01 4C 50 31 20 4C 44 41 20 4D 57 2C 58 00 4D 09 |.LP1 LDA MW,X.M.|
000032E0: 18 01 4A 53 52 20 4F 55 54 00 55 09 22 01 49 4E |..JSR OUT.U.".IN|
000032F0: 58 00 62 09 2C 01 43 50 58 20 23 24 30 36 00 6E |X.b.,.CPX #$06.n|
00003300: 09 36 01 42 4E 45 20 4C 50 31 00 A9 09 4A 01 3B |.6.BNE LP1...J.;|
00003310: 4C 44 41 20 23 24 30 38 20 44 45 56 49 43 45 20 |LDA #$08 DEVICE |
00003320: 4E 55 4D 42 45 52 20 81 20 44 49 53 4B 20 4A 53 |NUMBER . DISK JS|
00003330: 52 20 A4 20 9B 45 4E 20 52 4F 55 54 49 4E 45 20 |R . .EN ROUTINE |
00003340: 24 45 44 30 43 00 EF 09 54 01 3B 54 48 45 20 9B |$ED0C...T.;THE .|
00003350: 45 4E 20 52 4F 55 54 49 4E 45 20 41 4C 4C 45 52 |EN ROUTINE ALLER|
00003360: 54 53 20 54 48 45 20 44 49 53 4B 20 54 48 41 54 |TS THE DISK THAT|
00003370: 20 41 20 43 4F 4D 4D AF 20 49 53 20 42 45 49 4E | A COMM. IS BEIN|
00003380: 47 20 53 45 4E 54 20 A4 20 49 54 00 2F 0A 5E 01 |G SENT . IT./.^.|
00003390: 3B 54 48 45 20 36 35 30 32 AD 31 30 20 52 45 51 |;THE 6502.10 REQ|
000033A0: 55 49 52 45 53 20 41 20 53 45 43 91 44 41 52 59 |UIRES A SEC.DARY|
000033B0: 20 41 44 44 52 45 53 53 20 57 49 54 48 20 54 48 | ADDRESS WITH TH|
000033C0: 45 20 9B 45 4E 20 43 4F 4D 4D AF 00 74 0A 68 01 |E .EN COMM..t.h.|
000033D0: 3B 54 48 49 53 20 49 53 20 54 48 45 20 53 41 4D |;THIS IS THE SAM|
000033E0: 45 20 41 53 20 9F 20 31 35 2C 38 2C 31 35 2E 20 |E AS . 15,8,15. |
000033F0: 54 48 45 20 23 24 46 46 20 57 49 4C 4C 20 42 45 |THE #$FF WILL BE|
00003400: 20 43 91 56 45 52 54 45 44 20 A4 20 23 24 30 46 | C.VERTED . #$0F|
00003410: 00 B2 0A 72 01 3B 42 59 20 54 48 45 20 53 45 43 |...r.;BY THE SEC|
00003420: 91 44 41 52 59 20 52 4F 55 54 49 4E 45 20 24 45 |.DARY ROUTINE $E|
00003430: 44 42 39 20 AF 20 53 45 4E 54 20 4F 56 45 52 20 |DB9 . SENT OVER |
00003440: 54 48 45 20 53 45 52 49 41 4C 20 42 55 53 00 F8 |THE SERIAL BUS..|
00003450: 0A 7C 01 3B 57 45 20 53 45 54 20 55 50 20 41 20 |.|.;WE SET UP A |
00003460: 4C 4F 4F 50 20 57 49 54 48 20 58 20 AF 20 53 80 |LOOP WITH X . S.|
00003470: 20 54 48 45 20 43 4F 4D 4D AF 20 4D AB 57 20 30 | THE COMM. M.W 0|
00003480: 30 20 30 33 20 32 30 20 28 4D 45 4D B0 59 20 57 |0 03 20 (MEM.Y W|
00003490: 52 49 54 45 00 43 0B 86 01 3B 40 20 24 30 33 30 |RITE.C...;@ $030|
000034A0: 30 20 23 24 32 30 20 28 23 33 32 20 42 59 54 45 |0 #$20 (#32 BYTE|
000034B0: 53 29 20 29 20 57 45 20 41 52 45 20 4C 49 4D 49 |S) ) WE ARE LIMI|
000034C0: 54 45 44 20 A4 20 53 80 49 4E 47 20 23 33 32 20 |TED . S.ING #32 |
000034D0: 42 59 54 45 53 20 41 54 20 41 20 54 49 4D 45 00 |BYTES AT A TIME.|
000034E0: 8F 0B 90 01 3B 42 45 43 41 55 53 45 20 4F 46 20 |....;BECAUSE OF |
000034F0: 54 48 49 53 20 4F 55 52 20 50 52 4F 47 52 41 4D |THIS OUR PROGRAM|
00003500: 20 57 49 4C 4C 20 53 80 20 23 32 35 36 20 42 59 | WILL S. #256 BY|
00003510: 54 45 53 20 41 53 20 49 54 27 53 20 45 41 53 49 |TES AS IT'S EASI|
00003520: 45 52 20 A4 20 53 45 54 20 55 50 00 BF 0B 9A 01 |ER . SET UP.....|
00003530: 3B 54 48 45 20 4C 4F 4F 50 20 81 20 23 32 35 36 |;THE LOOP . #256|
00003540: 20 41 53 20 23 33 32 20 49 53 20 41 20 44 49 56 | AS #32 IS A DIV|
00003550: 49 53 B0 20 4F 46 20 23 32 35 36 00 CC 0B AE 01 |IS. OF #256.....|
00003560: 4C 44 59 20 23 24 30 30 00 DD 0B B8 01 4C 50 32 |LDY #$00.....LP2|
00003570: 20 4C 44 41 20 50 52 4F 47 00 E9 0B C2 01 4A 53 | LDA PROG.....JS|
00003580: 52 20 4F 55 54 00 F7 0B CC 01 49 4E 43 20 4C 50 |R OUT.....INC LP|
00003590: 32 AA 31 00 04 0C D6 01 49 4E 43 20 4D 57 AA 33 |2.1.....INC MW.3|
000035A0: 00 0C 0C E0 01 49 4E 59 00 19 0C EA 01 43 50 59 |.....INY.....CPY|
000035B0: 20 23 24 32 30 00 25 0C F4 01 42 4E 45 20 4C 50 | #$20.%...BNE LP|
000035C0: 32 00 32 0C FE 01 4C 44 41 20 4D 57 AA 33 00 3C |2.2...LDA MW.3.<|
000035D0: 0C 08 02 42 45 51 20 A0 00 4A 0C 12 02 4A 53 52 |...BEQ ..J...JSR|
000035E0: 20 55 4E 4C 49 53 00 58 0C 1C 02 4A 4D 50 20 53 | UNLIS.X...JMP S|
000035F0: 54 41 52 54 00 68 0C 26 02 A0 20 4A 53 52 20 55 |TART.h.&.. JSR U|
00003600: 4E 4C 49 53 00 70 0C 30 02 42 52 4B 00 93 0C 44 |NLIS.p.0.BRK...D|
00003610: 02 3B 42 55 46 46 45 52 20 57 49 54 48 20 4D 45 |.;BUFFER WITH ME|
00003620: 4D B0 59 20 57 52 49 54 45 20 43 4F 4D 4D AF 00 |M.Y WRITE COMM..|
00003630: B2 0C 58 02 4D 57 20 2E 42 59 54 45 20 37 37 20 |..X.MW .BYTE 77 |
00003640: 34 35 20 38 37 20 30 30 20 30 33 20 33 32 00 F2 |45 87 00 03 32..|
00003650: 0C 6C 02 3B 4C 49 4E 45 20 34 33 30 20 53 54 41 |.l.;LINE 430 STA|
00003660: 52 54 53 20 4F 55 52 20 41 43 54 55 41 4C 20 53 |RTS OUR ACTUAL S|
00003670: 80 49 4E 47 20 4F 46 20 54 48 45 20 50 52 4F 47 |.ING OF THE PROG|
00003680: 52 41 4D 20 A4 20 54 48 45 20 44 49 53 4B 00 35 |RAM . THE DISK.5|
00003690: 0D 76 02 3B 57 45 20 93 20 41 20 57 49 54 48 20 |.v.;WE . A WITH |
000036A0: 54 48 45 20 46 49 52 53 54 20 42 59 54 45 20 41 |THE FIRST BYTE A|
000036B0: 54 20 24 37 31 30 30 20 AF 20 53 80 20 49 54 20 |T $7100 . S. IT |
000036C0: A7 20 49 4E 43 8F 45 4E 54 20 54 48 45 20 4C 4F |. INC.ENT THE LO|
000036D0: 57 00 81 0D 80 02 3B 42 59 54 45 20 24 37 31 30 |W.....;BYTE $710|
000036E0: 30 20 B2 20 24 37 31 30 31 20 AF 20 49 4E 43 8F |0 . $7101 . INC.|
000036F0: 45 4E 54 20 54 48 45 20 4C 4F 57 20 42 59 54 45 |ENT THE LOW BYTE|
00003700: 20 4F 46 20 4D 2D 57 20 43 4F 4D 4D 41 4E 44 20 | OF M-W COMMAND |
00003710: 24 30 33 30 30 20 3D 20 24 30 33 30 31 00 C0 0D |$0300 = $0301...|
00003720: 8A 02 3B 54 48 49 53 20 9A 49 4E 55 45 53 20 55 |..;THIS .INUES U|
00003730: 4E 54 49 4C 20 41 4C 4C 20 23 33 32 20 42 59 54 |NTIL ALL #32 BYT|
00003740: 45 53 20 48 41 56 45 20 42 45 45 4E 20 53 45 4E |ES HAVE BEEN SEN|
00003750: 54 20 A4 20 54 48 45 20 44 49 53 4B 00 07 0E 94 |T . THE DISK....|
00003760: 02 3B 4F 55 52 20 4C 4F 57 20 42 59 54 45 20 4F |.;OUR LOW BYTE O|
00003770: 46 20 54 48 45 20 4D AB 57 20 43 4F 4D 4D AF 20 |F THE M.W COMM. |
00003780: 49 53 20 4E 4F 57 20 23 24 32 30 20 28 23 33 32 |IS NOW #$20 (#32|
00003790: 29 20 57 45 20 43 4F 4D 50 41 52 45 20 81 20 23 |) WE COMPARE . #|
000037A0: 24 30 30 00 53 0E 9E 02 3B 8B 20 49 54 20 49 53 |$00.S...;. IT IS|
000037B0: 20 57 45 20 48 41 56 45 20 57 52 41 50 50 45 44 | WE HAVE WRAPPED|
000037C0: 20 41 52 4F 55 4E 44 20 28 23 24 46 46 20 A4 20 | AROUND (#$FF . |
000037D0: 23 24 30 30 29 20 23 32 35 36 20 42 59 54 45 53 |#$00) #256 BYTES|
000037E0: 20 48 41 56 45 20 42 45 45 4E 20 53 45 4E 54 00 | HAVE BEEN SENT.|
000037F0: 8E 0E A8 02 3B 57 45 20 4A 53 52 20 A4 20 55 4E |....;WE JSR . UN|
00003800: 9B 45 4E 20 24 45 44 46 45 20 A0 20 54 48 45 20 |.EN $EDFE . THE |
00003810: 43 4F 4D 4D AF 20 43 48 41 4E 4E 45 4C 20 4D 55 |COMM. CHANNEL MU|
00003820: 53 54 20 42 45 20 A0 44 20 AF 00 C4 0E B2 02 3B |ST BE .D ......;|
00003830: AF 20 A7 20 52 45 9F 45 44 20 AF 20 4A 55 4D 50 |. . RE.ED . JUMP|
00003840: 20 42 41 43 4B 20 A4 20 53 54 41 52 54 20 A4 20 | BACK . START . |
00003850: 53 80 20 23 33 32 20 4D B0 45 20 42 59 54 45 53 |S. #32 M.E BYTES|
00003860: 00 09 0F BC 02 3B 42 59 20 43 48 41 4E 47 49 4E |.....;BY CHANGIN|
00003870: 47 20 54 48 49 53 20 52 4F 55 54 49 4E 45 20 41 |G THIS ROUTINE A|
00003880: 52 4F 55 4E 44 20 59 4F 55 20 43 41 4E 20 87 20 |ROUND YOU CAN . |
00003890: 83 20 46 52 4F 4D 20 54 48 45 20 44 49 53 4B 20 |. FROM THE DISK |
000038A0: 55 53 49 4E 47 00 4C 0F C6 02 3B 54 48 45 20 41 |USING.L...;THE A|
000038B0: 42 4F 56 45 20 52 4F 55 54 49 4E 45 20 AF 20 4D |BOVE ROUTINE . M|
000038C0: AB 52 20 49 4E 53 54 45 41 44 20 4F 46 20 4D AB |.R INSTEAD OF M.|
000038D0: 57 20 53 45 45 20 54 52 41 43 45 20 81 20 41 4E |W SEE TRACE . AN|
000038E0: 20 45 58 41 4D 50 4C 45 00 57 0F DA 02 2E 80 20 | EXAMPLE.W..... |
000038F0: 93 45 52 00 00 00 57 20 42 59 54 45 20 4F 46 20 |.ER...W BYTE OF |
00003900: 4D 2D 57 20 43 4F 4D 4D 41 4E 44 20 24 30 33 30 |M-W COMMAND $030|
00003910: 30 20 3D 20 24 30 33 30 31 00 C0 0D 8A 02 3B 54 |0 = $0301.....;T|
00003920: 48 49 53 20 9A 49 4E 55 45 53 20 55 4E 54 49 4C |HIS .INUES UNTIL|
00003930: 20 41 4C 4C 20 23 33 32 20 42 59 54 45 53 20 48 | ALL #32 BYTES H|
00003940: 41 56 45 20 42 45 45 4E 20 53 45 4E 54 20 A4 20 |AVE BEEN SENT . |
00003950: 54 48 45 20 44 49 53 4B 00 07 0E 94 02 3B 4F 55 |THE DISK.....;OU|
00003960: 52 20 4C 4F 57 20 42 59 54 45 20 4F 46 20 54 48 |R LOW BYTE OF TH|
00003970: 45 20 4D AB 57 20 43 4F 4D 4D AF 20 49 53 20 4E |E M.W COMM. IS N|
00003980: 4F 57 20 23 24 32 30 20 28 23 33 32 01 08 0E 08 |OW #$20 (#32....|
00003990: 0A 00 AC B2 20 24 37 31 30 30 00 15 08 1E 00 2E |.... $7100......|
000039A0: 53 00 23 08 5A 00 99 20 B2 20 24 46 46 44 32 00 |S.#.Z.. . $FFD2.|
000039B0: 38 08 5F 00 3B 94 20 54 48 45 20 52 45 47 49 53 |8._.;. THE REGIS|
000039C0: 54 45 52 53 00 55 08 64 00 53 54 41 20 B0 47 3A |TERS.U.d.STA .G:|
000039D0: 53 54 41 20 41 3A 53 54 58 20 58 3A 53 54 59 20 |STA A:STX X:STY |
000039E0: 59 00 65 08 6E 00 50 48 50 3B 94 20 46 4C 41 47 |Y.e.n.PHP;. FLAG|
000039F0: 53 00 72 08 BE 00 4C 44 59 20 23 24 30 37 00 81 |S.r...LDY #$07..|
00003A00: 08 C8 00 4C 50 31 20 4C 44 41 20 B0 47 00 8E 08 |...LP1 LDA .G...|
00003A10: D2 00 AF 20 4D 41 53 4B 2C 59 00 A9 08 D3 00 3B |... MASK,Y.....;|
00003A20: 45 58 41 4D 50 4C 45 20 B0 47 20 B2 20 31 30 31 |EXAMPLE .G . 101|
00003A30: 30 31 30 31 30 00 C5 08 D4 00 3B 4D 41 53 4B 20 |01010.....;MASK |
00003A40: B2 20 20 20 20 20 20 20 20 31 31 31 31 31 31 31 |. 1111111|
00003A50: 30 00 E1 08 D5 00 3B 52 45 53 55 4C 54 20 B2 20 |0.....;RESULT . |
00003A60: 20 20 20 20 20 31 30 31 30 31 30 31 30 00 1F 09 | 10101010...|
00003A70: D6 00 3B 57 48 45 4E 20 43 4F 4D 50 41 52 45 44 |..;WHEN COMPARED|
00003A80: 20 8B 20 52 45 53 55 4C 54 20 49 53 20 45 51 55 | . RESULT IS EQU|
00003A90: 41 4C 20 A7 20 50 55 54 20 41 20 5A 45 52 4F 20 |AL . PUT A ZERO |
00003AA0: 41 54 20 42 49 54 20 5A 45 52 4F 00 5E 09 D7 00 |AT BIT ZERO.^...|
00003AB0: 3B 8B 20 57 48 45 4E 20 43 4F 4D 50 41 52 45 44 |;. WHEN COMPARED|
00003AC0: 20 54 48 45 20 52 45 55 4C 54 20 49 53 20 A8 20 | THE REULT IS . |
00003AD0: 45 51 55 41 4C 20 50 55 54 20 41 20 91 45 20 41 |EQUAL PUT A .E A|
00003AE0: 54 20 42 49 54 20 5A 45 52 4F 00 69 09 DC 00 43 |T BIT ZERO.i...C|
00003AF0: 4D 50 20 B0 47 00 76 09 E6 00 42 45 51 20 5A 45 |MP .G.v...BEQ ZE|
00003B00: 52 4F 00 8D 09 E7 00 3B 50 55 54 20 41 20 91 45 |RO.....;PUT A .E|
00003B10: 20 41 54 20 42 49 54 2C 59 00 9A 09 F0 00 4C 44 | AT BIT,Y.....LD|
00003B20: 41 20 23 24 33 31 00 A9 09 FA 00 53 54 41 20 42 |A #$31.....STA B|
00003B30: 49 54 53 2C 59 00 B1 09 04 01 44 45 59 00 BE 09 |ITS,Y.....DEY...|
00003B40: 0E 01 43 50 59 20 23 24 46 46 00 CA 09 18 01 42 |..CPY #$FF.....B|
00003B50: 4E 45 20 4C 50 31 00 D6 09 22 01 4A 4D 50 20 4F |NE LP1...".JMP O|
00003B60: 55 54 00 EF 09 23 01 3B 50 55 54 20 41 20 5A 45 |UT...#.;PUT A ZE|
00003B70: 52 4F 20 41 54 20 42 49 54 2C 59 00 01 0A A4 01 |RO AT BIT,Y.....|
00003B80: 5A 45 52 4F 20 4C 44 41 20 23 24 33 30 00 10 0A |ZERO LDA #$30...|
00003B90: AE 01 53 54 41 20 42 49 54 53 2C 59 00 18 0A B8 |..STA BITS,Y....|
00003BA0: 01 44 45 59 00 25 0A C2 01 43 50 59 20 23 24 46 |.DEY.%...CPY #$F|
00003BB0: 46 00 31 0A CC 01 42 4E 45 20 4C 50 31 00 46 0A |F.1...BNE LP1.F.|
00003BC0: CD 01 3B 99 20 42 49 54 53 20 A4 20 53 43 52 45 |..;. BITS . SCRE|
00003BD0: 45 4E 00 57 0A D6 01 4F 55 54 20 4C 44 41 20 23 |EN.W...OUT LDA #|
00003BE0: 24 30 44 00 61 0A E0 01 4A 53 52 20 99 00 6E 0A |$0D.a...JSR ..n.|
00003BF0: FE 01 4C 44 59 20 23 24 30 30 00 7F 0A 08 02 4C |..LDY #$00.....L|
00003C00: 50 32 20 4C 44 41 20 23 24 32 30 00 89 0A 12 02 |P2 LDA #$20.....|
00003C10: 4A 53 52 20 99 00 98 0A 1C 02 4C 44 41 20 42 49 |JSR ......LDA BI|
00003C20: 54 53 2C 59 00 A2 0A 26 02 4A 53 52 20 99 00 AA |TS,Y...&.JSR ...|
00003C30: 0A 30 02 49 4E 59 00 B7 0A 3A 02 43 50 59 20 23 |.0.INY...:.CPY #|
00003C40: 24 30 38 00 C3 0A 44 02 42 4E 45 20 4C 50 32 00 |$08...D.BNE LP2.|
00003C50: D0 0A 45 02 4C 44 41 20 23 24 30 44 00 DA 0A 46 |..E.LDA #$0D...F|
00003C60: 02 4A 53 52 20 99 00 F7 0A 47 02 3B 8C 20 54 48 |.JSR ....G.;. TH|
00003C70: 45 20 52 45 47 49 53 54 45 52 53 20 AF 20 46 4C |E REGISTERS . FL|
00003C80: 41 47 53 00 0D 0B 4E 02 4C 44 41 20 41 3A 4C 44 |AGS...N.LDA A:LD|
00003C90: 58 20 58 3A 4C 44 59 20 59 00 15 0B 53 02 50 4C |X X:LDY Y...S.PL|
00003CA0: 50 00 1D 0B 58 02 52 54 53 00 4C 0B 62 02 4D 41 |P...X.RTS.L.b.MA|
00003CB0: 53 4B 20 2E 42 59 54 45 20 31 32 37 20 31 39 31 |SK .BYTE 127 191|
00003CC0: 20 32 32 33 20 32 33 39 20 32 34 37 20 32 35 31 | 223 239 247 251|
00003CD0: 20 32 35 33 20 32 35 34 00 6B 0B 6C 02 42 49 54 | 253 254.k.l.BIT|
00003CE0: 53 20 2E 42 59 54 45 20 30 20 30 20 30 20 30 20 |S .BYTE 0 0 0 0 |
00003CF0: 30 20 30 20 30 20 30 00 7A 0B 76 02 B0 47 20 2E |0 0 0 0.z.v..G .|
00003D00: 42 59 54 45 20 30 00 88 0B 80 02 41 20 2E 42 59 |BYTE 0.....A .BY|
00003D10: 54 45 20 30 00 96 0B 8A 02 58 20 2E 42 59 54 45 |TE 0.....X .BYTE|
00003D20: 20 30 00 A4 0B 94 02 59 20 2E 42 59 54 45 20 30 | 0.....Y .BYTE 0|
00003D30: 00 B2 0B 9E 02 2E 80 20 42 49 4E 41 52 59 00 00 |....... BINARY..|
00003D40: 00 20 23 24 46 46 00 CA 09 18 01 42 4E 45 20 4C |. #$FF.....BNE L|
00003D50: 50 31 00 D6 09 22 01 4A 4D 50 20 4F 55 54 00 EF |P1...".JMP OUT..|
00003D60: 09 23 01 3B 50 55 54 20 41 20 5A 45 52 4F 20 41 |.#.;PUT A ZERO A|
00003D70: 54 20 42 49 54 2C 59 00 01 0A A4 01 5A 45 52 4F |T BIT,Y.....ZERO|
00003D80: 20 4C 44 41 01 08 0E 08 0A 00 AC B2 20 24 37 31 | LDA........ $71|
00003D90: 30 30 00 15 08 14 00 2E 53 00 23 08 1E 00 9F 20 |00......S.#.... |
00003DA0: B2 20 24 46 46 43 30 00 35 08 28 00 53 45 54 4E |. $FFC0.5.(.SETN|
00003DB0: 4D 20 B2 20 24 46 46 42 44 00 48 08 32 00 53 45 |M . $FFBD.H.2.SE|
00003DC0: 54 4C 46 53 20 B2 20 24 46 46 42 41 00 56 08 3C |TLFS . $FFBA.V.<|
00003DD0: 00 A0 20 B2 20 24 46 46 43 33 00 66 08 46 00 54 |.. . $FFC3.f.F.T|
00003DE0: 4C 4B 20 B2 20 24 46 46 42 34 00 79 08 50 00 54 |LK . $FFB4.y.P.T|
00003DF0: 4C 4B 53 45 43 20 B2 20 24 46 46 39 36 00 8B 08 |LKSEC . $FF96...|
00003E00: 5A 00 55 4E 54 4C 4B 20 B2 20 24 46 46 41 42 00 |Z.UNTLK . $FFAB.|
00003E10: 9A 08 64 00 49 4E 20 B2 20 24 46 46 41 35 00 A7 |..d.IN . $FFA5..|
00003E20: 08 6E 00 4C 44 41 20 23 24 30 37 00 B6 08 78 00 |.n.LDA #$07...x.|
00003E30: 4C 44 58 20 B3 23 42 55 4D 50 00 C5 08 82 00 4C |LDX .#BUMP.....L|
00003E40: 44 59 20 B1 23 42 55 4D 50 00 D3 08 8C 00 4A 53 |DY .#BUMP.....JS|
00003E50: 52 20 53 45 54 4E 4D 00 E0 08 96 00 4C 44 41 20 |R SETNM.....LDA |
00003E60: 23 24 30 46 00 ED 08 A0 00 4C 44 58 20 23 24 30 |#$0F.....LDX #$0|
00003E70: 38 00 FA 08 AA 00 4C 44 59 20 23 24 30 46 00 09 |8.....LDY #$0F..|
00003E80: 09 B4 00 4A 53 52 20 53 45 54 4C 46 53 00 13 09 |...JSR SETLFS...|
00003E90: BE 00 4A 53 52 20 9F 00 21 09 C8 00 4A 53 52 20 |..JSR ..!...JSR |
00003EA0: 44 45 4C 41 59 00 2E 09 D2 00 4A 53 52 20 43 4C |DELAY.....JSR CL|
00003EB0: 53 45 00 3B 09 DC 00 4A 53 52 20 48 41 4C 46 00 |SE.;...JSR HALF.|
00003EC0: 48 09 E6 00 4C 44 41 20 23 24 30 37 00 56 09 F0 |H...LDA #$07.V..|
00003ED0: 00 4C 44 58 20 B3 23 54 52 4B 00 64 09 FA 00 4C |.LDX .#TRK.d...L|
00003EE0: 44 59 20 B1 23 54 52 4B 00 72 09 04 01 4A 53 52 |DY .#TRK.r...JSR|
00003EF0: 20 53 45 54 4E 4D 00 7F 09 0E 01 4C 44 41 20 23 | SETNM.....LDA #|
00003F00: 24 30 46 00 8C 09 18 01 4C 44 58 20 23 24 30 38 |$0F.....LDX #$08|
00003F10: 00 99 09 22 01 4C 44 59 20 23 24 30 46 00 A8 09 |...".LDY #$0F...|
00003F20: 2C 01 4A 53 52 20 53 45 54 4C 46 53 00 B2 09 36 |,.JSR SETLFS...6|
00003F30: 01 4A 53 52 20 9F 00 C0 09 40 01 4A 53 52 20 44 |.JSR ....@.JSR D|
00003F40: 45 4C 41 59 00 CD 09 4A 01 4A 53 52 20 43 4C 53 |ELAY...J.JSR CLS|
00003F50: 45 00 DA 09 54 01 4C 44 41 20 23 24 30 37 00 E9 |E...T.LDA #$07..|
00003F60: 09 5E 01 4C 44 58 20 B3 23 53 45 45 4B 00 F8 09 |.^.LDX .#SEEK...|
00003F70: 68 01 4C 44 59 20 B1 23 53 45 45 4B 00 06 0A 72 |h.LDY .#SEEK...r|
00003F80: 01 4A 53 52 20 53 45 54 4E 4D 00 13 0A 7C 01 4C |.JSR SETNM...|.L|
00003F90: 44 41 20 23 24 30 46 00 20 0A 86 01 4C 44 58 20 |DA #$0F. ...LDX |
00003FA0: 23 24 30 38 00 2D 0A 90 01 4C 44 59 20 23 24 30 |#$08.-...LDY #$0|
00003FB0: 46 00 37 0A 9A 01 4A 53 52 20 9F 00 45 0A A4 01 |F.7...JSR ..E...|
00003FC0: 4A 53 52 20 44 45 4C 41 59 00 52 0A AE 01 4A 53 |JSR DELAY.R...JS|
00003FD0: 52 20 43 4C 53 45 00 5F 0A B8 01 4C 44 41 20 23 |R CLSE._...LDA #|
00003FE0: 24 30 35 00 67 0A C2 01 42 52 4B 00 7D 0A CC 01 |$05.g...BRK.}...|
00003FF0: 48 41 4C 46 20 4C 44 58 20 B3 23 44 53 4B 43 4E |HALF LDX .#DSKCN|
00004000: 54 00 8E 0A D6 01 4C 44 59 20 B1 23 44 53 4B 43 |T.....LDY .#DSKC|
00004010: 4E 54 00 9C 0A E0 01 4A 53 52 20 53 45 54 4E 4D |NT.....JSR SETNM|
00004020: 00 A9 0A EA 01 4C 44 41 20 23 24 30 46 00 B6 0A |.....LDA #$0F...|
00004030: F4 01 4C 44 58 20 23 24 30 38 00 C3 0A FE 01 4C |..LDX #$08.....L|
00004040: 44 59 20 23 24 30 46 00 D2 0A 08 02 4A 53 52 20 |DY #$0F.....JSR |
00004050: 53 45 54 4C 46 53 00 DC 0A 12 02 4A 53 52 20 9F |SETLFS.....JSR .|
00004060: 00 EA 0A 1C 02 4A 53 52 20 44 45 4C 41 59 00 F7 |.....JSR DELAY..|
00004070: 0A 26 02 4C 44 41 20 23 24 30 38 00 03 0B 30 02 |.&.LDA #$08...0.|
00004080: 4A 53 52 20 54 4C 4B 00 10 0B 3A 02 4C 44 41 20 |JSR TLK...:.LDA |
00004090: 23 24 46 46 00 1F 0B 44 02 4A 53 52 20 54 4C 4B |#$FF...D.JSR TLK|
000040A0: 53 45 43 00 2A 0B 4E 02 4A 53 52 20 49 4E 00 37 |SEC.*.N.JSR IN.7|
000040B0: 0B 58 02 53 54 41 20 48 45 41 44 00 45 0B 62 02 |.X.STA HEAD.E.b.|
000040C0: 4A 53 52 20 55 4E 54 4C 4B 00 52 0B 6C 02 4A 53 |JSR UNTLK.R.l.JS|
000040D0: 52 20 43 4C 53 45 00 5F 0B 76 02 4C 44 41 20 48 |R CLSE._.v.LDA H|
000040E0: 45 41 44 00 6A 0B 80 02 AF 20 23 24 46 43 00 79 |EAD.j.... #$FC.y|
000040F0: 0B 8A 02 53 54 41 20 48 45 41 44 AA 31 00 81 0B |...STA HEAD.1...|
00004100: 94 02 43 4C 43 00 8E 0B 9E 02 41 44 43 20 23 24 |..CLC.....ADC #$|
00004110: 30 33 00 9C 0B A8 02 53 54 41 20 42 4D 50 AA 36 |03.....STA BMP.6|
00004120: 00 A9 0B B2 02 4C 44 41 20 23 24 30 37 00 B7 0B |.....LDA #$07...|
00004130: BC 02 4C 44 58 20 B3 23 42 4D 50 00 C5 0B C6 02 |..LDX .#BMP.....|
00004140: 4C 44 59 20 B1 23 42 4D 50 00 D3 0B D0 02 4A 53 |LDY .#BMP.....JS|
00004150: 52 20 53 45 54 4E 4D 00 E0 0B DA 02 4C 44 41 20 |R SETNM.....LDA |
00004160: 23 24 30 46 00 ED 0B E4 02 4C 44 58 20 23 24 30 |#$0F.....LDX #$0|
00004170: 38 00 FA 0B EE 02 4C 44 59 20 23 24 30 46 00 09 |8.....LDY #$0F..|
00004180: 0C F8 02 4A 53 52 20 53 45 54 4C 46 53 00 13 0C |...JSR SETLFS...|
00004190: 02 03 4A 53 52 20 9F 00 20 0C 0C 03 4A 53 52 20 |..JSR .. ...JSR |
000041A0: 43 4C 53 45 00 28 0C 16 03 52 54 53 00 3B 0C 20 |CLSE.(...RTS.;. |
000041B0: 03 44 45 4C 41 59 20 4C 44 58 20 23 24 30 30 00 |.DELAY LDX #$00.|
000041C0: 48 0C 2A 03 53 54 58 20 54 49 4D 45 00 57 0C 34 |H.*.STX TIME.W.4|
000041D0: 03 53 54 58 20 54 49 4D 45 AA 31 00 68 0C 3E 03 |.STX TIME.1.h.>.|
000041E0: 4C 50 35 20 49 4E 43 20 54 49 4D 45 00 75 0C 48 |LP5 INC TIME.u.H|
000041F0: 03 4C 44 59 20 54 49 4D 45 00 82 0C 52 03 43 50 |.LDY TIME...R.CP|
00004200: 59 20 23 24 46 46 00 8E 0C 5C 03 42 4E 45 20 4C |Y #$FF...\.BNE L|
00004210: 50 35 00 9D 0C 66 03 49 4E 43 20 54 49 4D 45 AA |P5...f.INC TIME.|
00004220: 31 00 AC 0C 70 03 4C 44 59 20 54 49 4D 45 AA 31 |1...p.LDY TIME.1|
00004230: 00 B9 0C 7A 03 43 50 59 20 23 24 46 46 00 C5 0C |...z.CPY #$FF...|
00004240: 84 03 42 4E 45 20 4C 50 35 00 CD 0C 8E 03 49 4E |..BNE LP5.....IN|
00004250: 58 00 DA 0C 98 03 43 50 58 20 23 24 30 33 00 E6 |X.....CPX #$03..|
00004260: 0C A2 03 42 4E 45 20 4C 50 35 00 EE 0C AC 03 52 |...BNE LP5.....R|
00004270: 54 53 00 00 0D B6 03 43 4C 53 45 20 4C 44 41 20 |TS.....CLSE LDA |
00004280: 23 24 30 46 00 0A 0D C0 03 4A 53 52 20 A0 00 12 |#$0F.....JSR ...|
00004290: 0D CA 03 52 54 53 00 5A 0D DE 03 3B 41 4C 4C 20 |...RTS.Z...;ALL |
000042A0: 4F 46 20 54 48 45 53 45 20 52 4F 55 54 49 4E 45 |OF THESE ROUTINE|
000042B0: 53 20 41 52 45 20 44 4F 43 55 4D 45 4E 54 45 44 |S ARE DOCUMENTED|
000042C0: 20 49 4E 20 4F 54 48 45 52 20 50 52 4F 47 52 41 | IN OTHER PROGRA|
000042D0: 4D 53 20 91 20 54 48 49 53 20 44 49 53 4B 00 A1 |MS . THIS DISK..|
000042E0: 0D E8 03 3B 54 48 45 20 91 4C 59 20 A2 20 49 54 |...;THE .LY . IT|
000042F0: 45 4D 20 48 45 52 45 20 49 53 20 48 4F 57 20 57 |EM HERE IS HOW W|
00004300: 45 20 4D 4F 56 45 20 54 48 45 20 48 45 41 44 20 |E MOVE THE HEAD |
00004310: 48 41 4C 46 20 41 20 54 52 41 43 4B 20 57 49 54 |HALF A TRACK WIT|
00004320: 48 20 54 48 45 00 E9 0D F2 03 3B 52 4F 55 54 49 |H THE.....;ROUTI|
00004330: 4E 45 20 48 41 4C 46 20 49 4E 20 41 20 4E 55 54 |NE HALF IN A NUT|
00004340: 20 53 48 45 4C 4C 20 57 45 20 87 20 24 31 43 30 | SHELL WE . $1C0|
00004350: 30 20 49 4E 20 54 48 45 20 31 35 34 31 20 42 59 |0 IN THE 1541 BY|
00004360: 20 4D 41 4E 49 50 55 4C 41 54 49 4E 47 00 31 0E | MANIPULATING.1.|
00004370: FC 03 3B 42 49 54 53 20 30 20 AF 20 31 20 57 45 |..;BITS 0 . 1 WE|
00004380: 20 4D 4F 56 45 20 54 48 45 20 48 45 41 44 20 49 | MOVE THE HEAD I|
00004390: 4E 20 54 48 49 53 20 43 41 53 45 20 57 45 20 53 |N THIS CASE WE S|
000043A0: 45 54 20 42 4F 54 48 20 42 49 54 53 20 A4 20 31 |ET BOTH BITS . 1|
000043B0: 20 54 48 49 53 00 7B 0E 06 04 3B 4D 4F 56 45 53 | THIS.{...;MOVES|
000043C0: 20 54 48 45 20 48 45 41 44 20 42 41 43 4B 20 91 | THE HEAD BACK .|
000043D0: 45 20 48 41 4C 46 20 54 52 41 43 4B 20 4E 4F 57 |E HALF TRACK NOW|
000043E0: 20 54 48 45 20 48 45 41 44 20 49 53 20 41 20 48 | THE HEAD IS A H|
000043F0: 41 4C 46 20 54 52 41 43 4B 20 42 45 4C 4F 57 00 |ALF TRACK BELOW.|
00004400: C5 0E 10 04 3B 54 52 41 43 4B 20 91 45 20 57 48 |....;TRACK .E WH|
00004410: 45 4E 20 57 45 20 89 20 53 45 45 4B 20 54 48 45 |EN WE . SEEK THE|
00004420: 20 31 35 34 31 20 52 4F 4D 20 53 54 41 52 54 53 | 1541 ROM STARTS|
00004430: 20 43 4F 55 4E 54 49 4E 47 20 44 4F 57 4E 20 48 | COUNTING DOWN H|
00004440: 4F 57 20 46 41 52 20 49 54 00 0E 0F 1A 04 3B 4D |OW FAR IT.....;M|
00004450: 4F 56 45 44 20 46 52 4F 4D 20 57 48 45 52 45 20 |OVED FROM WHERE |
00004460: 49 54 20 54 48 4F 55 47 48 54 20 49 54 20 57 41 |IT THOUGHT IT WA|
00004470: 53 20 28 54 52 41 43 4B 20 91 45 29 20 57 48 45 |S (TRACK .E) WHE|
00004480: 4E 20 49 54 20 90 53 20 49 54 53 20 41 20 48 41 |N IT .S ITS A HA|
00004490: 4C 46 00 37 0F 24 04 3B 54 52 41 43 4B 20 53 48 |LF.7.$.;TRACK SH|
000044A0: B0 54 20 4F 46 20 57 48 45 52 45 20 49 54 53 20 |.T OF WHERE ITS |
000044B0: 53 55 50 B9 45 44 20 A4 20 42 45 00 82 0F 29 04 |SUP.ED . BE...).|
000044C0: 3B 54 48 45 20 46 4F 4C 4C 4F 57 49 4E 47 20 30 |;THE FOLLOWING 0|
000044D0: 20 42 59 54 45 20 48 41 53 20 A8 48 49 4E 47 20 | BYTE HAS .HING |
000044E0: A4 20 44 4F 20 57 49 54 48 20 54 48 45 20 50 52 |. DO WITH THE PR|
000044F0: 4F 47 52 41 4D 20 49 4E 53 54 45 41 44 20 49 54 |OGRAM INSTEAD IT|
00004500: 20 46 49 58 45 53 00 C4 0F 2A 04 3B 41 20 42 55 | FIXES...*.;A BU|
00004510: 47 20 49 4E 20 54 48 45 20 41 53 53 45 4D 42 4C |G IN THE ASSEMBL|
00004520: 45 52 20 41 46 54 45 52 20 41 20 4C 91 47 20 99 |ER AFTER A L.G .|
00004530: 20 52 4F 55 54 49 4E 45 20 4C 49 4B 45 20 54 48 | ROUTINE LIKE TH|
00004540: 49 53 20 91 45 20 49 54 00 0B 10 2B 04 3B 53 4F |IS .E IT...+.;SO|
00004550: 4D 45 54 49 4D 45 53 20 4D 41 4B 45 53 20 41 20 |METIMES MAKES A |
00004560: 4D 41 54 48 20 4D 49 53 54 41 4B 45 20 91 20 54 |MATH MISTAKE . T|
00004570: 48 45 20 46 49 52 53 54 20 4D 41 54 48 20 42 59 |HE FIRST MATH BY|
00004580: 54 45 20 28 37 37 20 49 4E 20 42 55 4D 50 29 00 |TE (77 IN BUMP).|
00004590: 49 10 2C 04 3B A4 20 49 4E 53 55 52 45 20 54 48 |I.,.;. INSURE TH|
000045A0: 49 53 20 44 4F 45 53 27 4E 54 20 48 41 50 50 45 |IS DOES'NT HAPPE|
000045B0: 4E 20 41 20 2E 42 59 54 45 20 30 20 A4 20 53 45 |N A .BYTE 0 . SE|
000045C0: 54 20 54 48 45 20 42 55 46 46 45 52 53 00 55 10 |T THE BUFFERS.U.|
000045D0: 2D 04 2E 42 59 54 45 20 30 00 7A 10 2E 04 42 55 |-..BYTE 0.z...BU|
000045E0: 4D 50 20 2E 42 59 54 45 20 37 37 20 34 35 20 38 |MP .BYTE 77 45 8|
000045F0: 37 20 30 30 20 30 30 20 30 31 20 31 39 32 00 9F |7 00 00 01 192..|
00004600: 10 38 04 53 45 45 4B 20 2E 42 59 54 45 20 37 37 |.8.SEEK .BYTE 77|
00004610: 20 34 35 20 38 37 20 30 30 20 30 30 20 30 31 20 | 45 87 00 00 01 |
00004620: 31 37 36 00 CA 10 3D 04 3B 54 48 49 53 20 49 53 |176...=.;THIS IS|
00004630: 20 23 24 45 30 20 41 54 20 24 30 30 20 5A 45 52 | #$E0 AT $00 ZER|
00004640: 4F 20 50 41 47 45 20 4F 46 20 31 35 34 31 00 ED |O PAGE OF 1541..|
00004650: 10 42 04 54 52 4B 20 2E 42 59 54 45 20 37 37 20 |.B.TRK .BYTE 77 |
00004660: 34 35 20 38 37 20 30 36 20 30 30 20 30 31 20 31 |45 87 06 00 01 1|
00004670: 37 00 30 11 47 04 3B 54 48 49 53 20 49 53 20 4F |7.0.G.;THIS IS O|
00004680: 55 52 20 54 52 41 43 4B 20 41 54 20 24 30 37 20 |UR TRACK AT $07 |
00004690: 5A 45 52 4F 20 50 41 47 45 20 4F 46 20 31 35 34 |ZERO PAGE OF 154|
000046A0: 31 20 81 20 4E 4F 57 20 59 4F 55 20 48 41 56 45 |1 . NOW YOU HAVE|
000046B0: 20 A4 20 97 00 73 11 48 04 3B 54 48 45 20 54 52 | . ..s.H.;THE TR|
000046C0: 41 43 4B 20 49 4E 20 42 55 54 20 59 4F 55 20 43 |ACK IN BUT YOU C|
000046D0: 4F 55 4C 44 20 4D 45 52 47 45 20 41 20 50 41 52 |OULD MERGE A PAR|
000046E0: 54 20 B0 20 53 43 52 45 45 4E 20 48 45 52 45 20 |T . SCREEN HERE |
000046F0: A4 20 44 4F 20 49 54 00 93 11 4C 04 44 53 4B 43 |. DO IT...L.DSKC|
00004700: 4E 54 20 2E 42 59 54 45 20 37 37 20 34 35 20 38 |NT .BYTE 77 45 8|
00004710: 32 20 30 30 20 32 38 00 B6 11 56 04 42 4D 50 20 |2 00 28...V.BMP |
00004720: 2E 42 59 54 45 20 37 37 20 34 35 20 38 37 20 30 |.BYTE 77 45 87 0|
00004730: 30 20 32 38 20 30 31 20 30 30 00 C9 11 60 04 54 |0 28 01 00...`.T|
00004740: 49 4D 45 20 2E 42 59 54 45 20 30 20 30 00 DC 11 |IME .BYTE 0 0...|
00004750: 6A 04 48 45 41 44 20 2E 42 59 54 45 20 30 20 30 |j.HEAD .BYTE 0 0|
00004760: 00 EE 11 74 04 2E 80 20 48 41 4C 46 20 54 52 41 |...t... HALF TRA|
00004770: 43 4B 00 00 00 4D 41 54 48 20 42 59 54 45 20 28 |CK...MATH BYTE (|
00004780: 37 37 20 49 4E 20 42 55 4D 50 29 00 49 10 2C 04 |77 IN BUMP).I.,.|
00004790: 3B A4 20 49 4E 53 55 52 45 20 54 48 49 53 20 44 |;. INSURE THIS D|
000047A0: 4F 45 53 27 4E 54 20 48 41 50 50 45 4E 20 41 20 |OES'NT HAPPEN A |
000047B0: 2E 42 59 54 45 20 30 20 A4 20 53 45 54 20 54 48 |.BYTE 0 . SET TH|
000047C0: 45 20 42 55 46 46 45 52 53 00 55 10 2D 04 2E 42 |E BUFFERS.U.-..B|
000047D0: 59 54 45 20 30 00 7A 10 2E 04 42 55 4D 50 20 2E |YTE 0.z...BUMP .|
000047E0: 42 59 54 45 20 37 37 20 34 35 20 38 37 20 30 30 |BYTE 77 45 87 00|
000047F0: 20 30 30 20 30 31 20 31 39 32 00 9F 10 38 04 53 | 00 01 192...8.S|
00004800: 45 45 4B 20 2E 42 59 54 45 20 37 37 20 34 35 20 |EEK .BYTE 77 45 |
00004810: 38 37 20 30 30 20 30 30 20 30 31 20 31 37 36 00 |87 00 00 01 176.|
00004820: CA 10 3D 04 3B 54 48 49 53 20 49 53 20 23 24 45 |..=.;THIS IS #$E|
00004830: 30 20 41 54 20 24 30 30 20 5A 45 52 4F 20 50 41 |0 AT $00 ZERO PA|
00004840: 47 45 20 4F 46 20 31 35 34 31 00 ED 10 42 04 54 |GE OF 1541...B.T|
00004850: 52 4B 20 2E 42 59 54 45 20 37 37 20 34 35 20 38 |RK .BYTE 77 45 8|
00004860: 37 20 30 36 20 30 30 20 30 31 20 31 37 00 01 08 |7 06 00 01 17...|
00004870: 0E 08 0A 00 AC B2 20 24 37 31 30 30 00 15 08 0B |...... $7100....|
00004880: 00 2E 53 00 50 08 1E 00 3B 52 4F 55 54 49 4E 45 |..S.P...;ROUTINE|
00004890: 20 43 48 41 4E 47 45 53 20 C6 49 49 20 A4 20 48 | CHANGES .II . H|
000048A0: 45 58 20 81 20 55 53 45 20 57 49 54 48 49 4E 20 |EX . USE WITHIN |
000048B0: 4F 54 48 45 52 20 52 4F 55 54 49 4E 45 53 00 71 |OTHER ROUTINES.q|
000048C0: 08 32 00 3B 36 34 20 52 4F 4D 20 52 4F 55 54 49 |.2.;64 ROM ROUTI|
000048D0: 4E 45 53 20 26 20 41 44 44 52 45 53 53 45 53 00 |NES & ADDRESSES.|
000048E0: 7F 08 3C 00 99 20 B2 20 24 46 46 44 32 00 8F 08 |..<.. . $FFD2...|
000048F0: 46 00 A1 49 4E 20 B2 20 24 46 46 45 34 00 AA 08 |F..IN . $FFE4...|
00004900: 5A 00 3B 31 35 34 31 20 52 4F 4D 20 52 4F 55 54 |Z.;1541 ROM ROUT|
00004910: 49 4E 45 53 20 4E 91 45 00 B7 08 6E 00 4C 44 41 |INES N.E...n.LDA|
00004920: 20 23 24 39 33 00 C1 08 78 00 4A 53 52 20 99 00 | #$93...x.JSR ..|
00004930: CE 08 82 00 4C 44 59 20 23 24 30 30 00 E0 08 8C |....LDY #$00....|
00004940: 00 4C 50 31 20 4C 44 41 20 4D 45 53 2C 59 00 ED |.LP1 LDA MES,Y..|
00004950: 08 96 00 43 4D 50 20 23 24 30 30 00 FB 08 A0 00 |...CMP #$00.....|
00004960: 42 45 51 20 53 54 41 52 54 00 05 09 AA 00 4A 53 |BEQ START.....JS|
00004970: 52 20 99 00 0D 09 B4 00 49 4E 59 00 19 09 BE 00 |R ......INY.....|
00004980: 4A 4D 50 20 4C 50 31 00 4C 09 D2 00 3B 54 48 49 |JMP LP1.L...;THI|
00004990: 53 20 52 4F 55 54 49 4E 45 20 49 53 20 BD 4C 41 |S ROUTINE IS .LA|
000049A0: 49 4E 45 44 20 49 4E 20 53 43 52 45 45 4E 20 91 |INED IN SCREEN .|
000049B0: 20 54 48 49 53 20 44 49 53 4B 00 5F 09 E6 00 53 | THIS DISK._...S|
000049C0: 54 41 52 54 20 4C 44 41 20 23 24 30 30 00 6A 09 |TART LDA #$00.j.|
000049D0: F0 00 53 54 41 20 43 54 00 79 09 FA 00 4C 44 41 |..STA CT.y...LDA|
000049E0: 20 B3 23 42 55 46 46 00 87 09 04 01 53 54 41 20 | .#BUFF.....STA |
000049F0: 4E 55 4D AA 31 00 D1 09 18 01 3B 48 45 52 45 20 |NUM.1.....;HERE |
00004A00: 57 45 20 53 45 54 20 4F 55 52 20 42 55 46 46 45 |WE SET OUR BUFFE|
00004A10: 52 53 20 AF 20 46 4C 41 47 53 20 41 53 20 57 45 |RS . FLAGS AS WE|
00004A20: 20 57 49 4C 4C 20 42 45 20 43 48 41 4E 47 49 4E | WILL BE CHANGIN|
00004A30: 47 20 41 44 44 52 45 53 53 45 53 20 55 BF 47 00 |G ADDRESSES U.G.|
00004A40: 0F 0A 22 01 3B 49 4E 43 20 8B 20 57 45 20 44 91 |..".;INC . WE D.|
00004A50: 54 20 52 45 53 45 54 20 54 48 45 4D 20 41 4C 4C |T RESET THEM ALL|
00004A60: 20 43 41 4C 43 55 4C 41 54 49 91 53 20 57 4F 55 | CALCULATI.S WOU|
00004A70: 4C 44 20 42 45 20 55 53 45 4C 45 53 53 00 1D 0A |LD BE USELESS...|
00004A80: 36 01 A1 20 4A 53 52 20 A1 49 4E 00 2A 0A 40 01 |6.. JSR .IN.*.@.|
00004A90: 43 4D 50 20 23 24 30 30 00 34 0A 4A 01 42 45 51 |CMP #$00.4.J.BEQ|
00004AA0: 20 A1 00 45 0A 54 01 4E 55 4D 20 53 54 41 20 42 | ..E.T.NUM STA B|
00004AB0: 55 46 46 00 4F 0A 5E 01 4A 53 52 20 99 00 5D 0A |UFF.O.^.JSR ..].|
00004AC0: 68 01 49 4E 43 20 4E 55 4D AA 31 00 68 0A 72 01 |h.INC NUM.1.h.r.|
00004AD0: 49 4E 43 20 43 54 00 73 0A 7C 01 4C 44 58 20 43 |INC CT.s.|.LDX C|
00004AE0: 54 00 80 0A 86 01 43 50 58 20 23 24 30 32 00 8A |T.....CPX #$02..|
00004AF0: 0A 90 01 42 4E 45 20 A1 00 CB 0A A4 01 3B 48 45 |...BNE ......;HE|
00004B00: 52 45 20 57 45 20 A1 20 4F 55 52 20 54 57 4F 20 |RE WE . OUR TWO |
00004B10: C6 49 49 20 4E 55 4D 42 45 52 53 20 46 52 4F 4D |.II NUMBERS FROM|
00004B20: 20 54 48 45 20 4B 45 59 42 4F 41 52 44 20 AF 20 | THE KEYBOARD . |
00004B30: 53 A4 52 45 20 54 48 45 4D 00 D8 0A B8 01 4C 44 |S.RE THEM.....LD|
00004B40: 41 20 42 55 46 46 00 E4 0A C2 01 4A 53 52 20 43 |A BUFF.....JSR C|
00004B50: 91 56 00 F8 0A CC 01 41 53 4C 3A 41 53 4C 3A 41 |.V.....ASL:ASL:A|
00004B60: 53 4C 3A 41 53 4C 00 07 0B D6 01 53 54 41 20 42 |SL:ASL.....STA B|
00004B70: 55 46 46 AA 32 00 4B 0B EA 01 3B 4A 53 52 20 43 |UFF.2.K...;JSR C|
00004B80: 91 56 20 28 43 91 56 45 52 54 29 20 49 53 20 BD |.V (C.VERT) IS .|
00004B90: 4C 41 49 4E 45 44 20 42 45 4C 4F 57 20 41 46 54 |LAINED BELOW AFT|
00004BA0: 45 52 20 8E 49 4E 47 20 57 45 20 48 41 56 45 20 |ER .ING WE HAVE |
00004BB0: 4F 55 52 20 46 49 52 53 54 00 8B 0B F4 01 3B 52 |OUR FIRST.....;R|
00004BC0: 45 41 4C 20 4E 55 4D 42 45 52 20 54 48 49 53 20 |EAL NUMBER THIS |
00004BD0: 4E 55 4D 42 45 52 20 48 41 53 20 A4 20 42 45 20 |NUMBER HAS . BE |
00004BE0: 4D 55 4C 54 49 50 4C 49 45 44 20 42 59 20 23 31 |MULTIPLIED BY #1|
00004BF0: 36 20 AF 20 53 A4 52 45 44 00 9A 0B 08 02 4C 44 |6 . S.RED.....LD|
00004C00: 41 20 42 55 46 46 AA 31 00 A6 0B 12 02 4A 53 52 |A BUFF.1.....JSR|
00004C10: 20 43 91 56 00 B5 0B 1C 02 53 54 41 20 42 55 46 | C.V.....STA BUF|
00004C20: 46 AA 33 00 F5 0B 30 02 3B 54 48 49 53 20 49 53 |F.3...0.;THIS IS|
00004C30: 20 4F 55 52 20 53 45 43 91 44 20 4E 55 4D 42 45 | OUR SEC.D NUMBE|
00004C40: 52 20 46 52 4F 4D 20 54 48 45 20 4B 45 59 42 4F |R FROM THE KEYBO|
00004C50: 41 52 44 20 49 54 27 53 20 53 A4 52 45 44 20 41 |ARD IT'S S.RED A|
00004C60: 4C 53 4F 00 FD 0B 44 02 43 4C 43 00 0C 0C 4E 02 |LSO...D.CLC...N.|
00004C70: 4C 44 41 20 42 55 46 46 AA 32 00 1B 0C 58 02 41 |LDA BUFF.2...X.A|
00004C80: 44 43 20 42 55 46 46 AA 33 00 2A 0C 62 02 53 54 |DC BUFF.3.*.b.ST|
00004C90: 41 20 42 55 46 46 AA 34 00 32 0C 6C 02 42 52 4B |A BUFF.4.2.l.BRK|
00004CA0: 00 72 0C 80 02 3B 57 45 20 43 4C 45 41 52 20 54 |.r...;WE CLEAR T|
00004CB0: 48 45 20 43 20 46 4C 41 47 20 81 20 41 44 44 49 |HE C FLAG . ADDI|
00004CC0: 54 54 49 91 20 AF 20 41 44 44 20 54 48 45 20 54 |TTI. . ADD THE T|
00004CD0: 57 4F 20 4E 55 4D 42 45 52 53 20 A4 A1 48 45 52 |WO NUMBERS ..HER|
00004CE0: 00 B7 0C 8A 02 3B 49 54 53 20 54 48 45 20 53 A4 |.....;ITS THE S.|
00004CF0: 52 45 44 20 81 20 46 55 54 55 52 45 20 55 53 45 |RED . FUTURE USE|
00004D00: 20 41 53 20 57 49 54 48 20 41 4C 4C 20 52 4F 55 | AS WITH ALL ROU|
00004D10: 54 49 4E 45 53 20 91 20 54 48 49 53 20 44 49 53 |TINES . THIS DIS|
00004D20: 4B 20 54 48 45 00 F7 0C 94 02 3B 42 55 46 46 45 |K THE.....;BUFFE|
00004D30: 52 20 49 53 20 45 58 54 80 45 44 20 4F 55 54 20 |R IS EXT.ED OUT |
00004D40: 49 45 20 54 48 45 20 46 49 52 53 54 20 54 57 4F |IE THE FIRST TWO|
00004D50: 20 48 4F 4C 44 20 4F 55 52 20 B0 49 47 49 4E 41 | HOLD OUR .IGINA|
00004D60: 4C 20 C6 49 49 00 3C 0D 9E 02 3B 54 48 45 20 82 |L .II.<...;THE .|
00004D70: 20 54 57 4F 20 48 4F 4C 44 20 4F 55 52 20 52 45 | TWO HOLD OUR RE|
00004D80: 41 4C 20 4E 55 4D 42 45 52 53 20 AF 20 54 48 45 |AL NUMBERS . THE|
00004D90: 20 4C 41 53 54 20 49 53 20 54 48 45 20 41 44 44 | LAST IS THE ADD|
00004DA0: 49 54 54 49 91 20 54 48 49 53 00 88 0D A8 02 3B |ITTI. THIS.....;|
00004DB0: 43 4F 55 4C 44 20 42 45 20 53 43 41 4C 45 44 20 |COULD BE SCALED |
00004DC0: 44 4F 57 4E 20 42 55 54 20 49 54 27 53 20 45 41 |DOWN BUT IT'S EA|
00004DD0: 53 49 45 52 20 A4 20 55 4E 44 45 52 53 C0 44 20 |SIER . UNDERS.D |
00004DE0: 54 48 49 53 20 57 41 59 20 41 53 20 57 45 20 43 |THIS WAY AS WE C|
00004DF0: 41 4E 20 53 45 45 00 CC 0D B2 02 3B 45 58 41 43 |AN SEE.....;EXAC|
00004E00: 54 4C 59 20 57 48 41 54 20 49 53 20 48 41 50 50 |TLY WHAT IS HAPP|
00004E10: 45 4E 49 4E 47 20 42 59 20 87 49 4E 47 20 54 48 |ENING BY .ING TH|
00004E20: 45 20 42 55 46 46 45 52 20 46 52 4F 4D 20 4C 45 |E BUFFER FROM LE|
00004E30: 46 54 20 A4 20 52 49 47 48 54 00 DD 0D C6 02 43 |FT . RIGHT.....C|
00004E40: 91 56 20 43 4D 50 20 23 24 33 41 00 EA 0D D0 02 |.V CMP #$3A.....|
00004E50: 42 43 43 20 4E 49 4E 45 00 F2 0D DA 02 53 45 43 |BCC NINE.....SEC|
00004E60: 00 FF 0D E4 02 53 42 43 20 23 24 33 37 00 07 0E |.....SBC #$37...|
00004E70: EE 02 52 54 53 00 14 0E F8 02 4E 49 4E 45 20 53 |..RTS.....NINE S|
00004E80: 45 43 00 21 0E 02 03 53 42 43 20 23 24 33 30 00 |EC.!...SBC #$30.|
00004E90: 29 0E 0C 03 43 4C 43 00 31 0E 16 03 52 54 53 00 |)...CLC.1...RTS.|
00004EA0: 78 0E 2A 03 3B 48 45 52 45 20 57 45 20 43 4F 4D |x.*.;HERE WE COM|
00004EB0: 50 41 52 45 20 4F 55 52 20 4E 55 4D 42 45 52 53 |PARE OUR NUMBERS|
00004EC0: 20 A4 20 53 45 45 20 8B 20 54 48 45 52 45 20 47 | . SEE . THERE G|
00004ED0: 52 45 41 54 45 52 20 54 48 41 4E 20 23 39 20 8B |REATER THAN #9 .|
00004EE0: 20 53 4F 20 57 45 00 BC 0E 34 03 3B 49 47 4E B0 | SO WE...4.;IGN.|
00004EF0: 45 20 54 48 45 20 42 52 41 4E 43 48 20 AF 20 53 |E THE BRANCH . S|
00004F00: 55 42 54 52 41 43 54 20 23 35 35 20 46 52 4F 4D |UBTRACT #55 FROM|
00004F10: 20 49 54 20 28 41 20 B2 20 23 36 35 20 C6 49 49 | IT (A . #65 .II|
00004F20: 20 4D 49 4E 55 53 20 23 35 35 00 F6 0E 3E 03 3B | MINUS #55...>.;|
00004F30: 45 51 55 41 4C 53 20 23 31 30 20 41 20 52 45 41 |EQUALS #10 A REA|
00004F40: 4C 20 23 31 30 29 20 54 48 49 53 20 4E 55 4D 42 |L #10) THIS NUMB|
00004F50: 45 52 20 43 41 4E 20 42 45 20 57 B0 4B 45 44 20 |ER CAN BE W.KED |
00004F60: 57 49 54 48 00 3B 0F 48 03 3B 8B 20 54 48 45 20 |WITH.;.H.;. THE |
00004F70: 4E 55 4D 42 45 52 20 49 53 20 4E 49 4E 45 20 B0 |NUMBER IS NINE .|
00004F80: 20 4C 45 53 53 20 57 45 20 4A 55 53 54 20 53 55 | LESS WE JUST SU|
00004F90: 42 54 52 41 43 54 20 23 24 33 30 20 46 52 4F 4D |BTRACT #$30 FROM|
00004FA0: 20 49 54 20 AF 20 52 54 53 00 50 0F 5C 03 3B 42 | IT . RTS.P.\.;B|
00004FB0: 55 46 46 45 52 53 20 AF 20 46 4C 41 47 53 00 79 |UFFERS . FLAGS.y|
00004FC0: 0F 70 03 4D 45 53 20 2E 42 59 54 45 20 22 45 4E |.p.MES .BYTE "EN|
00004FD0: 54 45 52 20 48 45 58 20 4E 55 4D 42 45 52 20 3A |TER HEX NUMBER :|
00004FE0: 2E 42 59 54 45 20 30 00 88 0F 7A 03 43 54 20 2E |.BYTE 0...z.CT .|
00004FF0: 42 59 54 45 20 30 00 9F 0F 84 03 42 55 46 46 20 |BYTE 0.....BUFF |
00005000: 2E 42 59 54 45 20 30 20 30 20 30 20 30 00 B0 0F |.BYTE 0 0 0 0...|
00005010: 8E 03 2E 80 20 C6 49 49 20 A4 20 48 45 58 00 00 |.... .II . HEX..|
00005020: 00 46 45 52 20 46 52 4F 4D 20 4C 45 46 54 20 A4 |.FER FROM LEFT .|
00005030: 20 52 49 47 48 54 00 DD 0D C6 02 43 91 56 20 43 | RIGHT.....C.V C|
00005040: 4D 50 20 23 24 33 41 00 EA 0D D0 02 42 43 43 20 |MP #$3A.....BCC |
00005050: 4E 49 4E 45 00 F2 0D DA 02 53 45 43 00 FF 01 08 |NINE.....SEC....|
00005060: 0E 08 0A 00 AC B2 20 24 37 31 30 30 00 15 08 14 |...... $7100....|
00005070: 00 2E 53 00 28 08 1E 00 3B AC AC AC AC AC AC AC |..S.(...;.......|
00005080: AC AC AC AC AC AC 00 40 08 28 00 3B 48 45 58 20 |.......@.(.;HEX |
00005090: A4 20 C6 49 49 20 43 91 56 45 52 53 49 91 00 61 |. .II C.VERSI..a|
000050A0: 08 3C 00 3B 36 34 20 52 4F 4D 20 52 4F 55 54 49 |.<.;64 ROM ROUTI|
000050B0: 4E 45 53 20 26 20 41 44 44 52 45 53 53 45 53 00 |NES & ADDRESSES.|
000050C0: 6F 08 50 00 99 20 B2 20 24 46 46 44 32 00 7C 08 |o.P.. . $FFD2.|.|
000050D0: 64 00 4C 44 41 20 23 24 41 35 00 88 08 6E 00 53 |d.LDA #$A5...n.S|
000050E0: 54 41 20 4E 55 4D 00 93 08 78 00 AF 20 23 24 46 |TA NUM...x.. #$F|
000050F0: 30 00 A1 08 82 00 53 54 41 20 4E 55 4D AA 31 00 |0.....STA NUM.1.|
00005100: A9 08 8C 00 53 45 43 00 B5 08 96 00 4C 44 41 20 |....SEC.....LDA |
00005110: 4E 55 4D 00 C3 08 A0 00 53 42 43 20 4E 55 4D AA |NUM.....SBC NUM.|
00005120: 31 00 D1 08 AA 00 53 54 41 20 4E 55 4D AA 32 00 |1.....STA NUM.2.|
00005130: 1B 09 BE 00 3B 54 48 49 53 20 49 53 20 54 48 45 |....;THIS IS THE|
00005140: 20 52 45 56 45 52 53 45 20 4F 46 20 C6 49 49 20 | REVERSE OF .II |
00005150: A4 20 48 45 58 20 57 45 20 46 49 52 53 54 20 54 |. HEX WE FIRST T|
00005160: 55 52 4E 20 4F 46 46 20 54 48 45 20 4C 4F 57 20 |URN OFF THE LOW |
00005170: 46 4F 55 52 20 42 49 54 53 00 5B 09 C8 00 3B A7 |FOUR BITS.[...;.|
00005180: 20 53 55 42 54 52 41 43 54 20 54 48 49 53 20 4E | SUBTRACT THIS N|
00005190: 55 4D 42 45 52 20 46 52 4F 4D 20 54 48 45 20 B0 |UMBER FROM THE .|
000051A0: 49 47 49 4E 41 4C 20 23 24 41 35 20 B2 20 23 24 |IGINAL #$A5 . #$|
000051B0: 41 30 20 AF 20 23 24 30 35 00 69 09 DC 00 4C 44 |A0 . #$05.i...LD|
000051C0: 41 20 4E 55 4D AA 31 00 76 09 E6 00 43 4D 50 20 |A NUM.1.v...CMP |
000051D0: 23 24 30 30 00 81 09 F0 00 42 45 51 20 91 45 00 |#$00.....BEQ .E.|
000051E0: 95 09 FA 00 4C 53 52 3A 4C 53 52 3A 4C 53 52 3A |....LSR:LSR:LSR:|
000051F0: 4C 53 52 00 A2 09 04 01 43 4D 50 20 23 24 30 41 |LSR.....CMP #$0A|
00005200: 00 AD 09 0E 01 42 43 43 20 91 45 00 B5 09 18 01 |.....BCC .E.....|
00005210: 43 4C 43 00 C2 09 22 01 41 44 43 20 23 24 33 37 |CLC...".ADC #$37|
00005220: 00 D0 09 2C 01 53 54 41 20 4E 55 4D AA 33 00 DC |...,.STA NUM.3..|
00005230: 09 36 01 4A 4D 50 20 54 57 4F 00 E7 09 40 01 91 |.6.JMP TWO...@..|
00005240: 45 20 43 4C 43 00 F5 09 54 01 53 54 41 20 4E 55 |E CLC...T.STA NU|
00005250: 4D AA 33 00 39 0A 68 01 3B 4F 55 52 20 46 49 52 |M.3.9.h.;OUR FIR|
00005260: 53 54 20 4E 55 4D 42 45 52 20 49 53 20 43 4F 4D |ST NUMBER IS COM|
00005270: 50 41 52 45 44 20 81 20 23 24 30 30 20 8B 20 49 |PARED . #$00 . I|
00005280: 54 20 49 53 20 57 45 20 41 44 44 20 23 24 33 30 |T IS WE ADD #$30|
00005290: 20 8B 20 A8 20 57 45 00 80 0A 72 01 3B 44 49 56 | . . WE...r.;DIV|
000052A0: 49 44 45 20 42 59 20 31 36 20 AF 20 42 59 20 41 |IDE BY 16 . BY A|
000052B0: 44 44 49 4E 47 20 23 24 33 37 20 57 45 20 80 20 |DDING #$37 WE . |
000052C0: 55 50 20 57 49 54 48 20 54 48 45 20 46 49 52 53 |UP WITH THE FIRS|
000052D0: 54 20 48 41 4C 46 20 4F 46 20 23 24 58 58 00 92 |T HALF OF #$XX..|
000052E0: 0A 86 01 54 57 4F 20 4C 44 41 20 4E 55 4D AA 32 |...TWO LDA NUM.2|
000052F0: 00 9F 0A 90 01 43 4D 50 20 23 24 30 41 00 AB 0A |.....CMP #$0A...|
00005300: 9A 01 42 43 43 20 91 45 53 00 B3 0A A4 01 43 4C |..BCC .ES.....CL|
00005310: 43 00 C0 0A AE 01 41 44 43 20 23 24 33 37 00 CE |C.....ADC #$37..|
00005320: 0A B8 01 53 54 41 20 4E 55 4D AA 34 00 DA 0A C2 |...STA NUM.4....|
00005330: 01 4A 4D 50 20 4F 55 54 00 E6 0A CC 01 91 45 53 |.JMP OUT......ES|
00005340: 20 43 4C 43 00 F3 0A D6 01 41 44 43 20 23 24 33 | CLC.....ADC #$3|
00005350: 30 00 01 0B E0 01 53 54 41 20 4E 55 4D AA 34 00 |0.....STA NUM.4.|
00005360: 48 0B F4 01 3B 54 48 45 20 53 45 43 91 44 20 48 |H...;THE SEC.D H|
00005370: 41 4C 46 20 4F 46 20 23 24 58 58 20 43 4F 4D 50 |ALF OF #$XX COMP|
00005380: 41 52 45 44 20 81 20 41 20 4E 55 4D 42 45 52 20 |ARED . A NUMBER |
00005390: 4C 45 53 53 20 54 48 41 4E 20 23 24 30 39 20 8B |LESS THAN #$09 .|
000053A0: 20 49 54 20 49 53 00 69 0B FE 01 3B 57 45 20 41 | IT IS.i...;WE A|
000053B0: 44 44 20 23 24 33 30 20 8B 20 A8 20 57 45 20 41 |DD #$30 . . WE A|
000053C0: 44 44 20 23 24 33 37 00 7A 0B 12 02 4F 55 54 20 |DD #$37.z...OUT |
000053D0: 4C 44 41 20 23 24 39 33 00 84 0B 1C 02 4A 53 52 |LDA #$93.....JSR|
000053E0: 20 99 00 91 0B 26 02 4C 44 41 20 23 24 32 33 00 | ....&.LDA #$23.|
000053F0: 9B 0B 30 02 4A 53 52 20 99 00 A8 0B 3A 02 4C 44 |..0.JSR ....:.LD|
00005400: 41 20 23 24 32 34 00 B2 0B 44 02 4A 53 52 20 99 |A #$24...D.JSR .|
00005410: 00 C0 0B 4E 02 4C 44 41 20 4E 55 4D AA 33 00 CA |...N.LDA NUM.3..|
00005420: 0B 58 02 4A 53 52 20 99 00 D8 0B 62 02 4C 44 41 |.X.JSR ....b.LDA|
00005430: 20 4E 55 4D AA 34 00 E2 0B 6C 02 4A 53 52 20 99 | NUM.4...l.JSR .|
00005440: 00 EA 0B 76 02 42 52 4B 00 F7 0B 8A 02 3B 42 55 |...v.BRK.....;BU|
00005450: 46 46 45 52 53 00 0F 0C 94 02 4E 55 4D 20 2E 42 |FFERS.....NUM .B|
00005460: 59 54 45 20 30 20 30 20 30 20 30 20 30 00 20 0C |YTE 0 0 0 0 0. .|
00005470: 9E 02 2E 80 20 48 45 58 20 A4 20 C6 49 49 00 00 |.... HEX . .II..|
00005480: 00 57 45 20 41 44 44 20 23 24 33 30 20 8B 20 A8 |.WE ADD #$30 . .|
00005490: 20 57 45 00 80 0A 72 01 3B 44 49 56 49 44 45 20 | WE...r.;DIVIDE |
000054A0: 42 59 20 31 36 20 AF 20 42 59 20 41 44 44 49 4E |BY 16 . BY ADDIN|
000054B0: 47 20 23 24 33 37 20 57 45 20 80 20 55 50 20 57 |G #$37 WE . UP W|
000054C0: 49 54 48 20 54 48 45 20 46 49 52 53 54 20 48 41 |ITH THE FIRST HA|
000054D0: 4C 46 20 4F 46 20 23 24 58 58 00 92 0A 86 01 54 |LF OF #$XX.....T|
000054E0: 57 4F 20 4C 44 41 20 4E 55 4D AA 32 00 9F 0A 90 |WO LDA NUM.2....|
000054F0: 01 43 4D 50 20 23 24 30 41 00 AB 0A 9A 01 42 43 |.CMP #$0A.....BC|
00005500: 43 20 91 45 53 00 B3 0A A4 01 43 4C 43 00 C0 0A |C .ES.....CLC...|
00005510: AE 01 41 44 43 20 23 24 33 37 00 CE 0A B8 01 53 |..ADC #$37.....S|
00005520: 54 41 20 4E 55 4D AA 34 00 DA 0A C2 01 4A 4D 50 |TA NUM.4.....JMP|
00005530: 20 4F 55 54 00 E6 0A CC 01 91 45 53 20 43 4C 43 | OUT......ES CLC|
00005540: 00 F3 0A D6 01 41 44 43 20 23 24 33 30 00 01 0B |.....ADC #$30...|
00005550: E0 01 53 54 01 08 0E 08 0A 00 AC B2 20 24 37 31 |..ST........ $71|
00005560: 30 30 00 15 08 15 00 2E 53 00 4C 08 1E 00 3B 42 |00......S.L...;B|
00005570: 49 54 20 44 45 4E 53 49 54 59 20 52 4F 55 54 49 |IT DENSITY ROUTI|
00005580: 4E 45 20 43 48 41 4E 47 45 53 20 87 20 57 52 49 |NE CHANGES . WRI|
00005590: 54 45 20 53 50 45 45 44 20 4F 46 20 31 35 34 31 |TE SPEED OF 1541|
000055A0: 00 61 08 32 00 3B 36 34 20 52 4F 4D 20 52 4F 55 |.a.2.;64 ROM ROU|
000055B0: 54 49 4E 45 53 00 71 08 3C 00 A1 49 4E 20 B2 20 |TINES.q.<..IN . |
000055C0: 24 46 46 45 34 00 7F 08 46 00 99 20 B2 20 24 46 |$FFE4...F.. . $F|
000055D0: 46 44 32 00 96 08 5A 00 3B 31 35 34 31 20 52 4F |FD2...Z.;1541 RO|
000055E0: 4D 20 52 4F 55 54 49 4E 45 53 00 A9 08 64 00 44 |M ROUTINES...d.D|
000055F0: 53 4B 43 4E 54 20 B2 20 24 31 43 30 30 00 B9 08 |SKCNT . $1C00...|
00005600: 6E 00 47 43 52 20 B2 20 24 31 43 30 31 00 CA 08 |n.GCR . $1C01...|
00005610: 82 00 53 59 4E 43 20 B2 20 24 46 35 35 36 00 DA |..SYNC . $F556..|
00005620: 08 8C 00 4F 46 46 20 B2 20 24 46 39 36 39 00 E7 |...OFF . $F969..|
00005630: 08 A0 00 4C 44 41 20 23 24 39 33 00 F1 08 AA 00 |...LDA #$93.....|
00005640: 4A 53 52 20 99 00 FE 08 B4 00 4C 44 59 20 23 24 |JSR ......LDY #$|
00005650: 30 30 00 10 09 BE 00 4C 50 31 20 4C 44 41 20 4D |00.....LP1 LDA M|
00005660: 45 53 2C 59 00 1D 09 C8 00 43 4D 50 20 23 24 30 |ES,Y.....CMP #$0|
00005670: 30 00 2B 09 D2 00 42 45 51 20 53 54 41 52 54 00 |0.+...BEQ START.|
00005680: 35 09 DC 00 4A 53 52 20 99 00 3D 09 E1 00 49 4E |5...JSR ..=...IN|
00005690: 59 00 49 09 E6 00 4A 4D 50 20 4C 50 31 00 5B 09 |Y.I...JMP LP1.[.|
000056A0: F0 00 53 54 41 52 54 20 4A 53 52 20 A1 49 4E 00 |..START JSR .IN.|
000056B0: 68 09 FA 00 43 4D 50 20 23 24 30 30 00 76 09 04 |h...CMP #$00.v..|
000056C0: 01 42 45 51 20 53 54 41 52 54 00 80 09 1D 01 4A |.BEQ START.....J|
000056D0: 53 52 20 99 00 8D 09 22 01 43 4D 50 20 23 24 33 |SR ....".CMP #$3|
000056E0: 31 00 9A 09 2C 01 42 45 51 20 5A 91 45 31 00 A7 |1...,.BEQ Z.E1..|
000056F0: 09 36 01 43 4D 50 20 23 24 33 32 00 B4 09 40 01 |.6.CMP #$32...@.|
00005700: 42 45 51 20 5A 91 45 32 00 C1 09 4A 01 43 4D 50 |BEQ Z.E2...J.CMP|
00005710: 20 23 24 33 33 00 CE 09 54 01 42 45 51 20 5A 91 | #$33...T.BEQ Z.|
00005720: 45 33 00 DB 09 5E 01 43 4D 50 20 23 24 33 34 00 |E3...^.CMP #$34.|
00005730: E8 09 68 01 42 45 51 20 5A 91 45 34 00 30 0A 7C |..h.BEQ Z.E4.0.||
00005740: 01 3B 54 48 45 52 45 20 41 52 45 20 46 4F 55 52 |.;THERE ARE FOUR|
00005750: 20 44 8B 46 45 52 45 4E 54 20 42 49 54 20 44 45 | D.FERENT BIT DE|
00005760: 4E 53 49 54 59 20 5A 91 45 53 20 49 4E 20 54 48 |NSITY Z.ES IN TH|
00005770: 45 20 31 35 34 31 20 5A 91 45 20 31 20 49 53 20 |E 1541 Z.E 1 IS |
00005780: 46 52 4F 4D 00 76 0A 86 01 3B 54 52 41 43 4B 20 |FROM.v...;TRACK |
00005790: 31 20 A4 20 31 37 20 5A 91 45 20 32 20 46 52 4F |1 . 17 Z.E 2 FRO|
000057A0: 4D 20 54 52 41 43 4B 20 31 38 20 A4 20 32 34 20 |M TRACK 18 . 24 |
000057B0: 5A 91 45 20 33 20 46 52 4F 4D 20 54 52 41 43 4B |Z.E 3 FROM TRACK|
000057C0: 20 32 35 20 A4 20 33 30 20 AF 00 BC 0A 90 01 3B | 25 . 30 ......;|
000057D0: 5A 91 45 20 34 20 46 52 4F 4D 20 54 52 41 43 4B |Z.E 4 FROM TRACK|
000057E0: 20 33 31 20 A4 20 33 35 20 A8 49 43 45 20 48 45 | 31 . 35 .ICE HE|
000057F0: 52 45 20 57 45 20 44 49 44 20 A8 20 43 91 56 45 |RE WE DID . C.VE|
00005800: 52 54 20 4F 55 52 20 C6 49 49 20 A4 20 48 45 58 |RT OUR .II . HEX|
00005810: 00 CE 0A A4 01 5A 91 45 31 20 4C 44 41 20 23 24 |.....Z.E1 LDA #$|
00005820: 36 30 00 DC 0A AE 01 53 54 41 20 5A 91 45 AA 31 |60.....STA Z.E.1|
00005830: 00 E6 0A B8 01 4A 4D 50 20 80 00 F8 0A C2 01 5A |.....JMP ......Z|
00005840: 91 45 32 20 4C 44 41 20 23 24 34 30 00 06 0B CC |.E2 LDA #$40....|
00005850: 01 53 54 41 20 5A 91 45 AA 31 00 10 0B D6 01 4A |.STA Z.E.1.....J|
00005860: 4D 50 20 80 00 22 0B E0 01 5A 91 45 33 20 4C 44 |MP .."...Z.E3 LD|
00005870: 41 20 23 24 32 30 00 30 0B EA 01 53 54 41 20 5A |A #$20.0...STA Z|
00005880: 91 45 AA 31 00 3A 0B F4 01 4A 4D 50 20 80 00 4C |.E.1.:...JMP ..L|
00005890: 0B FE 01 5A 91 45 34 20 4C 44 41 20 23 24 30 30 |...Z.E4 LDA #$00|
000058A0: 00 5A 0B 08 02 53 54 41 20 5A 91 45 AA 31 00 64 |.Z...STA Z.E.1.d|
000058B0: 0B 12 02 80 20 42 52 4B 00 B1 0B 26 02 3B 41 42 |.... BRK...&.;AB|
000058C0: 4F 56 45 20 57 45 20 44 45 53 49 47 4E 41 54 45 |OVE WE DESIGNATE|
000058D0: 20 41 20 4E 55 4D 42 45 52 20 57 45 20 57 49 4C | A NUMBER WE WIL|
000058E0: 4C B0 41 20 44 53 4B 43 4E 54 20 24 31 43 30 30 |L.A DSKCNT $1C00|
000058F0: 20 57 49 54 48 20 41 53 20 57 49 4C 4C 20 42 45 | WITH AS WILL BE|
00005900: 20 53 45 45 4E 00 FE 0B 30 02 3B 53 45 45 4E 20 | SEEN...0.;SEEN |
00005910: 42 45 4C 4F 57 20 57 48 41 54 20 57 45 20 41 52 |BELOW WHAT WE AR|
00005920: 45 20 44 4F 49 4E 47 20 48 45 52 45 20 49 53 20 |E DOING HERE IS |
00005930: 43 48 41 4E 47 49 4E 47 20 42 49 54 53 20 35 20 |CHANGING BITS 5 |
00005940: AF 20 36 20 4F 46 20 24 31 43 30 30 20 54 48 45 |. 6 OF $1C00 THE|
00005950: 53 45 00 45 0C 3A 02 3B 54 57 4F 20 42 49 54 53 |SE.E.:.;TWO BITS|
00005960: 20 9A 52 4F 4C 20 54 48 45 20 53 50 45 45 44 20 | .ROL THE SPEED |
00005970: 4F 46 20 54 48 45 20 31 35 34 31 20 54 48 45 20 |OF THE 1541 THE |
00005980: 42 49 54 53 20 41 52 45 20 41 53 20 46 4F 4C 4C |BITS ARE AS FOLL|
00005990: 4F 57 53 20 5A 91 45 20 31 00 80 0C 44 02 3B 42 |OWS Z.E 1...D.;B|
000059A0: 49 54 53 20 31 20 31 20 5A 91 45 20 32 20 42 49 |ITS 1 1 Z.E 2 BI|
000059B0: 54 53 20 31 20 30 20 5A 91 45 20 33 20 42 49 54 |TS 1 0 Z.E 3 BIT|
000059C0: 53 20 30 20 31 20 5A 91 45 20 34 20 42 49 54 53 |S 0 1 Z.E 4 BITS|
000059D0: 20 30 20 30 00 93 0C 58 02 48 44 52 20 4C 44 41 | 0 0...X.HDR LDA|
000059E0: 20 44 53 4B 43 4E 54 00 9E 0C 62 02 AF 20 23 24 | DSKCNT...b.. #$|
000059F0: 39 46 00 AE 0C 6C 02 5A 91 45 20 B0 41 20 23 24 |9F...l.Z.E .A #$|
00005A00: 30 30 00 BD 0C 76 02 53 54 41 20 44 53 4B 43 4E |00...v.STA DSKCN|
00005A10: 54 00 CA 0C BC 02 4A 53 52 20 53 59 4E 43 00 D7 |T.....JSR SYNC..|
00005A20: 0C C6 02 4C 44 59 20 23 24 30 30 00 E5 0C D0 02 |...LDY #$00.....|
00005A30: 92 31 20 42 56 43 20 92 31 00 ED 0C DA 02 43 4C |.1 BVC .1.....CL|
00005A40: 56 00 F9 0C E4 02 4C 44 41 20 47 43 52 00 09 0D |V.....LDA GCR...|
00005A50: EE 02 53 54 41 20 24 30 34 30 30 2C 59 00 11 0D |..STA $0400,Y...|
00005A60: F8 02 49 4E 59 00 1C 0D 02 03 42 4E 45 20 92 31 |..INY.....BNE .1|
00005A70: 00 29 0D 0C 03 4C 44 59 20 23 24 30 30 00 37 0D |.)...LDY #$00.7.|
00005A80: 16 03 92 32 20 42 56 43 20 92 32 00 3F 0D 20 03 |...2 BVC .2.?. .|
00005A90: 43 4C 56 00 4B 0D 2A 03 4C 44 41 20 47 43 52 00 |CLV.K.*.LDA GCR.|
00005AA0: 5B 0D 34 03 53 54 41 20 24 30 35 30 30 2C 59 00 |[.4.STA $0500,Y.|
00005AB0: 63 0D 3E 03 49 4E 59 00 6E 0D 48 03 42 4E 45 20 |c.>.INY.n.H.BNE |
00005AC0: 92 32 00 7B 0D 52 03 4C 44 41 20 23 24 30 31 00 |.2.{.R.LDA #$01.|
00005AD0: 87 0D 5C 03 4A 4D 50 20 4F 46 46 00 D3 0D 70 03 |..\.JMP OFF...p.|
00005AE0: 3B 54 48 49 53 20 53 48 4F 55 4C 44 20 4C 4F 4F |;THIS SHOULD LOO|
00005AF0: 4B 20 46 41 4D 49 4C 49 41 52 20 49 54 53 20 4F |K FAMILIAR ITS O|
00005B00: 55 52 20 87 20 48 45 41 44 45 52 49 AD 4C 20 52 |UR . HEADERI.L R|
00005B10: 4F 55 54 49 4E 45 20 57 49 54 48 20 41 4E 20 41 |OUTINE WITH AN A|
00005B20: 44 44 49 54 54 49 91 00 19 0E 7A 03 3B 57 45 20 |DDITTI....z.;WE |
00005B30: 46 49 52 53 54 20 93 20 41 20 57 49 54 48 20 24 |FIRST . A WITH $|
00005B40: 31 43 30 30 20 AF 20 49 54 20 57 49 54 48 20 23 |1C00 . IT WITH #|
00005B50: 24 39 46 20 54 48 49 53 20 54 55 52 4E 53 20 4F |$9F THIS TURNS O|
00005B60: 46 46 20 42 49 54 53 20 35 20 AF 20 36 00 55 0E |FF BITS 5 . 6.U.|
00005B70: 84 03 3B 57 45 20 A7 20 B0 20 24 31 43 30 30 20 |..;WE . . $1C00 |
00005B80: AF 20 53 45 54 20 42 49 54 53 20 35 20 AF 20 36 |. SET BITS 5 . 6|
00005B90: 20 A4 20 54 48 45 20 5A 91 45 20 53 50 45 45 44 | . THE Z.E SPEED|
00005BA0: 20 57 45 20 43 48 4F 53 45 00 99 0E 8E 03 3B A7 | WE CHOSE.....;.|
00005BB0: 20 57 45 20 46 41 4C 4C 20 54 48 52 4F 55 47 48 | WE FALL THROUGH|
00005BC0: 20 AF 20 87 20 54 48 45 20 48 45 41 44 45 52 20 | . . THE HEADER |
00005BD0: 57 48 49 43 48 20 57 4F 55 4C 44 20 42 45 20 50 |WHICH WOULD BE P|
00005BE0: 55 54 20 49 4E 20 41 54 20 5A 45 52 4F 00 E4 0E |UT IN AT ZERO...|
00005BF0: 98 03 3B 50 41 47 45 20 81 20 42 55 46 46 45 52 |..;PAGE . BUFFER|
00005C00: 20 24 30 33 30 30 20 41 53 20 44 49 53 43 52 49 | $0300 AS DISCRI|
00005C10: 42 45 44 20 49 4E 20 57 50 31 35 34 31 20 5A 45 |BED IN WP1541 ZE|
00005C20: 52 4F 20 50 41 47 45 20 24 30 30 20 48 4F 4C 44 |RO PAGE $00 HOLD|
00005C30: 53 20 41 20 23 24 45 30 00 30 0F A2 03 3B 24 30 |S A #$E0.0...;$0|
00005C40: 36 20 48 4F 4C 44 53 20 54 48 45 20 54 52 41 43 |6 HOLDS THE TRAC|
00005C50: 4B 20 AF 20 24 30 37 20 48 4F 4C 44 53 20 54 48 |K . $07 HOLDS TH|
00005C60: 45 20 53 45 43 A4 52 20 4F 46 20 43 4F 55 52 53 |E SEC.R OF COURS|
00005C70: 45 20 54 48 45 20 52 4F 55 54 49 4E 45 20 43 41 |E THE ROUTINE CA|
00005C80: 4E 20 42 45 00 6E 0F AC 03 3B 41 44 44 45 44 20 |N BE.n...;ADDED |
00005C90: A4 20 87 20 48 45 41 44 45 52 20 B0 20 87 20 48 |. . HEADER . . H|
00005CA0: 44 52 4E AD 53 59 4E 43 20 44 45 50 80 49 4E 47 |DRN.SYNC DEP.ING|
00005CB0: 20 91 20 54 48 45 20 50 52 4F 54 45 43 54 49 91 | . THE PROTECTI.|
00005CC0: 20 91 00 B7 0F B6 03 3B 54 48 45 20 44 49 53 4B | ......;THE DISK|
00005CD0: 20 4F 46 20 B5 45 52 45 53 54 20 54 48 49 53 20 | OF .EREST THIS |
00005CE0: 52 4F 55 54 49 4E 45 20 57 4F 55 4C 44 20 42 45 |ROUTINE WOULD BE|
00005CF0: 20 54 52 41 4E 53 46 45 52 45 44 20 A4 20 54 48 | TRANSFERED . TH|
00005D00: 45 20 44 49 53 4B 20 46 52 4F 4D 00 02 10 C0 03 |E DISK FROM.....|
00005D10: 3B 4C 49 4E 45 20 36 30 30 20 24 37 31 34 44 20 |;LINE 600 $714D |
00005D20: 54 48 52 4F 55 47 48 20 4C 49 4E 45 20 38 36 30 |THROUGH LINE 860|
00005D30: 20 24 37 31 37 41 20 A4 20 31 35 34 31 20 42 55 | $717A . 1541 BU|
00005D40: 46 46 45 52 20 53 54 41 52 54 49 4E 47 20 41 54 |FFER STARTING AT|
00005D50: 20 24 30 33 30 30 00 17 10 D4 03 3B 42 55 46 46 | $0300.....;BUFF|
00005D60: 45 52 53 20 AF 20 46 4C 41 47 53 00 4E 10 DE 03 |ERS . FLAGS.N...|
00005D70: 4D 45 53 20 2E 42 59 54 45 20 22 45 4E 54 45 52 |MES .BYTE "ENTER|
00005D80: 20 44 45 4E 53 49 54 59 20 5A 4F 4E 45 20 31 20 | DENSITY ZONE 1 |
00005D90: 32 20 33 20 4F 52 20 34 20 22 3A 2E 42 59 54 45 |2 3 OR 4 ":.BYTE|
00005DA0: 20 30 00 61 10 F2 03 2E 80 20 42 49 54 20 44 45 | 0.a..... BIT DE|
00005DB0: 4E 53 49 54 59 00 00 00 54 20 44 45 4E 53 49 54 |NSITY...T DENSIT|
00005DC0: 59 00 00 00 4E 53 49 54 59 00 00 00 54 20 44 45 |Y...NSITY...T DE|
00005DD0: 4E 53 49 54 59 00 00 00 54 20 44 45 4E 53 49 54 |NSITY...T DENSIT|
00005DE0: 59 00 00 00 49 54 20 44 45 4E 53 49 54 59 00 00 |Y...IT DENSITY..|
00005DF0: 00 49 54 20 44 45 4E 53 49 54 59 00 00 00 2E 80 |.IT DENSITY.....|
00005E00: 20 42 49 54 20 44 45 4E 53 49 54 59 00 00 00 20 | BIT DENSITY... |
00005E10: 49 4E 20 57 50 31 35 34 31 20 5A 45 52 4F 20 50 |IN WP1541 ZERO P|
00005E20: 41 47 45 20 24 30 30 20 48 4F 4C 44 53 20 41 20 |AGE $00 HOLDS A |
00005E30: 23 24 45 30 00 30 0F A2 03 3B 24 30 36 20 48 4F |#$E0.0...;$06 HO|
00005E40: 4C 44 01 08 0E 08 0A 00 AC B2 20 24 37 31 30 30 |LD........ $7100|
00005E50: 00 4C 08 14 00 3B 87 20 48 45 41 44 45 52 20 49 |.L...;. HEADER I|
00005E60: 4C 4C 20 52 4F 55 54 49 4E 45 20 44 45 53 49 47 |LL ROUTINE DESIG|
00005E70: 4E 45 44 20 A4 20 87 20 47 43 52 20 83 20 4F 4E |NED . . GCR . ON|
00005E80: 20 49 4C 4C 45 47 41 4C 20 54 52 41 43 4B 00 8A | ILLEGAL TRACK..|
00005E90: 08 1E 00 3B 41 46 54 45 52 20 54 52 41 4E 53 46 |...;AFTER TRANSF|
00005EA0: 45 52 20 A4 20 36 34 20 52 41 4D 20 47 43 52 20 |ER . 64 RAM GCR |
00005EB0: 52 4F 55 54 49 4E 45 20 57 49 4C 4C 20 43 91 56 |ROUTINE WILL C.V|
00005EC0: 45 52 54 20 49 54 20 A4 20 48 45 58 00 CB 08 28 |ERT IT . HEX...(|
00005ED0: 00 3B A4 20 55 53 45 20 54 48 49 53 20 52 4F 55 |.;. USE THIS ROU|
00005EE0: 54 49 4E 45 20 53 45 45 20 49 4E 46 4F 20 41 54 |TINE SEE INFO AT|
00005EF0: 20 42 45 47 49 4E 49 4E 47 20 4F 46 20 87 20 48 | BEGINING OF . H|
00005F00: 45 41 44 45 52 20 52 4F 55 54 49 4E 45 00 E4 08 |EADER ROUTINE...|
00005F10: 32 00 3B 36 34 20 52 4F 4D 20 52 4F 55 54 49 4E |2.;64 ROM ROUTIN|
00005F20: 45 53 20 4E 91 45 00 FB 08 3C 00 3B 31 35 34 31 |ES N.E...<.;1541|
00005F30: 20 52 4F 4D 20 52 4F 55 54 49 4E 45 53 00 0C 09 | ROM ROUTINES...|
00005F40: 46 00 53 59 4E 43 20 B2 20 24 46 35 35 36 00 1C |F.SYNC . $F556..|
00005F50: 09 50 00 47 43 52 20 B2 20 24 31 43 30 31 00 2C |.P.GCR . $1C01.,|
00005F60: 09 5A 00 4F 46 46 20 B2 20 24 46 39 36 39 00 39 |.Z.OFF . $F969.9|
00005F70: 09 64 00 4A 53 52 20 53 59 4E 43 00 46 09 6E 00 |.d.JSR SYNC.F.n.|
00005F80: 4C 44 59 20 23 24 30 30 00 54 09 78 00 92 31 20 |LDY #$00.T.x..1 |
00005F90: 42 56 43 20 92 31 00 5C 09 82 00 43 4C 56 00 68 |BVC .1.\...CLV.h|
00005FA0: 09 8C 00 4C 44 41 20 47 43 52 00 78 09 96 00 53 |...LDA GCR.x...S|
00005FB0: 54 41 20 24 30 34 30 30 2C 59 00 80 09 A0 00 49 |TA $0400,Y.....I|
00005FC0: 4E 59 00 8B 09 AA 00 42 4E 45 20 92 31 00 98 09 |NY.....BNE .1...|
00005FD0: B4 00 4C 44 59 20 23 24 30 30 00 E2 09 BE 00 3B |..LDY #$00.....;|
00005FE0: 54 48 49 53 20 49 53 20 54 48 45 20 53 41 4D 45 |THIS IS THE SAME|
00005FF0: 20 52 4F 55 54 49 4E 45 20 41 53 20 87 20 48 45 | ROUTINE AS . HE|
00006000: 41 44 45 52 20 42 55 54 20 41 53 20 49 54 53 20 |ADER BUT AS ITS |
00006010: 41 4E 20 49 4C 4C 45 47 41 4C 4C 59 20 81 4D 41 |AN ILLEGALLY .MA|
00006020: 54 54 45 44 00 24 0A C8 00 3B 54 52 41 43 4B 20 |TTED.$...;TRACK |
00006030: 57 45 20 44 4F 20 A8 20 55 53 45 20 53 52 43 48 |WE DO . USE SRCH|
00006040: 20 41 53 20 49 54 20 57 4F 55 4C 44 20 8E 20 54 | AS IT WOULD . T|
00006050: 48 45 20 45 52 52 B0 20 48 45 41 44 45 52 20 A8 |HE ERR. HEADER .|
00006060: 20 46 4F 55 4E 44 00 66 0A D2 00 3B 49 4E 53 54 | FOUND.f...;INST|
00006070: 45 41 44 20 57 45 20 92 20 81 20 54 48 45 20 53 |EAD WE . . THE S|
00006080: 59 4E 43 20 AF 20 87 20 57 48 41 54 45 56 45 52 |YNC . . WHATEVER|
00006090: 20 83 20 57 45 20 47 45 54 20 54 4F 20 54 48 45 | . WE GET TO THE|
000060A0: 20 42 55 46 46 45 52 53 00 A7 0A DC 00 3B 41 20 | BUFFERS.....;A |
000060B0: 52 4F 55 54 49 4E 45 20 43 4F 55 4C 44 20 42 45 |ROUTINE COULD BE|
000060C0: 20 44 45 53 49 47 4E 45 44 20 A4 20 87 20 41 4C | DESIGNED . . AL|
000060D0: 4C 20 53 45 43 A4 52 53 20 41 54 20 91 45 20 54 |L SEC.RS AT .E T|
000060E0: 49 4D 45 20 AF 20 54 48 45 00 E8 0A E6 00 3B 48 |IME . THE.....;H|
000060F0: 45 41 44 45 52 AD 53 20 43 4F 55 4C 44 20 42 45 |EADER.S COULD BE|
00006100: 20 57 52 49 54 54 45 4E 20 42 41 43 4B 20 A4 20 | WRITTEN BACK . |
00006110: 41 20 43 4F 50 59 20 44 49 53 4B 20 55 BF 47 20 |A COPY DISK U.G |
00006120: 81 4D 41 54 20 54 52 41 43 4B 00 F6 0A F0 00 92 |.MAT TRACK......|
00006130: 32 20 42 56 43 20 92 32 00 FE 0A FA 00 43 4C 56 |2 BVC .2.....CLV|
00006140: 00 0A 0B 04 01 4C 44 41 20 47 43 52 00 1A 0B 0E |.....LDA GCR....|
00006150: 01 53 54 41 20 24 30 35 30 30 2C 59 00 22 0B 18 |.STA $0500,Y."..|
00006160: 01 49 4E 59 00 2D 0B 22 01 42 4E 45 20 92 32 00 |.INY.-.".BNE .2.|
00006170: 3A 0B 2C 01 4C 44 41 20 23 24 30 31 00 46 0B 36 |:.,.LDA #$01.F.6|
00006180: 01 4A 4D 50 20 4F 46 46 00 8F 0B 40 01 3B 57 45 |.JMP OFF...@.;WE|
00006190: 20 50 55 54 20 41 20 23 24 30 31 20 49 4E 20 41 | PUT A #$01 IN A|
000061A0: 20 AF 20 4A 53 52 20 4F 46 46 20 54 48 49 53 20 | . JSR OFF THIS |
000061B0: 23 24 30 31 20 49 53 20 50 55 54 20 49 4E 20 54 |#$01 IS PUT IN T|
000061C0: 48 45 20 45 52 52 B0 20 43 4F 44 45 20 28 4F 4B |HE ERR. CODE (OK|
000061D0: 29 00 B8 0B 4A 01 3B 54 45 4C 4C 53 20 54 48 45 |)...J.;TELLS THE|
000061E0: 20 44 49 53 4B 20 41 4C 4C 53 20 4F 4B 20 AF 20 | DISK ALLS OK . |
000061F0: 53 48 55 54 53 20 44 4F 57 4E 00 00 00 44 45 52 |SHUTS DOWN...DER|
00006200: 20 42 55 54 20 41 53 20 49 54 53 20 41 4E 20 49 | BUT AS ITS AN I|
00006210: 4C 4C 45 47 41 4C 4C 59 20 81 4D 41 54 54 45 44 |LLEGALLY .MATTED|
00006220: 00 24 0A C8 00 3B 54 52 41 43 4B 20 57 45 20 44 |.$...;TRACK WE D|
00006230: 4F 20 A8 20 55 53 45 20 53 52 01 08 0E 08 0A 00 |O . USE SR......|
00006240: AC B2 20 24 37 31 30 30 00 15 08 0F 00 2E 53 00 |.. $7100......S.|
00006250: 25 08 14 00 4C 49 53 20 B2 20 24 46 46 42 31 00 |%...LIS . $FFB1.|
00006260: 37 08 1E 00 4C 49 53 45 43 20 B2 20 24 46 46 39 |7...LISEC . $FF9|
00006270: 33 00 49 08 28 00 55 4E 4C 49 53 20 B2 20 24 46 |3.I.(.UNLIS . $F|
00006280: 46 41 45 00 59 08 32 00 4F 55 54 20 B2 20 24 46 |FAE.Y.2.OUT . $F|
00006290: 46 41 38 00 69 08 3C 00 54 4C 4B 20 B2 20 24 46 |FA8.i.<.TLK . $F|
000062A0: 46 42 34 00 7C 08 46 00 54 4C 4B 53 45 43 20 B2 |FB4.|.F.TLKSEC .|
000062B0: 20 24 46 46 39 36 00 8E 08 50 00 55 4E 54 4C 4B | $FF96...P.UNTLK|
000062C0: 20 B2 20 24 46 46 41 42 00 9D 08 5A 00 49 4E 20 | . $FFAB...Z.IN |
000062D0: B2 20 24 46 46 41 35 00 AB 08 64 00 A1 20 B2 20 |. $FFA5...d.. . |
000062E0: 24 46 46 45 34 00 B9 08 6E 00 99 20 B2 20 24 46 |$FFE4...n.. . $F|
000062F0: 46 44 32 00 C7 08 78 00 83 20 3D 20 24 37 34 30 |FD2...x.. = $740|
00006300: 30 00 D8 08 82 00 53 45 43 53 20 B2 20 24 37 36 |0.....SECS . $76|
00006310: 30 30 00 E6 08 8C 00 2E 46 49 4C 45 20 54 52 43 |00......FILE TRC|
00006320: 00 00 00 00 20 2D 2D 2D 2D 20 42 52 41 4E 43 48 |.... ---- BRANCH|
00006330: 20 4F 55 54 20 4F 46 20 01 08 0E 08 0A 00 4C 44 | OUT OF ......LD|
00006340: 41 20 23 24 30 30 00 4F 08 14 00 53 54 41 20 54 |A #$00.O...STA T|
00006350: 45 4D 50 3B 54 45 4D 50 20 49 53 20 55 53 45 44 |EMP;TEMP IS USED|
00006360: 20 54 48 52 4F 55 47 48 20 4F 55 54 20 54 48 49 | THROUGH OUT THI|
00006370: 53 20 52 4F 55 54 49 4E 45 20 81 20 54 45 4D 50 |S ROUTINE . TEMP|
00006380: 20 53 A4 52 41 47 45 00 5A 08 1E 00 53 54 41 20 | S.RAGE.Z...STA |
00006390: 43 54 00 85 08 28 00 53 54 41 20 45 46 4C 41 47 |CT...(.STA EFLAG|
000063A0: 3B 46 4C 41 47 20 A4 20 49 4E 44 49 43 41 54 45 |;FLAG . INDICATE|
000063B0: 20 80 20 4F 46 20 52 4F 55 54 49 4E 45 00 B5 08 | . OF ROUTINE...|
000063C0: 32 00 4C 44 41 20 23 B3 54 52 4B 3B 20 45 51 55 |2.LDA #.TRK; EQU|
000063D0: 41 4C 53 20 23 24 43 43 20 41 44 44 45 44 20 A4 |ALS #$CC ADDED .|
000063E0: 20 23 24 37 33 20 B2 20 24 37 33 43 43 00 C3 08 | #$73 . $73CC...|
000063F0: 3C 00 53 54 41 20 43 48 31 AA 31 00 E7 08 46 00 |<.STA CH1.1...F.|
00006400: 4C 44 41 20 23 B3 4D 45 53 31 3B 53 45 54 20 55 |LDA #.MES1;SET U|
00006410: 50 20 54 52 41 43 4B 20 4D 45 53 53 41 47 45 00 |P TRACK MESSAGE.|
00006420: F4 08 50 00 53 54 41 20 43 48 AA 31 00 03 09 5A |..P.STA CH.1...Z|
00006430: 00 4C 44 41 20 23 B1 4D 45 53 31 00 10 09 64 00 |.LDA #.MES1...d.|
00006440: 53 54 41 20 43 48 AA 32 00 3E 09 6E 00 4C 44 41 |STA CH.2.>.n.LDA|
00006450: 20 23 24 30 31 3B 53 45 54 20 42 45 47 49 4E 4E | #$01;SET BEGINN|
00006460: 49 4E 47 20 83 20 53 54 4F 52 41 47 45 20 54 4F |ING . STORAGE TO|
00006470: 20 24 30 38 30 31 00 4C 09 78 00 53 54 41 20 43 | $0801.L.x.STA C|
00006480: 48 32 AA 31 00 59 09 82 00 4C 44 41 20 23 24 30 |H2.1.Y...LDA #$0|
00006490: 38 00 67 09 8C 00 53 54 41 20 43 48 32 AA 32 00 |8.g...STA CH2.2.|
000064A0: 8C 09 96 00 4C 44 41 20 23 24 45 45 3B 46 49 4C |....LDA #$EE;FIL|
000064B0: 4C 20 24 37 30 30 30 20 A4 20 24 37 30 46 46 20 |L $7000 . $70FF |
000064C0: 23 24 45 45 00 99 09 A0 00 4C 44 59 20 23 24 30 |#$EE.....LDY #$0|
000064D0: 30 00 AB 09 AA 00 45 45 20 53 54 41 20 53 45 43 |0.....EE STA SEC|
000064E0: 53 2C 59 00 B3 09 B4 00 49 4E 59 00 C0 09 BE 00 |S,Y.....INY.....|
000064F0: 43 50 59 20 23 24 30 30 00 CB 09 C8 00 42 4E 45 |CPY #$00.....BNE|
00006500: 20 45 45 00 DE 09 D2 00 53 54 41 52 54 20 4C 44 | EE.....START LD|
00006510: 59 20 23 24 30 30 00 04 0A DC 00 43 48 20 4C 44 |Y #$00.....CH LD|
00006520: 41 20 24 30 30 30 30 2C 59 3B 99 20 4D 45 53 53 |A $0000,Y;. MESS|
00006530: 41 47 45 20 A4 20 53 43 52 45 45 4E 00 37 0A E6 |AGE . SCREEN.7..|
00006540: 00 43 4D 50 20 23 24 30 30 3B 23 24 30 30 20 49 |.CMP #$00;#$00 I|
00006550: 53 20 55 53 45 44 20 41 53 20 41 20 44 45 4C 49 |S USED AS A DELI|
00006560: 4D 49 54 45 52 20 8B 20 30 20 A7 20 90 20 99 00 |MITER . 0 . . ..|
00006570: 44 0A F0 00 42 45 51 20 54 52 43 31 00 4E 0A FA |D...BEQ TRC1.N..|
00006580: 00 4A 53 52 20 99 00 56 0A 04 01 49 4E 59 00 61 |.JSR ..V...INY.a|
00006590: 0A 0E 01 4A 4D 50 20 43 48 00 8B 0A 18 01 54 52 |...JMP CH.....TR|
000065A0: 43 31 20 4A 53 52 20 A1 3B A1 20 53 43 52 45 45 |C1 JSR .;. SCREE|
000065B0: 4E 20 85 20 81 20 54 52 41 43 4B 20 26 20 53 45 |N . . TRACK & SE|
000065C0: 43 A4 52 00 98 0A 22 01 42 45 51 20 54 52 43 31 |C.R...".BEQ TRC1|
000065D0: 00 C8 0A 2C 01 4A 53 52 20 99 3B 45 43 48 4F 20 |...,.JSR .;ECHO |
000065E0: 43 48 4F 49 43 45 20 A4 20 53 43 52 45 45 4E 20 |CHOICE . SCREEN |
000065F0: 49 54 27 53 20 41 4C 87 59 20 49 4E 20 C6 49 49 |IT'S AL.Y IN .II|
00006600: 00 E4 0A 36 01 AF 20 23 24 30 46 3B 43 91 56 45 |...6.. #$0F;C.VE|
00006610: 52 54 20 C6 49 49 20 A4 20 48 45 58 00 F0 0A 40 |RT .II . HEX...@|
00006620: 01 53 54 41 20 42 55 46 00 FC 0A 4A 01 41 53 4C |.STA BUF...J.ASL|
00006630: 3A 41 53 4C 00 04 0B 54 01 43 4C 43 00 10 0B 5E |:ASL...T.CLC...^|
00006640: 01 41 44 43 20 42 55 46 00 18 0B 68 01 41 53 4C |.ADC BUF...h.ASL|
00006650: 00 24 0B 72 01 53 54 41 20 42 55 46 00 4C 0B 7C |.$.r.STA BUF.L.||
00006660: 01 54 52 43 32 20 4A 53 52 20 A1 3B A1 20 53 45 |.TRC2 JSR .;. SE|
00006670: 43 91 44 20 4E 55 4D 42 45 52 20 49 4E 20 43 48 |C.D NUMBER IN CH|
00006680: 49 4F 43 45 00 59 0B 86 01 42 45 51 20 54 52 43 |IOCE.Y...BEQ TRC|
00006690: 32 00 74 0B 90 01 4A 53 52 20 99 3B 45 43 48 4F |2.t...JSR .;ECHO|
000066A0: 20 49 54 20 A4 20 53 43 52 45 45 4E 00 8C 0B 9A | IT . SCREEN....|
000066B0: 01 AF 20 23 24 30 46 3B 43 91 56 45 52 54 20 A4 |.. #$0F;C.VERT .|
000066C0: 20 48 45 58 00 94 0B A4 01 43 4C 43 00 A0 0B AE | HEX.....CLC....|
000066D0: 01 41 44 43 20 42 55 46 00 D1 0B B8 01 43 48 31 |.ADC BUF.....CH1|
000066E0: 20 53 54 41 20 54 52 4B 3B 48 4F 4C 44 53 20 49 | STA TRK;HOLDS I|
000066F0: 4E 20 48 45 58 20 54 57 4F 20 4E 55 4D 42 45 52 |N HEX TWO NUMBER|
00006700: 53 20 50 52 45 53 53 45 44 00 DE 0B C2 01 49 4E |S PRESSED.....IN|
00006710: 43 20 54 45 4D 50 00 EB 0B CC 01 4C 44 41 20 54 |C TEMP.....LDA T|
00006720: 45 4D 50 00 14 0C D6 01 43 4D 50 20 23 24 30 32 |EMP.....CMP #$02|
00006730: 3B 8B 20 A8 20 32 20 CB 20 42 41 43 4B 20 81 20 |;. . 2 . BACK . |
00006740: 53 45 43 A4 52 20 43 48 4F 49 43 45 00 35 0C E0 |SEC.R CHOICE.5..|
00006750: 01 42 45 51 20 54 52 43 33 3B 8B 20 45 51 55 41 |.BEQ TRC3;. EQUA|
00006760: 4C 20 A4 20 32 20 A7 20 9A 49 4E 55 45 00 59 0C |L . 2 . .INUE.Y.|
00006770: EA 01 4C 44 41 20 23 B3 4D 45 53 32 3B 53 45 54 |..LDA #.MES2;SET|
00006780: 20 55 50 20 53 45 43 A4 52 20 4D 45 53 53 41 47 | UP SEC.R MESSAG|
00006790: 45 00 66 0C F4 01 53 54 41 20 43 48 AA 31 00 75 |E.f...STA CH.1.u|
000067A0: 0C FE 01 4C 44 41 20 23 B1 4D 45 53 32 00 82 0C |...LDA #.MES2...|
000067B0: 08 02 53 54 41 20 43 48 AA 32 00 90 0C 12 02 4C |..STA CH.2.....L|
000067C0: 44 41 20 23 B3 53 45 43 00 9E 0C 1C 02 53 54 41 |DA #.SEC.....STA|
000067D0: 20 43 48 31 AA 31 00 AC 0C 26 02 4C 44 41 20 23 | CH1.1...&.LDA #|
000067E0: B1 53 45 43 00 BA 0C 30 02 53 54 41 20 43 48 31 |.SEC...0.STA CH1|
000067F0: AA 32 00 E1 0C 3A 02 4A 4D 50 20 53 54 41 52 54 |.2...:.JMP START|
00006800: 3B CB 20 42 41 43 4B 20 AF 20 99 20 53 45 43 A4 |;. BACK . . SEC.|
00006810: 52 20 4D 45 53 53 41 47 45 00 21 0D 44 02 54 52 |R MESSAGE.!.D.TR|
00006820: 43 33 20 4C 44 41 20 54 52 4B 3B 50 55 54 20 42 |C3 LDA TRK;PUT B|
00006830: 45 47 49 4E 4E 49 4E 47 20 54 52 41 43 4B 20 26 |EGINNING TRACK &|
00006840: 20 53 45 43 A4 52 20 49 4E 20 42 55 46 46 45 52 | SEC.R IN BUFFER|
00006850: 20 41 54 20 24 37 30 30 30 00 2E 0D 4E 02 53 54 | AT $7000...N.ST|
00006860: 41 20 53 45 43 53 00 5D 0D 58 02 49 4E 43 20 43 |A SECS.].X.INC C|
00006870: 54 3B 43 54 20 4B 45 45 50 53 20 54 52 41 43 4B |T;CT KEEPS TRACK|
00006880: 20 4F 46 20 58 20 43 4F 55 4E 54 45 52 20 81 20 | OF X COUNTER . |
00006890: 24 37 30 30 30 00 69 0D 62 02 4C 44 41 20 53 45 |$7000.i.b.LDA SE|
000068A0: 43 00 78 0D 6C 02 53 54 41 20 53 45 43 53 AA 31 |C.x.l.STA SECS.1|
000068B0: 00 83 0D 76 02 49 4E 43 20 43 54 00 90 0D 80 02 |...v.INC CT.....|
000068C0: 4C 44 41 20 23 24 30 30 00 9D 0D 8A 02 53 54 41 |LDA #$00.....STA|
000068D0: 20 54 45 4D 50 00 C1 0D 94 02 87 20 4A 53 52 20 | TEMP...... JSR |
000068E0: 9B 3B 52 4F 55 54 49 4E 45 53 20 A4 20 53 80 20 |.;ROUTINES . S. |
000068F0: 83 20 54 4F 20 31 35 34 31 00 E6 0D 9E 02 4C 44 |. TO 1541.....LD|
00006900: 59 20 23 24 30 30 3B 41 44 44 52 45 53 53 45 53 |Y #$00;ADDRESSES|
00006910: 20 24 30 36 20 24 30 37 20 AF 20 24 30 30 00 F9 | $06 $07 . $00..|
00006920: 0D A8 02 54 52 43 34 20 4C 44 41 20 4D 57 31 2C |...TRC4 LDA MW1,|
00006930: 59 00 05 0E B2 02 4A 53 52 20 4F 55 54 00 0D 0E |Y.....JSR OUT...|
00006940: BC 02 49 4E 59 00 1A 0E C6 02 43 50 59 20 23 24 |..INY.....CPY #$|
00006950: 30 38 00 27 0E D0 02 42 4E 45 20 54 52 43 34 00 |08.'...BNE TRC4.|
00006960: 35 0E DA 02 4A 53 52 20 55 4E 4C 49 53 00 3F 0E |5...JSR UNLIS.?.|
00006970: E4 02 4A 53 52 20 9B 00 4C 0E EE 02 4C 44 59 20 |..JSR ..L...LDY |
00006980: 23 24 30 30 00 5F 0E F8 02 54 52 43 35 20 4C 44 |#$00._...TRC5 LD|
00006990: 41 20 4D 57 32 2C 59 00 6B 0E 02 03 4A 53 52 20 |A MW2,Y.k...JSR |
000069A0: 4F 55 54 00 73 0E 0C 03 49 4E 59 00 80 0E 16 03 |OUT.s...INY.....|
000069B0: 43 50 59 20 23 24 30 37 00 8D 0E 20 03 42 4E 45 |CPY #$07... .BNE|
000069C0: 20 54 52 43 35 00 9B 0E 2A 03 4A 53 52 20 55 4E | TRC5...*.JSR UN|
000069D0: 4C 49 53 00 CF 0E 34 03 4A 53 52 20 44 45 4C 41 |LIS...4.JSR DELA|
000069E0: 59 3B 44 45 4C 41 59 20 A4 20 49 4E 53 55 52 45 |Y;DELAY . INSURE|
000069F0: 20 4D AB 57 20 83 20 41 43 43 45 50 54 45 44 20 | M.W . ACCEPTED |
00006A00: 42 59 20 31 35 34 31 00 DC 0E 3E 03 4C 44 59 20 |BY 1541...>.LDY |
00006A10: 23 24 30 30 00 E6 0E 48 03 4A 53 52 20 9B 00 0C |#$00...H.JSR ...|
00006A20: 0F 52 03 54 52 43 36 20 4C 44 41 20 4D 52 2C 59 |.R.TRC6 LDA MR,Y|
00006A30: 3B 87 20 44 49 53 4B 20 42 55 46 46 45 52 20 24 |;. DISK BUFFER $|
00006A40: 30 33 30 30 00 18 0F 5C 03 4A 53 52 20 4F 55 54 |0300...\.JSR OUT|
00006A50: 00 20 0F 66 03 49 4E 59 00 2D 0F 70 03 43 50 59 |. .f.INY.-.p.CPY|
00006A60: 20 23 24 30 36 00 3A 0F 7A 03 42 4E 45 20 54 52 | #$06.:.z.BNE TR|
00006A70: 43 36 00 48 0F 84 03 4A 53 52 20 55 4E 4C 49 53 |C6.H...JSR UNLIS|
00006A80: 00 55 0F 8E 03 4A 53 52 20 54 41 4C 4B 00 62 0F |.U...JSR TALK.b.|
00006A90: 98 03 4C 44 59 20 23 24 30 30 00 72 0F A2 03 54 |..LDY #$00.r...T|
00006AA0: 52 43 37 20 4A 53 52 20 49 4E 00 B3 0F AC 03 53 |RC7 JSR IN.....S|
00006AB0: 54 41 20 83 2C 59 3B 24 37 34 30 30 20 49 53 20 |TA .,Y;$7400 IS |
00006AC0: 41 20 57 4F 52 4B 20 42 55 46 46 45 52 20 46 52 |A WORK BUFFER FR|
00006AD0: 4F 4D 20 48 45 52 45 20 49 54 27 53 20 53 45 4E |OM HERE IT'S SEN|
00006AE0: 54 20 54 4F 20 4D 45 4D 4F 52 59 00 BB 0F B6 03 |T TO MEMORY.....|
00006AF0: 49 4E 59 00 C8 0F C0 03 43 50 59 20 23 24 46 46 |INY.....CPY #$FF|
00006B00: 00 D5 0F CA 03 42 4E 45 20 54 52 43 37 00 E3 0F |.....BNE TRC7...|
00006B10: D4 03 4A 53 52 20 55 4E 54 4C 4B 00 12 10 DE 03 |..JSR UNTLK.....|
00006B20: 53 54 59 20 59 3B 54 48 45 52 53 20 91 45 20 42 |STY Y;THERS .E B|
00006B30: 59 54 45 20 4C 45 46 54 20 A4 20 A1 20 46 52 4F |YTE LEFT . . FRO|
00006B40: 4D 20 54 48 45 20 44 49 53 4B 00 35 10 E8 03 4A |M THE DISK.5...J|
00006B50: 53 52 20 46 46 3B CB 20 A4 20 54 48 49 53 20 52 |SR FF;. . THIS R|
00006B60: 4F 55 54 49 4E 45 20 A4 20 A1 20 49 54 00 42 10 |OUTINE . . IT.B.|
00006B70: F2 03 4C 44 59 20 23 24 30 30 00 4D 10 FC 03 4C |..LDY #$00.M...L|
00006B80: 44 58 20 43 54 00 8A 10 06 04 4C 44 41 20 83 2C |DX CT.....LDA .,|
00006B90: 59 3B 47 45 54 20 54 48 45 20 46 49 52 53 54 20 |Y;GET THE FIRST |
00006BA0: 32 20 42 59 54 45 53 20 54 48 49 53 20 49 53 20 |2 BYTES THIS IS |
00006BB0: 4F 55 52 20 4E 45 58 54 20 54 52 4B 20 26 20 53 |OUR NEXT TRK & S|
00006BC0: 45 43 00 99 10 10 04 53 54 41 20 53 45 43 53 2C |EC.....STA SECS,|
00006BD0: 58 00 BF 10 1A 04 53 54 41 20 54 52 4B 3B 53 45 |X.....STA TRK;SE|
00006BE0: 54 20 55 50 20 82 20 87 20 52 4F 55 54 49 4E 45 |T UP . . ROUTINE|
00006BF0: 20 A4 20 44 49 53 4B 00 C7 10 24 04 49 4E 59 00 | . DISK...$.INY.|
00006C00: CF 10 2E 04 49 4E 58 00 D9 10 38 04 4A 53 52 20 |....INX...8.JSR |
00006C10: 80 00 11 11 42 04 4C 44 41 20 83 2C 59 3B 4F 4E |....B.LDA .,Y;ON|
00006C20: 20 54 48 45 20 46 49 52 53 54 20 53 45 43 54 4F | THE FIRST SECTO|
00006C30: 52 20 57 45 20 47 45 54 20 54 48 45 20 4C 4F 41 |R WE GET THE LOA|
00006C40: 44 20 41 44 44 52 45 53 53 00 3C 11 4C 04 53 54 |D ADDRESS.<.L.ST|
00006C50: 41 20 53 45 43 53 2C 58 3B 42 59 54 45 20 32 20 |A SECS,X;BYTE 2 |
00006C60: 26 20 33 20 46 52 4F 4D 20 54 48 45 20 83 20 42 |& 3 FROM THE . B|
00006C70: 4C 4F 43 4B 00 48 11 56 04 53 54 41 20 53 45 43 |LOCK.H.V.STA SEC|
00006C80: 00 50 11 60 04 49 4E 59 00 58 11 6A 04 49 4E 58 |.P.`.INY.X.j.INX|
00006C90: 00 63 11 74 04 53 54 58 20 43 54 00 70 11 7E 04 |.c.t.STX CT.p.~.|
00006CA0: 4C 44 41 20 54 45 4D 50 00 7D 11 88 04 42 4E 45 |LDA TEMP.}...BNE|
00006CB0: 20 54 52 43 38 00 89 11 92 04 4C 44 41 20 83 2C | TRC8.....LDA .,|
00006CC0: 59 00 95 11 9C 04 53 54 41 20 41 44 44 00 9D 11 |Y.....STA ADD...|
00006CD0: A6 04 49 4E 59 00 A9 11 B0 04 4C 44 41 20 83 2C |..INY.....LDA .,|
00006CE0: 59 00 B7 11 BA 04 53 54 41 20 41 44 44 AA 31 00 |Y.....STA ADD.1.|
00006CF0: BF 11 C4 04 49 4E 59 00 EB 11 CE 04 54 52 43 38 |....INY.....TRC8|
00006D00: 20 4C 44 41 20 83 2C 59 3B 41 4C 4C 20 4F 54 48 | LDA .,Y;ALL OTH|
00006D10: 45 52 20 42 4C 4F 43 4B 53 20 43 4F 4D 45 20 48 |ER BLOCKS COME H|
00006D20: 45 52 45 00 1F 12 D8 04 43 48 32 20 53 54 41 20 |ERE.....CH2 STA |
00006D30: 24 30 38 30 31 3B AF 20 54 48 45 20 23 32 35 34 |$0801;. THE #254|
00006D40: 20 42 59 54 45 53 20 41 52 45 20 50 55 54 20 49 | BYTES ARE PUT I|
00006D50: 4E 20 4D 45 4D B0 59 00 2E 12 E2 04 4A 53 52 20 |N MEM.Y.....JSR |
00006D60: 49 4E 43 42 55 46 00 36 12 EC 04 49 4E 59 00 43 |INCBUF.6...INY.C|
00006D70: 12 F6 04 43 50 59 20 23 24 30 30 00 50 12 00 05 |...CPY #$00.P...|
00006D80: 42 4E 45 20 54 52 43 38 00 5E 12 0A 05 4C 44 41 |BNE TRC8.^...LDA|
00006D90: 20 45 46 4C 41 47 00 89 12 14 05 42 45 51 20 4D | EFLAG.....BEQ M|
00006DA0: B0 45 3B 8B 20 45 20 46 4C 41 47 20 49 53 20 30 |.E;. E FLAG IS 0|
00006DB0: 20 54 48 45 52 53 20 4D B0 45 20 A4 20 43 4F 50 | THERS M.E . COP|
00006DC0: 59 00 C6 12 1E 05 4A 4D 50 20 44 49 53 50 3B 8B |Y.....JMP DISP;.|
00006DD0: 20 54 48 45 20 46 4C 41 47 20 49 53 20 53 45 54 | THE FLAG IS SET|
00006DE0: 20 28 31 29 20 54 48 45 20 99 20 54 48 45 20 83 | (1) THE . THE .|
00006DF0: 20 54 4F 20 54 48 45 20 53 43 52 45 45 4E 00 D7 | TO THE SCREEN..|
00006E00: 12 28 05 4D B0 45 20 4C 44 41 20 23 24 30 31 00 |.(.M.E LDA #$01.|
00006E10: E4 12 32 05 53 54 41 20 54 45 4D 50 00 EE 12 3C |..2.STA TEMP...<|
00006E20: 05 4A 4D 50 20 87 00 1F 13 46 05 9B 20 4C 44 41 |.JMP ....F.. LDA|
00006E30: 20 23 24 30 38 3B 53 C0 44 41 52 44 20 9B 45 4E | #$08;S.DARD .EN|
00006E40: 2C 20 54 41 4C 4B 20 AF 20 44 45 4C 41 59 20 52 |, TALK . DELAY R|
00006E50: 4F 55 54 49 4E 45 53 00 2B 13 50 05 4A 53 52 20 |OUTINES.+.P.JSR |
00006E60: 4C 49 53 00 38 13 5A 05 4C 44 41 20 23 24 46 46 |LIS.8.Z.LDA #$FF|
00006E70: 00 46 13 64 05 4A 53 52 20 4C 49 53 45 43 00 4E |.F.d.JSR LISEC.N|
00006E80: 13 6E 05 52 54 53 00 60 13 78 05 54 41 4C 4B 20 |.n.RTS.`.x.TALK |
00006E90: 4C 44 41 20 23 24 30 38 00 6C 13 82 05 4A 53 52 |LDA #$08.l...JSR|
00006EA0: 20 54 4C 4B 00 79 13 8C 05 4C 44 41 20 23 24 46 | TLK.y...LDA #$F|
00006EB0: 46 00 88 13 96 05 4A 53 52 20 54 4C 4B 53 45 43 |F.....JSR TLKSEC|
00006EC0: 00 90 13 A0 05 52 54 53 00 A3 13 AA 05 44 45 4C |.....RTS.....DEL|
00006ED0: 41 59 20 4C 44 41 20 23 24 30 30 00 B0 13 B4 05 |AY LDA #$00.....|
00006EE0: 53 54 41 20 54 49 4D 45 00 BF 13 BE 05 53 54 41 |STA TIME.....STA|
00006EF0: 20 54 49 4D 45 AA 31 00 CF 13 C8 05 54 49 20 49 | TIME.1.....TI I|
00006F00: 4E 43 20 54 49 4D 45 00 DC 13 D2 05 4C 44 41 20 |NC TIME.....LDA |
00006F10: 54 49 4D 45 00 E9 13 DC 05 43 4D 50 20 23 24 46 |TIME.....CMP #$F|
00006F20: 46 00 F4 13 E6 05 42 4E 45 20 54 49 00 FC 13 F0 |F.....BNE TI....|
00006F30: 05 49 4E 59 00 0F 14 FA 05 54 49 31 20 49 4E 43 |.INY.....TI1 INC|
00006F40: 20 54 49 4D 45 AA 31 00 1E 14 04 06 4C 44 41 20 | TIME.1.....LDA |
00006F50: 54 49 4D 45 AA 31 00 2B 14 0E 06 43 4D 50 20 23 |TIME.1.+...CMP #|
00006F60: 24 46 46 00 37 14 18 06 42 4E 45 20 54 49 31 00 |$FF.7...BNE TI1.|
00006F70: 44 14 22 06 43 50 59 20 23 24 46 46 00 4F 14 2C |D.".CPY #$FF.O.,|
00006F80: 06 42 4E 45 20 54 49 00 57 14 36 06 52 54 53 00 |.BNE TI.W.6.RTS.|
00006F90: 6C 14 40 06 49 4E 43 42 55 46 20 4C 44 41 20 43 |l.@.INCBUF LDA C|
00006FA0: 48 32 AA 31 00 74 14 4A 06 43 4C 43 00 81 14 54 |H2.1.t.J.CLC...T|
00006FB0: 06 41 44 43 20 23 24 30 31 00 8E 14 5E 06 43 4D |.ADC #$01...^.CM|
00006FC0: 50 20 23 24 30 30 00 9B 14 68 06 42 45 51 20 49 |P #$00...h.BEQ I|
00006FD0: 4E 43 31 00 A9 14 72 06 53 54 41 20 43 48 32 AA |NC1...r.STA CH2.|
00006FE0: 31 00 B1 14 7C 06 52 54 53 00 C4 14 86 06 49 4E |1...|.RTS.....IN|
00006FF0: 43 31 20 53 54 41 20 43 48 32 AA 31 00 D2 14 90 |C1 STA CH2.1....|
00007000: 06 4C 44 41 20 43 48 32 AA 32 00 DA 14 9A 06 43 |.LDA CH2.2.....C|
00007010: 4C 43 00 E7 14 A4 06 41 44 43 20 23 24 30 31 00 |LC.....ADC #$01.|
00007020: F4 14 A5 06 43 4D 50 20 23 24 37 30 00 01 15 A6 |....CMP #$70....|
00007030: 06 42 4E 45 20 53 41 46 45 00 18 15 A7 06 4C 44 |.BNE SAFE.....LD|
00007040: 41 20 23 24 30 31 3A 53 54 41 20 45 46 4C 41 47 |A #$01:STA EFLAG|
00007050: 00 2B 15 AE 06 53 41 46 45 20 53 54 41 20 43 48 |.+...SAFE STA CH|
00007060: 32 AA 32 00 33 15 B8 06 52 54 53 00 72 15 C2 06 |2.2.3...RTS.r...|
00007070: 80 20 43 4D 50 20 23 24 30 30 3B 8B 20 46 49 52 |. CMP #$00;. FIR|
00007080: 53 54 20 42 59 54 45 20 46 52 4F 4D 20 53 45 43 |ST BYTE FROM SEC|
00007090: A4 52 20 57 41 53 20 30 20 B0 20 B1 20 33 35 20 |.R WAS 0 . . 35 |
000070A0: 49 54 27 53 20 54 48 45 20 80 00 93 15 CC 06 42 |IT'S THE ......B|
000070B0: 45 51 20 46 4C 41 47 3B 53 4F 20 53 45 54 20 54 |EQ FLAG;SO SET T|
000070C0: 48 45 20 46 4C 41 47 20 A4 20 80 00 A0 15 D6 06 |HE FLAG . ......|
000070D0: 43 4D 50 20 23 24 32 33 00 AD 15 E0 06 42 43 53 |CMP #$23.....BCS|
000070E0: 20 46 4C 41 47 00 B5 15 EA 06 52 54 53 00 E0 15 | FLAG.....RTS...|
000070F0: F4 06 46 4C 41 47 20 4C 44 41 20 23 24 30 31 3B |..FLAG LDA #$01;|
00007100: 54 48 49 53 20 53 45 54 53 20 54 48 45 20 46 4C |THIS SETS THE FL|
00007110: 41 47 20 A4 20 41 20 31 00 EE 15 FE 06 53 54 41 |AG . A 1.....STA|
00007120: 20 45 46 4C 41 47 00 F6 15 08 07 52 54 53 00 30 | EFLAG.....RTS.0|
00007130: 16 12 07 46 46 20 4A 53 52 20 9B 3B 54 48 49 53 |...FF JSR .;THIS|
00007140: 20 49 53 20 57 48 45 52 45 20 57 45 20 50 49 43 | IS WHERE WE PIC|
00007150: 4B 20 55 50 20 54 48 45 20 32 35 36 54 48 20 42 |K UP THE 256TH B|
00007160: 59 54 45 20 4F 46 20 83 00 3D 16 1C 07 4C 44 59 |YTE OF ..=...LDY|
00007170: 20 23 24 30 30 00 4F 16 26 07 46 46 31 20 4C 44 | #$00.O.&.FF1 LD|
00007180: 41 20 4D 52 31 2C 59 00 5B 16 30 07 4A 53 52 20 |A MR1,Y.[.0.JSR |
00007190: 4F 55 54 00 63 16 3A 07 49 4E 59 00 70 16 44 07 |OUT.c.:.INY.p.D.|
000071A0: 43 50 59 20 23 24 30 35 00 7C 16 4E 07 42 4E 45 |CPY #$05.|.N.BNE|
000071B0: 20 46 46 31 00 8A 16 58 07 4A 53 52 20 55 4E 4C | FF1...X.JSR UNL|
000071C0: 49 53 00 97 16 62 07 4A 53 52 20 54 41 4C 4B 00 |IS...b.JSR TALK.|
000071D0: A2 16 6C 07 4A 53 52 20 49 4E 00 AC 16 76 07 4C |..l.JSR IN...v.L|
000071E0: 44 59 20 59 00 B8 16 80 07 53 54 41 20 83 2C 59 |DY Y.....STA .,Y|
000071F0: 00 C6 16 8A 07 4A 53 52 20 55 4E 54 4C 4B 00 CE |.....JSR UNTLK..|
00007200: 16 94 07 52 54 53 00 02 17 9E 07 44 49 53 50 20 |...RTS.....DISP |
00007210: 4C 44 59 20 23 24 30 30 3B 52 4F 55 54 49 4E 45 |LDY #$00;ROUTINE|
00007220: 20 A4 20 99 20 54 52 4B 20 26 20 53 45 43 20 83 | . . TRK & SEC .|
00007230: 20 54 4F 20 53 43 52 45 45 4E 00 0F 17 A8 07 4C | TO SCREEN.....L|
00007240: 44 58 20 23 24 30 30 00 22 17 B2 07 44 49 53 20 |DX #$00."...DIS |
00007250: 4C 44 41 20 4D 45 53 33 2C 59 00 2F 17 BC 07 43 |LDA MES3,Y./...C|
00007260: 4D 50 20 23 24 30 30 00 3C 17 C6 07 42 45 51 20 |MP #$00.<...BEQ |
00007270: 44 49 53 31 00 46 17 D0 07 4A 53 52 20 99 00 4E |DIS1.F...JSR ..N|
00007280: 17 DA 07 49 4E 59 00 5A 17 E4 07 4A 4D 50 20 44 |...INY.Z...JMP D|
00007290: 49 53 00 6C 17 EE 07 44 49 53 31 20 4C 44 59 20 |IS.l...DIS1 LDY |
000072A0: 23 24 30 30 00 7F 17 F8 07 53 45 54 20 4C 44 41 |#$00.....SET LDA|
000072B0: 20 53 45 43 53 2C 59 00 BA 17 02 08 43 4D 50 20 | SECS,Y.....CMP |
000072C0: 23 24 45 45 3B 57 48 45 4E 20 23 24 45 45 20 49 |#$EE;WHEN #$EE I|
000072D0: 53 20 52 45 41 43 48 45 44 20 41 4C 4C 20 83 20 |S REACHED ALL . |
000072E0: 48 41 53 20 42 45 45 4E 20 44 49 53 50 4C 41 59 |HAS BEEN DISPLAY|
000072F0: 45 44 00 DB 17 0C 08 42 45 51 20 53 45 54 41 44 |ED.....BEQ SETAD|
00007300: 3B 53 4F 20 99 20 54 48 45 20 93 20 41 44 44 52 |;SO . THE . ADDR|
00007310: 45 53 53 00 E3 17 16 08 49 4E 59 00 EF 17 20 08 |ESS.....INY... .|
00007320: 4A 4D 50 20 53 45 54 00 FD 17 2A 08 53 45 54 41 |JMP SET...*.SETA|
00007330: 44 20 54 59 41 00 05 18 B8 0B 53 45 43 00 12 18 |D TYA.....SEC...|
00007340: C2 0B 53 42 43 20 23 24 30 32 00 1A 18 CC 0B 54 |..SBC #$02.....T|
00007350: 41 59 00 28 18 D6 0B 4C 44 41 20 41 44 44 AA 31 |AY.(...LDA ADD.1|
00007360: 00 37 18 E0 0B 53 54 41 20 53 45 43 53 2C 59 00 |.7...STA SECS,Y.|
00007370: 3F 18 EA 0B 49 4E 59 00 4B 18 F4 0B 4C 44 41 20 |?...INY.K...LDA |
00007380: 41 44 44 00 5A 18 FE 0B 53 54 41 20 53 45 43 53 |ADD.Z...STA SECS|
00007390: 2C 59 00 62 18 08 0C 49 4E 59 00 70 18 09 0C 4C |,Y.b...INY.p...L|
000073A0: 44 41 20 43 48 32 AA 32 00 7F 18 0A 0C 53 54 41 |DA CH2.2.....STA|
000073B0: 20 53 45 43 53 2C 59 00 87 18 0B 0C 49 4E 59 00 | SECS,Y.....INY.|
000073C0: 95 18 0C 0C 4C 44 41 20 43 48 32 AA 31 00 A4 18 |....LDA CH2.1...|
000073D0: 0D 0C 53 54 41 20 53 45 43 53 2C 59 00 B1 18 0E |..STA SECS,Y....|
000073E0: 0C 4C 44 59 20 23 24 30 30 00 BE 18 12 0C 4C 44 |.LDY #$00.....LD|
000073F0: 58 20 23 24 30 30 00 D0 18 1C 0C 44 49 53 32 20 |X #$00.....DIS2 |
00007400: 4C 44 41 20 23 24 31 32 00 DA 18 26 0C 4A 53 52 |LDA #$12...&.JSR|
00007410: 20 99 00 E9 18 30 0C 4C 44 41 20 53 45 43 53 2C | ....0.LDA SECS,|
00007420: 59 00 26 19 3A 0C 43 4D 50 20 23 24 45 45 3B 54 |Y.&.:.CMP #$EE;T|
00007430: 48 49 53 20 54 49 4D 45 20 54 48 52 4F 55 47 48 |HIS TIME THROUGH|
00007440: 20 23 24 45 45 20 49 4E 44 49 43 41 54 45 53 20 | #$EE INDICATES |
00007450: 57 45 27 52 45 20 46 49 4E 49 53 48 45 44 00 32 |WE'RE FINISHED.2|
00007460: 19 44 0C 42 45 51 20 44 91 45 00 5A 19 4E 0C 53 |.D.BEQ D.E.Z.N.S|
00007470: 54 41 20 54 45 4D 50 3B 52 4F 55 54 49 4E 45 20 |TA TEMP;ROUTINE |
00007480: A4 20 43 48 41 4E 47 45 20 48 45 58 20 A4 20 C6 |. CHANGE HEX . .|
00007490: 49 49 00 65 19 58 0C AF 20 23 24 30 46 00 74 19 |II.e.X.. #$0F.t.|
000074A0: 62 0C 53 54 41 20 54 45 4D 50 AA 31 00 81 19 6C |b.STA TEMP.1...l|
000074B0: 0C 4C 44 41 20 54 45 4D 50 00 8C 19 76 0C AF 20 |.LDA TEMP...v.. |
000074C0: 23 24 46 30 00 A0 19 80 0C 4C 53 52 3A 4C 53 52 |#$F0.....LSR:LSR|
000074D0: 3A 4C 53 52 3A 4C 53 52 00 AD 19 8A 0C 53 54 41 |:LSR:LSR.....STA|
000074E0: 20 54 45 4D 50 00 BA 19 9E 0C 4C 44 41 20 54 45 | TEMP.....LDA TE|
000074F0: 4D 50 00 C7 19 A8 0C 43 4D 50 20 23 24 30 41 00 |MP.....CMP #$0A.|
00007500: D2 19 B2 0C 42 43 43 20 4C 4F 00 DA 19 BC 0C 43 |....BCC LO.....C|
00007510: 4C 43 00 E7 19 C6 0C 41 44 43 20 23 24 33 37 00 |LC.....ADC #$37.|
00007520: F1 19 D0 0C 4A 53 52 20 99 00 FB 19 DA 0C 4A 4D |....JSR ......JM|
00007530: 50 20 82 00 0B 1A E4 0C 4C 4F 20 4C 44 41 20 54 |P ......LO LDA T|
00007540: 45 4D 50 00 13 1A EE 0C 43 4C 43 00 20 1A F8 0C |EMP.....CLC. ...|
00007550: 41 44 43 20 23 24 33 30 00 2A 1A 02 0D 4A 53 52 |ADC #$30.*...JSR|
00007560: 20 99 00 3B 1A 0C 0D 82 20 4C 44 41 20 54 45 4D | ..;.... LDA TEM|
00007570: 50 AA 31 00 48 1A 16 0D 43 4D 50 20 23 24 30 41 |P.1.H...CMP #$0A|
00007580: 00 54 1A 20 0D 42 43 43 20 4C 4F 31 00 5C 1A 2A |.T. .BCC LO1.\.*|
00007590: 0D 43 4C 43 00 69 1A 34 0D 41 44 43 20 23 24 33 |.CLC.i.4.ADC #$3|
000075A0: 37 00 73 1A 3E 0D 4A 53 52 20 99 00 80 1A 48 0D |7.s.>.JSR ....H.|
000075B0: 4C 44 41 20 23 24 32 30 00 8A 1A 52 0D 4A 53 52 |LDA #$20...R.JSR|
000075C0: 20 99 00 97 1A 5C 0D 4A 4D 50 20 44 49 53 33 00 | ....\.JMP DIS3.|
000075D0: A3 1A 66 0D 4C 4F 31 20 43 4C 43 00 B0 1A 70 0D |..f.LO1 CLC...p.|
000075E0: 41 44 43 20 23 24 33 30 00 BA 1A 7A 0D 4A 53 52 |ADC #$30...z.JSR|
000075F0: 20 99 00 C7 1A 84 0D 4C 44 41 20 23 24 32 30 00 | ......LDA #$20.|
00007600: D1 1A 8E 0D 4A 53 52 20 99 00 DE 1A 98 0D 44 49 |....JSR ......DI|
00007610: 53 33 20 49 4E 59 00 E6 1A A2 0D 49 4E 58 00 F3 |S3 INY.....INX..|
00007620: 1A AC 0D 43 50 58 20 23 24 30 43 00 00 1B B6 0D |...CPX #$0C.....|
00007630: 42 45 51 20 44 49 53 34 00 0D 1B C0 0D 4A 4D 50 |BEQ DIS4.....JMP|
00007640: 20 44 49 53 32 00 1F 1B CA 0D 44 49 53 34 20 4C | DIS2.....DIS4 L|
00007650: 44 41 20 23 24 30 44 00 29 1B D4 0D 4A 53 52 20 |DA #$0D.)...JSR |
00007660: 99 00 36 1B DE 0D 4C 44 58 20 23 24 30 30 00 43 |..6...LDX #$00.C|
00007670: 1B E8 0D 4A 4D 50 20 44 49 53 32 00 7B 1B F2 0D |...JMP DIS2.{...|
00007680: 44 91 45 20 42 52 4B 3B 46 49 4E 49 53 48 45 44 |D.E BRK;FINISHED|
00007690: 20 42 52 4B 20 42 52 49 4E 47 53 20 55 53 20 42 | BRK BRINGS US B|
000076A0: 41 43 4B 20 A4 20 54 48 45 20 4D AD 4C 20 4D 91 |ACK . THE M.L M.|
000076B0: 49 A4 52 00 8E 1B FC 0D 4D 45 53 31 20 2E 42 59 |I.R.....MES1 .BY|
000076C0: 54 45 20 31 34 37 00 B7 1B 06 0E 2E 42 59 54 45 |TE 147......BYTE|
000076D0: 20 31 33 20 31 33 20 31 38 3A 2E 42 59 54 45 20 | 13 13 18:.BYTE |
000076E0: 22 20 45 4E 54 45 52 20 54 52 41 43 4B 20 22 00 |" ENTER TRACK ".|
000076F0: CA 1B 10 0E 2E 42 59 54 45 20 31 34 36 20 33 32 |.....BYTE 146 32|
00007700: 20 30 00 F9 1B 1A 0E 4D 45 53 32 20 2E 42 59 54 | 0.....MES2 .BYT|
00007710: 45 20 31 33 20 31 33 20 31 38 3A 2E 42 59 54 45 |E 13 13 18:.BYTE|
00007720: 20 22 20 45 4E 54 45 52 20 53 45 43 54 4F 52 20 | " ENTER SECTOR |
00007730: 22 00 0C 1C 24 0E 2E 42 59 54 45 20 31 34 36 20 |"...$..BYTE 146 |
00007740: 33 32 20 30 00 44 1C 2E 0E 4D 45 53 33 20 2E 42 |32 0.D...MES3 .B|
00007750: 59 54 45 20 31 33 20 31 33 20 31 38 3A 2E 42 59 |YTE 13 13 18:.BY|
00007760: 54 45 20 22 20 54 52 41 43 4B 53 20 26 20 53 45 |TE " TRACKS & SE|
00007770: 43 54 4F 52 53 20 55 53 45 44 20 22 00 57 1C 38 |CTORS USED ".W.8|
00007780: 0E 2E 42 59 54 45 20 31 33 20 31 33 20 30 30 00 |..BYTE 13 13 00.|
00007790: 6A 1C 42 0E 54 49 4D 45 20 2E 42 59 54 45 20 30 |j.B.TIME .BYTE 0|
000077A0: 20 30 00 7D 1C 4C 0E 54 45 4D 50 20 2E 42 59 54 | 0.}.L.TEMP .BYT|
000077B0: 45 20 30 20 30 00 8D 1C 56 0E 42 55 46 20 2E 42 |E 0 0...V.BUF .B|
000077C0: 59 54 45 20 30 00 AD 1C 60 0E 4D 57 31 20 2E 42 |YTE 0...`.MW1 .B|
000077D0: 59 54 45 20 37 37 20 34 35 20 38 37 20 30 36 20 |YTE 77 45 87 06 |
000077E0: 30 30 20 30 32 00 BD 1C 6A 0E 54 52 4B 20 2E 42 |00 02...j.TRK .B|
000077F0: 59 54 45 20 30 00 CD 1C 74 0E 53 45 43 20 2E 42 |YTE 0...t.SEC .B|
00007800: 59 54 45 20 30 00 F1 1C 7E 0E 4D 57 32 20 2E 42 |YTE 0...~.MW2 .B|
00007810: 59 54 45 20 37 37 20 34 35 20 38 37 20 30 30 20 |YTE 77 45 87 00 |
00007820: 30 30 20 30 31 20 31 32 38 00 11 1D 88 0E 4D 52 |00 01 128.....MR|
00007830: 20 2E 42 59 54 45 20 37 37 20 34 35 20 38 32 20 | .BYTE 77 45 82 |
00007840: 30 30 20 30 33 20 32 35 35 00 2F 1D 92 0E 4D 52 |00 03 255./...MR|
00007850: 31 20 2E 42 59 54 45 20 37 37 20 34 35 20 38 32 |1 .BYTE 77 45 82|
00007860: 20 32 35 35 20 30 33 00 3E 1D 9C 0E 43 54 20 2E | 255 03.>...CT .|
00007870: 42 59 54 45 20 30 00 4C 1D A6 0E 41 20 2E 42 59 |BYTE 0.L...A .BY|
00007880: 54 45 20 30 00 5A 1D B0 0E 58 20 2E 42 59 54 45 |TE 0.Z...X .BYTE|
00007890: 20 30 00 68 1D BA 0E 59 20 2E 42 59 54 45 20 30 | 0.h...Y .BYTE 0|
000078A0: 00 7A 1D C4 0E 41 44 44 20 2E 42 59 54 45 20 30 |.z...ADD .BYTE 0|
000078B0: 20 30 00 8C 1D CE 0E 45 46 4C 41 47 20 2E 42 59 | 0.....EFLAG .BY|
000078C0: 54 45 20 30 00 9C 1D D8 0E 2E 80 20 54 52 41 43 |TE 0....... TRAC|
000078D0: 45 20 45 51 00 00 00 42 59 54 45 20 22 20 45 4E |E EQ...BYTE " EN|
000078E0: 54 45 52 20 54 52 41 43 4B 20 22 00 CA 1B 10 0E |TER TRACK ".....|
000078F0: 2E 42 59 54 45 20 31 34 36 20 33 32 20 30 00 F9 |.BYTE 146 32 0..|
00007900: 1B 1A 0E 4D 45 53 32 20 2E 42 59 54 01 08 11 08 |...MES2 .BYT....|
00007910: 05 00 3B 53 52 43 48 20 44 53 4B 20 38 00 25 08 |..;SRCH DSK 8.%.|
00007920: 0A 00 53 43 52 45 45 4E 20 4C 44 59 20 23 24 30 |..SCREEN LDY #$0|
00007930: 30 00 36 08 14 00 4C 50 38 20 4C 44 41 20 53 43 |0.6...LP8 LDA SC|
00007940: 2C 59 00 43 08 1E 00 43 4D 50 20 23 24 30 30 00 |,Y.C...CMP #$00.|
00007950: 50 08 28 00 42 45 51 20 80 53 43 52 00 5A 08 32 |P.(.BEQ .SCR.Z.2|
00007960: 00 4A 53 52 20 99 00 62 08 3C 00 49 4E 59 00 6E |.JSR ..b.<.INY.n|
00007970: 08 46 00 4A 4D 50 20 4C 50 38 00 7B 08 50 00 80 |.F.JMP LP8.{.P..|
00007980: 53 43 52 20 52 54 53 00 A1 08 64 00 53 43 20 2E |SCR RTS...d.SC .|
00007990: 42 59 54 45 20 31 34 37 20 33 32 20 33 32 20 33 |BYTE 147 32 32 3|
000079A0: 32 20 33 32 20 33 32 20 33 32 20 33 32 00 CA 08 |2 32 32 32 32...|
000079B0: 78 00 2E 42 59 54 45 20 22 12 9F 20 50 42 57 20 |x..BYTE ".. PBW |
000079C0: 53 4F 46 54 57 41 52 45 20 53 45 41 52 43 48 20 |SOFTWARE SEARCH |
000079D0: 44 49 53 4B 20 22 00 DD 08 F0 00 2E 42 59 54 45 |DISK "......BYTE|
000079E0: 20 31 33 20 31 33 20 31 33 00 1A 09 18 01 2E 42 | 13 13 13......B|
000079F0: 59 54 45 20 33 32 20 33 32 20 33 32 20 33 32 20 |YTE 32 32 32 32 |
00007A00: 33 32 20 33 32 20 33 32 20 33 32 20 33 32 20 33 |32 32 32 32 32 3|
00007A10: 32 20 33 32 20 33 32 20 33 32 20 33 32 20 33 32 |2 32 32 32 32 32|
00007A20: 20 33 32 20 33 32 00 2D 09 22 01 2E 42 59 54 45 | 32 32.-."..BYTE|
00007A30: 20 22 12 9C 20 42 59 20 22 00 3D 09 2C 01 2E 42 | ".. BY ".=.,..B|
00007A40: 59 54 45 20 31 33 20 31 33 00 6B 09 54 01 2E 42 |YTE 13 13.k.T..B|
00007A50: 59 54 45 20 33 32 20 33 32 20 33 32 20 33 32 20 |YTE 32 32 32 32 |
00007A60: 33 32 20 33 32 20 33 32 20 33 32 20 33 32 20 33 |32 32 32 32 32 3|
00007A70: 32 20 33 32 20 33 32 00 89 09 5E 01 2E 42 59 54 |2 32 32...^..BYT|
00007A80: 45 20 22 12 9E 20 43 2E 46 2E 20 4C 45 20 4D 49 |E ".. C.F. LE MI|
00007A90: 45 55 58 20 22 00 99 09 68 01 2E 42 59 54 45 20 |EUX "...h..BYTE |
00007AA0: 31 33 20 31 33 00 C1 09 90 01 2E 42 59 54 45 20 |13 13......BYTE |
00007AB0: 33 32 20 33 32 20 33 32 20 33 32 20 33 32 20 33 |32 32 32 32 32 3|
00007AC0: 32 20 33 32 20 33 32 20 33 32 20 33 32 00 E4 09 |2 32 32 32 32...|
00007AD0: 9A 01 2E 42 59 54 45 20 22 12 9F 20 28 43 29 20 |...BYTE ".. (C) |
00007AE0: 46 52 45 45 57 41 52 45 20 31 39 38 36 20 92 22 |FREEWARE 1986 ."|
00007AF0: 00 F4 09 A4 01 2E 42 59 54 45 20 31 33 20 31 33 |......BYTE 13 13|
00007B00: 00 19 0A A9 01 2E 42 59 54 45 20 33 32 20 33 32 |......BYTE 32 32|
00007B10: 20 33 32 20 33 32 20 33 32 20 33 32 20 33 32 20 | 32 32 32 32 32 |
00007B20: 33 32 20 33 32 00 3D 0A AE 01 2E 42 59 54 45 20 |32 32.=....BYTE |
00007B30: 22 12 05 20 45 4E 54 45 52 20 53 45 41 52 43 48 |".. ENTER SEARCH|
00007B40: 20 53 54 52 49 4E 47 20 22 00 62 0A B8 01 2E 42 | STRING ".b....B|
00007B50: 59 54 45 20 31 33 20 31 33 20 33 32 20 33 32 20 |YTE 13 13 32 32 |
00007B60: 33 32 20 33 32 20 33 32 20 33 32 20 33 32 00 78 |32 32 32 32 32.x|
00007B70: 0A BD 01 2E 42 59 54 45 20 33 32 20 33 32 20 33 |....BYTE 32 32 3|
00007B80: 32 20 33 32 00 97 0A C2 01 2E 42 59 54 45 20 22 |2 32......BYTE "|
00007B90: 12 1E 20 45 58 41 4D 50 4C 45 20 32 30 44 32 46 |.. EXAMPLE 20D2F|
00007BA0: 46 20 22 00 AD 0A CC 01 2E 42 59 54 45 20 31 33 |F "......BYTE 13|
00007BB0: 20 31 33 20 31 33 20 30 30 00 C7 0A D6 01 2E 46 | 13 13 00......F|
00007BC0: 49 4C 45 20 53 52 43 48 20 44 53 4B 20 54 41 42 |ILE SRCH DSK TAB|
00007BD0: 4C 45 53 00 00 00 00 2E 42 59 54 45 20 31 33 20 |LES.....BYTE 13 |
00007BE0: 31 33 20 31 33 00 1A 09 18 01 2E 42 59 54 45 20 |13 13......BYTE |
00007BF0: 33 32 20 33 32 20 33 32 20 33 32 20 33 32 20 33 |32 32 32 32 32 3|
00007C00: 32 20 33 32 20 33 01 08 0E 08 0A 00 AC B2 20 24 |2 32 3........ $|
00007C10: 37 30 30 30 00 1D 08 0F 00 3B 52 44 20 54 52 4B |7000.....;RD TRK|
00007C20: 20 45 51 00 24 08 1E 00 2E 4D 00 2A 08 23 00 3B | EQ.$....M.*.#.;|
00007C30: 00 3F 08 24 00 3B 36 34 20 52 4F 4D 20 52 4F 55 |.?.$.;64 ROM ROU|
00007C40: 54 49 4E 45 53 00 45 08 25 00 3B 00 53 08 28 00 |TINES.E.%.;.S.(.|
00007C50: A1 20 B2 20 24 46 46 45 34 00 61 08 32 00 99 20 |. . $FFE4.a.2.. |
00007C60: B2 20 24 46 46 44 32 00 71 08 3C 00 4C 49 53 20 |. $FFD2.q.<.LIS |
00007C70: B2 20 24 46 46 42 31 00 83 08 46 00 55 4E 4C 49 |. $FFB1...F.UNLI|
00007C80: 53 20 B2 20 24 46 46 41 45 00 95 08 50 00 4C 49 |S . $FFAE...P.LI|
00007C90: 53 45 43 20 B2 20 24 46 46 39 33 00 A5 08 5A 00 |SEC . $FF93...Z.|
00007CA0: 4F 55 54 20 B2 20 24 46 46 41 38 00 B4 08 64 00 |OUT . $FFA8...d.|
00007CB0: 49 4E 20 B2 20 24 46 46 41 35 00 C4 08 6E 00 54 |IN . $FFA5...n.T|
00007CC0: 4C 4B 20 B2 20 24 46 46 42 34 00 D6 08 78 00 55 |LK . $FFB4...x.U|
00007CD0: 4E 54 4C 4B 20 B2 20 24 46 46 41 42 00 E9 08 82 |NTLK . $FFAB....|
00007CE0: 00 54 4C 4B 53 45 43 20 B2 20 24 46 46 39 36 00 |.TLKSEC . $FF96.|
00007CF0: F7 08 8C 00 90 20 B2 20 24 46 46 45 31 00 FD 08 |..... . $FFE1...|
00007D00: 97 00 3B 00 14 09 98 00 3B 31 35 34 31 20 52 4F |..;.....;1541 RO|
00007D10: 4D 20 52 4F 55 54 49 4E 45 53 00 1A 09 99 00 3B |M ROUTINES.....;|
00007D20: 00 2B 09 A0 00 53 59 4E 43 20 B2 20 24 46 35 35 |.+...SYNC . $F55|
00007D30: 36 00 3B 09 AA 00 4F 46 46 20 B2 20 24 46 39 36 |6.;...OFF . $F96|
00007D40: 39 00 41 09 AB 00 3B 00 56 09 AC 00 3B 31 35 34 |9.A...;.V...;154|
00007D50: 31 20 B5 45 52 4E 41 4C 20 49 AD 4F 00 5C 09 AD |1 .ERNAL I.O.\..|
00007D60: 00 3B 00 6F 09 B9 00 44 53 4B 43 4E 54 20 B2 20 |.;.o...DSKCNT . |
00007D70: 24 31 43 30 30 00 7D 09 BE 00 83 20 3D 20 24 31 |$1C00.}.... = $1|
00007D80: 43 30 31 00 83 09 C8 00 3B 00 9E 09 C9 00 3B 36 |C01.....;.....;6|
00007D90: 34 20 5A 45 52 4F 20 50 41 47 45 20 41 44 44 52 |4 ZERO PAGE ADDR|
00007DA0: 45 53 BF 47 00 A4 09 CA 00 3B 00 B3 09 D2 00 5A |ES.G.....;.....Z|
00007DB0: 31 20 B2 20 24 30 30 46 42 00 C2 09 DC 00 5A 32 |1 . $00FB.....Z2|
00007DC0: 20 B2 20 24 30 30 46 43 00 D1 09 E6 00 5A 33 20 | . $00FC.....Z3 |
00007DD0: B2 20 24 30 30 46 44 00 E0 09 F0 00 5A 34 20 B2 |. $00FD.....Z4 .|
00007DE0: 20 24 30 30 46 45 00 F3 09 0E 01 2E 46 49 4C 45 | $00FE......FILE|
00007DF0: 20 52 44 20 54 52 4B 20 31 00 00 00 00 00 00 00 | RD TRK 1.......|
00007E00: 01 00 01 08 0F 08 0A 00 3B 52 44 20 54 52 4B 20 |........;RD TRK |
00007E10: 31 00 35 08 3C 00 53 54 41 52 54 20 4A 53 52 20 |1.5.<.START JSR |
00007E20: 9C 41 4C 4C 3B 20 43 4C 45 41 52 20 41 4C 4C 20 |.ALL; CLEAR ALL |
00007E30: 42 55 46 46 45 52 53 00 5F 08 46 00 4C 44 41 20 |BUFFERS._.F.LDA |
00007E40: 23 24 34 30 3B 20 23 36 34 20 54 52 59 53 20 41 |#$40; #64 TRYS A|
00007E50: 54 20 46 49 4E 44 49 4E 47 20 53 45 43 A4 52 20 |T FINDING SEC.R |
00007E60: 83 00 6A 08 50 00 53 54 41 20 43 54 00 9A 08 73 |..j.P.STA CT...s|
00007E70: 00 4C 44 41 20 23 24 36 30 3A 53 54 41 20 57 52 |.LDA #$60:STA WR|
00007E80: 4B 3B 52 45 50 4C 41 43 45 20 4A 53 52 20 49 4E |K;REPLACE JSR IN|
00007E90: 20 47 43 52 20 52 4F 55 54 49 4E 45 00 C7 08 78 | GCR ROUTINE...x|
00007EA0: 00 4A 53 52 20 46 49 4C 4C 3B 20 46 49 4C 4C 20 |.JSR FILL; FILL |
00007EB0: 31 35 34 31 20 52 41 4D 20 42 55 46 46 45 52 53 |1541 RAM BUFFERS|
00007EC0: 20 57 49 54 48 20 30 27 53 00 E9 08 82 00 4A 53 | WITH 0'S.....JS|
00007ED0: 52 20 49 4E 49 54 3B 20 49 4E 49 54 49 41 4C 49 |R INIT; INITIALI|
00007EE0: 5A 45 20 54 48 45 20 44 49 53 4B 00 0E 09 8C 00 |ZE THE DISK.....|
00007EF0: 4A 53 52 20 53 43 52 49 4E 3B 20 53 43 52 45 45 |JSR SCRIN; SCREE|
00007F00: 4E 20 81 4D 41 54 20 26 20 83 20 49 4E 50 55 54 |N .MAT & . INPUT|
00007F10: 00 31 09 8D 00 4C 44 41 20 48 4C 46 46 4C 47 3B |.1...LDA HLFFLG;|
00007F20: 20 43 48 45 43 4B 20 8B 20 48 41 4C 46 20 54 52 | CHECK . HALF TR|
00007F30: 41 43 4B 00 53 09 8E 00 42 45 51 20 53 54 31 3B |ACK.S...BEQ ST1;|
00007F40: 20 8B 20 45 51 55 41 4C 20 48 4C 46 46 4C 47 20 | . EQUAL HLFFLG |
00007F50: A8 20 53 45 54 00 5F 09 91 00 4A 53 52 20 48 4C |. SET._...JSR HL|
00007F60: 46 00 8D 09 92 00 44 45 43 20 54 52 4B 3A 4C 44 |F.....DEC TRK:LD|
00007F70: 41 20 54 52 4B 3B 20 8B 20 48 41 4C 46 20 54 52 |A TRK; . HALF TR|
00007F80: 41 43 4B 20 57 45 27 4C 4C 20 42 45 20 91 45 00 |ACK WE'LL BE .E.|
00007F90: B3 09 93 00 53 54 41 20 54 4B 53 45 43 3B 20 54 |....STA TKSEC; T|
00007FA0: 52 41 43 4B 20 4C 4F 57 45 52 20 54 48 41 4E 20 |RACK LOWER THAN |
00007FB0: 4E B0 4D 41 4C 00 DC 09 96 00 53 54 31 20 4A 53 |N.MAL.....ST1 JS|
00007FC0: 52 20 53 45 43 A4 52 3B 20 43 41 4C 43 55 4C 41 |R SEC.R; CALCULA|
00007FD0: 54 45 20 23 20 4F 46 20 53 45 43 A4 52 53 00 02 |TE # OF SEC.RS..|
00007FE0: 0A A0 00 4A 53 52 20 52 44 45 52 52 3B 20 87 20 |...JSR RDERR; . |
00007FF0: 45 52 52 B0 53 20 41 54 20 24 30 30 20 49 4E 20 |ERR.S AT $00 IN |
00008000: 31 35 34 31 00 21 0A AA 00 4A 53 52 20 44 49 53 |1541.!...JSR DIS|
00008010: 50 3B 20 99 20 45 52 52 B0 53 20 A4 20 53 43 52 |P; . ERR.S . SCR|
00008020: 45 45 4E 00 2E 0A DC 00 4C 44 58 20 23 24 30 30 |EEN.....LDX #$00|
00008030: 00 58 0A E6 00 4A 53 52 20 50 52 47 44 53 4B 3B |.X...JSR PRGDSK;|
00008040: 20 50 55 54 20 44 49 53 4B 20 50 52 4F 47 52 41 | PUT DISK PROGRA|
00008050: 4D 20 41 54 20 24 30 33 30 30 00 7F 0A 04 01 54 |M AT $0300.....T|
00008060: 52 59 20 4A 53 52 20 45 58 44 53 4B 3B 20 23 24 |RY JSR EXDSK; #$|
00008070: 45 30 20 41 54 20 24 30 30 20 45 58 45 43 55 54 |E0 AT $00 EXECUT|
00008080: 45 00 A5 0A 22 01 4A 53 52 20 52 44 44 53 4B 3B |E...".JSR RDDSK;|
00008090: 20 87 20 52 41 4D 20 41 54 20 24 30 34 30 30 20 | . RAM AT $0400 |
000080A0: A4 20 24 30 35 46 46 00 C9 0A 23 01 4A 53 52 20 |. $05FF...#.JSR |
000080B0: 90 3B 41 46 54 45 52 20 45 52 52 B0 53 20 44 49 |.;AFTER ERR.S DI|
000080C0: 53 50 4C 41 59 45 44 20 8A 20 90 00 EB 0A 24 01 |SPLAYED . ....$.|
000080D0: 42 4E 45 20 CB 91 3B 57 49 4C 4C 20 54 45 52 4D |BNE ..;WILL TERM|
000080E0: 49 4E 41 54 45 20 50 52 4F 47 52 41 4D 00 F8 0A |INATE PROGRAM...|
000080F0: 25 01 4A 4D 50 20 41 4C 4C 44 00 20 0B 2C 01 CB |%.JMP ALLD. .,..|
00008100: 91 20 4A 53 52 20 47 43 52 3B 20 43 91 56 45 52 |. JSR GCR; C.VER|
00008110: 54 20 47 43 52 20 48 45 41 44 45 52 20 A4 20 48 |T GCR HEADER . H|
00008120: 45 58 00 47 0B 36 01 4A 53 52 20 46 4D 54 3B 20 |EX.G.6.JSR FMT; |
00008130: 52 4F 57 20 41 54 20 24 37 46 58 58 20 A4 20 50 |ROW AT $7FXX . P|
00008140: 55 54 20 48 45 41 44 45 52 00 56 0B 40 01 4C 44 |UT HEADER.V.@.LD|
00008150: 41 20 53 45 43 46 4C 47 00 75 0B 4A 01 42 45 51 |A SECFLG.u.J.BEQ|
00008160: 20 4E 4F 53 45 43 3B 20 8B 20 30 20 44 55 50 4C | NOSEC; . 0 DUPL|
00008170: 49 43 41 54 45 20 87 00 82 0B 54 01 4C 44 41 20 |ICATE ....T.LDA |
00008180: 23 24 30 30 00 A3 0B 5E 01 53 54 41 20 53 45 43 |#$00...^.STA SEC|
00008190: 46 4C 47 3B 20 52 45 53 45 54 20 53 45 43 A4 52 |FLG; RESET SEC.R|
000081A0: 20 46 4C 41 47 00 C9 0B 68 01 44 45 43 20 53 45 | FLAG...h.DEC SE|
000081B0: 43 3B 20 53 55 42 54 52 41 43 54 20 31 20 8B 20 |C; SUBTRACT 1 . |
000081C0: A8 20 44 55 50 4C 49 43 41 54 45 00 D5 0B 72 01 |. DUPLICATE...r.|
000081D0: 4C 44 41 20 53 45 43 00 E3 0B 7C 01 42 4E 45 20 |LDA SEC...|.BNE |
000081E0: 4E 4F 53 45 43 00 04 0C B8 01 41 4C 4C 44 20 4A |NOSEC.....ALLD J|
000081F0: 53 52 20 49 4E 49 54 3B 20 54 48 49 53 20 49 53 |SR INIT; THIS IS|
00008200: 20 54 48 45 20 80 00 3E 0C BD 01 4C 44 41 20 23 | THE ..>...LDA #|
00008210: 24 30 30 3A 53 54 41 20 57 52 4B 3B 20 52 45 50 |$00:STA WRK; REP|
00008220: 4C 41 43 45 20 4A 53 52 20 57 49 54 48 20 42 52 |LACE JSR WITH BR|
00008230: 4B 20 49 4E 20 47 43 52 20 52 4F 55 54 49 4E 45 |K IN GCR ROUTINE|
00008240: 00 60 0C CC 01 42 52 4B 3B 20 81 43 45 53 20 52 |.`...BRK; .CES R|
00008250: 4F 55 54 49 4E 45 20 A4 20 4D AD 4C 20 4D 91 49 |OUTINE . M.L M.I|
00008260: A4 52 00 88 0C D6 01 4E 4F 53 45 43 20 4A 53 52 |.R.....NOSEC JSR|
00008270: 20 9C 42 55 46 3B 20 43 4C 45 41 52 20 42 55 46 | .BUF; CLEAR BUF|
00008280: 46 45 52 53 20 81 20 4D B0 45 00 B0 0C E0 01 44 |FERS . M.E.....D|
00008290: 45 43 20 43 54 3B 20 53 55 42 54 52 41 43 54 20 |EC CT; SUBTRACT |
000082A0: 31 20 46 52 4F 4D 20 4F 55 52 20 36 34 20 54 52 |1 FROM OUR 64 TR|
000082B0: 59 53 00 BB 0C EA 01 4C 44 41 20 43 54 00 DA 0C |YS.....LDA CT...|
000082C0: F4 01 42 45 51 20 41 4C 4C 44 3B 20 8B 20 5A 45 |..BEQ ALLD; . ZE|
000082D0: 52 4F 20 57 45 27 52 45 20 44 91 45 00 FB 0C FE |RO WE'RE D.E....|
000082E0: 01 4A 4D 50 20 54 52 59 3B 20 8B 20 A8 20 5A 45 |.JMP TRY; . . ZE|
000082F0: 52 4F 20 4C 4F 4F 4B 20 81 20 4D B0 45 00 0E 0D |RO LOOK . M.E...|
00008300: 08 02 2E 46 49 4C 45 20 52 44 20 54 52 4B 20 32 |...FILE RD TRK 2|
00008310: 00 00 00 45 41 44 45 52 20 A4 20 48 45 58 00 47 |...EADER . HEX.G|
00008320: 0B 36 01 4A 53 52 20 46 4D 54 3B 20 52 4F 57 20 |.6.JSR FMT; ROW |
00008330: 41 54 20 24 37 46 58 58 20 A4 20 50 55 54 20 48 |AT $7FXX . PUT H|
00008340: 45 41 44 45 52 00 56 0B 40 01 4C 44 41 20 53 45 |EADER.V.@.LDA SE|
00008350: 43 46 4C 47 00 75 0B 4A 01 42 45 51 20 4E 4F 53 |CFLG.u.J.BEQ NOS|
00008360: 45 43 3B 20 8B 20 30 20 44 55 50 4C 49 43 41 54 |EC; . 0 DUPLICAT|
00008370: 45 20 87 00 82 0B 54 01 4C 44 41 20 23 24 30 30 |E ....T.LDA #$00|
00008380: 00 A3 0B 5E 01 53 54 41 20 53 45 43 46 4C 47 3B |...^.STA SECFLG;|
00008390: 20 52 45 53 45 54 20 53 45 43 A4 52 20 46 4C 41 | RESET SEC.R FLA|
000083A0: 47 00 C9 0B 68 01 44 45 43 20 53 45 43 3B 20 53 |G...h.DEC SEC; S|
000083B0: 55 42 54 52 41 43 54 20 31 20 8B 20 A8 20 44 55 |UBTRACT 1 . . DU|
000083C0: 50 4C 49 43 41 54 45 00 D5 0B 72 01 4C 44 41 20 |PLICATE...r.LDA |
000083D0: 53 45 43 00 E3 0B 7C 01 42 4E 45 20 4E 4F 53 45 |SEC...|.BNE NOSE|
000083E0: 43 00 04 0C B8 01 41 4C 4C 44 20 4A 53 52 20 49 |C.....ALLD JSR I|
000083F0: 4E 49 54 3B 20 54 01 08 0F 08 0A 00 3B 52 44 20 |NIT; T......;RD |
00008400: 54 52 4B 20 32 00 34 08 50 00 53 43 52 49 4E 20 |TRK 2.4.P.SCRIN |
00008410: 4C 44 59 20 23 24 30 30 3B 20 53 43 52 45 45 4E |LDY #$00; SCREEN|
00008420: 20 81 4D 41 54 53 20 26 20 85 00 51 08 55 00 53 | .MATS & ..Q.U.S|
00008430: 54 59 20 48 4C 46 46 4C 47 3B 20 52 45 53 45 54 |TY HLFFLG; RESET|
00008440: 20 48 4C 46 46 4C 47 00 74 08 5A 00 50 52 4E 54 | HLFFLG.t.Z.PRNT|
00008450: 20 4C 44 41 20 54 52 4B 4D 45 53 2C 59 3B 20 45 | LDA TRKMES,Y; E|
00008460: 4E 54 45 52 20 54 52 41 43 4B 00 80 08 64 00 42 |NTER TRACK...d.B|
00008470: 45 51 20 4C 50 34 00 8A 08 6E 00 4A 53 52 20 99 |EQ LP4...n.JSR .|
00008480: 00 92 08 78 00 49 4E 59 00 9F 08 82 00 4A 4D 50 |...x.INY.....JMP|
00008490: 20 50 52 4E 54 00 AD 08 8C 00 4C 50 34 20 4A 53 | PRNT.....LP4 JS|
000084A0: 52 20 A1 00 BA 08 96 00 43 4D 50 20 23 24 30 30 |R ......CMP #$00|
000084B0: 00 C6 08 A0 00 42 45 51 20 4C 50 34 00 E0 08 AA |.....BEQ LP4....|
000084C0: 00 4A 53 52 20 99 3B 99 20 31 53 54 20 4B 45 59 |.JSR .;. 1ST KEY|
000084D0: 53 54 52 4F 4B 45 00 EC 08 B4 00 53 54 41 20 54 |STROKE.....STA T|
000084E0: 52 4B 00 FA 08 BE 00 4C 50 35 20 4A 53 52 20 A1 |RK.....LP5 JSR .|
000084F0: 00 06 09 C8 00 42 45 51 20 4C 50 35 00 20 09 D2 |.....BEQ LP5. ..|
00008500: 00 4A 53 52 20 99 3B 99 20 32 4E 44 20 4B 45 59 |.JSR .;. 2ND KEY|
00008510: 53 54 52 4F 4B 45 00 40 09 DC 00 53 54 41 20 54 |STROKE.@...STA T|
00008520: 52 4B AA 31 3B 20 43 48 41 4E 47 45 20 C6 49 49 |RK.1; CHANGE .II|
00008530: 20 A4 20 48 45 58 00 4C 09 E6 00 4C 44 41 20 54 | . HEX.L...LDA T|
00008540: 52 4B 00 67 09 F0 00 AF 20 23 24 30 46 3B 43 4C |RK.g.... #$0F;CL|
00008550: 45 41 52 20 48 49 47 48 20 42 49 54 53 00 73 09 |EAR HIGH BITS.s.|
00008560: FA 00 53 54 41 20 54 52 4B 00 8A 09 04 01 41 53 |..STA TRK.....AS|
00008570: 4C 3A 41 53 4C 3B 20 B2 20 54 49 4D 45 53 20 34 |L:ASL; . TIMES 4|
00008580: 00 92 09 0E 01 43 4C 43 00 A9 09 18 01 41 44 43 |.....CLC.....ADC|
00008590: 20 54 52 4B 3B 20 B2 20 54 49 4D 45 53 20 35 00 | TRK; . TIMES 5.|
000085A0: BD 09 22 01 41 53 4C 3B 20 B2 20 54 49 4D 45 53 |..".ASL; . TIMES|
000085B0: 20 31 30 00 C9 09 2C 01 53 54 41 20 54 52 4B 00 | 10...,.STA TRK.|
000085C0: D7 09 36 01 4C 44 41 20 54 52 4B AA 31 00 E2 09 |..6.LDA TRK.1...|
000085D0: 40 01 AF 20 23 24 30 46 00 EA 09 54 01 43 4C 43 |@.. #$0F...T.CLC|
000085E0: 00 F6 09 68 01 41 44 43 20 54 52 4B 00 17 0A 72 |...h.ADC TRK...r|
000085F0: 01 53 54 41 20 54 52 4B 3B 4E 4F 57 20 48 4F 4C |.STA TRK;NOW HOL|
00008600: 44 53 20 48 45 58 20 4E 55 4D 42 45 52 00 25 0A |DS HEX NUMBER.%.|
00008610: 7C 01 53 54 41 20 54 4B 53 45 43 00 4C 0A 86 01 ||.STA TKSEC.L...|
00008620: 4A 53 52 20 9C 48 44 3B 20 46 49 4C 4C 20 24 37 |JSR .HD; FILL $7|
00008630: 46 30 30 AB 24 37 46 46 46 20 57 49 54 48 20 30 |F00.$7FFF WITH 0|
00008640: 27 53 00 59 0A 90 01 4C 44 59 20 23 24 30 30 00 |'S.Y...LDY #$00.|
00008650: 7B 0A 9A 01 C6 20 4C 44 41 20 54 52 4B 4D 45 53 |{.... LDA TRKMES|
00008660: 31 2C 59 3B 20 99 20 48 41 4C 46 20 54 52 41 43 |1,Y; . HALF TRAC|
00008670: 4B 00 86 0A A5 01 42 45 51 20 C6 31 00 90 0A A9 |K.....BEQ .1....|
00008680: 01 4A 53 52 20 99 00 98 0A AA 01 49 4E 59 00 A2 |.JSR ......INY..|
00008690: 0A AE 01 4A 4D 50 20 C6 00 AF 0A B8 01 C6 31 20 |...JMP .......1 |
000086A0: 4A 53 52 20 A1 00 BC 0A BD 01 43 4D 50 20 23 24 |JSR ......CMP #$|
000086B0: 30 30 00 C7 0A BE 01 42 45 51 20 C6 31 00 D1 0A |00.....BEQ .1...|
000086C0: C2 01 4A 53 52 20 99 00 EA 0A CC 01 43 4D 50 20 |..JSR ......CMP |
000086D0: 23 24 34 45 3B 20 45 51 55 41 4C 53 20 22 4E 22 |#$4E; EQUALS "N"|
000086E0: 00 F5 0A D6 01 42 45 51 20 C6 32 00 02 0B E0 01 |.....BEQ .2.....|
000086F0: 4C 44 41 20 23 24 30 31 00 26 0B EA 01 53 54 41 |LDA #$01.&...STA|
00008700: 20 48 4C 46 46 4C 47 3B 20 53 45 54 20 48 41 4C | HLFFLG; SET HAL|
00008710: 46 20 54 52 41 43 4B 20 46 4C 41 47 00 36 0B F4 |F TRACK FLAG.6..|
00008720: 01 C6 32 20 4C 44 59 20 23 24 30 30 00 53 0B FE |..2 LDY #$00.S..|
00008730: 01 C6 33 20 4C 44 41 20 54 52 4B 4D 45 53 32 2C |..3 LDA TRKMES2,|
00008740: 59 3B 20 99 20 5A 91 45 53 00 5E 0B 08 02 42 45 |Y; . Z.ES.^...BE|
00008750: 51 20 C6 34 00 68 0B 12 02 4A 53 52 20 99 00 70 |Q .4.h...JSR ..p|
00008760: 0B 1C 02 49 4E 59 00 7B 0B 26 02 4A 4D 50 20 C6 |...INY.{.&.JMP .|
00008770: 33 00 88 0B 30 02 C6 34 20 4A 53 52 20 A1 00 95 |3...0..4 JSR ...|
00008780: 0B 3A 02 43 4D 50 20 23 24 30 30 00 A0 0B 44 02 |.:.CMP #$00...D.|
00008790: 42 45 51 20 C6 34 00 AA 0B 4E 02 4A 53 52 20 99 |BEQ .4...N.JSR .|
000087A0: 00 D2 0B 58 02 53 45 43 3A 53 42 43 20 23 24 33 |...X.SEC:SBC #$3|
000087B0: 31 3A 54 41 59 3B 20 42 45 43 4F 4D 45 53 20 48 |1:TAY; BECOMES H|
000087C0: 45 58 20 31 20 A4 20 34 00 E2 0B 62 02 4C 44 41 |EX 1 . 4...b.LDA|
000087D0: 20 44 45 4E 53 31 2C 59 00 12 0C 6C 02 53 54 41 | DENS1,Y...l.STA|
000087E0: 20 53 50 44 AA 31 3B 20 53 45 54 20 9A 52 4F 4C | SPD.1; SET .ROL|
000087F0: 4C 45 52 20 42 59 54 45 20 49 4E 20 44 49 53 4B |LER BYTE IN DISK|
00008800: 20 50 52 4F 47 52 41 4D 00 1D 0C 8A 02 C6 37 20 | PROGRAM......7 |
00008810: 52 54 53 00 30 0C 20 03 2E 46 49 4C 45 20 52 44 |RTS.0. ..FILE RD|
00008820: 20 54 52 4B 20 33 00 00 00 20 24 37 46 30 30 AB | TRK 3... $7F00.|
00008830: 24 37 46 46 46 20 57 49 54 48 20 30 27 53 00 59 |$7FFF WITH 0'S.Y|
00008840: 0A 90 01 4C 44 59 20 23 24 30 30 00 7B 0A 9A 01 |...LDY #$00.{...|
00008850: C6 20 4C 44 41 20 54 52 4B 4D 45 53 31 2C 59 3B |. LDA TRKMES1,Y;|
00008860: 20 99 20 48 41 4C 46 20 54 52 41 43 4B 00 86 0A | . HALF TRACK...|
00008870: A5 01 42 45 51 20 C6 31 00 90 0A A9 01 4A 53 52 |..BEQ .1.....JSR|
00008880: 20 99 00 98 0A AA 01 49 4E 59 00 A2 0A AE 01 4A | ......INY.....J|
00008890: 4D 50 20 C6 00 AF 0A B8 01 C6 31 20 4A 53 52 20 |MP .......1 JSR |
000088A0: A1 00 BC 0A BD 01 43 4D 50 20 23 24 30 30 00 C7 |......CMP #$00..|
000088B0: 0A BE 01 42 45 51 20 C6 31 00 D1 0A C2 01 4A 53 |...BEQ .1.....JS|
000088C0: 52 20 99 00 EA 0A CC 01 43 4D 50 20 23 24 34 45 |R ......CMP #$4E|
000088D0: 3B 20 45 51 55 41 4C 53 20 22 4E 22 00 F5 0A D6 |; EQUALS "N"....|
000088E0: 01 42 45 51 20 C6 32 00 02 0B E0 01 01 08 0F 08 |.BEQ .2.........|
000088F0: 0A 00 3B 52 44 20 54 52 4B 20 33 00 3B 08 14 00 |..;RD TRK 3.;...|
00008900: 50 52 47 44 53 4B 20 4A 53 52 20 9B 3B 20 50 55 |PRGDSK JSR .; PU|
00008910: 54 20 44 49 53 4B 20 50 52 4F 47 52 41 4D 20 41 |T DISK PROGRAM A|
00008920: 54 20 24 30 33 30 30 00 5B 08 1E 00 4C 44 59 20 |T $0300.[...LDY |
00008930: 23 24 30 30 3B 20 49 4E 20 54 48 45 20 31 35 34 |#$00; IN THE 154|
00008940: 31 27 53 20 52 41 4D 00 6E 08 28 00 4C 50 31 38 |1'S RAM.n.(.LP18|
00008950: 20 4C 44 41 20 4D 57 33 2C 59 00 7A 08 32 00 4A | LDA MW3,Y.z.2.J|
00008960: 53 52 20 4F 55 54 00 82 08 3C 00 49 4E 59 00 8F |SR OUT...<.INY..|
00008970: 08 46 00 43 50 59 20 23 24 30 36 00 9C 08 50 00 |.F.CPY #$06...P.|
00008980: 42 4E 45 20 4C 50 31 38 00 A9 08 5A 00 4C 44 59 |BNE LP18...Z.LDY|
00008990: 20 23 24 30 30 00 BD 08 64 00 4C 50 31 39 20 4C | #$00...d.LP19 L|
000089A0: 44 41 20 50 52 4F 47 2C 58 00 C9 08 6E 00 4A 53 |DA PROG,X...n.JS|
000089B0: 52 20 4F 55 54 00 D1 08 82 00 49 4E 59 00 D9 08 |R OUT.....INY...|
000089C0: 8C 00 49 4E 58 00 E6 08 96 00 43 50 59 20 23 24 |..INX.....CPY #$|
000089D0: 32 30 00 F3 08 A0 00 42 4E 45 20 4C 50 31 39 00 |20.....BNE LP19.|
000089E0: 01 09 AA 00 4A 53 52 20 55 4E 4C 49 53 00 2C 09 |....JSR UNLIS.,.|
000089F0: B4 00 53 54 59 20 4D 57 33 AA 33 3B 20 52 45 50 |..STY MW3.3; REP|
00008A00: 4C 41 43 45 20 4C 4F 20 42 59 54 45 20 4D AB 57 |LACE LO BYTE M.W|
00008A10: 20 41 44 44 52 45 53 53 00 39 09 BE 00 43 50 58 | ADDRESS.9...CPX|
00008A20: 20 23 24 34 30 00 46 09 C8 00 42 45 51 20 45 52 | #$40.F...BEQ ER|
00008A30: 52 34 00 55 09 D2 00 4A 4D 50 20 50 52 47 44 53 |R4.U...JMP PRGDS|
00008A40: 4B 00 68 09 DC 00 45 52 52 34 20 4A 53 52 20 55 |K.h...ERR4 JSR U|
00008A50: 4E 4C 49 53 00 75 09 E1 00 4C 44 41 20 23 24 30 |NLIS.u...LDA #$0|
00008A60: 30 00 9E 09 E2 00 53 54 41 20 4D 57 33 AA 33 3B |0.....STA MW3.3;|
00008A70: 20 52 45 53 45 54 20 4C 4F 20 42 59 54 45 20 4D | RESET LO BYTE M|
00008A80: AB 57 20 41 44 44 52 45 53 53 00 A6 09 E6 00 52 |.W ADDRESS.....R|
00008A90: 54 53 00 B9 09 80 02 2E 46 49 4C 45 20 52 44 20 |TS......FILE RD |
00008AA0: 54 52 4B 20 34 00 00 00 00 00 82 13 09 44 53 4B |TRK 4........DSK|
00008AB0: 20 50 52 47 A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 | PRG............|
00008AC0: 00 00 00 00 00 00 02 00 00 00 82 14 00 52 45 47 |.............REG|
00008AD0: A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 |................|
00008AE0: 00 00 00 00 00 00 01 00 01 08 0F 08 0A 00 3B 52 |..............;R|
00008AF0: 44 20 54 52 4B 20 34 00 38 08 04 01 45 58 44 53 |D TRK 4.8...EXDS|
00008B00: 4B 20 4A 53 52 20 9B 3B 20 50 55 54 20 23 24 45 |K JSR .; PUT #$E|
00008B10: 30 20 41 54 20 24 30 30 20 49 4E 20 31 35 34 31 |0 AT $00 IN 1541|
00008B20: 00 45 08 0E 01 4C 44 59 20 23 24 30 30 00 71 08 |.E...LDY #$00.q.|
00008B30: 18 01 4C 50 32 31 20 4C 44 41 20 4D 57 31 2C 59 |..LP21 LDA MW1,Y|
00008B40: 3B 4D AB 57 20 30 36 20 30 30 20 30 32 20 22 54 |;M.W 06 00 02 "T|
00008B50: 52 4B 20 26 20 53 45 43 22 00 7D 08 22 01 4A 53 |RK & SEC".}.".JS|
00008B60: 52 20 4F 55 54 00 85 08 2C 01 49 4E 59 00 92 08 |R OUT...,.INY...|
00008B70: 36 01 43 50 59 20 23 24 30 38 00 9F 08 40 01 42 |6.CPY #$08...@.B|
00008B80: 4E 45 20 4C 50 32 31 00 AD 08 4A 01 4A 53 52 20 |NE LP21...J.JSR |
00008B90: 55 4E 4C 49 53 00 B7 08 54 01 4A 53 52 20 9B 00 |UNLIS...T.JSR ..|
00008BA0: C4 08 5E 01 4C 44 59 20 23 24 30 30 00 EB 08 68 |..^.LDY #$00...h|
00008BB0: 01 4C 50 32 32 20 4C 44 41 20 4D 57 34 2C 59 3B |.LP22 LDA MW4,Y;|
00008BC0: 4D AB 57 20 30 30 20 30 30 20 30 31 20 22 23 24 |M.W 00 00 01 "#$|
00008BD0: 45 30 22 00 F7 08 72 01 4A 53 52 20 4F 55 54 00 |E0"...r.JSR OUT.|
00008BE0: FF 08 7C 01 49 4E 59 00 0C 09 86 01 43 50 59 20 |..|.INY.....CPY |
00008BF0: 23 24 30 37 00 19 09 90 01 42 4E 45 20 4C 50 32 |#$07.....BNE LP2|
00008C00: 32 00 27 09 9A 01 4A 53 52 20 55 4E 4C 49 53 00 |2.'...JSR UNLIS.|
00008C10: 45 09 9B 01 4A 53 52 20 43 48 4B 45 52 52 3B 20 |E...JSR CHKERR; |
00008C20: 92 20 81 20 45 52 52 B0 20 43 4F 44 45 00 4D 09 |. . ERR. CODE.M.|
00008C30: A4 01 52 54 53 00 60 09 80 02 2E 46 49 4C 45 20 |..RTS.`....FILE |
00008C40: 52 44 20 54 52 4B 20 35 00 00 00 20 54 52 4B 20 |RD TRK 5... TRK |
00008C50: 32 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |2...............|
00008C60: 00 00 05 00 00 00 82 13 07 52 44 20 54 52 4B 20 |.........RD TRK |
00008C70: 33 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |3...............|
00008C80: 00 00 02 00 00 00 02 13 08 52 44 20 54 52 4B 20 |.........RD TRK |
00008C90: 34 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |4...............|
00008CA0: 00 00 00 00 00 00 82 13 09 52 44 20 54 52 4B 20 |.........RD TRK |
00008CB0: 35 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |5...............|
00008CC0: 00 00 02 00 00 00 82 14 00 52 45 47 A0 A0 A0 A0 |.........REG....|
00008CD0: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
00008CE0: 00 00 01 00 01 08 0F 08 0A 00 3B 52 44 20 54 52 |..........;RD TR|
00008CF0: 4B 20 35 00 2C 08 28 00 50 52 4F 47 20 4C 44 41 |K 5.,.(.PROG LDA|
00008D00: 20 44 53 4B 43 4E 54 3B 58 58 58 58 58 58 58 58 | DSKCNT;XXXXXXXX|
00008D10: 00 47 08 32 00 AF 20 23 24 39 46 3B 20 20 20 20 |.G.2.. #$9F; |
00008D20: 20 20 20 31 30 30 31 31 31 31 31 00 63 08 3C 00 | 10011111.c.<.|
00008D30: 53 50 44 20 B0 41 20 23 24 30 30 3B 20 20 20 30 |SPD .A #$00; 0|
00008D40: 58 58 30 30 30 30 30 00 72 08 46 00 53 54 41 20 |XX00000.r.F.STA |
00008D50: 44 53 4B 43 4E 54 00 95 08 50 00 42 59 20 4A 53 |DSKCNT...P.BY JS|
00008D60: 52 20 53 59 4E 43 3B 46 49 4E 44 20 41 4E 59 20 |R SYNC;FIND ANY |
00008D70: 53 59 4E 43 20 4D 41 52 4B 00 A2 08 C8 00 4C 44 |SYNC MARK.....LD|
00008D80: 59 20 23 24 30 30 00 CB 08 D2 00 92 31 20 42 56 |Y #$00......1 BV|
00008D90: 43 20 92 31 3B 20 56 20 46 4C 41 47 20 49 4E 44 |C .1; V FLAG IND|
00008DA0: 49 43 41 54 45 53 20 47 43 52 20 42 59 54 45 00 |ICATES GCR BYTE.|
00008DB0: E0 08 DC 00 43 4C 56 3B 52 45 53 45 54 20 56 20 |....CLV;RESET V |
00008DC0: 46 4C 41 47 00 FD 08 E6 00 4C 44 41 20 83 3B 20 |FLAG.....LDA .; |
00008DD0: 49 4E 54 45 52 4E 41 4C 20 49 2F 4F 20 50 4F 52 |INTERNAL I/O POR|
00008DE0: 54 00 0D 09 F0 00 53 54 41 20 24 30 34 30 30 2C |T.....STA $0400,|
00008DF0: 59 00 15 09 FA 00 49 4E 59 00 20 09 04 01 42 4E |Y.....INY. ...BN|
00008E00: 45 20 92 31 00 2D 09 0E 01 4C 44 59 20 23 24 30 |E .1.-...LDY #$0|
00008E10: 30 00 3B 09 5E 01 92 32 20 42 56 43 20 92 32 00 |0.;.^..2 BVC .2.|
00008E20: 43 09 68 01 43 4C 56 00 4D 09 72 01 4C 44 41 20 |C.h.CLV.M.r.LDA |
00008E30: 83 00 5D 09 7C 01 53 54 41 20 24 30 35 30 30 2C |..].|.STA $0500,|
00008E40: 59 00 65 09 86 01 49 4E 59 00 70 09 90 01 42 4E |Y.e...INY.p...BN|
00008E50: 45 20 92 32 00 88 09 9A 01 4C 44 41 20 23 24 30 |E .2.....LDA #$0|
00008E60: 31 3B 20 45 52 52 B0 20 43 4F 44 45 00 A9 09 A4 |1; ERR. CODE....|
00008E70: 01 4A 4D 50 20 4F 46 46 3B 20 45 52 52 B0 20 48 |.JMP OFF; ERR. H|
00008E80: AF 4C 49 4E 47 20 52 4F 55 54 49 4E 45 00 B1 09 |.LING ROUTINE...|
00008E90: 08 02 52 54 53 00 C4 09 4E 02 2E 46 49 4C 45 20 |..RTS...N..FILE |
00008EA0: 52 44 20 54 52 4B 20 36 00 00 00 20 35 A0 A0 A0 |RD TRK 6... 5...|
00008EB0: A0 A0 A0 A0 A0 00 00 00 00 00 00 00 00 00 00 00 |................|
00008EC0: 00 00 82 14 00 52 45 47 A0 A0 A0 A0 A0 A0 A0 A0 |.....REG........|
00008ED0: A0 A0 A0 A0 A0 00 00 00 00 00 00 00 00 00 01 00 |................|
00008EE0: 01 08 0F 08 0A 00 3B 52 44 20 54 52 4B 20 36 00 |......;RD TRK 6.|
00008EF0: 1F 08 14 00 53 56 52 45 47 20 53 54 41 20 41 00 |....SVREG STA A.|
00008F00: 29 08 1E 00 53 54 58 20 58 00 33 08 28 00 53 54 |)...STX X.3.(.ST|
00008F10: 59 20 59 00 3B 08 32 00 52 54 53 00 4C 08 3C 00 |Y Y.;.2.RTS.L.<.|
00008F20: 52 53 54 52 45 47 20 4C 44 41 20 41 00 56 08 46 |RSTREG LDA A.V.F|
00008F30: 00 4C 44 58 20 58 00 60 08 50 00 4C 44 59 20 59 |.LDX X.`.P.LDY Y|
00008F40: 00 68 08 5A 00 52 54 53 00 7B 08 64 00 2E 46 49 |.h.Z.RTS.{.d..FI|
00008F50: 4C 45 20 52 44 20 54 52 4B 20 37 00 00 00 00 00 |LE RD TRK 7.....|
00008F60: 82 0A 00 43 33 35 20 31 32 A0 A0 A0 A0 A0 A0 A0 |...C35 12.......|
00008F70: A0 A0 A0 00 00 00 00 00 00 00 00 00 04 00 00 00 |................|
00008F80: 82 0A 01 43 33 35 20 31 33 A0 A0 A0 A0 A0 A0 A0 |...C35 13.......|
00008F90: A0 A0 A0 00 00 00 00 00 00 00 00 00 03 00 00 00 |................|
00008FA0: 82 0A 04 43 33 35 20 31 34 A0 A0 A0 A0 A0 A0 A0 |...C35 14.......|
00008FB0: A0 A0 A0 00 00 00 00 00 00 00 00 00 03 00 00 00 |................|
00008FC0: 82 0A 09 43 33 35 20 31 35 A0 A0 A0 A0 A0 A0 A0 |...C35 15.......|
00008FD0: A0 A0 A0 00 00 00 00 00 00 00 00 00 04 00 01 08 |................|
00008FE0: 0F 08 0A 00 3B 52 44 20 54 52 4B 20 37 00 3A 08 |....;RD TRK 7.:.|
00008FF0: 14 00 46 49 4C 4C 20 4A 53 52 20 9B 3B 20 50 55 |..FILL JSR .; PU|
00009000: 54 20 30 27 53 20 46 52 4F 4D 20 24 30 33 30 30 |T 0'S FROM $0300|
00009010: 20 A4 20 24 30 35 46 46 00 5C 08 1E 00 4C 44 59 | . $05FF.\...LDY|
00009020: 20 23 24 30 30 3B 20 49 4E 20 31 35 34 31 20 52 | #$00; IN 1541 R|
00009030: 41 4D 20 42 55 46 46 45 52 53 00 7D 08 28 00 46 |AM BUFFERS.}.(.F|
00009040: 49 4C 4C 31 20 4C 44 41 20 4D 57 35 2C 59 3B 4D |ILL1 LDA MW5,Y;M|
00009050: AB 57 20 30 30 20 30 33 20 46 46 00 89 08 32 00 |.W 00 03 FF...2.|
00009060: 4A 53 52 20 4F 55 54 00 91 08 3C 00 49 4E 59 00 |JSR OUT...<.INY.|
00009070: 9E 08 46 00 43 50 59 20 23 24 30 36 00 AC 08 50 |..F.CPY #$06...P|
00009080: 00 42 4E 45 20 46 49 4C 4C 31 00 B9 08 5A 00 4C |.BNE FILL1...Z.L|
00009090: 44 59 20 23 24 30 30 00 CC 08 64 00 46 49 4C 4C |DY #$00...d.FILL|
000090A0: 32 20 4C 44 41 20 23 24 30 30 00 D8 08 6E 00 4A |2 LDA #$00...n.J|
000090B0: 53 52 20 4F 55 54 00 E0 08 78 00 49 4E 59 00 ED |SR OUT...x.INY..|
000090C0: 08 82 00 43 50 59 20 23 24 32 30 00 FB 08 8C 00 |...CPY #$20.....|
000090D0: 42 4E 45 20 46 49 4C 4C 32 00 03 09 96 00 43 4C |BNE FILL2.....CL|
000090E0: 43 00 11 09 A0 00 4C 44 41 20 4D 57 35 AA 33 00 |C.....LDA MW5.3.|
000090F0: 1E 09 AA 00 41 44 43 20 23 24 32 30 00 2B 09 B4 |....ADC #$20.+..|
00009100: 00 43 4D 50 20 23 24 30 30 00 39 09 BE 00 42 45 |.CMP #$00.9...BE|
00009110: 51 20 46 49 4C 4C 33 00 6B 09 C8 00 53 54 41 20 |Q FILL3.k...STA |
00009120: 4D 57 35 AA 33 3B 49 4E 43 8F 45 4E 54 20 4C 4F |MW5.3;INC.ENT LO|
00009130: 20 42 59 54 45 20 4D 2D 57 20 41 44 44 52 45 53 | BYTE M-W ADDRES|
00009140: 53 20 42 59 20 23 24 32 30 00 79 09 D2 00 4A 53 |S BY #$20.y...JS|
00009150: 52 20 55 4E 4C 49 53 00 86 09 DC 00 4A 4D 50 20 |R UNLIS.....JMP |
00009160: 46 49 4C 4C 00 A3 09 E6 00 46 49 4C 4C 33 20 4C |FILL.....FILL3 L|
00009170: 44 41 20 23 24 30 30 3A 53 54 41 20 4D 57 35 AA |DA #$00:STA MW5.|
00009180: 33 00 CD 09 EB 00 49 4E 43 20 4D 57 35 AA 34 3B |3.....INC MW5.4;|
00009190: 49 4E 43 8F 45 4E 54 20 48 49 20 42 59 54 45 20 |INC.ENT HI BYTE |
000091A0: 4D 2D 57 20 41 44 44 52 45 53 53 00 DB 09 F0 00 |M-W ADDRESS.....|
000091B0: 4C 44 41 20 4D 57 35 AA 34 00 E8 09 04 01 43 4D |LDA MW5.4.....CM|
000091C0: 50 20 23 24 30 36 00 F6 09 0E 01 42 45 51 20 46 |P #$06.....BEQ F|
000091D0: 49 4C 4C 34 00 04 0A 22 01 4A 53 52 20 55 4E 4C |ILL4...".JSR UNL|
000091E0: 49 53 00 11 0A 2C 01 4A 4D 50 20 46 49 4C 4C 00 |IS...,.JMP FILL.|
000091F0: 25 0A 36 01 46 49 4C 4C 34 20 4A 53 52 20 55 4E |%.6.FILL4 JSR UN|
00009200: 4C 49 53 00 4A 0A 40 01 4C 44 41 20 23 24 30 30 |LIS.J.@.LDA #$00|
00009210: 3A 53 54 41 20 4D 57 35 AA 33 3B 8C 20 4D AB 57 |:STA MW5.3;. M.W|
00009220: 20 41 44 44 52 45 53 53 00 61 0A 45 01 4C 44 41 | ADDRESS.a.E.LDA|
00009230: 20 23 24 30 33 3A 53 54 41 20 4D 57 35 AA 34 00 | #$03:STA MW5.4.|
00009240: 69 0A 4A 01 52 54 53 00 75 0A 4F 01 AC B2 24 37 |i.J.RTS.u.O...$7|
00009250: 32 30 30 00 88 0A 54 01 2E 46 49 4C 45 20 52 44 |200...T..FILE RD|
00009260: 20 54 52 4B 20 38 00 00 00 4E 59 00 9E 08 46 00 | TRK 8...NY...F.|
00009270: 43 50 59 20 23 24 30 36 00 AC 08 50 00 42 4E 45 |CPY #$06...P.BNE|
00009280: 20 46 49 4C 4C 31 00 B9 08 5A 00 4C 44 59 20 23 | FILL1...Z.LDY #|
00009290: 24 30 30 00 CC 08 64 00 46 49 4C 4C 32 20 4C 44 |$00...d.FILL2 LD|
000092A0: 41 20 23 24 30 30 00 D8 08 6E 00 4A 53 52 20 4F |A #$00...n.JSR O|
000092B0: 55 54 00 E0 08 78 00 49 4E 59 00 ED 08 82 00 43 |UT...x.INY.....C|
000092C0: 50 59 20 23 24 32 30 00 FB 08 8C 00 42 4E 45 20 |PY #$20.....BNE |
000092D0: 46 49 4C 4C 32 00 03 09 01 08 0F 08 50 00 3B 52 |FILL2.......P.;R|
000092E0: 44 20 54 52 4B 20 38 00 35 08 5F 00 3B 43 91 56 |D TRK 8.5._.;C.V|
000092F0: 45 52 54 20 35 20 42 59 54 45 53 20 47 43 52 20 |ERT 5 BYTES GCR |
00009300: A4 20 34 20 42 59 54 45 53 20 48 45 58 00 62 08 |. 4 BYTES HEX.b.|
00009310: 60 00 3B 81 20 45 58 41 4D 50 4C 45 20 57 45 27 |`.;. EXAMPLE WE'|
00009320: 4C 4C 20 55 53 45 20 23 24 27 53 20 35 32 20 35 |LL USE #$'S 52 5|
00009330: 36 20 45 35 20 32 39 20 36 42 00 91 08 64 00 47 |6 E5 29 6B...d.G|
00009340: 43 52 20 4C 44 41 20 23 24 30 30 3B 53 45 54 20 |CR LDA #$00;SET |
00009350: 5A 45 52 4F 20 50 41 47 45 20 49 4E 44 45 58 20 |ZERO PAGE INDEX |
00009360: 41 44 44 52 45 53 53 45 53 00 9C 08 6E 00 53 54 |ADDRESSES...n.ST|
00009370: 41 20 5A 31 00 A7 08 78 00 53 54 41 20 5A 34 00 |A Z1...x.STA Z4.|
00009380: B2 08 82 00 53 54 41 20 5A 33 00 C1 08 8C 00 4C |....STA Z3.....L|
00009390: 44 41 20 23 B1 47 43 52 31 00 CC 08 96 00 53 54 |DA #.GCR1.....ST|
000093A0: 41 20 5A 32 00 DA 08 A0 00 4C 31 20 4A 53 52 20 |A Z2.....L1 JSR |
000093B0: 41 41 00 E5 08 AA 00 53 54 59 20 5A 34 00 01 09 |AA.....STY Z4...|
000093C0: B4 00 43 50 59 20 23 24 43 43 3B 20 31 53 54 20 |..CPY #$CC; 1ST |
000093D0: 32 30 34 20 42 59 54 45 53 00 0C 09 BE 00 42 4E |204 BYTES.....BN|
000093E0: 45 20 4C 31 00 19 09 04 01 4C 44 41 20 23 24 30 |E L1.....LDA #$0|
000093F0: 30 00 24 09 0E 01 53 54 41 20 5A 31 00 2F 09 18 |0.$...STA Z1./..|
00009400: 01 53 54 41 20 5A 34 00 3A 09 22 01 53 54 41 20 |.STA Z4.:.".STA |
00009410: 5A 33 00 47 09 2C 01 4C 44 59 20 23 24 46 46 00 |Z3.G.,.LDY #$FF.|
00009420: 54 09 36 01 4C 44 58 20 23 24 30 30 00 84 09 40 |T.6.LDX #$00...@|
00009430: 01 54 52 20 4C 44 41 20 47 43 52 31 2C 59 3B 20 |.TR LDA GCR1,Y; |
00009440: 4D 4F 56 45 20 4C 41 53 54 20 31 30 32 20 42 59 |MOVE LAST 102 BY|
00009450: 54 45 53 20 A4 20 43 91 56 45 52 54 00 93 09 4A |TES . C.VERT...J|
00009460: 01 53 54 41 20 47 43 52 31 2C 58 00 B8 09 4F 01 |.STA GCR1,X...O.|
00009470: 4C 44 41 20 23 B1 47 43 52 31 3A 43 4C 43 3A 41 |LDA #.GCR1:CLC:A|
00009480: 44 43 20 23 24 30 31 3A 53 54 41 20 54 52 AA 32 |DC #$01:STA TR.2|
00009490: 00 C4 09 54 01 49 4E 59 3A 49 4E 58 00 CF 09 5E |...T.INY:INX...^|
000094A0: 01 42 4E 45 20 54 52 00 DC 09 63 01 4C 44 41 20 |.BNE TR...c.LDA |
000094B0: 23 24 43 43 00 04 0A 68 01 53 54 41 20 52 31 AA |#$CC...h.STA R1.|
000094C0: 31 3A 53 54 41 20 52 32 AA 31 3A 53 54 41 20 52 |1:STA R2.1:STA R|
000094D0: 33 AA 31 3A 53 54 41 20 52 34 AA 31 00 12 0A 72 |3.1:STA R4.1...r|
000094E0: 01 4C 32 20 4A 53 52 20 41 41 00 1D 0A 77 01 53 |.L2 JSR AA...w.S|
000094F0: 54 59 20 5A 34 00 2A 0A 7C 01 43 50 59 20 23 24 |TY Z4.*.|.CPY #$|
00009500: 43 43 00 35 0A 81 01 42 4E 45 20 4C 32 00 42 0A |CC.5...BNE L2.B.|
00009510: 86 01 4C 44 41 20 23 24 30 30 00 6A 0A 90 01 53 |..LDA #$00.j...S|
00009520: 54 41 20 52 31 AA 31 3A 53 54 41 20 52 32 AA 31 |TA R1.1:STA R2.1|
00009530: 3A 53 54 41 20 52 33 AA 31 3A 53 54 41 20 52 34 |:STA R3.1:STA R4|
00009540: AA 31 00 82 0A 95 01 4C 44 41 20 23 B1 47 43 52 |.1.....LDA #.GCR|
00009550: 31 3A 53 54 41 20 54 52 AA 32 00 8E 0A 9A 01 57 |1:STA TR.2.....W|
00009560: 52 4B 20 52 54 53 00 AA 0A B8 01 41 41 20 4C 44 |RK RTS.....AA LD|
00009570: 59 20 5A 33 3B B2 20 45 51 55 41 4C 53 20 5A 45 |Y Z3;. EQUALS ZE|
00009580: 52 4F 00 C5 0A BD 01 3B 28 5A 31 29 2C 59 20 50 |RO.....;(Z1),Y P|
00009590: 4F B5 53 20 A4 20 24 37 44 30 30 2C 59 00 E5 0A |O.S . $7D00,Y...|
000095A0: C2 01 4C 44 41 20 28 5A 31 29 2C 59 3B 20 20 23 |..LDA (Z1),Y; #|
000095B0: 24 35 32 20 20 30 31 30 31 30 30 31 30 00 03 0B |$52 01010010...|
000095C0: CC 01 AF 20 23 24 46 38 3B 20 20 20 20 20 20 20 |... #$F8; |
000095D0: 20 20 20 31 31 31 31 31 30 30 30 00 3E 0B CE 01 | 11111000.>...|
000095E0: 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB AB |;RESULT.........|
000095F0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009600: AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 31 |..............01|
00009610: 30 31 30 30 30 30 00 5E 0B D6 01 4C 53 52 3B 20 |010000.^...LSR; |
00009620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 | 00|
00009630: 31 30 31 30 30 30 00 7E 0B D7 01 4C 53 52 3B 20 |101000.~...LSR; |
00009640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 | 00|
00009650: 30 31 30 31 30 30 00 A6 0B D8 01 4C 53 52 3B 20 |010100.....LSR; |
00009660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 | 00|
00009670: 30 30 31 30 31 30 20 20 B2 20 23 24 30 41 00 B9 |001010 . #$0A..|
00009680: 0B E0 01 53 54 41 20 47 43 52 33 3B 24 37 41 30 |...STA GCR3;$7A0|
00009690: 30 00 D9 0B EA 01 4C 44 41 20 28 5A 31 29 2C 59 |0.....LDA (Z1),Y|
000096A0: 3B 20 20 23 24 35 32 20 20 30 31 30 31 30 30 31 |; #$52 0101001|
000096B0: 30 00 F7 0B F4 01 AF 20 23 24 30 37 3B 20 20 20 |0...... #$07; |
000096C0: 20 20 20 20 20 20 20 30 30 30 30 30 31 31 31 00 | 00000111.|
000096D0: 32 0C F5 01 3B 52 45 53 55 4C 54 AB AB AB AB AB |2...;RESULT.....|
000096E0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
000096F0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009700: AB AB 30 30 30 30 30 30 31 30 00 52 0C FE 01 41 |..00000010.R...A|
00009710: 53 4C 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 |SL; |
00009720: 20 20 30 30 30 30 30 31 30 30 00 7A 0C FF 01 41 | 00000100.z...A|
00009730: 53 4C 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 |SL; |
00009740: 20 20 30 30 30 30 31 30 30 30 20 20 B2 20 23 24 | 00001000 . #$|
00009750: 30 38 00 8F 0C 08 02 53 54 41 20 47 43 52 33 AA |08.....STA GCR3.|
00009760: 31 3B 24 37 41 30 31 00 97 0C 12 02 49 4E 59 00 |1;$7A01.....INY.|
00009770: B7 0C 1C 02 4C 44 41 20 28 5A 31 29 2C 59 3B 20 |....LDA (Z1),Y; |
00009780: 20 23 24 35 36 20 20 30 31 30 31 30 31 31 30 00 | #$56 01010110.|
00009790: D5 0C 26 02 AF 20 23 24 43 30 3B 20 20 20 20 20 |..&.. #$C0; |
000097A0: 20 20 20 20 20 31 31 30 30 30 30 30 30 00 10 0D | 11000000...|
000097B0: 27 02 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB |'.;RESULT.......|
000097C0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
000097D0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
000097E0: 30 31 30 30 30 30 30 30 00 3F 0D 2B 02 3B 20 43 |01000000.?.+.; C|
000097F0: 41 52 52 59 20 46 4C 41 47 20 A8 20 43 4C 45 41 |ARRY FLAG . CLEA|
00009800: 52 45 44 20 41 20 31 20 57 49 4C 4C 20 42 45 20 |RED A 1 WILL BE |
00009810: 43 41 52 52 49 45 44 00 5F 0D 30 02 52 4F 4C 3B |CARRIED._.0.ROL;|
00009820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | 1|
00009830: 30 30 30 30 30 30 30 00 7F 0D 31 02 52 4F 4C 3B |0000000...1.ROL;|
00009840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009850: 30 30 30 30 30 30 30 00 9F 0D 32 02 52 4F 4C 3B |0000000...2.ROL;|
00009860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009870: 30 30 30 30 30 30 31 00 BE 0D 3A 02 B0 41 20 47 |0000001...:..A G|
00009880: 43 52 33 AA 31 3B 20 20 23 24 30 38 20 20 30 30 |CR3.1; #$08 00|
00009890: 30 30 31 30 30 30 00 01 0E 3F 02 3B 52 45 53 55 |001000...?.;RESU|
000098A0: 4C 54 AB AB AB AB AB AB AB AB AB AB AB AB AB AB |LT..............|
000098B0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
000098C0: AB AB AB AB AB AB AB AB AB 30 30 30 30 31 30 30 |.........0000100|
000098D0: 31 20 20 B2 20 23 24 30 39 00 10 0E 44 02 53 54 |1 . #$09...D.ST|
000098E0: 41 20 47 43 52 33 AA 31 00 30 0E 4E 02 4C 44 41 |A GCR3.1.0.N.LDA|
000098F0: 20 28 5A 31 29 2C 59 3B 20 20 23 24 35 36 20 20 | (Z1),Y; #$56 |
00009900: 30 31 30 31 30 31 31 30 00 4E 0E 58 02 AF 20 23 |01010110.N.X.. #|
00009910: 24 33 45 3B 20 20 20 20 20 20 20 20 20 20 30 30 |$3E; 00|
00009920: 31 31 31 31 31 30 00 89 0E 59 02 3B 52 45 53 55 |111110...Y.;RESU|
00009930: 4C 54 AB AB AB AB AB AB AB AB AB AB AB AB AB AB |LT..............|
00009940: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009950: AB AB AB AB AB AB AB AB AB 30 30 30 31 30 31 31 |.........0001011|
00009960: 30 00 B1 0E 62 02 4C 53 52 3B 20 20 20 20 20 20 |0...b.LSR; |
00009970: 20 20 20 20 20 20 20 20 20 30 30 30 30 31 30 31 | 0000101|
00009980: 31 20 20 B2 20 23 24 30 42 00 C6 0E 6C 02 53 54 |1 . #$0B...l.ST|
00009990: 41 20 47 43 52 33 AA 32 3B 24 37 41 30 32 00 E6 |A GCR3.2;$7A02..|
000099A0: 0E 76 02 4C 44 41 20 28 5A 31 29 2C 59 3B 20 20 |.v.LDA (Z1),Y; |
000099B0: 23 24 35 36 20 20 30 31 30 31 30 31 31 30 00 04 |#$56 01010110..|
000099C0: 0F 80 02 AF 20 23 24 30 31 3B 20 20 20 20 20 20 |.... #$01; |
000099D0: 20 20 20 20 30 30 30 30 30 30 30 31 00 3F 0F 85 | 00000001.?..|
000099E0: 02 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB |.;RESULT........|
000099F0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009A00: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 |...............0|
00009A10: 30 30 30 30 30 30 30 00 5F 0F 8A 02 41 53 4C 3B |0000000._...ASL;|
00009A20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009A30: 30 30 30 30 30 30 30 00 7F 0F 8B 02 41 53 4C 3B |0000000.....ASL;|
00009A40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009A50: 30 30 30 30 30 30 30 00 9F 0F 8C 02 41 53 4C 3B |0000000.....ASL;|
00009A60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009A70: 30 30 30 30 30 30 30 00 C7 0F 8D 02 41 53 4C 3B |0000000.....ASL;|
00009A80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
00009A90: 30 30 30 30 30 30 30 20 20 B2 20 23 24 30 30 00 |0000000 . #$00.|
00009AA0: DC 0F 94 02 53 54 41 20 47 43 52 33 AA 33 3B 24 |....STA GCR3.3;$|
00009AB0: 37 41 30 33 00 E4 0F 9E 02 49 4E 59 00 04 10 A8 |7A03.....INY....|
00009AC0: 02 4C 44 41 20 28 5A 31 29 2C 59 3B 20 20 23 24 |.LDA (Z1),Y; #$|
00009AD0: 45 35 20 20 31 31 31 30 30 31 30 31 00 22 10 B2 |E5 11100101."..|
00009AE0: 02 AF 20 23 24 46 30 3B 20 20 20 20 20 20 20 20 |.. #$F0; |
00009AF0: 20 20 31 31 31 31 30 30 30 30 00 5D 10 B7 02 3B | 11110000.]...;|
00009B00: 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB AB AB |RESULT..........|
00009B10: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009B20: AB AB AB AB AB AB AB AB AB AB AB AB AB 31 31 31 |.............111|
00009B30: 30 30 30 30 30 00 7D 10 BC 02 4C 53 52 3B 20 20 |00000.}...LSR; |
00009B40: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 31 31 | 011|
00009B50: 31 30 30 30 30 00 9D 10 BD 02 4C 53 52 3B 20 20 |10000.....LSR; |
00009B60: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 31 | 001|
00009B70: 31 31 30 30 30 00 BD 10 BE 02 4C 53 52 3B 20 20 |11000.....LSR; |
00009B80: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 30 | 000|
00009B90: 31 31 31 30 30 00 E5 10 BF 02 4C 53 52 3B 20 20 |11100.....LSR; |
00009BA0: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 30 | 000|
00009BB0: 30 31 31 31 30 20 20 B2 20 23 24 30 45 00 04 11 |01110 . #$0E...|
00009BC0: C6 02 B0 41 20 47 43 52 33 AA 33 3B 20 20 20 20 |...A GCR3.3; |
00009BD0: 20 20 20 20 30 30 30 30 30 30 30 30 00 47 11 CB | 00000000.G..|
00009BE0: 02 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB |.;RESULT........|
00009BF0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009C00: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 |...............0|
00009C10: 30 30 30 31 31 31 30 20 20 B2 20 23 24 30 45 00 |0001110 . #$0E.|
00009C20: 5C 11 D0 02 53 54 41 20 47 43 52 33 AA 33 3B 24 |\...STA GCR3.3;$|
00009C30: 37 41 30 33 00 7C 11 DA 02 4C 44 41 20 28 5A 31 |7A03.|...LDA (Z1|
00009C40: 29 2C 59 3B 20 20 23 24 45 35 20 20 31 31 31 30 |),Y; #$E5 1110|
00009C50: 30 31 30 31 00 9A 11 E4 02 AF 20 23 24 30 46 3B |0101...... #$0F;|
00009C60: 20 20 20 20 20 20 20 20 20 20 30 30 30 30 31 31 | 000011|
00009C70: 31 31 00 D5 11 E9 02 3B 52 45 53 55 4C 54 AB AB |11.....;RESULT..|
00009C80: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009C90: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009CA0: AB AB AB AB AB 30 30 30 30 30 31 30 31 00 FD 11 |.....00000101...|
00009CB0: EE 02 41 53 4C 3B 20 20 20 20 20 20 20 20 20 20 |..ASL; |
00009CC0: 20 20 20 20 20 30 30 30 30 31 30 31 30 20 20 B2 | 00001010 .|
00009CD0: 20 23 24 30 41 00 12 12 F8 02 53 54 41 20 47 43 | #$0A.....STA GC|
00009CE0: 52 33 AA 34 3B 24 37 41 30 34 00 1A 12 02 03 49 |R3.4;$7A04.....I|
00009CF0: 4E 59 00 3A 12 0C 03 4C 44 41 20 28 5A 31 29 2C |NY.:...LDA (Z1),|
00009D00: 59 3B 20 20 23 24 32 39 20 20 30 30 31 30 31 30 |Y; #$29 001010|
00009D10: 30 31 00 58 12 16 03 AF 20 23 24 38 30 3B 20 20 |01.X.... #$80; |
00009D20: 20 20 20 20 20 20 20 20 31 30 30 30 30 30 30 30 | 10000000|
00009D30: 00 93 12 1B 03 3B 52 45 53 55 4C 54 AB AB AB AB |.....;RESULT....|
00009D40: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009D50: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009D60: AB AB AB 30 30 30 30 30 30 30 30 00 9B 12 20 03 |...00000000... .|
00009D70: 43 4C 43 00 BB 12 2A 03 52 4F 4C 3B 20 20 20 20 |CLC...*.ROL; |
00009D80: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 30 30 | 00000|
00009D90: 30 30 30 00 DB 12 2B 03 52 4F 4C 3B 20 20 20 20 |000...+.ROL; |
00009DA0: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 30 30 | 00000|
00009DB0: 30 30 30 00 FA 12 34 03 B0 41 20 47 43 52 33 AA |000...4..A GCR3.|
00009DC0: 34 3B 20 20 23 24 30 41 20 20 30 30 30 30 31 30 |4; #$0A 000010|
00009DD0: 31 30 00 3D 13 39 03 3B 52 45 53 55 4C 54 AB AB |10.=.9.;RESULT..|
00009DE0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009DF0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009E00: AB AB AB AB AB 30 30 30 30 31 30 31 30 20 20 B2 |.....00001010 .|
00009E10: 20 23 24 30 41 00 52 13 3E 03 53 54 41 20 47 43 | #$0A.R.>.STA GC|
00009E20: 52 33 AA 34 3B 24 37 41 30 34 00 72 13 48 03 4C |R3.4;$7A04.r.H.L|
00009E30: 44 41 20 28 5A 31 29 2C 59 3B 20 20 23 24 32 39 |DA (Z1),Y; #$29|
00009E40: 20 20 30 30 31 30 31 30 30 31 00 90 13 52 03 AF | 00101001...R..|
00009E50: 20 23 24 37 43 3B 20 20 20 20 20 20 20 20 20 20 | #$7C; |
00009E60: 30 31 31 31 31 31 30 30 00 CB 13 57 03 3B 52 45 |01111100...W.;RE|
00009E70: 53 55 4C 54 AB AB AB AB AB AB AB AB AB AB AB AB |SULT............|
00009E80: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009E90: AB AB AB AB AB AB AB AB AB AB AB 30 30 31 30 31 |...........00101|
00009EA0: 30 30 30 00 EB 13 5C 03 4C 53 52 3B 20 20 20 20 |000...\.LSR; |
00009EB0: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 31 30 | 00010|
00009EC0: 31 30 30 00 13 14 5D 03 4C 53 52 3B 20 20 20 20 |100...].LSR; |
00009ED0: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 30 31 | 00001|
00009EE0: 30 31 30 20 20 B2 20 23 24 30 41 00 28 14 66 03 |010 . #$0A.(.f.|
00009EF0: 53 54 41 20 47 43 52 33 AA 35 3B 24 37 30 41 35 |STA GCR3.5;$70A5|
00009F00: 00 48 14 70 03 4C 44 41 20 28 5A 31 29 2C 59 3B |.H.p.LDA (Z1),Y;|
00009F10: 20 20 23 24 32 39 20 20 30 30 31 30 31 30 30 31 | #$29 00101001|
00009F20: 00 66 14 7A 03 AF 20 23 30 33 3B 20 20 20 20 20 |.f.z.. #03; |
00009F30: 20 20 20 20 20 20 30 30 30 30 30 30 31 31 00 A1 | 00000011..|
00009F40: 14 7F 03 3B 52 45 53 55 4C 54 AB AB AB AB AB AB |...;RESULT......|
00009F50: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009F60: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
00009F70: AB 30 30 30 30 30 30 30 31 00 C1 14 84 03 41 53 |.00000001.....AS|
00009F80: 4C 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |L; |
00009F90: 20 30 30 30 30 30 30 31 30 00 E1 14 85 03 41 53 | 00000010.....AS|
00009FA0: 4C 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |L; |
00009FB0: 20 30 30 30 30 30 31 30 30 00 09 15 86 03 41 53 | 00000100.....AS|
00009FC0: 4C 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |L; |
00009FD0: 20 30 30 30 30 31 30 30 30 20 20 B2 20 23 24 30 | 00001000 . #$0|
00009FE0: 38 00 1E 15 8E 03 53 54 41 20 47 43 52 33 AA 36 |8.....STA GCR3.6|
00009FF0: 3B 24 37 41 30 36 00 26 15 98 03 49 4E 59 00 46 |;$7A06.&...INY.F|
0000A000: 15 A2 03 4C 44 41 20 28 5A 31 29 2C 59 3B 20 20 |...LDA (Z1),Y; |
0000A010: 23 24 36 42 20 20 30 31 31 30 31 30 31 31 00 64 |#$6B 01101011.d|
0000A020: 15 AC 03 AF 20 23 24 45 30 3B 20 20 20 20 20 20 |.... #$E0; |
0000A030: 20 20 20 20 31 31 31 30 30 30 30 30 00 9F 15 B1 | 11100000....|
0000A040: 03 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB |.;RESULT........|
0000A050: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A060: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 |...............0|
0000A070: 31 31 30 30 30 30 30 00 BF 15 B6 03 52 4F 4C 3B |1100000.....ROL;|
0000A080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | 1|
0000A090: 31 30 30 30 30 30 30 00 DF 15 B7 03 52 4F 4C 3B |1000000.....ROL;|
0000A0A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | 1|
0000A0B0: 30 30 30 30 30 30 30 00 FF 15 B8 03 52 4F 4C 3B |0000000.....ROL;|
0000A0C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
0000A0D0: 30 30 30 30 30 30 31 00 1F 16 B9 03 52 4F 4C 3B |0000001.....ROL;|
0000A0E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 | 0|
0000A0F0: 30 30 30 30 30 31 31 00 3E 16 C0 03 B0 41 20 47 |0000011.>....A G|
0000A100: 43 52 33 AA 36 3B 20 20 23 24 30 38 20 20 30 30 |CR3.6; #$08 00|
0000A110: 30 30 31 30 30 30 00 81 16 C5 03 3B 52 45 53 55 |001000.....;RESU|
0000A120: 4C 54 AB AB AB AB AB AB AB AB AB AB AB AB AB AB |LT..............|
0000A130: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A140: AB AB AB AB AB AB AB AB AB 30 30 30 30 31 30 31 |.........0000101|
0000A150: 31 20 20 B2 20 23 24 30 42 00 96 16 CA 03 53 54 |1 . #$0B.....ST|
0000A160: 41 20 47 43 52 33 AA 36 3B 24 37 41 30 36 00 B6 |A GCR3.6;$7A06..|
0000A170: 16 D4 03 4C 44 41 20 28 5A 31 29 2C 59 3B 20 20 |...LDA (Z1),Y; |
0000A180: 23 24 36 42 20 20 30 31 31 30 31 30 31 31 00 D4 |#$6B 01101011..|
0000A190: 16 DE 03 AF 20 23 24 31 46 3B 20 20 20 20 20 20 |.... #$1F; |
0000A1A0: 20 20 20 20 30 30 30 31 31 31 31 31 00 17 17 E3 | 00011111....|
0000A1B0: 03 3B 52 45 53 55 4C 54 AB AB AB AB AB AB AB AB |.;RESULT........|
0000A1C0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A1D0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 |...............0|
0000A1E0: 30 30 30 31 30 31 31 20 20 B2 20 23 24 30 42 00 |0001011 . #$0B.|
0000A1F0: 2C 17 E8 03 53 54 41 20 47 43 52 33 AA 37 3B 24 |,...STA GCR3.7;$|
0000A200: 37 41 30 37 00 34 17 F2 03 49 4E 59 00 3F 17 FC |7A07.4...INY.?..|
0000A210: 03 53 54 59 20 5A 33 00 4A 17 06 04 4C 44 59 20 |.STY Z3.J...LDY |
0000A220: 5A 34 00 5F 17 10 04 4C 44 58 20 47 43 52 33 3B |Z4._...LDX GCR3;|
0000A230: 20 20 20 23 24 30 41 00 7E 17 1A 04 4C 44 41 20 | #$0A.~...LDA |
0000A240: 47 43 52 34 2C 58 3B 20 23 24 30 30 20 20 30 30 |GCR4,X; #$00 00|
0000A250: 30 30 30 30 30 30 00 93 17 24 04 4C 44 58 20 47 |000000...$.LDX G|
0000A260: 43 52 33 AA 31 3B 20 23 24 30 39 00 B1 17 2E 04 |CR3.1; #$09.....|
0000A270: B0 41 20 47 43 52 35 2C 58 3B 20 23 24 30 38 20 |.A GCR5,X; #$08 |
0000A280: 20 30 30 30 30 31 30 30 30 00 FC 17 33 04 3B 52 | 00001000...3.;R|
0000A290: 45 53 55 4C 54 AB AB AB AB AB AB AB AB AB AB AB |ESULT...........|
0000A2A0: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A2B0: AB AB AB AB AB AB AB AB AB AB 30 30 30 30 31 30 |..........000010|
0000A2C0: 30 30 20 20 B2 20 23 24 30 38 20 48 45 41 44 45 |00 . #$08 HEADE|
0000A2D0: 52 20 49 44 00 0D 18 38 04 52 31 20 53 54 41 20 |R ID...8.R1 STA |
0000A2E0: 48 45 58 2C 59 00 15 18 42 04 49 4E 59 00 2A 18 |HEX,Y...B.INY.*.|
0000A2F0: 4C 04 4C 44 58 20 47 43 52 33 AA 32 3B 20 23 24 |L.LDX GCR3.2; #$|
0000A300: 30 42 00 49 18 56 04 4C 44 41 20 47 43 52 34 2C |0B.I.V.LDA GCR4,|
0000A310: 58 3B 20 23 24 31 30 20 20 30 30 30 31 30 30 30 |X; #$10 0001000|
0000A320: 30 00 5E 18 60 04 4C 44 58 20 47 43 52 33 AA 33 |0.^.`.LDX GCR3.3|
0000A330: 3B 20 23 24 30 45 00 7C 18 6A 04 B0 41 20 47 43 |; #$0E.|.j..A GC|
0000A340: 52 35 2C 58 3B 20 20 20 20 20 20 20 30 30 30 30 |R5,X; 0000|
0000A350: 30 31 30 30 00 C6 18 6F 04 3B 52 45 53 55 4C 54 |0100...o.;RESULT|
0000A360: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A370: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A380: AB AB AB AB AB 30 30 30 31 30 31 30 30 20 20 B2 |.....00010100 .|
0000A390: 20 23 24 31 34 20 43 48 45 43 4B 53 55 4D 00 D7 | #$14 CHECKSUM..|
0000A3A0: 18 74 04 52 32 20 53 54 41 20 48 45 58 2C 59 00 |.t.R2 STA HEX,Y.|
0000A3B0: DF 18 7E 04 49 4E 59 00 F4 18 88 04 4C 44 58 20 |..~.INY.....LDX |
0000A3C0: 47 43 52 33 AA 34 3B 20 23 24 30 41 00 13 19 92 |GCR3.4; #$0A....|
0000A3D0: 04 4C 44 41 20 47 43 52 34 2C 58 3B 20 23 24 30 |.LDA GCR4,X; #$0|
0000A3E0: 30 20 20 30 30 30 30 30 30 30 30 00 28 19 9C 04 |0 00000000.(...|
0000A3F0: 4C 44 58 20 47 43 52 33 AA 35 3B 20 23 24 30 41 |LDX GCR3.5; #$0A|
0000A400: 00 46 19 A6 04 B0 41 20 47 43 52 35 2C 58 3B 20 |.F....A GCR5,X; |
0000A410: 20 20 20 20 20 20 30 30 30 30 30 30 30 30 00 8D | 00000000..|
0000A420: 19 AB 04 3B 52 45 53 55 4C 54 AB AB AB AB AB AB |...;RESULT......|
0000A430: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A440: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB 30 |...............0|
0000A450: 30 30 30 30 30 30 30 20 20 B2 20 23 24 30 30 20 |0000000 . #$00 |
0000A460: 53 45 43 A4 52 00 9E 19 B0 04 52 33 20 53 54 41 |SEC.R.....R3 STA|
0000A470: 20 48 45 58 2C 59 00 A6 19 BA 04 49 4E 59 00 BB | HEX,Y.....INY..|
0000A480: 19 C4 04 4C 44 58 20 47 43 52 33 AA 36 3B 20 23 |...LDX GCR3.6; #|
0000A490: 24 30 41 00 DA 19 CE 04 4C 44 41 20 47 43 52 34 |$0A.....LDA GCR4|
0000A4A0: 2C 58 3B 20 23 24 31 30 20 20 30 30 30 31 30 30 |,X; #$10 000100|
0000A4B0: 30 30 00 EF 19 D8 04 4C 44 58 20 47 43 52 33 AA |00.....LDX GCR3.|
0000A4C0: 37 3B 20 23 24 30 42 00 0D 1A E2 04 B0 41 20 47 |7; #$0B......A G|
0000A4D0: 43 52 35 2C 58 3B 20 20 20 20 20 20 20 30 30 30 |CR5,X; 000|
0000A4E0: 30 30 30 30 31 00 54 1A E7 04 3B 52 45 53 55 4C |00001.T...;RESUL|
0000A4F0: 54 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |T...............|
0000A500: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A510: AB AB AB AB AB AB 30 30 30 31 30 30 30 31 20 20 |......00010001 |
0000A520: B2 20 23 24 31 31 20 54 52 41 43 4B 00 65 1A EC |. #$11 TRACK.e..|
0000A530: 04 52 34 20 53 54 41 20 48 45 58 2C 59 00 6D 1A |.R4 STA HEX,Y.m.|
0000A540: F6 04 49 4E 59 00 78 1A 00 05 53 54 59 20 5A 34 |..INY.x...STY Z4|
0000A550: 00 80 1A 3C 05 52 54 53 00 93 1A 46 05 2E 46 49 |...<.RTS...F..FI|
0000A560: 4C 45 20 52 44 20 54 52 4B 20 39 00 00 00 AB AB |LE RD TRK 9.....|
0000A570: AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB |................|
0000A580: AB 30 30 30 31 30 31 30 30 20 20 B2 20 23 24 31 |.00010100 . #$1|
0000A590: 34 20 43 48 45 43 4B 53 55 4D 00 D7 18 74 04 52 |4 CHECKSUM...t.R|
0000A5A0: 32 20 53 54 41 20 48 45 58 2C 59 00 DF 18 7E 04 |2 STA HEX,Y...~.|
0000A5B0: 49 4E 01 08 0F 08 0A 00 3B 52 44 20 54 52 4B 20 |IN......;RD TRK |
0000A5C0: 39 00 4F 08 14 00 3B 54 48 45 20 9B 45 4E 20 52 |9.O...;THE .EN R|
0000A5D0: 4F 55 54 49 4E 45 20 41 4C 45 52 54 53 20 54 48 |OUTINE ALERTS TH|
0000A5E0: 45 20 44 49 53 4B 20 54 48 41 54 20 41 20 43 4F |E DISK THAT A CO|
0000A5F0: 4D 4D AF 20 49 53 20 42 45 49 4E 47 20 53 45 4E |MM. IS BEING SEN|
0000A600: 54 00 92 08 1E 00 3B 4F 56 45 52 20 54 48 45 20 |T.....;OVER THE |
0000A610: 53 45 52 49 41 4C 20 42 55 53 2E 20 54 48 49 53 |SERIAL BUS. THIS|
0000A620: 20 43 4F 4D 4D AF 20 49 53 20 50 4C 41 43 45 44 | COMM. IS PLACED|
0000A630: 20 49 4E 20 54 48 45 20 31 35 34 31 27 53 20 43 | IN THE 1541'S C|
0000A640: 4F 4D 4D AF 00 C2 08 28 00 3B 42 55 46 46 45 52 |OMM....(.;BUFFER|
0000A650: 20 41 54 20 24 30 32 30 30 20 49 54 20 49 53 20 | AT $0200 IT IS |
0000A660: A7 20 50 41 52 53 45 44 20 AF 20 45 58 45 43 55 |. PARSED . EXECU|
0000A670: 54 45 44 2E 00 C8 08 32 00 3B 00 13 09 3C 00 3B |TED....2.;...<.;|
0000A680: 54 48 45 20 54 41 4C 4B 20 52 4F 55 54 49 4E 45 |THE TALK ROUTINE|
0000A690: 20 53 80 53 20 31 20 42 59 54 45 20 41 54 20 41 | S.S 1 BYTE AT A|
0000A6A0: 20 54 49 4D 45 20 46 52 4F 4D 20 54 48 45 20 31 | TIME FROM THE 1|
0000A6B0: 35 34 31 20 A4 20 54 48 45 20 36 34 20 4F 56 45 |541 . THE 64 OVE|
0000A6C0: 52 20 54 48 45 00 48 09 46 00 3B 53 45 52 49 41 |R THE.H.F.;SERIA|
0000A6D0: 4C 20 42 55 53 2E 20 54 48 45 20 42 59 54 45 20 |L BUS. THE BYTE |
0000A6E0: 49 53 20 48 45 4C 44 20 49 4E 20 54 48 45 20 41 |IS HELD IN THE A|
0000A6F0: 20 52 45 47 49 53 54 45 52 2E 00 4E 09 50 00 3B | REGISTER..N.P.;|
0000A700: 00 8E 09 5A 00 3B 42 4F 54 48 20 52 4F 55 54 49 |...Z.;BOTH ROUTI|
0000A710: 4E 45 53 20 52 45 51 55 49 52 45 20 54 48 41 54 |NES REQUIRE THAT|
0000A720: 20 41 20 53 45 43 91 44 41 52 59 20 41 44 44 52 | A SEC.DARY ADDR|
0000A730: 45 53 53 20 42 45 20 53 50 45 43 8B 49 45 44 2E |ESS BE SPEC.IED.|
0000A740: 00 94 09 64 00 3B 00 A3 09 8C 00 49 4E 49 54 20 |...d.;.....INIT |
0000A750: 4A 53 52 20 9B 00 B5 09 96 00 4C 44 41 20 23 24 |JSR ......LDA #$|
0000A760: 34 39 3B 20 22 49 22 00 D7 09 A0 00 4A 53 52 20 |49; "I".....JSR |
0000A770: 4F 55 54 3B 20 53 80 20 31 20 42 59 54 45 20 A4 |OUT; S. 1 BYTE .|
0000A780: 20 54 48 45 20 31 35 34 31 00 E5 09 AA 00 4A 53 | THE 1541.....JS|
0000A790: 52 20 55 4E 4C 49 53 00 ED 09 B4 00 52 54 53 00 |R UNLIS.....RTS.|
0000A7A0: 01 0A E2 04 9B 20 4C 44 41 20 23 24 30 38 3B 20 |..... LDA #$08; |
0000A7B0: 9B 45 4E 00 0D 0A EC 04 4A 53 52 20 4C 49 53 00 |.EN.....JSR LIS.|
0000A7C0: 1A 0A F6 04 4C 44 41 20 23 24 46 46 00 28 0A 00 |....LDA #$FF.(..|
0000A7D0: 05 4A 53 52 20 4C 49 53 45 43 00 30 0A 0A 05 52 |.JSR LISEC.0...R|
0000A7E0: 54 53 00 42 0A 14 05 54 41 4C 4B 20 4C 44 41 20 |TS.B...TALK LDA |
0000A7F0: 23 24 30 38 00 66 0A 1E 05 4A 53 52 20 54 4C 4B |#$08.f...JSR TLK|
0000A800: 3B 20 A1 20 31 20 42 59 54 45 20 46 52 4F 4D 20 |; . 1 BYTE FROM |
0000A810: 54 48 45 20 31 35 34 31 00 73 0A 28 05 4C 44 41 |THE 1541.s.(.LDA|
0000A820: 20 23 24 46 46 00 82 0A 32 05 4A 53 52 20 54 4C | #$FF...2.JSR TL|
0000A830: 4B 53 45 43 00 8A 0A 3C 05 52 54 53 00 AE 0A 46 |KSEC...<.RTS...F|
0000A840: 05 44 49 53 50 20 4C 44 59 20 23 24 30 30 3B 20 |.DISP LDY #$00; |
0000A850: 99 20 45 52 52 B0 53 20 A4 20 53 43 52 45 45 4E |. ERR.S . SCREEN|
0000A860: 00 C1 0A 50 05 55 54 20 4C 44 41 20 45 52 4D 45 |...P.UT LDA ERME|
0000A870: 53 2C 59 00 CE 0A 5A 05 43 4D 50 20 23 24 30 30 |S,Y...Z.CMP #$00|
0000A880: 00 DA 0A 64 05 42 45 51 20 55 54 31 00 E4 0A 6E |...d.BEQ UT1...n|
0000A890: 05 4A 53 52 20 99 00 EC 0A 73 05 49 4E 59 00 F7 |.JSR ....s.INY..|
0000A8A0: 0A 78 05 4A 4D 50 20 55 54 00 08 0B D5 05 55 54 |.x.JMP UT.....UT|
0000A8B0: 31 20 4C 44 41 20 23 24 32 30 00 12 0B D6 05 4A |1 LDA #$20.....J|
0000A8C0: 53 52 20 99 00 1F 0B DC 05 4C 44 59 20 23 24 30 |SR ......LDY #$0|
0000A8D0: 30 00 31 0B E6 05 4C 50 31 31 20 4C 44 41 20 23 |0.1...LP11 LDA #|
0000A8E0: 24 33 30 00 3B 0B F0 05 4A 53 52 20 99 00 4A 0B |$30.;...JSR ..J.|
0000A8F0: FA 05 4C 44 41 20 42 55 46 46 2C 59 00 57 0B 04 |..LDA BUFF,Y.W..|
0000A900: 06 43 4D 50 20 23 24 30 41 00 78 0B 0E 06 42 43 |.CMP #$0A.x...BC|
0000A910: 43 20 4C 45 53 53 3B 20 42 59 54 45 20 49 53 20 |C LESS; BYTE IS |
0000A920: 41 20 31 20 54 48 52 55 20 39 00 80 0B 18 06 43 |A 1 THRU 9.....C|
0000A930: 4C 43 00 A1 0B 22 06 41 44 43 20 23 24 30 37 3B |LC...".ADC #$07;|
0000A940: 20 41 44 44 20 37 20 A4 20 99 20 41 20 54 48 52 | ADD 7 . . A THR|
0000A950: 55 20 46 00 AE 0B 2C 06 4C 45 53 53 20 43 4C 43 |U F...,.LESS CLC|
0000A960: 00 BB 0B 36 06 41 44 43 20 23 24 33 30 00 C5 0B |...6.ADC #$30...|
0000A970: 40 06 4A 53 52 20 99 00 D2 0B 4A 06 4C 44 41 20 |@.JSR ....J.LDA |
0000A980: 23 24 32 30 00 DC 0B 54 06 4A 53 52 20 99 00 E4 |#$20...T.JSR ...|
0000A990: 0B 5E 06 49 4E 59 00 F0 0B 68 06 43 50 59 20 53 |.^.INY...h.CPY S|
0000A9A0: 45 43 00 FD 0B 72 06 42 4E 45 20 4C 50 31 31 00 |EC...r.BNE LP11.|
0000A9B0: 07 0C 7C 06 4A 53 52 20 99 00 13 0C 86 06 46 49 |..|.JSR ......FI|
0000A9C0: 4E 20 52 54 53 00 4B 0C 90 06 43 48 4B 45 52 52 |N RTS.K...CHKERR|
0000A9D0: 20 4A 53 52 20 9B 3B 92 20 81 20 43 4F 4D 4D AF | JSR .;. . COMM.|
0000A9E0: 20 A4 20 42 45 20 52 45 50 4C 41 43 45 44 20 57 | . BE REPLACED W|
0000A9F0: 49 54 48 20 45 52 52 B0 20 43 4F 44 45 00 58 0C |ITH ERR. CODE.X.|
0000AA00: 9A 06 4C 44 59 20 23 24 30 30 00 6B 0C A4 06 43 |..LDY #$00.k...C|
0000AA10: 48 4B 31 20 4C 44 41 20 4D 52 32 2C 59 00 77 0C |HK1 LDA MR2,Y.w.|
0000AA20: AE 06 4A 53 52 20 4F 55 54 00 7F 0C B8 06 49 4E |..JSR OUT.....IN|
0000AA30: 59 00 8C 0C C2 06 43 50 59 20 23 24 30 36 00 99 |Y.....CPY #$06..|
0000AA40: 0C CC 06 42 4E 45 20 43 48 4B 31 00 A7 0C D6 06 |...BNE CHK1.....|
0000AA50: 4A 53 52 20 55 4E 4C 49 53 00 B4 0C E0 06 4A 53 |JSR UNLIS.....JS|
0000AA60: 52 20 54 41 4C 4B 00 BF 0C EA 06 4A 53 52 20 49 |R TALK.....JSR I|
0000AA70: 4E 00 CB 0C F4 06 53 54 41 20 45 52 52 00 D9 0C |N.....STA ERR...|
0000AA80: FE 06 4A 53 52 20 55 4E 54 4C 4B 00 E5 0C 08 07 |..JSR UNTLK.....|
0000AA90: 4C 44 41 20 45 52 52 00 15 0D 12 07 42 4D 49 20 |LDA ERR.....BMI |
0000AAA0: 43 48 4B 45 52 52 3B 20 53 45 56 45 4E 54 48 20 |CHKERR; SEVENTH |
0000AAB0: 42 49 54 20 53 45 54 20 22 4E 4F 20 45 52 52 4F |BIT SET "NO ERRO|
0000AAC0: 52 20 43 4F 44 45 22 00 1D 0D 1C 07 52 54 53 00 |R CODE".....RTS.|
0000AAD0: 31 0D 6C 07 2E 46 49 4C 45 20 52 44 20 54 52 4B |1.l..FILE RD TRK|
0000AAE0: 20 31 30 00 00 00 30 07 54 52 4B 20 45 52 52 B0 | 10...0.TRK ERR.|
0000AAF0: 00 00 00 31 20 54 52 4B 20 45 52 52 B0 00 00 00 |...1 TRK ERR....|
0000AB00: 20 45 52 52 B0 01 00 00 FF FF 00 00 FF FF 00 00 | ERR............|
0000AB10: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000AB20: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000AB30: F7 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000AB40: FF FF 00 00 F3 FF 00 00 FF F3 00 00 FF FF 08 00 |................|
0000AB50: FF FF 5E 02 F7 FF 00 00 FF FF 00 00 FF FF 00 00 |..^.............|
0000AB60: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000AB70: FF FF 00 00 FF FF 00 00 FF FF 00 00 F3 FF 00 00 |................|
0000AB80: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000AB90: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 |................|
0000ABA0: FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 7C 06 |..............|.|
0000ABB0: 4A 53 52 20 99 00 13 0C 86 06 46 49 4E 20 52 54 |JSR ......FIN RT|
0000ABC0: 53 00 4B 0C 90 06 43 48 4B 45 52 52 20 4A 53 52 |S.K...CHKERR JSR|
0000ABD0: 20 9B 3B 92 20 81 20 43 4F 4D 4D AF 20 A4 20 42 | .;. . COMM. . B|
0000ABE0: 45 20 52 45 50 4C 41 43 45 44 20 57 49 54 48 20 |E REPLACED WITH |
0000ABF0: 45 52 52 B0 20 43 4F 44 45 00 58 0C 9A 06 4C 44 |ERR. CODE.X...LD|
0000AC00: 59 20 23 24 30 30 00 6B 0C A4 06 43 48 4B 31 20 |Y #$00.k...CHK1 |
0000AC10: 4C 44 41 20 4D 52 32 2C 59 00 77 0C AE 06 4A 53 |LDA MR2,Y.w...JS|
0000AC20: 52 20 4F 55 54 00 7F 0C B8 06 49 4E 59 00 8C 0C |R OUT.....INY...|
0000AC30: C2 06 43 50 59 20 23 24 30 36 00 99 0C CC 06 42 |..CPY #$06.....B|
0000AC40: 4E 45 20 43 48 4B 31 00 A7 0C D6 06 4A 53 52 20 |NE CHK1.....JSR |
0000AC50: 55 4E 4C 49 53 00 B4 0C E0 06 4A 53 52 20 54 41 |UNLIS.....JSR TA|
0000AC60: 4C 4B 00 BF 0C EA 06 4A 53 52 20 49 4E 00 CB 0C |LK.....JSR IN...|
0000AC70: F4 06 53 54 41 20 45 52 52 00 D9 0C FE 06 4A 53 |..STA ERR.....JS|
0000AC80: 52 20 55 4E 54 4C 4B 00 E5 0C 08 07 4C 44 41 20 |R UNTLK.....LDA |
0000AC90: 45 52 52 00 15 0D 12 07 42 4D 49 20 43 48 4B 45 |ERR.....BMI CHKE|
0000ACA0: 52 52 3B 20 01 08 10 08 0A 00 3B 52 44 20 44 53 |RR; ......;RD DS|
0000ACB0: 4B 20 31 30 00 41 08 90 01 52 44 44 53 4B 20 4C |K 10.A...RDDSK L|
0000ACC0: 44 41 20 23 24 30 30 3B 20 87 20 44 49 53 4B 20 |DA #$00; . DISK |
0000ACD0: 42 55 46 46 45 52 53 20 24 30 34 30 30 20 26 20 |BUFFERS $0400 & |
0000ACE0: 24 30 35 30 30 00 62 08 9A 01 53 54 41 20 41 3B |$0500.b...STA A;|
0000ACF0: 20 43 4F 55 4E 54 45 52 20 81 20 54 57 4F 20 42 | COUNTER . TWO B|
0000AD00: 55 46 46 45 52 53 00 6F 08 A4 01 52 44 20 4A 53 |UFFERS.o...RD JS|
0000AD10: 52 20 9B 00 7C 08 AE 01 4C 44 59 20 23 24 30 30 |R ..|...LDY #$00|
0000AD20: 00 8F 08 B8 01 4C 50 32 33 20 4C 44 41 20 4D 52 |.....LP23 LDA MR|
0000AD30: 31 2C 59 00 9B 08 C2 01 4A 53 52 20 4F 55 54 00 |1,Y.....JSR OUT.|
0000AD40: A3 08 CC 01 49 4E 59 00 B0 08 D6 01 43 50 59 20 |....INY.....CPY |
0000AD50: 23 24 30 36 00 BD 08 E0 01 42 4E 45 20 4C 50 32 |#$06.....BNE LP2|
0000AD60: 33 00 CB 08 EA 01 4A 53 52 20 55 4E 4C 49 53 00 |3.....JSR UNLIS.|
0000AD70: D8 08 F4 01 4A 53 52 20 54 41 4C 4B 00 E5 08 FE |....JSR TALK....|
0000AD80: 01 4C 44 59 20 23 24 30 30 00 0B 09 08 02 4C 50 |.LDY #$00.....LP|
0000AD90: 32 34 20 4A 53 52 20 49 4E 3B 20 A1 20 41 20 42 |24 JSR IN; . A B|
0000ADA0: 59 54 45 20 26 20 50 55 54 20 49 4E 20 36 34 00 |YTE & PUT IN 64.|
0000ADB0: 30 09 12 02 42 46 31 20 53 54 41 20 47 43 52 31 |0...BF1 STA GCR1|
0000ADC0: 2C 59 3B 20 47 43 52 20 A4 20 48 45 58 20 42 55 |,Y; GCR . HEX BU|
0000ADD0: 46 46 45 52 00 5B 09 17 02 42 46 32 20 53 54 41 |FFER.[...BF2 STA|
0000ADE0: 20 47 43 52 32 2C 59 3B 20 8B 20 A2 20 53 45 43 | GCR2,Y; . . SEC|
0000ADF0: A4 52 20 54 48 49 53 20 57 49 4C 4C 20 42 45 00 |.R THIS WILL BE.|
0000AE00: 82 09 1C 02 49 4E 59 3B 20 54 52 41 4E 53 46 45 |....INY; TRANSFE|
0000AE10: 52 45 44 20 A4 20 83 20 42 55 46 46 45 52 20 54 |RED . . BUFFER T|
0000AE20: 4F 20 53 41 56 45 00 8F 09 26 02 42 4E 45 20 4C |O SAVE...&.BNE L|
0000AE30: 50 32 34 00 9D 09 27 02 4A 53 52 20 55 4E 54 4C |P24...'.JSR UNTL|
0000AE40: 4B 00 B5 09 28 02 4A 53 52 20 9B 3B 20 A1 20 42 |K...(.JSR .; . B|
0000AE50: 59 54 45 20 23 20 32 35 36 00 E9 09 29 02 4C 44 |YTE # 256...).LD|
0000AE60: 59 20 23 24 30 30 3B 20 54 41 4C 4B 20 49 53 20 |Y #$00; TALK IS |
0000AE70: 4C 49 4D 49 54 45 44 20 A4 20 32 35 35 20 42 59 |LIMITED . 255 BY|
0000AE80: 54 45 53 20 41 54 20 41 20 54 49 4D 45 00 FB 09 |TES AT A TIME...|
0000AE90: 2A 02 4C 42 20 4C 44 41 20 4D 52 4C 42 2C 59 00 |*.LB LDA MRLB,Y.|
0000AEA0: 07 0A 2B 02 4A 53 52 20 4F 55 54 00 0F 0A 2C 02 |..+.JSR OUT...,.|
0000AEB0: 49 4E 59 00 1C 0A 2D 02 43 50 59 20 23 24 30 36 |INY...-.CPY #$06|
0000AEC0: 00 27 0A 2E 02 42 4E 45 20 4C 42 00 35 0A 2F 02 |.'...BNE LB.5./.|
0000AED0: 4A 53 52 20 55 4E 4C 49 53 00 42 0A 30 02 4A 53 |JSR UNLIS.B.0.JS|
0000AEE0: 52 20 54 41 4C 4B 00 4D 0A 31 02 4A 53 52 20 49 |R TALK.M.1.JSR I|
0000AEF0: 4E 00 5A 0A 32 02 4C 44 59 20 23 24 46 46 00 69 |N.Z.2.LDY #$FF.i|
0000AF00: 0A 33 02 53 54 41 20 47 43 52 31 2C 59 00 78 0A |.3.STA GCR1,Y.x.|
0000AF10: 34 02 53 54 41 20 47 43 52 32 2C 59 00 86 0A 35 |4.STA GCR2,Y...5|
0000AF20: 02 4A 53 52 20 55 4E 54 4C 4B 00 B2 0A 43 02 49 |.JSR UNTLK...C.I|
0000AF30: 4E 43 20 4D 52 31 AA 34 3B 20 49 4E 43 8F 45 4E |NC MR1.4; INC.EN|
0000AF40: 54 20 48 49 47 48 20 42 59 54 45 20 4F 46 20 42 |T HIGH BYTE OF B|
0000AF50: 55 46 46 45 52 53 00 C0 0A 44 02 49 4E 43 20 42 |UFFERS...D.INC B|
0000AF60: 46 31 AA 32 00 CE 0A 49 02 49 4E 43 20 42 46 32 |F1.2...I.INC BF2|
0000AF70: AA 32 00 D8 0A 4E 02 49 4E 43 20 41 00 E2 0A 58 |.2...N.INC A...X|
0000AF80: 02 4C 44 41 20 41 00 07 0B 62 02 43 4D 50 20 23 |.LDA A...b.CMP #|
0000AF90: 24 30 32 3B 20 43 48 45 43 4B 20 8B 20 42 4F 54 |$02; CHECK . BOT|
0000AFA0: 48 20 42 55 46 46 45 52 53 20 87 00 13 0B 6C 02 |H BUFFERS ....l.|
0000AFB0: 42 45 51 20 52 44 31 00 1E 0B 76 02 4A 4D 50 20 |BEQ RD1...v.JMP |
0000AFC0: 52 44 00 4C 0B 80 02 52 44 31 20 44 45 43 20 42 |RD.L...RD1 DEC B|
0000AFD0: 46 31 AA 32 3B 20 52 45 53 45 54 20 48 49 47 48 |F1.2; RESET HIGH|
0000AFE0: 20 42 59 54 45 20 4F 46 20 42 55 46 46 45 52 53 | BYTE OF BUFFERS|
0000AFF0: 00 5A 0B 85 02 44 45 43 20 42 46 31 AA 32 00 68 |.Z...DEC BF1.2.h|
0000B000: 0B 8A 02 44 45 43 20 42 46 32 AA 32 00 76 0B 8F |...DEC BF2.2.v..|
0000B010: 02 44 45 43 20 42 46 32 AA 32 00 84 0B 94 02 44 |.DEC BF2.2.....D|
0000B020: 45 43 20 4D 52 31 AA 34 00 92 0B 9E 02 44 45 43 |EC MR1.4.....DEC|
0000B030: 20 4D 52 31 AA 34 00 9F 0B A8 02 4C 44 41 20 23 | MR1.4.....LDA #|
0000B040: 24 30 30 00 A9 0B B2 02 53 54 41 20 41 00 B1 0B |$00.....STA A...|
0000B050: BC 02 52 54 53 00 C5 0B C6 02 2E 46 49 4C 45 20 |..RTS......FILE |
0000B060: 52 44 20 54 52 4B 20 31 31 00 00 00 4C 49 4D 49 |RD TRK 11...LIMI|
0000B070: 54 45 44 20 A4 20 32 35 35 20 42 59 54 45 53 20 |TED . 255 BYTES |
0000B080: 41 54 20 41 20 54 49 4D 45 00 FB 09 2A 02 4C 42 |AT A TIME...*.LB|
0000B090: 20 4C 44 41 20 4D 52 4C 42 2C 59 00 01 08 10 08 | LDA MRLB,Y.....|
0000B0A0: 05 00 3B 52 44 20 54 52 4B 20 31 31 00 3A 08 0A |..;RD TRK 11.:..|
0000B0B0: 00 46 4D 54 20 4A 53 52 20 53 56 52 45 47 3B 20 |.FMT JSR SVREG; |
0000B0C0: 52 4F 55 54 49 4E 45 20 A4 20 50 4C 41 43 45 20 |ROUTINE . PLACE |
0000B0D0: 48 45 41 44 45 52 00 5F 08 14 00 4C 44 59 20 23 |HEADER._...LDY #|
0000B0E0: 24 30 32 3B 20 49 4E 20 50 52 4F 50 45 52 20 52 |$02; IN PROPER R|
0000B0F0: 4F 57 20 41 54 20 24 37 46 58 58 00 8A 08 1E 00 |OW AT $7FXX.....|
0000B100: 4C 44 41 20 48 45 58 2C 59 3B 20 54 48 49 53 20 |LDA HEX,Y; THIS |
0000B110: 49 53 20 54 48 45 20 53 45 43 A4 52 20 49 4E 20 |IS THE SEC.R IN |
0000B120: 48 45 41 44 45 52 00 C6 08 23 00 53 54 41 20 45 |HEADER...#.STA E|
0000B130: 52 52 3B 20 55 53 45 44 20 49 4E 20 53 54 20 83 |RR; USED IN ST .|
0000B140: 20 54 4F 20 50 4C 41 43 45 20 44 41 54 41 20 49 | TO PLACE DATA I|
0000B150: 4E 20 4E 55 4D 45 52 49 43 20 53 45 51 55 45 4E |N NUMERIC SEQUEN|
0000B160: 43 45 00 02 09 24 00 3B 50 55 54 20 48 45 41 44 |CE...$.;PUT HEAD|
0000B170: 45 52 20 49 4E 20 4E 55 4D 45 52 49 43 20 53 45 |ER IN NUMERIC SE|
0000B180: 51 55 45 4E 43 45 2E 20 45 41 43 48 20 48 45 41 |QUENCE. EACH HEA|
0000B190: 44 45 52 20 49 53 20 38 20 42 59 54 45 53 00 2B |DER IS 8 BYTES.+|
0000B1A0: 09 28 00 41 53 4C 3A 41 53 4C 3A 41 53 4C 3B 20 |.(.ASL:ASL:ASL; |
0000B1B0: 4D 55 4C 54 49 50 4C 59 20 42 59 20 38 20 8B 20 |MULTIPLY BY 8 . |
0000B1C0: 53 45 43 20 B2 20 33 00 45 09 32 00 54 41 59 3B |SEC . 3.E.2.TAY;|
0000B1D0: 20 A7 20 41 20 B2 20 23 32 34 20 B0 20 23 24 31 | . A . #24 . #$1|
0000B1E0: 38 00 6E 09 3C 00 4C 44 41 20 48 44 42 55 46 2C |8.n.<.LDA HDBUF,|
0000B1F0: 59 3B 20 8B 20 24 38 31 31 38 20 B2 20 30 20 49 |Y; . $8118 . 0 I|
0000B200: 54 53 20 41 20 A2 20 53 45 43 00 8E 09 46 00 42 |TS A . SEC...F.B|
0000B210: 45 51 20 57 52 54 3B 20 53 4F 20 41 44 44 20 49 |EQ WRT; SO ADD I|
0000B220: 54 20 A4 20 42 55 46 46 45 52 00 9D 09 47 00 4A |T . BUFFER...G.J|
0000B230: 53 52 20 52 53 54 52 45 47 00 A5 09 4B 00 52 54 |SR RSTREG...K.RT|
0000B240: 53 00 CD 09 4C 00 57 52 54 20 4C 44 58 20 23 24 |S...L.WRT LDX #$|
0000B250: 30 30 3B 20 57 52 49 54 45 20 48 45 41 44 45 52 |00; WRITE HEADER|
0000B260: 20 A4 20 42 55 46 46 45 52 00 DF 09 50 00 4D 52 | . BUFFER...P.MR|
0000B270: 45 20 4C 44 41 20 48 45 58 2C 58 00 EF 09 55 00 |E LDA HEX,X...U.|
0000B280: 53 54 41 20 48 44 42 55 46 2C 59 00 F7 09 5A 00 |STA HDBUF,Y...Z.|
0000B290: 49 4E 59 00 FF 09 5F 00 49 4E 58 00 0C 0A 64 00 |INY..._.INX...d.|
0000B2A0: 43 50 58 20 23 24 30 38 00 18 0A 6E 00 42 4E 45 |CPX #$08...n.BNE|
0000B2B0: 20 4D 52 45 00 41 0A 6F 00 4C 44 41 20 23 24 30 | MRE.A.o.LDA #$0|
0000B2C0: 31 3B 20 53 45 54 20 53 45 43 20 46 4C 41 47 20 |1; SET SEC FLAG |
0000B2D0: 53 4F 20 43 4F 55 4E 54 20 57 49 4C 4C 00 63 0A |SO COUNT WILL.c.|
0000B2E0: 70 00 53 54 41 20 53 45 43 46 4C 47 3B 20 42 45 |p.STA SECFLG; BE|
0000B2F0: 20 44 45 43 8F 45 4E 54 45 44 20 42 59 20 31 00 | DEC.ENTED BY 1.|
0000B300: 8E 0A 71 00 4C 44 41 20 45 52 52 3B 20 45 41 43 |..q.LDA ERR; EAC|
0000B310: 48 20 87 20 52 45 51 55 49 52 45 53 20 54 57 4F |H . REQUIRES TWO|
0000B320: 20 83 20 42 55 46 46 45 52 53 00 AF 0A 72 00 41 | . BUFFERS...r.A|
0000B330: 53 4C 3B 20 8B 20 53 45 43 20 B2 20 33 20 A7 20 |SL; . SEC . 3 . |
0000B340: 54 49 4D 45 53 20 32 20 B2 20 36 00 B7 0A 73 00 |TIMES 2 . 6...s.|
0000B350: 43 4C 43 00 E5 0A 74 00 41 44 43 20 23 24 31 30 |CLC...t.ADC #$10|
0000B360: 3B 20 31 30 20 AA 20 36 20 B2 20 31 36 20 48 49 |; 10 . 6 . 16 HI|
0000B370: 47 48 20 42 59 54 45 20 4F 46 20 42 55 46 46 45 |GH BYTE OF BUFFE|
0000B380: 52 00 11 0B 75 00 43 4D 50 20 23 24 33 42 3B 20 |R...u.CMP #$3B; |
0000B390: 8B 20 53 45 43 20 B1 20 32 31 20 A7 20 A8 20 C5 |. SEC . 21 . . .|
0000B3A0: 49 44 20 53 45 43 20 4E 55 4D 42 45 52 00 1E 0B |ID SEC NUMBER...|
0000B3B0: 76 00 42 43 53 20 46 4D 54 31 00 2D 0B 77 00 53 |v.BCS FMT1.-.w.S|
0000B3C0: 54 41 20 53 54 44 31 AA 32 00 4F 0B 80 00 4A 53 |TA STD1.2.O...JS|
0000B3D0: 52 20 44 54 3B 20 57 52 49 54 45 20 42 59 54 45 |R DT; WRITE BYTE|
0000B3E0: 53 20 A4 20 42 55 46 46 45 52 53 00 71 0B 81 00 |S . BUFFERS.q...|
0000B3F0: 4A 53 52 20 52 53 54 52 45 47 3B 20 A1 20 B0 49 |JSR RSTREG; . .I|
0000B400: 47 49 4E 41 4C 20 41 20 58 20 26 20 59 00 7E 0B |GINAL A X & Y.~.|
0000B410: 82 00 46 4D 54 31 20 52 54 53 00 92 0B A0 00 2E |..FMT1 RTS......|
0000B420: 46 49 4C 45 20 52 44 20 54 52 4B 20 31 32 00 00 |FILE RD TRK 12..|
0000B430: 00 54 52 45 47 00 A5 09 4B 00 52 54 53 00 CD 09 |.TREG...K.RTS...|
0000B440: 4C 00 57 52 54 20 4C 44 58 20 23 24 30 30 3B 20 |L.WRT LDX #$00; |
0000B450: 57 52 49 54 45 20 48 45 41 44 45 52 20 A4 20 42 |WRITE HEADER . B|
0000B460: 55 46 46 45 52 00 DF 09 50 00 4D 52 45 20 4C 44 |UFFER...P.MRE LD|
0000B470: 41 20 48 45 58 2C 58 00 EF 09 55 00 53 54 41 20 |A HEX,X...U.STA |
0000B480: 48 44 42 55 46 2C 59 00 F7 09 5A 00 49 4E 59 00 |HDBUF,Y...Z.INY.|
0000B490: FF 09 5F 00 01 08 10 08 0A 00 3B 52 44 20 54 52 |.._.......;RD TR|
0000B4A0: 4B 20 31 32 00 35 08 14 00 9C 42 55 46 20 4C 44 |K 12.5....BUF LD|
0000B4B0: 41 20 23 24 30 30 3B 20 43 4C 45 41 52 20 47 43 |A #$00; CLEAR GC|
0000B4C0: 52 20 42 55 46 46 45 52 53 00 42 08 1E 00 4C 44 |R BUFFERS.B...LD|
0000B4D0: 59 20 23 24 30 30 00 52 08 28 00 9C 20 53 54 41 |Y #$00.R.(.. STA|
0000B4E0: 20 48 45 58 2C 59 00 64 08 32 00 53 54 41 20 48 | HEX,Y.d.2.STA H|
0000B4F0: 45 58 AA 32 35 36 2C 59 00 73 08 3C 00 53 54 41 |EX.256,Y.s.<.STA|
0000B500: 20 47 43 52 31 2C 59 00 86 08 46 00 53 54 41 20 | GCR1,Y...F.STA |
0000B510: 47 43 52 31 AA 32 35 36 2C 59 00 95 08 50 00 53 |GCR1.256,Y...P.S|
0000B520: 54 41 20 47 43 52 32 2C 59 00 A8 08 5A 00 53 54 |TA GCR2,Y...Z.ST|
0000B530: 41 20 47 43 52 32 AA 32 35 36 2C 59 00 B7 08 5F |A GCR2.256,Y..._|
0000B540: 00 53 54 41 20 47 43 52 33 2C 59 00 BF 08 6E 00 |.STA GCR3,Y...n.|
0000B550: 49 4E 59 00 C9 08 78 00 42 4E 45 20 9C 00 D1 08 |INY...x.BNE ....|
0000B560: 82 00 52 54 53 00 E5 08 8C 00 2E 46 49 4C 45 20 |..RTS......FILE |
0000B570: 52 44 20 54 52 4B 20 31 33 00 00 00 48 44 52 00 |RD TRK 13...HDR.|
0000B580: 00 00 0B D0 02 2E 46 49 4C 45 20 4C 44 20 44 53 |......FILE LD DS|
0000B590: 4B 20 01 08 10 08 0A 00 3B 52 44 20 54 52 4B 20 |K ......;RD TRK |
0000B5A0: 31 33 00 36 08 14 00 9C 48 44 20 4C 44 41 20 23 |13.6....HD LDA #|
0000B5B0: 24 30 30 3B 20 43 4C 45 41 52 20 48 45 41 44 45 |$00; CLEAR HEADE|
0000B5C0: 52 20 42 55 46 46 45 52 00 4C 08 1E 00 4C 44 59 |R BUFFER.L...LDY|
0000B5D0: 20 23 24 30 30 3B 20 81 20 4D B0 45 20 83 00 60 | #$00; . M.E ..`|
0000B5E0: 08 28 00 43 4C 48 20 53 54 41 20 48 44 42 55 46 |.(.CLH STA HDBUF|
0000B5F0: 2C 59 00 68 08 32 00 49 4E 59 00 74 08 3C 00 42 |,Y.h.2.INY.t.<.B|
0000B600: 4E 45 20 43 4C 48 00 7C 08 46 00 52 54 53 00 90 |NE CLH.|.F.RTS..|
0000B610: 08 50 00 2E 46 49 4C 45 20 52 44 20 54 52 4B 20 |.P..FILE RD TRK |
0000B620: 31 34 00 00 00 52 20 A1 00 A2 08 C8 00 42 45 51 |14...R ......BEQ|
0000B630: 20 4C 50 35 00 AC 08 D2 00 4A 53 52 20 99 00 BA | LP5.....JSR ...|
0000B640: 08 DC 00 53 54 41 20 54 52 4B AA 31 00 C6 08 E6 |...STA TRK.1....|
0000B650: 00 4C 44 41 20 54 52 4B 00 D1 08 F0 00 AF 20 23 |.LDA TRK...... #|
0000B660: 24 30 46 00 DD 08 FA 00 53 54 41 20 54 52 4B 00 |$0F.....STA TRK.|
0000B670: E9 08 04 01 41 53 4C 3A 41 53 4C 00 F1 08 0E 01 |....ASL:ASL.....|
0000B680: 43 4C 43 00 FD 08 18 01 41 44 43 20 54 52 4B 00 |CLC.....ADC TRK.|
0000B690: 01 08 10 08 0A 00 3B 52 44 20 54 52 4B 20 31 34 |......;RD TRK 14|
0000B6A0: 00 3E 08 14 00 53 45 43 A4 52 20 4C 44 41 20 54 |.>...SEC.R LDA T|
0000B6B0: 52 4B 3B 20 43 41 4C 43 55 4C 41 54 45 20 4E 55 |RK; CALCULATE NU|
0000B6C0: 4D 42 45 52 20 4F 46 20 53 45 43 A4 52 53 00 5F |MBER OF SEC.RS._|
0000B6D0: 08 15 00 43 4D 50 20 23 24 32 34 3B 20 91 20 54 |...CMP #$24; . T|
0000B6E0: 52 41 43 4B 20 43 48 4F 53 45 4E 20 A4 20 87 00 |RACK CHOSEN . ..|
0000B6F0: 89 08 16 00 42 43 43 20 4E B0 4D 54 3B 20 8B 20 |....BCC N.MT; . |
0000B700: 54 52 41 43 4B 20 49 53 20 47 52 45 41 54 45 52 |TRACK IS GREATER|
0000B710: 20 54 48 41 4E 20 23 33 35 00 AA 08 17 00 4C 44 | THAN #35.....LD|
0000B720: 58 20 23 24 30 30 3B 20 A7 20 53 45 54 20 53 45 |X #$00; . SET SE|
0000B730: 43 A4 52 53 20 A4 20 23 31 37 00 B7 08 19 00 4A |C.RS . #17.....J|
0000B740: 4D 50 20 4F 56 45 52 00 DF 08 1E 00 4E B0 4D 54 |MP OVER.....N.MT|
0000B750: 20 4C 44 58 20 42 4F 55 4E 44 3B 20 8B 20 4C 45 | LDX BOUND; . LE|
0000B760: 53 53 20 54 48 41 4E 20 23 33 35 20 54 48 45 00 |SS THAN #35 THE.|
0000B770: 0F 09 28 00 4C 50 36 20 43 4D 50 20 42 4F 55 4E |..(.LP6 CMP BOUN|
0000B780: 44 2C 58 3B 20 43 41 4C 43 55 4C 41 54 45 20 4E |D,X; CALCULATE N|
0000B790: 55 4D 42 45 52 20 4F 46 20 53 45 43 A4 52 53 00 |UMBER OF SEC.RS.|
0000B7A0: 17 09 32 00 44 45 58 00 23 09 3C 00 42 43 53 20 |..2.DEX.#.<.BCS |
0000B7B0: 4C 50 36 00 37 09 46 00 4F 56 45 52 20 4C 44 41 |LP6.7.F.OVER LDA|
0000B7C0: 20 A4 54 41 4C 2C 58 00 43 09 4B 00 53 54 41 20 | .TAL,X.C.K.STA |
0000B7D0: 53 45 43 00 53 09 4C 00 53 54 41 20 54 4B 53 45 |SEC.S.L.STA TKSE|
0000B7E0: 43 AA 31 00 5B 09 5F 00 52 54 53 00 6F 09 82 00 |C.1.[._.RTS.o...|
0000B7F0: 2E 46 49 4C 45 20 52 44 20 54 52 4B 20 31 35 00 |.FILE RD TRK 15.|
0000B800: 00 00 00 00 00 00 00 00 00 00 04 00 00 00 82 15 |................|
0000B810: 04 52 44 20 54 52 4B 20 31 31 A0 A0 A0 A0 A0 A0 |.RD TRK 11......|
0000B820: A0 00 00 00 00 00 00 00 00 00 04 00 00 00 82 15 |................|
0000B830: 06 52 44 20 54 52 4B 20 31 32 A0 A0 A0 A0 A0 A0 |.RD TRK 12......|
0000B840: A0 00 00 00 00 00 00 00 00 00 01 00 00 00 82 15 |................|
0000B850: 07 52 44 20 54 52 4B 20 31 33 A0 A0 A0 A0 A0 A0 |.RD TRK 13......|
0000B860: A0 00 00 00 00 00 00 00 00 00 01 00 00 00 02 15 |................|
0000B870: 08 52 44 20 54 52 4B 20 31 34 A0 A0 A0 A0 A0 A0 |.RD TRK 14......|
0000B880: A0 00 00 00 00 00 00 00 00 00 00 00 01 08 10 08 |................|
0000B890: 0A 00 3B 52 44 20 54 52 4B 20 31 35 00 37 08 14 |..;RD TRK 15.7..|
0000B8A0: 00 44 54 20 4C 44 58 20 23 24 30 30 3B 20 53 A4 |.DT LDX #$00; S.|
0000B8B0: 52 45 20 47 43 52 20 83 20 49 4E 20 42 55 46 46 |RE GCR . IN BUFF|
0000B8C0: 45 52 53 00 49 08 1E 00 53 54 44 41 20 4C 44 59 |ERS.I...STDA LDY|
0000B8D0: 20 23 24 30 30 00 5C 08 28 00 53 54 44 20 4C 44 | #$00.\.(.STD LD|
0000B8E0: 41 20 47 43 52 32 2C 59 00 69 08 29 00 43 4D 50 |A GCR2,Y.i.).CMP|
0000B8F0: 20 23 24 30 30 00 76 08 2A 00 42 45 51 20 53 54 | #$00.v.*.BEQ ST|
0000B900: 44 33 00 A9 08 32 00 53 54 44 31 20 53 54 41 20 |D3...2.STD1 STA |
0000B910: 24 30 30 30 30 2C 59 3B 20 48 49 47 48 20 42 59 |$0000,Y; HIGH BY|
0000B920: 54 45 20 52 45 50 4C 41 43 45 44 20 46 52 4F 4D |TE REPLACED FROM|
0000B930: 20 81 4D 41 54 00 B1 08 3C 00 49 4E 59 00 BD 08 | .MAT...<.INY...|
0000B940: 46 00 42 4E 45 20 53 54 44 00 C5 08 50 00 49 4E |F.BNE STD...P.IN|
0000B950: 58 00 D2 08 5A 00 43 50 58 20 23 24 30 32 00 FD |X...Z.CPX #$02..|
0000B960: 08 64 00 42 45 51 20 53 54 44 32 3B 20 49 4E 43 |.d.BEQ STD2; INC|
0000B970: 8F 45 4E 54 20 48 49 47 48 20 42 59 54 45 20 4F |.ENT HIGH BYTE O|
0000B980: 46 20 42 55 46 46 45 52 53 00 0B 09 6E 00 49 4E |F BUFFERS...n.IN|
0000B990: 43 20 53 54 44 AA 32 00 1A 09 8C 00 49 4E 43 20 |C STD.2.....INC |
0000B9A0: 53 54 44 31 AA 32 00 27 09 AA 00 4A 4D 50 20 53 |STD1.2.'...JMP S|
0000B9B0: 54 44 41 00 56 09 36 01 53 54 44 32 20 4C 44 41 |TDA.V.6.STD2 LDA|
0000B9C0: 20 23 B1 47 43 52 32 3B 20 8C 20 48 49 47 48 20 | #.GCR2; . HIGH |
0000B9D0: 42 59 54 45 20 4F 46 20 47 43 52 20 42 55 46 46 |BYTE OF GCR BUFF|
0000B9E0: 45 52 00 64 09 40 01 53 54 41 20 53 54 44 AA 32 |ER.d.@.STA STD.2|
0000B9F0: 00 71 09 4A 01 53 54 44 33 20 52 54 53 00 85 09 |.q.J.STD3 RTS...|
0000BA00: E8 03 2E 46 49 4C 45 20 52 44 20 54 52 4B 20 31 |...FILE RD TRK 1|
0000BA10: 36 00 00 00 54 41 42 4C 45 53 A0 A0 A0 00 00 00 |6...TABLES......|
0000BA20: 00 00 00 00 00 00 08 00 00 00 82 0E 0C 42 41 4D |.............BAM|
0000BA30: 20 45 51 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 | EQ.............|
0000BA40: 00 00 00 00 00 00 02 00 00 00 82 0E 14 42 41 4D |.............BAM|
0000BA50: A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 |................|
0000BA60: 00 00 00 00 00 00 01 00 00 00 82 16 00 42 41 4D |.............BAM|
0000BA70: 4D 20 31 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 |M 1.............|
0000BA80: 00 00 00 00 00 00 03 00 01 08 10 08 0A 00 3B 52 |..............;R|
0000BA90: 44 20 54 52 4B 20 31 36 00 39 08 0B 00 52 44 45 |D TRK 16.9...RDE|
0000BAA0: 52 52 20 4C 44 41 20 53 45 43 3B 20 87 20 45 52 |RR LDA SEC; . ER|
0000BAB0: 52 B0 20 41 54 20 24 30 30 20 49 4E 20 31 35 34 |R. AT $00 IN 154|
0000BAC0: 31 00 45 08 0C 00 53 54 41 20 53 56 45 00 54 08 |1.E...STA SVE.T.|
0000BAD0: 14 00 45 52 52 53 20 4A 53 52 20 9B 00 61 08 1E |..ERRS JSR ..a..|
0000BAE0: 00 4C 44 59 20 23 24 30 30 00 91 08 28 00 4C 50 |.LDY #$00...(.LP|
0000BAF0: 37 20 4C 44 41 20 4D 57 31 2C 59 3B 20 50 55 54 |7 LDA MW1,Y; PUT|
0000BB00: 20 54 52 41 43 4B 20 26 20 53 45 43 20 41 54 20 | TRACK & SEC AT |
0000BB10: 24 30 36 20 26 20 24 30 37 00 9D 08 32 00 4A 53 |$06 & $07...2.JS|
0000BB20: 52 20 4F 55 54 00 A5 08 3C 00 49 4E 59 00 B2 08 |R OUT...<.INY...|
0000BB30: 46 00 43 50 59 20 23 24 30 38 00 BE 08 50 00 42 |F.CPY #$08...P.B|
0000BB40: 4E 45 20 4C 50 37 00 CC 08 5A 00 4A 53 52 20 55 |NE LP7...Z.JSR U|
0000BB50: 4E 4C 49 53 00 D6 08 64 00 4A 53 52 20 9B 00 E3 |NLIS...d.JSR ...|
0000BB60: 08 6E 00 4C 44 59 20 23 24 30 30 00 0A 09 78 00 |.n.LDY #$00...x.|
0000BB70: 4C 50 38 20 4C 44 41 20 4D 57 32 2C 59 3B 20 50 |LP8 LDA MW2,Y; P|
0000BB80: 55 54 20 23 24 38 30 20 28 87 29 20 41 54 20 24 |UT #$80 (.) AT $|
0000BB90: 30 30 00 16 09 82 00 4A 53 52 20 4F 55 54 00 1E |00.....JSR OUT..|
0000BBA0: 09 8C 00 49 4E 59 00 2B 09 96 00 43 50 59 20 23 |...INY.+...CPY #|
0000BBB0: 24 30 37 00 37 09 A0 00 42 4E 45 20 4C 50 38 00 |$07.7...BNE LP8.|
0000BBC0: 45 09 AA 00 4A 53 52 20 55 4E 4C 49 53 00 6A 09 |E...JSR UNLIS.j.|
0000BBD0: B4 00 4A 53 52 20 43 48 4B 45 52 52 3B 20 92 20 |..JSR CHKERR; . |
0000BBE0: 81 20 45 52 52 B0 20 43 4F 44 45 20 41 54 20 24 |. ERR. CODE AT $|
0000BBF0: 30 30 00 76 09 22 01 4C 44 41 20 45 52 52 00 A2 |00.v.".LDA ERR..|
0000BC00: 09 27 01 4C 44 59 20 53 56 45 3B 20 48 4F 4C 44 |.'.LDY SVE; HOLD|
0000BC10: 53 20 4E 55 4D 42 45 52 20 4F 46 20 53 45 43 A4 |S NUMBER OF SEC.|
0000BC20: 52 53 20 91 20 54 52 41 43 4B 00 B1 09 5E 01 53 |RS . TRACK...^.S|
0000BC30: 54 41 20 42 55 46 46 2C 59 00 BD 09 68 01 44 45 |TA BUFF,Y...h.DE|
0000BC40: 43 20 53 56 45 00 C9 09 69 01 4C 44 41 20 53 56 |C SVE...i.LDA SV|
0000BC50: 45 00 D9 09 6A 01 53 54 41 20 54 4B 53 45 43 AA |E...j.STA TKSEC.|
0000BC60: 31 00 E6 09 6B 01 43 4D 50 20 23 24 46 46 00 F3 |1...k.CMP #$FF..|
0000BC70: 09 72 01 42 4E 45 20 45 52 52 53 00 FB 09 B8 01 |.r.BNE ERRS.....|
0000BC80: 52 54 53 00 0F 0A C2 01 2E 46 49 4C 45 20 52 44 |RTS......FILE RD|
0000BC90: 20 54 52 4B 20 31 37 00 00 00 44 45 52 52 20 4C | TRK 17...DERR L|
0000BCA0: 44 41 20 53 45 43 3B 20 87 20 45 52 52 B0 20 41 |DA SEC; . ERR. A|
0000BCB0: 54 20 24 30 30 20 49 4E 20 31 35 34 31 00 45 08 |T $00 IN 1541.E.|
0000BCC0: 0C 00 53 54 41 20 53 56 45 00 54 08 14 00 45 52 |..STA SVE.T...ER|
0000BCD0: 52 53 20 4A 53 52 20 9B 00 61 08 1E 00 4C 44 59 |RS JSR ..a...LDY|
0000BCE0: 20 23 24 30 30 00 91 08 28 00 4C 50 37 20 4C 44 | #$00...(.LP7 LD|
0000BCF0: 41 20 4D 57 31 2C 59 3B 20 50 55 54 20 54 52 41 |A MW1,Y; PUT TRA|
0000BD00: 43 4B 20 26 20 53 45 43 20 41 54 20 24 30 36 20 |CK & SEC AT $06 |
0000BD10: 26 20 24 30 37 00 9D 08 32 00 4A 53 52 20 4F 55 |& $07...2.JSR OU|
0000BD20: 54 00 A5 08 3C 00 49 4E 59 00 B2 08 46 00 43 50 |T...<.INY...F.CP|
0000BD30: 59 20 23 24 30 38 00 BE 08 50 00 42 4E 45 20 4C |Y #$08...P.BNE L|
0000BD40: 50 37 00 CC 08 5A 00 4A 53 52 20 55 4E 4C 49 53 |P7...Z.JSR UNLIS|
0000BD50: 00 D6 08 64 00 4A 53 52 20 9B 00 E3 08 6E 00 4C |...d.JSR ....n.L|
0000BD60: 44 59 20 23 24 30 30 00 0A 09 78 00 4C 50 38 20 |DY #$00...x.LP8 |
0000BD70: 4C 44 41 20 4D 57 32 2C 59 3B 20 50 55 54 20 23 |LDA MW2,Y; PUT #|
0000BD80: 24 38 01 08 10 08 0A 00 3B 52 44 20 54 52 4B 20 |$8......;RD TRK |
0000BD90: 31 37 00 38 08 14 00 9C 41 4C 4C 20 4C 44 41 20 |17.8....ALL LDA |
0000BDA0: 23 24 30 38 3B 20 41 54 20 42 45 47 49 4E 4E 49 |#$08; AT BEGINNI|
0000BDB0: 4E 47 20 4F 46 20 45 41 43 48 00 69 08 1E 00 53 |NG OF EACH.i...S|
0000BDC0: 54 41 20 41 4C 32 AA 32 3B 20 87 20 54 48 49 53 |TA AL2.2; . THIS|
0000BDD0: 20 52 4F 55 54 49 4E 45 20 43 4C 45 41 52 53 20 | ROUTINE CLEARS |
0000BDE0: 41 4C 4C 20 42 55 46 46 45 52 53 00 79 08 23 00 |ALL BUFFERS.y.#.|
0000BDF0: 41 4C 20 4C 44 41 20 23 24 30 30 00 86 08 28 00 |AL LDA #$00...(.|
0000BE00: 4C 44 59 20 23 24 30 30 00 9A 08 32 00 41 4C 32 |LDY #$00...2.AL2|
0000BE10: 20 53 54 41 20 24 30 30 30 30 2C 59 00 A2 08 3C | STA $0000,Y...<|
0000BE20: 00 49 4E 59 00 AE 08 46 00 42 4E 45 20 41 4C 32 |.INY...F.BNE AL2|
0000BE30: 00 BC 08 50 00 49 4E 43 20 41 4C 32 AA 32 00 CA |...P.INC AL2.2..|
0000BE40: 08 5A 00 4C 44 41 20 41 4C 32 AA 32 00 F2 08 6E |.Z.LDA AL2.2...n|
0000BE50: 00 43 4D 50 20 23 24 34 30 3B 20 46 49 4C 4C 20 |.CMP #$40; FILL |
0000BE60: 24 30 38 30 30 20 24 33 46 46 46 20 57 49 54 48 |$0800 $3FFF WITH|
0000BE70: 20 30 27 53 00 FF 08 78 00 42 45 51 20 46 49 4E | 0'S...x.BEQ FIN|
0000BE80: 31 00 0A 09 8C 00 4A 4D 50 20 41 4C 00 17 09 96 |1.....JMP AL....|
0000BE90: 00 46 49 4E 31 20 52 54 53 00 2B 09 36 01 2E 46 |.FIN1 RTS.+.6..F|
0000BEA0: 49 4C 45 20 52 44 20 54 52 4B 20 31 38 00 00 00 |ILE RD TRK 18...|
0000BEB0: A0 A0 A0 00 00 00 00 00 00 00 00 00 03 00 00 00 |................|
0000BEC0: 02 0E 00 52 44 20 54 52 4B 20 31 37 A0 A0 A0 A0 |...RD TRK 17....|
0000BED0: A0 A0 A0 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000BEE0: 82 0E 01 48 41 46 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 |...HAF..........|
0000BEF0: A0 A0 A0 00 00 00 00 00 00 00 00 00 03 00 00 00 |................|
0000BF00: 82 0E 03 52 44 20 54 52 4B 20 54 41 42 4C 45 53 |...RD TRK TABLES|
0000BF10: A0 A0 A0 00 00 00 00 00 00 00 00 00 08 00 00 00 |................|
0000BF20: 82 0E 0C 42 41 4D 20 45 51 A0 A0 A0 A0 A0 A0 A0 |...BAM EQ.......|
0000BF30: A0 A0 A0 00 00 00 00 00 00 00 00 00 02 00 00 00 |................|
0000BF40: 82 0E 14 42 41 4D A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 |...BAM..........|
0000BF50: A0 A0 A0 00 00 00 00 00 00 00 00 00 01 00 00 00 |................|
0000BF60: 82 16 00 42 41 4D 4D 20 31 A0 A0 A0 A0 A0 A0 A0 |...BAMM 1.......|
0000BF70: A0 A0 A0 00 00 00 00 00 00 00 00 00 03 00 01 08 |................|
0000BF80: 10 08 0A 00 3B 52 44 20 54 52 4B 20 31 38 00 1E |....;RD TRK 18..|
0000BF90: 08 14 00 48 4C 46 20 4A 53 52 20 9B 00 2B 08 1E |...HLF JSR ..+..|
0000BFA0: 00 4C 44 59 20 23 24 30 30 00 54 08 28 00 42 4D |.LDY #$00.T.(.BM|
0000BFB0: 50 31 20 4C 44 41 20 42 55 4D 50 2C 59 3B 20 42 |P1 LDA BUMP,Y; B|
0000BFC0: 55 4D 50 20 48 45 41 44 20 A4 20 54 52 41 43 4B |UMP HEAD . TRACK|
0000BFD0: 20 31 00 60 08 32 00 4A 53 52 20 4F 55 54 00 68 | 1.`.2.JSR OUT.h|
0000BFE0: 08 3C 00 49 4E 59 00 75 08 46 00 43 50 59 20 23 |.<.INY.u.F.CPY #|
0000BFF0: 24 30 37 00 82 08 50 00 42 4E 45 20 42 4D 50 31 |$07...P.BNE BMP1|
0000C000: 00 90 08 55 00 4A 53 52 20 55 4E 4C 49 53 00 AE |...U.JSR UNLIS..|
0000C010: 08 5A 00 4A 53 52 20 43 48 4B 45 52 52 3B 20 92 |.Z.JSR CHKERR; .|
0000C020: 20 81 20 45 52 52 B0 20 43 4F 44 45 00 B8 08 64 | . ERR. CODE...d|
0000C030: 00 4A 53 52 20 9B 00 C5 08 6E 00 4C 44 59 20 23 |.JSR ....n.LDY #|
0000C040: 24 30 30 00 D4 08 78 00 43 91 20 4C 44 41 20 9A |$00...x.C. LDA .|
0000C050: 2C 59 00 DC 08 82 00 49 4E 59 00 E9 08 8C 00 43 |,Y.....INY.....C|
0000C060: 50 59 20 23 24 30 36 00 F4 08 96 00 42 4E 45 20 |PY #$06.....BNE |
0000C070: 43 91 00 02 09 A0 00 4A 53 52 20 55 4E 4C 49 53 |C......JSR UNLIS|
0000C080: 00 0F 09 AA 00 4A 53 52 20 54 41 4C 4B 00 1A 09 |.....JSR TALK...|
0000C090: B4 00 4A 53 52 20 49 4E 00 27 09 BE 00 53 54 41 |..JSR IN.'...STA|
0000C0A0: 20 48 45 41 44 00 35 09 C8 00 4A 53 52 20 55 4E | HEAD.5...JSR UN|
0000C0B0: 54 4C 4B 00 62 09 D2 00 4C 44 41 20 48 45 41 44 |TLK.b...LDA HEAD|
0000C0C0: 3B 20 58 58 58 58 58 58 58 58 20 48 4F 4C 44 53 |; XXXXXXXX HOLDS|
0000C0D0: 20 24 31 43 30 30 20 46 52 4F 4D 20 31 35 34 31 | $1C00 FROM 1541|
0000C0E0: 00 77 09 DC 00 AF 20 23 24 46 43 3B 20 31 31 31 |.w.... #$FC; 111|
0000C0F0: 31 31 31 30 30 00 9E 09 E6 00 B0 41 20 23 24 30 |11100......A #$0|
0000C100: 33 3B 20 58 58 58 58 58 58 31 31 20 43 59 43 4C |3; XXXXXX11 CYCL|
0000C110: 45 20 42 49 54 53 20 30 20 26 20 31 00 AC 09 F0 |E BITS 0 & 1....|
0000C120: 00 53 54 41 20 42 4D 50 AA 36 00 B6 09 FA 00 4A |.STA BMP.6.....J|
0000C130: 53 52 20 9B 00 C3 09 04 01 4C 44 59 20 23 24 30 |SR ......LDY #$0|
0000C140: 30 00 EF 09 0E 01 43 91 31 20 4C 44 41 20 42 4D |0.....C.1 LDA BM|
0000C150: 50 2C 59 3B 20 50 55 54 20 43 59 43 4C 45 44 20 |P,Y; PUT CYCLED |
0000C160: 42 59 54 45 20 41 54 20 24 31 43 30 30 00 FB 09 |BYTE AT $1C00...|
0000C170: 18 01 4A 53 52 20 4F 55 54 00 03 0A 22 01 49 4E |..JSR OUT...".IN|
0000C180: 59 00 10 0A 2C 01 43 50 59 20 23 24 30 37 00 1C |Y...,.CPY #$07..|
0000C190: 0A 36 01 42 4E 45 20 43 91 31 00 49 0A 40 01 4A |.6.BNE C.1.I.@.J|
0000C1A0: 53 52 20 55 4E 4C 49 53 3B 20 48 45 41 44 20 49 |SR UNLIS; HEAD I|
0000C1B0: 53 20 4E 4F 57 20 31 AD 32 20 54 52 41 43 4B 20 |S NOW 1.2 TRACK |
0000C1C0: 42 45 4C 4F 57 20 31 00 51 0A 4A 01 52 54 53 00 |BELOW 1.Q.J.RTS.|
0000C1D0: 69 0A 54 01 2E 46 49 4C 45 20 52 44 20 54 52 4B |i.T..FILE RD TRK|
0000C1E0: 20 54 41 42 4C 45 53 00 00 00 20 23 24 30 37 00 | TABLES... #$07.|
0000C1F0: 82 08 50 00 42 4E 45 20 42 4D 50 31 00 90 08 55 |..P.BNE BMP1...U|
0000C200: 00 4A 53 52 20 55 4E 4C 49 53 00 AE 08 5A 00 4A |.JSR UNLIS...Z.J|
0000C210: 53 52 20 43 48 4B 45 52 52 3B 20 92 20 81 20 45 |SR CHKERR; . . E|
0000C220: 52 52 B0 20 43 4F 44 45 00 B8 08 64 00 4A 53 52 |RR. CODE...d.JSR|
0000C230: 20 9B 00 C5 08 6E 00 4C 44 59 20 23 24 30 30 00 | ....n.LDY #$00.|
0000C240: D4 08 78 00 43 91 20 4C 44 41 20 9A 2C 59 00 DC |..x.C. LDA .,Y..|
0000C250: 08 82 00 49 4E 59 00 E9 08 8C 00 43 50 59 20 23 |...INY.....CPY #|
0000C260: 24 30 36 00 F4 08 96 00 42 4E 45 20 43 91 00 02 |$06.....BNE C...|
0000C270: 09 A0 00 4A 53 52 20 55 01 08 14 08 0A 00 3B 52 |...JSR U......;R|
0000C280: 44 20 54 52 4B 20 54 41 42 4C 45 53 00 32 08 14 |D TRK TABLES.2..|
0000C290: 00 54 52 4B 4D 45 53 20 2E 42 59 54 45 20 31 34 |.TRKMES .BYTE 14|
0000C2A0: 37 20 31 33 20 31 33 20 31 33 00 65 08 1E 00 2E |7 13 13 13.e....|
0000C2B0: 42 59 54 45 20 22 45 4E 54 45 52 20 54 52 41 43 |BYTE "ENTER TRAC|
0000C2C0: 4B 20 4E 55 4D 42 45 52 20 31 20 54 4F 20 34 34 |K NUMBER 1 TO 44|
0000C2D0: 20 3A 2E 42 59 54 45 20 33 32 20 30 30 00 A5 08 | :.BYTE 32 00...|
0000C2E0: 28 00 54 52 4B 4D 45 53 31 20 2E 42 59 54 45 20 |(.TRKMES1 .BYTE |
0000C2F0: 31 33 20 31 33 3A 2E 42 59 54 45 20 22 48 41 4C |13 13:.BYTE "HAL|
0000C300: 46 20 54 52 41 43 4B 20 28 59 20 4F 52 20 4E 29 |F TRACK (Y OR N)|
0000C310: 20 3A 2E 42 59 54 45 20 33 32 20 30 30 00 BD 08 | :.BYTE 32 00...|
0000C320: 2D 00 54 52 4B 4D 45 53 32 20 2E 42 59 54 45 20 |-.TRKMES2 .BYTE |
0000C330: 31 33 20 31 33 00 FA 08 37 00 2E 42 59 54 45 20 |13 13...7..BYTE |
0000C340: 22 54 52 4B 20 30 31 20 54 4F 20 31 37 20 44 45 |"TRK 01 TO 17 DE|
0000C350: 4E 20 31 20 20 20 54 52 4B 20 31 38 20 54 4F 20 |N 1 TRK 18 TO |
0000C360: 32 34 20 44 45 4E 20 32 20 3A 2E 42 59 54 45 20 |24 DEN 2 :.BYTE |
0000C370: 31 33 00 37 09 38 00 2E 42 59 54 45 20 22 54 52 |13.7.8..BYTE "TR|
0000C380: 4B 20 32 35 20 54 4F 20 33 30 20 44 45 4E 20 33 |K 25 TO 30 DEN 3|
0000C390: 20 20 20 54 52 4B 20 33 31 20 54 4F 20 33 35 20 | TRK 31 TO 35 |
0000C3A0: 44 45 4E 20 34 20 3A 2E 42 59 54 45 20 31 33 00 |DEN 4 :.BYTE 13.|
0000C3B0: 63 09 3A 00 2E 42 59 54 45 20 22 44 45 4E 53 54 |c.:..BYTE "DENST|
0000C3C0: 49 54 59 20 31 20 32 20 33 20 4F 52 20 34 20 3A |ITY 1 2 3 OR 4 :|
0000C3D0: 2E 42 59 54 45 20 33 32 20 30 30 00 A5 09 3D 00 |.BYTE 32 00...=.|
0000C3E0: 45 52 4D 45 53 20 2E 42 59 54 45 20 31 33 20 31 |ERMES .BYTE 13 1|
0000C3F0: 33 3A 2E 42 59 54 45 20 22 45 52 52 4F 52 53 20 |3:.BYTE "ERRORS |
0000C400: 4F 4E 20 54 48 49 53 20 54 52 41 43 4B 20 3A 2E |ON THIS TRACK :.|
0000C410: 42 59 54 45 20 31 33 20 31 33 20 30 30 00 C8 09 |BYTE 13 13 00...|
0000C420: 46 00 4D 57 31 20 2E 42 59 54 45 20 22 4D 2D 57 |F.MW1 .BYTE "M-W|
0000C430: 22 3A 2E 42 59 54 45 20 30 36 20 30 30 20 30 32 |":.BYTE 06 00 02|
0000C440: 00 DC 09 50 00 54 4B 53 45 43 20 2E 42 59 54 45 |...P.TKSEC .BYTE|
0000C450: 20 30 20 30 00 03 0A 5A 00 4D 57 32 20 2E 42 59 | 0 0...Z.MW2 .BY|
0000C460: 54 45 20 22 4D 2D 57 22 3A 2E 42 59 54 45 20 30 |TE "M-W":.BYTE 0|
0000C470: 30 20 30 30 20 30 31 20 31 32 38 00 26 0A 64 00 |0 00 01 128.&.d.|
0000C480: 4D 57 33 20 2E 42 59 54 45 20 22 4D 2D 57 22 3A |MW3 .BYTE "M-W":|
0000C490: 2E 42 59 54 45 20 30 30 20 30 33 20 33 32 00 4D |.BYTE 00 03 32.M|
0000C4A0: 0A 6E 00 4D 57 34 20 2E 42 59 54 45 20 22 4D 2D |.n.MW4 .BYTE "M-|
0000C4B0: 57 22 3A 2E 42 59 54 45 20 30 30 20 30 30 20 30 |W":.BYTE 00 00 0|
0000C4C0: 31 20 32 32 34 00 70 0A 78 00 4D 57 35 20 2E 42 |1 224.p.x.MW5 .B|
0000C4D0: 59 54 45 20 22 4D 2D 57 22 3A 2E 42 59 54 45 20 |YTE "M-W":.BYTE |
0000C4E0: 30 30 20 30 33 20 33 32 00 94 0A 82 00 4D 52 31 |00 03 32.....MR1|
0000C4F0: 20 2E 42 59 54 45 20 22 4D 2D 52 22 3A 2E 42 59 | .BYTE "M-R":.BY|
0000C500: 54 45 20 30 30 20 30 34 20 32 35 35 00 B7 0A 8C |TE 00 04 255....|
0000C510: 00 4D 52 32 20 2E 42 59 54 45 20 22 4D 2D 52 22 |.MR2 .BYTE "M-R"|
0000C520: 3A 2E 42 59 54 45 20 30 30 20 30 30 20 30 31 00 |:.BYTE 00 00 01.|
0000C530: DE 0A 91 00 4D 52 4C 42 20 2E 42 59 54 45 20 22 |....MRLB .BYTE "|
0000C540: 4D 2D 52 22 3A 2E 42 59 54 45 20 32 35 35 20 30 |M-R":.BYTE 255 0|
0000C550: 30 34 20 30 30 31 00 06 0B 96 00 42 55 4D 50 20 |04 001.....BUMP |
0000C560: 2E 42 59 54 45 20 22 4D 2D 57 22 3A 2E 42 59 54 |.BYTE "M-W":.BYT|
0000C570: 45 20 30 30 20 30 30 20 30 31 20 31 39 32 00 27 |E 00 00 01 192.'|
0000C580: 0B A0 00 9A 20 2E 42 59 54 45 20 22 4D 2D 52 22 |.... .BYTE "M-R"|
0000C590: 3A 2E 42 59 54 45 20 30 30 20 32 38 20 30 31 00 |:.BYTE 00 28 01.|
0000C5A0: 4A 0B AA 00 42 4D 50 20 2E 42 59 54 45 20 22 4D |J...BMP .BYTE "M|
0000C5B0: 2D 57 22 3A 2E 42 59 54 45 20 30 30 20 32 38 20 |-W":.BYTE 00 28 |
0000C5C0: 30 31 00 5D 0B B4 00 48 45 41 44 20 2E 42 59 54 |01.]...HEAD .BYT|
0000C5D0: 45 20 30 20 30 00 72 0B BE 00 43 4D 4E 44 20 2E |E 0 0.r...CMND .|
0000C5E0: 42 59 54 45 20 37 33 20 30 30 00 91 0B C8 00 42 |BYTE 73 00.....B|
0000C5F0: 4F 55 4E 44 20 2E 42 59 54 45 20 30 34 20 33 36 |OUND .BYTE 04 36|
0000C600: 20 33 31 20 32 35 20 31 38 00 AC 0B D2 00 A4 54 | 31 25 18......T|
0000C610: 41 4C 20 2E 42 59 54 45 20 31 37 20 31 38 20 31 |AL .BYTE 17 18 1|
0000C620: 39 20 32 31 00 C6 0B DC 00 5A 91 45 20 2E 42 59 |9 21.....Z.E .BY|
0000C630: 54 45 20 30 34 20 30 33 20 30 32 20 30 31 00 E2 |TE 04 03 02 01..|
0000C640: 0B EB 00 44 45 4E 53 31 20 2E 42 59 54 45 20 39 |...DENS1 .BYTE 9|
0000C650: 36 20 36 34 20 33 32 20 30 30 00 11 0C F0 00 47 |6 64 32 00.....G|
0000C660: 43 52 34 20 2E 42 59 54 45 20 32 35 35 20 32 35 |CR4 .BYTE 255 25|
0000C670: 35 20 32 35 35 20 32 35 35 20 32 35 35 20 32 35 |5 255 255 255 25|
0000C680: 35 20 32 35 35 20 32 35 35 00 37 0C FA 00 2E 42 |5 255 255.7....B|
0000C690: 59 54 45 20 32 35 35 20 31 32 38 20 30 30 20 31 |YTE 255 128 00 1|
0000C6A0: 36 20 32 35 35 20 31 39 32 20 36 34 20 38 30 00 |6 255 192 64 80.|
0000C6B0: 5E 0C 04 01 2E 42 59 54 45 20 32 35 35 20 32 35 |^....BYTE 255 25|
0000C6C0: 35 20 33 32 20 34 38 20 32 35 35 20 32 34 30 20 |5 32 48 255 240 |
0000C6D0: 39 36 20 31 31 32 00 88 0C 0E 01 2E 42 59 54 45 |96 112......BYTE|
0000C6E0: 20 32 35 35 20 31 34 34 20 31 36 30 20 31 37 36 | 255 144 160 176|
0000C6F0: 20 32 35 35 20 32 30 38 20 32 32 34 20 32 35 35 | 255 208 224 255|
0000C700: 00 B7 0C 18 01 47 43 52 35 20 2E 42 59 54 45 20 |.....GCR5 .BYTE |
0000C710: 32 35 35 20 32 35 35 20 32 35 35 20 32 35 35 20 |255 255 255 255 |
0000C720: 32 35 35 20 32 35 35 20 32 35 35 20 32 35 35 00 |255 255 255 255.|
0000C730: DB 0C 22 01 2E 42 59 54 45 20 32 35 35 20 30 38 |.."..BYTE 255 08|
0000C740: 20 30 30 20 30 31 20 32 35 35 20 31 32 20 30 34 | 00 01 255 12 04|
0000C750: 20 30 35 00 00 0D 2C 01 2E 42 59 54 45 20 32 35 | 05...,..BYTE 25|
0000C760: 35 20 32 35 35 20 30 32 20 30 33 20 32 35 35 20 |5 255 02 03 255 |
0000C770: 31 35 20 30 36 20 30 37 00 25 0D 36 01 2E 42 59 |15 06 07.%.6..BY|
0000C780: 54 45 20 32 35 35 20 30 39 20 31 30 20 31 31 20 |TE 255 09 10 11 |
0000C790: 32 35 35 20 31 33 20 31 34 20 32 35 35 00 32 0D |255 13 14 255.2.|
0000C7A0: 40 01 AC B2 20 24 37 37 30 30 00 45 0D 4A 01 42 |@... $7700.E.J.B|
0000C7B0: 55 46 46 4C 47 20 2E 42 59 54 45 20 30 00 5F 0D |UFFLG .BYTE 0._.|
0000C7C0: 54 01 5A 4E 46 4C 47 20 2E 42 59 54 45 20 30 20 |T.ZNFLG .BYTE 0 |
0000C7D0: 30 20 30 20 30 20 30 00 71 0D 5E 01 91 45 53 45 |0 0 0 0.q.^..ESE|
0000C7E0: 43 20 2E 42 59 54 45 20 30 00 84 0D 68 01 48 4C |C .BYTE 0...h.HL|
0000C7F0: 46 46 4C 47 20 2E 42 59 54 45 20 30 00 94 0D 72 |FFLG .BYTE 0...r|
0000C800: 01 53 45 43 20 2E 42 59 54 45 20 30 00 A4 0D 77 |.SEC .BYTE 0...w|
0000C810: 01 45 52 52 20 2E 42 59 54 45 20 30 00 B3 0D 7C |.ERR .BYTE 0...||
0000C820: 01 43 54 20 2E 42 59 54 45 20 30 00 E0 0D 86 01 |.CT .BYTE 0.....|
0000C830: 42 55 46 46 20 2E 42 59 54 45 20 30 20 30 20 30 |BUFF .BYTE 0 0 0|
0000C840: 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 30 | 0 0 0 0 0 0 0 0|
0000C850: 20 30 20 30 20 30 20 30 00 F6 0D 90 01 2E 42 59 | 0 0 0 0......BY|
0000C860: 54 45 20 30 20 30 20 30 20 30 20 30 20 30 00 03 |TE 0 0 0 0 0 0..|
0000C870: 0E 9A 01 AC B2 20 24 37 38 30 30 00 22 0E A4 01 |..... $7800."...|
0000C880: 47 43 52 33 20 2E 42 59 54 45 20 30 20 30 20 30 |GCR3 .BYTE 0 0 0|
0000C890: 20 30 20 30 20 30 20 30 20 30 00 32 0E AE 01 53 | 0 0 0 0 0.2...S|
0000C8A0: 56 45 20 2E 42 59 54 45 20 30 00 44 0E B8 01 54 |VE .BYTE 0.D...T|
0000C8B0: 52 4B 20 2E 42 59 54 45 20 30 20 30 00 57 0E C2 |RK .BYTE 0 0.W..|
0000C8C0: 01 53 45 43 46 4C 47 20 2E 42 59 54 45 20 30 00 |.SECFLG .BYTE 0.|
0000C8D0: 65 0E CC 01 41 20 2E 42 59 54 45 20 30 00 73 0E |e...A .BYTE 0.s.|
0000C8E0: D6 01 58 20 2E 42 59 54 45 20 30 00 81 0E E0 01 |..X .BYTE 0.....|
0000C8F0: 59 20 2E 42 59 54 45 20 30 00 8E 0E EA 01 AC B2 |Y .BYTE 0.......|
0000C900: 20 24 37 39 30 30 00 B5 0E FE 01 48 45 58 20 2E | $7900.....HEX .|
0000C910: 42 59 54 45 20 30 3B 44 45 43 4F 44 45 44 20 47 |BYTE 0;DECODED G|
0000C920: 43 52 20 4C 41 43 45 44 20 48 45 52 45 00 C2 0E |CR LACED HERE...|
0000C930: 08 02 AC B2 20 24 37 42 30 30 00 EF 0E 12 02 47 |.... $7B00.....G|
0000C940: 43 52 31 20 2E 42 59 54 45 20 30 3B 20 47 43 52 |CR1 .BYTE 0; GCR|
0000C950: 20 50 4C 41 43 45 44 20 48 45 52 45 20 81 20 43 | PLACED HERE . C|
0000C960: 91 56 45 52 53 49 91 00 FC 0E 1C 02 AC B2 20 24 |.VERSI........ $|
0000C970: 37 44 30 30 00 23 0F 26 02 47 43 52 32 20 2E 42 |7D00.#.&.GCR2 .B|
0000C980: 59 54 45 20 30 3B 20 47 43 52 20 48 45 52 45 20 |YTE 0; GCR HERE |
0000C990: 81 20 83 20 42 55 46 46 45 52 53 00 46 0F 30 02 |. . BUFFERS.F.0.|
0000C9A0: AC B2 20 24 37 46 30 30 3B 20 48 45 41 44 45 52 |.. $7F00; HEADER|
0000C9B0: 20 83 20 50 4C 41 43 45 44 20 48 45 52 45 00 58 | . PLACED HERE.X|
0000C9C0: 0F 3A 02 48 44 42 55 46 20 2E 42 59 54 45 20 30 |.:.HDBUF .BYTE 0|
0000C9D0: 00 69 0F 44 02 2E 80 20 52 44 20 54 52 4B 20 45 |.i.D... RD TRK E|
0000C9E0: 51 00 00 00 30 00 84 0D 68 01 48 4C 46 46 4C 47 |Q...0...h.HLFFLG|
0000C9F0: 20 2E 42 59 54 45 20 30 00 94 0D 72 01 53 45 43 | .BYTE 0...r.SEC|
0000CA00: 20 2E 42 59 54 45 20 30 00 A4 0D 77 01 45 52 52 | .BYTE 0...w.ERR|
0000CA10: 20 2E 42 59 54 45 20 30 00 B3 0D 7C 01 43 54 20 | .BYTE 0...|.CT |
0000CA20: 2E 42 59 54 45 20 30 00 E0 0D 86 01 42 55 46 46 |.BYTE 0.....BUFF|
0000CA30: 20 2E 42 59 54 45 20 30 20 30 20 30 20 30 20 30 | .BYTE 0 0 0 0 0|
0000CA40: 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 30 | 0 0 0 0 0 0 0 0|
0000CA50: 20 30 20 30 00 F6 0D 90 01 2E 42 59 54 45 20 30 | 0 0......BYTE 0|
0000CA60: 20 30 20 30 20 30 20 30 01 08 0E 08 0A 00 AC B2 | 0 0 0 0........|
0000CA70: 20 24 30 38 30 31 00 1F 08 0F 00 3B 53 52 43 48 | $0801.....;SRCH|
0000CA80: 20 44 53 4B 20 45 51 00 26 08 1E 00 2E 4D 00 32 | DSK EQ.&....M.2|
0000CA90: 08 23 00 2E 44 20 53 52 43 48 00 47 08 24 00 3B |.#..D SRCH.G.$.;|
0000CAA0: 36 34 20 52 4F 4D 20 52 4F 55 54 49 4E 45 53 00 |64 ROM ROUTINES.|
0000CAB0: 4D 08 25 00 3B 00 5B 08 28 00 A1 20 B2 20 24 46 |M.%.;.[.(.. . $F|
0000CAC0: 46 45 34 00 69 08 32 00 99 20 B2 20 24 46 46 44 |FE4.i.2.. . $FFD|
0000CAD0: 32 00 79 08 3C 00 4C 49 53 20 B2 20 24 46 46 42 |2.y.<.LIS . $FFB|
0000CAE0: 31 00 8B 08 46 00 55 4E 4C 49 53 20 B2 20 24 46 |1...F.UNLIS . $F|
0000CAF0: 46 41 45 00 9D 08 50 00 4C 49 53 45 43 20 B2 20 |FAE...P.LISEC . |
0000CB00: 24 46 46 39 33 00 AD 08 5A 00 4F 55 54 20 B2 20 |$FF93...Z.OUT . |
0000CB10: 24 46 46 41 38 00 BC 08 64 00 49 4E 20 B2 20 24 |$FFA8...d.IN . $|
0000CB20: 46 46 41 35 00 CC 08 6E 00 54 4C 4B 20 B2 20 24 |FFA5...n.TLK . $|
0000CB30: 46 46 42 34 00 DE 08 78 00 55 4E 54 4C 4B 20 B2 |FFB4...x.UNTLK .|
0000CB40: 20 24 46 46 41 42 00 F1 08 82 00 54 4C 4B 53 45 | $FFAB.....TLKSE|
0000CB50: 43 20 B2 20 24 46 46 39 36 00 FF 08 8C 00 90 20 |C . $FF96...... |
0000CB60: B2 20 24 46 46 45 31 00 14 09 0E 01 2E 46 49 4C |. $FFE1......FIL|
0000CB70: 45 20 53 52 43 48 20 44 53 4B 20 31 00 00 00 00 |E SRCH DSK 1....|
0000CB80: 00 00 04 00 00 00 82 1A 00 43 33 35 20 31 37 A0 |.........C35 17.|
0000CB90: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
0000CBA0: 00 00 03 00 00 00 82 1A 02 43 33 35 20 31 38 A0 |.........C35 18.|
0000CBB0: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
0000CBC0: 00 00 03 00 00 00 82 1A 04 43 33 35 20 31 39 A0 |.........C35 19.|
0000CBD0: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
0000CBE0: 00 00 05 00 00 00 82 1A 08 43 33 35 20 32 30 A0 |.........C35 20.|
0000CBF0: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
0000CC00: 00 00 04 00 00 00 82 1A 10 43 33 35 20 32 31 A0 |.........C35 21.|
0000CC10: A0 A0 A0 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |................|
0000CC20: 00 00 03 00 00 00 02 11 01 53 52 43 48 20 44 53 |.........SRCH DS|
0000CC30: 4B 20 45 51 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |K EQ............|
0000CC40: 00 00 00 00 00 00 82 09 01 53 52 43 48 20 44 53 |.........SRCH DS|
0000CC50: 4B 20 31 A0 A0 A0 A0 A0 A0 00 00 00 00 00 00 00 |K 1.............|
0000CC60: 00 00 05 00 01 08 11 08 0A 00 3B 53 52 43 48 20 |..........;SRCH |
0000CC70: 44 53 4B 20 31 00 2F 08 0F 00 3B 42 41 53 49 43 |DSK 1./...;BASIC|
0000CC80: 20 4C 49 4E 45 20 4E 55 4D 42 45 52 20 AF 20 9E | LINE NUMBER . .|
0000CC90: 54 45 4D 00 5E 08 14 00 2E 42 59 54 45 20 31 30 |TEM.^....BYTE 10|
0000CCA0: 20 30 38 20 31 30 20 30 30 20 31 35 38 20 35 30 | 08 10 00 158 50|
0000CCB0: 20 34 38 20 35 34 20 34 39 20 30 30 20 30 30 20 | 48 54 49 00 00 |
0000CCC0: 30 30 00 6B 08 1E 00 4C 44 41 20 23 24 30 30 00 |00.k...LDA #$00.|
0000CCD0: 79 08 28 00 53 54 41 20 24 44 30 32 30 00 87 08 |y.(.STA $D020...|
0000CCE0: 32 00 53 54 41 20 24 44 30 32 31 00 94 08 3C 00 |2.STA $D021...<.|
0000CCF0: 4C 44 41 20 23 24 31 37 00 A2 08 46 00 53 54 41 |LDA #$17...F.STA|
0000CD00: 20 24 44 30 31 38 00 C2 08 50 00 4C 44 41 20 23 | $D018...P.LDA #|
0000CD10: 24 39 33 3A 4A 53 52 20 99 3B 43 4C 45 41 52 20 |$93:JSR .;CLEAR |
0000CD20: 53 43 52 45 45 4E 00 E2 08 5A 00 4C 44 41 20 23 |SCREEN...Z.LDA #|
0000CD30: 24 30 30 3B 5A 45 52 4F 20 41 4C 4C 20 56 41 52 |$00;ZERO ALL VAR|
0000CD40: 49 41 42 4C 45 53 00 04 09 64 00 53 54 41 20 54 |IABLES...d.STA T|
0000CD50: 52 4B 3B 48 4F 4C 44 53 20 43 55 52 52 45 4E 54 |RK;HOLDS CURRENT|
0000CD60: 20 54 52 41 43 4B 20 23 00 2A 09 6E 00 53 54 41 | TRACK #.*.n.STA|
0000CD70: 20 41 3A 53 54 41 20 58 3A 53 54 41 20 59 3B 53 | A:STA X:STA Y;S|
0000CD80: 50 41 52 45 20 52 45 47 49 53 54 45 52 53 00 4C |PARE REGISTERS.L|
0000CD90: 09 78 00 53 54 41 20 53 45 43 3B 48 4F 4C 44 53 |.x.STA SEC;HOLDS|
0000CDA0: 20 43 55 52 52 45 4E 54 20 53 45 43 A4 52 20 23 | CURRENT SEC.R #|
0000CDB0: 00 77 09 82 00 53 54 41 20 53 54 52 49 4E 47 3B |.w...STA STRING;|
0000CDC0: 48 4F 4C 44 53 20 23 20 4F 42 20 59 54 45 53 20 |HOLDS # OB YTES |
0000CDD0: 53 45 41 52 43 48 49 4E 47 20 81 00 94 09 8C 00 |SEARCHING ......|
0000CDE0: 4A 53 52 20 49 4E 49 54 3B 49 4E 49 54 49 41 4C |JSR INIT;INITIAL|
0000CDF0: 49 5A 45 20 44 49 53 4B 00 AF 09 96 00 4A 53 52 |IZE DISK.....JSR|
0000CE00: 20 53 43 52 45 45 4E 3B 53 43 52 45 45 4E 20 81 | SCREEN;SCREEN .|
0000CE10: 4D 41 54 00 D4 09 A0 00 4A 53 52 20 47 3B A1 20 |MAT.....JSR G;. |
0000CE20: 4B 45 59 53 54 52 4F 4B 45 53 20 46 52 4F 4D 20 |KEYSTROKES FROM |
0000CE30: 4B 45 59 42 4F 41 52 44 00 E7 09 AA 00 53 52 43 |KEYBOARD.....SRC|
0000CE40: 48 31 20 4C 44 58 20 23 24 46 46 00 08 0A B4 00 |H1 LDX #$FF.....|
0000CE50: 54 58 53 3B 53 45 54 20 53 54 41 43 4B 20 A4 20 |TXS;SET STACK . |
0000CE60: 42 4F 54 A4 4D 20 28 23 24 46 46 29 00 24 0A BE |BOT.M (#$FF).$..|
0000CE70: 00 49 4E 43 20 54 52 4B 3B 49 4E 43 8F 45 4E 54 |.INC TRK;INC.ENT|
0000CE80: 20 54 52 41 43 4B 20 23 00 30 0A C8 00 4C 44 41 | TRACK #.0...LDA|
0000CE90: 20 54 52 4B 00 51 0A D2 00 43 4D 50 20 23 24 32 | TRK.Q...CMP #$2|
0000CEA0: 34 3B 8B 20 54 52 4B 20 23 20 33 36 20 46 49 4E |4;. TRK # 36 FIN|
0000CEB0: 49 53 48 45 44 00 5B 0A DC 00 42 45 51 20 80 00 |ISHED.[...BEQ ..|
0000CEC0: 7A 0A E6 00 4A 53 52 20 53 45 43 A4 52 3B A1 20 |z...JSR SEC.R;. |
0000CED0: 23 20 4F 46 20 53 45 43 20 91 20 54 52 4B 00 96 |# OF SEC . TRK..|
0000CEE0: 0A F0 00 4A 53 52 20 9B 3B 53 80 20 54 52 41 43 |...JSR .;S. TRAC|
0000CEF0: 4B 20 87 20 A4 20 44 49 53 4B 00 A3 0A FA 00 4C |K . . DISK.....L|
0000CF00: 44 59 20 23 24 30 30 00 C7 0A 04 01 4C 50 20 4C |DY #$00.....LP L|
0000CF10: 44 41 20 4D 57 2C 59 3B 54 52 4B 20 23 20 A4 20 |DA MW,Y;TRK # . |
0000CF20: 24 30 36 20 49 4E 20 31 35 34 31 00 D3 0A 0E 01 |$06 IN 1541.....|
0000CF30: 4A 53 52 20 4F 55 54 00 DB 0A 18 01 49 4E 59 00 |JSR OUT.....INY.|
0000CF40: E8 0A 22 01 43 50 59 20 23 24 30 37 00 F3 0A 2C |..".CPY #$07...,|
0000CF50: 01 42 4E 45 20 4C 50 00 01 0B 36 01 4A 53 52 20 |.BNE LP...6.JSR |
0000CF60: 55 4E 4C 49 53 00 22 0B 40 01 4E 58 54 53 45 43 |UNLIS.".@.NXTSEC|
0000CF70: 20 4A 53 52 20 9B 3B 53 80 20 53 45 43 20 87 20 | JSR .;S. SEC . |
0000CF80: A4 20 44 49 53 4B 00 2F 0B 4A 01 4C 44 59 20 23 |. DISK./.J.LDY #|
0000CF90: 24 30 30 00 55 0B 54 01 4C 50 31 20 4C 44 41 20 |$00.U.T.LP1 LDA |
0000CFA0: 4D 57 31 2C 59 3B 53 45 43 20 23 20 A4 20 24 30 |MW1,Y;SEC # . $0|
0000CFB0: 37 20 49 4E 20 31 35 34 31 00 61 0B 5E 01 4A 53 |7 IN 1541.a.^.JS|
0000CFC0: 52 20 4F 55 54 00 69 0B 68 01 49 4E 59 00 76 0B |R OUT.i.h.INY.v.|
0000CFD0: 72 01 43 50 59 20 23 24 30 37 00 82 0B 7C 01 42 |r.CPY #$07...|.B|
0000CFE0: 4E 45 20 4C 50 31 00 90 0B 86 01 4A 53 52 20 55 |NE LP1.....JSR U|
0000CFF0: 4E 4C 49 53 00 A8 0B 90 01 4A 53 52 20 9B 3B 53 |NLIS.....JSR .;S|
0000D000: 80 20 22 23 24 38 30 22 20 28 87 29 00 B5 0B 9A |. "#$80" (.)....|
0000D010: 01 4C 44 59 20 23 24 30 30 00 DB 0B A4 01 4C 50 |.LDY #$00.....LP|
0000D020: 32 20 4C 44 41 20 4D 57 32 2C 59 3B 20 23 24 38 |2 LDA MW2,Y; #$8|
0000D030: 30 20 A4 20 24 30 30 20 49 4E 20 31 35 34 31 00 |0 . $00 IN 1541.|
0000D040: E7 0B AE 01 4A 53 52 20 4F 55 54 00 EF 0B B8 01 |....JSR OUT.....|
0000D050: 49 4E 59 00 FC 0B C2 01 43 50 59 20 23 24 30 37 |INY.....CPY #$07|
0000D060: 00 08 0C CC 01 42 4E 45 20 4C 50 32 00 16 0C D6 |.....BNE LP2....|
0000D070: 01 4A 53 52 20 55 4E 4C 49 53 00 33 0C E0 01 4A |.JSR UNLIS.3...J|
0000D080: 53 52 20 43 48 4B 45 52 52 3B 92 20 81 20 45 52 |SR CHKERR;. . ER|
0000D090: 52 B0 20 43 4F 44 45 00 5B 0C EA 01 4A 4D 50 20 |R. CODE.[...JMP |
0000D0A0: 52 44 44 53 4B 3B 87 20 53 45 43 20 83 20 46 4F |RDDSK;. SEC . FO|
0000D0B0: 52 20 53 45 41 52 43 48 20 53 54 52 49 4E 47 00 |R SEARCH STRING.|
0000D0C0: 73 0C F4 01 80 20 4A 53 52 20 49 4E 49 54 3B 46 |s.... JSR INIT;F|
0000D0D0: 49 4E 49 53 48 45 44 00 95 0C FE 01 4A 4D 50 20 |INISHED.....JMP |
0000D0E0: 28 24 41 30 30 32 29 3B 42 41 53 49 43 53 20 57 |($A002);BASICS W|
0000D0F0: 41 52 4D 20 53 54 41 52 54 00 AA 0C 08 02 2E 46 |ARM START......F|
0000D100: 49 4C 45 20 53 52 43 48 20 44 53 4B 20 32 00 00 |ILE SRCH DSK 2..|
0000D110: 00 2C 59 3B 54 52 4B 20 23 20 A4 20 24 30 36 20 |.,Y;TRK # . $06 |
0000D120: 49 4E 20 31 35 34 31 00 D3 0A 0E 01 4A 53 52 20 |IN 1541.....JSR |
0000D130: 4F 55 54 00 DB 0A 18 01 49 4E 59 00 E8 0A 22 01 |OUT.....INY...".|
0000D140: 43 50 59 20 23 24 30 37 00 F3 0A 2C 01 42 4E 45 |CPY #$07...,.BNE|
0000D150: 20 4C 50 00 01 0B 36 01 4A 53 01 08 11 08 01 00 | LP...6.JS......|
0000D160: 3B 53 52 43 48 20 44 53 4B 20 32 00 31 08 05 00 |;SRCH DSK 2.1...|
0000D170: 52 44 44 53 4B 20 4A 53 52 20 53 54 50 3B 43 48 |RDDSK JSR STP;CH|
0000D180: 45 43 4B 20 8A AD 90 20 4B 45 59 00 3E 08 0A 00 |ECK ... KEY.>...|
0000D190: 4C 44 41 20 23 24 30 38 00 48 08 14 00 4A 53 52 |LDA #$08.H...JSR|
0000D1A0: 20 9B 00 55 08 1E 00 4C 44 59 20 23 24 30 30 00 | ..U...LDY #$00.|
0000D1B0: 88 08 28 00 4C 50 33 20 4C 44 41 20 4D 52 31 2C |..(.LP3 LDA MR1,|
0000D1C0: 59 3B 87 20 42 59 54 45 53 20 24 30 33 30 32 20 |Y;. BYTES $0302 |
0000D1D0: A4 20 30 33 46 46 20 49 4E 20 31 35 34 31 20 52 |. 03FF IN 1541 R|
0000D1E0: 41 4D 00 94 08 32 00 4A 53 52 20 4F 55 54 00 9C |AM...2.JSR OUT..|
0000D1F0: 08 3C 00 49 4E 59 00 A9 08 46 00 43 50 59 20 23 |.<.INY...F.CPY #|
0000D200: 24 30 36 00 B5 08 50 00 42 4E 45 20 4C 50 33 00 |$06...P.BNE LP3.|
0000D210: C3 08 5A 00 4A 53 52 20 55 4E 4C 49 53 00 D0 08 |..Z.JSR UNLIS...|
0000D220: 64 00 4C 44 41 20 23 24 30 38 00 01 09 6E 00 4A |d.LDA #$08...n.J|
0000D230: 53 52 20 54 41 4C 4B 3B 53 45 54 20 55 50 20 44 |SR TALK;SET UP D|
0000D240: 49 53 4B 20 A4 20 53 80 20 42 59 54 45 53 20 91 |ISK . S. BYTES .|
0000D250: 20 53 45 52 49 41 4C 20 42 55 53 00 0E 09 78 00 | SERIAL BUS...x.|
0000D260: 4C 44 59 20 23 24 30 32 00 35 09 7D 00 A2 49 4E |LDY #$02.5.}..IN|
0000D270: 20 4C 44 58 20 23 24 30 30 3A 53 54 58 20 58 3B | LDX #$00:STX X;|
0000D280: 53 45 54 20 53 50 41 52 45 20 58 20 A4 20 30 00 |SET SPARE X . 0.|
0000D290: 5D 09 82 00 82 49 4E 20 4A 53 52 20 49 4E 3B A1 |]....IN JSR IN;.|
0000D2A0: 20 41 20 42 59 54 45 20 46 52 4F 4D 20 53 45 52 | A BYTE FROM SER|
0000D2B0: 49 41 4C 20 42 55 53 00 89 09 87 00 49 4E 59 3A |IAL BUS.....INY:|
0000D2C0: 43 50 59 20 23 24 46 46 3A 42 45 51 20 4C 50 36 |CPY #$FF:BEQ LP6|
0000D2D0: 3B 42 52 41 4E 43 48 20 41 4C 4C 20 42 59 54 45 |;BRANCH ALL BYTE|
0000D2E0: 53 20 87 00 AE 09 8C 00 4C 44 58 20 58 3B 48 4F |S ......LDX X;HO|
0000D2F0: 4C 44 53 20 43 4F 55 4E 54 20 4F 46 20 42 59 54 |LDS COUNT OF BYT|
0000D300: 45 53 20 46 4F 55 4E 44 00 D5 09 96 00 43 4D 50 |ES FOUND.....CMP|
0000D310: 20 53 52 43 48 2C 58 3B 48 4F 4C 44 53 20 42 59 | SRCH,X;HOLDS BY|
0000D320: 54 45 53 20 53 45 41 52 43 48 49 4E 47 20 81 00 |TES SEARCHING ..|
0000D330: F4 09 A0 00 42 4E 45 20 A2 49 4E 3B 4E 4F 20 4D |....BNE .IN;NO M|
0000D340: 41 54 43 48 20 54 52 59 20 41 47 41 49 4E 00 28 |ATCH TRY AGAIN.(|
0000D350: 0A AA 00 49 4E 58 3A 43 50 58 20 53 54 52 49 4E |...INX:CPX STRIN|
0000D360: 47 3A 42 45 51 20 50 52 54 83 3B 49 46 20 58 20 |G:BEQ PRT.;IF X |
0000D370: 3D 20 4C 45 4E 47 54 48 20 4F 46 20 53 45 41 52 |= LENGTH OF SEAR|
0000D380: 43 48 00 47 0A AB 00 3B 53 54 52 49 4E 47 20 A7 |CH.G...;STRING .|
0000D390: 20 41 4C 4C 20 46 4F 55 4E 44 20 99 20 49 54 21 | ALL FOUND . IT!|
0000D3A0: 21 00 72 0A B4 00 53 54 58 20 58 3B 8B 20 A8 20 |!.r...STX X;. . |
0000D3B0: 4B 45 45 50 20 54 52 41 43 4B 20 4F 46 20 48 4F |KEEP TRACK OF HO|
0000D3C0: 57 20 4D 41 4E 59 20 46 4F 55 4E 44 00 8B 0A BE |W MANY FOUND....|
0000D3D0: 00 4A 4D 50 20 82 49 4E 3B A1 20 41 A8 48 45 52 |.JMP .IN;. A.HER|
0000D3E0: 20 42 59 54 45 00 9E 0A C8 00 50 52 54 83 20 4A | BYTE.....PRT. J|
0000D3F0: 53 52 20 55 4E 54 4C 4B 00 D1 0A D2 00 4A 4D 50 |SR UNTLK.....JMP|
0000D400: 20 50 52 4E 54 83 3B 52 4F 55 54 49 4E 45 20 54 | PRNT.;ROUTINE T|
0000D410: 4F 20 50 52 49 4E 54 20 54 52 4B 20 26 20 53 45 |O PRINT TRK & SE|
0000D420: 43 20 54 4F 20 53 43 52 45 45 4E 00 E3 0A DC 00 |C TO SCREEN.....|
0000D430: 4C 50 36 20 4A 53 52 20 55 4E 4C 49 53 00 06 0B |LP6 JSR UNLIS...|
0000D440: E6 00 4A 4D 50 20 49 4E 43 52 3B 44 45 43 20 53 |..JMP INCR;DEC S|
0000D450: 45 43 20 23 20 AF 20 49 4E 43 20 54 52 4B 20 23 |EC # . INC TRK #|
0000D460: 00 14 0B F0 00 53 54 50 20 4A 53 52 20 90 00 32 |.....STP JSR ..2|
0000D470: 0B FA 00 42 4E 45 20 4E 4F 90 3B 8A AD 90 20 4B |...BNE NO.;... K|
0000D480: 45 59 20 A8 20 50 52 45 53 53 45 44 00 52 0B 04 |EY . PRESSED.R..|
0000D490: 01 4A 4D 50 20 80 3B 4B 45 59 20 50 52 45 53 53 |.JMP .;KEY PRESS|
0000D4A0: 45 44 20 54 45 52 4D 49 4E 41 54 45 00 5E 0B 0E |ED TERMINATE.^..|
0000D4B0: 01 4E 4F 90 20 52 54 53 00 73 0B 18 01 2E 46 49 |.NO. RTS.s....FI|
0000D4C0: 4C 45 20 53 52 43 48 20 44 53 4B 20 33 00 00 00 |LE SRCH DSK 3...|
0000D4D0: 4E 43 48 20 41 4C 4C 20 42 59 54 45 53 20 87 00 |NCH ALL BYTES ..|
0000D4E0: AE 09 8C 00 4C 44 58 20 58 3B 48 4F 4C 44 53 20 |....LDX X;HOLDS |
0000D4F0: 43 4F 55 4E 54 20 4F 46 20 42 59 54 45 53 20 46 |COUNT OF BYTES F|
0000D500: 4F 55 4E 44 00 D5 09 96 00 43 4D 50 20 53 52 43 |OUND.....CMP SRC|
0000D510: 48 2C 58 3B 48 4F 4C 44 53 20 42 59 54 45 53 20 |H,X;HOLDS BYTES |
0000D520: 53 45 41 52 43 48 49 4E 47 20 81 00 F4 09 A0 00 |SEARCHING ......|
0000D530: 42 4E 45 20 A2 49 4E 3B 4E 4F 20 4D 41 54 43 48 |BNE .IN;NO MATCH|
0000D540: 20 54 52 59 20 41 47 41 49 4E 00 28 0A AA 00 49 | TRY AGAIN.(...I|
0000D550: 4E 58 01 08 11 08 0A 00 3B 53 52 43 48 20 44 53 |NX......;SRCH DS|
0000D560: 4B 20 33 00 32 08 14 00 49 4E 43 52 20 44 45 43 |K 3.2...INCR DEC|
0000D570: 20 53 45 43 3B 44 45 43 20 23 20 4F 46 20 53 45 | SEC;DEC # OF SE|
0000D580: 43 53 20 87 00 4F 08 1E 00 42 4D 49 20 49 4E 43 |CS ..O...BMI INC|
0000D590: 54 52 4B 3B 4E 4F 20 4D B0 45 20 53 45 43 A4 52 |TRK;NO M.E SEC.R|
0000D5A0: 53 00 5E 08 28 00 4A 4D 50 20 4E 58 54 53 45 43 |S.^.(.JMP NXTSEC|
0000D5B0: 00 7D 08 32 00 49 4E 43 54 52 4B 20 4A 4D 50 20 |.}.2.INCTRK JMP |
0000D5C0: 53 52 43 48 31 3B 49 4E 43 20 54 52 4B 20 23 00 |SRCH1;INC TRK #.|
0000D5D0: 92 08 90 01 2E 46 49 4C 45 20 53 52 43 48 20 44 |.....FILE SRCH D|
0000D5E0: 53 4B 20 34 00 00 00 00 00 00 00 00 00 00 00 00 |SK 4............|
0000D5F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
0000D650: 01 08 11 08 0A 00 3B 53 52 43 48 20 44 53 4B 20 |......;SRCH DSK |
0000D660: 34 00 47 08 14 00 53 45 43 A4 52 20 4C 44 41 20 |4.G...SEC.R LDA |
0000D670: 54 52 4B 3B 20 43 41 4C 43 55 4C 41 54 45 20 4E |TRK; CALCULATE N|
0000D680: 55 4D 42 45 52 20 4F 46 20 53 45 43 A4 52 53 20 |UMBER OF SEC.RS |
0000D690: 91 20 54 52 41 43 4B 00 5A 08 1E 00 4C 44 58 20 |. TRACK.Z...LDX |
0000D6A0: 42 4F 55 4E 44 3B 20 23 20 34 00 6C 08 28 00 53 |BOUND; # 4.l.(.S|
0000D6B0: 20 43 4D 50 20 42 4F 55 4E 44 2C 58 00 74 08 32 | CMP BOUND,X.t.2|
0000D6C0: 00 44 45 58 00 7E 08 3C 00 42 43 53 20 53 00 A1 |.DEX.~.<.BCS S..|
0000D6D0: 08 46 00 4C 44 41 20 A4 54 41 4C 2C 58 3B 23 20 |.F.LDA .TAL,X;# |
0000D6E0: 4F 46 20 53 45 43 20 91 20 54 48 49 53 20 54 52 |OF SEC . THIS TR|
0000D6F0: 4B 00 AD 08 4B 00 53 54 41 20 53 45 43 00 B5 08 |K...K.STA SEC...|
0000D700: 5F 00 52 54 53 00 D4 08 64 00 42 4F 55 4E 44 20 |_.RTS...d.BOUND |
0000D710: 2E 42 59 54 45 20 30 34 20 33 36 20 33 31 20 32 |.BYTE 04 36 31 2|
0000D720: 35 20 31 38 00 EF 08 6E 00 A4 54 41 4C 20 2E 42 |5 18...n..TAL .B|
0000D730: 59 54 45 20 31 36 20 31 37 20 31 38 20 32 30 00 |YTE 16 17 18 20.|
0000D740: 04 09 82 00 2E 46 49 4C 45 20 53 52 43 48 20 44 |.....FILE SRCH D|
0000D750: 53 4B 20 35 00 00 00 A0 A0 A0 A0 A0 A0 A0 A0 A0 |SK 5............|
0000D760: A0 00 00 00 00 00 00 00 00 00 04 00 00 00 82 1A |................|
0000D770: 00 43 33 35 20 31 37 A0 A0 A0 A0 A0 A0 A0 A0 A0 |.C35 17.........|
0000D780: A0 00 00 00 00 00 00 00 00 00 03 00 00 00 82 1A |................|
0000D790: 02 43 33 35 20 31 38 A0 A0 A0 A0 A0 A0 A0 A0 A0 |.C35 18.........|
0000D7A0: A0 00 00 00 00 00 00 00 00 00 03 00 00 00 82 1A |................|
0000D7B0: 04 43 33 35 20 31 39 A0 A0 A0 A0 A0 A0 A0 A0 A0 |.C35 19.........|
0000D7C0: A0 00 00 00 00 00 00 00 00 00 05 00 00 00 82 1A |................|
0000D7D0: 08 43 33 35 20 32 30 A0 A0 A0 A0 A0 A0 A0 A0 A0 |.C35 20.........|
0000D7E0: A0 00 00 00 00 00 00 00 00 00 04 00 00 00 82 1A |................|
0000D7F0: 10 43 33 35 20 32 31 A0 A0 A0 A0 A0 A0 A0 A0 A0 |.C35 21.........|
0000D800: A0 00 00 00 00 00 00 00 00 00 03 00 00 00 82 09 |................|
0000D810: 00 53 52 43 48 20 44 53 4B 20 45 51 A0 A0 A0 A0 |.SRCH DSK EQ....|
0000D820: A0 00 00 00 00 00 00 00 00 00 02 00 00 00 82 09 |................|
0000D830: 01 53 52 43 48 20 44 53 4B 20 31 A0 A0 A0 A0 A0 |.SRCH DSK 1.....|
0000D840: A0 00 00 00 00 00 00 00 00 00 05 00 01 08 11 08 |................|
0000D850: 0A 00 3B 53 52 43 48 20 44 53 4B 20 35 00 51 08 |..;SRCH DSK 5.Q.|
0000D860: 14 00 3B 54 48 45 20 9B 45 4E 20 52 4F 55 54 49 |..;THE .EN ROUTI|
0000D870: 4E 45 20 41 4C 45 52 54 53 20 54 48 45 20 44 49 |NE ALERTS THE DI|
0000D880: 53 4B 20 54 48 41 54 20 41 20 43 4F 4D 4D AF 20 |SK THAT A COMM. |
0000D890: 49 53 20 42 45 49 4E 47 20 53 45 4E 54 00 94 08 |IS BEING SENT...|
0000D8A0: 1E 00 3B 4F 56 45 52 20 54 48 45 20 53 45 52 49 |..;OVER THE SERI|
0000D8B0: 41 4C 20 42 55 53 2E 20 54 48 49 53 20 43 4F 4D |AL BUS. THIS COM|
0000D8C0: 4D AF 20 49 53 20 50 4C 41 43 45 44 20 49 4E 20 |M. IS PLACED IN |
0000D8D0: 54 48 45 20 31 35 34 31 27 53 20 43 4F 4D 4D AF |THE 1541'S COMM.|
0000D8E0: 00 C4 08 28 00 3B 42 55 46 46 45 52 20 41 54 20 |...(.;BUFFER AT |
0000D8F0: 24 30 32 30 30 20 49 54 20 49 53 20 A7 20 50 41 |$0200 IT IS . PA|
0000D900: 52 53 45 44 20 AF 20 45 58 45 43 55 54 45 44 2E |RSED . EXECUTED.|
0000D910: 00 CA 08 32 00 3B 00 15 09 3C 00 3B 54 48 45 20 |...2.;...<.;THE |
0000D920: 54 41 4C 4B 20 52 4F 55 54 49 4E 45 20 53 80 53 |TALK ROUTINE S.S|
0000D930: 20 31 20 42 59 54 45 20 41 54 20 41 20 54 49 4D | 1 BYTE AT A TIM|
0000D940: 45 20 46 52 4F 4D 20 54 48 45 20 31 35 34 31 20 |E FROM THE 1541 |
0000D950: A4 20 54 48 45 20 36 34 20 4F 56 45 52 20 54 48 |. THE 64 OVER TH|
0000D960: 45 00 4A 09 46 00 3B 53 45 52 49 41 4C 20 42 55 |E.J.F.;SERIAL BU|
0000D970: 53 2E 20 54 48 45 20 42 59 54 45 20 49 53 20 48 |S. THE BYTE IS H|
0000D980: 45 4C 44 20 49 4E 20 54 48 45 20 41 20 52 45 47 |ELD IN THE A REG|
0000D990: 49 53 54 45 52 2E 00 50 09 50 00 3B 00 90 09 5A |ISTER..P.P.;...Z|
0000D9A0: 00 3B 42 4F 54 48 20 52 4F 55 54 49 4E 45 53 20 |.;BOTH ROUTINES |
0000D9B0: 52 45 51 55 49 52 45 20 54 48 41 54 20 41 20 53 |REQUIRE THAT A S|
0000D9C0: 45 43 91 44 41 52 59 20 41 44 44 52 45 53 53 20 |EC.DARY ADDRESS |
0000D9D0: 42 45 20 53 50 45 43 8B 49 45 44 2E 00 96 09 64 |BE SPEC.IED....d|
0000D9E0: 00 3B 00 A5 09 8C 00 49 4E 49 54 20 4A 53 52 20 |.;.....INIT JSR |
0000D9F0: 9B 00 B7 09 96 00 4C 44 41 20 23 24 34 39 3B 20 |......LDA #$49; |
0000DA00: 22 49 22 00 D9 09 A0 00 4A 53 52 20 4F 55 54 3B |"I".....JSR OUT;|
0000DA10: 20 53 80 20 31 20 42 59 54 45 20 A4 20 54 48 45 | S. 1 BYTE . THE|
0000DA20: 20 31 35 34 31 00 E7 09 AA 00 4A 53 52 20 55 4E | 1541.....JSR UN|
0000DA30: 4C 49 53 00 EF 09 B4 00 52 54 53 00 03 0A E2 04 |LIS.....RTS.....|
0000DA40: 9B 20 4C 44 41 20 23 24 30 38 3B 20 9B 45 4E 00 |. LDA #$08; .EN.|
0000DA50: 0F 0A EC 04 4A 53 52 20 4C 49 53 00 1C 0A F6 04 |....JSR LIS.....|
0000DA60: 4C 44 41 20 23 24 46 46 00 2A 0A 00 05 4A 53 52 |LDA #$FF.*...JSR|
0000DA70: 20 4C 49 53 45 43 00 32 0A 0A 05 52 54 53 00 44 | LISEC.2...RTS.D|
0000DA80: 0A 14 05 54 41 4C 4B 20 4C 44 41 20 23 24 30 38 |...TALK LDA #$08|
0000DA90: 00 68 0A 1E 05 4A 53 52 20 54 4C 4B 3B 20 A1 20 |.h...JSR TLK; . |
0000DAA0: 31 20 42 59 54 45 20 46 52 4F 4D 20 54 48 45 20 |1 BYTE FROM THE |
0000DAB0: 31 35 34 31 00 75 0A 28 05 4C 44 41 20 23 24 46 |1541.u.(.LDA #$F|
0000DAC0: 46 00 84 0A 32 05 4A 53 52 20 54 4C 4B 53 45 43 |F...2.JSR TLKSEC|
0000DAD0: 00 8C 0A 3C 05 52 54 53 00 C4 0A 90 06 43 48 4B |...<.RTS.....CHK|
0000DAE0: 45 52 52 20 4A 53 52 20 9B 3B 92 20 81 20 43 4F |ERR JSR .;. . CO|
0000DAF0: 4D 4D AF 20 A4 20 42 45 20 52 45 50 4C 41 43 45 |MM. . BE REPLACE|
0000DB00: 44 20 57 49 54 48 20 45 52 52 B0 20 43 4F 44 45 |D WITH ERR. CODE|
0000DB10: 00 D1 0A 9A 06 4C 44 59 20 23 24 30 30 00 F8 0A |.....LDY #$00...|
0000DB20: A4 06 43 48 4B 31 20 4C 44 41 20 4D 52 2C 59 3B |..CHK1 LDA MR,Y;|
0000DB30: 87 20 42 59 54 45 20 40 20 24 30 30 20 49 4E 20 |. BYTE @ $00 IN |
0000DB40: 31 35 34 31 00 04 0B AE 06 4A 53 52 20 4F 55 54 |1541.....JSR OUT|
0000DB50: 00 0C 0B B8 06 49 4E 59 00 19 0B C2 06 43 50 59 |.....INY.....CPY|
0000DB60: 20 23 24 30 36 00 26 0B CC 06 42 4E 45 20 43 48 | #$06.&...BNE CH|
0000DB70: 4B 31 00 34 0B D6 06 4A 53 52 20 55 4E 4C 49 53 |K1.4...JSR UNLIS|
0000DB80: 00 41 0B E0 06 4A 53 52 20 54 41 4C 4B 00 5A 0B |.A...JSR TALK.Z.|
0000DB90: EA 06 4A 53 52 20 49 4E 3B A1 20 42 59 54 45 20 |..JSR IN;. BYTE |
0000DBA0: 41 54 20 24 30 30 00 66 0B F4 06 53 54 41 20 45 |AT $00.f...STA E|
0000DBB0: 52 52 00 74 0B FE 06 4A 53 52 20 55 4E 54 4C 4B |RR.t...JSR UNTLK|
0000DBC0: 00 80 0B 08 07 4C 44 41 20 45 52 52 00 B0 0B 12 |.....LDA ERR....|
0000DBD0: 07 42 4D 49 20 43 48 4B 45 52 52 3B 20 53 45 56 |.BMI CHKERR; SEV|
0000DBE0: 45 4E 54 48 20 42 49 54 20 53 45 54 20 22 4E 4F |ENTH BIT SET "NO|
0000DBF0: 20 45 52 52 4F 52 20 43 4F 44 45 22 00 B8 0B 1C | ERROR CODE"....|
0000DC00: 07 52 54 53 00 CD 0B 6C 07 2E 46 49 4C 45 20 53 |.RTS...l..FILE S|
0000DC10: 52 43 48 20 44 53 4B 20 36 00 00 00 30 07 54 52 |RCH DSK 6...0.TR|
0000DC20: 4B 20 45 52 52 B0 00 00 00 31 20 54 52 4B 20 45 |K ERR....1 TRK E|
0000DC30: 52 52 B0 00 00 00 20 45 52 52 B0 01 00 00 FF FF |RR.... ERR......|
0000DC40: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DC50: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DC60: 00 00 FF FF 00 00 F7 FF 00 00 FF FF 00 00 FF FF |................|
0000DC70: 00 00 FF FF 00 00 FF FF 00 00 F3 FF 00 00 FF F3 |................|
0000DC80: 00 00 FF FF 08 00 FF FF 5E 02 F7 FF 00 00 FF FF |........^.......|
0000DC90: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DCA0: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DCB0: 00 00 F3 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DCC0: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DCD0: 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF |................|
0000DCE0: 00 00 FF FF 9B 3B 92 20 81 20 43 4F 4D 4D AF 20 |.....;. . COMM. |
0000DCF0: A4 20 42 45 20 52 45 50 4C 41 43 45 44 20 57 49 |. BE REPLACED WI|
0000DD00: 54 48 20 45 52 52 B0 20 43 4F 44 45 00 D1 0A 9A |TH ERR. CODE....|
0000DD10: 06 4C 44 59 20 23 24 30 30 00 F8 0A A4 06 43 48 |.LDY #$00.....CH|
0000DD20: 4B 31 20 4C 44 41 20 4D 52 2C 59 3B 87 20 42 59 |K1 LDA MR,Y;. BY|
0000DD30: 54 45 20 40 20 24 30 30 20 49 4E 20 31 35 34 31 |TE @ $00 IN 1541|
0000DD40: 00 04 01 08 11 08 0A 00 3B 53 52 43 48 20 44 53 |........;SRCH DS|
0000DD50: 4B 20 36 00 36 08 50 00 47 20 4A 53 52 20 A1 3B |K 6.6.P.G JSR .;|
0000DD60: 52 4F 55 54 49 4E 45 20 81 20 4B 45 59 42 4F 41 |ROUTINE . KEYBOA|
0000DD70: 52 44 20 45 4E 54 52 59 00 40 08 5A 00 42 45 51 |RD ENTRY.@.Z.BEQ|
0000DD80: 20 47 00 64 08 5B 00 43 4D 50 20 23 24 30 44 3B | G.d.[.CMP #$0D;|
0000DD90: 8E 20 B2 20 80 20 4F 46 20 53 45 41 52 43 48 20 |. . . OF SEARCH |
0000DDA0: 53 54 52 49 4E 47 00 6E 08 5C 00 42 4E 45 20 54 |STRING.n.\.BNE T|
0000DDB0: 00 76 08 5D 00 52 54 53 00 7C 08 5E 00 3B 00 92 |.v.].RTS.|.^.;..|
0000DDC0: 08 5F 00 3B 43 91 56 45 52 54 20 C6 49 49 20 A4 |._.;C.VERT .II .|
0000DDD0: 20 48 45 58 00 98 08 60 00 3B 00 B9 08 64 00 54 | HEX...`.;...d.T|
0000DDE0: 20 4A 53 52 20 99 3B 4B 45 59 20 53 A4 4B 45 20 | JSR .;KEY S.KE |
0000DDF0: 49 4E 20 C6 49 49 20 99 20 49 54 00 DC 08 69 00 |IN .II . IT...i.|
0000DE00: 4A 53 52 20 54 45 4E 3B 43 91 56 45 52 54 20 46 |JSR TEN;C.VERT F|
0000DE10: 49 52 53 54 20 4B 45 59 53 54 52 4F 4B 45 00 E9 |IRST KEYSTROKE..|
0000DE20: 08 6E 00 47 31 20 4A 53 52 20 A1 00 F4 08 6F 00 |.n.G1 JSR ....o.|
0000DE30: 42 45 51 20 47 31 00 FE 08 78 00 4A 53 52 20 99 |BEQ G1...x.JSR .|
0000DE40: 00 1E 09 7D 00 4A 53 52 20 91 45 3B 43 91 56 45 |...}.JSR .E;C.VE|
0000DE50: 52 54 20 32 4E 44 20 4B 45 59 53 54 52 4F 4B 45 |RT 2ND KEYSTROKE|
0000DE60: 00 28 09 82 00 4C 44 58 20 58 00 52 09 8C 00 53 |.(...LDX X.R...S|
0000DE70: 54 41 20 53 52 43 48 2C 58 3B 50 55 54 20 53 45 |TA SRCH,X;PUT SE|
0000DE80: 41 52 43 48 20 53 54 52 49 4E 47 20 B5 4F 20 4D |ARCH STRING .O M|
0000DE90: 45 4D B0 59 00 5A 09 96 00 49 4E 58 00 64 09 A0 |EM.Y.Z...INX.d..|
0000DEA0: 00 53 54 58 20 58 00 92 09 A1 00 49 4E 43 20 53 |.STX X.....INC S|
0000DEB0: 54 52 49 4E 47 3B 56 41 52 49 41 42 4C 45 20 48 |TRING;VARIABLE H|
0000DEC0: 4F 57 20 4C 91 47 20 53 45 41 52 43 48 20 53 54 |OW L.G SEARCH ST|
0000DED0: 52 49 4E 47 00 A9 09 A5 00 4A 4D 50 20 47 3B A1 |RING.....JMP G;.|
0000DEE0: 20 41 A8 48 45 52 20 42 59 54 45 00 D5 09 AA 00 | A.HER BYTE.....|
0000DEF0: 54 45 4E 20 43 4D 50 20 23 24 34 31 3B 23 20 47 |TEN CMP #$41;# G|
0000DF00: 52 45 41 54 45 52 20 54 48 41 4E 20 39 20 28 41 |REATER THAN 9 (A|
0000DF10: 20 42 20 45 54 43 29 00 E1 09 B4 00 42 43 43 20 | B ETC).....BCC |
0000DF20: 4E 55 4D 00 F3 09 B8 00 3B 45 58 41 4D 50 4C 45 |NUM.....;EXAMPLE|
0000DF30: 20 23 24 42 35 00 13 0A B9 00 3B 48 4F 4C 44 53 | #$B5.....;HOLDS|
0000DF40: 20 54 48 45 20 42 20 28 23 24 34 32 29 20 49 4E | THE B (#$42) IN|
0000DF50: 20 23 24 42 35 00 32 0A BA 00 3B 20 20 20 20 20 | #$B5.2...; |
0000DF60: 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 30 | 0100|
0000DF70: 30 30 31 30 00 3A 0A BE 00 53 45 43 00 59 0A C8 |0010.:...SEC.Y..|
0000DF80: 00 53 42 43 20 23 24 30 37 3B 23 24 33 42 20 20 |.SBC #$07;#$3B |
0000DF90: 20 20 20 30 30 31 31 31 30 31 31 00 76 0A D2 00 | 00111011.v...|
0000DFA0: 4E 55 4D 20 AF 20 23 24 30 46 3B 20 20 20 20 20 |NUM . #$0F; |
0000DFB0: 30 30 30 30 31 31 31 31 00 95 0A D7 00 3B 45 51 |00001111.....;EQ|
0000DFC0: 55 41 4C 53 20 20 20 20 20 20 20 20 20 20 20 30 |UALS 0|
0000DFD0: 30 30 30 31 30 31 31 00 B4 0A DC 00 41 53 4C 3B |0001011.....ASL;|
0000DFE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 | 00|
0000DFF0: 30 31 30 31 31 30 00 D3 0A E1 00 41 53 4C 3B 20 |010110.....ASL; |
0000E000: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 31 | 001|
0000E010: 30 31 31 30 30 00 F2 0A E2 00 41 53 4C 3B 20 20 |01100.....ASL; |
0000E020: 20 20 20 20 20 20 20 20 20 20 20 20 30 31 30 31 | 0101|
0000E030: 31 30 30 30 00 18 0B E3 00 41 53 4C 3B 20 20 20 |1000.....ASL; |
0000E040: 20 20 20 20 20 20 20 20 20 20 20 31 30 31 31 30 | 10110|
0000E050: 30 30 30 20 B2 20 23 24 42 30 00 25 0B E6 00 53 |000 . #$B0.%...S|
0000E060: 54 41 20 54 45 4D 50 00 2D 0B F0 00 52 54 53 00 |TA TEMP.-...RTS.|
0000E070: 4E 0B FA 00 91 45 20 43 4D 50 20 23 24 34 31 3B |N....E CMP #$41;|
0000E080: 54 48 45 20 23 24 30 35 20 49 4E 20 23 24 42 35 |THE #$05 IN #$B5|
0000E090: 00 5B 0B 04 01 42 43 43 20 4E 55 4D 31 00 63 0B |.[...BCC NUM1.c.|
0000E0A0: 0E 01 53 45 43 00 70 0B 18 01 53 42 43 20 23 24 |..SEC.p...SBC #$|
0000E0B0: 30 37 00 8F 0B 1D 01 3B 45 58 41 4D 50 4C 45 20 |07.....;EXAMPLE |
0000E0C0: 20 20 20 20 20 20 20 20 20 30 30 30 30 30 31 30 | 0000010|
0000E0D0: 31 00 AC 0B 22 01 4E 55 4D 31 20 AF 20 23 24 30 |1...".NUM1 . #$0|
0000E0E0: 46 3B 20 20 20 20 30 30 30 30 31 31 31 31 00 CB |F; 00001111..|
0000E0F0: 0B 27 01 3B 45 51 55 41 4C 53 20 23 24 30 35 20 |.'.;EQUALS #$05 |
0000E100: 20 20 20 20 20 30 30 30 30 30 31 30 31 00 D3 0B | 00000101...|
0000E110: 2C 01 43 4C 43 00 F3 0B 36 01 41 44 43 20 54 45 |,.CLC...6.ADC TE|
0000E120: 4D 50 3B 23 24 42 30 20 AA 20 23 24 30 35 20 B2 |MP;#$B0 . #$05 .|
0000E130: 20 23 24 42 35 00 FB 0B 40 01 52 54 53 00 10 0C | #$B5...@.RTS...|
0000E140: 7C 01 2E 46 49 4C 45 20 53 52 43 48 20 44 53 4B ||..FILE SRCH DSK|
0000E150: 20 37 00 00 00 00 3B 20 20 20 20 20 20 20 20 20 | 7....; |
0000E160: 20 20 20 20 20 20 20 20 30 31 30 30 30 30 31 30 | 01000010|
0000E170: 00 3A 0A BE 00 53 45 43 00 59 0A C8 00 53 42 43 |.:...SEC.Y...SBC|
0000E180: 20 23 24 30 37 3B 23 24 33 42 20 20 20 20 20 30 | #$07;#$3B 0|
0000E190: 30 31 31 31 30 31 31 00 76 0A D2 00 4E 55 4D 20 |0111011.v...NUM |
0000E1A0: AF 20 23 24 30 46 3B 20 20 20 20 20 30 30 30 30 |. #$0F; 0000|
0000E1B0: 31 31 31 31 00 95 0A D7 00 3B 45 51 55 41 4C 53 |1111.....;EQUALS|
0000E1C0: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 30 31 | 00001|
0000E1D0: 30 31 31 00 B4 0A DC 00 41 53 4C 3B 20 20 20 20 |011.....ASL; |
0000E1E0: 20 20 20 20 20 20 20 20 20 20 30 30 30 31 30 31 | 000101|
0000E1F0: 31 30 00 D3 0A E1 00 41 53 4C 3B 20 20 20 20 20 |10.....ASL; |
0000E200: 20 20 20 20 20 20 20 20 20 30 30 31 30 31 31 30 | 0010110|
0000E210: 30 00 F2 0A E2 00 41 53 4C 3B 20 20 20 20 20 20 |0.....ASL; |
0000E220: 20 20 20 20 20 20 20 20 30 31 30 31 31 30 30 30 | 01011000|
0000E230: 00 18 0B E3 00 41 53 4C 01 08 11 08 0A 00 3B 53 |.....ASL......;S|
0000E240: 52 43 48 20 44 53 4B 20 37 00 17 08 0B 00 3B 00 |RCH DSK 7.....;.|
0000E250: 36 08 0C 00 3B 43 91 56 45 52 54 20 48 45 58 20 |6...;C.VERT HEX |
0000E260: A4 20 C6 49 49 20 81 20 53 43 52 45 45 4E 00 3C |. .II . SCREEN.<|
0000E270: 08 0D 00 3B 00 6A 08 14 00 50 52 4E 54 83 20 4C |...;.j...PRNT. L|
0000E280: 44 41 20 54 52 4B 3B 45 58 41 4D 50 4C 45 20 54 |DA TRK;EXAMPLE T|
0000E290: 52 4B 20 23 24 31 42 20 28 32 37 20 41 53 43 49 |RK #$1B (27 ASCI|
0000E2A0: 49 29 00 76 08 1E 00 4A 53 52 20 48 45 58 00 83 |I).v...JSR HEX..|
0000E2B0: 08 28 00 4C 44 41 20 54 45 4D 50 00 A4 08 32 00 |.(.LDA TEMP...2.|
0000E2C0: 53 54 41 20 54 52 4B 4C 4F 3B 48 4F 4C 44 53 20 |STA TRKLO;HOLDS |
0000E2D0: 41 20 C6 49 49 20 33 31 20 28 31 29 00 B3 08 3C |A .II 31 (1)...<|
0000E2E0: 00 4C 44 41 20 54 45 4D 50 AA 31 00 D4 08 46 00 |.LDA TEMP.1...F.|
0000E2F0: 53 54 41 20 54 52 4B 48 49 3B 48 4F 4C 44 53 20 |STA TRKHI;HOLDS |
0000E300: 41 20 C6 49 49 20 34 32 20 28 42 29 00 E0 08 50 |A .II 42 (B)...P|
0000E310: 00 4C 44 41 20 53 45 43 00 EC 08 5A 00 4A 53 52 |.LDA SEC...Z.JSR|
0000E320: 20 48 45 58 00 F9 08 64 00 4C 44 41 20 54 45 4D | HEX...d.LDA TEM|
0000E330: 50 00 07 09 6E 00 53 54 41 20 53 45 43 4C 4F 00 |P...n.STA SECLO.|
0000E340: 16 09 78 00 4C 44 41 20 54 45 4D 50 AA 31 00 24 |..x.LDA TEMP.1.$|
0000E350: 09 82 00 53 54 41 20 53 45 43 48 49 00 31 09 8C |...STA SECHI.1..|
0000E360: 00 4A 4D 50 20 53 43 52 4E 00 53 09 96 00 48 45 |.JMP SCRN.S...HE|
0000E370: 58 20 53 54 41 20 54 45 4D 50 AA 31 3B 20 23 24 |X STA TEMP.1; #$|
0000E380: 31 42 20 30 30 30 31 31 30 31 31 00 73 09 A0 00 |1B 00011011.s...|
0000E390: AF 20 23 24 46 30 3B 20 20 20 20 20 20 20 20 20 |. #$F0; |
0000E3A0: 20 20 20 31 31 31 31 30 30 30 30 00 95 09 A1 00 | 11110000.....|
0000E3B0: 3B 45 51 55 41 4C 53 20 20 20 20 20 20 20 20 20 |;EQUALS |
0000E3C0: 20 20 20 20 20 30 30 30 31 30 30 30 30 00 B7 09 | 00010000...|
0000E3D0: A5 00 4C 53 52 3B 20 20 20 20 20 20 20 20 20 20 |..LSR; |
0000E3E0: 20 20 20 20 20 20 20 30 30 30 30 31 30 30 30 00 | 00001000.|
0000E3F0: D9 09 AA 00 4C 53 52 3B 20 20 20 20 20 20 20 20 |....LSR; |
0000E400: 20 20 20 20 20 20 20 20 20 30 30 30 30 30 31 30 | 0000010|
0000E410: 30 00 FB 09 AB 00 4C 53 52 3B 20 20 20 20 20 20 |0.....LSR; |
0000E420: 20 20 20 20 20 20 20 20 20 20 20 30 30 30 30 30 | 00000|
0000E430: 30 31 30 00 1D 0A AC 00 4C 53 52 3B 20 20 20 20 |010.....LSR; |
0000E440: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 30 | 000|
0000E450: 30 30 30 30 31 00 37 0A B4 00 41 44 43 20 23 24 |00001.7...ADC #$|
0000E460: 33 30 3B B2 20 33 31 20 C6 49 49 20 B2 20 31 00 |30;. 31 .II . 1.|
0000E470: 44 0A BE 00 53 54 41 20 54 45 4D 50 00 66 0A C8 |D...STA TEMP.f..|
0000E480: 00 4C 44 41 20 54 45 4D 50 AA 31 3B 23 24 31 42 |.LDA TEMP.1;#$1B|
0000E490: 20 20 20 20 20 20 30 30 30 31 31 30 31 31 00 86 | 00011011..|
0000E4A0: 0A DC 00 AF 20 23 24 30 46 3B 20 20 20 20 20 20 |.... #$0F; |
0000E4B0: 20 20 20 20 20 20 30 30 30 30 31 31 31 31 00 A8 | 00001111..|
0000E4C0: 0A E1 00 3B 45 51 55 41 4C 53 20 23 24 30 42 20 |...;EQUALS #$0B |
0000E4D0: 20 20 20 20 20 20 20 20 30 30 30 30 31 30 31 31 | 00001011|
0000E4E0: 00 B5 0A E6 00 43 4D 50 20 23 24 30 41 00 C3 0A |.....CMP #$0A...|
0000E4F0: F0 00 42 43 43 20 55 4E 44 45 52 00 CB 0A FA 00 |..BCC UNDER.....|
0000E500: 43 4C 43 00 E8 0A 04 01 41 44 43 20 23 24 30 37 |CLC.....ADC #$07|
0000E510: 3B 4E 4F 57 20 45 51 55 41 4C 53 20 23 24 31 32 |;NOW EQUALS #$12|
0000E520: 00 F6 0A 0E 01 55 4E 44 45 52 20 43 4C 43 00 1E |.....UNDER CLC..|
0000E530: 0B 18 01 41 44 43 20 23 24 33 30 3B 4E 4F 57 20 |...ADC #$30;NOW |
0000E540: 45 51 55 41 4C 53 20 23 24 34 32 20 28 42 20 49 |EQUALS #$42 (B I|
0000E550: 4E 20 C6 49 49 29 00 2D 0B 22 01 53 54 41 20 54 |N .II).-.".STA T|
0000E560: 45 4D 50 AA 31 00 35 0B 2C 01 52 54 53 00 47 0B |EMP.1.5.,.RTS.G.|
0000E570: 36 01 53 43 52 4E 20 4C 44 59 20 23 24 30 30 00 |6.SCRN LDY #$00.|
0000E580: 57 0B 40 01 4C 50 37 20 4C 44 41 20 83 2C 59 00 |W.@.LP7 LDA .,Y.|
0000E590: 64 0B 4A 01 43 4D 50 20 23 24 30 30 00 71 0B 54 |d.J.CMP #$00.q.T|
0000E5A0: 01 42 45 51 20 80 50 52 54 00 7B 0B 5E 01 4A 53 |.BEQ .PRT.{.^.JS|
0000E5B0: 52 20 99 00 83 0B 63 01 49 4E 59 00 8F 0B 68 01 |R ....c.INY...h.|
0000E5C0: 4A 4D 50 20 4C 50 37 00 A1 0B 72 01 80 50 52 54 |JMP LP7...r..PRT|
0000E5D0: 20 4A 4D 50 20 49 4E 43 52 00 B6 0B 7C 01 2E 46 | JMP INCR...|..F|
0000E5E0: 49 4C 45 20 53 52 43 48 20 44 53 4B 20 38 00 00 |ILE SRCH DSK 8..|
0000E5F0: 00 53 52 3B 20 20 20 20 20 20 20 20 20 20 20 20 |.SR; |
0000E600: 20 20 20 20 20 30 30 30 30 30 31 30 30 00 FB 09 | 00000100...|
0000E610: AB 00 4C 53 52 3B 20 20 20 20 20 20 20 20 20 20 |..LSR; |
0000E620: 20 20 20 20 20 20 20 30 30 30 30 30 30 31 30 00 | 00000010.|
0000E630: 01 08 16 08 0A 00 3B 53 52 43 48 20 44 53 4B 20 |......;SRCH DSK |
0000E640: 54 41 42 4C 45 53 00 38 08 14 00 4D 57 20 2E 42 |TABLES.8...MW .B|
0000E650: 59 54 45 20 22 4D 2D 57 22 3A 2E 42 59 54 45 20 |YTE "M-W":.BYTE |
0000E660: 30 36 20 30 30 20 30 31 00 48 08 1E 00 54 52 4B |06 00 01.H...TRK|
0000E670: 20 2E 42 59 54 45 20 30 00 6B 08 28 00 4D 57 31 | .BYTE 0.k.(.MW1|
0000E680: 20 2E 42 59 54 45 20 22 4D 2D 57 22 3A 2E 42 59 | .BYTE "M-W":.BY|
0000E690: 54 45 20 30 37 20 30 30 20 30 31 00 7B 08 32 00 |TE 07 00 01.{.2.|
0000E6A0: 53 45 43 20 2E 42 59 54 45 20 30 00 A2 08 3C 00 |SEC .BYTE 0...<.|
0000E6B0: 4D 57 32 20 2E 42 59 54 45 20 22 4D 2D 57 22 3A |MW2 .BYTE "M-W":|
0000E6C0: 2E 42 59 54 45 20 30 30 20 30 30 20 30 31 20 31 |.BYTE 00 00 01 1|
0000E6D0: 32 38 00 C4 08 41 00 4D 52 20 2E 42 59 54 45 20 |28...A.MR .BYTE |
0000E6E0: 22 4D 2D 52 22 3A 2E 42 59 54 45 20 30 30 20 30 |"M-R":.BYTE 00 0|
0000E6F0: 30 20 30 31 00 E8 08 46 00 4D 52 31 20 2E 42 59 |0 01...F.MR1 .BY|
0000E700: 54 45 20 22 4D 2D 52 22 3A 2E 42 59 54 45 20 30 |TE "M-R":.BYTE 0|
0000E710: 32 20 30 33 20 32 35 33 00 F7 08 5A 00 83 20 2E |2 03 253...Z.. .|
0000E720: 42 59 54 45 20 31 33 00 0D 09 5F 00 2E 42 59 54 |BYTE 13..._..BYT|
0000E730: 45 20 22 12 20 54 52 4B 20 23 24 20 22 00 1F 09 |E ". TRK #$ "...|
0000E740: 60 00 54 52 4B 4C 4F 20 2E 42 59 54 45 20 30 00 |`.TRKLO .BYTE 0.|
0000E750: 31 09 64 00 54 52 4B 48 49 20 2E 42 59 54 45 20 |1.d.TRKHI .BYTE |
0000E760: 30 00 3E 09 65 00 2E 42 59 54 45 20 33 32 00 4C |0.>.e..BYTE 32.L|
0000E770: 09 69 00 2E 42 59 54 45 20 22 92 22 00 64 09 6E |.i..BYTE ".".d.n|
0000E780: 00 2E 42 59 54 45 20 22 20 20 12 20 53 45 43 20 |..BYTE " . SEC |
0000E790: 23 24 20 22 00 76 09 73 00 53 45 43 4C 4F 20 2E |#$ ".v.s.SECLO .|
0000E7A0: 42 59 54 45 20 30 00 88 09 78 00 53 45 43 48 49 |BYTE 0...x.SECHI|
0000E7B0: 20 2E 42 59 54 45 20 30 00 95 09 79 00 2E 42 59 | .BYTE 0...y..BY|
0000E7C0: 54 45 20 33 32 00 AB 09 82 00 2E 42 59 54 45 20 |TE 32......BYTE |
0000E7D0: 22 92 22 3A 2E 42 59 54 45 20 30 00 BE 09 8C 00 |".":.BYTE 0.....|
0000E7E0: 53 54 52 49 4E 47 20 2E 42 59 54 45 20 30 00 CE |STRING .BYTE 0..|
0000E7F0: 09 96 00 45 52 52 20 2E 42 59 54 45 20 30 00 DC |...ERR .BYTE 0..|
0000E800: 09 A0 00 41 20 2E 42 59 54 45 20 30 00 EA 09 AA |...A .BYTE 0....|
0000E810: 00 58 20 2E 42 59 54 45 20 30 00 F8 09 B4 00 59 |.X .BYTE 0.....Y|
0000E820: 20 2E 42 59 54 45 20 30 00 0B 0A BE 00 54 45 4D | .BYTE 0.....TEM|
0000E830: 50 20 2E 42 59 54 45 20 30 20 30 00 1C 0A 86 01 |P .BYTE 0 0.....|
0000E840: 53 52 43 48 20 2E 42 59 54 45 20 30 00 2F 0A 90 |SRCH .BYTE 0./..|
0000E850: 01 2E 80 20 53 52 43 48 20 44 53 4B 20 45 51 00 |... SRCH DSK EQ.|
0000E860: 00 00 |.. |
4 LYNX VI BY WILL CORLEY. 43 .M/L PR
G 1541 DOC. 29 .S. 194 .READ HEADER. 6 .
P. 220 .READ HEADERI/L. 4 .P. 220 .READ
HDRN/SYNC. 7 .P. 158 .LOADER. 8 .P. 105
.BINARY. 4 .P. 188 .HALF TRACK. 11 .P. 6
.ASCII TO HEX. 8 .P. 194 .HEX TO ASCII.
5 .P. 44 .BIT DENSITY. 9 .P. 204 .READ
HEADER ILL.. 4 .P. 194 .TRACE EQ. 1 .P.
234 .TRC. 22 .P. 202 .SRCH DSK 8. 3 .P.
207 .RD TRK EQ. 2 .P. 249 .RD TRK 1. 6 .
P. 28 .RD TRK 2. 5 .P. 60 .RD TRK 3. 2 .
P. 191 .RD TRK 4. 2 .P. 102 .RD TRK 5. 2
.P. 202 .RD TRK 6. 1 .P. 127 .RD TRK 7.
3 .P. 144 .RD TRK 8. 19 .P. 187 .RD TRK
9. 7 .P. 9 .RD TRK 10. 4 .P. 207 .RD TR
K 11. 4 .P. 156 .RD TRK 12. 1 .P. 233 .R
D TRK 13. 1 .P. 148 .RD TRK 14. 2 .P. 11
7 .RD TRK 15. 2 .P. 139 .RD TRK 16. 3 .P
. 23 .RD TRK 17. 2 .P. 49 .RD TRK 18. 3
.P. 113 .RD TRK TABLES. 8 .P. 123 .SRCH
DSK EQ. 2 .P. 26 .SRCH DSK 1. 5 .P. 182
.SRCH DSK 2. 4 .P. 125 .SRCH DSK 3. 1 .P
. 150 .SRCH DSK 4. 2 .P. 10 .SRCH DSK 5.
5 .P. 161 .SRCH DSK 6. 5 .P. 28 .SRCH D
SK 7. 4 .P. 192 .SRCH DSK TABLES. 3 .P.D
TRK 6. 1 .P. 12@%CPROGRAMMING THE 1541.
CIN MACHINE LANGUAGE.CBY.CCHARLES LE MIE
UX.C(ML BUG).... THIS TUTORTORIAL IS
OFFERED AS FREEWARE BY ME. QUESTIONS AN
D FEEDBACK CAN BE SENT TO ME VIA MAIL ON
Q-LINK... IT IS STRONGLY RECOMENDED
THAT YOU AQUIRE MEMORY MAPS OF THE 64 A
ND 1541 TO BETTER UNDERSTAND THE FOLLOWI
NG... THE BEST WAY TO UNDERSTAND THE
1541 AND IT'S ROUTINES, IS TO WORK WITH
PROTECTED DISKS. NORMALY FORMATTED DISK
S HAVE NO CHALLENGE... THE FOLLOWING
ROUTINES WE'RE WRITTEN WITH LADS. THE S
OURCE CODE IS INCLUDED FOR YOU, AS WELL
AS THE ASSEMBLED ROUTINES... ALL OF
THE DISK ROUTINES BY-PASS ERROR HANDLING
ROUTINES BY USING DIRECT ACCESS PROGRAM
MING... DIRECT ACCESS PROGRAMMING IS
QUITE SIMPLE. THE 1541 HAS WHAT IS CALL
ED COMMAND BUFFERS. THERE ARE SIX OF THE
M. THEY ARE LOACATED IN THE 1541'S RAM S
TARTING AT $0000 TO $0005. ASSOCIATED WI
TH EACH COMMAND BUFFER ARE TWO BYTES THA
T HOLD THE TRACK AND SECTOR FOR THE COMM
AND. THESE ARE LOCATED FROM $0006 TO $00
11... IF I WANTED TO READ A CERTAIN
SECTOR, SAY #$00, ON A CERTAIN TRACK, SA
Y #$11, AND I WANTED THIS DATA STORED IN
THE 1541'S RAM STARTING AT $0300, I WOU
LD DO THE FOLLOWING:.. I WOULD FIRST
PLACE AN #$11 AT ADDRESS $0006, AND AN
#$00 AT ADDRESS $0007. I WOULD THEN PLAC
E AN #$80, (READ COMMAND), AT $$0000...
AS SOON AS THE #$80 IS PLACED IN MEM
ORY, THE TRACK AND SECTOR WILL BE READ I
NTO THE DISK MEMORY AT $0300 TO $03FF...
HOW WAS THIS ACCOMPLISHED? SIMPLE.
EVEN WHEN THE DRIVE IS IDLE A ROUTINE, (
IDLE ROUTINE AT $F2B0) IS LOOKING FOR SO
METHING TO DO. IT CHECKS THE COMMAND BUF
FERS TO SEE IF A COMMAND IS WAITING. IF
THERE IS ONE IT EXECUTES IT. ITS AS THOU
GH YOU HAD TYPED RUN...CCOMMAND CODES..#
$80 READ.#$90 WRITE.#$A0 VERIFY A SECTOR
.#$B0 SEEK ANY SECTOR ON TRACK.#$C0 BUMP
HEAD TO TRACK ONE.#$D0 JUMP TO M/L ROUT
INE (THIS ONE IS NOT VERY USEFUL).#$E0 E
XECUTE CODE IN BUFFER.. WRITE WOULD
WORK AS READ, EXCEPT THAT THE CODE IN TH
E RAM BUFFER WOULD BE WRITTEN TO THE TRA
CK AND SECTOR SPECIFED... AFTER A CO
MMAND IS EXECUTED, THE 1541'S ERROR HAND
LING ROUTINES REPLACE THE COMMAND CODE W
ITH AN ERROR CODE. IF A READ OF TRACK #$
11, SECTOR #$00 WAS SPECIFIED, AND THE R
EAD WAS EXECUTED PROPERLY, AN #$01 WOULD
REPALACE THE #$80 AT ADRESS $0000...CER
ROR CODES..#$01 OK.#$02 HEADER BLOCK NOT
FOUND.#$03 NO SYNC MARK FOUND.#$04 DATA
BLOCK NOT FOUND.#$05 DATA BLOCK CHECKSU
M ERROR.#$07 VERIFY ERROR AFTER WRITE.#$
08 WRITE PROTECT ERROR.#$09 HEADER CHECK
SUM ERROR.#$0A BLOCK TOO LONG (MORE THAN
256 BYTES).#$0B ID ERROR.#$10 GCR BYTE
DECODE ERROR.. THERE ARE SIX RAM BUF
FERS THAT CAN BE USED WITH DIRECT ACCESS
COMMANDS...COMMAND BUFFER RAM
ADDRESS.. $0000 $0300-$
03FF. $0001 $0400-$04FF
. $0002 $0500-$05FF.
$0003 $0600-$06FF. $000
4 $0700-$07FF.. THESE
RAM BUFFERS CAN BE USED TO HOLD DATA RE
AD FROM THE DISK, TO HOLD DATA TO BE WRI
TTEN TO THE DISK, OR HOLD AN MACHINE LAN
GUAGE ROUTINE TO BE EXECUTED BY THE DISK
...C1541 FORMATTING.. WHEN THE DRIVE
FORMATS A DISK, CERTAIN DATA IS WRITTEN
TO EACH SECTOR AND TRACK. THEY ARE CALL
ED HEADERS. THIS IS THE DATA REQUIRED BY
ROM ROUTINES TO KNOW WHERE IT IS. THIS
HEADER INFORMATION IS NOT IS SUPPOSED TO
BE SEEN BY THE ROM ROUTINES ONLY. BUT A
S YOU WILL SEE THERE IS A WAY FOR US TO
READ IT ALSO... A TRACK HEADER IS MA
DE UP OF SEVEN BYTES. THEY ARE AS FOLLOW
S:..BYTE NUMBER FUNCTION..
#$00 SYNC MARK. #$01
HEADER ID. #$02
CHECKSUM. #$03 SE
CTOR #. #$04 TRACK #.
#$05 ID. #$06
ID.. A SECTOR HEADER IS MADE
UP OF A SYNC MARK, AND AN ID BYTE FOLLOW
ED BY 256 BYTES OF DATA. AFTER THE 256 D
ATA BYTES IS THE CHECKSUM FOR THAT SECTO
R... CHECK SUMS ARE CALCULATED BY EX
CLUSIVE ORING ALL BYTES TOGETHER...
MANIPULATING THIS HEADER DATA IS THE BAS
IS FOR PROTECTION SCHEMES. IF I CHANGE T
HE HEADER INFO ON TRACK #$08 TO READ TRA
CK #$23, THEN THE DISK WILL NOT BE ABLE
TO FIND TRACK #$08. THE ROM ROUTINE TO S
TEP THE HEAD WILL STEP TO TRACK #$08, BU
T THE ROM ROUTINE THAT READS THE HEADER
INFO WILL FIND TRACK #$23, AND AN ERROR
WILL TERMINATE THE READ ROUTINE. THIS IS
EVEN TRUE OF DIRECT ACCESS, SO A BETTER
WAY HAS TO BE FOUND. YOU CAN SEE HOW IT
IS ACCOMPLISHED IN THE ROUTINE READ TRA
CK...CGROUP CODE RECORDING.. REFERED
TO AS GCR, IS COMMODORS WAY OF INSURING
ERROR FREE READS AND WRITES. WHAT IT DO
ES IS CHANGE AN EIGHT BIT BYTE TO AN TEN
BIT BYTE ON A WRITE. ON A READ THE TEN
BIT BYTES ARE CONVERTED BACK TO EIGHT BI
T BYTES... WHEN EIGHT BIT BYTES ARE
CONVERTED TO TEN BIT BYTES, NONE OF THEM
WILL BE AN #$FF. THIS BYTE IS RESERVED
TO INDICATE A SYNC MARK. A SYNC MARK PRE
CEEDS AN HEADER. THIS IS HOW THE DRIVE K
NOWS THAT DATA HOLDING THE TRACK AND SEC
TOR IT IS ON IS TO FOLLOW... I USE G
CR DECODING TO READ DATA FROM TRACKS AND
SECTORS THAT HAVE BEEN PROTECTED. (CHAN
GED FROM WHAT THEY SHOULD BE.).. IF
YOU FOLLOW THE DOCUMENTATION WITHIN THE
SOURCE CODE, YOU SHOULD HAVE LITTLE PROB
LEMS UNDERSTANDING THE ROUTINES... A
LL OF THE ROUTINES USE DIRECT ACCESS COM
MANDS TO FUNCTION. THEY ARE MEMORY READ,
(M-W), MEMORY WRITE, (M-E), AND MEMORY
EXECUTE, (M-E). THE STANDARD OPEN AND CL
OSE ROUTINES YOU ARE USED TO WILL NOT WO
RK WITH PROTECTION VERY WELL... ONE
NOTE HERE ON THE SECONDARY ADDRESSES USE
D BY THESE COMMANDS. IT IS WRITTEN THAT
THEY SHOULD START WITH AN #$06, IE, #$6F
FOR THE COMMAND CHANNEL. THIS IS NOT TR
UE, AS THE ROM ROUTINE THAT READS THIS S
ECONDARY ADDRESS STRIPS OF THE HIGH FOUR
BIT NIBBLE OF THE NUMBER. AN #$FF, OR #
$2F WILL WORK JUST AS WELL... ALL TH
E ROUTINES ARE SELF EXPLANATORY EXCEPT F
OR READ TRACK. THIS ROUTINE READS THRU E
RRORS AND STORES THE DATA IN THE 64'S ME
MORY IN GCR FORM... IT READS HALF TR
ACKS, AND TRACKS UP TO FORTY FOUR, READS
IN ANY OF THE FOUR DENSITIES AVAILABLE,
AND STORES THE HEADER DATA FOR THE TRAC
K ALSO... TO USE, FROM A M/L MONITOR
G 7000. ENTER THE INFORMATION AND THE R
OUTINE WILL EXECUTE... THE FIRST THI
NG YOU WILL SEE ARE THE ERROR CODES FOR
EACH SECTOR ON THE TRACK. WHEN THE ROUTI
NE ENDS THE DATA IS READY TO BE CONVERTE
D FROM GCR TO BINARY, (HEX)... TO DO
THIS YOU MUST TRANSFER THE DATA TO THE
GCR BUFFER AT $7B00. TRANSER TWO BLOCKS
OF DATA AT A TIME, IE. T 1000 11FF 7B00.
.. TYPE G 7200 [RETURN].. THEN D
ISPLAY MEMORY FROM $7900 TO SEE THE CONV
ERTED DATA. WHICH WILL INCLUDE THE HEADE
R INFORMATION. I SUGGEST YOU WORK WITH N
ORMALLY FORMATTED DISKS UNTIL YOU GET TH
E HANG OF IT... THE HEADER INFORMATI
ON FOR THE TRACK READ WILL BE IN SEQUENC
E STARTING AT $7F00... I HAVE ALSO A
DDED A FEW UTILITY ROUTINES THAT MIGHT B
E OF INTEREST, SUCH AS ASCII TO HEX CONV
ERSION, BINARY, AND THE LIKE... THE
(.M) IN THE SOURCE CODE IS FROM MY OWN V
ERSION OF LADS, WHICH WILL ASSEMBLE IN B
INARY, AND ASSEMBLE ALL 256 OP-CODES AVA
ILABLE ON THE 65XX CHIP. CHANGE THE (.M)
TO A (.O) FOR ASSEMBLE TO MEMORY...
IF YOU ARE INTERESTED IN THE MODIFICATI
ONS TO LADS, SEND A CHECK FOR $15.00, AN
D A BLANK DISK TO:..CCHUCK LE MIEUX.C164
JACKSON AV..CALLENSTOWN, N.H. 03275..
I WILL SEND YOU A SEQUENTIAL FILE FOR
ALL MODIFICATIONS I HAVE MADE TO DATE,
INCLUDING THE FIX FOR THE RAM ASSEMBLER.
.Y, AND THE LIKE... THE (.M) IN THE
SOURCE CODE IS FROM MY........ $7100....
..S.L.2.;. HEADER ROUTINE DESIGNED . . G
CR . INTO 1541 RAM...<.;AFTER TRANSFER .
64 RAM GCR ROUTINE WILL C.VERT IT . HEX
...D.;64 ROM ROUTINES N.E...X.;1541 ROM
ROUTINES.K...SRCH . $F510.....SYNC . $F5
56... .GCR . $1C01.....OFF . $F969./...;
THIS ROUTINE IS EXECUTED IN THE 1541 AT
$0300.O.H.;THE ROUTINE CAN BE PUT .O THE
1541'S MEM.Y WITH A 64.41 M......;. . T
HIS ROUTINE PUT TRACK DESIRED AT $06 . S
EC.R AT $07.V...;PUT #$E0 (EXECUTE) AT $
00 . PRESS ......JSR SRCH.....LDY #$00..
...LP1 CLV...... BVC ......DEY...".BNE L
P1.).,.JSR SYNC.6.6.LDY #$00.D.@..1 BVC
.1.L.J.CLV.X.T.LDA GCR.H.^.STA $0400,Y.P
.H.INY.{.R.BNE .1.....;SRCH ROUTINE LOOK
S . OUR TRACK . SEC.R WE PUT AT $06 . $0
7 IN.....;ZERO PAGE OF THE 1541 THE V FL
AG IS SET EVERY TIME A . BYTE IS ..1...;
HENCE BVC . NO BYTE HAS BEEN . .O $1C01.
W...;THE FIRST #256 BYTES WILL BE IGN.ED
THIS IS KOD . THOSE .E SEC.R.....;. ERR
.S WE PUT THE SEC.R NUMBER .E LESS THAN
THE BAD SEC.R IN $07.....;THIS WAY WE'LL
SYNC UP . IT . . IT ANYWAY..9.B.;WE JSR
SYNC . LOCATE THE BEGINNING OF THE HEAD
ER BLOCK . S.RE THE GCR.B.L.;IN THE RAM
BUFFER STARTING AT $0400.O...LDY #$00.}.
...2 BVC .2.....CLV.....LDA GCR.....STA
$0500,Y.....INY.....BNE .2...&.;THIS IS
THE SAME ROUTINE AS ABOVE BUT THE . IS S
TORED AT $0500.8.0.;$1C01 IS . PORT A FO
R GCR I/O DATA (AN INTERNAL DATA PORT).E
.D.LDA #$01.Q.N.JMP OFF...B.;WE PUT A #$
01 IN A . JSR OFF THIS #$01 IS THE ERR.
CODE (OK)...L.;TELLS THE DISK ALL IS OK
. SHUTS DOWN.N..... . HEADER...NC UP . I
T . . IT ANYWAY..9.B.;WE J........ $7100
......S.S.2.;. HEADERI.L ROUTINE DESIGN
ED . . GCR . ON ILLEGAL TRACK...<.;AFTER
TRANSFER . 64 RAM GCR ROUTINE WILL C.VE
RT IT . HEX.R.F.;. USE THIS ROUTINE SEE
INFO AT BEGINING OF . HEADER ROUTINE...N
.;64 ROM ROUTINES N.E.....;1541 ROM ROUT
INES.....SYNC . $F556.#. .GCR . $1C01.3.
..OFF . $F969.@...JSR SYNC.M.H.LDY #$00.
[.R..1 BVC .1.C...CLV.O...LDA GCR....ST
A $0400,Y.....INY.....BNE .1.....LDY #$0
0...".;THIS IS THE SAME ROUTINE AS . HEA
DER BUT AS ITS AN ILLEGALLY .MATTED.+.,.
;TRACK WE DO . USE SRCH AS IT WOULD . TH
E ERR. HEADER . FOUND.M.6.;INSTEAD WE .
. THE SYNC . . WHATEVER . WE GET TO THE
BUFFERS...@.;A ROUTINE COULD BE DESIGNED
. . ALL SEC.RS AT .E TIME . THE...J.;HE
ADER.S COULD BE WRITTEN BACK . A COPY DI
SK U.G .MAT TRACK...^..2 BVC .2...H.CLV.
..R.LDA GCR.!.|.STA $0500,Y.)...INY.4...
BNE .2.A...LDA #$01.M...JMP OFF.....;WE
PUT A #$01 IN A . JSR OFF THIS #$01 IS P
UT IN THE ERR. CODE (OK)...B.;TELLS THE
DISK ALLS OK . SHUTS DOWN.R.V... . HEADE
RI.L...LLEGALLY .MATTED.+.,.;TRACK WE DO
......... $7100......S.\...;. HEADERN.S
YNC .S TRACK . HEADER IN.MATI. FROM TRAC
K WITH NO SYNC...#.;. USE THIS ROUTINE S
EE INFO AT BEGINING OF . HEADER ROUTINE.
B.2.;64 ROM ROUTINES & ADDRESSES N.E...F
.;1541 ROM ROUTINES . ADDRESSES...P.. .
$F969...Z.GCR . $1C01...N.LDY #$00. .X.L
P1 BVC LP1.(...CLV.4...LDA GCR.D...STA $
0400,Y.L. .INY.X...BNE LP1.E...LDY #$00.
U...LP2 BVC LP2.}.H.CLV...R.LDA GCR.....
STA $0500,Y.....INY.....BNE LP2.....LDA
#$01.D...JMP ......;THIS ROUTINE IS ALMO
ST THE SAME AS . HEADER . . HEADERI.L BU
T.?.".;HERE WE BY PASS ALL .IC AS NO SYN
C WOULD . US DEAD...,.;WITH THIS ROUTINE
ALL WE CAN SPEC.Y IS A TRACK K . IT . .
THE FIRST.R.6.;256 BYTES THE . HEAD PAS
SES OVER BUT ITS ENOUGH . TELL US . THER
E IS...@.;ANY USEFULL . ON THE TRACK IF
THERE IS A ROUTINE CAN BE PUT TOGETHER.B
.J.;. . IN SOME ., CHECK THE FIRST 5 OR
SO BYTES, CHECK IT WITH WHAT...T.;WE AL.
Y HAVE, . ITS D.FERENT . IT . . . SOME M
.E...^.;.EMBER THIS IS GCR DATA SO IT HA
S TO BE TRANSLATED FIRST I SUGGEST THAT.
'.H.;YOU W.K WITH N.MALLY .MATTED DISKS
FIRST . . THE HANG OF GCR.H.R.;AS YOU W.
T FIND THE N.MAL SYNC MARKS USUALLY FOUN
D WITH GCR...|.;WPGCR . THIS DISK DESCRI
BES WHAT GCR IS . WHAT . LOOK ......;YOU
CAN ALSO USE DISK RAM ADDRESSES FROM $0
600 . $07FF . . IN M.E.5...;. AT A TIME
JUST MAKE SURE TO INITIALIZE THE DISK WH
EN YOUR DONE AS.C...;$0700 . $07FF IS US
ED . THE BAM DIREC.RY.....;FINALLY WHEN
NO SYNC IS USED . PROTECTI. A.HER ROUTIN
E . THE DISK IS.....;USED . . IT HENCE N
O SYNC IS . THE OGER PEOPLE THINK IT IS
I PUT.6...;THIS ROUTINE HERE . SHOW IT I
S .SIBLE . . IT BUT THE KEY . IT.{.B.;IS
ELSEWHERE . THE DISK A LITTLE HUNTING A
ROUND IS ALL IT TAKES...L... . HDRN.SYNC
... . WHAT . LOOK ......;YOU CAN ALSO US
E DISK RAM ADDRESSES FROM $0600 . $07FF
. . IN M.E.5...;. AT........ $7200......
S.G.<.;.ER TRANSFER M.L PROGRAM . $0300
IN 1541 RAM.H.N.;64 ROM ROUTINES & ADDRE
SSES.X...LIS . $FFB1.....LISEC . $FF93..
...UNLIS . $FFAE... .OUT . $FFA8.....PRO
G . $7100.....;1541 ROM ROUTINES & ADDRE
SSES...H.;N.E.....START LDA #$08.....JSR
LIS.....LDA #$FF.#...JSR LISEC.0...LDX
#$00.A...LP1 LDA MW,X.M...JSR OUT.U.".IN
X.B.,.CPX #$06.N.6.BNE LP1...J.;LDA #$08
DEVICE NUMBER . DISK JSR . .EN ROUTINE
$ED0C...T.;THE .EN ROUTINE ALLERTS THE D
ISK THAT A COMM. IS BEING SENT . IT./.^.
;THE 6502.10 REQUIRES A SEC.DARY ADDRESS
WITH THE .EN COMM..T.H.;THIS IS THE SAM
E AS . 15,8,15. THE #$FF WILL BE C.VERTE
D . #$0F...R.;BY THE SEC.DARY ROUTINE $E
DB9 . SENT OVER THE SERIAL BUS...|.;WE S
ET UP A LOOP WITH X . S. THE COMM. M.W 0
0 03 20 (MEM.Y WRITE.C...;@ $0300 #$20 (
#32 BYTES) ) WE ARE LIMITED . S.ING #32
BYTES AT A TIME.....;BECAUSE OF THIS OUR
PROGRAM WILL S. #256 BYTES AS IT'S EASI
ER . SET UP.....;THE LOOP . #256 AS #32
IS A DIVIS. OF #256.L...LDY #$00.....LP2
LDA PROG...B.JSR OUT...L.INC LP2.1...V.
INC MW.3.....INY.....CPY #$20.%...BNE LP
2.2...LDA MW.3.<...BEQ .J...JSR UNLIS.X
...JMP START.H.&. JSR UNLIS.P.0.BRK...D
.;BUFFER WITH MEM.Y WRITE COMM....X.MW .
BYTE 77 45 87 00 03 32...L.;LINE 430 STA
RTS OUR ACTUAL S.ING OF THE PROGRAM . TH
E DISK.5.V.;WE . A WITH THE FIRST BYTE A
T $7100 . S. IT . INC.ENT THE LOW.....;B
YTE $7100 . $7101 . INC.ENT THE LOW BYTE
OF M-W COMMAND $0300 = $0301.....;THIS
.INUES UNTIL ALL #32 BYTES HAVE BEEN SEN
T . THE DISK.....;OUR LOW BYTE OF THE M.
W COMM. IS NOW #$20 (#32) WE COMPARE . #
$00.S...;. IT IS WE HAVE WRAPPED AROUND
(#$FF . #$00) #256 BYTES HAVE BEEN SENT.
....;WE JSR . UN.EN $EDFE THE COMM. CH
ANNEL MUST BE D ..D...;. . RE.ED . JUMP
BACK . START . S. #32 M.E BYTES.....;BY
CHANGING THIS ROUTINE AROUND YOU CAN .
. FROM THE DISK USING.L.F.;THE ABOVE ROU
TINE . M.R INSTEAD OF M.W SEE TRACE . AN
EXAMPLE.W.Z... .ER...W BYTE OF M-W COMM
AND $0300 = $0301.....;THIS .INUES UNTIL
ALL #32 BYTES HAVE BEEN SENT . THE DISK
.....;OUR LOW BYTE OF THE M.W COMM. IS N
OW #$20 (#32........ $7100......S.#.Z..
. $FFD2.8._.;. THE REGISTERS.U.D.STA .G:
STA A:STX X:STY Y.E.N.PHP;. FLAGS.R...LD
Y #$07...H.LP1 LDA .G...R.. MASK,Y...S.;
EXAMPLE .G . 10101010.E.T.;MASK .
11111110...U.;RESULT . 10101010...
V.;WHEN COMPARED . RESULT IS EQUAL . PUT
A ZERO AT BIT ZERO.^.W.;. WHEN COMPARED
THE REULT IS . EQUAL PUT A .E AT BIT ZE
RO.I...CMP .G.V...BEQ ZERO.....;PUT A .E
AT BIT,Y.....LDA #$31.....STA BITS,Y...
..DEY.....CPY #$FF.J...BNE LP1.V.".JMP O
UT...#.;PUT A ZERO AT BIT,Y.....ZERO LDA
#$30.....STA BITS,Y.....DEY.%.B.CPY #$F
F.1.L.BNE LP1.F.M.;. BITS . SCREEN.W.V.O
UT LDA #$0D.A...JSR ..N...LDY #$00....L
P2 LDA #$20.....JSR ......LDA BITS,Y...&
.JSR ....0.INY...:.CPY #$08.C.D.BNE LP2.
P.E.LDA #$0D.Z.F.JSR ....G.;. THE REGIST
ERS . FLAGS...N.LDA A:LDX X:LDY Y...S.PL
P...X.RTS.L.B.MASK .BYTE 127 191 223 239
247 251 253 254.K.L.BITS .BYTE 0 0 0 0
0 0 0 0.Z.V..G .BYTE 0.....A .BYTE 0....
.X .BYTE 0.....Y .BYTE 0....... BINARY..
. #$FF.J...BNE LP1.V.".JMP OUT...#.;PUT
A ZERO AT BIT,Y.....ZERO LDA........ $71
00......S.#.... . $FFC0.5.(.SETNM . $FFB
D.H.2.SETLFS . $FFBA.V.<. . $FFC3.F.F.T
LK . $FFB4.Y.P.TLKSEC . $FF96...Z.UNTLK
. $FFAB...D.IN . $FFA5...N.LDA #$07...X.
LDX .#BUMP.E...LDY .#BUMP.S...JSR SETNM.
....LDA #$0F... .LDX #$08.....LDY #$0F..
...JSR SETLFS.....JSR ..!.H.JSR DELAY...
R.JSR CLSE.;...JSR HALF.H...LDA #$07.V..
.LDX .#TRK.D...LDY .#TRK.R...JSR SETNM.
...LDA #$0F.....LDX #$08...".LDY #$0F...
,.JSR SETLFS...6.JSR ....@.JSR DELAY.M.J
.JSR CLSE.Z.T.LDA #$07...^.LDX .#SEEK...
H.LDY .#SEEK...R.JSR SETNM...|.LDA #$0F.
...LDX #$08.-...LDY #$0F.7...JSR ..E...
JSR DELAY.R...JSR CLSE._...LDA #$05.G.B.
BRK.}.L.HALF LDX .#DSKCNT...V.LDY .#DSKC
NT.....JSR SETNM.....LDA #$0F.....LDX #$
08.C...LDY #$0F.R...JSR SETLFS.....JSR .
.....JSR DELAY...&.LDA #$08...0.JSR TLK.
..:.LDA #$FF...D.JSR TLKSEC.*.N.JSR IN.7
.X.STA HEAD.E.B.JSR UNTLK.R.L.JSR CLSE._
.V.LDA HEAD.J.... #$FC.Y...STA HEAD.1...
..CLC.....ADC #$03.....STA BMP.6.....LDA
#$07.....LDX .#BMP.E.F.LDY .#BMP.S.P.JS
R SETNM...Z.LDA #$0F.....LDX #$08.....LD
Y #$0F.....JSR SETLFS.....JSR .. ...JSR
CLSE.(...RTS.;. .DELAY LDX #$00.H.*.STX
TIME.W.4.STX TIME.1.H.>.LP5 INC TIME.U.H
.LDY TIME...R.CPY #$FF...\.BNE LP5...F.I
NC TIME.1...P.LDY TIME.1...Z.CPY #$FF.E.
..BNE LP5.M...INX.Z...CPX #$03.....BNE L
P5.....RTS.....CLSE LDA #$0F.....JSR ..
.J.RTS.Z...;ALL OF THESE ROUTINES ARE DO
CUMENTED IN OTHER PROGRAMS . THIS DISK..
...;THE .LY . ITEM HERE IS HOW WE MOVE T
HE HEAD HALF A TRACK WITH THE.....;ROUTI
NE HALF IN A NUT SHELL WE . $1C00 IN THE
1541 BY MANIPULATING.1...;BITS 0 . 1 WE
MOVE THE HEAD IN THIS CASE WE SET BOTH
BITS . 1 THIS.{...;MOVES THE HEAD BACK .
E HALF TRACK NOW THE HEAD IS A HALF TRAC
K BELOW.E...;TRACK .E WHEN WE . SEEK THE
1541 ROM STARTS COUNTING DOWN HOW FAR I
T.....;MOVED FROM WHERE IT THOUGHT IT WA
S (TRACK .E) WHEN IT .S ITS A HALF.7.$.;
TRACK SH.T OF WHERE ITS SUP.ED . BE...).
;THE FOLLOWING 0 BYTE HAS .HING . DO WIT
H THE PROGRAM INSTEAD IT FIXES.D.*.;A BU
G IN THE ASSEMBLER AFTER A L.G . ROUTINE
LIKE THIS .E IT...+.;SOMETIMES MAKES A
MATH MISTAKE . THE FIRST MATH BYTE (77 I
N BUMP).I.,.;. INSURE THIS DOES'NT HAPPE
N A .BYTE 0 . SET THE BUFFERS.U.-..BYTE
0.Z...BUMP .BYTE 77 45 87 00 00 01 192..
.8.SEEK .BYTE 77 45 87 00 00 01 176.J.=.
;THIS IS #$E0 AT $00 ZERO PAGE OF 1541..
.B.TRK .BYTE 77 45 87 06 00 01 17.0.G.;T
HIS IS OUR TRACK AT $07 ZERO PAGE OF 154
1 . NOW YOU HAVE . ..S.H.;THE TRACK IN B
UT YOU COULD MERGE A PART . SCREEN HERE
. DO IT...L.DSKCNT .BYTE 77 45 82 00 28.
..V.BMP .BYTE 77 45 87 00 28 01 00.I.`.T
IME .BYTE 0 0...J.HEAD .BYTE 0 0...T...
HALF TRACK...MATH BYTE (77 IN BUMP).I.,.
;. INSURE THIS DOES'NT HAPPEN A .BYTE 0
. SET THE BUFFERS.U.-..BYTE 0.Z...BUMP .
BYTE 77 45 87 00 00 01 192...8.SEEK .BYT
E 77 45 87 00 00 01 176.J.=.;THIS IS #$E
0 AT $00 ZERO PAGE OF 1541...B.TRK .BYTE
77 45 87 06 00 01 17......... $7100....
..S.P...;ROUTINE CHANGES FII . HEX . USE
WITHIN OTHER ROUTINES.Q.2.;64 ROM ROUTI
NES & ADDRESSES..<.. . $FFD2...F..IN .
$FFE4...Z.;1541 ROM ROUTINES N.E...N.LDA
#$93.A.X.JSR ..N...LDY #$00.....LP1 LDA
MES,Y.....CMP #$00... .BEQ START.....JS
R ......INY.....JMP LP1.L.R.;THIS ROUTIN
E IS .LAINED IN SCREEN . THIS DISK._...S
TART LDA #$00.J...STA CT.Y...LDA .#BUFF.
....STA NUM.1.Q...;HERE WE SET OUR BUFFE
RS . FLAGS AS WE WILL BE CHANGING ADDRES
SES U.G...".;INC . WE D.T RESET THEM ALL
CALCULATI.S WOULD BE USELESS...6.. JSR
.IN.*.@.CMP #$00.4.J.BEQ ..E.T.NUM STA B
UFF.O.^.JSR ..].H.INC NUM.1.H.R.INC CT.S
.|.LDX CT.....CPX #$02.....BNE ..K...;HE
RE WE . OUR TWO FII NUMBERS FROM THE KEY
BOARD . S.RE THEM.X...LDA BUFF...B.JSR C
.V...L.ASL:ASL:ASL:ASL...V.STA BUFF.2.K.
..;JSR C.V (C.VERT) IS .LAINED BELOW AFT
ER .ING WE HAVE OUR FIRST.....;REAL NUMB
ER THIS NUMBER HAS . BE MULTIPLIED BY #1
6 . S.RED.....LDA BUFF.1.....JSR C.V....
.STA BUFF.3...0.;THIS IS OUR SEC.D NUMBE
R FROM THE KEYBOARD IT'S S.RED ALSO...D.
CLC...N.LDA BUFF.2...X.ADC BUFF.3.*.B.ST
A BUFF.4.2.L.BRK.R...;WE CLEAR THE C FLA
G . ADDITTI. . ADD THE TWO NUMBERS ..HER
.....;ITS THE S.RED . FUTURE USE AS WITH
ALL ROUTINES . THIS DISK THE.....;BUFFE
R IS EXT.ED OUT IE THE FIRST TWO HOLD OU
R .IGINAL FII.<...;THE . TWO HOLD OUR RE
AL NUMBERS . THE LAST IS THE ADDITTI. TH
IS.....;COULD BE SCALED DOWN BUT IT'S EA
SIER . UNDERS.D THIS WAY AS WE CAN SEE.L
...;EXACTLY WHAT IS HAPPENING BY .ING TH
E BUFFER FROM LEFT . RIGHT...F.C.V CMP #
$3A...P.BCC NINE...Z.SEC.....SBC #$37...
..RTS.....NINE SEC.!...SBC #$30.)...CLC.
1...RTS.X.*.;HERE WE COMPARE OUR NUMBERS
. SEE . THERE GREATER THAN #9 . SO WE..
.4.;IGN.E THE BRANCH . SUBTRACT #55 FROM
IT (A . #65 FII MINUS #55...>.;EQUALS #
10 A REAL #10) THIS NUMBER CAN BE W.KED
WITH.;.H.;. THE NUMBER IS NINE . LESS WE
JUST SUBTRACT #$30 FROM IT . RTS.P.\.;B
UFFERS . FLAGS.Y.P.MES .BYTE "ENTER HEX
NUMBER :.BYTE 0...Z.CT .BYTE 0.....BUFF
.BYTE 0 0 0 0....... FII . HEX...FER FRO
M LEFT . RIGHT...F.C.V CMP #$3A...P.BCC
NINE...Z.SEC.......... $7100......S.(...
;..............@.(.;HEX . FII C.VERSI..A
.<.;64 ROM ROUTINES & ADDRESSES.O.P.. .
$FFD2.|.D.LDA #$A5...N.STA NUM...X.. #$F
0.....STA NUM.1.....SEC.....LDA NUM.C. .
SBC NUM.1.Q...STA NUM.2.....;THIS IS THE
REVERSE OF FII . HEX WE FIRST TURN OFF
THE LOW FOUR BITS.[.H.;. SUBTRACT THIS N
UMBER FROM THE .IGINAL #$A5 . #$A0 . #$0
5.I...LDA NUM.1.V...CMP #$00.....BEQ .E.
....LSR:LSR:LSR:LSR.....CMP #$0A.....BCC
.E.....CLC.B.".ADC #$37.P.,.STA NUM.3..
.6.JMP TWO...@..E CLC...T.STA NUM.3.9.H.
;OUR FIRST NUMBER IS COMPARED . #$00 . I
T IS WE ADD #$30 . . WE...R.;DIVIDE BY 1
6 . BY ADDING #$37 WE . UP WITH THE FIRS
T HALF OF #$XX.....TWO LDA NUM.2.....CMP
#$0A.....BCC .ES.....CLC.....ADC #$37.N
...STA NUM.4.Z.B.JMP OUT...L..ES CLC...V
.ADC #$30.....STA NUM.4.H...;THE SEC.D H
ALF OF #$XX COMPARED . A NUMBER LESS THA
N #$09 . IT IS.I...;WE ADD #$30 . . WE A
DD #$37.Z...OUT LDA #$93.....JSR ....&.L
DA #$23...0.JSR ....:.LDA #$24...D.JSR .
...N.LDA NUM.3.J.X.JSR ..X.B.LDA NUM.4..
.L.JSR ....V.BRK.....;BUFFERS.....NUM .B
YTE 0 0 0 0 0. ..... HEX . FII...WE ADD
#$30 . . WE...R.;DIVIDE BY 16 . BY ADDIN
G #$37 WE . UP WITH THE FIRST HALF OF #$
XX.....TWO LDA NUM.2.....CMP #$0A.....BC
C .ES.....CLC.....ADC #$37.N...STA NUM.4
.Z.B.JMP OUT...L..ES CLC...V.ADC #$30...
..ST........ $7100......S.L...;BIT DENSI
TY ROUTINE CHANGES . WRITE SPEED OF 1541
.A.2.;64 ROM ROUTINES.Q.<..IN . $FFE4..
F.. . $FFD2...Z.;1541 ROM ROUTINES...D.D
SKCNT . $1C00...N.GCR . $1C01.J...SYNC .
$F556.Z...OFF . $F969... .LDA #$93.....
JSR ......LDY #$00.....LP1 LDA MES,Y...H
.CMP #$00.+.R.BEQ START.5...JSR ..=...IN
Y.I...JMP LP1.[...START JSR .IN.H...CMP
#$00.V...BEQ START.....JSR ....".CMP #$3
1...,.BEQ Z.E1...6.CMP #$32...@.BEQ Z.E2
.A.J.CMP #$33.N.T.BEQ Z.E3...^.CMP #$34.
..H.BEQ Z.E4.0.|.;THERE ARE FOUR D.FEREN
T BIT DENSITY Z.ES IN THE 1541 Z.E 1 IS
FROM.V...;TRACK 1 . 17 Z.E 2 FROM TRACK
18 . 24 Z.E 3 FROM TRACK 25 . 30 ......;
Z.E 4 FROM TRACK 31 . 35 .ICE HERE WE DI
D . C.VERT OUR FII . HEX.N...Z.E1 LDA #$
60.....STA Z.E.1.....JMP ....B.Z.E2 LDA
#$40...L.STA Z.E.1...V.JMP .."...Z.E3 LD
A #$20.0...STA Z.E.1.:...JMP ..L...Z.E4
LDA #$00.Z...STA Z.E.1.D.... BRK...&.;AB
OVE WE DESIGNATE A NUMBER WE WILL.A DSKC
NT $1C00 WITH AS WILL BE SEEN...0.;SEEN
BELOW WHAT WE ARE DOING HERE IS CHANGING
BITS 5 . 6 OF $1C00 THESE.E.:.;TWO BITS
.ROL THE SPEED OF THE 1541 THE BITS ARE
AS FOLLOWS Z.E 1...D.;BITS 1 1 Z.E 2 BI
TS 1 0 Z.E 3 BITS 0 1 Z.E 4 BITS 0 0...X
.HDR LDA DSKCNT...B.. #$9F...L.Z.E .A #$
00...V.STA DSKCNT.J...JSR SYNC.W.F.LDY #
$00...P..1 BVC .1...Z.CLV.....LDA GCR...
..STA $0400,Y.....INY.....BNE .1.)...LDY
#$00.7....2 BVC .2.?. .CLV.K.*.LDA GCR.
[.4.STA $0500,Y.C.>.INY.N.H.BNE .2.{.R.L
DA #$01...\.JMP OFF.S.P.;THIS SHOULD LOO
K FAMILIAR ITS OUR . HEADERI.L ROUTINE W
ITH AN ADDITTI....Z.;WE FIRST . A WITH $
1C00 . IT WITH #$9F THIS TURNS OFF BITS
5 . 6.U...;WE . . $1C00 . SET BITS 5 . 6
. THE Z.E SPEED WE CHOSE.....;. WE FALL
THROUGH . . THE HEADER WHICH WOULD BE P
UT IN AT ZERO.....;PAGE . BUFFER $0300 A
S DISCRIBED IN WP1541 ZERO PAGE $00 HOLD
S A #$E0.0...;$06 HOLDS THE TRACK . $07
HOLDS THE SEC.R OF COURSE THE ROUTINE CA
N BE.N...;ADDED . . HEADER . . HDRN.SYNC
DEP.ING . THE PROTECTI. ......;THE DISK
OF .EREST THIS ROUTINE WOULD BE TRANSFE
RED . THE DISK FROM.....;LINE 600 $714D
THROUGH LINE 860 $717A . 1541 BUFFER STA
RTING AT $0300...T.;BUFFERS . FLAGS.N...
MES .BYTE "ENTER DENSITY ZONE 1 2 3 OR 4
":.BYTE 0.A..... BIT DENSITY...T DENSIT
Y...NSITY...T DENSITY...T DENSITY...IT D
ENSITY...IT DENSITY..... BIT DENSITY...
IN WP1541 ZERO PAGE $00 HOLDS A #$E0.0..
.;$06 HOLD........ $7100.L...;. HEADER I
LL ROUTINE DESIGNED . . GCR . ON ILLEGAL
TRACK.....;AFTER TRANSFER . 64 RAM GCR
ROUTINE WILL C.VERT IT . HEX.K.(.;. USE
THIS ROUTINE SEE INFO AT BEGINING OF . H
EADER ROUTINE...2.;64 ROM ROUTINES N.E..
.<.;1541 ROM ROUTINES...F.SYNC . $F556..
.P.GCR . $1C01.,.Z.OFF . $F969.9.D.JSR S
YNC.F.N.LDY #$00.T.X..1 BVC .1.\...CLV.H
...LDA GCR.X...STA $0400,Y... .INY.....B
NE .1.....LDY #$00.....;THIS IS THE SAME
ROUTINE AS . HEADER BUT AS ITS AN ILLEG
ALLY .MATTED.$.H.;TRACK WE DO . USE SRCH
AS IT WOULD . THE ERR. HEADER . FOUND.F
.R.;INSTEAD WE . . THE SYNC . . WHATEVER
. WE GET TO THE BUFFERS.....;A ROUTINE
COULD BE DESIGNED . . ALL SEC.RS AT .E T
IME . THE.....;HEADER.S COULD BE WRITTEN
BACK . A COPY DISK U.G .MAT TRACK......
2 BVC .2.....CLV.....LDA GCR.....STA $05
00,Y."...INY.-.".BNE .2.:.,.LDA #$01.F.6
.JMP OFF...@.;WE PUT A #$01 IN A . JSR O
FF THIS #$01 IS PUT IN THE ERR. CODE (OK
)...J.;TELLS THE DISK ALLS OK . SHUTS DO
WN...DER BUT AS ITS AN ILLEGALLY .MATTED
.$.H.;TRACK WE DO . USE SR........ $7100
......S.%...LIS . $FFB1.7...LISEC . $FF9
3.I.(.UNLIS . $FFAE.Y.2.OUT . $FFA8.I.<.
TLK . $FFB4.|.F.TLKSEC . $FF96...P.UNTLK
. $FFAB...Z.IN . $FFA5...D.. . $FFE4...
N.. . $FFD2.G.X.. = $7400.X...SECS . $76
00......FILE TRC.... ---- BRANCH OUT OF
......LDA #$00.O...STA TEMP;TEMP IS USED
THROUGH OUT THIS ROUTINE . TEMP S.RAGE.
Z...STA CT...(.STA EFLAG;FLAG . INDICATE
. OF ROUTINE...2.LDA #.TRK; EQUALS #$CC
ADDED . #$73 . $73CC.C.<.STA CH1.1...F.
LDA #.MES1;SET UP TRACK MESSAGE...P.STA
CH.1...Z.LDA #.MES1...D.STA CH.2.>.N.LDA
#$01;SET BEGINNING . STORAGE TO $0801.L
.X.STA CH2.1.Y...LDA #$08.G...STA CH2.2.
....LDA #$EE;FILL $7000 . $70FF #$EE...
.LDY #$00.....EE STA SECS,Y.....INY.....
CPY #$00.K.H.BNE EE...R.START LDY #$00..
...CH LDA $0000,Y;. MESSAGE . SCREEN.7..
.CMP #$00;#$00 IS USED AS A DELIMITER .
0 . . ..D...BEQ TRC1.N...JSR ..V...INY.A
...JMP CH.....TRC1 JSR .;. SCREEN . . TR
ACK & SEC.R...".BEQ TRC1.H.,.JSR .;ECHO
CHOICE . SCREEN IT'S AL.Y IN FII...6.. #
$0F;C.VERT FII . HEX...@.STA BUF...J.ASL
:ASL...T.CLC...^.ADC BUF...H.ASL.$.R.STA
BUF.L.|.TRC2 JSR .;. SEC.D NUMBER IN CH
IOCE.Y...BEQ TRC2.T...JSR .;ECHO IT . SC
REEN...... #$0F;C.VERT . HEX.....CLC. ..
.ADC BUF.Q...CH1 STA TRK;HOLDS IN HEX TW
O NUMBERS PRESSED...B.INC TEMP...L.LDA T
EMP...V.CMP #$02;. . 2 K BACK . SEC.R CH
OICE.5...BEQ TRC3;. EQUAL . 2 . .INUE.Y.
..LDA #.MES2;SET UP SEC.R MESSAGE.F...ST
A CH.1.U...LDA #.MES2.....STA CH.2.....L
DA #.SEC.....STA CH1.1...&.LDA #.SEC...0
.STA CH1.2...:.JMP START;K BACK . . SEC.
R MESSAGE.!.D.TRC3 LDA TRK;PUT BEGINNING
TRACK & SEC.R IN BUFFER AT $7000...N.ST
A SECS.].X.INC CT;CT KEEPS TRACK OF X CO
UNTER . $7000.I.B.LDA SEC.X.L.STA SECS.1
...V.INC CT.....LDA #$00.....STA TEMP.A.
... JSR .;ROUTINES . S. . TO 1541.....LD
Y #$00;ADDRESSES $06 $07 . $00.....TRC4
LDA MW1,Y.....JSR OUT.....INY...F.CPY #$
08.'.P.BNE TRC4.5.Z.JSR UNLIS.?...JSR ..
L...LDY #$00._...TRC5 LDA MW2,Y.K...JSR
OUT.S...INY.....CPY #$07... .BNE TRC5...
*.JSR UNLIS.O.4.JSR DELAY;DELAY . INSURE
M.W . ACCEPTED BY 1541...>.LDY #$00...H
.JSR ....R.TRC6 LDA MR,Y;. DISK BUFFER $
0300...\.JSR OUT. .F.INY.-.P.CPY #$06.:.
Z.BNE TRC6.H...JSR UNLIS.U...JSR TALK.B.
..LDY #$00.R...TRC7 JSR IN.....STA .,Y;$
7400 IS A WORK BUFFER FROM HERE IT'S SEN
T TO MEMORY.....INY.H...CPY #$FF.U.J.BNE
TRC7...T.JSR UNTLK.....STY Y;THERS .E B
YTE LEFT . . FROM THE DISK.5...JSR FF;K
. THIS ROUTINE . . IT.B...LDY #$00.M...L
DX CT.....LDA .,Y;GET THE FIRST 2 BYTES
THIS IS OUR NEXT TRK & SEC.....STA SECS,
X.....STA TRK;SET UP . . ROUTINE . DISK.
G.$.INY.O...INX.Y.8.JSR ....B.LDA .,Y;ON
THE FIRST SECTOR WE GET THE LOAD ADDRES
S.<.L.STA SECS,X;BYTE 2 & 3 FROM THE . B
LOCK.H.V.STA SEC.P.`.INY.X.J.INX.C.T.STX
CT.P.~.LDA TEMP.}...BNE TRC8.....LDA .,
Y.....STA ADD.....INY.....LDA .,Y.....ST
A ADD.1...D.INY...N.TRC8 LDA .,Y;ALL OTH
ER BLOCKS COME HERE...X.CH2 STA $0801;.
THE #254 BYTES ARE PUT IN MEM.Y.....JSR
INCBUF.6...INY.C...CPY #$00.P...BNE TRC8
.^...LDA EFLAG.....BEQ M.E;. E FLAG IS 0
THERS M.E . COPY.F...JMP DISP;. THE FLA
G IS SET (1) THE . THE . TO THE SCREEN.W
.(.M.E LDA #$01...2.STA TEMP...<.JMP ...
.F.. LDA #$08;S.DARD .EN, TALK . DELAY R
OUTINES.+.P.JSR LIS.8.Z.LDA #$FF.F.D.JSR
LISEC.N.N.RTS.`.X.TALK LDA #$08.L...JSR
TLK.Y...LDA #$FF.....JSR TLKSEC... .RTS
.....DELAY LDA #$00.....STA TIME.....STA
TIME.1.O.H.TI INC TIME...R.LDA TIME....
.CMP #$FF.....BNE TI.....INY.....TI1 INC
TIME.1.....LDA TIME.1.+...CMP #$FF.7...
BNE TI1.D.".CPY #$FF.O.,.BNE TI.W.6.RTS.
L.@.INCBUF LDA CH2.1.T.J.CLC...T.ADC #$0
1...^.CMP #$00...H.BEQ INC1...R.STA CH2.
1...|.RTS.D...INC1 STA CH2.1.R...LDA CH2
.2.Z...CLC.....ADC #$01.....CMP #$70....
.BNE SAFE.....LDA #$01:STA EFLAG.+...SAF
E STA CH2.2.3...RTS.R.B.. CMP #$00;. FIR
ST BYTE FROM SEC.R WAS 0 . . 35 IT'S THE
....L.BEQ FLAG;SO SET THE FLAG . .. .V.
CMP #$23.....BCS FLAG.....RTS.....FLAG L
DA #$01;THIS SETS THE FLAG . A 1.....STA
EFLAG.....RTS.0...FF JSR .;THIS IS WHER
E WE PICK UP THE 256TH BYTE OF ..=...LDY
#$00.O.&.FF1 LDA MR1,Y.[.0.JSR OUT.C.:.
INY.P.D.CPY #$05.|.N.BNE FF1...X.JSR UNL
IS...B.JSR TALK...L.JSR IN...V.LDY Y....
.STA .,Y.F...JSR UNTLK.N...RTS.....DISP
LDY #$00;ROUTINE . . TRK & SEC . TO SCRE
EN.....LDX #$00."...DIS LDA MES3,Y./...C
MP #$00.<.F.BEQ DIS1.F.P.JSR ..N.Z.INY.Z
...JMP DIS.L...DIS1 LDY #$00....SET LDA
SECS,Y.....CMP #$EE;WHEN #$EE IS REACHE
D ALL . HAS BEEN DISPLAYED.....BEQ SETAD
;SO . THE . ADDRESS.....INY... .JMP SET.
..*.SETAD TYA.....SEC...B.SBC #$02...L.T
AY.(.V.LDA ADD.1.7...STA SECS,Y.?...INY.
K...LDA ADD.Z...STA SECS,Y.B...INY.P...L
DA CH2.2....STA SECS,Y.....INY.....LDA
CH2.1.....STA SECS,Y.....LDY #$00.....LD
X #$00.P...DIS2 LDA #$12.Z.&.JSR ....0.L
DA SECS,Y.&.:.CMP #$EE;THIS TIME THROUGH
#$EE INDICATES WE'RE FINISHED.2.D.BEQ D
.E.Z.N.STA TEMP;ROUTINE . CHANGE HEX . F
II.E.X.. #$0F.T.B.STA TEMP.1...L.LDA TEM
P...V.. #$F0. ...LSR:LSR:LSR:LSR.....STA
TEMP.....LDA TEMP.G...CMP #$0A.R...BCC
LO.Z...CLC...F.ADC #$37...P.JSR ....Z.JM
P ......LO LDA TEMP.....CLC. ...ADC #$30
.*...JSR ..;.... LDA TEMP.1.H...CMP #$0A
.T. .BCC LO1.\.*.CLC.I.4.ADC #$37.S.>.JS
R ....H.LDA #$20...R.JSR ....\.JMP DIS3.
..F.LO1 CLC...P.ADC #$30...Z.JSR ..G...L
DA #$20.Q...JSR ......DIS3 INY.....INX..
...CPX #$0C.....BEQ DIS4.....JMP DIS2...
J.DIS4 LDA #$0D.).T.JSR ..6...LDX #$00.C
...JMP DIS2.{...D.E BRK;FINISHED BRK BRI
NGS US BACK . THE M.L M.I.R.....MES1 .BY
TE 147......BYTE 13 13 18:.BYTE " ENTER
TRACK ".J....BYTE 146 32 0.....MES2 .BYT
E 13 13 18:.BYTE " ENTER SECTOR "...$..B
YTE 146 32 0.D...MES3 .BYTE 13 13 18:.BY
TE " TRACKS & SECTORS USED ".W.8..BYTE 1
3 13 00.J.B.TIME .BYTE 0 0.}.L.TEMP .BYT
E 0 0...V.BUF .BYTE 0...`.MW1 .BYTE 77 4
5 87 06 00 02...J.TRK .BYTE 0.M.T.SEC .B
YTE 0...~.MW2 .BYTE 77 45 87 00 00 01 12
8.....MR .BYTE 77 45 82 00 03 255./...MR
1 .BYTE 77 45 82 255 03.>...CT .BYTE 0.L
...A .BYTE 0.Z...X .BYTE 0.H...Y .BYTE 0
.Z.D.ADD .BYTE 0 0...N.EFLAG .BYTE 0...X
... TRACE EQ...BYTE " ENTER TRACK ".J...
.BYTE 146 32 0.....MES2 .BYT......;SRCH
DSK 8.%...SCREEN LDY #$00.6...LP8 LDA SC
,Y.C...CMP #$00.P.(.BEQ .SCR.Z.2.JSR ..B
.<.INY.N.F.JMP LP8.{.P..SCR RTS...D.SC .
BYTE 147 32 32 32 32 32 32 32.J.X..BYTE
".. PBW SOFTWARE SEARCH DISK "......BYTE
13 13 13......BYTE 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32.-."..BYTE
".. BY ".=.,..BYTE 13 13.K.T..BYTE 32 3
2 32 32 32 32 32 32 32 32 32 32...^..BYT
E ".. C.F. LE MIEUX "...H..BYTE 13 13.A.
...BYTE 32 32 32 32 32 32 32 32 32 32...
...BYTE ".. (C) FREEWARE 1986 ."......BY
TE 13 13......BYTE 32 32 32 32 32 32 32
32 32.=....BYTE ".. ENTER SEARCH STRING
".B....BYTE 13 13 32 32 32 32 32 32 32.X
....BYTE 32 32 32 32...B..BYTE ".. EXAMP
LE 20D2FF "...L..BYTE 13 13 13 00.G.V..F
ILE SRCH DSK TABLES.....BYTE 13 13 13...
...BYTE 32 32 32 32 32 32 32 3........ $
7000.....;RD TRK EQ.$....M.*.#.;.?.$.;64
ROM ROUTINES.E.%.;.S.(.. . $FFE4.A.2..
. $FFD2.Q.<.LIS . $FFB1...F.UNLIS . $FFA
E...P.LISEC . $FF93...Z.OUT . $FFA8...D.
IN . $FFA5.D.N.TLK . $FFB4.V.X.UNTLK . $
FFAB.....TLKSEC . $FF96...... . $FFE1...
..;.....;1541 ROM ROUTINES.....;.+. .SYN
C . $F556.;...OFF . $F969.A...;.V...;154
1 .ERNAL I.O.\...;.O...DSKCNT . $1C00.}.
... = $1C01...H.;...I.;64 ZERO PAGE ADDR
ES.G...J.;...R.Z1 . $00FB.B...Z2 . $00FC
.Q...Z3 . $00FD.....Z4 . $00FE......FILE
RD TRK 1...............;RD TRK 1.5.<.ST
ART JSR .ALL; CLEAR ALL BUFFERS._.F.LDA
#$40; #64 TRYS AT FINDING SEC.R ..J.P.ST
A CT...S.LDA #$60:STA WRK;REPLACE JSR IN
GCR ROUTINE.G.X.JSR FILL; FILL 1541 RAM
BUFFERS WITH 0'S.....JSR INIT; INITIALI
ZE THE DISK.....JSR SCRIN; SCREEN .MAT &
. INPUT.1...LDA HLFFLG; CHECK . HALF TR
ACK.S...BEQ ST1; . EQUAL HLFFLG . SET._.
..JSR HLF.....DEC TRK:LDA TRK; . HALF TR
ACK WE'LL BE .E.....STA TKSEC; TRACK LOW
ER THAN N.MAL.....ST1 JSR SEC.R; CALCULA
TE # OF SEC.RS... .JSR RDERR; . ERR.S AT
$00 IN 1541.!...JSR DISP; . ERR.S . SCR
EEN.....LDX #$00.X...JSR PRGDSK; PUT DIS
K PROGRAM AT $0300....TRY JSR EXDSK; #$
E0 AT $00 EXECUTE...".JSR RDDSK; . RAM A
T $0400 . $05FF.I.#.JSR .;AFTER ERR.S DI
SPLAYED . ....$.BNE K.;WILL TERMINATE PR
OGRAM...%.JMP ALLD. .,.K. JSR GCR; C.VER
T GCR HEADER . HEX.G.6.JSR FMT; ROW AT $
7FXX . PUT HEADER.V.@.LDA SECFLG.U.J.BEQ
NOSEC; . 0 DUPLICATE ....T.LDA #$00...^
.STA SECFLG; RESET SEC.R FLAG.I.H.DEC SE
C; SUBTRACT 1 . . DUPLICATE.U.R.LDA SEC.
..|.BNE NOSEC.....ALLD JSR INIT; THIS IS
THE ..>...LDA #$00:STA WRK; REPLACE JSR
WITH BRK IN GCR ROUTINE.`.L.BRK; .CES R
OUTINE . M.L M.I.R...V.NOSEC JSR .BUF; C
LEAR BUFFERS . M.E.....DEC CT; SUBTRACT
1 FROM OUR 64 TRYS.....LDA CT.Z...BEQ AL
LD; . ZERO WE'RE D.E.....JMP TRY; . . ZE
RO LOOK . M.E......FILE RD TRK 2...EADER
. HEX.G.6.JSR FMT; ROW AT $7FXX . PUT H
EADER.V.@.LDA SECFLG.U.J.BEQ NOSEC; . 0
DUPLICATE ....T.LDA #$00...^.STA SECFLG;
RESET SEC.R FLAG.I.H.DEC SEC; SUBTRACT
1 . . DUPLICATE.U.R.LDA SEC...|.BNE NOSE
C.....ALLD JSR INIT; T......;RD TRK 2.4.
P.SCRIN LDY #$00; SCREEN .MATS & ..Q.U.S
TY HLFFLG; RESET HLFFLG.T.Z.PRNT LDA TRK
MES,Y; ENTER TRACK...D.BEQ LP4...N.JSR .
...X.INY.....JMP PRNT.....LP4 JSR ......
CMP #$00.F. .BEQ LP4.....JSR .;. 1ST KEY
STROKE.....STA TRK.....LP5 JSR ....H.BEQ
LP5. .R.JSR .;. 2ND KEYSTROKE.@...STA T
RK.1; CHANGE FII . HEX.L...LDA TRK.G....
#$0F;CLEAR HIGH BITS.S...STA TRK.....AS
L:ASL; . TIMES 4.....CLC.....ADC TRK; .
TIMES 5...".ASL; . TIMES 10.I.,.STA TRK.
W.6.LDA TRK.1...@.. #$0F...T.CLC...H.ADC
TRK...R.STA TRK;NOW HOLDS HEX NUMBER.%.
|.STA TKSEC.L...JSR .HD; FILL $7F00.$7FF
F WITH 0'S.Y...LDY #$00.{...F LDA TRKMES
1,Y; . HALF TRACK.....BEQ F1.....JSR ...
...INY.....JMP F.....F1 JSR ......CMP #$
00.G...BEQ F1.Q.B.JSR ....L.CMP #$4E; EQ
UALS "N"...V.BEQ F2.....LDA #$01.&...STA
HLFFLG; SET HALF TRACK FLAG.6...F2 LDY
#$00.S...F3 LDA TRKMES2,Y; . Z.ES.^...BE
Q F4.H...JSR ..P...INY.{.&.JMP F3...0.F4
JSR ....:.CMP #$00. .D.BEQ F4...N.JSR .
.R.X.SEC:SBC #$31:TAY; BECOMES HEX 1 . 4
...B.LDA DENS1,Y...L.STA SPD.1; SET .ROL
LER BYTE IN DISK PROGRAM.....F7 RTS.0. .
.FILE RD TRK 3... $7F00.$7FFF WITH 0'S.Y
...LDY #$00.{...F LDA TRKMES1,Y; . HALF
TRACK.....BEQ F1.....JSR ......INY.....J
MP F.....F1 JSR ......CMP #$00.G...BEQ F
1.Q.B.JSR ....L.CMP #$4E; EQUALS "N"...V
.BEQ F2...........;RD TRK 3.;...PRGDSK J
SR .; PUT DISK PROGRAM AT $0300.[...LDY
#$00; IN THE 1541'S RAM.N.(.LP18 LDA MW3
,Y.Z.2.JSR OUT...<.INY...F.CPY #$06...P.
BNE LP18...Z.LDY #$00...D.LP19 LDA PROG,
X.I.N.JSR OUT.Q...INY.Y...INX.....CPY #$
20... .BNE LP19.....JSR UNLIS.,...STY MW
3.3; REPLACE LO BYTE M.W ADDRESS.9...CPX
#$40.F.H.BEQ ERR4.U.R.JMP PRGDSK.H...ER
R4 JSR UNLIS.U...LDA #$00.....STA MW3.3;
RESET LO BYTE M.W ADDRESS.....RTS......
FILE RD TRK 4........DSK PRG ...
.............REG ...........
......;RD TRK 4.8...EXDSK JSR .; PUT #$E
0 AT $00 IN 1541.E...LDY #$00.Q...LP21 L
DA MW1,Y;M.W 06 00 02 "TRK & SEC".}.".JS
R OUT...,.INY...6.CPY #$08...@.BNE LP21.
..J.JSR UNLIS...T.JSR ..D.^.LDY #$00...H
.LP22 LDA MW4,Y;M.W 00 00 01 "#$E0"...R.
JSR OUT...|.INY.....CPY #$07.....BNE LP2
2.'...JSR UNLIS.E...JSR CHKERR; . . ERR.
CODE.M...RTS.`....FILE RD TRK 5... TRK
2 ................RD TRK 3
................RD TRK 4 .......
.........RD TRK 5 ...............
.REG .................;RD TR
K 5.,.(.PROG LDA DSKCNT;XXXXXXXX.G.2.. #
$9F; 10011111.C.<.SPD .A #$00; 0
XX00000.R.F.STA DSKCNT...P.BY JSR SYNC;F
IND ANY SYNC MARK...H.LDY #$00.K.R..1 BV
C .1; V FLAG INDICATES GCR BYTE.....CLV;
RESET V FLAG.....LDA .; INTERNAL I/O POR
T.....STA $0400,Y.....INY. ...BNE .1.-..
.LDY #$00.;.^..2 BVC .2.C.H.CLV.M.R.LDA
..].|.STA $0500,Y.E...INY.P...BNE .2....
.LDA #$01; ERR. CODE.....JMP OFF; ERR. H
.LING ROUTINE.....RTS.D.N..FILE RD TRK 6
... 5 ................REG
.................;RD TRK 6.....SVRE
G STA A.)...STX X.3.(.STY Y.;.2.RTS.L.<.
RSTREG LDA A.V.F.LDX X.`.P.LDY Y.H.Z.RTS
.{.D..FILE RD TRK 7........C35 12
................C35 13 .....
...........C35 14 .............
...C35 15 .................;RD
TRK 7.:...FILL JSR .; PUT 0'S FROM $0300
. $05FF.\...LDY #$00; IN 1541 RAM BUFFE
RS.}.(.FILL1 LDA MW5,Y;M.W 00 03 FF...2.
JSR OUT...<.INY...F.CPY #$06...P.BNE FIL
L1...Z.LDY #$00.L.D.FILL2 LDA #$00.X.N.J
SR OUT...X.INY.....CPY #$20.....BNE FILL
2.....CLC... .LDA MW5.3.....ADC #$20.+..
.CMP #$00.9...BEQ FILL3.K.H.STA MW5.3;IN
C.ENT LO BYTE M-W ADDRESS BY #$20.Y.R.JS
R UNLIS.....JMP FILL.....FILL3 LDA #$00:
STA MW5.3.M...INC MW5.4;INC.ENT HI BYTE
M-W ADDRESS.....LDA MW5.4.....CMP #$06..
...BEQ FILL4...".JSR UNLIS...,.JMP FILL.
%.6.FILL4 JSR UNLIS.J.@.LDA #$00:STA MW5
.3;. M.W ADDRESS.A.E.LDA #$03:STA MW5.4.
I.J.RTS.U.O...$7200...T..FILE RD TRK 8..
.NY...F.CPY #$06...P.BNE FILL1...Z.LDY #
$00.L.D.FILL2 LDA #$00.X.N.JSR OUT...X.I
NY.....CPY #$20.....BNE FILL2.......P.;R
D TRK 8.5._.;C.VERT 5 BYTES GCR . 4 BYTE
S HEX.B.`.;. EXAMPLE WE'LL USE #$'S 52 5
6 E5 29 6B...D.GCR LDA #$00;SET ZERO PAG
E INDEX ADDRESSES...N.STA Z1...X.STA Z4.
....STA Z3.A...LDA #.GCR1.L...STA Z2.Z.
.L1 JSR AA.....STY Z4.....CPY #$CC; 1ST
204 BYTES.....BNE L1.....LDA #$00.$...ST
A Z1./...STA Z4.:.".STA Z3.G.,.LDY #$FF.
T.6.LDX #$00...@.TR LDA GCR1,Y; MOVE LAS
T 102 BYTES . C.VERT...J.STA GCR1,X...O.
LDA #.GCR1:CLC:ADC #$01:STA TR.2.D.T.INY
:INX.O.^.BNE TR...C.LDA #$CC...H.STA R1.
1:STA R2.1:STA R3.1:STA R4.1...R.L2 JSR
AA...W.STY Z4.*.|.CPY #$CC.5...BNE L2.B.
..LDA #$00.J...STA R1.1:STA R2.1:STA R3.
1:STA R4.1.....LDA #.GCR1:STA TR.2.....W
RK RTS.....AA LDY Z3;. EQUALS ZERO.E...;
(Z1),Y PO.S . $7D00,Y...B.LDA (Z1),Y; #
$52 01010010...L.. #$F8; 11111
000.>.N.;RESULT.........................
..............01010000.^.V.LSR;
00101000.~.W.LSR; 00
010100...X.LSR; 00001010
. #$0A.....STA GCR3;$7A00.Y...LDA (Z1),Y
; #$52 01010010...... #$07; 0
0000111.2...;RESULT.....................
..................00000010.R...ASL;
00000100.Z...ASL;
00001000 . #$08.....STA GCR3.1;$7A01.
....INY.....LDA (Z1),Y; #$56 01010110.
U.&.. #$C0; 11000000...'.;RESUL
T.......................................
01000000.?.+.; CARRY FLAG . CLEARED A 1
WILL BE CARRIED._.0.ROL; 1
0000000..1.ROL; 00000000.
..2.ROL; 00000001...:..A G
CR3.1; #$08 00001000...?.;RESULT......
.................................0000100
1 . #$09...D.STA GCR3.1.0.N.LDA (Z1),Y;
#$56 01010110.N.X.. #$3E; 00
111110...Y.;RESULT......................
.................00010110...B.LSR;
00001011 . #$0B.F.L.STA GCR3.2
;$7A02...V.LDA (Z1),Y; #$56 01010110..
.... #$01; 00000001.?...;RESULT
.......................................0
0000000._...ASL; 00000000.
...ASL; 00000000.....ASL;
00000000.G...ASL;
00000000 . #$00.....STA GCR3.3;$
7A03.....INY.....LDA (Z1),Y; #$E5 1110
0101.".... #$F0; 11110000.]...;
RESULT..................................
.....11100000.}...LSR; 011
10000.....LSR; 00111000...
..LSR; 00011100.....LSR;
00001110 . #$0E...F..A GCR
3.3; 00000000.G.K.;RESULT........
...............................00001110
. #$0E.\.P.STA GCR3.3;$7A03.|.Z.LDA (Z1
),Y; #$E5 11100101...... #$0F;
00001111.U...;RESULT..................
.....................00000101.....ASL;
00001010 . #$0A.....STA GC
R3.4;$7A04.....INY.:...LDA (Z1),Y; #$29
00101001.X.... #$80; 10000000
.....;RESULT............................
...........00000000... .CLC...*.ROL;
00000000...+.ROL;
00000000...4..A GCR3.4; #$0A 000010
10.=.9.;RESULT..........................
.............00001010 . #$0A.R.>.STA GC
R3.4;$7A04.R.H.LDA (Z1),Y; #$29 001010
01...R.. #$7C; 01111100.K.W.;RE
SULT....................................
...00101000...\.LSR; 00010
100...].LSR; 00001010 . #
$0A.(.F.STA GCR3.5;$70A5.H.P.LDA (Z1),Y;
#$29 00101001.F.Z.. #03; 00
000011....;RESULT......................
.................00000001.A...ASL;
00000010.....ASL;
00000100.....ASL; 0000100
0 . #$08.....STA GCR3.6;$7A06.&...INY.F
...LDA (Z1),Y; #$6B 01101011.D.... #$E
0; 11100000.....;RESULT........
...............................01100000.
....ROL; 11000000.....ROL;
10000000.....ROL;
00000001.....ROL; 0
0000011.>....A GCR3.6; #$08 00001000..
.E.;RESULT..............................
.........00001011 . #$0B...J.STA GCR3.6
;$7A06...T.LDA (Z1),Y; #$6B 01101011.T
.... #$1F; 00011111.....;RESULT
.......................................0
0001011 . #$0B.,...STA GCR3.7;$7A07.4..
.INY.?...STY Z3.J...LDY Z4._...LDX GCR3;
#$0A.~...LDA GCR4,X; #$00 00000000..
.$.LDX GCR3.1; #$09......A GCR5,X; #$08
00001000...3.;RESULT...................
..................00001000 . #$08 HEADE
R ID...8.R1 STA HEX,Y...B.INY.*.L.LDX GC
R3.2; #$0B.I.V.LDA GCR4,X; #$10 0001000
0.^.`.LDX GCR3.3; #$0E.|.J..A GCR5,X;
00000100.F.O.;RESULT................
.....................00010100 . #$14 CH
ECKSUM.W.T.R2 STA HEX,Y...~.INY.....LDX
GCR3.4; #$0A.....LDA GCR4,X; #$00 00000
000.(...LDX GCR3.5; #$0A.F....A GCR5,X;
00000000.....;RESULT..............
.......................00000000 . #$00
SEC.R.....R3 STA HEX,Y.....INY...D.LDX G
CR3.6; #$0A.Z.N.LDA GCR4,X; #$10 000100
00...X.LDX GCR3.7; #$0B......A GCR5,X;
00000001.T...;RESULT...............
......................00010001 . #$11 T
RACK.E...R4 STA HEX,Y.M...INY.X...STY Z4
...<.RTS...F..FILE RD TRK 9.............
.........00010100 . #$14 CHECKSUM.W.T.R
2 STA HEX,Y...~.IN......;RD TRK 9.O...;T
HE .EN ROUTINE ALERTS THE DISK THAT A CO
MM. IS BEING SENT.....;OVER THE SERIAL B
US. THIS COMM. IS PLACED IN THE 1541'S C
OMM..B.(.;BUFFER AT $0200 IT IS . PARSED
. EXECUTED..H.2.;...<.;THE TALK ROUTINE
S.S 1 BYTE AT A TIME FROM THE 1541 . TH
E 64 OVER THE.H.F.;SERIAL BUS. THE BYTE
IS HELD IN THE A REGISTER..N.P.;...Z.;BO
TH ROUTINES REQUIRE THAT A SEC.DARY ADDR
ESS BE SPEC.IED....D.;.....INIT JSR ....
..LDA #$49; "I".W. .JSR OUT; S. 1 BYTE .
THE 1541.....JSR UNLIS.....RTS...... LD
A #$08; .EN.....JSR LIS.....LDA #$FF.(..
.JSR LISEC.0...RTS.B...TALK LDA #$08.F..
.JSR TLK; . 1 BYTE FROM THE 1541.S.(.LDA
#$FF...2.JSR TLKSEC...<.RTS...F.DISP LD
Y #$00; . ERR.S . SCREEN.A.P.UT LDA ERME
S,Y.N.Z.CMP #$00.Z.D.BEQ UT1...N.JSR ...
.S.INY...X.JMP UT...U.UT1 LDA #$20...V.J
SR ......LDY #$00.1...LP11 LDA #$30.;...
JSR ..J...LDA BUFF,Y.W...CMP #$0A.X...BC
C LESS; BYTE IS A 1 THRU 9.....CLC...".A
DC #$07; ADD 7 . . A THRU F...,.LESS CLC
...6.ADC #$30.E.@.JSR ..R.J.LDA #$20...T
.JSR ....^.INY...H.CPY SEC...R.BNE LP11.
..|.JSR ......FIN RTS.K...CHKERR JSR .;.
. COMM. . BE REPLACED WITH ERR. CODE.X.
..LDY #$00.K...CHK1 LDA MR2,Y.W...JSR OU
T....INY...B.CPY #$06...L.BNE CHK1...V.
JSR UNLIS.....JSR TALK.....JSR IN.K...ST
A ERR.Y...JSR UNTLK.....LDA ERR.....BMI
CHKERR; SEVENTH BIT SET "NO ERROR CODE".
....RTS.1.L..FILE RD TRK 10...0.TRK ERR.
...1 TRK ERR.... ERR....................
........................................
..................^.....................
........................................
..............................|.JSR ....
..FIN RTS.K...CHKERR JSR .;. . COMM. . B
E REPLACED WITH ERR. CODE.X...LDY #$00.K
...CHK1 LDA MR2,Y.W...JSR OUT....INY...
B.CPY #$06...L.BNE CHK1...V.JSR UNLIS...
..JSR TALK.....JSR IN.K...STA ERR.Y...JS
R UNTLK.....LDA ERR.....BMI CHKERR; ....
..;RD DSK 10.A...RDDSK LDA #$00; . DISK
BUFFERS $0400 & $0500.B...STA A; COUNTER
. TWO BUFFERS.O...RD JSR ..|...LDY #$00
.....LP23 LDA MR1,Y...B.JSR OUT...L.INY.
..V.CPY #$06.....BNE LP23.K...JSR UNLIS.
X...JSR TALK.....LDY #$00.....LP24 JSR I
N; . A BYTE & PUT IN 64.0...BF1 STA GCR1
,Y; GCR . HEX BUFFER.[...BF2 STA GCR2,Y;
. . SEC.R THIS WILL BE.....INY; TRANSFE
RED . . BUFFER TO SAVE...&.BNE LP24...'.
JSR UNTLK...(.JSR .; . BYTE # 256...).LD
Y #$00; TALK IS LIMITED . 255 BYTES AT A
TIME...*.LB LDA MRLB,Y...+.JSR OUT...,.
INY...-.CPY #$06.'...BNE LB.5./.JSR UNLI
S.B.0.JSR TALK.M.1.JSR IN.Z.2.LDY #$FF.I
.3.STA GCR1,Y.X.4.STA GCR2,Y...5.JSR UNT
LK...C.INC MR1.4; INC.ENT HIGH BYTE OF B
UFFERS...D.INC BF1.2.N.I.INC BF2.2.X.N.I
NC A...X.LDA A...B.CMP #$02; CHECK . BOT
H BUFFERS ....L.BEQ RD1...V.JMP RD.L...R
D1 DEC BF1.2; RESET HIGH BYTE OF BUFFERS
.Z...DEC BF1.2.H...DEC BF2.2.V...DEC BF2
.2.....DEC MR1.4.....DEC MR1.4.....LDA #
$00.....STA A.....RTS.E.F..FILE RD TRK 1
1...LIMITED . 255 BYTES AT A TIME...*.LB
LDA MRLB,Y.......;RD TRK 11.:...FMT JSR
SVREG; ROUTINE . PLACE HEADER._...LDY #
$02; IN PROPER ROW AT $7FXX.....LDA HEX,
Y; THIS IS THE SEC.R IN HEADER.F.#.STA E
RR; USED IN ST . TO PLACE DATA IN NUMERI
C SEQUENCE...$.;PUT HEADER IN NUMERIC SE
QUENCE. EACH HEADER IS 8 BYTES.+.(.ASL:A
SL:ASL; MULTIPLY BY 8 . SEC . 3.E.2.TAY;
. A . #24 . #$18.N.<.LDA HDBUF,Y; . $81
18 . 0 ITS A . SEC...F.BEQ WRT; SO ADD I
T . BUFFER...G.JSR RSTREG...K.RTS.M.L.WR
T LDX #$00; WRITE HEADER . BUFFER...P.MR
E LDA HEX,X...U.STA HDBUF,Y...Z.INY..._.
INX...D.CPX #$08...N.BNE MRE.A.O.LDA #$0
1; SET SEC FLAG SO COUNT WILL.C.P.STA SE
CFLG; BE DEC.ENTED BY 1...Q.LDA ERR; EAC
H . REQUIRES TWO . BUFFERS...R.ASL; . SE
C . 3 . TIMES 2 . 6...S.CLC...T.ADC #$10
; 10 . 6 . 16 HIGH BYTE OF BUFFER...U.CM
P #$3B; . SEC . 21 . . EID SEC NUMBER...
V.BCS FMT1.-.W.STA STD1.2.O...JSR DT; WR
ITE BYTES . BUFFERS.Q...JSR RSTREG; . .I
GINAL A X & Y.~...FMT1 RTS... ..FILE RD
TRK 12...TREG...K.RTS.M.L.WRT LDX #$00;
WRITE HEADER . BUFFER...P.MRE LDA HEX,X.
..U.STA HDBUF,Y...Z.INY..._.......;RD TR
K 12.5....BUF LDA #$00; CLEAR GCR BUFFER
S.B...LDY #$00.R.(.. STA HEX,Y.D.2.STA H
EX.256,Y.S.<.STA GCR1,Y...F.STA GCR1.256
,Y...P.STA GCR2,Y...Z.STA GCR2.256,Y..._
.STA GCR3,Y...N.INY.I.X.BNE ..Q...RTS...
...FILE RD TRK 13...HDR....P..FILE LD DS
K ......;RD TRK 13.6....HD LDA #$00; CLE
AR HEADER BUFFER.L...LDY #$00; . M.E ..`
.(.CLH STA HDBUF,Y.H.2.INY.T.<.BNE CLH.|
.F.RTS...P..FILE RD TRK 14...R ....H.BEQ
LP5...R.JSR ......STA TRK.1.F...LDA TRK
.Q.... #$0F.....STA TRK.....ASL:ASL.....
CLC.....ADC TRK.......;RD TRK 14.>...SEC
.R LDA TRK; CALCULATE NUMBER OF SEC.RS._
...CMP #$24; . TRACK CHOSEN . ......BCC
N.MT; . TRACK IS GREATER THAN #35.....LD
X #$00; . SET SEC.RS . #17.....JMP OVER.
....N.MT LDX BOUND; . LESS THAN #35 THE.
..(.LP6 CMP BOUND,X; CALCULATE NUMBER OF
SEC.RS...2.DEX.#.<.BCS LP6.7.F.OVER LDA
.TAL,X.C.K.STA SEC.S.L.STA TKSEC.1.[._.
RTS.O....FILE RD TRK 15.................
.RD TRK 11 ................RD TRK
12 ................RD TRK 13
................RD TRK 14 .......
..........;RD TRK 15.7...DT LDX #$00; S.
RE GCR . IN BUFFERS.I...STDA LDY #$00.\.
(.STD LDA GCR2,Y.I.).CMP #$00.V.*.BEQ ST
D3...2.STD1 STA $0000,Y; HIGH BYTE REPLA
CED FROM .MAT...<.INY...F.BNE STD.E.P.IN
X.R.Z.CPX #$02...D.BEQ STD2; INC.ENT HIG
H BYTE OF BUFFERS...N.INC STD.2.....INC
STD1.2.'...JMP STDA.V.6.STD2 LDA #.GCR2;
. HIGH BYTE OF GCR BUFFER.D.@.STA STD.2
.Q.J.STD3 RTS......FILE RD TRK 16...TABL
ES ................BAM EQ ...
.............BAM ...........
.....BAMM 1 .................;R
D TRK 16.9...RDERR LDA SEC; . ERR. AT $0
0 IN 1541.E...STA SVE.T...ERRS JSR ..A..
.LDY #$00...(.LP7 LDA MW1,Y; PUT TRACK &
SEC AT $06 & $07...2.JSR OUT...<.INY...
F.CPY #$08...P.BNE LP7.L.Z.JSR UNLIS.V.D
.JSR ....N.LDY #$00...X.LP8 LDA MW2,Y; P
UT #$80 (.) AT $00.....JSR OUT.....INY.+
...CPY #$07.7. .BNE LP8.E...JSR UNLIS.J.
..JSR CHKERR; . . ERR. CODE AT $00.V.".L
DA ERR...'.LDY SVE; HOLDS NUMBER OF SEC.
RS . TRACK...^.STA BUFF,Y...H.DEC SVE.I.
I.LDA SVE.Y.J.STA TKSEC.1...K.CMP #$FF..
.R.BNE ERRS.....RTS...B..FILE RD TRK 17.
..DERR LDA SEC; . ERR. AT $00 IN 1541.E.
..STA SVE.T...ERRS JSR ..A...LDY #$00...
(.LP7 LDA MW1,Y; PUT TRACK & SEC AT $06
& $07...2.JSR OUT...<.INY...F.CPY #$08..
.P.BNE LP7.L.Z.JSR UNLIS.V.D.JSR ....N.L
DY #$00...X.LP8 LDA MW2,Y; PUT #$8......
;RD TRK 17.8....ALL LDA #$08; AT BEGINNI
NG OF EACH.I...STA AL2.2; . THIS ROUTINE
CLEARS ALL BUFFERS.Y.#.AL LDA #$00...(.
LDY #$00...2.AL2 STA $0000,Y...<.INY...F
.BNE AL2...P.INC AL2.2.J.Z.LDA AL2.2...N
.CMP #$40; FILL $0800 $3FFF WITH 0'S...X
.BEQ FIN1.....JMP AL.....FIN1 RTS.+.6..F
ILE RD TRK 18... ................RD TR
K 17 ................HAF
................RD TRK TABLES .....
...........BAM EQ .............
...BAM ................BAMM
1 .................;RD TRK 18..
...HLF JSR ..+...LDY #$00.T.(.BMP1 LDA B
UMP,Y; BUMP HEAD . TRACK 1.`.2.JSR OUT.H
.<.INY.U.F.CPY #$07...P.BNE BMP1...U.JSR
UNLIS...Z.JSR CHKERR; . . ERR. CODE...D
.JSR ..E.N.LDY #$00.T.X.C. LDA .,Y.....I
NY.....CPY #$06.....BNE C.... .JSR UNLIS
.....JSR TALK.....JSR IN.'...STA HEAD.5.
H.JSR UNTLK.B.R.LDA HEAD; XXXXXXXX HOLDS
$1C00 FROM 1541.W.... #$FC; 11111100...
...A #$03; XXXXXX11 CYCLE BITS 0 & 1....
.STA BMP.6.....JSR ..C...LDY #$00.....C.
1 LDA BMP,Y; PUT CYCLED BYTE AT $1C00...
..JSR OUT...".INY...,.CPY #$07...6.BNE C
.1.I.@.JSR UNLIS; HEAD IS NOW 1.2 TRACK
BELOW 1.Q.J.RTS.I.T..FILE RD TRK TABLES.
.. #$07...P.BNE BMP1...U.JSR UNLIS...Z.J
SR CHKERR; . . ERR. CODE...D.JSR ..E.N.L
DY #$00.T.X.C. LDA .,Y.....INY.....CPY #
$06.....BNE C.... .JSR U......;RD TRK TA
BLES.2...TRKMES .BYTE 147 13 13 13.E....
BYTE "ENTER TRACK NUMBER 1 TO 44 :.BYTE
32 00...(.TRKMES1 .BYTE 13 13:.BYTE "HAL
F TRACK (Y OR N) :.BYTE 32 00...-.TRKMES
2 .BYTE 13 13...7..BYTE "TRK 01 TO 17 DE
N 1 TRK 18 TO 24 DEN 2 :.BYTE 13.7.8..
BYTE "TRK 25 TO 30 DEN 3 TRK 31 TO 35
DEN 4 :.BYTE 13.C.:..BYTE "DENSTITY 1 2
3 OR 4 :.BYTE 32 00...=.ERMES .BYTE 13 1
3:.BYTE "ERRORS ON THIS TRACK :.BYTE 13
13 00.H.F.MW1 .BYTE "M-W":.BYTE 06 00 02
...P.TKSEC .BYTE 0 0...Z.MW2 .BYTE "M-W"
:.BYTE 00 00 01 128.&.D.MW3 .BYTE "M-W":
.BYTE 00 03 32.M.N.MW4 .BYTE "M-W":.BYTE
00 00 01 224.P.X.MW5 .BYTE "M-W":.BYTE
00 03 32.....MR1 .BYTE "M-R":.BYTE 00 04
255.....MR2 .BYTE "M-R":.BYTE 00 00 01.
....MRLB .BYTE "M-R":.BYTE 255 004 001..
...BUMP .BYTE "M-W":.BYTE 00 00 01 192.'
. .. .BYTE "M-R":.BYTE 00 28 01.J...BMP
.BYTE "M-W":.BYTE 00 28 01.]...HEAD .BYT
E 0 0.R...CMND .BYTE 73 00...H.BOUND .BY
TE 04 36 31 25 18...R..TAL .BYTE 17 18 1
9 21.F...Z.E .BYTE 04 03 02 01.....DENS1
.BYTE 96 64 32 00.....GCR4 .BYTE 255 25
5 255 255 255 255 255 255.7....BYTE 255
128 00 16 255 192 64 80.^....BYTE 255 25
5 32 48 255 240 96 112......BYTE 255 144
160 176 255 208 224 255.....GCR5 .BYTE
255 255 255 255 255 255 255 255..."..BYT
E 255 08 00 01 255 12 04 05...,..BYTE 25
5 255 02 03 255 15 06 07.%.6..BYTE 255 0
9 10 11 255 13 14 255.2.@... $7700.E.J.B
UFFLG .BYTE 0._.T.ZNFLG .BYTE 0 0 0 0 0.
Q.^..ESEC .BYTE 0...H.HLFFLG .BYTE 0...R
.SEC .BYTE 0...W.ERR .BYTE 0...|.CT .BYT
E 0.....BUFF .BYTE 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0......BYTE 0 0 0 0 0 0....... $7
800."...GCR3 .BYTE 0 0 0 0 0 0 0 0.2...S
VE .BYTE 0.D...TRK .BYTE 0 0.W.B.SECFLG
.BYTE 0.E.L.A .BYTE 0.S.V.X .BYTE 0.....
Y .BYTE 0....... $7900.....HEX .BYTE 0;D
ECODED GCR LACED HERE.B..... $7B00.....G
CR1 .BYTE 0; GCR PLACED HERE . C.VERSI..
...... $7D00.#.&.GCR2 .BYTE 0; GCR HERE
. . BUFFERS.F.0... $7F00; HEADER . PLACE
D HERE.X.:.HDBUF .BYTE 0.I.D... RD TRK E
Q...0...H.HLFFLG .BYTE 0...R.SEC .BYTE 0
...W.ERR .BYTE 0...|.CT .BYTE 0.....BUFF
.BYTE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0....
..BYTE 0 0 0 0 0........ $0801.....;SRCH
DSK EQ.&....M.2.#..D SRCH.G.$.;64 ROM R
OUTINES.M.%.;.[.(.. . $FFE4.I.2.. . $FFD
2.Y.<.LIS . $FFB1...F.UNLIS . $FFAE...P.
LISEC . $FF93...Z.OUT . $FFA8...D.IN . $
FFA5.L.N.TLK . $FFB4...X.UNTLK . $FFAB..
...TLKSEC . $FF96...... . $FFE1......FIL
E SRCH DSK 1.............C35 17
................C35 18 .......
.........C35 19 ...............
.C35 20 ................C35 21
................SRCH DSK EQ
................SRCH DSK 1 .......
..........;SRCH DSK 1./...;BASIC LINE NU
MBER . .TEM.^....BYTE 10 08 10 00 158 50
48 54 49 00 00 00.K...LDA #$00.Y.(.STA
$D020...2.STA $D021...<.LDA #$17...F.STA
$D018.B.P.LDA #$93:JSR .;CLEAR SCREEN..
.Z.LDA #$00;ZERO ALL VARIABLES...D.STA T
RK;HOLDS CURRENT TRACK #.*.N.STA A:STA X
:STA Y;SPARE REGISTERS.L.X.STA SEC;HOLDS
CURRENT SEC.R #.W...STA STRING;HOLDS #
OB YTES SEARCHING ......JSR INIT;INITIAL
IZE DISK.....JSR SCREEN;SCREEN .MAT.T. .
JSR G;. KEYSTROKES FROM KEYBOARD.....SRC
H1 LDX #$FF.....TXS;SET STACK . BOT.M (#
$FF).$...INC TRK;INC.ENT TRACK #.0.H.LDA
TRK.Q.R.CMP #$24;. TRK # 36 FINISHED.[.
..BEQ ..Z...JSR SEC.R;. # OF SEC . TRK..
...JSR .;S. TRACK . . DISK.....LDY #$00.
G...LP LDA MW,Y;TRK # . $06 IN 1541.S...
JSR OUT.....INY...".CPY #$07...,.BNE LP.
..6.JSR UNLIS.".@.NXTSEC JSR .;S. SEC .
. DISK./.J.LDY #$00.U.T.LP1 LDA MW1,Y;SE
C # . $07 IN 1541.A.^.JSR OUT.I.H.INY.V.
R.CPY #$07...|.BNE LP1.....JSR UNLIS....
.JSR .;S. "#$80" (.).....LDY #$00.....LP
2 LDA MW2,Y; #$80 . $00 IN 1541.....JSR
OUT.....INY...B.CPY #$07...L.BNE LP2...V
.JSR UNLIS.3...JSR CHKERR;. . ERR. CODE.
[...JMP RDDSK;. SEC . FOR SEARCH STRING.
S.... JSR INIT;FINISHED.....JMP ($A002);
BASICS WARM START......FILE SRCH DSK 2..
.,Y;TRK # . $06 IN 1541.S...JSR OUT.....
INY...".CPY #$07...,.BNE LP...6.JS......
;SRCH DSK 2.1...RDDSK JSR STP;CHECK ...
KEY.>...LDA #$08.H...JSR ..U...LDY #$00.
..(.LP3 LDA MR1,Y;. BYTES $0302 . 03FF I
N 1541 RAM...2.JSR OUT...<.INY...F.CPY #
$06...P.BNE LP3.C.Z.JSR UNLIS.P.D.LDA #$
08...N.JSR TALK;SET UP DISK . S. BYTES .
SERIAL BUS...X.LDY #$02.5.}..IN LDX #$0
0:STX X;SET SPARE X . 0.]....IN JSR IN;.
A BYTE FROM SERIAL BUS.....INY:CPY #$FF
:BEQ LP6;BRANCH ALL BYTES ......LDX X;HO
LDS COUNT OF BYTES FOUND.U...CMP SRCH,X;
HOLDS BYTES SEARCHING .... .BNE .IN;NO M
ATCH TRY AGAIN.(...INX:CPX STRING:BEQ PR
T.;IF X = LENGTH OF SEARCH.G...;STRING .
ALL FOUND . IT!!.R...STX X;. . KEEP TRA
CK OF HOW MANY FOUND.....JMP .IN;. A.HER
BYTE...H.PRT. JSR UNTLK.Q.R.JMP PRNT.;R
OUTINE TO PRINT TRK & SEC TO SCREEN.....
LP6 JSR UNLIS.....JMP INCR;DEC SEC # . I
NC TRK #.....STP JSR ..2...BNE NO.;... K
EY . PRESSED.R...JMP .;KEY PRESSED TERMI
NATE.^...NO. RTS.S....FILE SRCH DSK 3...
NCH ALL BYTES ......LDX X;HOLDS COUNT OF
BYTES FOUND.U...CMP SRCH,X;HOLDS BYTES
SEARCHING .... .BNE .IN;NO MATCH TRY AGA
IN.(...INX......;SRCH DSK 3.2...INCR DEC
SEC;DEC # OF SECS ..O...BMI INCTRK;NO M
.E SEC.RS.^.(.JMP NXTSEC.}.2.INCTRK JMP
SRCH1;INC TRK #......FILE SRCH DSK 4....
........................................
........................................
..............................;SRCH DSK
4.G...SEC.R LDA TRK; CALCULATE NUMBER OF
SEC.RS . TRACK.Z...LDX BOUND; # 4.L.(.S
CMP BOUND,X.T.2.DEX.~.<.BCS S...F.LDA .
TAL,X;# OF SEC . THIS TRK...K.STA SEC...
_.RTS.T.D.BOUND .BYTE 04 36 31 25 18...N
..TAL .BYTE 16 17 18 20......FILE SRCH D
SK 5... ................C35 17
................C35 18
................C35 19 .......
.........C35 20 ...............
.C35 21 ................SRCH DS
K EQ ................SRCH DSK 1
.................;SRCH DSK 5.Q...;THE .
EN ROUTINE ALERTS THE DISK THAT A COMM.
IS BEING SENT.....;OVER THE SERIAL BUS.
THIS COMM. IS PLACED IN THE 1541'S COMM.
.D.(.;BUFFER AT $0200 IT IS . PARSED . E
XECUTED..J.2.;...<.;THE TALK ROUTINE S.S
1 BYTE AT A TIME FROM THE 1541 . THE 64
OVER THE.J.F.;SERIAL BUS. THE BYTE IS H
ELD IN THE A REGISTER..P.P.;...Z.;BOTH R
OUTINES REQUIRE THAT A SEC.DARY ADDRESS
BE SPEC.IED....D.;.....INIT JSR ......LD
A #$49; "I".Y. .JSR OUT; S. 1 BYTE . THE
1541.....JSR UNLIS.....RTS...... LDA #$
08; .EN.....JSR LIS.....LDA #$FF.*...JSR
LISEC.2...RTS.D...TALK LDA #$08.H...JSR
TLK; . 1 BYTE FROM THE 1541.U.(.LDA #$F
F...2.JSR TLKSEC...<.RTS.D...CHKERR JSR
.;. . COMM. . BE REPLACED WITH ERR. CODE
.Q...LDY #$00.....CHK1 LDA MR,Y;. BYTE @
$00 IN 1541.....JSR OUT.....INY...B.CPY
#$06.&.L.BNE CHK1.4.V.JSR UNLIS.A...JSR
TALK.Z...JSR IN;. BYTE AT $00.F...STA E
RR.T...JSR UNTLK.....LDA ERR.....BMI CHK
ERR; SEVENTH BIT SET "NO ERROR CODE"....
.RTS.M.L..FILE SRCH DSK 6...0.TRK ERR...
.1 TRK ERR.... ERR......................
........................................
................^.......................
........................................
.............................;. . COMM.
. BE REPLACED WITH ERR. CODE.Q...LDY #$0
0.....CHK1 LDA MR,Y;. BYTE @ $00 IN 1541
........;SRCH DSK 6.6.P.G JSR .;ROUTINE
. KEYBOARD ENTRY.@.Z.BEQ G.D.[.CMP #$0D;
. . . OF SEARCH STRING.N.\.BNE T.V.].RTS
.|.^.;..._.;C.VERT FII . HEX...`.;...D.T
JSR .;KEY S.KE IN FII . IT...I.JSR TEN;
C.VERT FIRST KEYSTROKE...N.G1 JSR ....O.
BEQ G1...X.JSR ....}.JSR .E;C.VERT 2ND K
EYSTROKE.(...LDX X.R...STA SRCH,X;PUT SE
ARCH STRING .O MEM.Y.Z...INX.D. .STX X..
...INC STRING;VARIABLE HOW L.G SEARCH ST
RING.....JMP G;. A.HER BYTE.U...TEN CMP
#$41;# GREATER THAN 9 (A B ETC).....BCC
NUM.....;EXAMPLE #$B5.....;HOLDS THE B (
#$42) IN #$B5.2...; 0100
0010.:...SEC.Y.H.SBC #$07;#$3B 00111
011.V.R.NUM . #$0F; 00001111...W.;EQ
UALS 00001011.....ASL;
00010110.S...ASL; 001
01100.....ASL; 01011000....
.ASL; 10110000 . #$B0.%...S
TA TEMP.-...RTS.N....E CMP #$41;THE #$05
IN #$B5.[...BCC NUM1.C...SEC.P...SBC #$
07.....;EXAMPLE 00000101...".NU
M1 . #$0F; 00001111.K.'.;EQUALS #$05
00000101.S.,.CLC...6.ADC TEMP;#$B0
. #$05 . #$B5...@.RTS...|..FILE SRCH DSK
7....; 01000010.:...SEC
.Y.H.SBC #$07;#$3B 00111011.V.R.NUM
. #$0F; 00001111...W.;EQUALS
00001011.....ASL; 000101
10.S...ASL; 00101100.....AS
L; 01011000.....ASL......;S
RCH DSK 7.....;.6...;C.VERT HEX . FII .
SCREEN.<...;.J...PRNT. LDA TRK;EXAMPLE T
RK #$1B (27 ASCII).V...JSR HEX...(.LDA T
EMP...2.STA TRKLO;HOLDS A FII 31 (1)...<
.LDA TEMP.1.T.F.STA TRKHI;HOLDS A FII 42
(B)...P.LDA SEC...Z.JSR HEX...D.LDA TEM
P...N.STA SECLO...X.LDA TEMP.1.$...STA S
ECHI.1...JMP SCRN.S...HEX STA TEMP.1; #$
1B 00011011.S. .. #$F0; 11110
000.....;EQUALS 00010000...
..LSR; 00001000.Y...LSR;
00000100.....LSR;
00000010.....LSR;
00000001.7...ADC #$30;. 31 FII . 1.
D...STA TEMP.F.H.LDA TEMP.1;#$1B 00
011011...... #$0F; 00001111..
...;EQUALS #$0B 00001011.....CMP
#$0A.C...BCC UNDER.K...CLC.....ADC #$07
;NOW EQUALS #$12.....UNDER CLC.....ADC #
$30;NOW EQUALS #$42 (B IN FII).-.".STA T
EMP.1.5.,.RTS.G.6.SCRN LDY #$00.W.@.LP7
LDA .,Y.D.J.CMP #$00.Q.T.BEQ .PRT.{.^.JS
R ....C.INY...H.JMP LP7...R..PRT JMP INC
R...|..FILE SRCH DSK 8...SR;
00000100.....LSR; 0
0000010.......;SRCH DSK TABLES.8...MW .B
YTE "M-W":.BYTE 06 00 01.H...TRK .BYTE 0
.K.(.MW1 .BYTE "M-W":.BYTE 07 00 01.{.2.
SEC .BYTE 0...<.MW2 .BYTE "M-W":.BYTE 00
00 01 128.D.A.MR .BYTE "M-R":.BYTE 00 0
0 01...F.MR1 .BYTE "M-R":.BYTE 02 03 253
...Z.. .BYTE 13..._..BYTE ". TRK #$ "...
`.TRKLO .BYTE 0.1.D.TRKHI .BYTE 0.>.E..B
YTE 32.L.I..BYTE ".".D.N..BYTE " . SEC
#$ ".V.S.SECLO .BYTE 0...X.SECHI .BYTE 0
...Y..BYTE 32......BYTE ".":.BYTE 0.....
STRING .BYTE 0.N...ERR .BYTE 0... .A .BY
TE 0.....X .BYTE 0.....Y .BYTE 0.....TEM
P .BYTE 0 0.....SRCH .BYTE 0./..... SRCH
DSK EQ...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL