BURSTSUB
FILE INFORMATION
FILENAME(S): BURSTSUB
FILE TYPE(S): SEQ
FILE SIZE: 27.8K
FIRST SEEN: 2025-11-30 16:59:23
APPEARS ON: 1 disk(s)
FILE HASH
964c74164b6bb26b39a0e9385ea9f947bd85153b9c4abd2b0630b35668655009
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| DEMO 1581 1 2 | BURSTSUB | SEQ | High Voltage Complete C64 Collection | 14 | 5 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |;***************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000030: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000040: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 3B 2A 20 20 20 20 |*********.;* |
00000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000090: 20 20 2A 0D 3B 2A 20 20 20 20 20 20 20 20 20 20 | *.;* |
000000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000000C0: 2D 2D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |-- |
000000D0: 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D 3B 2A | *.;*|
000000E0: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | --------------|
000000F0: 2D 2D 2D 2D 2D 2D 2D 2D 20 20 C2 D5 D2 D3 D4 20 |-------- ..... |
00000100: 20 D3 D5 C2 D2 CF D5 D4 C9 CE C5 D3 20 20 2D 2D | ........... --|
00000110: 20 28 52 45 56 20 32 29 20 2D 2D 2D 2D 2D 2D 2D | (REV 2) -------|
00000120: 2D 2D 2D 2D 20 20 2A 0D 3B 2A 20 20 20 20 20 20 |---- *.;* |
00000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000140: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | ------------|
00000150: 2D 2D 2D 2D 2D 2D 20 20 20 20 20 20 20 20 20 20 |------ |
00000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000170: 2A 0D 3B 2A 20 20 20 20 20 20 20 20 20 20 20 20 |*.;* |
00000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001B0: 20 20 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 D4 | *.;* .|
000001C0: 48 45 53 45 20 41 53 53 45 4D 42 4C 59 20 4C 41 |HESE ASSEMBLY LA|
000001D0: 4E 47 55 41 47 45 20 52 4F 55 54 49 4E 45 53 20 |NGUAGE ROUTINES |
000001E0: 41 52 45 20 50 52 4F 56 49 44 45 44 20 46 4F 52 |ARE PROVIDED FOR|
000001F0: 20 59 4F 55 52 20 43 4F 4E 56 45 4E 49 45 4E 43 | YOUR CONVENIENC|
00000200: 45 2E 20 20 2A 0D 3B 2A 20 C6 4F 52 20 4D 4F 53 |E. *.;* .OR MOS|
00000210: 54 20 55 53 45 52 53 2C 20 54 48 45 20 C2 D5 D2 |T USERS, THE ...|
00000220: D3 D4 20 43 4F 4D 4D 41 4E 44 53 20 41 52 45 20 |.. COMMANDS ARE |
00000230: 56 45 52 59 20 43 52 59 50 54 49 43 2C 20 52 45 |VERY CRYPTIC, RE|
00000240: 51 55 49 52 49 4E 47 20 59 4F 55 20 20 20 2A 0D |QUIRING YOU *.|
00000250: 3B 2A 20 54 4F 20 57 52 49 54 45 20 59 4F 55 52 |;* TO WRITE YOUR|
00000260: 20 4F 57 4E 20 41 53 53 45 4D 42 4C 59 20 4C 41 | OWN ASSEMBLY LA|
00000270: 4E 47 55 41 47 45 20 50 52 4F 47 52 41 4D 53 20 |NGUAGE PROGRAMS |
00000280: 54 4F 20 4D 41 4B 45 20 55 53 45 20 4F 46 20 54 |TO MAKE USE OF T|
00000290: 48 45 4D 2E 20 20 20 20 2A 0D 3B 2A 20 D4 48 45 |HEM. *.;* .HE|
000002A0: 20 53 45 54 20 4F 46 20 41 53 53 45 4D 42 4C 59 | SET OF ASSEMBLY|
000002B0: 20 4C 41 4E 47 55 41 47 45 20 53 55 42 52 4F 55 | LANGUAGE SUBROU|
000002C0: 54 49 4E 45 53 20 50 52 4F 56 49 44 45 44 20 49 |TINES PROVIDED I|
000002D0: 4E 20 54 48 49 53 20 4C 49 53 54 49 4E 47 20 20 |N THIS LISTING |
000002E0: 20 20 2A 0D 3B 2A 20 41 52 45 20 44 45 53 49 47 | *.;* ARE DESIG|
000002F0: 4E 45 44 20 54 4F 20 41 4C 4C 4F 57 20 41 4E 59 |NED TO ALLOW ANY|
00000300: 4F 4E 45 20 54 4F 20 4D 41 4B 45 20 55 53 45 20 |ONE TO MAKE USE |
00000310: 4F 46 20 54 48 45 20 C2 D5 D2 D3 D4 20 52 4F 55 |OF THE ..... ROU|
00000320: 54 49 4E 45 53 20 56 45 52 59 20 20 2A 0D 3B 2A |TINES VERY *.;*|
00000330: 20 45 41 53 49 4C 59 2E 20 20 C1 20 C2 C1 D3 C9 | EASILY. . ....|
00000340: C3 20 50 52 4F 47 52 41 4D 20 4E 45 45 44 53 20 |. PROGRAM NEEDS |
00000350: 53 49 4D 50 4C 59 20 54 4F 20 D0 CF CB C5 20 54 |SIMPLY TO .... T|
00000360: 48 45 20 41 50 50 52 4F 50 52 49 41 54 45 20 56 |HE APPROPRIATE V|
00000370: 41 4C 55 45 53 20 2A 0D 3B 2A 20 49 4E 54 4F 20 |ALUES *.;* INTO |
00000380: 54 48 45 20 56 41 52 49 41 42 4C 45 20 4C 4F 43 |THE VARIABLE LOC|
00000390: 41 54 49 4F 4E 53 20 53 48 4F 57 4E 20 42 45 4C |ATIONS SHOWN BEL|
000003A0: 4F 57 2C 20 41 4E 44 20 54 48 45 4E 20 D3 D9 D3 |OW, AND THEN ...|
000003B0: 20 54 4F 20 54 48 45 20 44 45 53 49 52 45 44 20 | TO THE DESIRED |
000003C0: 2A 0D 3B 2A 20 52 4F 55 54 49 4E 45 2E 20 20 C1 |*.;* ROUTINE. .|
000003D0: 4C 4C 20 4F 46 20 54 48 45 20 C2 D5 D2 D3 D4 20 |LL OF THE ..... |
000003E0: 50 52 4F 54 4F 43 4F 4C 20 41 4E 44 20 48 41 4E |PROTOCOL AND HAN|
000003F0: 44 53 48 41 4B 49 4E 47 20 49 53 20 44 4F 4E 45 |DSHAKING IS DONE|
00000400: 20 46 4F 52 20 59 4F 55 2E 20 2A 0D 3B 2A 20 D4 | FOR YOU. *.;* .|
00000410: 48 45 20 C2 C1 D3 C9 C3 20 50 52 4F 47 52 41 4D |HE ..... PROGRAM|
00000420: 20 43 41 4E 20 54 48 45 4E 20 D0 C5 C5 CB 20 41 | CAN THEN .... A|
00000430: 4E 59 20 56 41 4C 55 45 53 20 52 45 54 55 52 4E |NY VALUES RETURN|
00000440: 45 44 2E 20 20 20 20 20 20 20 20 20 20 20 20 20 |ED. |
00000450: 20 20 20 20 2A 0D 3B 2A 20 20 20 20 20 20 20 20 | *.;* |
00000460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D | *.|
000004A0: 3B 2A 20 D4 48 45 20 52 4F 55 54 49 4E 45 53 20 |;* .HE ROUTINES |
000004B0: 49 4E 20 54 48 49 53 20 4C 49 53 54 49 4E 47 20 |IN THIS LISTING |
000004C0: 54 48 41 54 20 52 45 51 55 49 52 45 20 44 41 54 |THAT REQUIRE DAT|
000004D0: 41 20 42 55 46 46 45 52 20 53 54 4F 52 41 47 45 |A BUFFER STORAGE|
000004E0: 20 41 52 45 41 53 20 20 2A 0D 3B 2A 20 41 52 45 | AREAS *.;* ARE|
000004F0: 20 50 41 53 53 45 44 20 54 48 45 20 4C 4F 43 41 | PASSED THE LOCA|
00000500: 54 49 4F 4E 20 4F 46 20 54 48 45 20 42 55 46 46 |TION OF THE BUFF|
00000510: 45 52 20 49 4E 20 C2 D5 C6 CC CF C3 2E 20 20 C2 |ER IN ....... .|
00000520: D5 C6 CC CF C3 20 50 4F 49 4E 54 53 20 54 4F 20 |..... POINTS TO |
00000530: 20 20 2A 0D 3B 2A 20 D2 C1 CD 20 4C 4F 43 41 54 | *.;* ... LOCAT|
00000540: 49 4F 4E 20 49 4E 20 D2 C1 CD 20 42 41 4E 4B 20 |ION IN ... BANK |
00000550: 30 20 4F 46 20 54 48 45 20 53 54 41 52 54 20 4F |0 OF THE START O|
00000560: 46 20 54 48 45 20 42 55 46 46 45 52 2E 20 20 D3 |F THE BUFFER. .|
00000570: 49 4E 43 45 20 54 48 45 20 20 20 20 2A 0D 3B 2A |INCE THE *.;*|
00000580: 20 CB C5 D2 CE C5 CC 20 41 4E 44 20 C9 2F CF 20 | ...... AND ./. |
00000590: 41 52 45 20 4E 45 45 44 45 44 2C 20 D2 C1 CD 20 |ARE NEEDED, ... |
000005A0: 45 58 49 53 54 53 20 4F 4E 4C 59 20 55 50 20 54 |EXISTS ONLY UP T|
000005B0: 4F 20 24 C3 30 30 30 2E 20 20 D3 4F 2C 20 59 4F |O $.000. .O, YO|
000005C0: 55 20 41 52 45 20 2A 0D 3B 2A 20 46 52 45 45 20 |U ARE *.;* FREE |
000005D0: 54 4F 20 55 53 45 20 41 4E 59 20 D2 C1 CD 20 50 |TO USE ANY ... P|
000005E0: 41 53 54 20 59 4F 55 52 20 C2 C1 D3 C9 C3 20 54 |AST YOUR ..... T|
000005F0: 45 58 54 20 50 52 4F 47 52 41 4D 2C 20 55 50 20 |EXT PROGRAM, UP |
00000600: 54 4F 20 24 C3 30 30 30 20 28 C2 C1 D3 C9 C3 20 |TO $.000 (..... |
00000610: 2A 0D 3B 2A 20 54 45 58 54 20 4E 4F 52 4D 41 4C |*.;* TEXT NORMAL|
00000620: 4C 59 20 53 54 41 52 54 53 20 41 54 20 24 31 C3 |LY STARTS AT $1.|
00000630: 30 30 2E 20 20 C9 46 20 42 49 54 2D 4D 41 50 20 |00. .F BIT-MAP |
00000640: 47 52 41 50 48 49 43 53 20 41 52 45 20 45 4E 41 |GRAPHICS ARE ENA|
00000650: 42 4C 45 44 2C 20 20 20 20 20 2A 0D 3B 2A 20 54 |BLED, *.;* T|
00000660: 48 45 4E 20 C2 C1 D3 C9 C3 20 54 45 58 54 20 53 |HEN ..... TEXT S|
00000670: 54 41 52 54 53 20 41 54 20 24 34 30 30 30 29 2E |TARTS AT $4000).|
00000680: 20 20 C9 46 20 59 4F 55 20 57 41 4E 54 20 54 4F | .F YOU WANT TO|
00000690: 20 D0 C5 C5 CB 20 41 4E 44 20 D0 CF CB C5 20 54 | .... AND .... T|
000006A0: 48 49 53 20 2A 0D 3B 2A 20 4D 45 4D 4F 52 59 20 |HIS *.;* MEMORY |
000006B0: 46 52 4F 4D 20 C2 C1 D3 C9 C3 2C 20 42 45 20 53 |FROM ....., BE S|
000006C0: 55 52 45 20 54 4F 20 45 58 45 43 55 54 45 20 54 |URE TO EXECUTE T|
000006D0: 48 45 20 27 C2 C1 CE CB 20 30 27 20 43 4F 4D 4D |HE '.... 0' COMM|
000006E0: 41 4E 44 2E 20 20 D4 48 49 53 20 20 20 20 2A 0D |AND. .HIS *.|
000006F0: 3B 2A 20 54 45 4C 4C 53 20 C2 C1 D3 C9 C3 20 54 |;* TELLS ..... T|
00000700: 4F 20 D0 C5 C5 CB 20 41 4E 44 20 D0 CF CB C5 20 |O .... AND .... |
00000710: 54 4F 20 54 48 45 20 D2 C1 CD 20 55 4E 44 45 52 |TO THE ... UNDER|
00000720: 20 54 48 45 20 C2 C1 D3 C9 C3 20 D2 CF CD 53 2E | THE ..... ...S.|
00000730: 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 C9 46 20 | *.;* .F |
00000740: 59 4F 55 20 57 41 4E 54 20 54 4F 20 4D 41 4B 45 |YOU WANT TO MAKE|
00000750: 20 59 4F 55 52 20 50 52 4F 47 52 41 4D 20 52 45 | YOUR PROGRAM RE|
00000760: 41 4C 20 49 4E 54 45 4C 4C 49 47 49 45 4E 54 2C |AL INTELLIGIENT,|
00000770: 20 54 48 45 52 45 20 41 52 45 20 20 20 20 20 20 | THERE ARE |
00000780: 20 20 2A 0D 3B 2A 20 50 4F 49 4E 54 45 52 53 20 | *.;* POINTERS |
00000790: 54 4F 20 54 48 45 20 42 45 47 49 4E 4E 49 4E 47 |TO THE BEGINNING|
000007A0: 20 41 4E 44 20 45 4E 44 20 4F 46 20 C2 C1 D3 C9 | AND END OF ....|
000007B0: C3 20 54 45 58 54 20 28 24 30 30 32 C4 20 41 4E |. TEXT ($002. AN|
000007C0: 44 20 24 31 32 31 30 2C 20 20 20 20 2A 0D 3B 2A |D $1210, *.;*|
000007D0: 20 52 45 53 50 45 43 54 49 56 45 4C 59 29 2E 20 | RESPECTIVELY). |
000007E0: 20 C1 53 20 41 20 47 45 4E 45 52 41 4C 20 52 55 | .S A GENERAL RU|
000007F0: 4C 45 2C 20 57 4F 52 4B 20 59 4F 55 52 20 57 41 |LE, WORK YOUR WA|
00000800: 59 20 42 41 43 4B 20 46 52 4F 4D 20 24 C3 30 30 |Y BACK FROM $.00|
00000810: 30 2C 20 20 20 20 2A 0D 3B 2A 20 41 4E 44 20 59 |0, *.;* AND Y|
00000820: 4F 55 27 4C 4C 20 42 45 20 CF CB 2E 20 20 20 20 |OU'LL BE ... |
00000830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000860: 2A 0D 3B 2A 20 20 20 20 20 20 20 20 20 20 20 20 |*.;* |
00000870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000008A0: 20 20 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 D4 | *.;* .|
000008B0: 4F 20 55 53 45 20 54 48 45 53 45 20 52 4F 55 54 |O USE THESE ROUT|
000008C0: 49 4E 45 53 2C 20 59 4F 55 52 20 C2 C1 D3 C9 C3 |INES, YOUR .....|
000008D0: 20 50 52 4F 47 52 41 4D 20 4D 55 53 54 20 C2 CC | PROGRAM MUST ..|
000008E0: CF C1 C4 20 54 48 45 20 46 49 4C 45 20 20 20 20 |... THE FILE |
000008F0: 20 20 20 20 2A 0D 3B 2A 20 27 C2 D5 D2 D3 D4 20 | *.;* '..... |
00000900: D3 D5 C2 D3 2E C2 C9 CE 27 20 42 45 46 4F 52 45 |........' BEFORE|
00000910: 20 54 48 45 59 20 43 41 4E 20 42 45 20 55 53 45 | THEY CAN BE USE|
00000920: 44 2E 20 20 D4 48 45 59 20 4C 4F 41 44 20 41 54 |D. .HEY LOAD AT|
00000930: 20 24 31 33 30 30 2C 20 53 4F 20 20 20 20 2A 0D | $1300, SO *.|
00000940: 3B 2A 20 54 48 45 59 20 41 52 45 20 49 4E 20 41 |;* THEY ARE IN A|
00000950: 20 53 41 46 45 20 50 4C 41 43 45 20 42 45 4C 4F | SAFE PLACE BELO|
00000960: 57 20 C2 C1 D3 C9 C3 20 54 45 58 54 20 41 52 45 |W ..... TEXT ARE|
00000970: 41 2E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |A. |
00000980: 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 20 20 20 | *.;* |
00000990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000009A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000009B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000009C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000009D0: 20 20 2A 0D 3B 2A 20 D4 48 45 52 45 20 49 53 20 | *.;* .HERE IS |
000009E0: 4E 4F 20 C2 D5 D2 D3 D4 20 C6 CF D2 CD C1 D4 20 |NO ..... ...... |
000009F0: 52 4F 55 54 49 4E 45 20 50 52 4F 56 49 44 45 44 |ROUTINE PROVIDED|
00000A00: 2E 20 20 C2 D5 D2 D3 D4 20 46 4F 52 4D 41 54 53 |. ..... FORMATS|
00000A10: 20 43 41 4E 20 42 45 20 20 20 20 20 2A 0D 3B 2A | CAN BE *.;*|
00000A20: 20 41 43 43 4F 4D 50 4C 49 53 48 45 44 20 45 41 | ACCOMPLISHED EA|
00000A30: 53 49 4C 59 20 46 52 4F 4D 20 C2 C1 D3 C9 C3 2E |SILY FROM ......|
00000A40: 20 20 C6 4F 52 20 45 58 41 4D 50 4C 45 2C 20 54 | .OR EXAMPLE, T|
00000A50: 48 45 20 46 4F 4C 4C 4F 57 49 4E 47 20 C2 C1 D3 |HE FOLLOWING ...|
00000A60: C9 C3 20 20 20 20 2A 0D 3B 2A 20 43 4F 4D 4D 41 |.. *.;* COMMA|
00000A70: 4E 44 53 20 57 49 4C 4C 20 46 4F 52 4D 41 54 20 |NDS WILL FORMAT |
00000A80: 50 48 59 53 49 43 41 4C 20 54 52 41 43 4B 53 20 |PHYSICAL TRACKS |
00000A90: 31 30 20 54 48 52 4F 55 47 48 20 32 30 20 4F 46 |10 THROUGH 20 OF|
00000AA0: 20 54 48 45 20 44 49 53 4B 20 57 49 54 48 20 20 | THE DISK WITH |
00000AB0: 2A 0D 3B 2A 20 35 20 31 30 32 34 20 42 59 54 45 |*.;* 5 1024 BYTE|
00000AC0: 20 53 45 43 54 4F 52 53 3A 20 20 20 20 20 20 20 | SECTORS: |
00000AD0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000AE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000AF0: 20 20 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 20 | *.;* |
00000B00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B40: 20 20 20 20 2A 0D 3B 2A 20 20 20 20 20 CF D0 C5 | *.;* ...|
00000B50: CE 20 31 2C 38 2C 31 35 20 20 20 20 20 20 20 20 |. 1,8,15 |
00000B60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000B80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D | *.|
00000B90: 3B 2A 20 20 20 20 20 D0 D2 C9 CE D4 23 31 2C 22 |;* .....#1,"|
00000BA0: D5 30 22 3B C3 C8 D2 24 28 33 29 3B C3 C8 D2 24 |.0";...$(3);...$|
00000BB0: 28 32 30 29 3B C3 C8 D2 24 28 35 29 3B C3 C8 D2 |(20);...$(5);...|
00000BC0: 24 28 31 30 29 3B 20 20 20 20 20 20 20 20 20 20 |$(10); |
00000BD0: 20 20 20 20 20 20 20 20 2A 0D 3B 2A 20 20 20 20 | *.;* |
00000BE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000BF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000C00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000C10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000C20: 20 20 2A 0D 3B 2A 20 CE 4F 54 45 20 54 48 45 20 | *.;* .OTE THE |
00000C30: 55 53 45 20 4F 46 20 54 48 45 20 53 45 4D 49 43 |USE OF THE SEMIC|
00000C40: 4F 4C 4F 4E 20 28 3B 29 20 41 54 20 54 48 45 20 |OLON (;) AT THE |
00000C50: 45 4E 44 20 4F 46 20 54 48 45 20 53 54 41 54 45 |END OF THE STATE|
00000C60: 4D 45 4E 54 2E 20 20 D4 48 49 53 20 2A 0D 3B 2A |MENT. .HIS *.;*|
00000C70: 20 49 53 20 56 45 52 59 20 49 4D 50 4F 52 54 41 | IS VERY IMPORTA|
00000C80: 4E 54 21 20 20 C9 46 20 54 48 45 52 45 20 57 41 |NT! .F THERE WA|
00000C90: 53 20 4E 4F 20 53 45 4D 49 43 4F 4C 4F 4E 2C 20 |S NO SEMICOLON, |
00000CA0: 54 48 45 20 C3 31 32 38 20 57 4F 55 4C 44 20 20 |THE .128 WOULD |
00000CB0: 20 20 20 20 20 20 2A 0D 3B 2A 20 53 45 4E 44 20 | *.;* SEND |
00000CC0: 41 20 43 41 52 52 49 41 47 45 20 52 45 54 55 52 |A CARRIAGE RETUR|
00000CD0: 4E 20 41 46 54 45 52 20 54 48 45 20 4C 41 53 54 |N AFTER THE LAST|
00000CE0: 20 50 41 52 41 4D 45 54 45 52 2E 20 20 D3 49 4E | PARAMETER. .IN|
00000CF0: 43 45 20 54 48 45 20 31 35 38 31 20 20 20 20 20 |CE THE 1581 |
00000D00: 2A 0D 3B 2A 20 43 4F 55 4E 54 53 20 54 48 45 20 |*.;* COUNTS THE |
00000D10: 4E 55 4D 42 45 52 20 4F 46 20 42 59 54 45 53 20 |NUMBER OF BYTES |
00000D20: 53 45 4E 54 20 54 4F 20 44 45 54 45 52 4D 49 4E |SENT TO DETERMIN|
00000D30: 45 20 54 48 45 20 4E 55 4D 42 45 52 20 4F 46 20 |E THE NUMBER OF |
00000D40: 4F 50 54 49 4F 4E 41 4C 20 20 2A 0D 3B 2A 20 50 |OPTIONAL *.;* P|
00000D50: 41 52 41 4D 45 54 45 52 53 20 54 48 41 54 20 41 |ARAMETERS THAT A|
00000D60: 52 45 20 42 45 49 4E 47 20 53 45 4E 54 2C 20 49 |RE BEING SENT, I|
00000D70: 54 20 57 4F 55 4C 44 20 4D 49 53 49 4E 54 45 52 |T WOULD MISINTER|
00000D80: 50 52 45 54 20 54 48 45 20 43 41 52 52 49 41 47 |PRET THE CARRIAG|
00000D90: 45 20 20 20 2A 0D 3B 2A 20 52 45 54 55 52 4E 20 |E *.;* RETURN |
00000DA0: 41 53 20 54 48 45 20 4E 45 58 54 20 4F 50 54 49 |AS THE NEXT OPTI|
00000DB0: 4F 4E 41 4C 20 50 41 52 41 4D 45 54 45 52 2E 20 |ONAL PARAMETER. |
00000DC0: 20 C9 4E 20 54 48 49 53 20 43 41 53 45 2C 20 49 | .N THIS CASE, I|
00000DD0: 54 20 57 4F 55 4C 44 20 42 45 20 20 20 20 2A 0D |T WOULD BE *.|
00000DE0: 3B 2A 20 46 49 4C 4C 20 42 59 54 45 2E 20 20 C1 |;* FILL BYTE. .|
00000DF0: 4E 59 20 46 4F 52 4D 41 54 54 49 4E 47 20 45 52 |NY FORMATTING ER|
00000E00: 52 4F 52 53 20 43 41 4E 20 42 45 20 43 48 45 43 |RORS CAN BE CHEC|
00000E10: 4B 45 44 20 56 49 41 20 54 48 45 20 43 4F 4D 4D |KED VIA THE COMM|
00000E20: 41 4E 44 20 20 20 20 20 2A 0D 3B 2A 20 43 48 41 |AND *.;* CHA|
00000E30: 4E 4E 45 4C 2E 20 20 20 20 20 20 20 20 20 20 20 |NNEL. |
00000E40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000E50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000E60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000E70: 20 20 2A 0D 3B 2A 20 20 20 20 20 20 20 20 20 20 | *.;* |
00000E80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000E90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000EA0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000EB0: 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D 3B 2A | *.;*|
00000EC0: 20 D3 49 4E 43 45 20 54 48 45 20 C2 D5 D2 D3 D4 | .INCE THE .....|
00000ED0: 20 43 4F 4D 4D 41 4E 44 53 20 4D 41 4B 45 20 55 | COMMANDS MAKE U|
00000EE0: 53 45 20 4F 46 20 54 48 45 20 43 4F 4D 4D 41 4E |SE OF THE COMMAN|
00000EF0: 44 20 43 48 41 4E 4E 45 4C 20 54 4F 20 54 48 45 |D CHANNEL TO THE|
00000F00: 20 20 20 20 20 20 2A 0D 3B 2A 20 44 52 49 56 45 | *.;* DRIVE|
00000F10: 2C 20 54 48 45 20 43 4F 4D 4D 41 4E 44 20 43 48 |, THE COMMAND CH|
00000F20: 41 4E 4E 45 4C 20 4D 55 53 54 20 46 49 52 53 54 |ANNEL MUST FIRST|
00000F30: 20 42 45 20 CF D0 C5 CE 45 44 20 49 4E 20 59 4F | BE ....ED IN YO|
00000F40: 55 52 20 C2 C1 D3 C9 C3 20 20 20 20 20 20 20 20 |UR ..... |
00000F50: 2A 0D 3B 2A 20 50 52 4F 47 52 41 4D 2E 20 20 D4 |*.;* PROGRAM. .|
00000F60: 48 45 20 4C 4F 47 49 43 41 4C 20 46 49 4C 45 20 |HE LOGICAL FILE |
00000F70: 4E 55 4D 42 45 52 20 57 48 49 43 48 20 59 4F 55 |NUMBER WHICH YOU|
00000F80: 20 41 53 53 49 47 4E 45 44 20 54 4F 20 54 48 45 | ASSIGNED TO THE|
00000F90: 20 43 4F 4D 4D 41 4E 44 20 20 2A 0D 3B 2A 20 43 | COMMAND *.;* C|
00000FA0: 48 41 4E 4E 45 4C 20 53 48 4F 55 4C 44 20 42 45 |HANNEL SHOULD BE|
00000FB0: 20 50 4F 4B 45 44 20 54 4F 20 CC C6 20 42 45 46 | POKED TO .. BEF|
00000FC0: 4F 52 45 20 43 41 4C 4C 49 4E 47 20 41 4E 59 20 |ORE CALLING ANY |
00000FD0: 4F 46 20 54 48 45 53 45 20 52 4F 55 54 49 4E 45 |OF THESE ROUTINE|
00000FE0: 53 2E 20 20 2A 0D 3B 2A 20 20 20 20 20 20 20 20 |S. *.;* |
00000FF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D | *.|
00001030: 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |;***************|
00001040: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001050: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001060: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001070: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 20 0D 0D 0D 3B 2A |*********. ...;*|
00001080: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001090: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000010A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000010B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000010C0: 2A 2A 2A 2A 2A 2A 2A 0D 3B 20 20 D6 41 52 49 41 |*******.; .ARIA|
000010D0: 42 4C 45 53 20 2D 20 D6 41 4C 55 45 53 20 46 52 |BLES - .ALUES FR|
000010E0: 4F 4D 20 C2 C1 D3 C9 C3 20 43 41 4E 20 42 45 20 |OM ..... CAN BE |
000010F0: D0 CF CB C5 44 2C 20 D0 C5 C5 CB 45 44 20 54 4F |....D, ....ED TO|
00001100: 20 54 48 45 53 45 20 41 52 45 41 53 2E 0D 3B 2A | THESE AREAS..;*|
00001110: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001120: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001130: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001140: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001150: 2A 2A 2A 2A 2A 2A 2A 0D 20 20 20 20 20 20 20 20 |*******. |
00001160: 2A 3D 24 31 33 30 30 0D 0D D3 D4 C1 D4 D5 D3 20 |*=$1300........ |
00001170: 20 2E 42 59 54 45 20 30 20 20 20 20 20 20 20 20 | .BYTE 0 |
00001180: 20 20 20 20 20 20 20 20 20 3B 20 53 54 41 54 55 | ; STATU|
00001190: 53 20 42 59 54 45 0D C4 C5 D6 20 20 20 20 20 2E |S BYTE.... .|
000011A0: 42 59 54 45 20 38 20 20 20 20 20 20 20 20 20 20 |BYTE 8 |
000011B0: 20 20 20 20 20 20 20 3B 20 44 45 56 49 43 45 20 | ; DEVICE |
000011C0: 4E 55 4D 42 45 52 0D CC C6 20 20 20 20 20 20 2E |NUMBER... .|
000011D0: 42 59 54 45 20 38 20 20 20 20 20 20 20 20 20 20 |BYTE 8 |
000011E0: 20 20 20 20 20 20 20 3B 20 4C 4F 47 49 43 41 4C | ; LOGICAL|
000011F0: 20 46 49 4C 45 20 4E 55 4D 42 45 52 0D D4 D2 C1 | FILE NUMBER....|
00001200: C3 CB 20 20 20 2A 3D 2A 2B 31 20 20 20 20 20 20 |.. *=*+1 |
00001210: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 54 | ; T|
00001220: 52 41 43 4B 20 0D D3 C5 C3 D4 CF D2 20 20 2A 3D |RACK ....... *=|
00001230: 2A 2B 31 20 20 20 20 20 20 20 20 20 20 20 20 20 |*+1 |
00001240: 20 20 20 20 20 20 3B 20 53 45 43 54 4F 52 0D CE | ; SECTOR..|
00001250: D5 CD D3 C5 C3 20 20 2A 3D 2A 2B 31 20 20 20 20 |..... *=*+1 |
00001260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00001270: 20 CE 55 4D 42 45 52 20 4F 46 20 53 45 43 54 4F | .UMBER OF SECTO|
00001280: 52 53 2E 0D C2 D5 C6 CC CF C3 20 20 2A 3D 2A 2B |RS........ *=*+|
00001290: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 |
000012A0: 20 20 20 20 3B 20 D0 41 47 45 20 23 20 4F 46 20 | ; .AGE # OF |
000012B0: 42 55 46 46 45 52 20 54 4F 20 47 45 54 2F 50 55 |BUFFER TO GET/PU|
000012C0: 54 20 44 41 54 41 2E 0D D3 C5 C3 D3 C9 DA C5 20 |T DATA......... |
000012D0: 2A 3D 2A 2B 31 20 20 20 20 20 20 20 20 20 20 20 |*=*+1 |
000012E0: 20 20 20 20 20 20 20 20 3B 20 D3 45 43 54 4F 52 | ; .ECTOR|
000012F0: 20 53 49 5A 45 20 28 31 3D 32 35 36 2C 20 32 3D | SIZE (1=256, 2=|
00001300: 35 31 32 2C 20 34 3D 31 30 32 34 29 0D D3 C9 C4 |512, 4=1024)....|
00001310: C5 20 20 20 20 2A 3D 2A 2B 31 20 20 20 20 20 20 |. *=*+1 |
00001320: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 D0 | ; .|
00001330: 48 59 53 49 43 41 4C 20 53 49 44 45 20 4F 46 20 |HYSICAL SIDE OF |
00001340: 54 48 45 20 44 49 53 4B 20 28 30 20 4F 52 20 31 |THE DISK (0 OR 1|
00001350: 29 2E 0D CD C9 CE D3 C5 C3 20 20 2A 3D 2A 2B 31 |)........ *=*+1|
00001360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001370: 20 20 20 3B 20 CD 49 4E 49 4D 55 4D 20 4C 4F 47 | ; .INIMUM LOG|
00001380: 49 43 41 4C 20 53 45 43 54 4F 52 20 46 4F 55 4E |ICAL SECTOR FOUN|
00001390: 44 20 49 4E 20 D1 D5 C5 D2 D9 2E 0D CD C1 D8 D3 |D IN ...........|
000013A0: C5 C3 20 20 2A 3D 2A 2B 31 20 20 20 20 20 20 20 |.. *=*+1 |
000013B0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 CD 41 | ; .A|
000013C0: 58 49 4D 55 4D 20 4C 4F 47 49 43 41 4C 20 53 45 |XIMUM LOGICAL SE|
000013D0: 43 54 4F 52 20 46 4F 55 4E 44 20 49 4E 20 D1 D5 |CTOR FOUND IN ..|
000013E0: C5 D2 D9 2E 0D C9 CE D4 CC D6 20 20 20 2A 3D 2A |.......... *=*|
000013F0: 2B 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |+1 |
00001400: 20 20 20 20 20 3B 20 D0 48 59 53 49 43 41 4C 20 | ; .HYSICAL |
00001410: 49 4E 54 45 52 4C 45 41 56 45 20 46 4F 55 4E 44 |INTERLEAVE FOUND|
00001420: 20 49 4E 20 D1 D5 C5 D2 D9 2E 0D C6 CC C1 C7 20 | IN ........... |
00001430: 20 20 20 2A 3D 2A 2B 31 20 20 20 20 20 20 20 20 | *=*+1 |
00001440: 20 20 20 20 20 20 20 20 20 20 20 3B 20 C5 4D 50 | ; .MP|
00001450: 54 59 20 54 52 41 43 4B 20 46 4C 41 47 2E 0D 20 |TY TRACK FLAG.. |
00001460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00001480: 20 20 D4 48 49 53 20 46 4C 41 47 20 49 53 20 55 | .HIS FLAG IS U|
00001490: 53 45 44 20 54 4F 20 49 4E 44 49 43 41 54 45 20 |SED TO INDICATE |
000014A0: 54 48 41 54 20 54 48 45 0D 20 20 20 20 20 20 20 |THAT THE. |
000014B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000014C0: 20 20 20 20 20 20 20 20 20 3B 20 20 54 52 41 43 | ; TRAC|
000014D0: 4B 20 4F 52 20 44 41 54 41 20 4A 55 53 54 20 52 |K OR DATA JUST R|
000014E0: 45 41 44 20 43 4F 4E 54 41 49 4E 53 20 41 4C 4C |EAD CONTAINS ALL|
000014F0: 20 30 27 53 2E 0D 20 20 20 20 20 20 20 20 20 20 | 0'S.. |
00001500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001510: 20 20 20 20 20 20 3B 20 20 D4 48 49 53 20 49 53 | ; .HIS IS|
00001520: 20 48 41 4E 44 59 20 49 4E 20 53 4F 4D 45 20 43 | HANDY IN SOME C|
00001530: 41 53 45 53 2C 20 53 55 43 48 20 41 53 0D 20 20 |ASES, SUCH AS. |
00001540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00001560: 20 44 55 52 49 4E 47 20 41 20 44 49 53 4B 20 43 | DURING A DISK C|
00001570: 4F 50 59 20 50 52 4F 47 52 41 4D 2E 20 20 D7 48 |OPY PROGRAM. .H|
00001580: 45 4E 20 41 20 44 49 53 4B 0D 20 20 20 20 20 20 |EN A DISK. |
00001590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000015A0: 20 20 20 20 20 20 20 20 20 20 3B 20 20 49 53 20 | ; IS |
000015B0: 46 4F 52 4D 41 54 54 45 44 2C 20 54 48 45 20 53 |FORMATTED, THE S|
000015C0: 45 43 54 4F 52 53 20 41 52 45 20 46 49 4C 4C 45 |ECTORS ARE FILLE|
000015D0: 44 20 57 49 54 48 0D 20 20 20 20 20 20 20 20 20 |D WITH. |
000015E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000015F0: 20 20 20 20 20 20 20 3B 20 20 30 27 53 2E 20 20 | ; 0'S. |
00001600: C9 46 20 41 20 53 45 43 54 4F 52 20 54 4F 20 42 |.F A SECTOR TO B|
00001610: 45 20 43 4F 50 49 45 44 20 43 4F 4E 54 41 49 4E |E COPIED CONTAIN|
00001620: 53 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |S. |
00001630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001640: 20 20 3B 20 20 41 4C 4C 20 30 27 53 2C 20 54 48 | ; ALL 0'S, TH|
00001650: 45 4E 20 57 45 20 44 4F 4E 27 54 20 42 4F 54 48 |EN WE DON'T BOTH|
00001660: 45 52 20 54 4F 0D 20 20 20 20 20 20 20 20 20 20 |ER TO. |
00001670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001680: 20 20 20 20 20 20 3B 20 20 57 52 49 54 45 20 49 | ; WRITE I|
00001690: 54 20 54 4F 20 54 48 45 20 44 45 53 54 49 4E 41 |T TO THE DESTINA|
000016A0: 54 49 4F 4E 20 44 49 53 4B 20 28 57 48 49 43 48 |TION DISK (WHICH|
000016B0: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
000016C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000016D0: 20 3B 20 20 43 41 4E 20 45 4E 44 20 55 50 20 53 | ; CAN END UP S|
000016E0: 41 56 49 4E 47 20 41 20 47 52 45 41 54 20 44 45 |AVING A GREAT DE|
000016F0: 41 4C 20 4F 46 20 54 49 4D 45 21 29 2E 0D 0D 3B |AL OF TIME!)...;|
00001700: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001710: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001720: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001730: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001740: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 3B 20 20 CF 54 48 |*********.; .TH|
00001750: 45 52 20 56 41 52 49 41 42 4C 45 53 20 55 53 45 |ER VARIABLES USE|
00001760: 44 20 49 4E 20 54 48 45 20 46 4F 4C 4C 4F 57 49 |D IN THE FOLLOWI|
00001770: 4E 47 20 52 4F 55 54 49 4E 45 53 2E 2E 2E 2E 0D |NG ROUTINES.....|
00001780: 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |;***************|
00001790: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000017A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000017B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000017C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0D 43 4D 44 4C |**********..CMDL|
000017D0: 49 4E 45 0D 20 20 20 20 20 20 20 20 2E 42 59 54 |INE. .BYT|
000017E0: 45 20 27 55 30 27 20 20 20 20 20 20 20 20 20 20 |E 'U0' |
000017F0: 20 20 20 20 3B 20 C2 55 52 53 54 20 50 52 45 46 | ; .URST PREF|
00001800: 49 58 2E 0D 20 20 20 20 20 20 20 20 2A 3D 2A 2B |IX.. *=*+|
00001810: 31 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |10 |
00001820: 20 20 20 20 3B 20 D0 41 52 41 4D 45 54 45 52 20 | ; .ARAMETER |
00001830: 53 50 41 43 45 20 46 4F 52 20 42 55 52 53 54 20 |SPACE FOR BURST |
00001840: 43 4F 4D 4D 41 4E 44 2E 0D 43 4D 44 4C 45 4E 20 |COMMAND..CMDLEN |
00001850: 20 2A 3D 2A 2B 31 20 20 20 20 20 20 20 20 20 20 | *=*+1 |
00001860: 20 20 20 20 20 20 20 20 20 3B 20 CC 45 4E 47 54 | ; .ENGT|
00001870: 48 20 4F 46 20 54 48 45 20 43 4F 4D 4D 41 4E 44 |H OF THE COMMAND|
00001880: 20 53 54 52 49 4E 47 20 28 23 20 4F 46 20 42 59 | STRING (# OF BY|
00001890: 54 45 53 29 2E 0D 4F 4C 44 43 4C 4B 20 20 2A 3D |TES)..OLDCLK *=|
000018A0: 2A 2B 31 20 20 20 20 20 20 20 20 20 20 20 20 20 |*+1 |
000018B0: 20 20 20 20 20 20 3B 20 D3 54 41 54 55 53 20 4F | ; .TATUS O|
000018C0: 46 20 43 4C 4F 43 4B 20 4C 49 4E 45 2E 0D 54 45 |F CLOCK LINE..TE|
000018D0: 4D 50 20 20 20 20 2A 3D 2A 2B 31 0D 0D 20 20 20 |MP *=*+1.. |
000018E0: 20 20 20 20 20 2A 3D 24 31 33 33 35 0D 20 20 20 | *=$1335. |
000018F0: 20 20 20 20 20 2E 42 59 54 45 20 27 47 52 45 47 | .BYTE 'GREG|
00001900: 20 42 45 52 4C 49 4E 27 20 20 20 20 20 3B 20 D7 | BERLIN' ; .|
00001910: 52 49 54 54 45 4E 20 42 59 20 C7 52 45 47 20 C2 |RITTEN BY .REG .|
00001920: 45 52 4C 49 4E 2C 20 33 2F 38 37 0D 0D 0D 0D 0D |ERLIN, 3/87.....|
00001930: 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |;***************|
00001940: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001950: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001960: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001970: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 3B 20 20 CA |***********.; .|
00001980: D5 CD D0 20 D4 C1 C2 CC C5 20 4F 46 20 41 56 41 |... ..... OF AVA|
00001990: 49 4C 41 42 4C 45 20 42 55 52 53 54 20 52 4F 55 |ILABLE BURST ROU|
000019A0: 54 49 4E 45 53 2E 20 20 D3 D9 D3 20 54 4F 20 54 |TINES. ... TO T|
000019B0: 48 45 53 45 20 4C 4F 43 41 54 49 4F 4E 53 20 46 |HESE LOCATIONS F|
000019C0: 52 4F 4D 20 0D 3B 20 20 C2 C1 D3 C9 C3 2E 20 20 |ROM .; ...... |
000019D0: D4 48 45 20 C2 D5 D2 D3 D4 20 52 4F 55 54 49 4E |.HE ..... ROUTIN|
000019E0: 45 53 20 54 48 45 4D 53 45 4C 56 45 53 20 43 41 |ES THEMSELVES CA|
000019F0: 4E 20 54 48 45 4E 20 42 45 20 4D 4F 44 49 46 49 |N THEN BE MODIFI|
00001A00: 45 44 20 4F 52 20 43 55 53 54 4F 4D 49 5A 45 44 |ED OR CUSTOMIZED|
00001A10: 0D 3B 20 20 57 49 54 48 4F 55 54 20 41 46 46 45 |.; WITHOUT AFFE|
00001A20: 43 54 49 4E 47 20 54 48 45 20 D3 D9 D3 20 4C 4F |CTING THE ... LO|
00001A30: 43 41 54 49 4F 4E 53 20 46 52 4F 4D 20 C2 C1 D3 |CATIONS FROM ...|
00001A40: C9 C3 2E 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |....;***********|
00001A50: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001A60: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001A70: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001A80: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D |***************.|
00001A90: 20 20 20 20 20 20 20 20 2A 3D 24 31 33 34 30 0D | *=$1340.|
00001AA0: 0D CA 5F C9 CE D1 D5 C9 D2 C5 5F C6 CF D2 CD C1 |.._......._.....|
00001AB0: D4 20 20 20 20 20 20 20 20 0D 20 20 20 20 20 20 |. . |
00001AC0: 20 20 4A 4D 50 20 C9 CE D1 D5 C9 D2 C5 5F C6 CF | JMP ......._..|
00001AD0: D2 CD C1 D4 20 20 20 20 20 20 20 20 20 20 20 20 |.... |
00001AE0: 20 20 0D CA 5F D0 C8 D9 D3 C9 C3 C1 CC 5F D2 C5 | .._........_..|
00001AF0: C1 C4 0D 20 20 20 20 20 20 20 20 4A 4D 50 20 D0 |... JMP .|
00001B00: D2 C5 C1 C4 0D CA 5F CC CF C7 C9 C3 C1 CC 5F D2 |......_......._.|
00001B10: C5 C1 C4 0D 20 20 20 20 20 20 20 20 4A 4D 50 20 |.... JMP |
00001B20: CC D2 C5 C1 C4 0D CA 5F D0 C8 D9 D3 C9 C3 C1 CC |......._........|
00001B30: 5F D7 D2 C9 D4 C5 0D 20 20 20 20 20 20 20 20 4A |_...... J|
00001B40: 4D 50 20 D0 D7 D2 C9 D4 C5 0D CA 5F CC CF C7 C9 |MP ........_....|
00001B50: C3 C1 CC 5F D7 D2 C9 D4 C5 0D 20 20 20 20 20 20 |..._...... |
00001B60: 20 20 4A 4D 50 20 CC D7 D2 C9 D4 C5 0D CA 5F CD | JMP ........_.|
00001B70: C5 CD CF D2 D9 5F D2 C5 C1 C4 0D 20 20 20 20 20 |....._..... |
00001B80: 20 20 20 4A 4D 50 20 CD C5 CD CF D2 D9 5F D2 C5 | JMP ......_..|
00001B90: C1 C4 0D CA 5F CD C5 CD CF D2 D9 5F D7 D2 C9 D4 |...._......_....|
00001BA0: C5 0D 20 20 20 20 20 20 20 20 4A 4D 50 20 CD C5 |.. JMP ..|
00001BB0: CD CF D2 D9 5F D7 D2 C9 D4 C5 0D CA 5F C4 D5 CD |...._......._...|
00001BC0: D0 5F C3 C1 C3 C8 C5 0D 20 20 20 20 20 20 20 20 |._...... |
00001BD0: 4A 4D 50 20 C4 D5 CD D0 5F C3 C1 C3 C8 C5 0D CA |JMP ...._.......|
00001BE0: 5F D1 D5 C5 D2 D9 5F C6 CF D2 CD C1 D4 0D 20 20 |_....._....... |
00001BF0: 20 20 20 20 20 20 4A 4D 50 20 D1 D5 C5 D2 D9 5F | JMP ....._|
00001C00: C6 CF D2 CD C1 D4 0D CA 5F C3 CF CD D0 C1 D2 C5 |........_.......|
00001C10: 5F CD C5 CD CF D2 D9 0D 20 20 20 20 20 20 20 20 |_....... |
00001C20: 4A 4D 50 20 C3 CF CD D0 C1 D2 C5 5F CD C5 CD CF |JMP ......._....|
00001C30: D2 D9 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |....;***********|
00001C40: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001C50: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001C60: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001C70: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D |***************.|
00001C80: 3B 20 20 CC 4F 43 41 54 49 4F 4E 53 20 4F 46 20 |; .OCATIONS OF |
00001C90: 49 4D 50 4F 52 54 41 4E 54 20 C3 31 32 38 20 53 |IMPORTANT .128 S|
00001CA0: 54 55 46 46 2E 2E 2E 0D 3B 2A 2A 2A 2A 2A 2A 2A |TUFF....;*******|
00001CB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001CC0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001CD0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001CE0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00001CF0: 2A 2A 2A 0D 0D 43 48 4B 4F 55 54 3D 24 46 46 43 |***..CHKOUT=$FFC|
00001D00: 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |9 |
00001D10: 20 20 20 20 20 3B 20 4B 45 52 4E 45 4C 20 43 48 | ; KERNEL CH|
00001D20: 41 4E 4E 45 4C 20 4F 55 54 50 55 54 20 0D 43 4C |ANNEL OUTPUT .CL|
00001D30: 52 43 48 4E 3D 24 46 46 43 43 20 20 20 20 20 20 |RCHN=$FFCC |
00001D40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00001D50: 4B 45 52 4E 45 4C 20 43 4C 45 41 52 20 43 48 41 |KERNEL CLEAR CHA|
00001D60: 4E 4E 45 4C 0D 53 45 54 4C 46 53 3D 24 46 46 42 |NNEL.SETLFS=$FFB|
00001D70: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |A |
00001D80: 20 20 20 20 20 3B 20 4B 45 52 4E 45 4C 20 53 45 | ; KERNEL SE|
00001D90: 54 20 4C 4F 47 49 43 41 4C 20 46 49 4C 45 20 4E |T LOGICAL FILE N|
00001DA0: 55 4D 42 45 52 0D 53 45 54 4E 41 4D 3D 24 46 46 |UMBER.SETNAM=$FF|
00001DB0: 42 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |BD |
00001DC0: 20 20 20 20 20 20 3B 20 4B 45 52 4E 45 4C 20 53 | ; KERNEL S|
00001DD0: 45 54 20 46 49 4C 45 4E 41 4D 45 0D 42 53 4F 55 |ET FILENAME.BSOU|
00001DE0: 54 20 3D 24 46 46 44 32 20 20 20 20 20 20 20 20 |T =$FFD2 |
00001DF0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 4B 45 | ; KE|
00001E00: 52 4E 45 4C 20 42 41 53 49 43 20 49 4E 50 55 54 |RNEL BASIC INPUT|
00001E10: 2F 4F 55 54 50 55 54 0D 53 50 49 4E 5F 4F 55 54 |/OUTPUT.SPIN_OUT|
00001E20: 3D 24 46 46 34 37 20 20 20 20 20 20 20 20 20 20 |=$FF47 |
00001E30: 20 20 20 20 20 20 20 20 3B 20 D3 45 54 20 55 50 | ; .ET UP|
00001E40: 20 46 41 53 54 20 53 45 52 49 41 4C 20 46 4F 52 | FAST SERIAL FOR|
00001E50: 20 49 4E 50 55 54 20 4F 52 20 4F 55 54 50 55 54 | INPUT OR OUTPUT|
00001E60: 2E 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00001E70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001E80: 20 20 3B 20 20 D3 C5 C3 20 46 4F 52 20 4F 55 54 | ; ... FOR OUT|
00001E90: 50 55 54 2C 20 C3 CC C3 20 46 4F 52 20 49 4E 50 |PUT, ... FOR INP|
00001EA0: 55 54 2E 0D 44 32 50 52 41 20 3D 24 44 44 30 30 |UT..D2PRA =$DD00|
00001EB0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001EC0: 20 20 20 20 3B 20 C3 31 32 38 20 53 45 52 49 41 | ; .128 SERIA|
00001ED0: 4C 20 50 4F 52 54 20 4C 4F 43 41 54 49 4F 4E 0D |L PORT LOCATION.|
00001EE0: 43 4C 4B 4F 55 54 3D 24 31 30 20 20 20 20 20 20 |CLKOUT=$10 |
00001EF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001F00: 3B 20 53 4C 4F 57 20 53 45 52 49 41 4C 20 43 4C |; SLOW SERIAL CL|
00001F10: 4F 43 4B 20 4F 55 54 50 55 54 20 42 49 54 20 4D |OCK OUTPUT BIT M|
00001F20: 41 53 4B 0D 43 4C 4B 49 4E 20 3D 24 34 30 20 20 |ASK.CLKIN =$40 |
00001F30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001F40: 20 20 20 20 3B 20 53 4C 4F 57 20 53 45 52 49 41 | ; SLOW SERIA|
00001F50: 4C 20 43 4C 4F 43 4B 20 49 4E 50 55 54 20 42 49 |L CLOCK INPUT BI|
00001F60: 54 20 4D 41 53 4B 0D 44 31 49 43 52 20 3D 24 44 |T MASK.D1ICR =$D|
00001F70: 43 30 44 20 20 20 20 20 20 20 20 20 20 20 20 20 |C0D |
00001F80: 20 20 20 20 20 20 20 3B 20 36 35 32 36 20 C3 C9 | ; 6526 ..|
00001F90: C1 20 49 4E 54 45 52 52 55 50 54 20 43 4F 4E 54 |. INTERRUPT CONT|
00001FA0: 52 4F 4C 20 52 45 47 49 53 54 45 52 0D 44 31 53 |ROL REGISTER.D1S|
00001FB0: 44 52 20 3D 24 44 43 30 43 20 20 20 20 20 20 20 |DR =$DC0C |
00001FC0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 36 | ; 6|
00001FD0: 35 32 36 20 C3 C9 C1 20 53 45 52 49 41 4C 20 44 |526 ... SERIAL D|
00001FE0: 41 54 41 20 52 45 47 49 53 54 45 52 0D 42 55 46 |ATA REGISTER.BUF|
00001FF0: 46 45 52 3D 24 46 41 20 20 20 20 20 20 20 20 20 |FER=$FA |
00002000: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 5A | ; Z|
00002010: 45 52 4F 20 50 41 47 45 20 50 4F 49 4E 54 45 52 |ERO PAGE POINTER|
00002020: 20 56 41 52 49 41 42 4C 45 0D 42 55 46 46 45 52 | VARIABLE.BUFFER|
00002030: 32 3D 24 46 43 20 20 20 20 20 20 20 20 20 20 20 |2=$FC |
00002040: 20 20 20 20 20 20 20 20 20 20 3B 20 5A 45 52 4F | ; ZERO|
00002050: 20 50 41 47 45 20 50 4F 49 4E 54 45 52 20 56 41 | PAGE POINTER VA|
00002060: 52 49 41 42 4C 45 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A |RIABLE..;*******|
00002070: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002080: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002090: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000020A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000020B0: 2A 2A 2A 0D 3B 20 20 C2 D5 D2 D3 D4 20 43 4F 4D |***.; ..... COM|
000020C0: 4D 41 4E 44 20 50 52 49 4D 49 54 49 56 45 53 0D |MAND PRIMITIVES.|
000020D0: 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |;***************|
000020E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000020F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002100: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002110: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0D D0 C2 D5 |***********.....|
00002120: D2 D3 D4 D2 C4 20 3D 24 30 30 20 20 20 20 20 20 |..... =$00 |
00002130: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 D0 | ; .|
00002140: 48 59 53 49 43 41 4C 20 42 55 52 53 54 20 52 45 |HYSICAL BURST RE|
00002150: 41 44 2E 0D D0 C2 D5 D2 D3 D4 D7 D2 20 3D 24 30 |AD.......... =$0|
00002160: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 |
00002170: 20 20 20 20 3B 20 D0 48 59 53 49 43 41 4C 20 42 | ; .HYSICAL B|
00002180: 55 52 53 54 20 57 52 49 54 45 2E 0D CC C2 D5 D2 |URST WRITE......|
00002190: D3 D4 D2 C4 20 3D 24 38 30 20 20 20 20 20 20 20 |.... =$80 |
000021A0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 CC 4F | ; .O|
000021B0: 47 49 43 41 4C 20 42 55 52 53 54 20 52 45 41 44 |GICAL BURST READ|
000021C0: 0D CC C2 D5 D2 D3 D4 D7 D2 20 3D 24 38 32 20 20 |......... =$82 |
000021D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000021E0: 20 3B 20 CC 4F 47 49 43 41 4C 20 42 55 52 53 54 | ; .OGICAL BURST|
000021F0: 20 57 52 49 54 45 2E 0D C2 D5 D2 D3 D4 5F C9 CE | WRITE......._..|
00002200: D1 D5 C9 D2 C5 20 20 3D 24 30 34 20 20 20 20 20 |..... =$04 |
00002210: 20 20 20 20 20 20 20 20 3B 20 C2 55 52 53 54 20 | ; .URST |
00002220: 49 4E 51 55 49 52 45 2E 0D C4 D5 CD D0 C3 C1 C3 |INQUIRE.........|
00002230: C8 C5 20 3D 24 39 C4 20 20 20 20 20 20 20 20 20 |.. =$9. |
00002240: 20 20 20 20 20 20 20 20 20 3B 20 C4 55 4D 50 20 | ; .UMP |
00002250: 54 52 41 43 4B 20 43 41 43 48 45 20 28 27 46 4F |TRACK CACHE ('FO|
00002260: 52 43 45 27 20 42 49 54 20 53 45 54 29 0D C2 D5 |RCE' BIT SET)...|
00002270: D2 D3 D4 5F D1 D5 C5 D2 D9 20 3D 24 38 C1 20 20 |..._..... =$8. |
00002280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00002290: D1 55 45 52 59 20 44 49 53 4B 20 46 4F 52 4D 41 |.UERY DISK FORMA|
000022A0: 54 2E 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |T...;***********|
000022B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000022C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000022D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000022E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D |***************.|
000022F0: 3B 2A 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |;* -------------|
00002300: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 20 C2 D5 |------------ ..|
00002310: D2 D3 D4 20 D2 CF D5 D4 C9 CE C5 D3 20 2D 2D 2D |... ........ ---|
00002320: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00002330: 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 2A 0D 3B 2A 2A 2A |--------- *.;***|
00002340: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002350: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002360: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002370: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00002380: 2A 2A 2A 2A 2A 2A 2A 0D 0D CC D2 C5 C1 C4 20 20 |*******....... |
00002390: 20 20 20 20 20 20 20 20 20 3B CC 4F 47 49 43 41 | ;.OGICA|
000023A0: 4C 20 53 45 43 54 4F 52 20 52 45 41 44 20 46 52 |L SECTOR READ FR|
000023B0: 4F 4D 20 54 48 45 20 44 45 56 49 43 45 20 49 4E |OM THE DEVICE IN|
000023C0: 44 49 43 41 54 45 44 20 42 59 20 CC C6 2E 0D 20 |DICATED BY .... |
000023D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
000023E0: D4 48 45 20 54 52 41 43 4B 20 41 4E 44 20 53 45 |.HE TRACK AND SE|
000023F0: 43 54 4F 52 20 41 52 45 20 49 4E 20 D4 D2 C1 C3 |CTOR ARE IN ....|
00002400: CB 2C 20 D3 C5 C3 D4 CF D2 2E 20 D4 48 45 20 4C |., ....... .HE L|
00002410: 4F 43 41 54 49 4F 4E 0D 20 20 20 20 20 20 20 20 |OCATION. |
00002420: 20 20 20 20 20 20 20 20 3B D3 54 41 54 55 53 20 | ;.TATUS |
00002430: 42 59 54 45 20 46 52 4F 4D 20 44 52 49 56 45 20 |BYTE FROM DRIVE |
00002440: 49 53 20 52 45 54 55 52 4E 45 44 20 49 4E 20 D3 |IS RETURNED IN .|
00002450: D4 C1 D4 D5 D3 2E 0D 0D 20 20 20 20 20 20 20 20 |........ |
00002460: 4C 44 41 20 20 23 4C 42 55 52 53 54 52 44 20 20 |LDA #LBURSTRD |
00002470: 20 20 20 20 20 20 20 20 3B 4C 4F 47 49 43 41 4C | ;LOGICAL|
00002480: 20 42 55 52 53 54 20 52 45 41 44 20 43 4F 4D 4D | BURST READ COMM|
00002490: 41 4E 44 0D 20 20 20 20 20 20 20 20 53 54 41 20 |AND. STA |
000024A0: 20 43 4D 44 4C 49 4E 45 2B 32 20 20 20 20 20 20 | CMDLINE+2 |
000024B0: 20 20 20 20 0D 20 20 20 20 20 20 20 20 4C 44 41 | . LDA|
000024C0: 20 23 24 30 31 0D 20 20 20 20 20 20 20 20 53 54 | #$01. ST|
000024D0: 41 20 D3 C5 C3 D3 C9 DA C5 20 20 20 20 20 20 20 |A ....... |
000024E0: 20 20 20 20 20 20 3B CC 4F 47 49 43 41 4C 20 53 | ;.OGICAL S|
000024F0: 45 43 54 4F 52 20 53 49 5A 45 20 49 53 20 41 4C |ECTOR SIZE IS AL|
00002500: 57 41 59 53 20 32 35 36 20 42 59 54 45 53 2E 0D |WAYS 256 BYTES..|
00002510: 20 20 20 20 20 20 20 20 4A 4D 50 20 D2 C5 C1 C4 | JMP ....|
00002520: 0D 0D D0 D2 C5 C1 C4 20 20 20 20 20 20 20 20 20 |....... |
00002530: 20 20 3B D0 48 59 53 49 43 41 4C 20 53 45 43 54 | ;.HYSICAL SECT|
00002540: 4F 52 20 52 45 41 44 20 46 52 4F 4D 20 44 45 56 |OR READ FROM DEV|
00002550: 49 43 45 20 49 4E 44 49 43 41 54 45 44 20 42 59 |ICE INDICATED BY|
00002560: 20 CC C6 2E 0D 20 20 20 20 20 20 20 20 20 20 20 | .... |
00002570: 20 20 20 20 20 3B D4 48 45 20 54 52 41 43 4B 20 | ;.HE TRACK |
00002580: 41 4E 44 20 53 45 43 54 4F 52 20 41 52 45 20 49 |AND SECTOR ARE I|
00002590: 4E 20 D4 D2 C1 C3 CB 2C 20 D3 C5 C3 D4 CF D2 2E |N ....., .......|
000025A0: 20 D4 48 45 20 4C 4F 43 41 54 49 4F 4E 0D 20 20 | .HE LOCATION. |
000025B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 4F | ;O|
000025C0: 46 20 53 54 41 52 54 20 4F 46 20 54 48 45 20 C3 |F START OF THE .|
000025D0: 31 32 38 20 42 55 46 46 45 52 20 54 4F 20 50 55 |128 BUFFER TO PU|
000025E0: 54 20 54 48 45 20 52 45 41 44 20 44 41 54 41 20 |T THE READ DATA |
000025F0: 49 4E 20 C2 D5 C6 CC CF C3 2E 0D 20 20 20 20 20 |IN ........ |
00002600: 20 20 20 20 20 20 20 20 20 20 20 3B D4 48 45 20 | ;.HE |
00002610: 50 48 59 53 49 43 41 4C 20 53 45 43 54 4F 52 20 |PHYSICAL SECTOR |
00002620: 53 49 5A 45 20 49 4E 20 D3 C5 C3 D3 C9 DA C5 20 |SIZE IN ....... |
00002630: 28 31 3D 32 35 36 2C 32 3D 35 31 32 2C 34 3D 31 |(1=256,2=512,4=1|
00002640: 30 32 34 29 2E 0D 20 20 20 20 20 20 20 20 20 20 |024).. |
00002650: 20 20 20 20 20 20 3B CE 55 4D 42 45 52 20 4F 46 | ;.UMBER OF|
00002660: 20 53 45 43 54 4F 52 53 20 49 4E 20 CE D5 CD D3 | SECTORS IN ....|
00002670: C5 C3 2E 20 0D 20 20 20 20 20 20 20 20 20 20 20 |... . |
00002680: 20 20 20 20 20 3B D0 48 59 53 49 43 41 4C 20 53 | ;.HYSICAL S|
00002690: 49 44 45 20 4F 46 20 54 48 45 20 44 49 53 4B 20 |IDE OF THE DISK |
000026A0: 49 4E 20 D3 C9 C4 C5 20 28 30 20 4F 52 20 31 29 |IN .... (0 OR 1)|
000026B0: 2E 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
000026C0: 20 20 3B D3 54 41 54 55 53 20 42 59 54 45 20 46 | ;.TATUS BYTE F|
000026D0: 52 4F 4D 20 44 52 49 56 45 20 49 53 20 52 45 54 |ROM DRIVE IS RET|
000026E0: 55 52 4E 45 44 20 49 4E 20 D3 D4 C1 D4 D5 D3 2E |URNED IN .......|
000026F0: 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 20 23 D0 |.. LDA #.|
00002700: C2 D5 D2 D3 D4 D2 C4 20 20 20 20 20 20 20 20 20 |....... |
00002710: 20 20 3B D0 48 59 53 49 43 41 4C 20 42 55 52 53 | ;.HYSICAL BURS|
00002720: 54 20 52 45 41 44 20 43 4F 4D 4D 41 4E 44 2E 0D |T READ COMMAND..|
00002730: 20 20 20 20 20 20 20 20 4C 44 58 20 D3 C9 C4 C5 | LDX ....|
00002740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002750: 3B 20 C3 48 45 43 4B 20 57 48 49 43 48 20 53 49 |; .HECK WHICH SI|
00002760: 44 45 20 54 4F 20 52 45 41 44 20 46 52 4F 4D 2E |DE TO READ FROM.|
00002770: 0D 20 20 20 20 20 20 20 20 42 45 51 20 31 24 0D |. BEQ 1$.|
00002780: 20 20 20 20 20 20 20 20 4F 52 41 20 23 24 31 30 | ORA #$10|
00002790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000027A0: 3B 20 C9 46 20 53 49 44 45 20 31 2C 20 54 48 45 |; .F SIDE 1, THE|
000027B0: 4E 20 53 45 54 20 42 49 54 20 49 4E 20 54 48 45 |N SET BIT IN THE|
000027C0: 20 43 4F 4D 4D 41 4E 44 20 42 59 54 45 2E 0D 31 | COMMAND BYTE..1|
000027D0: 24 20 20 20 20 20 20 53 54 41 20 20 43 4D 44 4C |$ STA CMDL|
000027E0: 49 4E 45 2B 32 0D 0D 0D D2 C5 C1 C4 0D 0D 20 20 |INE+2......... |
000027F0: 20 20 20 20 20 20 4C 44 41 20 24 46 46 30 30 20 | LDA $FF00 |
00002800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B D3 | ;.|
00002810: 41 56 45 20 4F 4C 44 20 CD CD D5 20 53 45 54 55 |AVE OLD ... SETU|
00002820: 50 2E 0D 20 20 20 20 20 20 20 20 50 48 41 0D 0D |P.. PHA..|
00002830: 20 20 20 20 20 20 20 20 4C 44 41 20 23 24 30 45 | LDA #$0E|
00002840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002850: 3B D3 45 54 20 CD CD D5 20 46 4F 52 20 D2 C1 CD |;.ET ... FOR ...|
00002860: 30 2C CB C5 D2 CE C5 CC 2C C9 2F CF 2E 0D 20 20 |0,......,./... |
00002870: 20 20 20 20 20 20 53 54 41 20 24 46 46 30 30 0D | STA $FF00.|
00002880: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 D3 C5 D4 |. JSR ...|
00002890: D5 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.0 |
000028A0: 20 3B D0 55 54 20 22 D5 30 22 20 41 54 20 53 54 | ;.UT ".0" AT ST|
000028B0: 41 52 54 20 4F 46 20 43 4F 4D 4D 41 4E 44 20 53 |ART OF COMMAND S|
000028C0: 54 52 49 4E 47 2E 0D 0D 20 20 20 20 20 20 20 20 |TRING... |
000028D0: 4C 44 41 20 D4 D2 C1 C3 CB 20 20 20 20 20 20 20 |LDA ..... |
000028E0: 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD C4 |. STA ...|
000028F0: CC C9 CE C5 2B 33 20 20 20 20 20 20 20 20 20 20 |....+3 |
00002900: 20 3B 20 54 52 41 43 4B 0D 20 20 20 20 20 20 20 | ; TRACK. |
00002910: 20 4C 44 41 20 D3 C5 C3 D4 CF D2 0D 20 20 20 20 | LDA ....... |
00002920: 20 20 20 20 53 54 41 20 C3 CD C4 CC C9 CE C5 2B | STA .......+|
00002930: 34 20 20 20 20 20 20 20 20 20 20 20 3B 20 53 45 |4 ; SE|
00002940: 43 54 4F 52 0D 20 20 20 20 20 20 20 20 4C 44 41 |CTOR. LDA|
00002950: 20 CE D5 CD D3 C5 C3 0D 20 20 20 20 20 20 20 20 | ....... |
00002960: 53 54 41 20 C3 CD C4 CC C9 CE C5 2B 35 20 20 20 |STA .......+5 |
00002970: 20 20 20 20 20 20 20 20 3B 20 CE 55 4D 42 45 52 | ; .UMBER|
00002980: 20 4F 46 20 53 45 43 54 4F 52 53 20 54 4F 20 52 | OF SECTORS TO R|
00002990: 45 41 44 2E 0D 0D 20 20 20 20 20 20 20 20 4C 44 |EAD... LD|
000029A0: 41 20 23 24 30 36 20 20 20 20 20 20 20 20 20 20 |A #$06 |
000029B0: 20 20 20 20 20 20 3B 20 CC 45 4E 47 54 48 20 4F | ; .ENGTH O|
000029C0: 46 20 43 4F 4D 4D 41 4E 44 20 53 54 52 49 4E 47 |F COMMAND STRING|
000029D0: 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD |.. STA ..|
000029E0: C4 CC C5 CE 0D 20 20 20 20 20 20 20 20 4A 53 52 |..... JSR|
000029F0: 20 20 53 45 4E 44 43 4D 44 20 20 20 20 20 20 20 | SENDCMD |
00002A00: 20 20 20 20 20 3B 20 53 45 4E 44 20 43 4D 44 20 | ; SEND CMD |
00002A10: 53 54 52 49 4E 47 0D 0D 20 20 20 20 20 20 20 20 |STRING.. |
00002A20: 4C 44 41 20 20 C2 D5 C6 CC CF C3 20 20 20 20 20 |LDA ...... |
00002A30: 20 20 20 20 20 20 20 20 3B 20 D3 45 54 20 55 50 | ; .ET UP|
00002A40: 20 5A 45 52 4F 20 50 41 47 45 20 49 4E 44 49 52 | ZERO PAGE INDIR|
00002A50: 45 43 54 20 50 4F 49 4E 54 45 52 2E 0D 20 20 20 |ECT POINTER.. |
00002A60: 20 20 20 20 20 53 54 41 20 20 C2 D5 C6 C6 C5 D2 | STA ......|
00002A70: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 20 C2 D5 |. LDA ..|
00002A80: C6 CC CF C3 2B 31 0D 20 20 20 20 20 20 20 20 53 |....+1. S|
00002A90: 54 41 20 20 C2 D5 C6 C6 C5 D2 2B 31 0D 0D 20 20 |TA ......+1.. |
00002AA0: 20 20 20 20 20 20 4C 44 59 20 20 23 30 20 20 20 | LDY #0 |
00002AB0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00002AC0: 43 4C 45 41 52 20 54 48 45 20 27 45 4D 50 54 59 |CLEAR THE 'EMPTY|
00002AD0: 20 53 45 43 54 4F 52 28 53 29 27 20 46 4C 41 47 | SECTOR(S)' FLAG|
00002AE0: 2E 0D 20 20 20 20 20 20 20 20 53 54 59 20 20 46 |.. STY F|
00002AF0: 4C 41 47 0D 0D 20 20 20 20 20 20 20 20 53 45 49 |LAG.. SEI|
00002B00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002B10: 20 20 20 20 20 3B 20 CE 4F 20 49 52 51 27 53 20 | ; .O IRQ'S |
00002B20: 41 4C 4C 4F 57 45 44 20 44 55 52 49 4E 47 20 48 |ALLOWED DURING H|
00002B30: 41 4E 44 53 48 41 4B 45 2E 0D 0D 20 20 20 20 20 |ANDSHAKE... |
00002B40: 20 20 20 42 49 54 20 20 44 31 49 43 52 20 20 20 | BIT D1ICR |
00002B50: 20 20 20 20 20 20 20 20 20 20 20 3B 20 43 4C 45 | ; CLE|
00002B60: 41 52 20 50 45 4E 44 49 4E 47 0D 0D 20 20 20 20 |AR PENDING.. |
00002B70: 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 | JSR ..._....|
00002B80: 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 48 41 | ;.HA|
00002B90: 4E 47 45 20 53 54 41 54 45 20 4F 46 20 43 4C 4F |NGE STATE OF CLO|
00002BA0: 43 4B 2E 0D 20 0D 31 24 20 20 20 20 20 20 4C 44 |CK.. .1$ LD|
00002BB0: 58 20 20 D3 C5 C3 D3 C9 DA C5 20 20 20 20 20 20 |X ....... |
00002BC0: 20 20 20 20 20 20 3B 20 D3 45 43 54 4F 52 20 53 | ; .ECTOR S|
00002BD0: 49 5A 45 20 47 49 56 45 53 20 23 20 4F 46 20 50 |IZE GIVES # OF P|
00002BE0: 41 47 45 53 20 50 45 52 20 53 45 43 54 4F 52 2E |AGES PER SECTOR.|
00002BF0: 0D 0D 20 20 20 20 20 20 20 20 4A 53 52 20 D7 C1 |.. JSR ..|
00002C00: C9 D4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00002C10: 20 20 3B D7 41 49 54 20 46 4F 52 20 46 41 53 54 | ;.AIT FOR FAST|
00002C20: 20 42 59 54 45 20 28 31 53 54 20 49 53 20 53 54 | BYTE (1ST IS ST|
00002C30: 41 54 55 53 29 2E 0D 20 20 20 20 20 20 20 20 4C |ATUS).. L|
00002C40: 44 41 20 20 44 31 53 44 52 20 20 20 20 20 20 20 |DA D1SDR |
00002C50: 20 20 20 20 20 20 20 3B C7 45 54 20 53 54 41 54 | ;.ET STAT|
00002C60: 55 53 20 42 59 54 45 2E 0D 20 20 20 20 20 20 20 |US BYTE.. |
00002C70: 20 53 54 41 20 D3 D4 C1 D4 D5 D3 0D 0D 20 20 20 | STA ........ |
00002C80: 20 20 20 20 20 41 4E 44 20 20 23 31 35 20 20 20 | AND #15 |
00002C90: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B D7 41 | ;.A|
00002CA0: 53 20 54 48 45 52 45 20 41 4E 20 45 52 52 4F 52 |S THERE AN ERROR|
00002CB0: 3F 0D 20 20 20 20 20 20 20 20 43 4D 50 20 20 23 |?. CMP #|
00002CC0: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 |
00002CD0: 20 20 3B 20 0D 20 20 20 20 20 20 20 20 42 43 53 | ; . BCS|
00002CE0: 20 20 35 24 20 20 20 20 20 20 20 20 20 20 20 20 | 5$ |
00002CF0: 20 20 20 20 20 3B 20 42 52 41 4E 43 48 20 49 46 | ; BRANCH IF|
00002D00: 20 45 52 52 4F 52 20 4F 43 43 55 52 45 44 2E 0D | ERROR OCCURED..|
00002D10: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 C3 CC CB |. JSR ...|
00002D20: 5F C3 C8 CE C7 20 20 20 20 20 20 20 20 20 20 20 |_.... |
00002D30: 20 3B C3 48 41 4E 47 45 20 43 4C 4F 43 4B 20 53 | ;.HANGE CLOCK S|
00002D40: 4F 20 4E 45 58 54 20 42 59 54 45 20 49 53 20 53 |O NEXT BYTE IS S|
00002D50: 45 4E 54 2E 0D 0D 33 24 20 20 20 20 20 20 4A 53 |ENT...3$ JS|
00002D60: 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 20 20 |R .... |
00002D70: 20 20 20 20 20 20 3B D7 41 49 54 20 46 4F 52 20 | ;.AIT FOR |
00002D80: 54 48 45 20 4E 45 58 54 20 42 59 54 45 2E 0D 20 |THE NEXT BYTE.. |
00002D90: 20 20 20 20 20 20 20 0D 20 20 20 20 20 20 20 20 | . |
00002DA0: 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 20 20 20 20 |JSR ..._.... |
00002DB0: 20 20 20 20 20 20 20 20 3B C3 48 41 4E 47 45 20 | ;.HANGE |
00002DC0: 53 54 41 54 45 20 4F 46 20 43 4C 4F 43 4B 20 53 |STATE OF CLOCK S|
00002DD0: 4F 20 4E 45 58 54 20 42 59 54 45 20 49 53 20 53 |O NEXT BYTE IS S|
00002DE0: 45 4E 54 2E 0D 20 20 20 20 20 20 20 20 4C 44 41 |ENT.. LDA|
00002DF0: 20 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 20 20 | .1... |
00002E00: 20 20 20 20 20 3B C7 45 54 20 54 48 45 20 44 41 | ;.ET THE DA|
00002E10: 54 41 20 42 59 54 45 0D 20 20 20 20 20 20 20 20 |TA BYTE. |
00002E20: 53 54 41 20 20 28 42 55 46 46 45 52 29 2C 59 20 |STA (BUFFER),Y |
00002E30: 20 20 20 20 20 20 20 20 3B 20 41 4E 44 20 53 41 | ; AND SA|
00002E40: 56 45 20 49 54 20 0D 20 20 20 20 20 20 20 20 20 |VE IT . |
00002E50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002E60: 20 20 20 20 20 20 20 3B 20 20 57 48 49 4C 45 20 | ; WHILE |
00002E70: 4E 45 58 54 20 42 59 54 45 20 49 53 20 42 45 49 |NEXT BYTE IS BEI|
00002E80: 4E 47 20 54 52 41 4E 53 4D 49 54 54 45 44 2E 0D |NG TRANSMITTED..|
00002E90: 0D 20 20 20 20 20 20 20 20 4F 52 41 20 20 46 4C |. ORA FL|
00002EA0: 41 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |AG |
00002EB0: 20 3B D5 50 44 41 54 45 20 27 5A 45 52 4F 27 20 | ;.PDATE 'ZERO' |
00002EC0: 53 45 43 54 4F 52 20 46 4C 41 47 2E 0D 20 20 20 |SECTOR FLAG.. |
00002ED0: 20 20 20 20 20 53 54 41 20 20 46 4C 41 47 0D 0D | STA FLAG..|
00002EE0: 20 20 20 20 20 20 20 20 49 4E 59 20 20 20 20 20 | INY |
00002EF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002F00: 3B C1 4E 59 20 4D 4F 52 45 20 49 4E 20 54 48 49 |;.NY MORE IN THI|
00002F10: 53 20 50 41 47 45 3F 0D 20 20 20 20 20 20 20 20 |S PAGE?. |
00002F20: 42 4E 45 20 20 33 24 0D 0D 20 20 20 20 20 20 20 |BNE 3$.. |
00002F30: 20 49 4E 43 20 C2 D5 C6 C6 C5 D2 2B 31 0D 20 20 | INC ......+1. |
00002F40: 20 20 20 20 20 20 44 45 58 20 20 20 20 20 20 20 | DEX |
00002F50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B CC | ;.|
00002F60: 4F 4F 50 20 46 4F 52 20 54 48 45 20 23 20 4F 46 |OOP FOR THE # OF|
00002F70: 20 50 41 47 45 53 20 50 45 52 20 53 45 43 54 4F | PAGES PER SECTO|
00002F80: 52 2E 0D 20 20 20 20 20 20 20 20 42 4E 45 20 33 |R.. BNE 3|
00002F90: 24 0D 0D 20 20 20 20 20 20 20 20 44 45 43 20 C3 |$.. DEC .|
00002FA0: CD C4 CC C9 CE C5 2B 35 20 20 20 20 20 20 20 20 |......+5 |
00002FB0: 20 20 20 3B CC 4F 4F 50 20 46 4F 52 20 54 48 45 | ;.OOP FOR THE|
00002FC0: 20 4E 55 4D 42 45 52 20 4F 46 20 53 45 43 54 4F | NUMBER OF SECTO|
00002FD0: 52 53 2E 0D 20 20 20 20 20 20 20 20 42 4E 45 20 |RS.. BNE |
00002FE0: 31 24 0D 0D 35 24 20 20 20 20 20 20 43 4C 49 0D |1$..5$ CLI.|
00002FF0: 0D 20 20 20 20 20 20 20 20 50 4C 41 20 20 20 20 |. PLA |
00003000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00003010: 20 3B D2 45 53 54 4F 52 45 20 CD CD D5 20 54 4F | ;.ESTORE ... TO|
00003020: 20 4F 4C 44 20 43 4F 4E 46 49 47 55 52 41 54 49 | OLD CONFIGURATI|
00003030: 4F 4E 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 |ON.. STA |
00003040: 24 46 46 30 30 0D 0D 20 20 20 20 20 20 20 20 52 |$FF00.. R|
00003050: 54 53 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |TS..;***********|
00003060: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003070: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003080: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003090: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D |***************.|
000030A0: 0D CC D7 D2 C9 D4 C5 20 20 20 20 20 20 20 20 20 |....... |
000030B0: 20 3B CC 4F 47 49 43 41 4C 20 53 45 43 54 4F 52 | ;.OGICAL SECTOR|
000030C0: 20 57 52 49 54 45 20 54 4F 20 54 48 45 20 44 45 | WRITE TO THE DE|
000030D0: 56 49 43 45 20 49 4E 44 49 43 41 54 45 44 20 42 |VICE INDICATED B|
000030E0: 59 20 CC C6 2E 0D 20 20 20 20 20 20 20 20 20 20 |Y .... |
000030F0: 20 20 20 20 20 20 3B D4 48 45 20 54 52 41 43 4B | ;.HE TRACK|
00003100: 20 41 4E 44 20 53 45 43 54 4F 52 20 41 52 45 20 | AND SECTOR ARE |
00003110: 49 4E 20 D4 D2 C1 C3 CB 2C 20 D3 C5 C3 D4 CF D2 |IN ....., ......|
00003120: 2E 20 D4 48 45 20 4C 4F 43 41 54 49 4F 4E 0D 20 |. .HE LOCATION. |
00003130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00003140: 4F 46 20 53 54 41 52 54 20 4F 46 20 C3 31 32 38 |OF START OF .128|
00003150: 20 42 55 46 46 45 52 20 43 4F 4E 54 41 49 4E 49 | BUFFER CONTAINI|
00003160: 4E 47 20 57 52 49 54 45 20 44 41 54 41 20 49 4E |NG WRITE DATA IN|
00003170: 20 C2 D5 C6 CC CF C3 2E 20 0D 20 20 20 20 20 20 | ....... . |
00003180: 20 20 20 20 20 20 20 20 20 20 3B D3 54 41 54 55 | ;.TATU|
00003190: 53 20 42 59 54 45 20 46 52 4F 4D 20 44 52 49 56 |S BYTE FROM DRIV|
000031A0: 45 20 49 53 20 52 45 54 55 52 4E 45 44 20 49 4E |E IS RETURNED IN|
000031B0: 20 D3 D4 C1 D4 D5 D3 2E 0D 0D 20 20 20 20 20 20 | ......... |
000031C0: 20 20 4C 44 41 20 20 23 4C 42 55 52 53 54 57 52 | LDA #LBURSTWR|
000031D0: 0D 20 20 20 20 20 20 20 20 53 54 41 20 20 43 4D |. STA CM|
000031E0: 44 4C 49 4E 45 2B 32 20 20 20 20 20 20 20 20 20 |DLINE+2 |
000031F0: 20 3B 20 42 55 52 53 54 20 57 52 49 54 45 0D 20 | ; BURST WRITE. |
00003200: 20 20 20 20 20 20 20 4C 44 41 20 23 24 30 31 0D | LDA #$01.|
00003210: 20 20 20 20 20 20 20 20 53 54 41 20 D3 C5 C3 D3 | STA ....|
00003220: C9 DA C5 20 20 20 20 20 20 20 20 20 20 20 20 20 |... |
00003230: 3B 20 CC 4F 47 49 43 41 4C 20 53 45 43 54 4F 52 |; .OGICAL SECTOR|
00003240: 20 53 49 5A 45 20 49 53 20 41 4C 57 41 59 53 20 | SIZE IS ALWAYS |
00003250: 32 35 36 20 42 59 54 45 53 2E 0D 20 20 20 20 20 |256 BYTES.. |
00003260: 20 20 20 4A 4D 50 20 D7 D2 C9 D4 C5 0D 0D 0D D0 | JMP .........|
00003270: D7 D2 C9 D4 C5 20 20 20 20 20 20 20 20 20 20 3B |..... ;|
00003280: D0 48 59 53 49 43 41 4C 20 53 45 43 54 4F 52 20 |.HYSICAL SECTOR |
00003290: 57 52 49 54 45 20 54 4F 20 54 48 45 20 44 45 56 |WRITE TO THE DEV|
000032A0: 49 43 45 20 49 4E 44 49 43 41 54 45 44 20 42 59 |ICE INDICATED BY|
000032B0: 20 CC C6 2E 0D 20 20 20 20 20 20 20 20 20 20 20 | .... |
000032C0: 20 20 20 20 20 3B D4 48 45 20 54 52 41 43 4B 20 | ;.HE TRACK |
000032D0: 41 4E 44 20 53 45 43 54 4F 52 20 41 52 45 20 49 |AND SECTOR ARE I|
000032E0: 4E 20 D4 D2 C1 C3 CB 2C 20 D3 C5 C3 D4 CF D2 2E |N ....., .......|
000032F0: 20 D4 48 45 20 4C 4F 43 41 54 49 4F 4E 0D 20 20 | .HE LOCATION. |
00003300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 4F | ;O|
00003310: 46 20 53 54 41 52 54 20 4F 46 20 C3 31 32 38 20 |F START OF .128 |
00003320: 42 55 46 46 45 52 20 43 4F 4E 54 41 49 4E 49 4E |BUFFER CONTAININ|
00003330: 47 20 57 52 49 54 45 20 44 41 54 41 20 49 4E 20 |G WRITE DATA IN |
00003340: C2 D5 C6 CC CF C3 2E 0D 20 20 20 20 20 20 20 20 |........ |
00003350: 20 20 20 20 20 20 20 20 3B D4 48 45 20 50 48 59 | ;.HE PHY|
00003360: 53 49 43 41 4C 20 53 45 43 54 4F 52 20 53 49 5A |SICAL SECTOR SIZ|
00003370: 45 20 49 4E 20 D3 C5 C3 D3 C9 DA C5 20 28 31 3D |E IN ....... (1=|
00003380: 32 35 36 2C 32 3D 35 31 32 2C 34 3D 31 30 32 34 |256,2=512,4=1024|
00003390: 29 2E 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 |).. |
000033A0: 20 20 20 3B CE 55 4D 42 45 52 20 4F 46 20 53 45 | ;.UMBER OF SE|
000033B0: 43 54 4F 52 53 20 49 4E 20 CE D5 CD D3 C5 C3 2E |CTORS IN .......|
000033C0: 20 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | . |
000033D0: 20 20 3B D0 48 59 53 49 43 41 4C 20 53 49 44 45 | ;.HYSICAL SIDE|
000033E0: 20 49 4E 20 D3 C9 C4 C5 2E 0D 20 20 20 20 20 20 | IN ...... |
000033F0: 20 20 20 20 20 20 20 20 20 20 3B D3 54 41 54 55 | ;.TATU|
00003400: 53 20 42 59 54 45 20 46 52 4F 4D 20 44 52 49 56 |S BYTE FROM DRIV|
00003410: 45 20 49 53 20 52 45 54 55 52 4E 45 44 20 49 4E |E IS RETURNED IN|
00003420: 20 D3 D4 C1 D4 D5 D3 2E 0D 0D 20 20 20 20 20 20 | ......... |
00003430: 20 20 4C 44 41 20 23 D0 C2 D5 D2 D3 D4 D7 D2 20 | LDA #........ |
00003440: 20 20 20 20 20 20 20 20 20 20 3B D0 48 59 53 49 | ;.HYSI|
00003450: 43 41 4C 20 42 55 52 53 54 20 57 52 49 54 45 20 |CAL BURST WRITE |
00003460: 43 4F 4D 4D 41 4E 44 2E 0D 20 20 20 20 20 20 20 |COMMAND.. |
00003470: 20 4C 44 58 20 D3 C9 C4 C5 20 20 20 20 20 20 20 | LDX .... |
00003480: 20 20 20 20 20 20 20 20 20 3B 20 C3 48 45 43 4B | ; .HECK|
00003490: 20 57 48 49 43 48 20 53 49 44 45 20 54 4F 20 57 | WHICH SIDE TO W|
000034A0: 52 49 54 45 20 54 4F 2E 0D 20 20 20 20 20 20 20 |RITE TO.. |
000034B0: 20 42 45 51 20 31 24 0D 20 20 20 20 20 20 20 20 | BEQ 1$. |
000034C0: 4F 52 41 20 23 24 31 30 20 20 20 20 20 20 20 20 |ORA #$10 |
000034D0: 20 20 20 20 20 20 20 20 3B 20 C9 46 20 53 49 44 | ; .F SID|
000034E0: 45 20 31 2C 20 54 48 45 4E 20 53 45 54 20 42 49 |E 1, THEN SET BI|
000034F0: 54 20 49 4E 20 54 48 45 20 43 4F 4D 4D 41 4E 44 |T IN THE COMMAND|
00003500: 20 42 59 54 45 2E 0D 31 24 20 20 20 20 20 20 53 | BYTE..1$ S|
00003510: 54 41 20 20 43 4D 44 4C 49 4E 45 2B 32 0D 0D 0D |TA CMDLINE+2...|
00003520: D7 D2 C9 D4 C5 20 20 20 0D 20 20 20 20 20 20 20 |..... . |
00003530: 20 0D 20 20 20 20 20 20 20 20 4C 44 41 20 24 46 | . LDA $F|
00003540: 46 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 |F00 |
00003550: 20 20 3B D3 41 56 45 20 4F 4C 44 20 CD CD D5 20 | ;.AVE OLD ... |
00003560: 53 45 54 55 50 2E 0D 20 20 20 20 20 20 20 20 50 |SETUP.. P|
00003570: 48 41 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 20 |HA.. LDA |
00003580: 23 24 30 45 20 20 20 20 20 20 20 20 20 20 20 20 |#$0E |
00003590: 20 20 20 20 3B D3 45 54 20 CD CD D5 20 46 4F 52 | ;.ET ... FOR|
000035A0: 20 D2 C1 CD 30 2C CB C5 D2 CE C5 CC 2C C9 2F CF | ...0,......,./.|
000035B0: 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 24 46 |.. STA $F|
000035C0: 46 30 30 0D 0D 20 20 20 20 20 20 20 20 4A 53 52 |F00.. JSR|
000035D0: 20 D3 C5 D4 D5 30 20 20 20 20 20 20 20 20 20 20 | ....0 |
000035E0: 20 20 20 20 20 3B D0 55 54 20 22 D5 30 22 20 41 | ;.UT ".0" A|
000035F0: 54 20 53 54 41 52 54 20 4F 46 20 43 4F 4D 4D 41 |T START OF COMMA|
00003600: 4E 44 20 53 54 52 49 4E 47 2E 0D 20 20 20 20 20 |ND STRING.. |
00003610: 20 20 20 4C 44 41 20 D4 D2 C1 C3 CB 0D 20 20 20 | LDA ...... |
00003620: 20 20 20 20 20 53 54 41 20 C3 CD C4 CC C9 CE C5 | STA .......|
00003630: 2B 33 20 20 20 20 20 20 20 20 20 20 20 3B 20 54 |+3 ; T|
00003640: 52 41 43 4B 0D 20 20 20 20 20 20 20 20 4C 44 41 |RACK. LDA|
00003650: 20 D3 C5 C3 D4 CF D2 0D 20 20 20 20 20 20 20 20 | ....... |
00003660: 53 54 41 20 C3 CD C4 CC C9 CE C5 2B 34 20 20 20 |STA .......+4 |
00003670: 20 20 20 20 20 20 20 20 3B 20 53 45 43 54 4F 52 | ; SECTOR|
00003680: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 CE D5 CD |. LDA ...|
00003690: D3 C5 C3 0D 20 20 20 20 20 20 20 20 53 54 41 20 |.... STA |
000036A0: C3 CD C4 CC C9 CE C5 2B 35 20 20 20 20 20 20 20 |.......+5 |
000036B0: 20 20 20 20 3B 20 CE 55 4D 42 45 52 20 4F 46 20 | ; .UMBER OF |
000036C0: 53 45 43 54 4F 52 53 20 54 4F 20 57 52 49 54 45 |SECTORS TO WRITE|
000036D0: 2E 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 20 23 |... LDA #|
000036E0: 24 30 36 0D 20 20 20 20 20 20 20 20 53 54 41 20 |$06. STA |
000036F0: C3 CD C4 CC C5 CE 20 20 20 20 20 20 20 20 20 20 |...... |
00003700: 20 20 20 20 3B C3 4F 4D 4D 41 4E 44 20 4C 45 4E | ;.OMMAND LEN|
00003710: 47 54 48 2E 0D 20 20 20 20 20 20 20 20 4A 53 52 |GTH.. JSR|
00003720: 20 20 53 45 4E 44 43 4D 44 20 20 20 20 20 20 20 | SENDCMD |
00003730: 20 20 20 20 20 3B 20 53 45 4E 44 20 43 4D 44 20 | ; SEND CMD |
00003740: 53 54 52 49 4E 47 0D 0D 20 20 20 20 20 20 20 20 |STRING.. |
00003750: 4C 44 41 20 20 C2 D5 C6 CC CF C3 20 20 20 20 20 |LDA ...... |
00003760: 20 20 20 20 20 20 20 20 3B 20 D3 45 54 20 55 50 | ; .ET UP|
00003770: 20 5A 45 52 4F 20 50 41 47 45 20 49 4E 44 49 52 | ZERO PAGE INDIR|
00003780: 45 43 54 20 50 4F 49 4E 54 45 52 2E 0D 20 20 20 |ECT POINTER.. |
00003790: 20 20 20 20 20 53 54 41 20 20 C2 D5 C6 C6 C5 D2 | STA ......|
000037A0: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 C2 D5 C6 |. LDA ...|
000037B0: CC CF C3 2B 31 0D 20 20 20 20 20 20 20 20 53 54 |...+1. ST|
000037C0: 41 20 C2 D5 C6 C6 C5 D2 2B 31 0D 0D 20 20 20 20 |A ......+1.. |
000037D0: 20 20 20 20 4C 44 41 20 20 23 43 4C 4B 49 4E 20 | LDA #CLKIN |
000037E0: 20 20 20 20 20 20 20 20 20 20 20 20 3B C9 4E 49 | ;.NI|
000037F0: 54 49 41 4C 20 43 4C 4F 43 4B 20 53 54 41 54 55 |TIAL CLOCK STATU|
00003800: 53 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 20 |S.. STA |
00003810: 4F 4C 44 43 4C 4B 0D 0D 20 20 20 20 20 20 20 20 |OLDCLK.. |
00003820: 4C 44 59 20 20 23 30 0D 20 20 20 20 20 20 20 20 |LDY #0. |
00003830: 53 45 49 20 20 20 20 20 20 20 20 20 20 20 20 20 |SEI |
00003840: 20 20 20 20 20 20 20 20 3B 20 4E 4F 20 49 52 51 | ; NO IRQ|
00003850: 27 53 20 44 55 52 49 4E 47 20 42 55 52 53 54 20 |'S DURING BURST |
00003860: 48 41 4E 44 53 48 41 4B 45 0D 0D 31 24 20 20 20 |HANDSHAKE..1$ |
00003870: 20 20 20 4C 44 58 20 20 D3 C5 C3 D3 C9 DA C5 20 | LDX ....... |
00003880: 20 20 20 20 20 20 20 20 20 20 20 3B 20 D3 45 43 | ; .EC|
00003890: 54 4F 52 20 53 49 5A 45 20 47 49 56 45 53 20 23 |TOR SIZE GIVES #|
000038A0: 20 4F 46 20 50 41 47 45 53 20 50 45 52 20 53 45 | OF PAGES PER SE|
000038B0: 43 54 4F 52 2E 0D 0D 20 20 20 20 20 20 20 20 53 |CTOR... S|
000038C0: 45 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |EC |
000038D0: 20 20 20 20 20 20 20 3B D4 55 52 4E 20 46 41 53 | ;.URN FAS|
000038E0: 54 20 53 45 52 49 41 4C 20 54 4F 20 4F 55 54 50 |T SERIAL TO OUTP|
000038F0: 55 54 20 4D 4F 44 45 2E 0D 20 20 20 20 20 20 20 |UT MODE.. |
00003900: 20 4A 53 52 20 20 53 50 49 4E 5F 4F 55 54 0D 0D | JSR SPIN_OUT..|
00003910: 32 24 20 20 20 20 20 20 4C 44 41 20 20 44 32 50 |2$ LDA D2P|
00003920: 52 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |RA |
00003930: 3B D7 41 49 54 20 46 4F 52 20 53 54 41 54 45 20 |;.AIT FOR STATE |
00003940: 43 48 41 4E 47 45 2E 0D 20 20 20 20 20 20 20 20 |CHANGE.. |
00003950: 45 4F 52 20 20 4F 4C 44 43 4C 4B 0D 20 20 20 20 |EOR OLDCLK. |
00003960: 20 20 20 20 41 4E 44 20 20 23 43 4C 4B 49 4E 0D | AND #CLKIN.|
00003970: 20 20 20 20 20 20 20 20 42 45 51 20 20 32 24 0D | BEQ 2$.|
00003980: 0D 20 20 20 20 20 20 20 20 45 4F 52 20 20 4F 4C |. EOR OL|
00003990: 44 43 4C 4B 20 20 20 20 20 20 20 20 20 20 20 20 |DCLK |
000039A0: 20 3B C3 48 41 4E 47 45 20 53 54 41 54 55 53 20 | ;.HANGE STATUS |
000039B0: 4F 46 20 CF CC C4 C3 CC CB 2E 0D 20 20 20 20 20 |OF ........ |
000039C0: 20 20 20 53 54 41 20 20 4F 4C 44 43 4C 4B 0D 0D | STA OLDCLK..|
000039D0: 20 20 20 20 20 20 20 20 4C 44 41 20 20 28 42 55 | LDA (BU|
000039E0: 46 46 45 52 29 2C 59 20 20 20 20 20 20 20 20 20 |FFER),Y |
000039F0: 3B 20 47 45 54 20 44 41 54 41 20 0D 20 20 20 20 |; GET DATA . |
00003A00: 20 20 20 20 53 54 41 20 20 44 31 53 44 52 20 20 | STA D1SDR |
00003A10: 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 20 26 | ; &|
00003A20: 20 53 45 4E 44 20 49 54 0D 0D 20 20 20 20 20 20 | SEND IT.. |
00003A30: 20 20 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 | JSR .... |
00003A40: 20 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 | ;.AIT |
00003A50: 46 4F 52 20 54 48 45 20 42 59 54 45 20 54 4F 20 |FOR THE BYTE TO |
00003A60: 42 45 20 54 52 41 4E 53 4D 49 54 54 45 44 2E 0D |BE TRANSMITTED..|
00003A70: 0D 20 20 20 20 20 20 20 20 49 4E 59 0D 20 20 20 |. INY. |
00003A80: 20 20 20 20 20 42 4E 45 20 20 32 24 20 20 20 20 | BNE 2$ |
00003A90: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B C1 4E | ;.N|
00003AA0: 59 20 4D 4F 52 45 20 4C 45 46 54 20 49 4E 20 54 |Y MORE LEFT IN T|
00003AB0: 48 49 53 20 50 41 47 45 3F 0D 0D 20 20 20 20 20 |HIS PAGE?.. |
00003AC0: 20 20 20 49 4E 43 20 20 42 55 46 46 45 52 2B 31 | INC BUFFER+1|
00003AD0: 0D 20 20 20 20 20 20 20 20 44 45 58 20 20 20 20 |. DEX |
00003AE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00003AF0: 20 3B CC 4F 4F 50 20 46 4F 52 20 54 48 45 20 23 | ;.OOP FOR THE #|
00003B00: 20 4F 46 20 50 41 47 45 53 20 50 45 52 20 53 45 | OF PAGES PER SE|
00003B10: 43 54 4F 52 2E 0D 20 20 20 20 20 20 20 20 42 4E |CTOR.. BN|
00003B20: 45 20 20 32 24 0D 0D 20 20 20 20 20 20 20 20 43 |E 2$.. C|
00003B30: 4C 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |LC |
00003B40: 20 20 20 20 20 20 20 3B D4 55 52 4E 20 41 52 4F | ;.URN ARO|
00003B50: 55 4E 44 20 54 4F 20 49 4E 50 55 54 20 4D 4F 44 |UND TO INPUT MOD|
00003B60: 45 20 54 4F 20 47 45 54 20 D3 D4 C1 D4 D5 D3 2E |E TO GET .......|
00003B70: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 20 53 50 |. JSR SP|
00003B80: 49 4E 5F 4F 55 54 0D 0D 20 20 20 20 20 20 20 20 |IN_OUT.. |
00003B90: 42 49 54 20 20 44 31 49 43 52 20 20 20 20 20 20 |BIT D1ICR |
00003BA0: 20 20 20 20 20 20 20 20 3B 20 43 4C 45 41 52 20 | ; CLEAR |
00003BB0: 50 45 4E 44 49 4E 47 0D 0D 20 20 20 20 20 20 20 |PENDING.. |
00003BC0: 20 4A 53 52 20 20 43 4C 4B 4C 4F 20 20 20 20 20 | JSR CLKLO |
00003BD0: 20 20 20 20 20 20 20 20 20 3B 20 53 45 54 20 43 | ; SET C|
00003BE0: 4C 4F 43 4B 20 4C 4F 57 20 57 48 45 4E 20 52 45 |LOCK LOW WHEN RE|
00003BF0: 41 44 59 20 46 4F 52 20 53 54 41 54 55 53 0D 0D |ADY FOR STATUS..|
00003C00: 20 20 20 20 20 20 20 20 4A 53 52 20 D7 C1 C9 D4 | JSR ....|
00003C10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00003C20: 3B D7 41 49 54 20 46 4F 52 20 54 48 45 20 42 59 |;.AIT FOR THE BY|
00003C30: 54 45 20 54 4F 20 42 45 20 53 48 49 46 54 45 44 |TE TO BE SHIFTED|
00003C40: 20 49 4E 2E 0D 20 20 20 20 20 20 20 20 4C 44 41 | IN.. LDA|
00003C50: 20 20 44 31 53 44 52 20 20 20 20 20 20 20 20 20 | D1SDR |
00003C60: 20 20 20 20 20 3B C7 45 54 20 54 48 45 20 53 54 | ;.ET THE ST|
00003C70: 41 54 55 53 20 42 59 54 45 2E 0D 20 20 20 20 20 |ATUS BYTE.. |
00003C80: 20 20 20 53 54 41 20 D3 D4 C1 D4 D5 D3 20 20 20 | STA ...... |
00003C90: 20 20 20 20 20 20 20 20 20 20 20 3B D3 41 56 45 | ;.AVE|
00003CA0: 20 49 54 2E 0D 20 20 20 20 20 20 20 20 50 48 41 | IT.. PHA|
00003CB0: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 20 43 4C |. JSR CL|
00003CC0: 4B 48 49 20 20 20 20 20 20 20 20 20 20 20 20 20 |KHI |
00003CD0: 20 3B D2 45 4C 45 41 53 45 20 54 48 45 20 53 4C | ;.ELEASE THE SL|
00003CE0: 4F 57 20 43 4C 4F 43 4B 20 4C 49 4E 45 2E 0D 20 |OW CLOCK LINE.. |
00003CF0: 20 20 20 20 20 20 20 50 4C 41 0D 0D 20 20 20 20 | PLA.. |
00003D00: 20 20 20 20 41 4E 44 20 20 23 31 35 20 20 20 20 | AND #15 |
00003D10: 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 48 45 | ;.HE|
00003D20: 43 4B 20 46 4F 52 20 41 4E 59 20 45 52 52 4F 52 |CK FOR ANY ERROR|
00003D30: 2E 0D 20 20 20 20 20 20 20 20 43 4D 50 20 20 23 |.. CMP #|
00003D40: 32 20 0D 20 20 20 20 20 20 20 20 42 43 53 20 20 |2 . BCS |
00003D50: 37 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |7$ |
00003D60: 20 20 20 3B 20 20 42 52 41 4E 43 48 20 49 46 20 | ; BRANCH IF |
00003D70: 54 48 45 52 45 20 57 41 53 20 41 4E 20 45 52 52 |THERE WAS AN ERR|
00003D80: 4F 52 2E 0D 20 20 20 20 20 20 20 20 0D 20 20 20 |OR.. . |
00003D90: 20 20 20 20 20 44 45 43 20 20 C3 CD C4 CC C9 CE | DEC ......|
00003DA0: C5 2B 35 20 20 20 20 20 20 20 20 20 20 3B CC 4F |.+5 ;.O|
00003DB0: 4F 50 20 46 4F 52 20 54 48 45 20 4E 55 4D 42 45 |OP FOR THE NUMBE|
00003DC0: 52 20 4F 46 20 53 45 43 54 4F 52 53 2E 0D 20 20 |R OF SECTORS.. |
00003DD0: 20 20 20 20 20 20 42 4E 45 20 20 31 24 0D 0D 37 | BNE 1$..7|
00003DE0: 24 20 20 20 20 20 20 43 4C 49 0D 0D 20 20 20 20 |$ CLI.. |
00003DF0: 20 20 20 20 50 4C 41 20 20 20 20 20 20 20 20 20 | PLA |
00003E00: 20 20 20 20 20 20 20 20 20 20 20 20 3B D2 45 53 | ;.ES|
00003E10: 54 4F 52 45 20 4F 4C 44 20 4D 45 4D 4F 52 59 20 |TORE OLD MEMORY |
00003E20: 43 4F 4E 46 49 47 55 52 41 54 49 4F 4E 2E 0D 20 |CONFIGURATION.. |
00003E30: 20 20 20 20 20 20 20 53 54 41 20 24 46 46 30 30 | STA $FF00|
00003E40: 0D 0D 20 20 20 20 20 20 20 20 52 54 53 0D 0D 3B |.. RTS..;|
00003E50: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003E60: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003E70: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003E80: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00003E90: 2A 2A 2A 2A 2A 2A 0D 0D C9 CE D1 D5 C9 D2 C5 5F |******........._|
00003EA0: C6 CF D2 CD C1 D4 20 20 3B D3 45 4E 44 53 20 41 |...... ;.ENDS A|
00003EB0: 4E 20 C9 CE D1 D5 C9 D2 C5 20 C4 C9 D3 CB 20 43 |N ....... .... C|
00003EC0: 4F 4D 4D 41 4E 44 20 54 4F 20 54 48 45 20 44 52 |OMMAND TO THE DR|
00003ED0: 49 56 45 20 49 4E 44 49 43 41 54 45 20 42 59 0D |IVE INDICATE BY.|
00003EE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00003EF0: 3B 54 48 45 20 4C 4F 47 49 43 41 4C 20 46 49 4C |;THE LOGICAL FIL|
00003F00: 45 20 28 CC C6 29 2E 20 20 D3 54 41 54 55 53 20 |E (..). .TATUS |
00003F10: 49 53 20 52 45 54 55 52 4E 45 44 20 49 4E 20 D3 |IS RETURNED IN .|
00003F20: D4 C1 D4 D5 D3 2E 0D 0D 20 20 20 20 20 20 20 20 |........ |
00003F30: 4A 53 52 20 D3 C5 D4 D5 30 20 20 20 20 20 20 20 |JSR ....0 |
00003F40: 20 20 20 20 20 20 20 20 3B D0 55 54 20 22 D5 30 | ;.UT ".0|
00003F50: 22 20 41 54 20 53 54 41 52 54 20 4F 46 20 43 4F |" AT START OF CO|
00003F60: 4D 4D 41 4E 44 20 53 54 52 49 4E 47 2E 0D 20 20 |MMAND STRING.. |
00003F70: 20 20 20 20 20 20 4C 44 41 20 20 23 C2 D5 D2 D3 | LDA #....|
00003F80: D4 5F C9 CE D1 D5 C9 D2 C5 20 20 20 20 20 3B 20 |._....... ; |
00003F90: 49 4E 51 55 49 52 45 20 42 55 52 53 54 20 43 4F |INQUIRE BURST CO|
00003FA0: 4D 4D 41 4E 44 0D 20 20 20 20 20 20 20 20 53 54 |MMAND. ST|
00003FB0: 41 20 20 43 4D 44 4C 49 4E 45 2B 32 0D 20 20 20 |A CMDLINE+2. |
00003FC0: 20 20 20 20 20 4C 44 41 20 23 24 30 33 20 20 20 | LDA #$03 |
00003FD0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 4C | ; L|
00003FE0: 45 4E 47 54 48 20 4F 46 20 43 4F 4D 4D 41 4E 44 |ENGTH OF COMMAND|
00003FF0: 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD |.. STA ..|
00004000: C4 CC C5 CE 0D 20 20 20 20 20 20 20 20 4A 53 52 |..... JSR|
00004010: 20 20 53 45 4E 44 43 4D 44 20 20 20 20 20 20 20 | SENDCMD |
00004020: 20 20 20 20 20 3B 20 53 45 4E 44 20 43 4D 44 20 | ; SEND CMD |
00004030: 53 54 52 49 4E 47 0D 0D 20 20 20 20 20 20 20 20 |STRING.. |
00004040: 53 45 49 20 20 20 20 20 20 20 20 20 20 20 20 20 |SEI |
00004050: 20 20 20 20 20 20 20 20 3B C4 49 53 41 42 4C 45 | ;.ISABLE|
00004060: 20 49 4E 54 45 52 52 55 50 54 53 20 44 55 52 49 | INTERRUPTS DURI|
00004070: 4E 47 20 48 41 4E 44 53 48 41 4B 45 2E 0D 0D 20 |NG HANDSHAKE... |
00004080: 20 20 20 20 20 20 20 42 49 54 20 C4 31 C9 C3 D2 | BIT .1...|
00004090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
000040A0: C3 4C 45 41 52 20 41 4E 59 20 42 59 54 45 20 52 |.LEAR ANY BYTE R|
000040B0: 45 41 44 59 20 54 48 41 54 27 53 20 50 45 4E 44 |EADY THAT'S PEND|
000040C0: 49 4E 47 2E 0D 0D 20 20 20 20 20 20 20 20 4A 53 |ING... JS|
000040D0: 52 20 C3 CC CB 5F C3 C8 CE C7 20 20 20 20 20 20 |R ..._.... |
000040E0: 20 20 20 20 20 20 3B C3 48 41 4E 47 45 20 43 4C | ;.HANGE CL|
000040F0: 4F 43 4B 20 53 4F 20 31 35 38 31 20 53 45 4E 44 |OCK SO 1581 SEND|
00004100: 53 20 4E 45 58 54 2E 0D 20 20 20 20 20 20 20 20 |S NEXT.. |
00004110: 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 |JSR .... |
00004120: 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 46 4F | ;.AIT FO|
00004130: 52 20 54 48 45 20 42 59 54 45 20 54 4F 20 42 45 |R THE BYTE TO BE|
00004140: 20 53 48 49 46 54 45 44 20 49 4E 2E 0D 20 20 20 | SHIFTED IN.. |
00004150: 20 20 20 20 20 4C 44 41 20 C4 31 D3 C4 D2 20 20 | LDA .1... |
00004160: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B C7 45 | ;.E|
00004170: 54 20 54 48 45 20 53 54 41 54 55 53 20 42 59 54 |T THE STATUS BYT|
00004180: 45 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 D3 |E.. STA .|
00004190: D4 C1 D4 D5 D3 20 20 20 20 20 20 20 20 20 20 20 |..... |
000041A0: 20 20 20 3B D3 41 56 45 20 49 54 20 4F 46 46 2E | ;.AVE IT OFF.|
000041B0: 0D 0D 20 20 20 20 20 20 20 20 43 4C 49 0D 20 20 |.. CLI. |
000041C0: 20 20 20 20 20 20 52 54 53 0D 0D 3B 2A 2A 2A 2A | RTS..;****|
000041D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000041E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000041F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004200: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004210: 2A 2A 0D 0D D1 D5 C5 D2 D9 5F C6 CF D2 CD C1 D4 |**......._......|
00004220: 20 20 20 20 3B D3 45 4E 44 53 20 41 20 D1 D5 C5 | ;.ENDS A ...|
00004230: D2 D9 20 C4 C9 D3 CB 20 C6 CF D2 CD C1 D4 20 43 |.. .... ...... C|
00004240: 4F 4D 4D 41 4E 44 20 54 4F 20 54 48 45 20 44 52 |OMMAND TO THE DR|
00004250: 49 56 45 20 49 4E 44 49 43 41 54 45 20 42 59 0D |IVE INDICATE BY.|
00004260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00004270: 3B 54 48 45 20 4C 4F 47 49 43 41 4C 20 46 49 4C |;THE LOGICAL FIL|
00004280: 45 20 28 CC C6 29 2E 20 20 D0 48 59 53 49 43 41 |E (..). .HYSICA|
00004290: 4C 20 54 52 41 43 4B 20 4E 55 4D 42 45 52 20 54 |L TRACK NUMBER T|
000042A0: 4F 20 51 55 45 52 59 20 0D 20 20 20 20 20 20 20 |O QUERY . |
000042B0: 20 20 20 20 20 20 20 20 20 3B 53 48 4F 55 4C 44 | ;SHOULD|
000042C0: 20 42 45 20 50 52 4F 56 49 44 45 44 20 49 4E 20 | BE PROVIDED IN |
000042D0: D4 D2 C1 C3 CB 2E 20 20 D0 48 59 53 49 43 41 4C |...... .HYSICAL|
000042E0: 20 53 49 44 45 20 53 48 4F 55 4C 44 0D 20 20 20 | SIDE SHOULD. |
000042F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 42 45 | ;BE|
00004300: 20 50 52 4F 56 49 44 45 44 20 49 4E 20 D3 C9 C4 | PROVIDED IN ...|
00004310: C5 2E 20 20 D3 54 41 54 55 53 20 49 53 20 52 45 |.. .TATUS IS RE|
00004320: 54 55 52 4E 45 44 20 49 4E 20 D3 D4 C1 D4 D5 D3 |TURNED IN ......|
00004330: 2E 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00004340: 20 20 3B CE 55 4D 42 45 52 20 4F 46 20 53 45 43 | ;.UMBER OF SEC|
00004350: 54 4F 52 53 20 46 4F 55 4E 44 20 4F 4E 20 54 48 |TORS FOUND ON TH|
00004360: 45 20 54 52 41 43 4B 20 52 45 54 55 52 4E 45 44 |E TRACK RETURNED|
00004370: 20 49 4E 20 CE D5 CD D3 C5 C3 2E 0D 20 20 20 20 | IN ........ |
00004380: 20 20 20 20 20 20 20 20 20 20 20 20 3B CC 4F 47 | ;.OG|
00004390: 49 43 41 4C 20 54 52 41 43 4B 20 4E 55 4D 42 45 |ICAL TRACK NUMBE|
000043A0: 52 20 46 4F 55 4E 44 20 49 4E 20 54 48 45 20 53 |R FOUND IN THE S|
000043B0: 45 43 54 4F 52 20 48 45 41 44 45 52 53 20 52 45 |ECTOR HEADERS RE|
000043C0: 54 55 52 4E 45 44 0D 20 20 20 20 20 20 20 20 20 |TURNED. |
000043D0: 20 20 20 20 20 20 20 3B 49 4E 20 D4 D2 C1 C3 CB | ;IN .....|
000043E0: 2E 20 20 CD 49 4E 49 4D 55 4D 20 4C 4F 47 49 43 |. .INIMUM LOGIC|
000043F0: 41 4C 20 53 45 43 54 4F 52 20 4E 55 4D 42 45 52 |AL SECTOR NUMBER|
00004400: 20 46 4F 55 4E 44 20 49 4E 20 54 48 45 0D 20 20 | FOUND IN THE. |
00004410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 53 | ;S|
00004420: 45 43 54 4F 52 20 48 45 41 44 45 52 53 20 49 53 |ECTOR HEADERS IS|
00004430: 20 52 45 54 55 52 4E 45 44 20 49 4E 20 CD C9 CE | RETURNED IN ...|
00004440: D3 C5 C3 2E 20 20 D4 48 45 20 4D 41 58 49 4D 49 |.... .HE MAXIMI|
00004450: 55 4D 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 |UM. |
00004460: 20 20 20 3B 4C 4F 47 49 43 41 4C 20 53 45 43 54 | ;LOGICAL SECT|
00004470: 4F 52 20 49 53 20 52 45 54 55 52 4E 45 44 20 CD |OR IS RETURNED .|
00004480: C1 D8 D3 C5 C3 2E 20 20 D0 48 59 53 49 43 41 4C |...... .HYSICAL|
00004490: 20 49 4E 54 45 52 4C 45 41 56 45 0D 20 20 20 20 | INTERLEAVE. |
000044A0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 49 53 20 | ;IS |
000044B0: 52 45 54 55 52 4E 45 44 20 49 4E 20 C9 CE D4 CC |RETURNED IN ....|
000044C0: D6 2E 20 0D 20 20 20 20 20 20 20 20 20 20 20 20 |.. . |
000044D0: 20 20 20 20 3B C9 46 20 41 4E 20 45 52 52 4F 52 | ;.F AN ERROR|
000044E0: 20 49 53 20 45 4E 43 4F 55 4E 54 45 52 45 44 20 | IS ENCOUNTERED |
000044F0: 49 4E 20 43 4F 4D 50 49 4C 49 4E 47 20 54 48 49 |IN COMPILING THI|
00004500: 53 20 49 4E 46 4F 52 4D 41 54 49 4F 4E 0D 20 20 |S INFORMATION. |
00004510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 28 | ;(|
00004520: 41 53 20 49 4E 44 49 43 41 54 45 44 20 42 59 20 |AS INDICATED BY |
00004530: D3 D4 C1 D4 D5 D3 29 2C 20 54 48 45 4E 20 4E 4F |......), THEN NO|
00004540: 4E 45 20 4F 46 20 54 48 45 20 52 45 54 55 52 4E |NE OF THE RETURN|
00004550: 20 56 41 4C 55 45 53 0D 20 20 20 20 20 20 20 20 | VALUES. |
00004560: 20 20 20 20 20 20 20 20 3B 41 52 45 20 56 41 4C | ;ARE VAL|
00004570: 49 44 20 28 45 58 43 45 50 54 20 D3 D4 C1 D4 D5 |ID (EXCEPT .....|
00004580: D3 29 2E 0D 0D 20 20 20 20 20 20 20 20 4A 53 52 |.)... JSR|
00004590: 20 D3 C5 D4 D5 30 20 20 20 20 20 20 20 20 20 20 | ....0 |
000045A0: 20 20 20 20 20 3B D0 55 54 20 22 D5 30 22 20 41 | ;.UT ".0" A|
000045B0: 54 20 53 54 41 52 54 20 4F 46 20 43 4F 4D 4D 41 |T START OF COMMA|
000045C0: 4E 44 20 53 54 52 49 4E 47 2E 0D 0D 20 20 20 20 |ND STRING... |
000045D0: 20 20 20 20 4C 44 41 20 20 23 C2 D5 D2 D3 D4 5F | LDA #....._|
000045E0: D1 D5 C5 D2 D9 20 20 20 20 20 20 20 3B D1 D5 C5 |..... ;...|
000045F0: D2 D9 20 C4 C9 D3 CB 20 42 55 52 53 54 20 43 4F |.. .... BURST CO|
00004600: 4D 4D 41 4E 44 0D 20 20 20 20 20 20 20 20 4C 44 |MMAND. LD|
00004610: 58 20 D3 C9 C4 C5 20 20 20 20 20 20 20 20 20 20 |X .... |
00004620: 20 20 20 20 20 20 3B 20 D3 45 54 20 54 48 45 20 | ; .ET THE |
00004630: 53 49 44 45 20 42 49 54 20 41 43 43 4F 52 44 49 |SIDE BIT ACCORDI|
00004640: 4E 47 4C 59 2E 0D 20 20 20 20 20 20 20 20 42 4E |NGLY.. BN|
00004650: 45 20 34 24 0D 20 20 20 20 20 20 20 20 4F 52 41 |E 4$. ORA|
00004660: 20 23 24 31 30 0D 34 24 20 20 20 20 20 20 53 54 | #$10.4$ ST|
00004670: 41 20 43 4D 44 4C 49 4E 45 2B 32 0D 0D 20 20 20 |A CMDLINE+2.. |
00004680: 20 20 20 20 20 4C 44 41 20 D4 D2 C1 C3 CB 20 20 | LDA ..... |
00004690: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 D0 | ; .|
000046A0: 48 59 53 49 43 41 4C 20 54 52 41 43 4B 20 4F 46 |HYSICAL TRACK OF|
000046B0: 46 53 45 54 2E 0D 20 20 20 20 20 20 20 20 53 54 |FSET.. ST|
000046C0: 41 20 43 4D 44 4C 49 4E 45 2B 33 0D 20 20 20 20 |A CMDLINE+3. |
000046D0: 20 20 20 20 4C 44 41 20 23 24 30 34 20 20 20 20 | LDA #$04 |
000046E0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 4C 45 | ; LE|
000046F0: 4E 47 54 48 20 4F 46 20 43 4F 4D 4D 41 4E 44 2E |NGTH OF COMMAND.|
00004700: 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD C4 |. STA ...|
00004710: CC C5 CE 0D 20 20 20 20 20 20 20 20 4A 53 52 20 |.... JSR |
00004720: 20 53 45 4E 44 43 4D 44 20 20 20 20 20 20 20 20 | SENDCMD |
00004730: 20 20 20 20 3B 20 53 45 4E 44 20 43 4D 44 20 53 | ; SEND CMD S|
00004740: 54 52 49 4E 47 0D 0D 20 20 20 20 20 20 20 20 53 |TRING.. S|
00004750: 45 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |EI |
00004760: 20 20 20 20 20 20 20 3B C4 49 53 41 42 4C 45 20 | ;.ISABLE |
00004770: 49 4E 54 45 52 52 55 50 54 53 20 44 55 52 49 4E |INTERRUPTS DURIN|
00004780: 47 20 48 41 4E 44 53 48 41 4B 45 2E 0D 0D 20 20 |G HANDSHAKE... |
00004790: 20 20 20 20 20 20 42 49 54 20 C4 31 C9 C3 D2 20 | BIT .1... |
000047A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 | ;.|
000047B0: 4C 45 41 52 20 41 4E 59 20 42 59 54 45 20 52 45 |LEAR ANY BYTE RE|
000047C0: 41 44 59 20 54 48 41 54 27 53 20 50 45 4E 44 49 |ADY THAT'S PENDI|
000047D0: 4E 47 2E 0D 0D 20 20 20 20 20 20 20 20 4A 53 52 |NG... JSR|
000047E0: 20 C3 CC CB 5F C3 C8 CE C7 20 20 20 20 20 20 20 | ..._.... |
000047F0: 20 20 20 20 20 3B C3 48 41 4E 47 45 20 53 54 41 | ;.HANGE STA|
00004800: 54 45 20 4F 46 20 43 4C 4F 43 4B 20 53 4F 20 31 |TE OF CLOCK SO 1|
00004810: 35 38 31 20 53 45 4E 44 53 20 4E 45 58 54 2E 0D |581 SENDS NEXT..|
00004820: 20 20 20 20 20 20 20 20 4A 53 52 20 D7 C1 C9 D4 | JSR ....|
00004830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00004840: 3B D7 41 49 54 20 46 4F 52 20 54 48 45 20 46 49 |;.AIT FOR THE FI|
00004850: 52 53 54 20 53 54 41 54 55 53 20 42 59 54 45 2E |RST STATUS BYTE.|
00004860: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 C4 31 D3 |. LDA .1.|
00004870: C4 D2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00004880: 20 3B C7 45 54 20 54 48 45 20 53 54 41 54 55 53 | ;.ET THE STATUS|
00004890: 20 42 59 54 45 20 28 53 54 41 54 55 53 20 4F 46 | BYTE (STATUS OF|
000048A0: 20 54 52 41 43 4B 20 30 29 2E 0D 20 20 20 20 20 | TRACK 0).. |
000048B0: 20 20 20 53 54 41 20 D3 D4 C1 D4 D5 D3 20 20 20 | STA ...... |
000048C0: 20 20 20 20 20 20 20 20 20 20 20 3B D3 41 56 45 | ;.AVE|
000048D0: 20 49 54 20 4F 46 46 2E 0D 0D 20 20 20 20 20 20 | IT OFF... |
000048E0: 20 20 41 4E 44 20 23 24 30 46 20 20 20 20 20 20 | AND #$0F |
000048F0: 20 20 20 20 20 20 20 20 20 20 3B D7 41 53 20 54 | ;.AS T|
00004900: 48 45 52 45 20 41 4E 20 45 52 52 4F 52 3F 0D 20 |HERE AN ERROR?. |
00004910: 20 20 20 20 20 20 20 43 4D 50 20 23 32 0D 20 20 | CMP #2. |
00004920: 20 20 20 20 20 20 42 43 53 20 35 24 20 20 20 20 | BCS 5$ |
00004930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00004940: 42 52 41 4E 43 48 20 49 46 20 54 48 45 52 45 20 |BRANCH IF THERE |
00004950: 57 41 53 20 41 4E 20 45 52 52 4F 52 2E 0D 0D 20 |WAS AN ERROR... |
00004960: 20 20 20 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 | JSR ..._.|
00004970: C8 CE C7 20 20 20 20 20 20 20 20 20 20 20 20 3B |... ;|
00004980: C3 48 41 4E 47 45 20 53 54 41 54 45 20 4F 46 20 |.HANGE STATE OF |
00004990: 43 4C 4F 43 4B 2C 20 53 4F 20 31 35 38 31 20 53 |CLOCK, SO 1581 S|
000049A0: 45 4E 44 53 20 4E 45 58 54 2E 0D 20 20 20 20 20 |ENDS NEXT.. |
000049B0: 20 20 20 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 | JSR .... |
000049C0: 20 20 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 | ;.AIT|
000049D0: 20 46 4F 52 20 4E 45 58 54 20 53 54 41 54 55 53 | FOR NEXT STATUS|
000049E0: 20 42 59 54 45 20 54 4F 20 42 45 20 52 45 41 44 | BYTE TO BE READ|
000049F0: 59 2E 0D 20 20 20 20 20 20 20 20 4C 44 41 20 C4 |Y.. LDA .|
00004A00: 31 D3 C4 D2 20 20 20 20 20 20 20 20 20 20 20 20 |1... |
00004A10: 20 20 20 3B C7 45 54 20 49 54 20 28 53 54 41 54 | ;.ET IT (STAT|
00004A20: 55 53 20 4F 46 20 54 52 41 43 4B 20 D4 D2 C1 C3 |US OF TRACK ....|
00004A30: CB 29 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 |.).. STA |
00004A40: D3 D4 C1 D4 D5 D3 20 20 20 20 20 20 20 20 20 20 |...... |
00004A50: 20 20 20 20 3B D3 41 56 45 20 49 54 2E 0D 0D 20 | ;.AVE IT... |
00004A60: 20 20 20 20 20 20 20 41 4E 44 20 23 24 30 46 20 | AND #$0F |
00004A70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00004A80: D7 41 53 20 54 48 45 52 45 20 41 4E 20 45 52 52 |.AS THERE AN ERR|
00004A90: 4F 52 3F 0D 20 20 20 20 20 20 20 20 43 4D 50 20 |OR?. CMP |
00004AA0: 23 32 20 20 0D 20 20 20 20 20 20 20 20 42 43 53 |#2 . BCS|
00004AB0: 20 35 24 20 20 20 20 20 20 20 20 20 20 20 20 20 | 5$ |
00004AC0: 20 20 20 20 20 3B 20 42 52 41 4E 43 48 20 49 46 | ; BRANCH IF|
00004AD0: 20 41 4E 20 45 52 52 4F 52 2E 0D 20 0D 20 20 20 | AN ERROR.. . |
00004AE0: 20 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 CE | JSR ..._...|
00004AF0: C7 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 48 |. ;.H|
00004B00: 41 4E 47 45 20 53 54 41 54 45 20 4F 46 20 43 4C |ANGE STATE OF CL|
00004B10: 4F 43 4B 2C 20 53 4F 20 31 35 38 31 20 53 45 4E |OCK, SO 1581 SEN|
00004B20: 44 53 20 4E 45 58 54 2E 0D 20 20 20 20 20 20 20 |DS NEXT.. |
00004B30: 20 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 | JSR .... |
00004B40: 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 46 | ;.AIT F|
00004B50: 4F 52 20 27 4E 55 4D 42 45 52 20 4F 46 20 53 45 |OR 'NUMBER OF SE|
00004B60: 43 54 4F 52 53 20 42 59 54 45 27 20 54 4F 20 42 |CTORS BYTE' TO B|
00004B70: 45 20 52 45 41 44 59 2E 0D 20 20 20 20 20 20 20 |E READY.. |
00004B80: 20 4C 44 41 20 C4 31 D3 C4 D2 20 20 20 20 20 20 | LDA .1... |
00004B90: 20 20 20 20 20 20 20 20 20 3B C7 45 54 20 49 54 | ;.ET IT|
00004BA0: 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 CE D5 |.. STA ..|
00004BB0: CD D3 C5 C3 20 20 20 20 20 20 20 20 20 20 20 20 |.... |
00004BC0: 20 20 3B D3 41 56 45 20 49 54 2E 0D 0D 0D 20 20 | ;.AVE IT.... |
00004BD0: 20 20 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 | JSR ..._..|
00004BE0: CE C7 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 |.. ;.|
00004BF0: 48 41 4E 47 45 20 53 54 41 54 45 20 4F 46 20 43 |HANGE STATE OF C|
00004C00: 4C 4F 43 4B 2C 20 53 4F 20 31 35 38 31 20 53 45 |LOCK, SO 1581 SE|
00004C10: 4E 44 53 20 4E 45 58 54 2E 0D 20 20 20 20 20 20 |NDS NEXT.. |
00004C20: 20 20 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 | JSR .... |
00004C30: 20 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 | ;.AIT |
00004C40: 46 4F 52 20 27 4C 4F 47 49 43 41 4C 20 54 52 41 |FOR 'LOGICAL TRA|
00004C50: 43 4B 20 23 27 20 42 59 54 45 20 54 4F 20 42 45 |CK #' BYTE TO BE|
00004C60: 20 52 45 41 44 59 2E 0D 20 20 20 20 20 20 20 20 | READY.. |
00004C70: 4C 44 41 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 |LDA .1... |
00004C80: 20 20 20 20 20 20 20 20 3B C7 45 54 20 49 54 2E | ;.ET IT.|
00004C90: 0D 20 20 20 20 20 20 20 20 53 54 41 20 D4 D2 C1 |. STA ...|
00004CA0: C3 CB 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00004CB0: 20 3B D3 41 56 45 20 49 54 2E 0D 0D 20 20 20 20 | ;.AVE IT... |
00004CC0: 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 | JSR ..._....|
00004CD0: 20 20 20 20 20 20 20 20 20 20 20 20 3B C3 48 41 | ;.HA|
00004CE0: 4E 47 45 20 53 54 41 54 45 20 4F 46 20 43 4C 4F |NGE STATE OF CLO|
00004CF0: 43 4B 2C 20 53 4F 20 31 35 38 31 20 53 45 4E 44 |CK, SO 1581 SEND|
00004D00: 53 20 4E 45 58 54 2E 0D 20 20 20 20 20 20 20 20 |S NEXT.. |
00004D10: 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 |JSR .... |
00004D20: 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 46 4F | ;.AIT FO|
00004D30: 52 20 27 4D 49 4E 49 4D 55 4D 20 53 45 43 54 4F |R 'MINIMUM SECTO|
00004D40: 52 20 23 27 20 42 59 54 45 20 54 4F 20 42 45 20 |R #' BYTE TO BE |
00004D50: 52 45 41 44 59 2E 0D 20 20 20 20 20 20 20 20 4C |READY.. L|
00004D60: 44 41 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 20 |DA .1... |
00004D70: 20 20 20 20 20 20 20 3B C7 45 54 20 49 54 2E 0D | ;.ET IT..|
00004D80: 20 20 20 20 20 20 20 20 53 54 41 20 CD C9 CE D3 | STA ....|
00004D90: C5 C3 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00004DA0: 3B D3 41 56 45 20 49 54 2E 0D 0D 20 20 20 20 20 |;.AVE IT... |
00004DB0: 20 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 20 | JSR ..._.... |
00004DC0: 20 20 20 20 20 20 20 20 20 20 20 3B C3 48 41 4E | ;.HAN|
00004DD0: 47 45 20 53 54 41 54 45 20 4F 46 20 43 4C 4F 43 |GE STATE OF CLOC|
00004DE0: 4B 2C 20 53 4F 20 31 35 38 31 20 53 45 4E 44 53 |K, SO 1581 SENDS|
00004DF0: 20 4E 45 58 54 2E 0D 20 20 20 20 20 20 20 20 4A | NEXT.. J|
00004E00: 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 20 |SR .... |
00004E10: 20 20 20 20 20 20 20 3B D7 41 49 54 20 46 4F 52 | ;.AIT FOR|
00004E20: 20 27 4D 41 58 49 4D 55 4D 20 53 45 43 54 4F 52 | 'MAXIMUM SECTOR|
00004E30: 20 23 27 20 42 59 54 45 20 54 4F 20 42 45 20 52 | #' BYTE TO BE R|
00004E40: 45 41 44 59 2E 0D 20 20 20 20 20 20 20 20 4C 44 |EADY.. LD|
00004E50: 41 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 20 20 |A .1... |
00004E60: 20 20 20 20 20 20 3B C7 45 54 20 49 54 2E 0D 20 | ;.ET IT.. |
00004E70: 20 20 20 20 20 20 20 53 54 41 20 CD C1 D8 D3 C5 | STA .....|
00004E80: C3 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B |. ;|
00004E90: D3 41 56 45 20 49 54 2E 0D 0D 20 20 20 20 20 20 |.AVE IT... |
00004EA0: 20 20 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 20 20 | JSR ..._.... |
00004EB0: 20 20 20 20 20 20 20 20 20 20 3B C3 48 41 4E 47 | ;.HANG|
00004EC0: 45 20 53 54 41 54 45 20 4F 46 20 43 4C 4F 43 4B |E STATE OF CLOCK|
00004ED0: 2C 20 53 4F 20 31 35 38 31 20 53 45 4E 44 53 20 |, SO 1581 SENDS |
00004EE0: 4E 45 58 54 2E 0D 20 20 20 20 20 20 20 20 4A 53 |NEXT.. JS|
00004EF0: 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 20 20 |R .... |
00004F00: 20 20 20 20 20 20 3B D7 41 49 54 20 46 4F 52 20 | ;.AIT FOR |
00004F10: 27 49 4E 54 45 52 4C 45 41 56 45 27 20 42 59 54 |'INTERLEAVE' BYT|
00004F20: 45 20 54 4F 20 42 45 20 52 45 41 44 59 2E 0D 20 |E TO BE READY.. |
00004F30: 20 20 20 20 20 20 20 4C 44 41 20 C4 31 D3 C4 D2 | LDA .1...|
00004F40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00004F50: C7 45 54 20 49 54 2E 0D 20 20 20 20 20 20 20 20 |.ET IT.. |
00004F60: 53 54 41 20 C9 CE D4 CC D6 20 20 20 20 20 20 20 |STA ..... |
00004F70: 20 20 20 20 20 20 20 20 3B D3 41 56 45 20 49 54 | ;.AVE IT|
00004F80: 2E 0D 0D 35 24 20 20 20 20 20 20 43 4C 49 0D 20 |...5$ CLI. |
00004F90: 20 20 20 20 20 20 20 52 54 53 0D 0D 3B 2A 2A 2A | RTS..;***|
00004FA0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004FB0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004FC0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004FD0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00004FE0: 2A 2A 2A 2A 2A 2A 2A 2A 0D 0D CD C5 CD CF D2 D9 |********........|
00004FF0: 5F D2 C5 C1 C4 20 20 20 20 20 3B C2 55 52 53 54 |_.... ;.URST|
00005000: 20 4D 45 4D 4F 52 59 20 52 45 41 44 20 4F 46 20 | MEMORY READ OF |
00005010: 54 48 45 20 31 35 38 31 2E 20 20 D0 41 47 45 20 |THE 1581. .AGE |
00005020: 49 4E 20 31 35 38 31 20 4D 45 4D 4F 52 59 20 54 |IN 1581 MEMORY T|
00005030: 4F 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |O. |
00005040: 20 20 3B 53 54 41 52 54 20 52 45 41 44 49 4E 47 | ;START READING|
00005050: 20 41 54 20 49 4E 20 2E D8 2C 20 4E 55 4D 42 45 | AT IN .., NUMBE|
00005060: 52 20 4F 46 20 50 41 47 45 53 20 54 4F 20 52 45 |R OF PAGES TO RE|
00005070: 41 44 20 49 4E 20 2E D9 2C 0D 20 20 20 20 20 20 |AD IN ..,. |
00005080: 20 20 20 20 20 20 20 20 20 20 3B 4C 4F 43 41 54 | ;LOCAT|
00005090: 49 4F 4E 20 54 4F 20 53 54 4F 52 45 20 44 41 54 |ION TO STORE DAT|
000050A0: 41 20 49 4E 20 C3 31 32 38 20 4D 45 4D 4F 52 59 |A IN .128 MEMORY|
000050B0: 20 49 4E 20 C2 D5 C6 CC CF C3 2E 20 20 0D 20 20 | IN ....... . |
000050C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B CC | ;.|
000050D0: 4F 47 49 43 41 4C 20 46 49 4C 45 20 54 4F 20 42 |OGICAL FILE TO B|
000050E0: 45 20 52 45 41 44 20 46 52 4F 4D 20 49 4E 20 CC |E READ FROM IN .|
000050F0: C6 2E 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 20 |.... LDA |
00005100: 24 46 46 30 30 20 20 20 20 20 20 20 20 20 20 20 |$FF00 |
00005110: 20 20 20 20 3B D3 41 56 45 20 4F 4C 44 20 CD CD | ;.AVE OLD ..|
00005120: D5 20 53 45 54 55 50 2E 0D 20 20 20 20 20 20 20 |. SETUP.. |
00005130: 20 50 48 41 0D 0D 20 20 20 20 20 20 20 20 4C 44 | PHA.. LD|
00005140: 41 20 23 24 30 45 20 20 20 20 20 20 20 20 20 20 |A #$0E |
00005150: 20 20 20 20 20 20 3B D3 45 54 20 CD CD D5 20 46 | ;.ET ... F|
00005160: 4F 52 20 D2 C1 CD 30 2C CB C5 D2 CE C5 CC 2C C9 |OR ...0,......,.|
00005170: 2F CF 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 |/... STA |
00005180: 24 46 46 30 30 0D 0D 20 20 20 20 20 20 20 20 4A |$FF00.. J|
00005190: 53 52 20 D3 C5 D4 D5 30 20 20 20 20 20 20 20 20 |SR ....0 |
000051A0: 20 20 20 20 20 20 20 3B D0 55 54 20 22 D5 30 22 | ;.UT ".0"|
000051B0: 20 41 54 20 53 54 41 52 54 20 4F 46 20 43 4F 4D | AT START OF COM|
000051C0: 4D 41 4E 44 20 53 54 52 49 4E 47 2E 0D 20 20 20 |MAND STRING.. |
000051D0: 20 20 20 20 20 4C 44 41 20 23 24 33 C5 20 20 20 | LDA #$3. |
000051E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 28 27 | ;('|
000051F0: 3E 27 29 20 27 42 55 52 53 54 20 4D 45 4D 4F 52 |>') 'BURST MEMOR|
00005200: 59 20 52 45 41 44 27 20 43 4F 4D 4D 41 4E 44 20 |Y READ' COMMAND |
00005210: 53 54 52 49 4E 47 2E 0D 20 20 20 20 20 20 20 20 |STRING.. |
00005220: 53 54 41 20 C3 CD C4 CC C9 CE C5 2B 32 20 20 20 |STA .......+2 |
00005230: 20 20 20 20 20 20 20 20 3B 20 20 28 20 22 D5 30 | ; ( ".0|
00005240: 3E CD D2 22 20 29 0D 20 20 20 20 20 20 20 20 4C |>.." ). L|
00005250: 44 41 20 23 24 34 C4 20 20 20 20 20 20 20 20 20 |DA #$4. |
00005260: 20 20 20 20 20 20 20 3B 28 27 CD 27 29 0D 20 20 | ;('.'). |
00005270: 20 20 20 20 20 20 53 54 41 20 C3 CD C4 CC C9 CE | STA ......|
00005280: C5 2B 33 0D 20 20 20 20 20 20 20 20 4C 44 41 20 |.+3. LDA |
00005290: 23 24 35 32 20 20 20 20 20 20 20 20 20 20 20 20 |#$52 |
000052A0: 20 20 20 20 3B 28 27 D2 27 29 0D 20 20 20 20 20 | ;('.'). |
000052B0: 20 20 20 53 54 41 20 C3 CD C4 CC C9 CE C5 2B 34 | STA .......+4|
000052C0: 0D 20 20 20 20 20 20 20 20 53 54 58 20 C3 CD C4 |. STX ...|
000052D0: CC C9 CE C5 2B 35 20 20 20 20 20 20 20 20 20 20 |....+5 |
000052E0: 20 3B 20 31 35 38 31 20 50 41 47 45 20 54 4F 20 | ; 1581 PAGE TO |
000052F0: 53 54 41 52 54 20 52 45 41 44 49 4E 47 20 46 52 |START READING FR|
00005300: 4F 4D 2E 0D 20 20 20 20 20 20 20 20 53 54 59 20 |OM.. STY |
00005310: C3 CD C4 CC C9 CE C5 2B 36 20 20 20 20 20 20 20 |.......+6 |
00005320: 20 20 20 20 3B 20 23 20 4F 46 20 50 41 47 45 53 | ; # OF PAGES|
00005330: 20 54 4F 20 52 45 41 44 2E 0D 0D 20 20 20 20 20 | TO READ... |
00005340: 20 20 20 4C 44 41 20 23 24 30 37 20 20 20 20 20 | LDA #$07 |
00005350: 20 20 20 20 20 20 20 20 20 20 20 3B 20 CC 45 4E | ; .EN|
00005360: 47 54 48 20 4F 46 20 43 4F 4D 4D 41 4E 44 20 53 |GTH OF COMMAND S|
00005370: 54 52 49 4E 47 2E 0D 20 20 20 20 20 20 20 20 53 |TRING.. S|
00005380: 54 41 20 C3 CD C4 CC C5 CE 0D 20 20 20 20 20 20 |TA ....... |
00005390: 20 20 4A 53 52 20 20 53 45 4E 44 43 4D 44 20 20 | JSR SENDCMD |
000053A0: 20 20 20 20 20 20 20 20 20 20 3B 20 53 45 4E 44 | ; SEND|
000053B0: 20 43 4D 44 20 53 54 52 49 4E 47 0D 0D 20 20 20 | CMD STRING.. |
000053C0: 20 20 20 20 20 4C 44 41 20 20 C2 D5 C6 CC CF C3 | LDA ......|
000053D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 D3 | ; .|
000053E0: 45 54 20 55 50 20 5A 45 52 4F 20 50 41 47 45 20 |ET UP ZERO PAGE |
000053F0: 49 4E 44 49 52 45 43 54 20 50 4F 49 4E 54 45 52 |INDIRECT POINTER|
00005400: 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 20 C2 |.. STA .|
00005410: D5 C6 C6 C5 D2 0D 20 20 20 20 20 20 20 20 4C 44 |...... LD|
00005420: 41 20 20 C2 D5 C6 CC CF C3 2B 31 0D 20 20 20 20 |A ......+1. |
00005430: 20 20 20 20 53 54 41 20 20 C2 D5 C6 C6 C5 D2 2B | STA ......+|
00005440: 31 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 20 20 |1.. LDA |
00005450: 23 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |#0 |
00005460: 20 20 20 3B 20 43 4C 45 41 52 20 54 48 45 20 27 | ; CLEAR THE '|
00005470: 45 4D 50 54 59 20 53 45 43 54 4F 52 28 53 29 27 |EMPTY SECTOR(S)'|
00005480: 20 46 4C 41 47 2E 0D 20 20 20 20 20 20 20 20 53 | FLAG.. S|
00005490: 54 41 20 20 46 4C 41 47 0D 0D 20 20 20 20 20 20 |TA FLAG.. |
000054A0: 20 20 53 45 49 20 20 20 20 20 20 20 20 20 20 20 | SEI |
000054B0: 20 20 20 20 20 20 20 20 20 20 3B 20 CE 4F 20 49 | ; .O I|
000054C0: 52 51 27 53 20 41 4C 4C 4F 57 45 44 20 44 55 52 |RQ'S ALLOWED DUR|
000054D0: 49 4E 47 20 48 41 4E 44 53 48 41 4B 45 2E 0D 0D |ING HANDSHAKE...|
000054E0: 20 20 20 20 20 20 20 20 42 49 54 20 20 44 31 49 | BIT D1I|
000054F0: 43 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |CR |
00005500: 3B 20 43 4C 45 41 52 20 50 45 4E 44 49 4E 47 0D |; CLEAR PENDING.|
00005510: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 C3 CC CB |. JSR ...|
00005520: 5F C3 C8 CE C7 20 20 20 20 20 20 20 20 20 20 20 |_.... |
00005530: 20 3B C3 48 41 4E 47 45 20 53 54 41 54 45 20 4F | ;.HANGE STATE O|
00005540: 46 20 43 4C 4F 43 4B 2E 0D 0D 20 20 20 20 20 20 |F CLOCK... |
00005550: 20 20 4C 44 59 20 23 30 0D 33 24 20 20 20 20 20 | LDY #0.3$ |
00005560: 20 4A 53 52 20 D7 C1 C9 D4 20 20 20 20 20 20 20 | JSR .... |
00005570: 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 46 | ;.AIT F|
00005580: 4F 52 20 54 48 45 20 42 59 54 45 20 54 4F 20 42 |OR THE BYTE TO B|
00005590: 45 20 53 48 49 46 54 45 44 20 49 4E 2E 0D 0D 20 |E SHIFTED IN... |
000055A0: 20 20 20 20 20 20 20 4A 53 52 20 C3 CC CB 5F C3 | JSR ..._.|
000055B0: C8 CE C7 20 20 20 20 20 20 20 20 20 20 20 20 3B |... ;|
000055C0: C3 48 41 4E 47 45 20 43 4C 4F 43 4B 20 53 4F 20 |.HANGE CLOCK SO |
000055D0: 4E 45 58 54 20 42 59 54 45 20 49 53 20 53 45 4E |NEXT BYTE IS SEN|
000055E0: 54 2E 0D 20 20 20 20 20 20 20 20 4C 44 41 20 20 |T.. LDA |
000055F0: 44 31 53 44 52 20 20 20 20 20 20 20 20 20 20 20 |D1SDR |
00005600: 20 20 20 3B 20 47 45 54 20 44 41 54 41 0D 20 20 | ; GET DATA. |
00005610: 20 20 20 20 20 20 53 54 41 20 20 28 42 55 46 46 | STA (BUFF|
00005620: 45 52 29 2C 59 20 20 20 20 20 20 20 20 20 3B 20 |ER),Y ; |
00005630: 20 41 4E 44 20 53 41 56 45 20 49 54 20 57 48 49 | AND SAVE IT WHI|
00005640: 4C 45 20 4E 45 58 54 20 42 59 54 45 20 49 53 20 |LE NEXT BYTE IS |
00005650: 54 52 41 4E 53 4D 49 54 54 45 44 2E 0D 0D 20 20 |TRANSMITTED... |
00005660: 20 20 20 20 20 20 4F 52 41 20 20 46 4C 41 47 20 | ORA FLAG |
00005670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00005680: D5 50 44 41 54 45 20 27 5A 45 52 4F 27 20 46 4C |.PDATE 'ZERO' FL|
00005690: 41 47 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 |AG.. STA |
000056A0: 20 46 4C 41 47 0D 0D 20 20 20 20 20 20 20 20 49 | FLAG.. I|
000056B0: 4E 59 0D 20 20 20 20 20 20 20 20 42 4E 45 20 20 |NY. BNE |
000056C0: 33 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |3$ |
000056D0: 20 20 20 3B C1 4E 59 20 4D 4F 52 45 20 49 4E 20 | ;.NY MORE IN |
000056E0: 54 48 49 53 20 50 41 47 45 3F 0D 0D 20 20 20 20 |THIS PAGE?.. |
000056F0: 20 20 20 20 49 4E 43 20 C2 D5 C6 C6 C5 D2 2B 31 | INC ......+1|
00005700: 0D 20 20 20 20 20 20 20 20 44 45 43 20 C3 CD C4 |. DEC ...|
00005710: CC C9 CE C5 2B 36 20 20 20 20 20 20 20 20 20 20 |....+6 |
00005720: 20 3B C1 4E 59 20 4D 4F 52 45 20 50 41 47 45 53 | ;.NY MORE PAGES|
00005730: 20 54 4F 20 44 4F 3F 0D 20 20 20 20 20 20 20 20 | TO DO?. |
00005740: 42 4E 45 20 33 24 0D 0D 35 24 20 20 20 20 20 20 |BNE 3$..5$ |
00005750: 43 4C 49 0D 0D 20 20 20 20 20 20 20 20 50 4C 41 |CLI.. PLA|
00005760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00005770: 20 20 20 20 20 3B D2 45 53 54 4F 52 45 20 4F 4C | ;.ESTORE OL|
00005780: 44 20 4D 45 4D 4F 52 59 20 43 4F 4E 46 49 47 55 |D MEMORY CONFIGU|
00005790: 52 41 54 49 4F 4E 2E 0D 20 20 20 20 20 20 20 20 |RATION.. |
000057A0: 53 54 41 20 24 46 46 30 30 0D 0D 20 20 20 20 20 |STA $FF00.. |
000057B0: 20 20 20 52 54 53 0D 0D 0D 3B 2A 2A 2A 2A 2A 2A | RTS...;******|
000057C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000057D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000057E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000057F0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00005800: 2A 2A 2A 2A 2A 0D 0D CD C5 CD CF D2 D9 5F D7 D2 |*****........_..|
00005810: C9 D4 C5 20 20 20 20 3B C2 55 52 53 54 20 4D 45 |... ;.URST ME|
00005820: 4D 4F 52 59 20 57 52 49 54 45 20 54 4F 20 54 48 |MORY WRITE TO TH|
00005830: 45 20 31 35 38 31 27 53 20 4D 45 4D 4F 52 59 2E |E 1581'S MEMORY.|
00005840: 20 20 D4 48 45 0D 20 20 20 20 20 20 20 20 20 20 | .HE. |
00005850: 20 20 20 20 20 20 3B 4C 4F 43 41 54 49 4F 4E 20 | ;LOCATION |
00005860: 49 4E 20 C3 31 32 38 20 4D 45 4D 4F 52 59 20 54 |IN .128 MEMORY T|
00005870: 4F 20 53 45 4E 44 20 44 41 54 41 20 46 52 4F 4D |O SEND DATA FROM|
00005880: 20 49 4E 20 C2 D5 C6 CC CF C3 2E 0D 20 20 20 20 | IN ........ |
00005890: 20 20 20 20 20 20 20 20 20 20 20 20 3B D4 48 45 | ;.HE|
000058A0: 20 50 41 47 45 20 49 4E 20 31 35 38 31 20 4D 45 | PAGE IN 1581 ME|
000058B0: 4D 4F 52 59 20 54 4F 20 53 54 41 52 54 20 57 52 |MORY TO START WR|
000058C0: 49 54 49 4E 47 20 54 4F 20 49 4E 20 2E D8 2E 0D |ITING TO IN ....|
000058D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000058E0: 3B D4 48 45 20 4E 55 4D 42 45 52 20 4F 46 20 50 |;.HE NUMBER OF P|
000058F0: 41 47 45 53 20 54 4F 20 57 52 49 54 45 20 49 4E |AGES TO WRITE IN|
00005900: 20 2E D9 2E 20 20 0D 20 20 20 20 20 20 20 20 20 | ... . |
00005910: 20 20 20 20 20 20 20 3B CC 4F 47 49 43 41 4C 20 | ;.OGICAL |
00005920: 46 49 4C 45 20 54 4F 20 42 45 20 57 52 49 54 54 |FILE TO BE WRITT|
00005930: 45 4E 20 54 4F 20 49 4E 20 CC C6 2E 0D 0D 20 20 |EN TO IN ..... |
00005940: 20 20 20 20 20 20 4C 44 41 20 24 46 46 30 30 20 | LDA $FF00 |
00005950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B D3 | ;.|
00005960: 41 56 45 20 4F 4C 44 20 CD CD D5 20 53 45 54 55 |AVE OLD ... SETU|
00005970: 50 2E 0D 20 20 20 20 20 20 20 20 50 48 41 0D 0D |P.. PHA..|
00005980: 20 20 20 20 20 20 20 20 4C 44 41 20 23 24 30 45 | LDA #$0E|
00005990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000059A0: 3B D3 45 54 20 CD CD D5 20 46 4F 52 20 D2 C1 CD |;.ET ... FOR ...|
000059B0: 30 2C CB C5 D2 CE C5 CC 2C C9 2F CF 2E 0D 20 20 |0,......,./... |
000059C0: 20 20 20 20 20 20 53 54 41 20 24 46 46 30 30 0D | STA $FF00.|
000059D0: 0D 20 20 20 20 20 20 20 20 4A 53 52 20 D3 C5 D4 |. JSR ...|
000059E0: D5 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.0 |
000059F0: 20 3B D0 55 54 20 22 D5 30 22 20 41 54 20 53 54 | ;.UT ".0" AT ST|
00005A00: 41 52 54 20 4F 46 20 43 4F 4D 4D 41 4E 44 20 53 |ART OF COMMAND S|
00005A10: 54 52 49 4E 47 2E 0D 20 20 20 20 20 20 20 20 4C |TRING.. L|
00005A20: 44 41 20 23 24 33 C5 20 20 20 20 20 20 20 20 20 |DA #$3. |
00005A30: 20 20 20 20 20 20 20 3B 28 27 3E 27 29 20 27 42 | ;('>') 'B|
00005A40: 55 52 53 54 20 4D 45 4D 4F 52 59 20 57 52 49 54 |URST MEMORY WRIT|
00005A50: 45 27 20 43 4F 4D 4D 41 4E 44 20 53 54 52 49 4E |E' COMMAND STRIN|
00005A60: 47 2E 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 |G.. STA .|
00005A70: CD C4 CC C9 CE C5 2B 32 20 20 20 20 20 20 20 20 |......+2 |
00005A80: 20 20 20 3B 20 20 28 20 22 D5 30 3E CD D7 22 20 | ; ( ".0>.." |
00005A90: 29 0D 20 20 20 20 20 20 20 20 4C 44 41 20 23 24 |). LDA #$|
00005AA0: 34 C4 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |4. |
00005AB0: 20 20 3B 28 27 CD 27 29 0D 20 20 20 20 20 20 20 | ;('.'). |
00005AC0: 20 53 54 41 20 C3 CD C4 CC C9 CE C5 2B 33 0D 20 | STA .......+3. |
00005AD0: 20 20 20 20 20 20 20 4C 44 41 20 23 24 35 37 20 | LDA #$57 |
00005AE0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B | ;|
00005AF0: 28 27 D7 27 29 0D 20 20 20 20 20 20 20 20 53 54 |('.'). ST|
00005B00: 41 20 C3 CD C4 CC C9 CE C5 2B 34 0D 20 20 20 20 |A .......+4. |
00005B10: 20 20 20 20 53 54 58 20 C3 CD C4 CC C9 CE C5 2B | STX .......+|
00005B20: 35 20 20 20 20 20 20 20 20 20 20 20 3B 20 31 35 |5 ; 15|
00005B30: 38 31 20 50 41 47 45 20 54 4F 20 53 54 41 52 54 |81 PAGE TO START|
00005B40: 20 57 52 49 54 49 4E 47 20 54 4F 2E 0D 20 20 20 | WRITING TO.. |
00005B50: 20 20 20 20 20 53 54 59 20 C3 CD C4 CC C9 CE C5 | STY .......|
00005B60: 2B 36 20 20 20 20 20 20 20 20 20 20 20 3B 20 23 |+6 ; #|
00005B70: 20 4F 46 20 50 41 47 45 53 20 54 4F 20 57 52 49 | OF PAGES TO WRI|
00005B80: 54 45 2E 0D 0D 20 20 20 20 20 20 20 20 4C 44 41 |TE... LDA|
00005B90: 20 23 24 30 37 20 20 20 20 20 20 20 20 20 20 20 | #$07 |
00005BA0: 20 20 20 20 20 3B 20 CC 45 4E 47 54 48 20 4F 46 | ; .ENGTH OF|
00005BB0: 20 43 4F 4D 4D 41 4E 44 20 53 54 52 49 4E 47 2E | COMMAND STRING.|
00005BC0: 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD C4 |. STA ...|
00005BD0: CC C5 CE 0D 0D 20 20 20 20 20 20 20 20 4A 53 52 |..... JSR|
00005BE0: 20 20 53 45 4E 44 43 4D 44 20 20 20 20 20 20 20 | SENDCMD |
00005BF0: 20 20 20 20 20 3B 20 53 45 4E 44 20 43 4D 44 20 | ; SEND CMD |
00005C00: 53 54 52 49 4E 47 0D 0D 20 20 20 20 20 20 20 20 |STRING.. |
00005C10: 4C 44 41 20 20 C2 D5 C6 CC CF C3 20 20 20 20 20 |LDA ...... |
00005C20: 20 20 20 20 20 20 20 20 3B 20 D3 45 54 20 55 50 | ; .ET UP|
00005C30: 20 5A 45 52 4F 20 50 41 47 45 20 49 4E 44 49 52 | ZERO PAGE INDIR|
00005C40: 45 43 54 20 50 4F 49 4E 54 45 52 2E 0D 20 20 20 |ECT POINTER.. |
00005C50: 20 20 20 20 20 53 54 41 20 20 C2 D5 C6 C6 C5 D2 | STA ......|
00005C60: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 20 C2 D5 |. LDA ..|
00005C70: C6 CC CF C3 2B 31 0D 20 20 20 20 20 20 20 20 53 |....+1. S|
00005C80: 54 41 20 20 C2 D5 C6 C6 C5 D2 2B 31 0D 0D 20 20 |TA ......+1.. |
00005C90: 20 20 20 20 20 20 4C 44 41 20 20 23 43 4C 4B 49 | LDA #CLKI|
00005CA0: 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 3B C9 |N ;.|
00005CB0: 4E 49 54 49 41 4C 20 43 4C 4F 43 4B 20 53 54 41 |NITIAL CLOCK STA|
00005CC0: 54 55 53 2E 0D 20 20 20 20 20 20 20 20 53 54 41 |TUS.. STA|
00005CD0: 20 20 4F 4C 44 43 4C 4B 0D 0D 20 20 20 20 20 20 | OLDCLK.. |
00005CE0: 20 20 4C 44 59 20 23 30 0D 20 20 20 20 20 20 20 | LDY #0. |
00005CF0: 20 53 45 49 20 20 20 20 20 20 20 20 20 20 20 20 | SEI |
00005D00: 20 20 20 20 20 20 20 20 20 3B CE 4F 20 C9 D2 D1 | ;.O ...|
00005D10: 27 53 20 41 4C 4C 4F 57 45 44 20 44 55 52 49 4E |'S ALLOWED DURIN|
00005D20: 47 20 48 41 4E 44 53 48 41 4B 45 2E 0D 0D 20 20 |G HANDSHAKE... |
00005D30: 20 20 20 20 20 20 53 45 43 20 20 20 20 20 20 20 | SEC |
00005D40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 20 | ; |
00005D50: D3 45 54 20 54 4F 20 4F 55 54 50 55 54 20 4D 4F |.ET TO OUTPUT MO|
00005D60: 44 45 2E 0D 20 20 20 20 20 20 20 20 4A 53 52 20 |DE.. JSR |
00005D70: D3 D0 C9 CE 5F CF D5 D4 0D 0D 32 24 20 20 20 20 |...._.....2$ |
00005D80: 20 20 4C 44 41 20 44 32 50 52 41 20 20 20 20 20 | LDA D2PRA |
00005D90: 20 20 20 20 20 20 20 20 20 20 3B D7 41 49 54 20 | ;.AIT |
00005DA0: 46 4F 52 20 53 54 41 54 45 20 28 53 4C 4F 57 20 |FOR STATE (SLOW |
00005DB0: 43 4C 4F 43 4B 20 4C 49 4E 45 29 20 43 48 41 4E |CLOCK LINE) CHAN|
00005DC0: 47 45 2E 0D 20 20 20 20 20 20 20 20 45 4F 52 20 |GE.. EOR |
00005DD0: CF CC C4 C3 CC CB 0D 20 20 20 20 20 20 20 20 41 |....... A|
00005DE0: 4E 44 20 23 C3 CC CB C9 CE 0D 20 20 20 20 20 20 |ND #...... |
00005DF0: 20 20 42 45 51 20 32 24 0D 0D 20 20 20 20 20 20 | BEQ 2$.. |
00005E00: 20 20 45 4F 52 20 CF CC C4 C3 CC CB 20 20 20 20 | EOR ...... |
00005E10: 20 20 20 20 20 20 20 20 20 20 3B C3 48 41 4E 47 | ;.HANG|
00005E20: 45 20 53 54 41 54 55 53 20 4F 46 20 CF CC C4 C3 |E STATUS OF ....|
00005E30: CC CB 20 56 41 52 49 41 42 4C 45 2E 0D 20 20 20 |.. VARIABLE.. |
00005E40: 20 20 20 20 20 53 54 41 20 CF CC C4 C3 CC CB 0D | STA .......|
00005E50: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 28 C2 D5 |. LDA (..|
00005E60: C6 C6 C5 D2 29 2C 59 20 20 20 20 20 20 20 20 20 |....),Y |
00005E70: 20 3B C7 45 54 20 44 41 54 41 20 54 4F 20 57 52 | ;.ET DATA TO WR|
00005E80: 49 54 45 2E 0D 20 20 20 20 20 20 20 20 53 54 41 |ITE.. STA|
00005E90: 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 20 20 20 | .1... |
00005EA0: 20 20 20 20 20 3B D3 45 4E 44 20 49 54 2E 0D 0D | ;.END IT...|
00005EB0: 20 20 20 20 20 20 20 20 4A 53 52 20 D7 C1 C9 D4 | JSR ....|
00005EC0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00005ED0: 3B D7 41 49 54 20 46 4F 52 20 54 48 45 20 42 59 |;.AIT FOR THE BY|
00005EE0: 54 45 20 54 4F 20 42 45 20 53 45 4E 54 2E 0D 0D |TE TO BE SENT...|
00005EF0: 20 20 20 20 20 20 20 20 49 4E 59 0D 20 20 20 20 | INY. |
00005F00: 20 20 20 20 42 4E 45 20 32 24 20 20 20 20 20 20 | BNE 2$ |
00005F10: 20 20 20 20 20 20 20 20 20 20 20 20 3B CD 4F 52 | ;.OR|
00005F20: 45 20 49 4E 20 54 48 49 53 20 50 41 47 45 3F 0D |E IN THIS PAGE?.|
00005F30: 0D 20 20 20 20 20 20 20 20 49 4E 43 20 C2 D5 C6 |. INC ...|
00005F40: C6 C5 D2 2B 31 0D 20 20 20 20 20 20 20 20 44 45 |...+1. DE|
00005F50: 43 20 C3 CD C4 CC C9 CE C5 2B 36 20 20 20 20 20 |C .......+6 |
00005F60: 20 20 20 20 20 20 0D 20 20 20 20 20 20 20 20 42 | . B|
00005F70: 4E 45 20 32 24 20 20 20 20 20 20 20 20 20 20 20 |NE 2$ |
00005F80: 20 20 20 20 20 20 20 3B C1 4E 59 20 4D 4F 52 45 | ;.NY MORE|
00005F90: 20 50 41 47 45 53 20 54 4F 20 53 45 4E 44 3F 0D | PAGES TO SEND?.|
00005FA0: 0D 20 20 20 20 20 20 20 20 43 4C 49 0D 0D 20 20 |. CLI.. |
00005FB0: 20 20 20 20 20 20 50 4C 41 20 20 20 20 20 20 20 | PLA |
00005FC0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B D2 | ;.|
00005FD0: 45 53 54 4F 52 45 20 4F 4C 44 20 4D 45 4D 4F 52 |ESTORE OLD MEMOR|
00005FE0: 59 20 43 4F 4E 46 49 47 55 52 41 54 49 4F 4E 2E |Y CONFIGURATION.|
00005FF0: 0D 20 20 20 20 20 20 20 20 53 54 41 20 24 46 46 |. STA $FF|
00006000: 30 30 0D 0D 20 20 20 20 20 20 20 20 52 54 53 0D |00.. RTS.|
00006010: 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |.;**************|
00006020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006030: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006040: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006050: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0D C4 |*************...|
00006060: D5 CD D0 5F C3 C1 C3 C8 C5 20 20 20 20 20 20 3B |..._..... ;|
00006070: C4 55 4D 50 53 20 54 48 45 20 54 52 41 43 4B 20 |.UMPS THE TRACK |
00006080: 43 41 43 48 45 20 41 54 20 31 35 38 31 20 24 30 |CACHE AT 1581 $0|
00006090: C3 30 30 20 54 4F 20 54 48 45 20 50 48 59 53 49 |.00 TO THE PHYSI|
000060A0: 43 41 4C 20 54 52 41 43 4B 0D 20 20 20 20 20 20 |CAL TRACK. |
000060B0: 20 20 20 20 20 20 20 20 20 20 3B 53 50 45 43 49 | ;SPECI|
000060C0: 46 49 45 44 20 49 4E 20 D4 D2 C1 C3 CB 2C 20 4F |FIED IN ....., O|
000060D0: 4E 20 54 48 45 20 53 49 44 45 20 53 50 45 43 49 |N THE SIDE SPECI|
000060E0: 46 49 45 44 20 49 4E 20 D3 C9 C4 C5 2E 20 20 D4 |FIED IN ..... .|
000060F0: 48 45 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 |HE. |
00006100: 20 20 20 3B 27 46 4F 52 43 45 27 20 42 49 54 20 | ;'FORCE' BIT |
00006110: 49 53 20 53 45 54 2C 20 53 4F 20 49 54 20 49 53 |IS SET, SO IT IS|
00006120: 20 57 52 49 54 54 45 4E 20 57 48 45 54 48 45 52 | WRITTEN WHETHER|
00006130: 20 49 54 20 49 53 20 44 49 52 54 59 0D 20 20 20 | IT IS DIRTY. |
00006140: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 4F 52 | ;OR|
00006150: 20 4E 4F 54 2E 0D 0D 20 20 20 20 20 20 20 20 4A | NOT... J|
00006160: 53 52 20 D3 C5 D4 D5 30 0D 20 20 20 20 20 20 20 |SR ....0. |
00006170: 20 4C 44 41 20 23 C4 D5 CD D0 C3 C1 C3 C8 C5 20 | LDA #......... |
00006180: 20 20 20 20 20 20 20 20 20 3B C4 55 4D 50 20 54 | ;.UMP T|
00006190: 52 41 43 4B 20 43 41 43 48 45 20 43 4F 4D 4D 41 |RACK CACHE COMMA|
000061A0: 4E 44 2E 0D 0D 20 20 20 20 20 20 20 20 4C 44 58 |ND... LDX|
000061B0: 20 D3 C9 C4 C5 20 20 20 20 20 20 20 20 20 20 20 | .... |
000061C0: 20 20 20 20 20 3B 20 20 D3 45 54 20 D3 C9 C4 C5 | ; .ET ....|
000061D0: 20 42 49 54 20 41 43 43 4F 52 44 49 4E 47 4C 59 | BIT ACCORDINGLY|
000061E0: 2E 0D 20 20 20 20 20 20 20 20 42 45 51 20 31 24 |.. BEQ 1$|
000061F0: 0D 20 20 20 20 20 20 20 20 4F 52 41 20 23 24 34 |. ORA #$4|
00006200: 30 0D 0D 31 24 20 20 20 20 20 20 53 54 41 20 C3 |0..1$ STA .|
00006210: CD C4 CC C9 CE C5 2B 32 20 20 20 20 20 20 20 20 |......+2 |
00006220: 20 20 20 3B 20 20 D0 55 54 20 54 48 45 20 43 4F | ; .UT THE CO|
00006230: 4D 4D 41 4E 44 20 42 59 54 45 20 49 4E 54 4F 20 |MMAND BYTE INTO |
00006240: 43 4F 4D 4D 41 4E 44 20 53 54 52 49 4E 47 2E 0D |COMMAND STRING..|
00006250: 20 20 20 20 20 20 20 20 4C 44 41 20 D4 D2 C1 C3 | LDA ....|
00006260: CB 0D 20 20 20 20 20 20 20 20 53 54 41 20 C3 CD |.. STA ..|
00006270: C4 CC C9 CE C5 2B 33 20 20 20 20 20 20 20 20 20 |.....+3 |
00006280: 20 20 3B 20 20 D0 48 59 53 49 43 41 4C 20 54 52 | ; .HYSICAL TR|
00006290: 41 43 4B 20 54 4F 20 44 55 4D 50 20 43 41 43 48 |ACK TO DUMP CACH|
000062A0: 45 20 54 4F 2E 0D 0D 20 20 20 20 20 20 20 20 4C |E TO... L|
000062B0: 44 41 20 23 34 0D 20 20 20 20 20 20 20 20 53 54 |DA #4. ST|
000062C0: 41 20 C3 CD C4 CC C5 CE 20 20 20 20 20 20 20 20 |A ...... |
000062D0: 20 20 20 20 20 20 3B CC 45 4E 47 54 48 20 4F 46 | ;.ENGTH OF|
000062E0: 20 54 48 45 20 43 4F 4D 4D 41 4E 44 20 53 54 52 | THE COMMAND STR|
000062F0: 49 4E 47 2E 0D 20 20 20 20 20 20 20 20 4A 53 52 |ING.. JSR|
00006300: 20 D3 C5 CE C4 C3 CD C4 0D 0D 20 20 20 20 20 20 | ......... |
00006310: 20 20 53 45 49 20 20 20 20 20 20 20 20 20 20 20 | SEI |
00006320: 20 20 20 20 20 20 20 20 20 20 3B C4 49 53 41 42 | ;.ISAB|
00006330: 4C 45 20 49 4E 54 45 52 52 55 50 54 53 20 44 55 |LE INTERRUPTS DU|
00006340: 52 49 4E 47 20 48 41 4E 44 53 48 41 4B 45 2E 0D |RING HANDSHAKE..|
00006350: 0D 20 20 20 20 20 20 20 20 42 49 54 20 C4 31 C9 |. BIT .1.|
00006360: C3 D2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00006370: 20 3B C3 4C 45 41 52 20 41 4E 59 20 42 59 54 45 | ;.LEAR ANY BYTE|
00006380: 20 52 45 41 44 59 20 54 48 41 54 27 53 20 50 45 | READY THAT'S PE|
00006390: 4E 44 49 4E 47 2E 0D 0D 20 20 20 20 20 20 20 20 |NDING... |
000063A0: 4A 53 52 20 C3 CC CB 5F C3 C8 CE C7 20 20 20 20 |JSR ..._.... |
000063B0: 20 20 20 20 20 20 20 20 3B C3 48 41 4E 47 45 20 | ;.HANGE |
000063C0: 43 4C 4F 43 4B 20 53 4F 20 31 35 38 31 20 57 49 |CLOCK SO 1581 WI|
000063D0: 4C 4C 20 53 45 4E 44 20 53 54 41 54 55 53 20 42 |LL SEND STATUS B|
000063E0: 59 54 45 2E 0D 20 20 20 20 20 20 20 20 4A 53 52 |YTE.. JSR|
000063F0: 20 D7 C1 C9 D4 20 20 20 20 20 20 20 20 20 20 20 | .... |
00006400: 20 20 20 20 20 3B D7 41 49 54 20 46 4F 52 20 42 | ;.AIT FOR B|
00006410: 59 54 45 20 54 4F 20 42 45 20 53 48 49 46 54 45 |YTE TO BE SHIFTE|
00006420: 44 20 49 4E 2E 0D 20 20 20 20 20 20 20 20 4C 44 |D IN.. LD|
00006430: 41 20 C4 31 D3 C4 D2 20 20 20 20 20 20 20 20 20 |A .1... |
00006440: 20 20 20 20 20 20 3B C7 45 54 20 54 48 45 20 53 | ;.ET THE S|
00006450: 54 41 54 55 53 20 42 59 54 45 2E 0D 20 20 20 20 |TATUS BYTE.. |
00006460: 20 20 20 20 53 54 41 20 D3 D4 C1 D4 D5 D3 20 20 | STA ...... |
00006470: 20 20 20 20 20 20 20 20 20 20 20 20 3B D3 41 56 | ;.AV|
00006480: 45 20 49 54 20 4F 46 46 2E 0D 0D 20 20 20 20 20 |E IT OFF... |
00006490: 20 20 20 43 4C 49 0D 20 20 20 20 20 20 20 20 52 | CLI. R|
000064A0: 54 53 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |TS..;***********|
000064B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000064C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000064D0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000064E0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000064F0: 0D 0D C3 CF CD D0 C1 D2 C5 5F CD C5 CD CF D2 D9 |........._......|
00006500: 20 20 3B C3 4F 4D 50 41 52 45 53 20 4D 45 4D 4F | ;.OMPARES MEMO|
00006510: 52 59 20 42 4C 4F 43 4B 53 20 49 4E 20 54 48 45 |RY BLOCKS IN THE|
00006520: 20 C3 31 32 38 20 4D 45 4D 4F 52 59 2E 0D 20 20 | .128 MEMORY.. |
00006530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B CE | ;.|
00006540: 55 4D 42 45 52 20 4F 46 20 50 41 47 45 53 20 54 |UMBER OF PAGES T|
00006550: 4F 20 43 4F 4D 50 41 52 45 20 49 4E 20 2E C1 2E |O COMPARE IN ...|
00006560: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00006570: 20 3B C6 49 52 53 54 20 50 41 47 45 20 4F 46 20 | ;.IRST PAGE OF |
00006580: 46 49 52 53 54 20 4D 45 4D 4F 52 59 20 42 4C 4F |FIRST MEMORY BLO|
00006590: 43 4B 20 49 4E 20 2E D8 2E 0D 20 20 20 20 20 20 |CK IN .... |
000065A0: 20 20 20 20 20 20 20 20 20 20 3B C6 49 52 53 54 | ;.IRST|
000065B0: 20 50 41 47 45 20 4F 46 20 53 45 43 4F 4E 44 20 | PAGE OF SECOND |
000065C0: 4D 45 4D 4F 52 59 20 42 4C 4F 43 4B 20 49 4E 20 |MEMORY BLOCK IN |
000065D0: 2E D9 2E 0D 20 20 20 20 20 20 20 20 20 20 20 20 |.... |
000065E0: 20 20 20 20 3B C9 46 20 54 48 45 59 20 41 52 45 | ;.F THEY ARE|
000065F0: 20 45 51 55 41 4C 2C 20 54 48 45 4E 20 D3 D4 C1 | EQUAL, THEN ...|
00006600: D4 D5 D3 3D 30 2E 0D 0D 20 20 20 20 20 20 20 20 |...=0... |
00006610: 53 54 41 20 54 45 4D 50 0D 0D 20 20 20 20 20 20 |STA TEMP.. |
00006620: 20 20 4C 44 41 20 24 46 46 30 30 20 20 20 20 20 | LDA $FF00 |
00006630: 20 20 20 20 20 20 20 20 20 20 3B D3 41 56 45 20 | ;.AVE |
00006640: 4F 4C 44 20 CD CD D5 20 53 45 54 55 50 2E 0D 20 |OLD ... SETUP.. |
00006650: 20 20 20 20 20 20 20 50 48 41 0D 0D 20 20 20 20 | PHA.. |
00006660: 20 20 20 20 4C 44 41 20 23 24 30 45 20 20 20 20 | LDA #$0E |
00006670: 20 20 20 20 20 20 20 20 20 20 20 20 3B D3 45 54 | ;.ET|
00006680: 20 CD CD D5 20 46 4F 52 20 D2 C1 CD 30 2C CB C5 | ... FOR ...0,..|
00006690: D2 CE C5 CC 2C C9 2F CF 2E 0D 20 20 20 20 20 20 |....,./... |
000066A0: 20 20 53 54 41 20 24 46 46 30 30 0D 0D 20 20 20 | STA $FF00.. |
000066B0: 20 20 20 20 20 53 54 58 20 42 55 46 46 45 52 2B | STX BUFFER+|
000066C0: 31 20 20 20 20 20 20 20 20 20 20 20 20 3B D3 45 |1 ;.E|
000066D0: 54 20 55 50 20 CD D3 C2 20 4F 46 20 31 53 54 20 |T UP ... OF 1ST |
000066E0: 4D 45 4D 4F 52 59 20 50 4F 49 4E 54 45 52 2E 0D |MEMORY POINTER..|
000066F0: 20 20 20 20 20 20 20 20 53 54 59 20 42 55 46 46 | STY BUFF|
00006700: 45 52 32 2B 31 20 20 20 20 20 20 20 20 20 20 20 |ER2+1 |
00006710: 3B D3 45 54 20 55 50 20 CD D3 C2 20 4F 46 20 32 |;.ET UP ... OF 2|
00006720: 4E 44 20 4D 45 4D 4F 52 59 20 50 4F 49 4E 54 45 |ND MEMORY POINTE|
00006730: 52 2E 0D 20 20 20 20 20 20 20 20 4C 44 58 20 54 |R.. LDX T|
00006740: 45 4D 50 20 20 20 20 20 20 20 20 20 20 20 20 20 |EMP |
00006750: 20 20 20 3B CE 55 4D 42 45 52 20 4F 46 20 50 41 | ;.UMBER OF PA|
00006760: 47 45 53 20 54 4F 20 43 4F 4D 50 41 52 45 2E 0D |GES TO COMPARE..|
00006770: 20 20 20 20 20 20 20 20 0D 20 20 20 20 20 20 20 | . |
00006780: 20 4C 44 41 20 23 30 20 20 20 20 20 20 20 20 20 | LDA #0 |
00006790: 20 20 20 20 20 20 20 20 20 3B D3 45 54 20 55 50 | ;.ET UP|
000067A0: 20 CC D3 C2 27 53 20 4F 46 20 4D 45 4D 4F 52 59 | ...'S OF MEMORY|
000067B0: 20 50 4F 49 4E 54 45 52 53 2E 0D 20 20 20 20 20 | POINTERS.. |
000067C0: 20 20 20 53 54 41 20 42 55 46 46 45 52 0D 20 20 | STA BUFFER. |
000067D0: 20 20 20 20 20 20 53 54 41 20 42 55 46 46 45 52 | STA BUFFER|
000067E0: 32 0D 0D 20 20 20 20 20 20 20 20 53 54 41 20 D3 |2.. STA .|
000067F0: D4 C1 D4 D5 D3 20 20 20 20 20 20 20 20 20 20 20 |..... |
00006800: 20 20 20 3B C9 4E 49 54 49 41 4C 49 5A 45 20 D3 | ;.NITIALIZE .|
00006810: D4 C1 D4 D5 D3 2E 0D 0D 20 20 20 20 20 20 20 20 |........ |
00006820: 4C 44 59 20 23 30 0D 0D 32 24 20 20 20 20 20 20 |LDY #0..2$ |
00006830: 4C 44 41 20 28 42 55 46 46 45 52 29 2C 59 0D 20 |LDA (BUFFER),Y. |
00006840: 20 20 20 20 20 20 20 43 4D 50 20 28 42 55 46 46 | CMP (BUFF|
00006850: 45 52 32 29 2C 59 0D 20 20 20 20 20 20 20 20 42 |ER2),Y. B|
00006860: 45 51 20 31 24 0D 0D 20 20 20 20 20 20 20 20 4C |EQ 1$.. L|
00006870: 44 41 20 23 24 46 46 20 20 20 20 20 20 20 20 20 |DA #$FF |
00006880: 20 20 20 20 20 20 20 3B CE 4F 54 20 45 51 55 41 | ;.OT EQUA|
00006890: 4C 21 20 20 CC 4F 41 44 20 D3 D4 C1 D4 D5 D3 20 |L! .OAD ...... |
000068A0: 57 49 54 48 20 4E 4F 4E 5A 45 52 4F 2E 0D 20 20 |WITH NONZERO.. |
000068B0: 20 20 20 20 20 20 53 54 41 20 D3 D4 C1 D4 D5 D3 | STA ......|
000068C0: 0D 20 20 20 20 20 20 20 20 42 4E 45 20 39 39 24 |. BNE 99$|
000068D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000068E0: 20 3B 20 20 28 42 52 41 4E 43 48 20 41 4C 57 41 | ; (BRANCH ALWA|
000068F0: 59 53 29 0D 0D 31 24 20 20 20 20 20 20 49 4E 59 |YS)..1$ INY|
00006900: 0D 20 20 20 20 20 20 20 20 42 4E 45 20 32 24 20 |. BNE 2$ |
00006910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00006920: 20 3B CD 4F 52 45 20 49 4E 20 54 48 49 53 20 50 | ;.ORE IN THIS P|
00006930: 41 47 45 3F 0D 0D 20 20 20 20 20 20 20 20 49 4E |AGE?.. IN|
00006940: 43 20 42 55 46 46 45 52 2B 31 0D 20 20 20 20 20 |C BUFFER+1. |
00006950: 20 20 20 49 4E 43 20 42 55 46 46 45 52 32 2B 31 | INC BUFFER2+1|
00006960: 0D 20 20 20 20 20 20 20 20 44 45 58 20 20 20 20 |. DEX |
00006970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00006980: 20 3B 23 20 4F 46 20 50 41 47 45 53 20 43 4F 55 | ;# OF PAGES COU|
00006990: 4E 54 45 52 2E 0D 20 20 20 20 20 20 20 20 42 4E |NTER.. BN|
000069A0: 45 20 32 24 0D 20 20 20 20 20 20 20 20 20 20 20 |E 2$. |
000069B0: 20 20 20 20 20 0D 39 39 24 20 20 20 20 20 50 4C | .99$ PL|
000069C0: 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |A |
000069D0: 20 20 20 20 20 20 3B D2 45 53 54 4F 52 45 20 4F | ;.ESTORE O|
000069E0: 4C 44 20 4D 45 4D 4F 52 59 20 43 4F 4E 46 49 47 |LD MEMORY CONFIG|
000069F0: 55 52 41 54 49 4F 4E 2E 0D 20 20 20 20 20 20 20 |URATION.. |
00006A00: 20 53 54 41 20 24 46 46 30 30 0D 0D 20 20 20 20 | STA $FF00.. |
00006A10: 20 20 20 20 52 54 53 0D 0D 3B 2A 2A 2A 2A 2A 2A | RTS..;******|
00006A20: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006A30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006A40: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006A50: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006A60: 2A 2A 2A 2A 2A 0D 0D D3 C5 CE C4 C3 CD C4 20 20 |*****......... |
00006A70: 20 20 20 20 20 20 20 3B D3 45 4E 44 53 20 54 48 | ;.ENDS TH|
00006A80: 45 20 43 4F 4D 4D 41 4E 44 20 49 4E 20 C3 CD C4 |E COMMAND IN ...|
00006A90: CC C9 CE C5 20 54 4F 20 54 48 45 20 4C 4F 47 49 |.... TO THE LOGI|
00006AA0: 43 41 4C 20 46 49 4C 45 0D 20 20 20 20 20 20 20 |CAL FILE. |
00006AB0: 20 20 20 20 20 20 20 20 20 3B 49 4E 44 49 43 41 | ;INDICA|
00006AC0: 54 45 44 20 42 59 20 CC C6 2E 20 20 CC 45 4E 47 |TED BY ... .ENG|
00006AD0: 54 48 20 4F 46 20 54 48 45 20 43 4F 4D 4D 41 4E |TH OF THE COMMAN|
00006AE0: 44 20 53 48 4F 55 4C 44 20 42 45 20 49 4E 20 C3 |D SHOULD BE IN .|
00006AF0: CD C4 CC C5 CE 2E 0D 0D 20 20 20 20 20 20 20 20 |........ |
00006B00: 4C 44 58 20 CC C6 0D 20 20 20 20 20 20 20 20 4A |LDX ... J|
00006B10: 53 52 20 20 43 48 4B 4F 55 54 20 20 20 20 20 20 |SR CHKOUT |
00006B20: 20 20 20 20 20 20 20 3B 20 43 48 41 4E 4E 45 4C | ; CHANNEL|
00006B30: 20 4F 55 54 50 55 54 20 28 50 4F 49 4E 54 45 44 | OUTPUT (POINTED|
00006B40: 20 54 4F 20 42 59 20 2E D8 29 0D 20 20 20 20 20 | TO BY ..). |
00006B50: 20 20 20 4C 44 58 20 20 23 30 0D 20 20 20 20 20 | LDX #0. |
00006B60: 20 20 20 4C 44 59 20 20 43 4D 44 4C 45 4E 20 20 | LDY CMDLEN |
00006B70: 20 20 20 20 20 20 20 20 20 20 20 3B 20 53 45 4E | ; SEN|
00006B80: 44 20 43 4D 44 20 0D 31 24 20 20 20 20 20 20 4C |D CMD .1$ L|
00006B90: 44 41 20 20 43 4D 44 4C 49 4E 45 2C 58 0D 20 20 |DA CMDLINE,X. |
00006BA0: 20 20 20 20 20 20 4A 53 52 20 20 42 53 4F 55 54 | JSR BSOUT|
00006BB0: 0D 20 20 20 20 20 20 20 20 49 4E 58 0D 20 20 20 |. INX. |
00006BC0: 20 20 20 20 20 44 45 59 0D 20 20 20 20 20 20 20 | DEY. |
00006BD0: 20 42 4E 45 20 20 31 24 0D 0D 20 20 20 20 20 20 | BNE 1$.. |
00006BE0: 20 20 4A 53 52 20 20 43 4C 52 43 48 4E 20 20 20 | JSR CLRCHN |
00006BF0: 20 20 20 20 20 20 20 20 20 20 3B 20 53 45 4E 44 | ; SEND|
00006C00: 20 42 55 46 46 45 52 45 44 20 43 48 41 52 20 26 | BUFFERED CHAR &|
00006C10: 20 45 4F 49 0D 20 20 20 20 20 20 20 20 52 54 53 | EOI. RTS|
00006C20: 0D 0D 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |..;*************|
00006C30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006C40: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006C50: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00006C60: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0D |**************..|
00006C70: D3 C5 D4 D5 30 20 20 20 4C 44 41 20 23 38 35 20 |....0 LDA #85 |
00006C80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00006C90: 3B 27 D5 27 0D 20 20 20 20 20 20 20 20 53 54 41 |;'.'. STA|
00006CA0: 20 C3 CD C4 CC C9 CE C5 0D 20 20 20 20 20 20 20 | ........ |
00006CB0: 20 4C 44 41 20 23 34 38 20 20 20 20 20 20 20 20 | LDA #48 |
00006CC0: 20 20 20 20 20 20 20 20 20 3B 27 30 27 0D 20 20 | ;'0'. |
00006CD0: 20 20 20 20 20 20 53 54 41 20 C3 CD C4 CC C9 CE | STA ......|
00006CE0: C5 2B 31 0D 20 20 20 20 20 20 20 20 52 54 53 0D |.+1. RTS.|
00006CF0: 0D 0D C3 CC CB CC CF 20 20 20 20 20 20 20 20 20 |....... |
00006D00: 20 20 20 20 20 20 20 20 20 20 3B 20 53 45 54 20 | ; SET |
00006D10: 43 4C 4F 43 4B 20 4C 4F 57 0D 20 20 20 20 20 20 |CLOCK LOW. |
00006D20: 20 20 50 48 41 0D 20 20 20 20 20 20 20 20 4C 44 | PHA. LD|
00006D30: 41 20 20 44 32 50 52 41 20 20 20 20 20 20 20 20 |A D2PRA |
00006D40: 20 20 20 20 20 20 0D 20 20 20 20 20 20 20 20 4F | . O|
00006D50: 52 41 20 20 23 43 4C 4B 4F 55 54 0D 20 20 20 20 |RA #CLKOUT. |
00006D60: 20 20 20 20 53 54 41 20 20 44 32 50 52 41 0D 20 | STA D2PRA. |
00006D70: 20 20 20 20 20 20 20 50 4C 41 0D 20 20 20 20 20 | PLA. |
00006D80: 20 20 20 52 54 53 0D 0D C3 CC CB C8 C9 20 20 20 | RTS....... |
00006D90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00006DA0: 3B 20 53 45 54 20 43 4C 4F 43 4B 20 48 49 47 48 |; SET CLOCK HIGH|
00006DB0: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 20 44 32 |. LDA D2|
00006DC0: 50 52 41 0D 20 20 20 20 20 20 20 20 41 4E 44 20 |PRA. AND |
00006DD0: 20 23 24 46 46 2D 43 4C 4B 4F 55 54 0D 20 20 20 | #$FF-CLKOUT. |
00006DE0: 20 20 20 20 20 53 54 41 20 20 44 32 50 52 41 0D | STA D2PRA.|
00006DF0: 20 20 20 20 20 20 20 20 52 54 53 0D 0D C3 CC CB | RTS.....|
00006E00: 5F C3 C8 CE C7 20 20 20 20 20 20 20 20 20 20 20 |_.... |
00006E10: 20 20 20 20 20 3B 20 20 43 48 41 4E 47 45 20 54 | ; CHANGE T|
00006E20: 48 45 20 53 54 41 54 45 20 4F 46 20 54 48 45 20 |HE STATE OF THE |
00006E30: 43 4C 4F 43 4B 20 4C 49 4E 45 20 4F 55 54 50 55 |CLOCK LINE OUTPU|
00006E40: 54 2E 0D 20 20 20 20 20 20 20 20 4C 44 41 20 C4 |T.. LDA .|
00006E50: 32 D0 D2 C1 0D 20 20 20 20 20 20 20 20 45 4F 52 |2.... EOR|
00006E60: 20 23 43 4C 4B 4F 55 54 0D 20 20 20 20 20 20 20 | #CLKOUT. |
00006E70: 20 53 54 41 20 C4 32 D0 D2 C1 0D 20 20 20 20 20 | STA .2.... |
00006E80: 20 20 20 52 54 53 0D 0D D7 C1 C9 D4 20 20 20 20 | RTS...... |
00006E90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00006EA0: 3B 20 20 57 41 49 54 20 46 4F 52 20 54 48 45 20 |; WAIT FOR THE |
00006EB0: 53 48 49 46 54 20 52 45 47 49 53 54 45 52 20 54 |SHIFT REGISTER T|
00006EC0: 4F 20 42 45 20 46 55 4C 4C 20 4F 52 20 45 4D 50 |O BE FULL OR EMP|
00006ED0: 54 59 2E 0D 31 24 20 20 20 20 20 20 4C 44 41 20 |TY..1$ LDA |
00006EE0: 23 38 0D 20 20 20 20 20 20 20 20 42 49 54 20 C4 |#8. BIT .|
00006EF0: 31 C9 C3 D2 0D 20 20 20 20 20 20 20 20 42 45 51 |1.... BEQ|
00006F00: 20 31 24 0D 20 20 20 20 20 20 20 20 52 54 53 0D | 1$. RTS.|
00006F10: 0D 0D 20 20 20 20 20 20 20 20 2E 45 4E 44 0D |.. .END. |
;***************************************
*********************************.;*
*.;*
------------------
*.;* --------------
-------- BURST SUBROUTINES -- (REV 2)
----------- *.;*
------------------
*.;*
*.;* THESE ASSEMBLY LANGUAGE ROUTINES
ARE PROVIDED FOR YOUR CONVENIENCE. *.;*
FOR MOST USERS, THE BURST COMMANDS ARE
VERY CRYPTIC, REQUIRING YOU *.;* TO WR
ITE YOUR OWN ASSEMBLY LANGUAGE PROGRAMS
TO MAKE USE OF THEM. *.;* THE SET OF
ASSEMBLY LANGUAGE SUBROUTINES PROVIDED I
N THIS LISTING *.;* ARE DESIGNED TO A
LLOW ANYONE TO MAKE USE OF THE BURST ROU
TINES VERY *.;* EASILY. A BASIC PROGRA
M NEEDS SIMPLY TO POKE THE APPROPRIATE V
ALUES *.;* INTO THE VARIABLE LOCATIONS S
HOWN BELOW, AND THEN SYS TO THE DESIRED
*.;* ROUTINE. ALL OF THE BURST PROTOCOL
AND HANDSHAKING IS DONE FOR YOU. *.;* T
HE BASIC PROGRAM CAN THEN PEEK ANY VALUE
S RETURNED. *.;*
*.;* THE ROUTINES
IN THIS LISTING THAT REQUIRE DATA BUFFER
STORAGE AREAS *.;* ARE PASSED THE LOCA
TION OF THE BUFFER IN BUFLOC. BUFLOC PO
INTS TO *.;* RAM LOCATION IN RAM BANK
0 OF THE START OF THE BUFFER. SINCE THE
*.;* KERNEL AND I/O ARE NEEDED, RAM
EXISTS ONLY UP TO $C000. SO, YOU ARE *.
;* FREE TO USE ANY RAM PAST YOUR BASIC T
EXT PROGRAM, UP TO $C000 (BASIC *.;* TEX
T NORMALLY STARTS AT $1C00. IF BIT-MAP
GRAPHICS ARE ENABLED, *.;* THEN BASI
C TEXT STARTS AT $4000). IF YOU WANT TO
PEEK AND POKE THIS *.;* MEMORY FROM BAS
IC, BE SURE TO EXECUTE THE 'BANK 0' COMM
AND. THIS *.;* TELLS BASIC TO PEEK A
ND POKE TO THE RAM UNDER THE BASIC ROMS.
*.;* IF YOU WANT TO MAKE YOUR PR
OGRAM REAL INTELLIGIENT, THERE ARE
*.;* POINTERS TO THE BEGINNING AND END
OF BASIC TEXT ($002D AND $1210, *.;*
RESPECTIVELY). AS A GENERAL RULE, WORK
YOUR WAY BACK FROM $C000, *.;* AND Y
OU'LL BE OK.
*.;*
*.;* TO USE THESE ROUT
INES, YOUR BASIC PROGRAM MUST BLOAD THE
FILE *.;* 'BURST SUBS.BIN' BEFORE
THEY CAN BE USED. THEY LOAD AT $1300,
SO *.;* THEY ARE IN A SAFE PLACE BELO
W BASIC TEXT AREA.
*.;*
*.;* T
HERE IS NO BURST FORMAT ROUTINE PROVIDED
. BURST FORMATS CAN BE *.;* ACCOMPL
ISHED EASILY FROM BASIC. FOR EXAMPLE, T
HE FOLLOWING BASIC *.;* COMMANDS WILL
FORMAT PHYSICAL TRACKS 10 THROUGH 20 OF
THE DISK WITH *.;* 5 1024 BYTE SECTORS
:
*.;*
*.;* OPEN 1,8,15
*.
;* PRINT#1,"U0";CHR$(3);CHR$(20);CHR
$(5);CHR$(10); *.;*
*.;* NOTE THE
USE OF THE SEMICOLON (;) AT THE END OF T
HE STATEMENT. THIS *.;* IS VERY IMPORTA
NT! IF THERE WAS NO SEMICOLON, THE C128
WOULD *.;* SEND A CARRIAGE RETUR
N AFTER THE LAST PARAMETER. SINCE THE 1
581 *.;* COUNTS THE NUMBER OF BYTES
SENT TO DETERMINE THE NUMBER OF OPTIONAL
*.;* PARAMETERS THAT ARE BEING SENT, I
T WOULD MISINTERPRET THE CARRIAGE *.;*
RETURN AS THE NEXT OPTIONAL PARAMETER.
IN THIS CASE, IT WOULD BE *.;* FILL
BYTE. ANY FORMATTING ERRORS CAN BE CHEC
KED VIA THE COMMAND *.;* CHANNEL.
*.;*
*.;* SINCE THE BURST COMMAND
S MAKE USE OF THE COMMAND CHANNEL TO THE
*.;* DRIVE, THE COMMAND CHANNEL MU
ST FIRST BE OPENED IN YOUR BASIC
*.;* PROGRAM. THE LOGICAL FILE NUMBER W
HICH YOU ASSIGNED TO THE COMMAND *.;* C
HANNEL SHOULD BE POKED TO LF BEFORE CALL
ING ANY OF THESE ROUTINES. *.;*
*.;***************
****************************************
*****************. ...;*****************
****************************************
***************.; VARIABLES - VALUES FR
OM BASIC CAN BE POKED, PEEKED TO THESE A
REAS..;*********************************
***************************************.
*=$1300..STATUS .BYTE 0
; STATUS BYTE.DEV .BYTE 8
; DEVICE NUMBER.LF .
BYTE 8 ; LOGICAL FILE NU
MBER.TRACK *=*+1 ; T
RACK .SECTOR *=*+1 ;
SECTOR.NUMSEC *=*+1 ;
NUMBER OF SECTORS..BUFLOC *=*+2
; PAGE # OF BUFFER TO GET/PU
T DATA..SECSIZE *=*+1
; SECTOR SIZE (1=256, 2=512, 4=1024).SID
E *=*+1 ; PHYSICAL
SIDE OF THE DISK (0 OR 1)..MINSEC *=*+1
; MINIMUM LOGICAL SEC
TOR FOUND IN QUERY..MAXSEC *=*+1
; MAXIMUM LOGICAL SECTOR FOU
ND IN QUERY..INTLV *=*+1
; PHYSICAL INTERLEAVE FOUND IN QUER
Y..FLAG *=*+1 ; EMP
TY TRACK FLAG..
; THIS FLAG IS USED TO INDICATE
THAT THE.
; TRACK OR DATA JUST READ CONTAINS ALL
0'S.. ;
THIS IS HANDY IN SOME CASES, SUCH AS.
; DURING
A DISK COPY PROGRAM. WHEN A DISK.
; IS FORMATTE
D, THE SECTORS ARE FILLED WITH.
; 0'S. IF A SEC
TOR TO BE COPIED CONTAINS.
; ALL 0'S, THEN WE DO
N'T BOTHER TO.
; WRITE IT TO THE DESTINATION DIS
K (WHICH.
; CAN END UP SAVING A GREAT DEAL OF TI
ME!)...;********************************
****************************************
*.; OTHER VARIABLES USED IN THE FOLLOWI
NG ROUTINES.....;***********************
****************************************
**********..CMDLINE. .BYTE 'U0'
; BURST PREFIX.. *=*+
10 ; PARAMETER SPACE FO
R BURST COMMAND..CMDLEN *=*+1
; LENGTH OF THE COMMAND STRING
(# OF BYTES)..OLDCLK *=*+1
; STATUS OF CLOCK LINE..TEMP *=
*+1.. *=$1335. .BYTE 'GREG
BERLIN' ; WRITTEN BY GREG BERLIN, 3
/87.....;*******************************
****************************************
***.; JUMP TABLE OF AVAILABLE BURST ROU
TINES. SYS TO THESE LOCATIONS FROM .;
BASIC. THE BURST ROUTINES THEMSELVES CA
N THEN BE MODIFIED OR CUSTOMIZED.; WITH
OUT AFFECTING THE SYS LOCATIONS FROM BAS
IC..;***********************************
***************************************.
*=$1340..J_INQUIRE_FORMAT
. JMP INQUIRE_FORMAT
.J_PHYSICAL_READ. JMP PREAD.J_L
OGICAL_READ. JMP LREAD.J_PHYSICAL
_WRITE. JMP PWRITE.J_LOGICAL_WRIT
E. JMP LWRITE.J_MEMORY_READ.
JMP MEMORY_READ.J_MEMORY_WRITE.
JMP MEMORY_WRITE.J_DUMP_CACHE.
JMP DUMP_CACHE.J_QUERY_FORMAT. JM
P QUERY_FORMAT.J_COMPARE_MEMORY.
JMP COMPARE_MEMORY..;*******************
****************************************
***************.; LOCATIONS OF IMPORTAN
T C128 STUFF....;***********************
****************************************
***********..CHKOUT=$FFC9
; KERNEL CHANNEL OUTPUT .CLRCHN=$FF
CC ; KERNEL CLEAR CHA
NNEL.SETLFS=$FFBA ; K
ERNEL SET LOGICAL FILE NUMBER.SETNAM=$FF
BD ; KERNEL SET FILEN
AME.BSOUT =$FFD2 ; KE
RNEL BASIC INPUT/OUTPUT.SPIN_OUT=$FF47
; SET UP FAST SERIAL FOR
INPUT OR OUTPUT..
; SEC FOR OUTPUT, CLC FOR INP
UT..D2PRA =$DD00 ; C1
28 SERIAL PORT LOCATION.CLKOUT=$10
; SLOW SERIAL CLOCK OUTP
UT BIT MASK.CLKIN =$40
; SLOW SERIAL CLOCK INPUT BIT MASK.D
1ICR =$DC0D ; 6526 CI
A INTERRUPT CONTROL REGISTER.D1SDR =$DC0
C ; 6526 CIA SERIAL D
ATA REGISTER.BUFFER=$FA
; ZERO PAGE POINTER VARIABLE.BUFFER
2=$FC ; ZERO PAGE PO
INTER VARIABLE..;***********************
****************************************
***********.; BURST COMMAND PRIMITIVES.
;***************************************
***********************************..PBU
RSTRD =$00 ; PHYSICAL
BURST READ..PBURSTWR =$02
; PHYSICAL BURST WRITE..LBURSTRD =$8
0 ; LOGICAL BURST READ
.LBURSTWR =$82 ; LOGIC
AL BURST WRITE..BURST_INQUIRE =$04
; BURST INQUIRE..DUMPCACHE =$9D
; DUMP TRACK CACHE ('FO
RCE' BIT SET).BURST_QUERY =$8A
; QUERY DISK FORMAT...;***********
****************************************
***********************.;* -------------
------------ BURST ROUTINES -----------
----------------- *.;*******************
****************************************
***************..LREAD ;LOGICA
L SECTOR READ FROM THE DEVICE INDICATED
BY LF.. ;THE TRACK AND SE
CTOR ARE IN TRACK, SECTOR. THE LOCATION.
;STATUS BYTE FROM DRIVE
IS RETURNED IN STATUS... LDA #LB
URSTRD ;LOGICAL BURST READ COMM
AND. STA CMDLINE+2 .
LDA #$01. STA SECSIZE
;LOGICAL SECTOR SIZE IS ALWAYS 256
BYTES.. JMP READ..PREAD
;PHYSICAL SECTOR READ FROM DEVICE INDI
CATED BY LF.. ;THE TRACK
AND SECTOR ARE IN TRACK, SECTOR. THE LOC
ATION. ;OF START OF THE C
128 BUFFER TO PUT THE READ DATA IN BUFLO
C.. ;THE PHYSICAL SECTOR
SIZE IN SECSIZE (1=256,2=512,4=1024)..
;NUMBER OF SECTORS IN NUMS
EC. . ;PHYSICAL SIDE OF T
HE DISK IN SIDE (0 OR 1)..
;STATUS BYTE FROM DRIVE IS RETURNED IN
STATUS... LDA #PBURSTRD
;PHYSICAL BURST READ COMMAND..
LDX SIDE ; CHECK WHICH SI
DE TO READ FROM.. BEQ 1$.
ORA #$10 ; IF SIDE 1, THE
N SET BIT IN THE COMMAND BYTE..1$ S
TA CMDLINE+2...READ.. LDA $FF00
;SAVE OLD MMU SETUP..
PHA.. LDA #$0E
;SET MMU FOR RAM0,KERNEL,I/O.. ST
A $FF00.. JSR SETU0
;PUT "U0" AT START OF COMMAND STRING...
LDA TRACK . STA CMD
LINE+3 ; TRACK. LDA SEC
TOR. STA CMDLINE+4 ; SE
CTOR. LDA NUMSEC. STA CMDL
INE+5 ; NUMBER OF SECTORS TO R
EAD... LDA #$06 ;
LENGTH OF COMMAND STRING.. STA CM
DLEN. JSR SENDCMD ; S
END CMD STRING.. LDA BUFLOC
; SET UP ZERO PAGE INDIRECT POIN
TER.. STA BUFFER. LDA BU
FLOC+1. STA BUFFER+1.. LD
Y #0 ; CLEAR THE 'EMPTY
SECTOR(S)' FLAG.. STY FLAG..
SEI ; NO IRQ'S
ALLOWED DURING HANDSHAKE... BIT
D1ICR ; CLEAR PENDING..
JSR CLK_CHNG ;CHANGE STAT
E OF CLOCK.. .1$ LDX SECSIZE
; SECTOR SIZE GIVES # OF PAGES PER
SECTOR... JSR WAIT
;WAIT FOR FAST BYTE (1ST IS STATUS)..
LDA D1SDR ;GET STAT
US BYTE.. STA STATUS.. AND
#15 ;WAS THERE AN ERROR
?. CMP #2 ; .
BCS 5$ ; BRANCH IF
ERROR OCCURED... JSR CLK_CHNG
;CHANGE CLOCK SO NEXT BYTE IS S
ENT...3$ JSR WAIT ;W
AIT FOR THE NEXT BYTE.. .
JSR CLK_CHNG ;CHANGE STATE OF
CLOCK SO NEXT BYTE IS SENT.. LDA
D1SDR ;GET THE DATA BYTE.
STA (BUFFER),Y ; AND SA
VE IT . ;
WHILE NEXT BYTE IS BEING TRANSMITTED..
. ORA FLAG ;UPDATE
'ZERO' SECTOR FLAG.. STA FLAG..
INY ;ANY MOR
E IN THIS PAGE?. BNE 3$..
INC BUFFER+1. DEX
;LOOP FOR THE # OF PAGES PER SECTO
R.. BNE 3$.. DEC CMDLINE+5
;LOOP FOR THE NUMBER OF SECTO
RS.. BNE 1$..5$ CLI..
PLA ;RESTORE MMU TO
OLD CONFIGURATION.. STA $FF00..
RTS..;***************************
****************************************
*******..LWRITE ;LOGICAL SECTOR
WRITE TO THE DEVICE INDICATED BY LF..
;THE TRACK AND SECTOR ARE
IN TRACK, SECTOR. THE LOCATION.
;OF START OF C128 BUFFER CONTAINI
NG WRITE DATA IN BUFLOC. .
;STATUS BYTE FROM DRIVE IS RETURNED IN
STATUS... LDA #LBURSTWR.
STA CMDLINE+2 ; BURST WRITE.
LDA #$01. STA SECSIZE
; LOGICAL SECTOR SIZE IS ALWAYS
256 BYTES.. JMP WRITE...PWRITE
;PHYSICAL SECTOR WRITE TO THE DEV
ICE INDICATED BY LF.. ;TH
E TRACK AND SECTOR ARE IN TRACK, SECTOR.
THE LOCATION. ;OF START
OF C128 BUFFER CONTAINING WRITE DATA IN
BUFLOC.. ;THE PHYSICAL SE
CTOR SIZE IN SECSIZE (1=256,2=512,4=1024
).. ;NUMBER OF SECTORS IN
NUMSEC. . ;PHYSICAL SIDE
IN SIDE.. ;STATUS BYTE F
ROM DRIVE IS RETURNED IN STATUS...
LDA #PBURSTWR ;PHYSICAL BURS
T WRITE COMMAND.. LDX SIDE
; CHECK WHICH SIDE TO WRITE TO.
. BEQ 1$. ORA #$10
; IF SIDE 1, THEN SET BIT IN THE
COMMAND BYTE..1$ STA CMDLINE+2...
WRITE . . LDA $FF00
;SAVE OLD MMU SETUP.. P
HA.. LDA #$0E ;SET
MMU FOR RAM0,KERNEL,I/O.. STA $F
F00.. JSR SETU0 ;PU
T "U0" AT START OF COMMAND STRING..
LDA TRACK. STA CMDLINE+3
; TRACK. LDA SECTOR.
STA CMDLINE+4 ; SECTOR.
LDA NUMSEC. STA CMDLINE+5
; NUMBER OF SECTORS TO WRITE...
LDA #$06. STA CMDLEN
;COMMAND LENGTH.. JSR SENDCM
D ; SEND CMD STRING..
LDA BUFLOC ; SET UP ZERO PA
GE INDIRECT POINTER.. STA BUFFER
. LDA BUFLOC+1. STA BUFFER
+1.. LDA #CLKIN ;INI
TIAL CLOCK STATUS.. STA OLDCLK..
LDY #0. SEI
; NO IRQ'S DURING BURST HANDSHAK
E..1$ LDX SECSIZE ; SEC
TOR SIZE GIVES # OF PAGES PER SECTOR...
SEC ;TURN FAS
T SERIAL TO OUTPUT MODE.. JSR SP
IN_OUT..2$ LDA D2PRA
;WAIT FOR STATE CHANGE.. EOR OLD
CLK. AND #CLKIN. BEQ 2$.
. EOR OLDCLK ;CHANGE
STATUS OF OLDCLK.. STA OLDCLK..
LDA (BUFFER),Y ; GET DA
TA . STA D1SDR ; &
SEND IT.. JSR WAIT
;WAIT FOR THE BYTE TO BE TRANSMITTED..
. INY. BNE 2$
;ANY MORE LEFT IN THIS PAGE?..
INC BUFFER+1. DEX
;LOOP FOR THE # OF PAGES PER SE
CTOR.. BNE 2$.. CLC
;TURN AROUND TO INPUT MOD
E TO GET STATUS.. JSR SPIN_OUT..
BIT D1ICR ; CLEAR
PENDING.. JSR CLKLO
; SET CLOCK LOW WHEN READY FOR STATUS..
JSR WAIT ;WAIT FO
R THE BYTE TO BE SHIFTED IN.. LDA
D1SDR ;GET THE STATUS BYT
E.. STA STATUS ;SAVE
IT.. PHA. JSR CLKHI
;RELEASE THE SLOW CLOCK LINE..
PLA.. AND #15
;CHECK FOR ANY ERROR.. CMP #
2 . BCS 7$ ; BR
ANCH IF THERE WAS AN ERROR.. .
DEC CMDLINE+5 ;LOOP FOR T
HE NUMBER OF SECTORS.. BNE 1$..7
$ CLI.. PLA
;RESTORE OLD MEMORY CONFIGURATION..
STA $FF00.. RTS..;********
****************************************
**********************..INQUIRE_FORMAT
;SENDS AN INQUIRE DISK COMMAND TO THE DR
IVE INDICATE BY. ;THE LOG
ICAL FILE (LF). STATUS IS RETURNED IN S
TATUS... JSR SETU0
;PUT "U0" AT START OF COMMAND STRING..
LDA #BURST_INQUIRE ; INQUIRE
BURST COMMAND. STA CMDLINE+2.
LDA #$03 ; LENGTH OF
COMMAND.. STA CMDLEN. JSR
SENDCMD ; SEND CMD STRING..
SEI ;DISABLE
INTERRUPTS DURING HANDSHAKE... B
IT D1ICR ;CLEAR ANY BYTE R
EADY THAT'S PENDING... JSR CLK_CH
NG ;CHANGE CLOCK SO 1581 SEND
S NEXT.. JSR WAIT
;WAIT FOR THE BYTE TO BE SHIFTED IN..
LDA D1SDR ;GET THE ST
ATUS BYTE.. STA STATUS
;SAVE IT OFF... CLI. RT
S..;************************************
**********************************..QUER
Y_FORMAT ;SENDS A QUERY DISK FORMAT C
OMMAND TO THE DRIVE INDICATE BY.
;THE LOGICAL FILE (LF). PHYSICA
L TRACK NUMBER TO QUERY .
;SHOULD BE PROVIDED IN TRACK. PHYSICAL
SIDE SHOULD. ;BE PROVIDE
D IN SIDE. STATUS IS RETURNED IN STATUS
.. ;NUMBER OF SECTORS FOU
ND ON THE TRACK RETURNED IN NUMSEC..
;LOGICAL TRACK NUMBER FOUND
IN THE SECTOR HEADERS RETURNED.
;IN TRACK. MINIMUM LOGICAL SECTO
R NUMBER FOUND IN THE. ;S
ECTOR HEADERS IS RETURNED IN MINSEC. TH
E MAXIMIUM. ;LOGICAL SECT
OR IS RETURNED MAXSEC. PHYSICAL INTERLE
AVE. ;IS RETURNED IN INTL
V. . ;IF AN ERROR IS ENCO
UNTERED IN COMPILING THIS INFORMATION.
;(AS INDICATED BY STATUS),
THEN NONE OF THE RETURN VALUES.
;ARE VALID (EXCEPT STATUS)...
JSR SETU0 ;PUT "U0" A
T START OF COMMAND STRING... LDA
#BURST_QUERY ;QUERY DISK BURST CO
MMAND. LDX SIDE ;
SET THE SIDE BIT ACCORDINGLY.. BN
E 4$. ORA #$10.4$ STA CMDLIN
E+2.. LDA TRACK ; P
HYSICAL TRACK OFFSET.. STA CMDLIN
E+3. LDA #$04 ; LE
NGTH OF COMMAND.. STA CMDLEN.
JSR SENDCMD ; SEND CMD S
TRING.. SEI ;
DISABLE INTERRUPTS DURING HANDSHAKE...
BIT D1ICR ;CLEAR ANY
BYTE READY THAT'S PENDING... JSR
CLK_CHNG ;CHANGE STATE OF CL
OCK SO 1581 SENDS NEXT.. JSR WAIT
;WAIT FOR THE FIRST STAT
US BYTE.. LDA D1SDR
;GET THE STATUS BYTE (STATUS OF TRACK 0
).. STA STATUS ;SAVE
IT OFF... AND #$0F
;WAS THERE AN ERROR?. CMP #2.
BCS 5$ ; BRANCH I
F THERE WAS AN ERROR... JSR CLK_C
HNG ;CHANGE STATE OF CLOCK, S
O 1581 SENDS NEXT.. JSR WAIT
;WAIT FOR NEXT STATUS BYTE TO
BE READY.. LDA D1SDR
;GET IT (STATUS OF TRACK TRACK)..
STA STATUS ;SAVE IT...
AND #$0F ;WAS THER
E AN ERROR?. CMP #2 . BCS
5$ ; BRANCH IF AN ERRO
R.. . JSR CLK_CHNG ;CH
ANGE STATE OF CLOCK, SO 1581 SENDS NEXT.
. JSR WAIT ;WAIT F
OR 'NUMBER OF SECTORS BYTE' TO BE READY.
. LDA D1SDR ;GET IT
.. STA NUMSEC ;SAVE
IT.... JSR CLK_CHNG ;C
HANGE STATE OF CLOCK, SO 1581 SENDS NEXT
.. JSR WAIT ;WAIT
FOR 'LOGICAL TRACK #' BYTE TO BE READY..
LDA D1SDR ;GET IT.
. STA TRACK ;SAVE I
T... JSR CLK_CHNG ;CHA
NGE STATE OF CLOCK, SO 1581 SENDS NEXT..
JSR WAIT ;WAIT FO
R 'MINIMUM SECTOR #' BYTE TO BE READY..
LDA D1SDR ;GET IT..
STA MINSEC ;SAVE IT
... JSR CLK_CHNG ;CHAN
GE STATE OF CLOCK, SO 1581 SENDS NEXT..
JSR WAIT ;WAIT FOR
'MAXIMUM SECTOR #' BYTE TO BE READY..
LDA D1SDR ;GET IT..
STA MAXSEC ;SAVE IT.
.. JSR CLK_CHNG ;CHANG
E STATE OF CLOCK, SO 1581 SENDS NEXT..
JSR WAIT ;WAIT FOR
'INTERLEAVE' BYTE TO BE READY.. L
DA D1SDR ;GET IT..
STA INTLV ;SAVE IT...5$
CLI. RTS..;*******************
****************************************
****************..MEMORY_READ ;BURST
MEMORY READ OF THE 1581. PAGE IN 1581
MEMORY TO. ;START READING
AT IN .X, NUMBER OF PAGES TO READ IN .Y
,. ;LOCATION TO STORE DAT
A IN C128 MEMORY IN BUFLOC. .
;LOGICAL FILE TO BE READ FROM IN L
F... LDA $FF00 ;SAV
E OLD MMU SETUP.. PHA.. LD
A #$0E ;SET MMU FOR RAM0,
KERNEL,I/O.. STA $FF00.. J
SR SETU0 ;PUT "U0" AT STAR
T OF COMMAND STRING.. LDA #$3E
;('>') 'BURST MEMORY READ'
COMMAND STRING.. STA CMDLINE+2
; ( "U0>MR" ). LDA #$4D
;('M'). STA CMDLIN
E+3. LDA #$52 ;('R
'). STA CMDLINE+4. STX CMD
LINE+5 ; 1581 PAGE TO START RE
ADING FROM.. STY CMDLINE+6
; # OF PAGES TO READ... LDA #
$07 ; LENGTH OF COMMAND S
TRING.. STA CMDLEN. JSR S
ENDCMD ; SEND CMD STRING..
LDA BUFLOC ; SET UP ZE
RO PAGE INDIRECT POINTER.. STA B
UFFER. LDA BUFLOC+1. STA
BUFFER+1.. LDA #0
; CLEAR THE 'EMPTY SECTOR(S)' FLAG..
STA FLAG.. SEI
; NO IRQ'S ALLOWED DURING HAND
SHAKE... BIT D1ICR
; CLEAR PENDING.. JSR CLK_CHNG
;CHANGE STATE OF CLOCK...
LDY #0.3$ JSR WAIT
;WAIT FOR THE BYTE TO BE SHIFTED IN...
JSR CLK_CHNG ;CHANGE C
LOCK SO NEXT BYTE IS SENT.. LDA
D1SDR ; GET DATA. ST
A (BUFFER),Y ; AND SAVE IT WHI
LE NEXT BYTE IS TRANSMITTED... OR
A FLAG ; UPDATE 'ZERO' FL
AG.. STA FLAG.. INY.
BNE 3$ ;ANY MORE IN
THIS PAGE?.. INC BUFFER+1.
DEC CMDLINE+6 ;ANY MORE PAGES
TO DO?. BNE 3$..5$ CLI..
PLA ;RESTORE OL
D MEMORY CONFIGURATION.. STA $FF0
0.. RTS...;**********************
****************************************
*************..MEMORY_WRITE ;BURST ME
MORY WRITE TO THE 1581'S MEMORY. THE.
;LOCATION IN C128 MEMORY T
O SEND DATA FROM IN BUFLOC..
;THE PAGE IN 1581 MEMORY TO START WR
ITING TO IN .X.. ;THE NUM
BER OF PAGES TO WRITE IN .Y. .
;LOGICAL FILE TO BE WRITTEN TO IN
LF... LDA $FF00 ;S
AVE OLD MMU SETUP.. PHA..
LDA #$0E ;SET MMU FOR RAM
0,KERNEL,I/O.. STA $FF00..
JSR SETU0 ;PUT "U0" AT ST
ART OF COMMAND STRING.. LDA #$3E
;('>') 'BURST MEMORY WRIT
E' COMMAND STRING.. STA CMDLINE+2
; ( "U0>MW" ). LDA #$
4D ;('M'). STA CMD
LINE+3. LDA #$57 ;
('W'). STA CMDLINE+4. STX
CMDLINE+5 ; 1581 PAGE TO START
WRITING TO.. STY CMDLINE+6
; # OF PAGES TO WRITE... LDA
#$07 ; LENGTH OF COMMAND
STRING.. STA CMDLEN.. JSR
SENDCMD ; SEND CMD STRING..
LDA BUFLOC ; SET UP
ZERO PAGE INDIRECT POINTER.. STA
BUFFER. LDA BUFLOC+1. S
TA BUFFER+1.. LDA #CLKIN
;INITIAL CLOCK STATUS.. STA
OLDCLK.. LDY #0. SEI
;NO IRQ'S ALLOWED DURIN
G HANDSHAKE... SEC
; SET TO OUTPUT MODE.. JSR
SPIN_OUT..2$ LDA D2PRA
;WAIT FOR STATE (SLOW CLOCK LINE) CHAN
GE.. EOR OLDCLK. AND #CLKI
N. BEQ 2$.. EOR OLDCLK
;CHANGE STATUS OF OLDCLK VARIA
BLE.. STA OLDCLK.. LDA (BU
FFER),Y ;GET DATA TO WRITE..
STA D1SDR ;SEND IT...
JSR WAIT ;WAIT FO
R THE BYTE TO BE SENT... INY.
BNE 2$ ;MORE IN THI
S PAGE?.. INC BUFFER+1. DE
C CMDLINE+6 . BNE 2$
;ANY MORE PAGES TO SEND?.
. CLI.. PLA
;RESTORE OLD MEMORY CONFIGURATION.
. STA $FF00.. RTS..;******
****************************************
*****************************..DUMP_CACH
E ;DUMPS THE TRACK CACHE AT 1581 $0
C00 TO THE PHYSICAL TRACK.
;SPECIFIED IN TRACK, ON THE SIDE SPECI
FIED IN SIDE. THE. ;'FOR
CE' BIT IS SET, SO IT IS WRITTEN WHETHER
IT IS DIRTY. ;OR NOT...
JSR SETU0. LDA #DUMPCACHE
;DUMP TRACK CACHE COMMAND...
LDX SIDE ; SET SIDE
BIT ACCORDINGLY.. BEQ 1$.
ORA #$40..1$ STA CMDLINE+2
; PUT THE COMMAND BYTE INTO COMMAND
STRING.. LDA TRACK. STA CM
DLINE+3 ; PHYSICAL TRACK TO D
UMP CACHE TO... LDA #4. ST
A CMDLEN ;LENGTH OF THE COM
MAND STRING.. JSR SENDCMD..
SEI ;DISABLE INTER
RUPTS DURING HANDSHAKE... BIT D1I
CR ;CLEAR ANY BYTE READY T
HAT'S PENDING... JSR CLK_CHNG
;CHANGE CLOCK SO 1581 WILL SEND
STATUS BYTE.. JSR WAIT
;WAIT FOR BYTE TO BE SHIFTED IN..
LDA D1SDR ;GET THE S
TATUS BYTE.. STA STATUS
;SAVE IT OFF... CLI. R
TS..;***********************************
****************************************
..COMPARE_MEMORY ;COMPARES MEMORY BLOCK
S IN THE C128 MEMORY.. ;N
UMBER OF PAGES TO COMPARE IN .A..
;FIRST PAGE OF FIRST MEMORY BLO
CK IN .X.. ;FIRST PAGE OF
SECOND MEMORY BLOCK IN .Y..
;IF THEY ARE EQUAL, THEN STATUS=0...
STA TEMP.. LDA $FF00
;SAVE OLD MMU SETUP.. P
HA.. LDA #$0E ;SET
MMU FOR RAM0,KERNEL,I/O.. STA $F
F00.. STX BUFFER+1 ;SE
T UP MSB OF 1ST MEMORY POINTER..
STY BUFFER2+1 ;SET UP MSB OF 2
ND MEMORY POINTER.. LDX TEMP
;NUMBER OF PAGES TO COMPARE..
. LDA #0
;SET UP LSB'S OF MEMORY POINTERS..
STA BUFFER. STA BUFFER2..
STA STATUS ;INITIALIZE S
TATUS... LDY #0..2$ LDA (BUF
FER),Y. CMP (BUFFER2),Y. B
EQ 1$.. LDA #$FF ;
NOT EQUAL! LOAD STATUS WITH NONZERO..
STA STATUS. BNE 99$
; (BRANCH ALWAYS)..1$ INY
. BNE 2$ ;MORE I
N THIS PAGE?.. INC BUFFER+1.
INC BUFFER2+1. DEX
;# OF PAGES COUNTER.. BN
E 2$. .99$ PLA
;RESTORE OLD MEMORY CONFIG
URATION.. STA $FF00.. RTS.
.;**************************************
*************************************..S
ENDCMD ;SENDS THE COMMAND IN CMD
LINE TO THE LOGICAL FILE.
;INDICATED BY LF. LENGTH OF THE COMMAN
D SHOULD BE IN CMDLEN... LDX LF.
JSR CHKOUT ; CHANNEL
OUTPUT (POINTED TO BY .X). LDX
#0. LDY CMDLEN ; SEN
D CMD .1$ LDA CMDLINE,X. JS
R BSOUT. INX. DEY.
BNE 1$.. JSR CLRCHN
; SEND BUFFERED CHAR & EOI. RTS
..;*************************************
**************************************..
SETU0 LDA #85 ;'U'.
STA CMDLINE. LDA #48
;'0'. STA CMDLINE+1.
RTS...CLKLO ; SET
CLOCK LOW. PHA. LDA D2PRA
. ORA #CLKOUT.
STA D2PRA. PLA. RTS..
CLKHI ; SET CLOCK HIGH
. LDA D2PRA. AND #$FF-CL
KOUT. STA D2PRA. RTS..CLK
_CHNG ; CHANGE THE STATE
OF THE CLOCK LINE OUTPUT.. LDA D
2PRA. EOR #CLKOUT. STA D2P
RA. RTS..WAIT
; WAIT FOR THE SHIFT REGISTER TO BE FUL
L OR EMPTY..1$ LDA #8. BIT D
1ICR. BEQ 1$. RTS...
.END.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL