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

TECHMAN FIXES

FILE INFORMATION

FILENAME(S): TECHMAN FIXES

FILE TYPE(S): SEQ

FILE SIZE: 9.4K

FIRST SEEN: 2025-10-20 14:31:28

APPEARS ON: 2 disk(s)

FILE HASH

a172b414f6cd10579ab017067d9f024d966207b5502da3de55ba3f047cf99afa

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
G PD 5 TECHMAN FIXES SEQ Treasure Chest - Klaus Der Suhler 20 1 DOWNLOAD FILE
G T 22 0 TECHMAN FIXES SEQ Treasure Chest - Klaus Der Suhler 10 17 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000010: 20 20 20 20 20 20 20 20  20 0D 0D 0D 0D 20 20 20  |         ....   |
00000020: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000030: C7 C5 CF D3 20 C3 CF CE  D6 C5 D2 D4 20 D5 D4 C9  |.... ....... ...|
00000040: CC C9 D4 D9 20 C6 C9 CC  C5 20 D3 D4 D2 D5 C3 D4  |.... .... ......|
00000050: D5 D2 C5 0D 0D D4 48 45  20 C7 C5 CF D3 20 43 4F  |......HE .... CO|
00000060: 4E 56 45 52 54 20 50 52  4F 47 52 41 4D 20 49 53  |NVERT PROGRAM IS|
00000070: 20 55 53 45 44 20 54 4F  20 43 4F 4E 56 45 52 54  | USED TO CONVERT|
00000080: 20 C7 C5 CF D3 20 D6 CC  C9 D2 20 41 4E 44 20 D3  | .... .... AND .|
00000090: C5 D1 20 53 54 52 55 43  54 55 52 45 20 46 49 4C  |.. STRUCTURE FIL|
000000A0: 45 53 20 54 4F 20 C3 4F  4D 4D 4F 44 4F 52 45 20  |ES TO .OMMODORE |
000000B0: D3 C5 D1 20 53 54 52 55  43 54 55 52 45 20 46 49  |... STRUCTURE FI|
000000C0: 4C 45 53 2E 20 D7 49 54  48 49 4E 20 54 48 45 20  |LES. .ITHIN THE |
000000D0: C3 4F 4D 4D 4F 44 4F 52  45 20 D3 C5 D1 20 46 49  |.OMMODORE ... FI|
000000E0: 4C 45 20 57 48 49 43 48  20 49 53 20 43 52 45 41  |LE WHICH IS CREA|
000000F0: 54 45 44 2C 20 41 4C 4C  20 4F 46 20 54 48 45 20  |TED, ALL OF THE |
00000100: C7 C5 CF D3 2D 52 45 4C  41 54 45 44 20 49 4E 46  |....-RELATED INF|
00000110: 4F 52 4D 41 54 49 4F 4E  20 41 42 4F 55 54 20 54  |ORMATION ABOUT T|
00000120: 48 45 20 46 49 4C 45 20  49 53 20 43 4F 4E 54 41  |HE FILE IS CONTA|
00000130: 49 4E 45 44 2E 20 D4 48  49 53 20 49 4E 43 4C 55  |INED. .HIS INCLU|
00000140: 44 45 53 20 54 48 45 20  46 49 4C 45 27 53 3A 0D  |DES THE FILE'S:.|
00000150: 0D 0D 20 2D 20 44 49 52  45 43 54 4F 52 59 20 45  |.. - DIRECTORY E|
00000160: 4E 54 52 59 0D 20 2D 20  48 45 41 44 45 52 20 42  |NTRY. - HEADER B|
00000170: 4C 4F 43 4B 0D 20 2D 20  49 4E 44 45 58 20 54 41  |LOCK. - INDEX TA|
00000180: 42 4C 45 20 28 49 46 20  46 49 4C 45 20 49 53 20  |BLE (IF FILE IS |
00000190: D6 CC C9 D2 29 0D 20 2D  20 44 41 54 41 20 42 4C  |....). - DATA BL|
000001A0: 4F 43 4B 53 0D 0D C3 4F  4E 56 45 52 54 20 41 4C  |OCKS...ONVERT AL|
000001B0: 53 4F 20 57 49 4C 4C 20  43 4F 4E 56 45 52 54 20  |SO WILL CONVERT |
000001C0: 54 48 45 53 45 20 22 C7  C5 CF D3 20 46 4F 52 4D  |THESE ".... FORM|
000001D0: 41 54 20 49 4E 20 C3 4F  4D 4D 4F 44 4F 52 45 20  |AT IN .OMMODORE |
000001E0: D3 C5 D1 22 20 46 49 4C  45 53 20 42 41 43 4B 20  |..." FILES BACK |
000001F0: 54 4F 20 54 48 45 49 52  20 4F 52 49 47 49 4E 41  |TO THEIR ORIGINA|
00000200: 4C 20 46 4F 52 4D 2E 0D  0D D7 48 45 54 48 45 52  |L FORM....HETHER|
00000210: 20 C3 4F 4E 56 45 52 54  20 49 53 20 50 52 4F 43  | .ONVERT IS PROC|
00000220: 45 53 53 49 4E 47 20 41  20 C7 C5 CF D3 20 D6 CC  |ESSING A .... ..|
00000230: C9 D2 20 4F 52 20 D3 C5  D1 20 46 49 4C 45 2C 20  |.. OR ... FILE, |
00000240: 54 48 45 20 46 49 52 53  54 20 54 57 4F 20 42 4C  |THE FIRST TWO BL|
00000250: 4F 43 4B 53 20 4F 46 20  54 48 45 20 52 45 53 55  |OCKS OF THE RESU|
00000260: 4C 54 49 4E 47 20 C3 4F  4D 4D 4F 44 4F 52 45 20  |LTING .OMMODORE |
00000270: D3 C5 D1 20 46 49 4C 45  20 43 4F 4E 54 41 49 4E  |... FILE CONTAIN|
00000280: 20 54 48 45 20 53 41 4D  45 20 49 4E 46 4F 52 4D  | THE SAME INFORM|
00000290: 41 54 49 4F 4E 3A 0D 0D  42 4C 4F 43 4B 20 31 3A  |ATION:..BLOCK 1:|
000002A0: 20 42 59 54 45 53 20 30  20 41 4E 44 20 31 20 43  | BYTES 0 AND 1 C|
000002B0: 4F 4E 54 41 49 4E 20 53  54 41 4E 44 41 52 44 0D  |ONTAIN STANDARD.|
000002C0: 20 20 20 20 20 20 20 20  20 4E 45 58 54 20 54 52  |         NEXT TR|
000002D0: 41 43 4B 20 41 4E 44 20  53 45 43 54 4F 52 20 50  |ACK AND SECTOR P|
000002E0: 4F 49 4E 54 45 52 53 0D  20 20 20 20 20 20 20 20  |OINTERS.        |
000002F0: 20 28 CE D4 D3 29 0D 20  20 20 20 20 20 20 20 20  | (...).         |
00000300: 42 59 54 45 53 20 32 20  54 4F 20 33 31 20 43 4F  |BYTES 2 TO 31 CO|
00000310: 4E 54 41 49 4E 20 54 48  45 0D 20 20 20 20 20 20  |NTAIN THE.      |
00000320: 20 20 20 46 49 4C 45 27  53 20 44 49 52 45 43 54  |   FILE'S DIRECT|
00000330: 4F 52 59 20 45 4E 54 52  59 2C 20 57 49 54 48 0D  |ORY ENTRY, WITH.|
00000340: 20 20 20 20 20 20 20 20  20 54 48 45 20 46 49 4C  |         THE FIL|
00000350: 45 27 53 20 4F 52 49 47  49 4E 41 4C 20 4E 41 4D  |E'S ORIGINAL NAM|
00000360: 45 20 41 4E 44 0D 20 20  20 20 20 20 20 20 20 54  |E AND.         T|
00000370: 49 4D 45 20 53 54 41 4D  50 2E 0D 0D 42 4C 4F 43  |IME STAMP...BLOC|
00000380: 4B 20 32 3A 20 42 59 54  45 53 20 30 20 41 4E 44  |K 2: BYTES 0 AND|
00000390: 20 31 3A 20 CE D4 D3 20  50 4F 49 4E 54 45 52 0D  | 1: ... POINTER.|
000003A0: 20 20 20 20 20 20 20 20  20 42 59 54 45 53 20 32  |         BYTES 2|
000003B0: 20 54 4F 20 32 35 35 3A  20 42 59 54 45 53 20 32  | TO 255: BYTES 2|
000003C0: 20 54 4F 20 32 35 35 0D  20 20 20 20 20 20 20 20  | TO 255.        |
000003D0: 20 4F 46 20 54 48 45 20  46 49 4C 45 27 53 20 48  | OF THE FILE'S H|
000003E0: 45 41 44 45 52 20 42 4C  4F 43 4B 2E 0D 0D D7 48  |EADER BLOCK....H|
000003F0: 45 4E 20 43 4F 4E 56 45  52 54 49 4E 47 20 C7 C5  |EN CONVERTING ..|
00000400: CF D3 20 D3 C5 D1 20 46  49 4C 45 53 2C 20 54 48  |.. ... FILES, TH|
00000410: 45 20 52 45 53 54 20 4F  46 20 54 48 45 20 42 4C  |E REST OF THE BL|
00000420: 4F 43 4B 53 20 49 4E 20  54 48 45 20 52 45 53 55  |OCKS IN THE RESU|
00000430: 4C 54 49 4E 47 20 C3 4F  4D 4D 4F 44 4F 52 45 20  |LTING .OMMODORE |
00000440: D3 C5 D1 20 46 49 4C 45  20 41 52 45 20 54 48 45  |... FILE ARE THE|
00000450: 20 44 41 54 41 20 42 4C  4F 43 4B 53 20 46 52 4F  | DATA BLOCKS FRO|
00000460: 4D 20 54 48 45 20 C7 C5  CF D3 20 D3 C5 D1 20 46  |M THE .... ... F|
00000470: 49 4C 45 2E 0D 0D 42 4C  4F 43 4B 53 20 33 2C 20  |ILE...BLOCKS 3, |
00000480: 34 20 45 54 43 3A 0D 20  20 20 20 20 20 20 20 20  |4 ETC:.         |
00000490: 42 59 54 45 53 20 30 20  41 4E 44 20 31 3A 20 CE  |BYTES 0 AND 1: .|
000004A0: D4 D3 20 50 4F 49 4E 54  45 52 0D 20 20 20 20 20  |.. POINTER.     |
000004B0: 20 20 20 20 42 59 54 45  53 20 32 20 54 4F 20 32  |    BYTES 2 TO 2|
000004C0: 35 35 3A 20 42 59 54 45  53 20 32 20 54 4F 20 32  |55: BYTES 2 TO 2|
000004D0: 35 35 0D 20 20 20 20 20  20 20 20 20 4F 46 20 42  |55.         OF B|
000004E0: 4C 4F 43 4B 20 46 52 4F  4D 20 4F 52 49 47 49 4E  |LOCK FROM ORIGIN|
000004F0: 41 4C 20 C7 C5 CF D3 0D  20 20 20 20 20 20 20 20  |AL .....        |
00000500: 20 D3 C5 D1 20 46 49 4C  45 2E 0D 0D 4C 41 53 54  | ... FILE...LAST|
00000510: 20 42 4C 4F 43 4B 3A 0D  20 20 20 20 20 20 20 20  | BLOCK:.        |
00000520: 20 42 59 54 45 20 30 20  3D 20 30 0D 20 20 20 20  | BYTE 0 = 0.    |
00000530: 20 20 20 20 20 42 59 54  45 20 31 20 3D 20 50 4F  |     BYTE 1 = PO|
00000540: 49 4E 54 45 52 20 54 4F  20 4C 41 53 54 20 42 59  |INTER TO LAST BY|
00000550: 54 45 0D 20 20 20 20 20  20 20 20 20 20 55 53 45  |TE.          USE|
00000560: 44 20 49 4E 20 54 48 49  53 20 42 4C 4F 43 4B 20  |D IN THIS BLOCK |
00000570: 28 3D 24 30 32 20 54 4F  0D 20 20 20 20 20 20 20  |(=$02 TO.       |
00000580: 20 20 20 24 46 46 29 0D  0D D7 48 45 4E 20 43 4F  |   $FF)...HEN CO|
00000590: 4E 56 45 52 54 49 4E 47  20 C7 C5 CF D3 20 D6 CC  |NVERTING .... ..|
000005A0: C9 D2 20 46 49 4C 45 53  2C 20 54 48 45 20 54 48  |.. FILES, THE TH|
000005B0: 49 52 44 20 42 4C 4F 43  4B 20 49 4E 20 54 48 45  |IRD BLOCK IN THE|
000005C0: 20 52 45 53 55 4C 54 49  4E 47 20 C3 4F 4D 4D 4F  | RESULTING .OMMO|
000005D0: 44 4F 52 45 20 D3 C5 D1  20 46 49 4C 45 20 43 4F  |DORE ... FILE CO|
000005E0: 4E 54 41 49 4E 53 20 41  4E 20 49 4E 44 45 58 20  |NTAINS AN INDEX |
000005F0: 54 41 42 4C 45 20 46 4F  52 20 54 48 45 20 46 49  |TABLE FOR THE FI|
00000600: 4C 45 3A 0D 0D 42 4C 4F  43 4B 20 33 3A 20 20 42  |LE:..BLOCK 3:  B|
00000610: 59 54 45 53 20 30 20 41  4E 44 20 31 3A 20 CE D4  |YTES 0 AND 1: ..|
00000620: D3 20 50 4F 49 4E 54 45  52 0D 20 20 20 20 20 20  |. POINTER.      |
00000630: 20 20 20 20 42 59 54 45  20 32 3A 20 4E 55 4D 42  |    BYTE 2: NUMB|
00000640: 45 52 20 4F 46 20 42 4C  4F 43 4B 53 20 49 4E 0D  |ER OF BLOCKS IN.|
00000650: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000660: 20 20 20 D6 CC C9 D2 20  52 45 43 4F 52 44 20 23  |   .... RECORD #|
00000670: 30 0D 20 20 20 20 20 20  20 20 20 20 42 59 54 45  |0.          BYTE|
00000680: 20 33 3A 20 4E 55 4D 42  45 52 20 4F 46 20 42 59  | 3: NUMBER OF BY|
00000690: 54 45 53 20 49 4E 0D 20  20 20 20 20 20 20 20 20  |TES IN.         |
000006A0: 20 20 20 20 20 20 4C 41  53 54 20 42 4C 4F 43 4B  |      LAST BLOCK|
000006B0: 20 4F 46 20 52 45 43 4F  52 44 20 23 30 0D 20 20  | OF RECORD #0.  |
000006C0: 20 20 20 20 20 20 20 20  42 59 54 45 53 20 34 2C  |        BYTES 4,|
000006D0: 35 3A 20 23 20 42 4C 4F  43 4B 53 2F 42 59 54 45  |5: # BLOCKS/BYTE|
000006E0: 53 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |S.              |
000006F0: 20 20 20 49 4E 20 52 45  43 4F 52 44 20 23 31 0D  |   IN RECORD #1.|
00000700: 20 20 20 20 20 20 20 20  20 20 2E 2E 2E 41 4E 44  |          ...AND|
00000710: 20 53 4F 20 4F 4E 20 55  4E 54 49 4C 3A 0D 20 20  | SO ON UNTIL:.  |
00000720: 20 20 20 20 20 20 20 20  42 59 54 45 53 20 32 35  |        BYTES 25|
00000730: 34 20 41 4E 44 20 32 35  35 3A 20 4E 55 4D 42 45  |4 AND 255: NUMBE|
00000740: 52 20 4F 46 0D 20 20 20  20 20 20 20 20 20 20 20  |R OF.           |
00000750: 20 42 4C 4F 43 4B 53 2F  42 59 54 45 53 20 46 4F  | BLOCKS/BYTES FO|
00000760: 52 20 52 45 43 4F 52 44  23 31 32 36 0D C9 46 20  |R RECORD#126..F |
00000770: 4F 4E 45 20 4F 46 20 54  48 45 20 42 4C 4F 43 4B  |ONE OF THE BLOCK|
00000780: 2F 42 59 54 45 20 50 41  49 52 53 20 49 53 20 28  |/BYTE PAIRS IS (|
00000790: 30 2C 30 29 2C 20 54 48  45 4E 20 54 48 45 20 52  |0,0), THEN THE R|
000007A0: 45 43 4F 52 44 20 44 4F  45 53 20 4E 4F 54 20 45  |ECORD DOES NOT E|
000007B0: 58 49 53 54 2E 20 C9 46  20 41 20 50 41 49 52 20  |XIST. .F A PAIR |
000007C0: 49 53 20 28 24 30 30 2C  24 46 46 29 20 54 48 45  |IS ($00,$FF) THE|
000007D0: 4E 20 54 48 45 20 52 45  43 4F 52 44 20 49 53 20  |N THE RECORD IS |
000007E0: 45 4D 50 54 59 2E 20 D4  48 45 20 52 45 4D 41 49  |EMPTY. .HE REMAI|
000007F0: 4E 49 4E 47 20 42 4C 4F  43 4B 53 20 49 4E 20 54  |NING BLOCKS IN T|
00000800: 48 45 20 C3 4F 4D 4D 4F  44 4F 52 45 20 D3 C5 D1  |HE .OMMODORE ...|
00000810: 20 46 49 4C 45 20 43 4F  4E 54 41 49 4E 20 41 4C  | FILE CONTAIN AL|
00000820: 4C 20 4F 46 20 54 48 45  20 D6 CC C9 D2 20 52 45  |L OF THE .... RE|
00000830: 43 4F 52 44 53 2C 20 41  50 50 45 4E 44 45 44 20  |CORDS, APPENDED |
00000840: 45 4E 44 2D 54 4F 2D 45  4E 44 2C 20 53 54 41 52  |END-TO-END, STAR|
00000850: 54 49 4E 47 20 57 49 54  48 20 54 48 45 20 46 49  |TING WITH THE FI|
00000860: 52 53 54 20 45 58 49 53  54 49 4E 47 20 52 45 43  |RST EXISTING REC|
00000870: 4F 52 44 20 28 55 53 55  41 4C 4C 59 20 52 45 43  |ORD (USUALLY REC|
00000880: 4F 52 44 20 23 30 29 2E  20 C1 44 44 49 4E 47 20  |ORD #0). .DDING |
00000890: 55 50 20 41 4C 4C 20 4F  46 20 54 48 45 20 22 4E  |UP ALL OF THE "N|
000008A0: 55 4D 42 45 52 20 4F 46  20 42 4C 4F 43 4B 53 22  |UMBER OF BLOCKS"|
000008B0: 20 45 4E 54 52 49 45 53  20 49 4E 20 54 48 45 20  | ENTRIES IN THE |
000008C0: 54 48 49 52 44 20 42 4C  4F 43 4B 20 57 49 4C 4C  |THIRD BLOCK WILL|
000008D0: 20 47 49 56 45 20 59 4F  55 20 54 48 45 20 54 4F  | GIVE YOU THE TO|
000008E0: 54 41 4C 20 4E 55 4D 42  45 52 20 4F 46 20 42 4C  |TAL NUMBER OF BL|
000008F0: 4F 43 4B 20 57 48 49 43  48 20 52 45 4D 41 49 4E  |OCK WHICH REMAIN|
00000900: 2E 0D 0D D4 48 55 53 20  49 46 20 54 48 45 20 D6  |....HUS IF THE .|
00000910: CC C9 D2 20 46 49 4C 45  20 48 41 53 20 54 57 4F  |... FILE HAS TWO|
00000920: 20 42 4C 4F 43 4B 53 20  49 4E 20 52 45 43 4F 52  | BLOCKS IN RECOR|
00000930: 44 20 23 30 2C 20 4F 4E  45 20 42 4C 4F 43 4B 20  |D #0, ONE BLOCK |
00000940: 49 4E 20 52 45 43 4F 52  44 20 23 34 2C 20 41 4E  |IN RECORD #4, AN|
00000950: 44 20 4E 55 4C 4C 20 50  4F 49 4E 54 45 52 53 20  |D NULL POINTERS |
00000960: 28 4E 4F 20 42 4C 4F 43  4B 53 29 20 46 4F 52 20  |(NO BLOCKS) FOR |
00000970: 41 4C 4C 20 4F 54 48 45  52 20 52 45 43 4F 52 44  |ALL OTHER RECORD|
00000980: 53 2C 20 54 48 45 4E 20  54 48 45 20 52 45 53 55  |S, THEN THE RESU|
00000990: 4C 54 49 4E 47 20 C3 4F  4D 4D 4F 44 4F 52 45 20  |LTING .OMMODORE |
000009A0: D3 C5 D1 20 46 49 4C 45  20 57 49 4C 4C 20 43 4F  |... FILE WILL CO|
000009B0: 4E 54 41 49 4E 3A 20 0D  0D C2 4C 4F 43 4B 20 31  |NTAIN: ...LOCK 1|
000009C0: 3A 20 20 44 49 52 45 43  54 4F 52 59 20 45 4E 54  |:  DIRECTORY ENT|
000009D0: 52 59 20 0D C2 4C 4F 43  4B 20 32 3A 20 20 46 49  |RY ..LOCK 2:  FI|
000009E0: 4C 45 20 48 45 41 44 45  52 20 0D C2 4C 4F 43 4B  |LE HEADER ..LOCK|
000009F0: 20 33 3A 20 20 42 4C 4F  43 4B 53 2F 42 59 54 45  | 3:  BLOCKS/BYTE|
00000A00: 53 20 50 45 52 20 52 45  43 4F 52 44 20 0D 20 20  |S PER RECORD .  |
00000A10: 20 20 20 20 20 20 20 20  54 41 42 4C 45 20 0D C2  |        TABLE ..|
00000A20: 4C 4F 43 4B 20 34 3A 20  20 42 4C 4F 43 4B 20 23  |LOCK 4:  BLOCK #|
00000A30: 31 20 4F 46 20 52 45 43  4F 52 44 20 23 30 20 0D  |1 OF RECORD #0 .|
00000A40: C2 4C 4F 43 4B 20 35 3A  20 20 42 4C 4F 43 4B 20  |.LOCK 5:  BLOCK |
00000A50: 23 32 20 4F 46 20 52 45  43 4F 52 44 20 23 30 20  |#2 OF RECORD #0 |
00000A60: 0D C2 4C 4F 43 4B 20 36  3A 20 20 42 4C 4F 43 4B  |..LOCK 6:  BLOCK|
00000A70: 20 23 31 20 4F 46 20 52  45 43 4F 52 44 20 23 34  | #1 OF RECORD #4|
00000A80: 0D 0D CE 4F 54 45 20 54  48 41 54 20 54 48 45 20  |...OTE THAT THE |
00000A90: 43 4F 4E 56 45 52 53 49  4F 4E 20 50 52 4F 43 45  |CONVERSION PROCE|
00000AA0: 53 53 20 44 4F 45 53 20  4E 4F 54 20 43 52 45 41  |SS DOES NOT CREA|
00000AB0: 54 45 20 41 20 4E 45 57  20 46 49 4C 45 2C 20 49  |TE A NEW FILE, I|
00000AC0: 54 20 53 49 4D 50 4C 59  20 4D 4F 44 49 46 49 45  |T SIMPLY MODIFIE|
00000AD0: 53 20 54 48 45 20 45 58  49 53 54 49 4E 47 20 C7  |S THE EXISTING .|
00000AE0: C5 CF D3 20 D6 CC C9 D2  20 4F 52 20 D3 C5 D1 20  |... .... OR ... |
00000AF0: 46 49 4C 45 20 53 4F 20  54 48 41 54 20 49 54 20  |FILE SO THAT IT |
00000B00: 43 4F 4E 46 4F 52 4D 53  20 54 4F 20 54 48 45 20  |CONFORMS TO THE |
00000B10: 46 4F 52 4D 41 54 20 4F  46 20 41 20 C3 4F 4D 4D  |FORMAT OF A .OMM|
00000B20: 4F 44 4F 52 45 20 D3 C5  D1 20 46 49 4C 45 2E 20  |ODORE ... FILE. |
00000B30: D5 53 49 4E 47 20 41 20  C7 C5 CF D3 20 D6 CC C9  |.SING A .... ...|
00000B40: D2 20 46 49 4C 45 20 41  53 20 41 4E 20 45 58 41  |. FILE AS AN EXA|
00000B50: 4D 50 4C 45 2C 20 54 48  49 53 20 50 52 4F 43 45  |MPLE, THIS PROCE|
00000B60: 53 53 20 49 4E 56 4F 4C  56 45 53 3A 0D 0D 31 29  |SS INVOLVES:..1)|
00000B70: 20 C3 52 45 41 54 49 4E  47 20 41 20 4E 45 57 20  | .REATING A NEW |
00000B80: 42 4C 4F 43 4B 20 54 4F  20 43 4F 4E 54 41 49 4E  |BLOCK TO CONTAIN|
00000B90: 20 54 48 45 20 46 49 4C  45 27 53 20 44 49 52 45  | THE FILE'S DIRE|
00000BA0: 43 54 4F 52 59 20 45 4E  54 52 59 2C 20 43 48 41  |CTORY ENTRY, CHA|
00000BB0: 4E 47 49 4E 47 20 54 48  45 20 45 58 49 53 54 49  |NGING THE EXISTI|
00000BC0: 4E 47 20 44 49 52 45 43  54 4F 52 59 20 45 4E 54  |NG DIRECTORY ENT|
00000BD0: 52 59 20 53 4F 20 54 48  41 54 20 54 48 45 20 50  |RY SO THAT THE P|
00000BE0: 4F 49 4E 54 45 52 20 54  4F 20 54 48 45 20 46 49  |OINTER TO THE FI|
00000BF0: 4C 45 27 53 20 46 49 52  53 54 20 42 4C 4F 43 4B  |LE'S FIRST BLOCK|
00000C00: 20 4E 4F 57 20 50 4F 49  4E 54 53 20 54 4F 20 54  | NOW POINTS TO T|
00000C10: 48 49 53 20 4E 45 57 20  42 4C 4F 43 4B 2E 20 D4  |HIS NEW BLOCK. .|
00000C20: 48 45 20 CE D4 D3 20 50  4F 49 4E 54 45 52 20 49  |HE ... POINTER I|
00000C30: 4E 20 54 48 49 53 20 4E  45 57 20 42 4C 4F 43 4B  |N THIS NEW BLOCK|
00000C40: 20 57 49 4C 4C 20 50 4F  49 4E 54 20 54 4F 20 54  | WILL POINT TO T|
00000C50: 48 45 20 46 49 4C 45 27  53 20 45 58 49 53 54 49  |HE FILE'S EXISTI|
00000C60: 4E 47 20 48 45 41 44 45  52 20 42 4C 4F 43 4B 2E  |NG HEADER BLOCK.|
00000C70: 0D 0D 32 29 20 C3 48 41  4E 47 49 4E 47 20 54 48  |..2) .HANGING TH|
00000C80: 45 20 CE D4 D3 20 50 4F  49 4E 54 45 52 20 49 4E  |E ... POINTER IN|
00000C90: 20 54 48 45 20 42 4C 4F  43 4B 20 43 4F 4E 54 41  | THE BLOCK CONTA|
00000CA0: 49 4E 49 4E 47 20 54 48  45 20 46 49 4C 45 20 48  |INING THE FILE H|
00000CB0: 45 41 44 45 52 20 53 4F  20 54 48 41 54 20 49 54  |EADER SO THAT IT|
00000CC0: 20 50 4F 49 4E 54 53 20  54 4F 20 54 48 45 20 46  | POINTS TO THE F|
00000CD0: 49 4C 45 27 53 20 49 4E  44 45 58 20 54 41 42 4C  |ILE'S INDEX TABL|
00000CE0: 45 20 42 4C 4F 43 4B 2E  0D 0D 33 29 20 C3 48 41  |E BLOCK...3) .HA|
00000CF0: 4E 47 49 4E 47 20 54 48  45 20 46 49 4C 45 27 53  |NGING THE FILE'S|
00000D00: 20 49 4E 44 45 58 20 54  41 42 4C 45 20 42 4C 4F  | INDEX TABLE BLO|
00000D10: 43 4B 20 53 4F 20 54 48  41 54 20 49 54 20 48 41  |CK SO THAT IT HA|
00000D20: 53 20 41 43 43 55 52 41  54 45 20 22 4E 55 4D 42  |S ACCURATE "NUMB|
00000D30: 45 52 20 4F 46 20 42 4C  4F 43 4B 53 2F 42 59 54  |ER OF BLOCKS/BYT|
00000D40: 45 53 22 20 49 4E 46 4F  52 4D 41 54 49 4F 4E 20  |ES" INFORMATION |
00000D50: 46 4F 52 20 45 41 43 48  20 52 45 43 4F 52 44 2E  |FOR EACH RECORD.|
00000D60: 20 C1 4C 53 4F 2C 20 54  48 45 20 CE D4 D3 20 50  | .LSO, THE ... P|
00000D70: 4F 49 4E 54 45 52 20 49  4E 20 54 48 49 53 20 42  |OINTER IN THIS B|
00000D80: 4C 4F 43 4B 20 49 53 20  41 4C 54 45 52 45 44 20  |LOCK IS ALTERED |
00000D90: 54 4F 20 50 4F 49 4E 54  20 54 4F 20 54 48 45 20  |TO POINT TO THE |
00000DA0: 46 49 52 53 54 20 42 4C  4F 43 4B 20 4F 46 20 54  |FIRST BLOCK OF T|
00000DB0: 48 45 20 46 49 52 53 54  20 52 45 43 4F 52 44 20  |HE FIRST RECORD |
00000DC0: 57 48 49 43 48 20 45 58  49 53 54 53 2E 0D 0D 34  |WHICH EXISTS...4|
00000DD0: 29 20 C3 48 41 4E 47 49  4E 47 20 54 48 45 20 CE  |) .HANGING THE .|
00000DE0: D4 D3 20 50 4F 49 4E 54  45 52 53 20 49 4E 20 54  |.. POINTERS IN T|
00000DF0: 48 45 20 46 49 52 53 54  20 41 4E 44 20 4C 41 53  |HE FIRST AND LAS|
00000E00: 54 20 42 4C 4F 43 4B 53  20 4F 46 20 45 41 43 48  |T BLOCKS OF EACH|
00000E10: 20 52 45 43 4F 52 44 2C  20 53 4F 20 54 48 41 54  | RECORD, SO THAT|
00000E20: 20 54 48 45 20 52 45 43  4F 52 44 53 20 41 52 45  | THE RECORDS ARE|
00000E30: 20 41 50 50 45 4E 44 45  44 20 49 4E 54 4F 20 41  | APPENDED INTO A|
00000E40: 20 53 54 52 49 4E 47 20  4F 46 20 42 4C 4F 43 4B  | STRING OF BLOCK|
00000E50: 53 2E 0D 0D C1 4C 53 4F  2C 20 54 48 49 4E 4B 20  |S....LSO, THINK |
00000E60: 41 42 4F 55 54 20 54 48  45 20 52 45 56 45 52 53  |ABOUT THE REVERS|
00000E70: 45 20 50 52 4F 43 45 53  53 2E 20 C3 4F 4E 56 45  |E PROCESS. .ONVE|
00000E80: 52 54 20 57 49 4C 4C 20  54 41 4B 45 20 41 20 C3  |RT WILL TAKE A .|
00000E90: 4F 4D 4D 4F 44 4F 52 45  20 D3 C5 D1 20 46 49 4C  |OMMODORE ... FIL|
00000EA0: 45 20 57 48 49 43 48 20  43 4F 4D 50 4C 45 54 45  |E WHICH COMPLETE|
00000EB0: 4C 59 20 44 45 46 49 4E  45 53 20 41 20 C7 C5 CF  |LY DEFINES A ...|
00000EC0: D3 20 D6 CC C9 D2 20 4F  52 20 D3 C5 D1 20 46 49  |. .... OR ... FI|
00000ED0: 4C 45 20 41 4E 44 20 57  49 4C 4C 20 43 4F 4E 56  |LE AND WILL CONV|
00000EE0: 45 52 54 20 49 54 20 54  4F 20 54 48 45 20 43 4F  |ERT IT TO THE CO|
00000EF0: 52 52 45 43 54 20 53 54  52 55 43 54 55 52 45 2E  |RRECT STRUCTURE.|
00000F00: 20 D3 4F 46 54 57 41 52  45 20 44 45 56 45 4C 4F  | .OFTWARE DEVELO|
00000F10: 50 45 52 53 20 4D 41 59  20 46 49 4E 44 20 54 48  |PERS MAY FIND TH|
00000F20: 49 53 20 55 53 45 46 55  4C 3B 20 49 46 20 59 4F  |IS USEFUL; IF YO|
00000F30: 55 20 41 52 45 20 55 53  49 4E 47 20 41 20 53 54  |U ARE USING A ST|
00000F40: 41 4E 44 41 52 44 20 C3  4F 4D 4D 4F 44 4F 52 45  |ANDARD .OMMODORE|
00000F50: 20 41 53 53 45 4D 42 4C  45 52 20 57 48 49 43 48  | ASSEMBLER WHICH|
00000F60: 20 43 52 45 41 54 45 53  20 C3 4F 4D 4D 4F 44 4F  | CREATES .OMMODO|
00000F70: 52 45 20 D3 C5 D1 20 46  49 4C 45 53 2C 20 54 48  |RE ... FILES, TH|
00000F80: 45 4E 20 49 46 20 54 48  45 20 44 41 54 41 20 49  |EN IF THE DATA I|
00000F90: 53 20 53 45 54 20 55 50  20 52 49 47 48 54 2C 20  |S SET UP RIGHT, |
00000FA0: C3 4F 4E 56 45 52 54 20  43 41 4E 20 42 45 20 55  |.ONVERT CAN BE U|
00000FB0: 53 45 44 20 54 4F 20 54  55 52 4E 20 54 48 45 20  |SED TO TURN THE |
00000FC0: C3 4F 4D 4D 4F 44 4F 52  45 20 D3 C5 D1 20 46 49  |.OMMODORE ... FI|
00000FD0: 4C 45 20 49 4E 54 4F 20  41 20 52 55 4E 4E 41 42  |LE INTO A RUNNAB|
00000FE0: 4C 45 20 C7 C5 CF D3 20  D6 CC C9 D2 20 4F 52 20  |LE .... .... OR |
00000FF0: D3 C5 D1 20 41 50 50 4C  49 43 41 54 49 4F 4E 21  |... APPLICATION!|
00001000: 20 D7 45 20 57 49 4C 4C  20 50 4F 53 54 20 41 20  | .E WILL POST A |
00001010: 4E 4F 54 45 20 49 4E 20  54 48 45 20 46 55 54 55  |NOTE IN THE FUTU|
00001020: 52 45 20 41 42 4F 55 54  20 48 4F 57 20 54 4F 20  |RE ABOUT HOW TO |
00001030: 44 4F 20 54 48 49 53 2E  0D 0D C1 D0 D0 C5 CE C4  |DO THIS.........|
00001040: C9 D8 20 C3 20 28 D0 34  33 32 29 20 C3 CF D2 D2  |.. . (.432) ....|
00001050: C5 C3 D4 C9 CF CE D3 2E  2E 2E 0D 0D D4 48 41 4E  |.............HAN|
00001060: 4B 53 20 46 4F 52 20 CA  50 50 20 41 4E 44 20 CD  |KS FOR .PP AND .|
00001070: 49 4B 45 D4 32 32 20 46  4F 52 20 41 4C 45 52 54  |IKE.22 FOR ALERT|
00001080: 49 4E 47 20 4D 45 20 54  4F 20 53 4F 4D 45 20 45  |ING ME TO SOME E|
00001090: 52 52 4F 52 53 20 4F 4E  20 D0 34 33 32 20 4F 46  |RRORS ON .432 OF|
000010A0: 20 54 48 45 20 D0 52 4F  47 20 D2 45 46 20 CD 41  | THE .ROG .EF .A|
000010B0: 4E 55 41 4C 3A 0D 0D C4  4F 4E 45 D7 49 54 48 C9  |NUAL:...ONE.ITH.|
000010C0: CF 20 53 48 4F 55 4C 44  20 52 45 41 44 20 24 43  |. SHOULD READ $C|
000010D0: 32 35 46 20 C3 4F 50 59  D3 54 52 49 4E 47 20 53  |25F .OPY.TRING S|
000010E0: 48 4F 55 4C 44 20 52 45  41 44 20 24 43 32 36 35  |HOULD READ $C265|
000010F0: 0D 0D C4 C5 D3 CB 20 C1  C3 C3 C5 D3 D3 CF D2 C9  |...... .........|
00001100: C5 D3 20 C9 CE 20 C1 D0  D0 CC C9 C3 C1 D4 C9 CF  |.. .. ..........|
00001110: CE D3 0D 0D D4 48 49 53  20 4E 4F 54 45 20 49 53  |.....HIS NOTE IS|
00001120: 20 46 4F 52 20 50 45 4F  50 4C 45 20 57 52 49 54  | FOR PEOPLE WRIT|
00001130: 49 4E 47 20 41 50 50 4C  49 43 41 54 49 4F 4E 53  |ING APPLICATIONS|
00001140: 20 57 48 49 43 48 20 41  4C 4C 4F 57 20 54 48 45  | WHICH ALLOW THE|
00001150: 20 55 53 45 52 20 54 4F  20 52 55 4E 20 44 45 53  | USER TO RUN DES|
00001160: 4B 20 41 43 43 45 53 53  4F 52 49 45 53 2E 0D 0D  |K ACCESSORIES...|
00001170: CD 4F 53 54 20 C7 C5 CF  D3 20 41 50 50 4C 49 43  |.OST .... APPLIC|
00001180: 41 54 49 4F 4E 53 20 54  48 41 54 20 48 41 56 45  |ATIONS THAT HAVE|
00001190: 20 42 45 45 4E 20 57 52  49 54 54 45 4E 20 41 52  | BEEN WRITTEN AR|
000011A0: 45 20 D6 CC C9 D2 20 4D  4F 44 55 4C 45 20 53 57  |E .... MODULE SW|
000011B0: 41 50 50 49 4E 47 20 41  50 50 4C 49 43 41 54 49  |APPING APPLICATI|
000011C0: 4F 4E 53 2C 20 41 4E 44  20 53 4F 20 54 48 45 20  |ONS, AND SO THE |
000011D0: 44 49 53 4B 20 43 4F 4E  54 41 49 4E 49 4E 47 20  |DISK CONTAINING |
000011E0: 54 48 45 20 41 50 50 4C  49 43 41 54 49 4F 4E 20  |THE APPLICATION |
000011F0: 4D 55 53 54 20 41 4C 57  41 59 53 20 42 45 20 49  |MUST ALWAYS BE I|
00001200: 4E 20 4F 4E 45 20 4F 46  20 54 48 45 20 41 43 54  |N ONE OF THE ACT|
00001210: 49 56 45 20 44 52 49 56  45 53 2E 20 D4 48 45 20  |IVE DRIVES. .HE |
00001220: 43 4F 4E 56 45 4E 54 49  4F 4E 20 46 4F 52 20 50  |CONVENTION FOR P|
00001230: 4C 41 43 45 4D 45 4E 54  20 4F 46 20 44 45 53 4B  |LACEMENT OF DESK|
00001240: 20 41 43 43 45 53 53 4F  52 49 45 53 20 49 53 20  | ACCESSORIES IS |
00001250: 54 48 41 54 20 54 48 45  59 20 4D 55 53 54 20 42  |THAT THEY MUST B|
00001260: 45 20 4F 4E 20 54 48 45  20 41 50 50 4C 49 43 41  |E ON THE APPLICA|
00001270: 54 49 4F 4E 20 44 49 53  4B 2E 20 D4 48 49 53 20  |TION DISK. .HIS |
00001280: 57 41 59 2C 20 54 48 45  20 C4 C1 53 20 57 48 49  |WAY, THE ..S WHI|
00001290: 43 48 20 41 50 50 45 41  52 20 49 4E 20 54 48 45  |CH APPEAR IN THE|
000012A0: 20 41 50 50 4C 49 43 41  54 49 4F 4E 27 53 20 C7  | APPLICATION'S .|
000012B0: C5 CF D3 20 4D 45 4E 55  20 41 52 45 20 41 4C 57  |... MENU ARE ALW|
000012C0: 41 59 53 20 41 43 43 45  53 53 49 42 4C 45 2E 20  |AYS ACCESSIBLE. |
000012D0: C1 50 50 4C 49 43 41 54  49 4F 4E 53 20 4F 46 20  |.PPLICATIONS OF |
000012E0: 54 48 49 53 20 54 59 50  45 20 57 48 49 43 48 20  |THIS TYPE WHICH |
000012F0: 41 4C 4C 4F 57 20 54 48  45 20 55 53 45 52 20 54  |ALLOW THE USER T|
00001300: 4F 20 4C 4F 41 44 20 44  41 54 41 20 46 52 4F 4D  |O LOAD DATA FROM|
00001310: 20 54 48 45 20 4F 54 48  45 52 20 44 52 49 56 45  | THE OTHER DRIVE|
00001320: 20 4D 55 53 54 20 4B 45  45 50 20 54 52 41 43 4B  | MUST KEEP TRACK|
00001330: 20 4F 46 20 57 48 49 43  48 20 44 52 49 56 45 20  | OF WHICH DRIVE |
00001340: 49 53 20 54 48 45 20 41  50 50 4C 49 43 41 54 49  |IS THE APPLICATI|
00001350: 4F 4E 20 44 52 49 56 45  2E 20 C6 4F 52 20 45 58  |ON DRIVE. .OR EX|
00001360: 41 4D 50 4C 45 2C 20 41  53 53 55 4D 45 20 54 48  |AMPLE, ASSUME TH|
00001370: 45 20 41 50 50 4C 49 43  41 54 49 4F 4E 20 44 49  |E APPLICATION DI|
00001380: 53 4B 20 49 53 20 49 4E  20 44 52 49 56 45 20 C1  |SK IS IN DRIVE .|
00001390: 20 41 4E 44 20 54 48 45  20 44 41 54 41 20 44 49  | AND THE DATA DI|
000013A0: 53 4B 20 49 53 20 49 4E  20 44 52 49 56 45 20 C2  |SK IS IN DRIVE .|
000013B0: 2E 20 D7 48 45 4E 20 54  48 45 20 41 50 50 4C 49  |. .HEN THE APPLI|
000013C0: 43 41 54 49 4F 4E 20 49  53 20 52 55 4E 20 46 52  |CATION IS RUN FR|
000013D0: 4F 4D 20 54 48 45 20 44  45 53 4B D4 4F 50 2C 20  |OM THE DESK.OP, |
000013E0: 4F 4E 45 20 4F 46 20 54  48 45 20 46 49 52 53 54  |ONE OF THE FIRST|
000013F0: 20 54 48 49 4E 47 53 20  49 54 20 44 4F 45 53 20  | THINGS IT DOES |
00001400: 49 53 20 54 4F 20 52 45  41 44 20 54 48 45 20 44  |IS TO READ THE D|
00001410: 49 53 4B 27 53 20 44 49  52 45 43 54 4F 52 59 2C  |ISK'S DIRECTORY,|
00001420: 20 47 52 41 42 42 49 4E  47 20 54 48 45 20 4E 41  | GRABBING THE NA|
00001430: 4D 45 53 20 4F 46 20 54  48 45 20 C4 C1 53 20 4F  |MES OF THE ..S O|
00001440: 4E 20 54 48 41 54 20 44  49 53 4B 20 41 4E 44 20  |N THAT DISK AND |
00001450: 53 54 55 46 46 49 4E 47  20 54 48 45 4D 20 49 4E  |STUFFING THEM IN|
00001460: 54 4F 20 54 48 45 20 C7  C5 CF D3 20 4D 45 4E 55  |TO THE .... MENU|
00001470: 20 44 45 46 49 4E 49 54  49 4F 4E 20 54 41 42 4C  | DEFINITION TABL|
00001480: 45 2E 20 D4 48 45 4E 20  57 48 45 4E 20 54 48 45  |E. .HEN WHEN THE|
00001490: 20 55 53 45 52 20 48 41  53 20 4F 50 45 4E 45 44  | USER HAS OPENED|
000014A0: 20 41 20 44 41 54 41 46  49 4C 45 20 57 48 49 43  | A DATAFILE WHIC|
000014B0: 48 20 49 53 20 4F 4E 20  54 48 45 20 44 49 53 4B  |H IS ON THE DISK|
000014C0: 20 49 4E 20 44 52 49 56  45 20 C2 2C 20 41 4E 44  | IN DRIVE ., AND|
000014D0: 20 48 45 20 53 45 4C 45  43 54 53 20 41 20 C4 C1  | HE SELECTS A ..|
000014E0: 20 46 52 4F 4D 20 54 48  45 20 4D 45 4E 55 2C 20  | FROM THE MENU, |
000014F0: 54 48 45 20 41 50 50 4C  49 43 41 54 49 4F 4E 20  |THE APPLICATION |
00001500: 4D 55 53 54 20 43 41 4C  4C 20 CF 50 45 4E C4 49  |MUST CALL .PEN.I|
00001510: 53 4B 20 54 4F 20 4F 50  45 4E 20 44 52 49 56 45  |SK TO OPEN DRIVE|
00001520: 20 C1 20 54 4F 20 52 55  4E 20 54 48 45 20 C4 C1  | . TO RUN THE ..|
00001530: 2E 20 D7 48 45 4E 20 54  48 45 20 C4 C1 20 46 49  |. .HEN THE .. FI|
00001540: 4E 49 53 48 45 53 2C 20  54 48 45 20 41 50 50 4C  |NISHES, THE APPL|
00001550: 49 43 41 54 49 4F 4E 20  4D 55 53 54 20 43 41 4C  |ICATION MUST CAL|
00001560: 4C 20 CF 50 45 4E C4 49  53 4B 20 54 4F 20 52 45  |L .PEN.ISK TO RE|
00001570: 2D 4F 50 45 4E 20 54 48  45 20 44 41 54 41 20 44  |-OPEN THE DATA D|
00001580: 49 53 4B 20 49 4E 20 44  52 49 56 45 20 C2 2E 20  |ISK IN DRIVE .. |
00001590: C9 46 20 54 48 45 20 53  59 53 54 45 4D 20 4F 4E  |.F THE SYSTEM ON|
000015A0: 4C 59 20 48 41 53 20 4F  4E 45 20 44 52 49 56 45  |LY HAS ONE DRIVE|
000015B0: 2C 20 54 48 45 4E 20 54  48 45 52 45 20 49 53 20  |, THEN THERE IS |
000015C0: 4E 4F 20 50 52 4F 42 4C  45 4D 20 42 45 43 41 55  |NO PROBLEM BECAU|
000015D0: 53 45 20 54 48 45 20 44  49 53 4B 20 49 4E 20 44  |SE THE DISK IN D|
000015E0: 52 49 56 45 20 C1 20 43  4F 4E 54 41 49 4E 53 20  |RIVE . CONTAINS |
000015F0: 54 48 45 20 41 50 50 4C  49 43 41 54 49 4F 4E 2C  |THE APPLICATION,|
00001600: 20 54 48 45 20 C4 C1 53  2C 20 41 4E 44 20 54 48  | THE ..S, AND TH|
00001610: 45 20 44 41 54 41 46 49  4C 45 3B 20 4E 4F 20 44  |E DATAFILE; NO D|
00001620: 52 49 56 45 20 53 57 49  54 43 48 49 4E 47 20 49  |RIVE SWITCHING I|
00001630: 53 20 52 45 51 55 49 52  45 44 20 57 48 45 4E 20  |S REQUIRED WHEN |
00001640: 52 55 4E 4E 49 4E 47 20  C4 C1 53 2E 0D 0D C6 4F  |RUNNING ..S....O|
00001650: 52 20 41 50 50 4C 49 43  41 54 49 4F 4E 53 20 57  |R APPLICATIONS W|
00001660: 48 49 43 48 20 52 55 4E  20 45 4E 54 49 52 45 4C  |HICH RUN ENTIREL|
00001670: 59 20 52 45 53 49 44 45  4E 54 20 49 4E 20 4D 45  |Y RESIDENT IN ME|
00001680: 4D 4F 52 59 20 28 4E 45  56 45 52 20 53 57 41 50  |MORY (NEVER SWAP|
00001690: 50 49 4E 47 20 4D 4F 44  55 4C 45 53 29 20 59 4F  |PING MODULES) YO|
000016A0: 55 20 4D 49 47 48 54 20  42 45 20 54 45 4D 50 54  |U MIGHT BE TEMPT|
000016B0: 45 44 20 54 4F 20 41 4C  4C 4F 57 20 54 48 45 20  |ED TO ALLOW THE |
000016C0: 55 53 45 52 20 54 4F 20  52 45 4D 4F 56 45 20 54  |USER TO REMOVE T|
000016D0: 48 45 20 44 49 53 4B 20  4F 4E 20 41 20 4F 4E 45  |HE DISK ON A ONE|
000016E0: 2D 44 52 49 56 45 20 53  59 53 54 45 4D 20 41 4E  |-DRIVE SYSTEM AN|
000016F0: 44 20 49 4E 53 45 52 54  20 41 20 44 49 46 46 45  |D INSERT A DIFFE|
00001700: 52 45 4E 54 20 44 41 54  41 20 44 49 53 4B 2E 20  |RENT DATA DISK. |
00001710: C1 50 50 4C 49 43 41 54  49 4F 4E 53 20 53 55 43  |.PPLICATIONS SUC|
00001720: 48 20 41 53 20 54 48 45  20 C9 43 4F 4E 20 C5 44  |H AS THE .CON .D|
00001730: 49 54 4F 52 20 41 4C 4C  4F 57 20 54 48 49 53 2E  |ITOR ALLOW THIS.|
00001740: 20 C2 55 54 20 42 45 20  53 55 52 45 20 54 48 41  | .UT BE SURE THA|
00001750: 54 20 49 46 20 59 4F 55  20 41 4C 4C 4F 57 20 54  |T IF YOU ALLOW T|
00001760: 48 49 53 20 43 41 50 41  42 49 4C 49 54 59 2C 20  |HIS CAPABILITY, |
00001770: 54 48 41 54 20 57 48 45  4E 20 54 48 45 20 C4 C1  |THAT WHEN THE ..|
00001780: 20 49 53 20 53 45 4C 45  43 54 45 44 20 C1 CE C4  | IS SELECTED ...|
00001790: 20 54 48 45 20 41 50 50  4C 49 43 41 54 49 4F 4E  | THE APPLICATION|
000017A0: 20 44 49 53 4B 20 48 41  53 20 42 45 45 4E 20 52  | DISK HAS BEEN R|
000017B0: 45 4D 4F 56 45 44 2C 20  59 4F 55 20 4D 55 53 54  |EMOVED, YOU MUST|
000017C0: 20 45 49 54 48 45 52 20  31 29 20 4E 4F 54 20 41  | EITHER 1) NOT A|
000017D0: 4C 4C 4F 57 20 54 48 45  20 C4 C1 20 54 4F 20 52  |LLOW THE .. TO R|
000017E0: 55 4E 2C 20 4F 52 20 32  29 20 50 55 54 20 55 50  |UN, OR 2) PUT UP|
000017F0: 20 41 20 44 49 41 4C 4F  47 20 42 4F 58 20 52 45  | A DIALOG BOX RE|
00001800: 51 55 45 53 54 49 4E 47  20 54 48 41 54 20 54 48  |QUESTING THAT TH|
00001810: 45 20 41 50 50 4C 49 43  41 54 49 4F 4E 20 44 49  |E APPLICATION DI|
00001820: 53 4B 20 42 45 20 49 4E  53 45 52 54 45 44 20 53  |SK BE INSERTED S|
00001830: 4F 20 54 48 41 54 20 54  48 45 20 C4 C1 20 43 41  |O THAT THE .. CA|
00001840: 4E 20 52 55 4E 2E 0D 0D  CD C1 C3 D2 CF D3 20 C6  |N RUN......... .|
00001850: CF D2 20 D2 C5 C6 C5 D2  C5 CE C3 C5 20 CD C1 CE  |.. ......... ...|
00001860: D5 C1 CC 0D 0D 0D 0D D9  4F 55 20 47 55 59 53 20  |........OU GUYS |
00001870: 41 52 45 20 41 42 53 4F  4C 55 54 45 4C 59 20 52  |ARE ABSOLUTELY R|
00001880: 49 47 48 54 21 20 D4 48  45 20 D2 45 46 45 52 45  |IGHT! .HE .EFERE|
00001890: 4E 43 45 20 CD 41 4E 55  41 4C 20 44 4F 45 53 20  |NCE .ANUAL DOES |
000018A0: 4E 4F 54 20 48 41 56 45  20 41 20 50 41 47 45 20  |NOT HAVE A PAGE |
000018B0: 44 45 53 43 52 49 42 49  4E 47 20 54 48 45 20 4D  |DESCRIBING THE M|
000018C0: 41 43 52 4F 53 20 57 45  20 55 53 45 20 49 4E 20  |ACROS WE USE IN |
000018D0: 54 48 45 20 53 4F 55 52  43 45 20 4C 49 53 54 49  |THE SOURCE LISTI|
000018E0: 4E 47 53 2E 20 C8 45 52  45 20 41 52 45 20 54 48  |NGS. .ERE ARE TH|
000018F0: 45 20 35 20 4D 4F 53 54  20 50 4F 50 55 4C 41 52  |E 5 MOST POPULAR|
00001900: 3A 0D 0D 2A 2A 2A 20 CC  4F 41 44 C2 20 2A 2A 2A  |:..*** .OAD. ***|
00001910: 0D 0D CC 4F 41 44 C2 20  49 53 20 55 53 45 44 20  |...OAD. IS USED |
00001920: 54 4F 20 53 54 55 46 46  20 41 20 43 4F 4E 53 54  |TO STUFF A CONST|
00001930: 41 4E 54 20 56 41 4C 55  45 20 49 4E 54 4F 20 41  |ANT VALUE INTO A|
00001940: 20 53 49 4E 47 4C 45 2D  42 59 54 45 20 4D 45 4D  | SINGLE-BYTE MEM|
00001950: 4F 52 59 20 4C 4F 43 41  54 49 4F 4E 2E 0D 0D 2E  |ORY LOCATION....|
00001960: 4D 41 43 52 4F 20 CC 4F  41 44 C2 20 41 44 44 52  |MACRO .OAD. ADDR|
00001970: 2C 56 41 4C 55 45 0D 20  20 20 20 20 20 20 4C 44  |,VALUE.       LD|
00001980: 41 20 20 20 23 56 41 4C  55 45 0D 20 20 20 20 20  |A   #VALUE.     |
00001990: 20 20 53 54 41 20 20 20  41 44 44 52 20 2E 45 4E  |  STA   ADDR .EN|
000019A0: 44 4D 0D 0D 53 41 4D 50  4C 45 20 55 53 41 47 45  |DM..SAMPLE USAGE|
000019B0: 53 3A 0D 0D 0D 20 20 20  20 20 20 20 CC 4F 41 44  |S:...       .OAD|
000019C0: C2 20 52 30 C8 2C 23 35  32 0D 20 20 20 20 20 20  |. R0.,#52.      |
000019D0: 20 CC 4F 41 44 C2 20 24  30 30 30 31 2C 23 24 33  | .OAD. $0001,#$3|
000019E0: 35 0D 20 20 20 20 20 20  20 CC 4F 41 44 C2 20 4D  |5.       .OAD. M|
000019F0: 4F 55 53 45 D9 D0 4F 53  49 54 49 4F 4E 2C 23 33  |OUSE..OSITION,#3|
00001A00: 34 0D 0D 2A 2A 2A 20 CC  4F 41 44 D7 20 2A 2A 2A  |4..*** .OAD. ***|
00001A10: 0D 0D CC 4F 41 44 D7 20  49 53 20 55 53 45 44 20  |...OAD. IS USED |
00001A20: 54 4F 20 53 54 55 46 46  20 41 20 57 4F 52 44 20  |TO STUFF A WORD |
00001A30: 43 4F 4E 53 54 41 4E 54  20 49 4E 54 4F 20 41 20  |CONSTANT INTO A |
00001A40: 57 4F 52 44 20 28 54 57  4F 20 53 45 51 55 45 4E  |WORD (TWO SEQUEN|
00001A50: 54 49 41 4C 20 42 59 54  45 53 29 20 4D 45 4D 4F  |TIAL BYTES) MEMO|
00001A60: 52 59 20 4C 4F 43 41 54  49 4F 4E 2E 0D 0D 2E 4D  |RY LOCATION....M|
00001A70: 41 43 52 4F 20 20 CC 4F  41 44 D7 20 41 44 44 52  |ACRO  .OAD. ADDR|
00001A80: 2C 56 41 4C 55 45 0D 20  20 20 20 20 20 20 20 4C  |,VALUE.        L|
00001A90: 44 41 20 20 20 23 5B 56  41 4C 55 45 0D 20 20 20  |DA   #[VALUE.   |
00001AA0: 20 20 20 20 20 53 54 41  20 20 20 41 44 44 52 0D  |     STA   ADDR.|
00001AB0: 20 20 20 20 20 20 20 20  4C 44 41 20 20 20 23 5D  |        LDA   #]|
00001AC0: 56 41 4C 55 45 0D 20 20  20 20 20 20 20 20 53 54  |VALUE.        ST|
00001AD0: 41 20 20 20 41 44 44 52  2B 31 20 2E 45 4E 44 4D  |A   ADDR+1 .ENDM|
00001AE0: 0D 0D CE 4F 54 45 20 54  48 41 54 20 54 48 45 20  |...OTE THAT THE |
00001AF0: 5B 20 43 48 41 52 20 49  53 20 55 53 45 44 20 54  |[ CHAR IS USED T|
00001B00: 4F 20 47 45 54 20 54 48  45 20 4C 4F 57 20 42 59  |O GET THE LOW BY|
00001B10: 54 45 20 56 41 4C 55 45  20 4F 46 20 41 20 57 4F  |TE VALUE OF A WO|
00001B20: 52 44 20 43 4F 4E 53 54  41 4E 54 2C 20 41 4E 44  |RD CONSTANT, AND|
00001B30: 20 5D 20 49 53 20 55 53  45 44 20 54 4F 20 47 45  | ] IS USED TO GE|
00001B40: 54 20 54 48 45 20 48 49  47 48 20 42 59 54 45 20  |T THE HIGH BYTE |
00001B50: 56 41 4C 55 45 2E 2E 2E  0D 0D D3 41 4D 50 4C 45  |VALUE......AMPLE|
00001B60: 20 55 53 41 47 45 3A 20  20 CC 4F 41 44 D7 20 52  | USAGE:  .OAD. R|
00001B70: 30 2C 23 24 34 30 30 30  0D 0D 2A 2A 2A 20 CD 4F  |0,#$4000..*** .O|
00001B80: 56 45 C2 20 2A 2A 2A 0D  0D CD 4F 56 45 C2 20 49  |VE. ***...OVE. I|
00001B90: 53 20 55 53 45 44 20 54  4F 20 43 4F 50 59 20 44  |S USED TO COPY D|
00001BA0: 41 54 41 20 46 52 4F 4D  20 4F 4E 45 20 4D 45 4D  |ATA FROM ONE MEM|
00001BB0: 4F 52 59 20 4C 4F 43 41  54 49 4F 4E 20 54 4F 20  |ORY LOCATION TO |
00001BC0: 41 4E 4F 54 48 45 52 2E  0D 0D 2E 4D 41 43 52 4F  |ANOTHER....MACRO|
00001BD0: 20 CD 4F 56 45 C2 20 53  4F 55 52 43 45 2C 44 45  | .OVE. SOURCE,DE|
00001BE0: 53 54 0D 20 20 20 20 20  20 20 4C 44 41 20 20 20  |ST.       LDA   |
00001BF0: 53 4F 55 52 43 45 0D 20  20 20 20 20 20 20 53 54  |SOURCE.       ST|
00001C00: 41 20 20 20 44 45 53 54  20 2E 45 4E 44 4D 0D 0D  |A   DEST .ENDM..|
00001C10: D3 41 4D 50 4C 45 20 55  53 41 47 45 3A 0D 20 20  |.AMPLE USAGE:.  |
00001C20: 20 20 20 20 20 CD 4F 56  45 C2 20 52 30 C8 2C 52  |     .OVE. R0.,R|
00001C30: 32 C8 20 20 20 3B 53 45  54 20 52 32 C8 3D 52 30  |2.   ;SET R2.=R0|
00001C40: C8 0D 0D 2A 2A 2A 20 CD  4F 56 45 D7 20 2A 2A 2A  |...*** .OVE. ***|
00001C50: 0D 0D D3 41 4D 45 20 41  53 20 CD 4F 56 45 C2 2C  |...AME AS .OVE.,|
00001C60: 20 42 55 54 20 43 4F 50  49 45 53 20 41 20 57 4F  | BUT COPIES A WO|
00001C70: 52 44 2E 0D 0D 2E 4D 41  43 52 4F 20 CD 4F 56 45  |RD....MACRO .OVE|
00001C80: D7 20 53 4F 55 52 43 45  2C 44 45 53 54 0D 20 20  |. SOURCE,DEST.  |
00001C90: 20 20 20 20 20 4C 44 41  20 20 20 53 4F 55 52 43  |     LDA   SOURC|
00001CA0: 45 0D 20 20 20 20 20 20  20 53 54 41 20 20 20 44  |E.       STA   D|
00001CB0: 45 53 54 0D 20 20 20 20  20 20 20 4C 44 41 20 20  |EST.       LDA  |
00001CC0: 20 53 4F 55 52 43 45 2B  31 0D 20 20 20 20 20 20  | SOURCE+1.      |
00001CD0: 20 53 54 41 20 20 20 44  45 53 54 2B 31 20 2E 45  | STA   DEST+1 .E|
00001CE0: 4E 44 4D 0D 0D D0 D2 C7  D4 CF C7 C5 CF D3 20 28  |NDM........... (|
00001CF0: C3 48 41 50 54 45 52 20  33 29 20 C3 4F 52 52 45  |.HAPTER 3) .ORRE|
00001D00: 43 54 49 4F 4E 53 3A 0D  0D D3 45 56 45 52 41 4C  |CTIONS:...EVERAL|
00001D10: 20 4F 46 20 59 4F 55 20  48 41 56 45 20 4E 4F 54  | OF YOU HAVE NOT|
00001D20: 49 43 45 44 20 54 48 41  54 20 54 48 45 20 D0 D2  |ICED THAT THE ..|
00001D30: C7 D4 CF C7 C5 CF D3 20  55 54 49 4C 49 54 59 20  |....... UTILITY |
00001D40: 44 45 53 43 52 49 42 45  44 20 49 4E 20 43 48 41  |DESCRIBED IN CHA|
00001D50: 50 54 45 52 20 33 20 44  4F 45 53 20 4E 4F 54 20  |PTER 3 DOES NOT |
00001D60: 57 4F 52 4B 2E 20 D7 49  54 48 20 54 48 45 20 46  |WORK. .ITH THE F|
00001D70: 4F 4C 4C 4F 57 49 4E 47  20 43 4F 52 52 45 43 54  |OLLOWING CORRECT|
00001D80: 49 4F 4E 53 2C 20 59 4F  55 20 53 48 4F 55 4C 44  |IONS, YOU SHOULD|
00001D90: 20 48 41 56 45 20 4E 4F  20 50 52 4F 42 4C 45 4D  | HAVE NO PROBLEM|
00001DA0: 20 57 49 54 48 20 49 54  2E 0D 0D CF 4E 20 50 41  | WITH IT....N PA|
00001DB0: 47 45 20 34 38 2C 20 52  45 50 4C 41 43 45 20 54  |GE 48, REPLACE T|
00001DC0: 48 45 20 22 50 53 45 43  54 20 34 30 30 22 20 57  |HE "PSECT 400" W|
00001DD0: 49 54 48 3A 0D 0D 2E 50  53 45 43 54 20 24 33 30  |ITH:...PSECT $30|
00001DE0: 34 20 3B D4 48 45 20 46  49 4C 45 48 45 41 44 45  |4 ;.HE FILEHEADE|
00001DF0: 52 20 44 4F 45 53 20 4E  4F 54 20 41 43 54 55 41  |R DOES NOT ACTUA|
00001E00: 4C 4C 59 20 53 54 41 52  54 20 41 54 20 24 33 30  |LLY START AT $30|
00001E10: 34 3B 20 54 48 49 53 20  50 53 45 43 54 20 49 53  |4; THIS PSECT IS|
00001E20: 20 4E 45 43 45 53 53 41  52 59 20 53 4F 20 54 48  | NECESSARY SO TH|
00001E30: 41 54 20 54 48 45 20 46  49 4C 45 48 45 41 44 45  |AT THE FILEHEADE|
00001E40: 52 20 4F 43 43 55 50 49  45 53 20 54 48 45 20 46  |R OCCUPIES THE F|
00001E50: 49 52 53 54 20 32 35 32  20 42 59 54 45 53 20 4F  |IRST 252 BYTES O|
00001E60: 46 20 54 48 45 20 D0 D2  C7 20 46 49 4C 45 20 57  |F THE ... FILE W|
00001E70: 48 49 43 48 20 59 4F 55  52 20 41 53 53 45 4D 42  |HICH YOUR ASSEMB|
00001E80: 4C 45 52 20 43 52 45 41  54 45 53 2E 0D 0D D4 48  |LER CREATES....H|
00001E90: 45 20 43 4F 4D 4D 45 4E  54 53 20 42 45 4C 4F 57  |E COMMENTS BELOW|
00001EA0: 20 22 C6 49 4C 45 C8 45  41 44 45 52 22 20 53 48  | ".ILE.EADER" SH|
00001EB0: 4F 55 4C 44 20 52 45 41  44 3A 0D 0D 3B D4 48 45  |OULD READ:..;.HE|
00001EC0: 20 46 49 52 53 54 20 46  4F 55 52 20 42 59 54 45  | FIRST FOUR BYTE|
00001ED0: 53 20 4F 46 20 54 48 45  20 46 49 4C 45 48 45 41  |S OF THE FILEHEA|
00001EE0: 44 45 52 20 57 49 4C 4C  20 42 45 20 57 52 49 54  |DER WILL BE WRIT|
00001EF0: 54 45 4E 20 54 4F 20 54  48 45 20 48 45 41 44 45  |TEN TO THE HEADE|
00001F00: 52 20 42 4C 4F 43 4B 20  42 59 20 54 48 45 20 D0  |R BLOCK BY THE .|
00001F10: D2 C7 D4 CF C7 C5 CF D3  20 42 41 53 49 43 20 50  |........ BASIC P|
00001F20: 52 4F 47 52 41 4D 20 44  55 52 49 4E 47 20 43 4F  |ROGRAM DURING CO|
00001F30: 4E 56 45 52 53 49 4F 4E  2E 20 C6 4F 52 20 59 4F  |NVERSION. .OR YO|
00001F40: 55 52 20 49 4E 46 4F 52  4D 41 54 49 4F 4E 2C 20  |UR INFORMATION, |
00001F50: 54 48 45 20 46 49 52 53  54 20 46 4F 55 52 20 42  |THE FIRST FOUR B|
00001F60: 59 54 45 53 20 57 49 4C  4C 20 43 4F 4E 54 41 49  |YTES WILL CONTAI|
00001F70: 4E 3A 20 0D 0D 3B 20 20  20 20 20 2E 42 59 54 45  |N: ..;     .BYTE|
00001F80: 20 24 30 30 2C 24 46 46  20 20 20 3B 4E 55 4C 4C  | $00,$FF   ;NULL|
00001F90: 20 50 4F 49 4E 54 45 52  20 0D 20 20 20 20 20 20  | POINTER .      |
00001FA0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001FB0: 3B 54 4F 20 4E 45 58 54  20 42 4C 4F 43 4B 20 0D  |;TO NEXT BLOCK .|
00001FC0: 3B 20 20 20 20 20 2E 42  59 54 45 20 33 2C 32 31  |;     .BYTE 3,21|
00001FD0: 20 20 20 20 20 20 3B 49  43 4F 4E 20 57 49 44 54  |      ;ICON WIDT|
00001FE0: 48 20 41 4E 44 20 0D 20  20 20 20 20 20 20 20 20  |H AND .         |
00001FF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 3B 48 45  |             ;HE|
00002000: 49 47 48 54 0D 0D D4 48  45 4E 20 54 48 45 53 45  |IGHT...HEN THESE|
00002010: 20 43 4F 4D 4D 45 4E 54  53 20 46 4F 4C 4C 4F 57  | COMMENTS FOLLOW|
00002020: 3A 0D 0D 3B D4 48 45 20  52 45 53 54 20 4F 46 20  |:..;.HE REST OF |
00002030: 54 48 45 20 48 45 41 44  45 52 20 57 49 4C 4C 20  |THE HEADER WILL |
00002040: 45 4E 44 20 55 50 20 49  4E 20 42 59 54 45 53 20  |END UP IN BYTES |
00002050: 24 30 34 2D 24 46 46 20  4F 46 20 54 48 45 20 46  |$04-$FF OF THE F|
00002060: 49 52 53 54 20 42 4C 4F  43 4B 20 4F 46 20 54 48  |IRST BLOCK OF TH|
00002070: 45 20 D0 D2 C7 20 46 49  4C 45 2E 20 D7 48 45 4E  |E ... FILE. .HEN|
00002080: 20 54 48 49 53 20 46 49  4C 45 20 49 53 20 43 4F  | THIS FILE IS CO|
00002090: 4E 56 45 52 54 45 44 2C  20 54 48 49 53 20 46 49  |NVERTED, THIS FI|
000020A0: 52 53 54 20 42 4C 4F 43  4B 20 57 49 4C 4C 20 42  |RST BLOCK WILL B|
000020B0: 45 43 4F 4D 45 20 54 48  45 20 50 52 4F 47 52 41  |ECOME THE PROGRA|
000020C0: 4D 27 53 20 48 45 41 44  45 52 20 42 4C 4F 43 4B  |M'S HEADER BLOCK|
000020D0: 2C 20 41 4E 44 20 54 48  45 20 48 45 41 44 45 52  |, AND THE HEADER|
000020E0: 20 49 4E 46 4F 52 4D 41  54 49 4F 4E 20 46 52 4F  | INFORMATION FRO|
000020F0: 4D 20 24 30 34 20 54 4F  20 24 46 46 20 49 4E 20  |M $04 TO $FF IN |
00002100: 54 48 45 20 42 4C 4F 43  4B 20 57 49 4C 4C 20 41  |THE BLOCK WILL A|
00002110: 4C 52 45 41 44 59 20 42  45 20 49 4E 20 54 48 45  |LREADY BE IN THE|
00002120: 20 43 4F 52 52 45 43 54  20 50 4C 41 43 45 2E 0D  | CORRECT PLACE..|
00002130: 0D D4 48 45 20 52 45 53  54 20 4F 46 20 54 48 45  |..HE REST OF THE|
00002140: 20 48 45 41 44 45 52 20  46 52 4F 4D 20 D0 34 38  | HEADER FROM .48|
00002150: 20 46 4F 4C 4C 4F 57 53  20 46 52 4F 4D 20 48 45  | FOLLOWS FROM HE|
00002160: 52 45 2C 20 53 54 41 52  54 49 4E 47 20 57 49 54  |RE, STARTING WIT|
00002170: 48 20 54 48 45 20 2E 42  59 54 45 20 28 24 38 30  |H THE .BYTE ($80|
00002180: 2B 36 33 29 20 4C 49 4E  45 20 41 4E 44 20 45 4E  |+63) LINE AND EN|
00002190: 44 49 4E 47 20 57 49 54  48 20 54 48 45 20 2E 42  |DING WITH THE .B|
000021A0: 59 54 45 20 30 2C 30 2C  30 2C 30 20 4C 49 4E 45  |YTE 0,0,0,0 LINE|
000021B0: 2E 20 D4 48 45 4E 20 52  45 50 4C 41 43 45 20 45  |. .HEN REPLACE E|
000021C0: 56 45 52 59 54 48 49 4E  47 20 4F 4E 20 54 48 45  |VERYTHING ON THE|
000021D0: 20 50 41 47 45 20 42 45  4C 4F 57 20 54 48 41 54  | PAGE BELOW THAT|
000021E0: 20 4C 49 4E 45 20 57 49  54 48 20 54 48 45 20 46  | LINE WITH THE F|
000021F0: 4F 4C 4C 4F 57 49 4E 47  3A 0D 0D 3B 54 48 45 20  |OLLOWING:..;THE |
00002200: 41 53 53 45 4D 42 4C 45  52 20 53 48 4F 55 4C 44  |ASSEMBLER SHOULD|
00002210: 20 46 49 4C 4C 20 41 4E  59 20 46 52 45 45 20 53  | FILL ANY FREE S|
00002220: 50 41 43 45 20 49 4E 20  48 45 52 45 20 57 49 54  |PACE IN HERE WIT|
00002230: 48 20 24 30 30 27 53 2C  20 55 4E 54 49 4C 20 54  |H $00'S, UNTIL T|
00002240: 48 45 20 4C 4F 43 41 54  49 4F 4E 20 43 4F 55 4E  |HE LOCATION COUN|
00002250: 54 45 52 20 45 51 55 41  4C 53 20 24 34 30 30 2E  |TER EQUALS $400.|
00002260: 0D 0D 2E 50 53 45 43 54  20 24 34 30 30 20 20 20  |...PSECT $400   |
00002270: 20 3B D4 48 45 20 43 4F  44 45 20 46 4F 4C 4C 4F  | ;.HE CODE FOLLO|
00002280: 57 49 4E 47 20 54 48 49  53 20 50 53 45 43 54 20  |WING THIS PSECT |
00002290: 57 49 4C 4C 20 42 45 20  57 52 49 54 54 45 4E 20  |WILL BE WRITTEN |
000022A0: 49 4E 54 4F 20 42 4C 4F  43 4B 20 32 20 4F 46 20  |INTO BLOCK 2 OF |
000022B0: 54 48 45 20 D0 D2 C7 20  46 49 4C 45 2E 0D 0D C9  |THE ... FILE....|
000022C0: 4E 49 54 C3 4F 44 45 3A  0D 20 20 20 20 20 20 4C  |NIT.ODE:.      L|
000022D0: 44 41 20 23 32 31 20 20  20 20 3B 48 45 52 45 20  |DA #21    ;HERE |
000022E0: 41 52 45 20 54 57 4F 20  53 41 4D 50 4C 45 0D 20  |ARE TWO SAMPLE. |
000022F0: 20 20 20 20 20 53 54 41  20 52 30 CC 20 20 20 20  |     STA R0.    |
00002300: 3B 20 4C 49 4E 45 53 2E  20 C3 48 41 4E 47 45 20  |; LINES. .HANGE |
00002310: 54 48 45 53 45 2E 0D 0D  3B 52 45 53 54 20 4F 46  |THESE...;REST OF|
00002320: 20 41 50 50 4C 49 43 41  54 49 4F 4E 20 43 4F 44  | APPLICATION COD|
00002330: 45 20 47 4F 45 53 20 48  45 52 45 0D 0D C5 4E 44  |E GOES HERE...ND|
00002340: C3 4F 44 45 3A 20 20 20  3B D4 48 49 53 20 4C 41  |.ODE:   ;.HIS LA|
00002350: 42 45 4C 20 49 53 20 55  53 45 20 42 59 20 54 48  |BEL IS USE BY TH|
00002360: 45 20 48 45 41 44 45 52  20 42 4C 4F 43 4B 20 54  |E HEADER BLOCK T|
00002370: 4F 20 53 54 4F 52 45 20  54 48 45 20 45 4E 44 49  |O STORE THE ENDI|
00002380: 4E 47 20 41 44 44 52 45  53 53 20 4F 46 20 54 48  |NG ADDRESS OF TH|
00002390: 45 20 41 50 50 4C 49 43  41 54 49 4F 4E 20 43 4F  |E APPLICATION CO|
000023A0: 44 45 2E 0D 0D D4 C8 C9  D3 20 C3 CF CE C3 CC D5  |DE....... ......|
000023B0: C4 C5 D3 20 54 48 45 20  43 48 41 4E 47 45 53 20  |... THE CHANGES |
000023C0: 54 4F 20 50 41 47 45 20  34 38 2E 20 D4 48 45 20  |TO PAGE 48. .HE |
000023D0: 4F 4E 4C 59 20 4F 54 48  45 52 20 4E 45 43 45 53  |ONLY OTHER NECES|
000023E0: 53 41 52 59 20 43 48 41  4E 47 45 53 20 41 52 45  |SARY CHANGES ARE|
000023F0: 20 49 4E 20 54 48 45 20  D0 D2 C7 D4 CF C7 C5 CF  | IN THE ........|
00002400: D3 20 42 41 53 49 43 20  50 52 4F 47 52 41 4D 2D  |. BASIC PROGRAM-|
00002410: 20 53 45 45 20 4D 45 53  53 41 47 45 20 50 41 52  | SEE MESSAGE PAR|
00002420: 54 20 32 2E 2E 2E 0D 0D  CE 4F 57 20 54 48 41 54  |T 2......OW THAT|
00002430: 20 57 45 20 48 41 56 45  20 43 4F 52 52 45 43 54  | WE HAVE CORRECT|
00002440: 45 44 20 54 48 45 20 48  45 41 44 45 52 20 42 4C  |ED THE HEADER BL|
00002450: 4F 43 4B 20 4F 4E 20 50  41 47 45 20 34 38 2C 20  |OCK ON PAGE 48, |
00002460: 57 45 20 4E 45 45 44 20  54 4F 20 43 48 41 4E 47  |WE NEED TO CHANG|
00002470: 45 20 53 45 56 45 52 41  4C 20 4C 49 4E 45 53 20  |E SEVERAL LINES |
00002480: 4F 46 20 54 48 45 20 D0  D2 C7 D4 CF C7 C5 CF D3  |OF THE .........|
00002490: 20 42 41 53 49 43 20 50  52 4F 47 52 41 4D 20 57  | BASIC PROGRAM W|
000024A0: 48 49 43 48 20 49 53 20  4C 49 53 54 45 44 20 4F  |HICH IS LISTED O|
000024B0: 4E 20 50 41 47 45 53 20  35 30 2D 35 32 2E 20 D2  |N PAGES 50-52. .|
000024C0: 45 50 4C 41 43 45 20 54  48 45 20 46 4F 4C 4C 4F  |EPLACE THE FOLLO|
000024D0: 57 49 4E 47 20 4C 49 4E  45 53 20 57 49 54 48 20  |WING LINES WITH |
000024E0: 54 48 45 20 4C 49 4E 45  53 20 4C 49 53 54 45 44  |THE LINES LISTED|
000024F0: 20 42 45 4C 4F 57 3A 0D  0D 38 30 20 49 4E 50 55  | BELOW:..80 INPU|
00002500: 54 20 22 48 4F 55 52 20  20 20 20 20 20 20 28 45  |T "HOUR       (E|
00002510: 58 3A 20 31 34 29 22 3B  C8 0D 0D 31 38 30 20 D4  |X: 14)";...180 .|
00002520: 24 3D C8 D4 24 3A D3 24  3D C8 D3 24 3A 47 4F 53  |$=..$:.$=..$:GOS|
00002530: 55 42 20 31 30 30 30 0D  0D 32 31 30 20 46 4F 52  |UB 1000..210 FOR|
00002540: 20 C9 3D 32 20 54 4F 20  36 38 0D 0D 33 31 30 20  | .=2 TO 68..310 |
00002550: 46 4F 52 20 C9 3D 30 20  54 4F 20 28 33 32 2A C5  |FOR .=0 TO (32*.|
00002560: 29 2B 32 0D 0D C4 C5 CC  C5 D4 C5 20 CC C9 CE C5  |)+2........ ....|
00002570: 20 32 34 30 20 28 32 34  30 20 47 45 54 23 32 2C  | 240 (240 GET#2,|
00002580: 43 54 24 29 0D 0D CD C1  CB C5 20 D3 D5 D2 C5 20  |CT$)...... .... |
00002590: CC C9 CE C5 20 33 30 35  30 20 D2 C5 C1 C4 D3 3A  |.... 3050 .....:|
000025A0: 20 33 30 35 30 20 46 4F  52 20 C9 3D C9 20 54 4F  | 3050 FOR .=. TO|
000025B0: 20 33 31 0D 0D 0D 0D 0D                           | 31.....        |
                         ....           
        GEOS CONVERT UTILITY FILE STRUCT
URE..THE GEOS CONVERT PROGRAM IS USED TO
 CONVERT GEOS VLIR AND SEQ STRUCTURE FIL
ES TO COMMODORE SEQ STRUCTURE FILES. WIT
HIN THE COMMODORE SEQ FILE WHICH IS CREA
TED, ALL OF THE GEOS-RELATED INFORMATION
 ABOUT THE FILE IS CONTAINED. THIS INCLU
DES THE FILE'S:... - DIRECTORY ENTRY. - 
HEADER BLOCK. - INDEX TABLE (IF FILE IS 
VLIR). - DATA BLOCKS..CONVERT ALSO WILL 
CONVERT THESE "GEOS FORMAT IN COMMODORE 
SEQ" FILES BACK TO THEIR ORIGINAL FORM..
.WHETHER CONVERT IS PROCESSING A GEOS VL
IR OR SEQ FILE, THE FIRST TWO BLOCKS OF 
THE RESULTING COMMODORE SEQ FILE CONTAIN
 THE SAME INFORMATION:..BLOCK 1: BYTES 0
 AND 1 CONTAIN STANDARD.         NEXT TR
ACK AND SECTOR POINTERS.         (NTS). 
        BYTES 2 TO 31 CONTAIN THE.      
   FILE'S DIRECTORY ENTRY, WITH.        
 THE FILE'S ORIGINAL NAME AND.         T
IME STAMP...BLOCK 2: BYTES 0 AND 1: NTS 
POINTER.         BYTES 2 TO 255: BYTES 2
 TO 255.         OF THE FILE'S HEADER BL
OCK...WHEN CONVERTING GEOS SEQ FILES, TH
E REST OF THE BLOCKS IN THE RESULTING CO
MMODORE SEQ FILE ARE THE DATA BLOCKS FRO
M THE GEOS SEQ FILE...BLOCKS 3, 4 ETC:. 
        BYTES 0 AND 1: NTS POINTER.     
    BYTES 2 TO 255: BYTES 2 TO 255.     
    OF BLOCK FROM ORIGINAL GEOS.        
 SEQ FILE...LAST BLOCK:.         BYTE 0 
= 0.         BYTE 1 = POINTER TO LAST BY
TE.          USED IN THIS BLOCK (=$02 TO
.          $FF)..WHEN CONVERTING GEOS VL
IR FILES, THE THIRD BLOCK IN THE RESULTI
NG COMMODORE SEQ FILE CONTAINS AN INDEX 
TABLE FOR THE FILE:..BLOCK 3:  BYTES 0 A
ND 1: NTS POINTER.          BYTE 2: NUMB
ER OF BLOCKS IN.                   VLIR 
RECORD #0.          BYTE 3: NUMBER OF BY
TES IN.               LAST BLOCK OF RECO
RD #0.          BYTES 4,5: # BLOCKS/BYTE
S.                 IN RECORD #1.        
  ...AND SO ON UNTIL:.          BYTES 25
4 AND 255: NUMBER OF.            BLOCKS/
BYTES FOR RECORD#126.IF ONE OF THE BLOCK
/BYTE PAIRS IS (0,0), THEN THE RECORD DO
ES NOT EXIST. IF A PAIR IS ($00,$FF) THE
N THE RECORD IS EMPTY. THE REMAINING BLO
CKS IN THE COMMODORE SEQ FILE CONTAIN AL
L OF THE VLIR RECORDS, APPENDED END-TO-E
ND, STARTING WITH THE FIRST EXISTING REC
ORD (USUALLY RECORD #0). ADDING UP ALL O
F THE "NUMBER OF BLOCKS" ENTRIES IN THE 
THIRD BLOCK WILL GIVE YOU THE TOTAL NUMB
ER OF BLOCK WHICH REMAIN...THUS IF THE V
LIR FILE HAS TWO BLOCKS IN RECORD #0, ON
E BLOCK IN RECORD #4, AND NULL POINTERS 
(NO BLOCKS) FOR ALL OTHER RECORDS, THEN 
THE RESULTING COMMODORE SEQ FILE WILL CO
NTAIN: ..BLOCK 1:  DIRECTORY ENTRY .BLOC
K 2:  FILE HEADER .BLOCK 3:  BLOCKS/BYTE
S PER RECORD .          TABLE .BLOCK 4: 
 BLOCK #1 OF RECORD #0 .BLOCK 5:  BLOCK 
#2 OF RECORD #0 .BLOCK 6:  BLOCK #1 OF R
ECORD #4..NOTE THAT THE CONVERSION PROCE
SS DOES NOT CREATE A NEW FILE, IT SIMPLY
 MODIFIES THE EXISTING GEOS VLIR OR SEQ 
FILE SO THAT IT CONFORMS TO THE FORMAT O
F A COMMODORE SEQ FILE. USING A GEOS VLI
R FILE AS AN EXAMPLE, THIS PROCESS INVOL
VES:..1) CREATING A NEW BLOCK TO CONTAIN
 THE FILE'S DIRECTORY ENTRY, CHANGING TH
E EXISTING DIRECTORY ENTRY SO THAT THE P
OINTER TO THE FILE'S FIRST BLOCK NOW POI
NTS TO THIS NEW BLOCK. THE NTS POINTER I
N THIS NEW BLOCK WILL POINT TO THE FILE'
S EXISTING HEADER BLOCK...2) CHANGING TH
E NTS POINTER IN THE BLOCK CONTAINING TH
E FILE HEADER SO THAT IT POINTS TO THE F
ILE'S INDEX TABLE BLOCK...3) CHANGING TH
E FILE'S INDEX TABLE BLOCK SO THAT IT HA
S ACCURATE "NUMBER OF BLOCKS/BYTES" INFO
RMATION FOR EACH RECORD. ALSO, THE NTS P
OINTER IN THIS BLOCK IS ALTERED TO POINT
 TO THE FIRST BLOCK OF THE FIRST RECORD 
WHICH EXISTS...4) CHANGING THE NTS POINT
ERS IN THE FIRST AND LAST BLOCKS OF EACH
 RECORD, SO THAT THE RECORDS ARE APPENDE
D INTO A STRING OF BLOCKS...ALSO, THINK 
ABOUT THE REVERSE PROCESS. CONVERT WILL 
TAKE A COMMODORE SEQ FILE WHICH COMPLETE
LY DEFINES A GEOS VLIR OR SEQ FILE AND W
ILL CONVERT IT TO THE CORRECT STRUCTURE.
 SOFTWARE DEVELOPERS MAY FIND THIS USEFU
L; IF YOU ARE USING A STANDARD COMMODORE
 ASSEMBLER WHICH CREATES COMMODORE SEQ F
ILES, THEN IF THE DATA IS SET UP RIGHT, 
CONVERT CAN BE USED TO TURN THE COMMODOR
E SEQ FILE INTO A RUNNABLE GEOS VLIR OR 
SEQ APPLICATION! WE WILL POST A NOTE IN 
THE FUTURE ABOUT HOW TO DO THIS...APPEND
IX C (P432) CORRECTIONS.....THANKS FOR J
PP AND MIKET22 FOR ALERTING ME TO SOME E
RRORS ON P432 OF THE PROG REF MANUAL:..D
ONEWITHIO SHOULD READ $C25F COPYSTRING S
HOULD READ $C265..DESK ACCESSORIES IN AP
PLICATIONS..THIS NOTE IS FOR PEOPLE WRIT
ING APPLICATIONS WHICH ALLOW THE USER TO
 RUN DESK ACCESSORIES...MOST GEOS APPLIC
ATIONS THAT HAVE BEEN WRITTEN ARE VLIR M
ODULE SWAPPING APPLICATIONS, AND SO THE 
DISK CONTAINING THE APPLICATION MUST ALW
AYS BE IN ONE OF THE ACTIVE DRIVES. THE 
CONVENTION FOR PLACEMENT OF DESK ACCESSO
RIES IS THAT THEY MUST BE ON THE APPLICA
TION DISK. THIS WAY, THE DAS WHICH APPEA
R IN THE APPLICATION'S GEOS MENU ARE ALW
AYS ACCESSIBLE. APPLICATIONS OF THIS TYP
E WHICH ALLOW THE USER TO LOAD DATA FROM
 THE OTHER DRIVE MUST KEEP TRACK OF WHIC
H DRIVE IS THE APPLICATION DRIVE. FOR EX
AMPLE, ASSUME THE APPLICATION DISK IS IN
 DRIVE A AND THE DATA DISK IS IN DRIVE B
. WHEN THE APPLICATION IS RUN FROM THE D
ESKTOP, ONE OF THE FIRST THINGS IT DOES 
IS TO READ THE DISK'S DIRECTORY, GRABBIN
G THE NAMES OF THE DAS ON THAT DISK AND 
STUFFING THEM INTO THE GEOS MENU DEFINIT
ION TABLE. THEN WHEN THE USER HAS OPENED
 A DATAFILE WHICH IS ON THE DISK IN DRIV
E B, AND HE SELECTS A DA FROM THE MENU, 
THE APPLICATION MUST CALL OPENDISK TO OP
EN DRIVE A TO RUN THE DA. WHEN THE DA FI
NISHES, THE APPLICATION MUST CALL OPENDI
SK TO RE-OPEN THE DATA DISK IN DRIVE B. 
IF THE SYSTEM ONLY HAS ONE DRIVE, THEN T
HERE IS NO PROBLEM BECAUSE THE DISK IN D
RIVE A CONTAINS THE APPLICATION, THE DAS
, AND THE DATAFILE; NO DRIVE SWITCHING I
S REQUIRED WHEN RUNNING DAS...FOR APPLIC
ATIONS WHICH RUN ENTIRELY RESIDENT IN ME
MORY (NEVER SWAPPING MODULES) YOU MIGHT 
BE TEMPTED TO ALLOW THE USER TO REMOVE T
HE DISK ON A ONE-DRIVE SYSTEM AND INSERT
 A DIFFERENT DATA DISK. APPLICATIONS SUC
H AS THE ICON EDITOR ALLOW THIS. BUT BE 
SURE THAT IF YOU ALLOW THIS CAPABILITY, 
THAT WHEN THE DA IS SELECTED AND THE APP
LICATION DISK HAS BEEN REMOVED, YOU MUST
 EITHER 1) NOT ALLOW THE DA TO RUN, OR 2
) PUT UP A DIALOG BOX REQUESTING THAT TH
E APPLICATION DISK BE INSERTED SO THAT T
HE DA CAN RUN...MACROS FOR REFERENCE MAN
UAL....YOU GUYS ARE ABSOLUTELY RIGHT! TH
E REFERENCE MANUAL DOES NOT HAVE A PAGE 
DESCRIBING THE MACROS WE USE IN THE SOUR
CE LISTINGS. HERE ARE THE 5 MOST POPULAR
:..*** LOADB ***..LOADB IS USED TO STUFF
 A CONSTANT VALUE INTO A SINGLE-BYTE MEM
ORY LOCATION....MACRO LOADB ADDR,VALUE. 
      LDA   #VALUE.       STA   ADDR .EN
DM..SAMPLE USAGES:...       LOADB R0H,#5
2.       LOADB $0001,#$35.       LOADB M
OUSEYPOSITION,#34..*** LOADW ***..LOADW 
IS USED TO STUFF A WORD CONSTANT INTO A 
WORD (TWO SEQUENTIAL BYTES) MEMORY LOCAT
ION....MACRO  LOADW ADDR,VALUE.        L
DA   #[VALUE.        STA   ADDR.        
LDA   #]VALUE.        STA   ADDR+1 .ENDM
..NOTE THAT THE [ CHAR IS USED TO GET TH
E LOW BYTE VALUE OF A WORD CONSTANT, AND
 ] IS USED TO GET THE HIGH BYTE VALUE...
..SAMPLE USAGE:  LOADW R0,#$4000..*** MO
VEB ***..MOVEB IS USED TO COPY DATA FROM
 ONE MEMORY LOCATION TO ANOTHER....MACRO
 MOVEB SOURCE,DEST.       LDA   SOURCE. 
      STA   DEST .ENDM..SAMPLE USAGE:.  
     MOVEB R0H,R2H   ;SET R2H=R0H..*** M
OVEW ***..SAME AS MOVEB, BUT COPIES A WO
RD....MACRO MOVEW SOURCE,DEST.       LDA
   SOURCE.       STA   DEST.       LDA  
 SOURCE+1.       STA   DEST+1 .ENDM..PRG
TOGEOS (CHAPTER 3) CORRECTIONS:..SEVERAL
 OF YOU HAVE NOTICED THAT THE PRGTOGEOS 
UTILITY DESCRIBED IN CHAPTER 3 DOES NOT 
WORK. WITH THE FOLLOWING CORRECTIONS, YO
U SHOULD HAVE NO PROBLEM WITH IT...ON PA
GE 48, REPLACE THE "PSECT 400" WITH:...P
SECT $304 ;THE FILEHEADER DOES NOT ACTUA
LLY START AT $304; THIS PSECT IS NECESSA
RY SO THAT THE FILEHEADER OCCUPIES THE F
IRST 252 BYTES OF THE PRG FILE WHICH YOU
R ASSEMBLER CREATES...THE COMMENTS BELOW
 "FILEHEADER" SHOULD READ:..;THE FIRST F
OUR BYTES OF THE FILEHEADER WILL BE WRIT
TEN TO THE HEADER BLOCK BY THE PRGTOGEOS
 BASIC PROGRAM DURING CONVERSION. FOR YO
UR INFORMATION, THE FIRST FOUR BYTES WIL
L CONTAIN: ..;     .BYTE $00,$FF   ;NULL
 POINTER .                      ;TO NEXT
 BLOCK .;     .BYTE 3,21      ;ICON WIDT
H AND .                      ;HEIGHT..TH
EN THESE COMMENTS FOLLOW:..;THE REST OF 
THE HEADER WILL END UP IN BYTES $04-$FF 
OF THE FIRST BLOCK OF THE PRG FILE. WHEN
 THIS FILE IS CONVERTED, THIS FIRST BLOC
K WILL BECOME THE PROGRAM'S HEADER BLOCK
, AND THE HEADER INFORMATION FROM $04 TO
 $FF IN THE BLOCK WILL ALREADY BE IN THE
 CORRECT PLACE...THE REST OF THE HEADER 
FROM P48 FOLLOWS FROM HERE, STARTING WIT
H THE .BYTE ($80+63) LINE AND ENDING WIT
H THE .BYTE 0,0,0,0 LINE. THEN REPLACE E
VERYTHING ON THE PAGE BELOW THAT LINE WI
TH THE FOLLOWING:..;THE ASSEMBLER SHOULD
 FILL ANY FREE SPACE IN HERE WITH $00'S,
 UNTIL THE LOCATION COUNTER EQUALS $400.
...PSECT $400    ;THE CODE FOLLOWING THI
S PSECT WILL BE WRITTEN INTO BLOCK 2 OF 
THE PRG FILE...INITCODE:.      LDA #21  
  ;HERE ARE TWO SAMPLE.      STA R0L    
; LINES. CHANGE THESE...;REST OF APPLICA
TION CODE GOES HERE..ENDCODE:   ;THIS LA
BEL IS USE BY THE HEADER BLOCK TO STORE 
THE ENDING ADDRESS OF THE APPLICATION CO
DE...THIS CONCLUDES THE CHANGES TO PAGE 
48. THE ONLY OTHER NECESSARY CHANGES ARE
 IN THE PRGTOGEOS BASIC PROGRAM- SEE MES
SAGE PART 2.....NOW THAT WE HAVE CORRECT
ED THE HEADER BLOCK ON PAGE 48, WE NEED 
TO CHANGE SEVERAL LINES OF THE PRGTOGEOS
 BASIC PROGRAM WHICH IS LISTED ON PAGES 
50-52. REPLACE THE FOLLOWING LINES WITH 
THE LINES LISTED BELOW:..80 INPUT "HOUR 
      (EX: 14)";H..180 T$=HT$:S$=HS$:GOS
UB 1000..210 FOR I=2 TO 68..310 FOR I=0 
TO (32*E)+2..DELETE LINE 240 (240 GET#2,
CT$)..MAKE SURE LINE 3050 READS: 3050 FO
R I=I TO 31.....
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL