_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL