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

RAM DISK.SCE

FILE INFORMATION

FILENAME(S): RAM DISK.SCE

FILE TYPE(S): SEQ

FILE SIZE: 10K

FIRST SEEN: 2025-12-01 19:06:09

APPEARS ON: 1 disk(s)

FILE HASH

444d5232c1dbf4098b5f5d7ac0d40290eccd2c36284611e00bb3c5be78135d96

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
ICE RAM DISK.SCE SEQ Icebreaker 17 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 20 20 20 20 20 20 20 20  20 20 20 20 D2 C1 CD 20  |            ... |
00000010: C4 C9 D3 CB 20 D3 CF D5  D2 C3 C5 0D 31 30 20 46  |.... .......10 F|
00000020: 4F 52 20 49 20 3D 20 31  20 54 4F 20 33 0D 32 30  |OR I = 1 TO 3.20|
00000030: 20 4F 52 47 20 34 39 31  35 32 0D 33 30 20 49 46  | ORG 49152.30 IF|
00000040: 20 49 20 3D 20 33 20 54  48 45 4E 20 4F 52 47 20  | I = 3 THEN ORG |
00000050: 34 39 31 35 32 2C 31 0D  34 30 20 44 45 46 20 46  |49152,1.40 DEF F|
00000060: 4E 20 48 28 58 29 20 3D  20 49 4E 54 28 58 2F 32  |N H(X) = INT(X/2|
00000070: 35 36 29 0D 35 30 20 44  45 46 20 46 4E 20 4C 28  |56).50 DEF FN L(|
00000080: 58 29 20 3D 20 58 20 2D  20 32 35 36 20 2A 20 46  |X) = X - 256 * F|
00000090: 4E 20 48 28 58 29 0D 36  30 20 44 49 52 42 55 46  |N H(X).60 DIRBUF|
000000A0: 46 0D 37 30 20 20 42 59  54 45 20 22 40 40 40 40  |F.70  BYTE "@@@@|
000000B0: 40 40 40 40 40 40 22 20  20 3B 52 41 4D 20 44 49  |@@@@@@"  ;RAM DI|
000000C0: 53 4B 0D 38 30 20 20 42  59 54 45 20 22 40 40 40  |SK.80  BYTE "@@@|
000000D0: 40 40 40 40 40 40 40 22  20 20 3B 44 49 52 45 43  |@@@@@@@"  ;DIREC|
000000E0: 54 4F 52 59 0D 39 30 20  20 42 59 54 45 20 22 40  |TORY.90  BYTE "@|
000000F0: 40 40 40 40 40 40 40 40  40 22 20 20 3B 46 49 4C  |@@@@@@@@@"  ;FIL|
00000100: 45 4E 41 4D 45 53 0D 31  30 30 20 42 59 54 45 20  |ENAMES.100 BYTE |
00000110: 22 40 40 40 40 40 40 40  40 40 40 22 0D 31 31 30  |"@@@@@@@@@@".110|
00000120: 20 42 59 54 45 20 22 40  40 40 40 40 40 40 40 40  | BYTE "@@@@@@@@@|
00000130: 40 22 0D 31 32 30 20 42  59 54 45 20 22 40 40 40  |@".120 BYTE "@@@|
00000140: 40 40 40 40 40 40 40 22  0D 31 33 30 20 44 49 52  |@@@@@@@".130 DIR|
00000150: 42 59 54 0D 31 34 30 20  20 42 59 54 45 20 30 2C  |BYT.140  BYTE 0,|
00000160: 30 2C 30 2C 30 2C 30 2C  30 20 3B 46 49 4C 45 20  |0,0,0,0,0 ;FILE |
00000170: 45 4E 54 52 49 45 53 0D  31 35 30 20 20 42 59 54  |ENTRIES.150  BYT|
00000180: 45 20 30 2C 30 2C 30 2C  30 2C 30 2C 30 20 3B 43  |E 0,0,0,0,0,0 ;C|
00000190: 4F 52 52 45 53 50 4F 4E  44 20 31 20 54 4F 0D 31  |ORRESPOND 1 TO.1|
000001A0: 36 30 20 20 42 59 54 45  20 30 2C 30 2C 30 2C 30  |60  BYTE 0,0,0,0|
000001B0: 2C 30 2C 30 20 3B 31 20  54 4F 20 46 49 4C 45 4E  |,0,0 ;1 TO FILEN|
000001C0: 41 4D 45 53 2C 0D 31 37  30 20 20 42 59 54 45 20  |AMES,.170  BYTE |
000001D0: 30 2C 30 2C 30 2C 30 2C  30 2C 30 20 3B 46 49 52  |0,0,0,0,0,0 ;FIR|
000001E0: 53 54 20 32 20 42 59 54  45 53 20 3D 0D 31 38 30  |ST 2 BYTES =.180|
000001F0: 20 20 42 59 54 45 20 30  2C 30 2C 30 2C 30 2C 30  |  BYTE 0,0,0,0,0|
00000200: 2C 30 20 3B 46 49 4C 45  20 4C 45 4E 47 54 48 2C  |,0 ;FILE LENGTH,|
00000210: 0D 31 39 30 20 20 42 59  54 45 20 30 2C 30 2C 30  |.190  BYTE 0,0,0|
00000220: 2C 30 2C 30 2C 30 20 3B  4E 45 58 54 20 32 20 42  |,0,0,0 ;NEXT 2 B|
00000230: 59 54 45 53 20 20 3D 0D  31 39 31 20 20 20 20 20  |YTES  =.191     |
00000240: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3B 53  |              ;S|
00000250: 54 41 52 54 49 4E 47 20  50 4F 53 2E 0D 31 39 32  |TARTING POS..192|
00000260: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000270: 20 20 20 3B 20 49 4E 20  52 41 4D 2C 20 4E 45 58  |   ; IN RAM, NEX|
00000280: 54 0D 31 39 33 20 20 20  20 20 20 20 20 20 20 20  |T.193           |
00000290: 20 20 20 20 20 20 20 20  3B 32 20 3D 20 53 54 41  |        ;2 = STA|
000002A0: 52 54 49 4E 47 20 0D 31  39 34 20 20 20 20 20 20  |RTING .194      |
000002B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 3B 50 4F  |             ;PO|
000002C0: 53 2E 20 49 4E 20 52 41  4D 20 0D 31 39 35 20 20  |S. IN RAM .195  |
000002D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002E0: 20 3B 44 49 53 4B 2E 20  D4 48 49 53 0D 31 39 36  | ;DISK. .HIS.196|
000002F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000300: 20 20 20 3B 49 53 20 54  48 45 20 53 41 4D 45 20  |   ;IS THE SAME |
00000310: 46 4F 52 0D 31 39 37 20  20 20 20 20 20 20 20 20  |FOR.197         |
00000320: 20 20 20 20 20 20 20 20  20 20 3B 41 4C 4C 20 36  |          ;ALL 6|
00000330: 20 45 4E 54 52 49 45 53  2E 0D 32 30 30 20 4E 44  | ENTRIES..200 ND|
00000340: 42 59 54 45 20 20 20 20  20 20 20 20 20 20 20 20  |BYTE            |
00000350: 3B 4E 45 58 54 20 41 56  41 49 4C 2E 20 50 4F 53  |;NEXT AVAIL. POS|
00000360: 0D 32 30 31 20 20 20 20  20 20 20 20 20 20 20 20  |.201            |
00000370: 20 20 20 20 20 20 20 3B  49 4E 20 52 41 4D 20 44  |       ;IN RAM D|
00000380: 49 53 4B 2E 0D 32 31 30  20 20 42 59 54 45 20 30  |ISK..210  BYTE 0|
00000390: 2C 31 36 30 0D 32 31 32  20 46 49 4E 45 4E 54 20  |,160.212 FINENT |
000003A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 3B 46 49  |             ;FI|
000003B0: 4E 44 20 46 49 4C 45 4E  41 4D 45 0D 32 31 34 20  |ND FILENAME.214 |
000003C0: 20 4C 44 41 20 23 30 3A  20 53 54 41 20 44 49 52  | LDA #0: STA DIR|
000003D0: 50 4F 53 20 3B 49 4E 20  44 49 52 45 43 54 4F 52  |POS ;IN DIRECTOR|
000003E0: 59 0D 32 31 35 20 20 4C  44 41 20 23 46 4E 20 4C  |Y.215  LDA #FN L|
000003F0: 28 46 49 4C 4E 41 4D 45  29 20 3B 54 48 41 54 20  |(FILNAME) ;THAT |
00000400: 49 53 20 43 4F 4E 2D 0D  32 31 36 20 20 53 54 41  |IS CON-.216  STA|
00000410: 20 32 35 31 20 20 20 20  20 20 20 20 20 20 20 20  | 251            |
00000420: 3B 54 41 49 4E 54 45 44  20 49 4E 20 54 48 45 0D  |;TAINTED IN THE.|
00000430: 32 31 38 20 20 4C 44 41  20 23 46 4E 20 48 28 46  |218  LDA #FN H(F|
00000440: 49 4C 4E 41 4D 45 29 20  3B 42 55 46 46 45 52 20  |ILNAME) ;BUFFER |
00000450: 43 41 4C 4C 45 44 0D 32  32 30 20 20 53 54 41 20  |CALLED.220  STA |
00000460: 32 35 32 20 20 20 20 20  20 20 20 20 20 20 20 3B  |252            ;|
00000470: 46 49 4C 4E 41 4D 45 2E  20 49 46 0D 32 32 34 20  |FILNAME. IF.224 |
00000480: 20 4C 44 59 20 23 30 20  20 20 20 20 20 20 20 20  | LDY #0         |
00000490: 20 20 20 20 3B 50 52 45  53 45 4E 54 20 2E 41 0D  |    ;PRESENT .A.|
000004A0: 32 32 36 20 20 4C 44 58  20 23 30 20 20 20 20 20  |226  LDX #0     |
000004B0: 20 20 20 20 20 20 20 20  3B 57 49 4C 4C 20 48 4F  |        ;WILL HO|
000004C0: 4C 44 0D 32 32 37 20 20  20 20 20 20 20 20 20 20  |LD.227          |
000004D0: 20 20 20 20 20 20 20 20  20 20 20 3B 44 49 52 2E  |           ;DIR.|
000004E0: 20 45 4E 54 52 59 0D 32  32 38 20 46 49 4E 44 4C  | ENTRY.228 FINDL|
000004F0: 50 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |P              ;|
00000500: 4E 55 4D 42 45 52 2C 49  46 20 4E 4F 54 0D 32 33  |NUMBER,IF NOT.23|
00000510: 36 20 20 4C 44 59 20 23  30 20 20 20 20 20 20 20  |6  LDY #0       |
00000520: 20 20 20 20 20 20 3B 2E  41 20 57 49 4C 4C 20 48  |      ;.A WILL H|
00000530: 4F 4C 44 0D 32 33 38 20  49 4E 46 4C 50 3A 20 4C  |OLD.238 INFLP: L|
00000540: 44 41 20 28 32 35 31 29  2C 59 20 20 3B 20 32 35  |DA (251),Y  ; 25|
00000550: 35 2E 0D 32 34 30 20 20  43 4D 50 20 44 49 52 42  |5..240  CMP DIRB|
00000560: 55 46 46 2C 58 0D 32 34  32 20 20 42 4E 45 20 49  |UFF,X.242  BNE I|
00000570: 4E 43 58 43 0D 32 34 34  20 20 49 4E 59 0D 32 34  |NCXC.244  INY.24|
00000580: 36 20 20 49 4E 58 0D 32  34 38 20 20 43 50 59 20  |6  INX.248  CPY |
00000590: 46 4C 45 4E 4E 0D 32 35  30 20 20 42 4E 45 20 49  |FLENN.250  BNE I|
000005A0: 4E 46 4C 50 0D 32 35 32  20 20 4A 4D 50 20 4D 41  |NFLP.252  JMP MA|
000005B0: 54 43 48 0D 32 35 34 20  49 4E 43 58 43 3A 20 49  |TCH.254 INCXC: I|
000005C0: 4E 43 20 44 49 52 50 4F  53 3A 20 4C 44 59 20 44  |NC DIRPOS: LDY D|
000005D0: 49 52 50 4F 53 0D 32 35  36 20 20 4C 44 41 20 23  |IRPOS.256  LDA #|
000005E0: 30 0D 32 36 30 20 41 44  44 4C 50 3A 20 43 4C 43  |0.260 ADDLP: CLC|
000005F0: 0D 32 36 32 20 20 41 44  43 20 23 31 30 0D 32 36  |.262  ADC #10.26|
00000600: 34 20 20 54 41 58 0D 32  36 36 20 20 44 45 59 0D  |4  TAX.266  DEY.|
00000610: 32 36 38 20 20 42 4E 45  20 41 44 44 4C 50 0D 32  |268  BNE ADDLP.2|
00000620: 37 30 20 20 4C 44 41 20  44 49 52 50 4F 53 3A 20  |70  LDA DIRPOS: |
00000630: 43 4D 50 20 23 36 0D 32  37 32 20 20 42 43 43 20  |CMP #6.272  BCC |
00000640: 46 49 4E 44 4C 50 0D 32  37 34 20 20 4C 44 41 20  |FINDLP.274  LDA |
00000650: 23 32 35 35 3A 20 53 54  41 20 44 49 52 50 4F 53  |#255: STA DIRPOS|
00000660: 3A 20 52 54 53 0D 32 37  36 20 4D 41 54 43 48 0D  |: RTS.276 MATCH.|
00000670: 32 37 38 20 20 4C 44 41  20 44 49 52 50 4F 53 0D  |278  LDA DIRPOS.|
00000680: 32 38 30 20 20 52 54 53  0D 32 39 30 20 46 49 4C  |280  RTS.290 FIL|
00000690: 4E 41 4D 45 3A 20 42 59  54 45 20 22 40 40 40 40  |NAME: BYTE "@@@@|
000006A0: 40 40 40 40 40 40 22 20  3B 42 55 46 46 45 52 0D  |@@@@@@" ;BUFFER.|
000006B0: 33 30 30 20 53 45 54 46  4E 4D 3A 20 4C 44 59 20  |300 SETFNM: LDY |
000006C0: 23 39 3A 20 4C 44 41 20  23 36 34 0D 33 30 31 20  |#9: LDA #64.301 |
000006D0: 46 49 4C 50 3A 20 53 54  41 20 46 49 4C 4E 41 4D  |FILP: STA FILNAM|
000006E0: 45 2C 59 3A 20 44 45 59  3A 20 42 4E 45 20 46 49  |E,Y: DEY: BNE FI|
000006F0: 4C 50 0D 33 30 32 20 4A  53 52 20 24 41 44 39 45  |LP.302 JSR $AD9E|
00000700: 20 20 20 20 3B 20 45 56  41 4C 20 45 58 50 52 45  |    ; EVAL EXPRE|
00000710: 53 53 49 4F 4E 0D 33 30  34 20 4A 53 52 20 24 42  |SSION.304 JSR $B|
00000720: 36 41 33 20 20 20 20 3B  20 47 45 54 20 53 54 52  |6A3    ; GET STR|
00000730: 49 4E 47 20 49 4E 46 4F  2E 0D 33 30 36 20 53 54  |ING INFO..306 ST|
00000740: 58 20 32 35 31 20 20 20  20 20 20 3B 50 52 45 50  |X 251      ;PREP|
00000750: 41 52 45 20 5A 50 41 47  45 20 50 54 52 0D 33 30  |ARE ZPAGE PTR.30|
00000760: 38 20 53 54 59 20 32 35  32 0D 33 31 30 20 53 54  |8 STY 252.310 ST|
00000770: 41 20 46 4C 45 4E 4E 3A  20 43 4D 50 20 23 31 30  |A FLENN: CMP #10|
00000780: 3A 20 42 43 43 20 47 43  4F 50 59 3A 0D 33 31 31  |: BCC GCOPY:.311|
00000790: 20 4C 44 41 20 23 39 3A  20 53 54 41 20 46 4C 45  | LDA #9: STA FLE|
000007A0: 4E 4E 0D 33 31 32 20 47  43 4F 50 59 3A 20 4C 44  |NN.312 GCOPY: LD|
000007B0: 59 20 46 4C 45 4E 4E 0D  33 31 34 20 43 50 59 4C  |Y FLENN.314 CPYL|
000007C0: 50 20 20 20 20 20 20 20  20 20 3B 43 4F 50 59 20  |P         ;COPY |
000007D0: 46 49 4C 45 4E 41 4D 45  20 54 4F 0D 33 31 36 20  |FILENAME TO.316 |
000007E0: 4C 44 41 20 28 32 35 31  29 2C 59 20 20 20 3B 46  |LDA (251),Y   ;F|
000007F0: 49 4C 4E 41 4D 45 20 42  55 46 46 45 52 0D 33 31  |ILNAME BUFFER.31|
00000800: 38 20 53 54 41 20 46 49  4C 4E 41 4D 45 2C 59 0D  |8 STA FILNAME,Y.|
00000810: 33 32 30 20 44 45 59 0D  33 32 34 20 42 50 4C 20  |320 DEY.324 BPL |
00000820: 43 50 59 4C 50 0D 33 34  34 20 52 54 53 0D 33 34  |CPYLP.344 RTS.34|
00000830: 36 20 46 49 4E 42 4C 45  4E 54 20 20 20 20 20 20  |6 FINBLENT      |
00000840: 20 20 20 20 3B 20 54 48  45 20 4A 4F 42 20 4F 46  |    ; THE JOB OF|
00000850: 20 54 48 49 53 0D 33 34  35 20 4C 44 41 20 23 30  | THIS.345 LDA #0|
00000860: 3A 20 53 54 41 20 54 45  4D 50 20 20 3B 20 52 4F  |: STA TEMP  ; RO|
00000870: 55 54 49 4E 45 20 49 53  20 54 4F 0D 33 34 38 20  |UTINE IS TO.348 |
00000880: 4C 44 58 20 23 30 20 20  20 20 20 20 20 20 20 20  |LDX #0          |
00000890: 20 20 3B 20 46 49 4E 44  20 54 48 45 20 4E 45 58  |  ; FIND THE NEX|
000008A0: 54 0D 33 35 30 20 46 42  4C 4C 50 20 20 20 20 20  |T.350 FBLLP     |
000008B0: 20 20 20 20 20 20 20 20  3B 20 42 4C 41 4E 4B 20  |        ; BLANK |
000008C0: 44 49 52 45 43 54 4F 52  59 0D 33 35 31 20 4C 44  |DIRECTORY.351 LD|
000008D0: 41 20 44 49 52 42 55 46  46 2C 58 20 20 20 20 20  |A DIRBUFF,X     |
000008E0: 3B 20 45 4E 54 52 59 2E  0D 33 35 32 20 43 4D 50  |; ENTRY..352 CMP|
000008F0: 20 23 36 34 20 20 20 20  20 20 20 20 20 20 20 3B  | #64           ;|
00000900: 43 4D 50 20 3D 20 40 0D  33 35 34 20 42 45 51 20  |CMP = @.354 BEQ |
00000910: 42 4C 41 4E 4B 20 20 20  20 20 20 20 20 20 3B 49  |BLANK         ;I|
00000920: 46 20 3D 20 45 4E 54 52  59 20 42 4C 41 4E 4B 0D  |F = ENTRY BLANK.|
00000930: 33 35 36 20 49 4E 43 20  54 45 4D 50 0D 33 35 37  |356 INC TEMP.357|
00000940: 20 4C 44 59 20 54 45 4D  50 3A 20 4C 44 41 20 23  | LDY TEMP: LDA #|
00000950: 30 0D 33 35 38 20 41 4C  4C 50 3A 20 43 4C 43 0D  |0.358 ALLP: CLC.|
00000960: 33 36 30 20 41 44 43 20  23 31 30 0D 33 36 32 20  |360 ADC #10.362 |
00000970: 44 45 59 0D 33 36 34 20  42 4E 45 20 41 4C 4C 50  |DEY.364 BNE ALLP|
00000980: 0D 33 36 36 20 54 41 58  0D 33 36 38 20 43 50 58  |.366 TAX.368 CPX|
00000990: 20 23 36 30 0D 33 37 30  20 42 43 43 20 46 42 4C  | #60.370 BCC FBL|
000009A0: 4C 50 0D 33 37 32 20 4C  44 41 20 23 32 35 35 3A  |LP.372 LDA #255:|
000009B0: 20 52 54 53 0D 33 37 34  20 42 4C 41 4E 4B 20 20  | RTS.374 BLANK  |
000009C0: 20 20 20 20 20 20 20 20  20 20 20 3B 20 4C 44 41  |           ; LDA|
000009D0: 20 44 49 52 45 43 54 4F  52 59 0D 33 37 36 20 4C  | DIRECTORY.376 L|
000009E0: 44 41 20 54 45 4D 50 20  20 20 20 20 20 20 20 20  |DA TEMP         |
000009F0: 20 3B 45 4E 54 52 59 20  50 4F 53 2E 20 26 0D 34  | ;ENTRY POS. &.4|
00000A00: 30 30 20 52 54 53 20 20  20 20 20 20 20 20 20 20  |00 RTS          |
00000A10: 20 20 20 20 20 3B 20 52  45 54 55 52 4E 2E 0D 34  |     ; RETURN..4|
00000A20: 30 32 20 50 55 54 4E 41  4D 20 20 20 20 20 20 20  |02 PUTNAM       |
00000A30: 20 20 20 20 3B 46 49 4C  4C 20 44 49 52 45 43 54  |    ;FILL DIRECT|
00000A40: 4F 52 59 0D 34 30 34 20  4C 44 41 20 23 30 20 20  |ORY.404 LDA #0  |
00000A50: 20 20 20 20 20 20 20 20  20 3B 45 4E 54 52 49 45  |         ;ENTRIE|
00000A60: 53 0D 34 30 35 20 4C 44  59 20 54 45 4D 50 3A 20  |S.405 LDY TEMP: |
00000A70: 43 50 59 20 23 30 20 3B  59 3D 30 20 44 4F 4E 27  |CPY #0 ;Y=0 DON'|
00000A80: 54 0D 34 30 36 20 42 45  51 20 53 54 50 55 54 20  |T.406 BEQ STPUT |
00000A90: 20 20 20 20 20 20 20 3B  45 4E 54 45 52 20 4C 4F  |       ;ENTER LO|
00000AA0: 4F 50 0D 34 30 38 20 50  55 54 41 4C 50 20 20 20  |OP.408 PUTALP   |
00000AB0: 20 20 20 3B 53 45 54 53  20 59 3D 54 4F 20 43 4F  |   ;SETS Y=TO CO|
00000AC0: 52 52 45 43 54 0D 34 30  39 20 20 20 20 20 20 20  |RRECT.409       |
00000AD0: 20 20 20 20 20 20 3B 44  49 52 42 59 54 20 4F 46  |      ;DIRBYT OF|
00000AE0: 46 53 45 54 0D 34 31 30  20 43 4C 43 20 20 20 20  |FSET.410 CLC    |
00000AF0: 20 20 20 20 20 3B 50 52  45 50 41 52 45 20 54 4F  |     ;PREPARE TO|
00000B00: 20 41 44 44 0D 34 31 32  20 41 44 43 20 23 36 20  | ADD.412 ADC #6 |
00000B10: 20 20 20 20 20 3B 41 44  44 20 36 20 54 4F 20 2E  |     ;ADD 6 TO .|
00000B20: 41 0D 34 31 34 20 44 45  59 0D 34 31 36 20 42 4E  |A.414 DEY.416 BN|
00000B30: 45 20 50 55 54 41 4C 50  0D 34 31 38 20 53 54 50  |E PUTALP.418 STP|
00000B40: 55 54 3A 20 54 41 59 20  20 3B 20 53 54 4F 52 45  |UT: TAY  ; STORE|
00000B50: 20 46 49 4C 45 20 50 41  52 41 4D 53 2E 0D 34 31  | FILE PARAMS..41|
00000B60: 39 20 4C 44 41 20 50 4C  45 4E 3A 20 53 54 41 20  |9 LDA PLEN: STA |
00000B70: 44 49 52 42 59 54 2C 59  0D 34 32 30 20 49 4E 59  |DIRBYT,Y.420 INY|
00000B80: 0D 34 32 32 20 4C 44 41  20 50 4C 45 4E 20 2B 20  |.422 LDA PLEN + |
00000B90: 31 3A 20 53 54 41 20 44  49 52 42 59 54 2C 59 0D  |1: STA DIRBYT,Y.|
00000BA0: 34 32 34 20 49 4E 59 0D  34 32 36 20 4C 44 41 20  |424 INY.426 LDA |
00000BB0: 53 54 41 52 54 3A 20 53  54 41 20 44 49 52 42 59  |START: STA DIRBY|
00000BC0: 54 2C 59 0D 34 32 38 20  49 4E 59 0D 34 33 30 20  |T,Y.428 INY.430 |
00000BD0: 4C 44 41 20 53 54 41 52  54 20 2B 20 31 3A 20 53  |LDA START + 1: S|
00000BE0: 54 41 20 44 49 52 42 59  54 2C 59 0D 34 33 32 20  |TA DIRBYT,Y.432 |
00000BF0: 49 4E 59 0D 34 33 34 20  4C 44 41 20 52 4D 53 52  |INY.434 LDA RMSR|
00000C00: 54 3A 20 53 54 41 20 44  49 52 42 59 54 2C 59 0D  |T: STA DIRBYT,Y.|
00000C10: 34 33 36 20 49 4E 59 0D  34 33 38 20 4C 44 41 20  |436 INY.438 LDA |
00000C20: 52 4D 53 52 54 20 2B 20  31 3A 20 53 54 41 20 44  |RMSRT + 1: STA D|
00000C30: 49 52 42 59 54 2C 59 0D  34 34 30 20 4C 44 41 20  |IRBYT,Y.440 LDA |
00000C40: 23 30 0D 34 34 32 20 4C  44 59 20 54 45 4D 50 0D  |#0.442 LDY TEMP.|
00000C50: 34 34 34 20 43 50 59 20  23 30 0D 34 34 36 20 42  |444 CPY #0.446 B|
00000C60: 45 51 20 53 54 46 50 54  0D 34 34 38 20 50 46 4C  |EQ STFPT.448 PFL|
00000C70: 50 20 20 20 20 20 20 3B  53 45 54 20 59 3D 54 4F  |P      ;SET Y=TO|
00000C80: 20 43 4F 52 52 45 43 54  20 44 49 52 42 55 46 46  | CORRECT DIRBUFF|
00000C90: 0D 34 35 30 20 43 4C 43  20 20 20 20 20 20 20 3B  |.450 CLC       ;|
00000CA0: 4F 46 46 53 45 54 0D 34  35 32 20 41 44 43 20 23  |OFFSET.452 ADC #|
00000CB0: 31 30 0D 34 35 34 20 44  45 59 0D 34 35 36 20 42  |10.454 DEY.456 B|
00000CC0: 4E 45 20 50 46 4C 50 0D  34 35 38 20 53 54 46 50  |NE PFLP.458 STFP|
00000CD0: 54 3A 20 4C 44 58 20 23  30 0D 34 36 30 20 54 41  |T: LDX #0.460 TA|
00000CE0: 59 0D 34 36 32 20 53 54  46 50 4C 50 3A 20 4C 44  |Y.462 STFPLP: LD|
00000CF0: 41 20 46 49 4C 4E 41 4D  45 2C 58 20 3B 41 43 54  |A FILNAME,X ;ACT|
00000D00: 55 41 4C 0D 34 36 34 20  53 54 41 20 44 49 52 42  |UAL.464 STA DIRB|
00000D10: 55 46 46 2C 59 20 20 20  20 20 20 20 20 20 3B 54  |UFF,Y         ;T|
00000D20: 52 41 4E 53 46 45 52 20  4F 46 0D 34 36 36 20 49  |RANSFER OF.466 I|
00000D30: 4E 59 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |NY              |
00000D40: 20 20 20 20 20 3B 46 49  4C 45 4E 41 4D 45 0D 34  |     ;FILENAME.4|
00000D50: 36 38 20 49 4E 58 20 20  20 20 20 20 20 20 20 20  |68 INX          |
00000D60: 20 20 20 20 20 20 20 20  20 3B 4F 43 43 55 52 53  |         ;OCCURS|
00000D70: 20 48 45 52 45 0D 34 37  30 20 43 50 58 20 46 4C  | HERE.470 CPX FL|
00000D80: 45 4E 4E 0D 34 37 32 20  42 43 43 20 53 54 46 50  |ENN.472 BCC STFP|
00000D90: 4C 50 0D 34 37 34 20 52  54 53 0D 34 37 36 20 43  |LP.474 RTS.476 C|
00000DA0: 48 46 49 4C 45 4E 0D 34  37 38 20 53 45 43 20 20  |HFILEN.478 SEC  |
00000DB0: 20 20 20 20 20 20 20 20  20 20 20 3B 43 48 45 43  |           ;CHEC|
00000DC0: 4B 20 50 52 4F 47 20 4C  45 4E 2E 0D 34 38 30 20  |K PROG LEN..480 |
00000DD0: 4C 44 41 20 45 4E 44 50  20 20 20 20 20 20 20 20  |LDA ENDP        |
00000DE0: 3B 3C 54 48 41 4E 20 38  4B 0D 34 38 32 20 53 42  |;<THAN 8K.482 SB|
00000DF0: 43 20 53 54 41 52 54 0D  34 38 34 20 53 54 41 20  |C START.484 STA |
00000E00: 50 4C 45 4E 0D 34 38 36  20 4C 44 41 20 45 4E 44  |PLEN.486 LDA END|
00000E10: 50 20 2B 20 31 0D 34 38  38 20 53 42 43 20 53 54  |P + 1.488 SBC ST|
00000E20: 41 52 54 20 2B 20 31 0D  34 39 30 20 53 54 41 20  |ART + 1.490 STA |
00000E30: 50 4C 45 4E 20 2B 20 31  0D 34 39 32 20 4C 44 41  |PLEN + 1.492 LDA|
00000E40: 20 50 4C 45 4E 20 2B 20  31 0D 34 39 34 20 43 4D  | PLEN + 1.494 CM|
00000E50: 50 20 23 24 32 30 0D 34  39 36 20 42 43 53 20 54  |P #$20.496 BCS T|
00000E60: 4F 4F 4C 4F 4E 47 20 3B  46 49 4C 45 20 54 4F 4F  |OOLONG ;FILE TOO|
00000E70: 20 4C 4F 4E 47 20 3F 20  45 52 52 4D 45 53 0D 34  | LONG ? ERRMES.4|
00000E80: 39 38 20 43 4C 43 20 20  20 20 20 20 20 20 20 20  |98 CLC          |
00000E90: 20 20 20 20 3B 53 45 54  20 45 4E 44 20 4F 46 20  |    ;SET END OF |
00000EA0: 50 52 4F 47 2E 0D 35 30  30 20 4C 44 41 20 50 4C  |PROG..500 LDA PL|
00000EB0: 45 4E 20 20 20 20 20 20  20 20 20 3B 50 4F 49 4E  |EN         ;POIN|
00000EC0: 54 45 52 0D 35 30 32 20  41 44 43 20 4E 44 42 59  |TER.502 ADC NDBY|
00000ED0: 54 45 0D 35 30 34 20 53  54 41 20 52 45 53 55 4C  |TE.504 STA RESUL|
00000EE0: 54 0D 35 30 36 20 4C 44  41 20 50 4C 45 4E 20 2B  |T.506 LDA PLEN +|
00000EF0: 20 31 0D 35 30 38 20 41  44 43 20 4E 44 42 59 54  | 1.508 ADC NDBYT|
00000F00: 45 20 2B 20 31 0D 35 31  30 20 53 54 41 20 52 45  |E + 1.510 STA RE|
00000F10: 53 55 4C 54 20 2B 20 31  0D 35 31 32 20 4C 44 41  |SULT + 1.512 LDA|
00000F20: 20 52 45 53 55 4C 54 20  2B 20 31 0D 35 31 34 20  | RESULT + 1.514 |
00000F30: 43 4D 50 20 23 24 43 30  20 20 20 20 20 3B 43 48  |CMP #$C0     ;CH|
00000F40: 45 43 4B 20 54 4F 20 4D  41 4B 45 20 53 55 52 45  |ECK TO MAKE SURE|
00000F50: 0D 35 31 36 20 42 43 53  20 54 4F 4F 4C 4F 4E 47  |.516 BCS TOOLONG|
00000F60: 20 20 3B 46 49 4C 45 20  46 49 54 53 20 49 4E 20  |  ;FILE FITS IN |
00000F70: 52 41 4D 20 44 49 53 4B  0D 35 31 38 20 4C 44 41  |RAM DISK.518 LDA|
00000F80: 20 23 30 3A 20 52 54 53  20 20 3B 4E 4F 20 45 52  | #0: RTS  ;NO ER|
00000F90: 52 4F 52 0D 35 32 30 20  54 4F 4F 4C 4F 4E 47 3A  |ROR.520 TOOLONG:|
00000FA0: 20 4C 44 41 20 23 46 4E  20 4C 28 54 4C 4F 4E 47  | LDA #FN L(TLONG|
00000FB0: 29 0D 35 32 32 20 4C 44  59 20 23 46 4E 20 48 28  |).522 LDY #FN H(|
00000FC0: 54 4C 4F 4E 47 29 0D 35  32 34 20 4A 53 52 20 24  |TLONG).524 JSR $|
00000FD0: 41 42 31 45 0D 35 32 36  20 4C 44 41 20 23 32 35  |AB1E.526 LDA #25|
00000FE0: 35 3A 20 52 54 53 20 3B  53 45 54 20 45 52 52 20  |5: RTS ;SET ERR |
00000FF0: 46 4C 41 47 20 52 54 53  0D 35 32 38 20 54 4C 4F  |FLAG RTS.528 TLO|
00001000: 4E 47 3A 20 42 59 54 45  20 22 20 20 46 49 4C 45  |NG: BYTE "  FILE|
00001010: 20 4C 45 4E 47 54 48 20  45 52 52 4F 52 20 22 2C  | LENGTH ERROR ",|
00001020: 31 33 2C 30 0D 35 33 30  20 53 45 54 52 4D 50 3A  |13,0.530 SETRMP:|
00001030: 20 4C 44 59 20 23 30 3A  20 4C 44 41 20 28 24 37  | LDY #0: LDA ($7|
00001040: 41 29 2C 59 0D 35 33 32  20 43 4D 50 20 23 34 34  |A),Y.532 CMP #44|
00001050: 20 20 20 20 20 20 3B 20  49 46 20 43 4F 4D 4D 41  |      ; IF COMMA|
00001060: 20 50 52 45 53 45 4E 54  0D 35 33 34 20 42 4E 45  | PRESENT.534 BNE|
00001070: 20 49 54 53 42 41 53 49  43 0D 35 33 36 20 4A 4D  | ITSBASIC.536 JM|
00001080: 50 20 49 54 53 4D 4C 20  20 20 20 3B 20 49 54 53  |P ITSML    ; ITS|
00001090: 20 4D 41 43 48 49 4E 45  20 4C 41 4E 47 55 41 47  | MACHINE LANGUAG|
000010A0: 45 0D 35 33 38 20 49 54  53 42 41 53 49 43 3A 20  |E.538 ITSBASIC: |
000010B0: 4C 44 41 20 34 33 3A 20  53 54 41 20 53 54 41 52  |LDA 43: STA STAR|
000010C0: 54 3A 20 53 54 41 20 42  4C 4F 43 4B 31 0D 35 33  |T: STA BLOCK1.53|
000010D0: 39 20 4C 44 41 20 34 35  3A 20 53 54 41 20 45 4E  |9 LDA 45: STA EN|
000010E0: 44 50 0D 35 34 30 20 4C  44 41 20 34 34 3A 20 53  |DP.540 LDA 44: S|
000010F0: 54 41 20 53 54 41 52 54  20 2B 20 31 3A 20 53 54  |TA START + 1: ST|
00001100: 41 20 42 4C 4F 43 4B 31  20 2B 20 31 0D 35 34 31  |A BLOCK1 + 1.541|
00001110: 20 4C 44 41 20 34 36 3A  20 53 54 41 20 45 4E 44  | LDA 46: STA END|
00001120: 50 20 2B 20 31 0D 35 34  32 20 4C 44 41 20 34 35  |P + 1.542 LDA 45|
00001130: 0D 35 34 34 20 53 45 43  20 20 20 20 20 20 20 20  |.544 SEC        |
00001140: 20 20 20 20 20 20 3B 53  45 54 20 55 50 20 50 52  |      ;SET UP PR|
00001150: 4F 50 45 52 0D 35 34 36  20 4C 44 41 20 34 35 20  |OPER.546 LDA 45 |
00001160: 20 20 20 20 20 20 20 20  20 20 3B 56 41 4C 55 45  |          ;VALUE|
00001170: 53 20 46 4F 52 0D 35 34  38 20 53 42 43 20 34 33  |S FOR.548 SBC 43|
00001180: 20 20 20 20 20 20 20 20  20 20 20 3B 4D 44 49 4E  |           ;MDIN|
00001190: 49 54 20 52 4F 55 54 49  4E 45 2E 0D 35 35 30 20  |IT ROUTINE..550 |
000011A0: 53 54 41 20 4E 55 4D 42  45 52 20 20 20 20 20 20  |STA NUMBER      |
000011B0: 20 3B 53 54 4F 52 45 20  4E 55 4D 42 45 52 0D 35  | ;STORE NUMBER.5|
000011C0: 35 32 20 4C 44 41 20 34  36 20 20 20 20 20 20 20  |52 LDA 46       |
000011D0: 20 20 20 20 3B 4F 46 20  42 59 54 45 53 20 54 4F  |    ;OF BYTES TO|
000011E0: 20 4D 4F 56 45 2E 0D 35  35 34 20 53 42 43 20 34  | MOVE..554 SBC 4|
000011F0: 34 0D 35 35 36 20 53 54  41 20 4E 55 4D 42 45 52  |4.556 STA NUMBER|
00001200: 20 2B 20 31 0D 35 35 38  20 4C 44 41 20 4E 44 42  | + 1.558 LDA NDB|
00001210: 59 54 45 20 20 20 20 20  20 20 3B 53 45 54 20 53  |YTE       ;SET S|
00001220: 54 41 52 54 20 42 4C 4F  43 4B 0D 35 36 30 20 53  |TART BLOCK.560 S|
00001230: 54 41 20 42 4C 4F 43 4B  32 0D 35 36 31 20 53 54  |TA BLOCK2.561 ST|
00001240: 41 20 52 4D 53 52 54 0D  35 36 32 20 4C 44 41 20  |A RMSRT.562 LDA |
00001250: 4E 44 42 59 54 45 20 2B  20 31 0D 35 36 34 20 53  |NDBYTE + 1.564 S|
00001260: 54 41 20 42 4C 4F 43 4B  32 20 2B 20 31 0D 35 36  |TA BLOCK2 + 1.56|
00001270: 35 20 53 54 41 20 52 4D  53 52 54 20 2B 20 31 0D  |5 STA RMSRT + 1.|
00001280: 35 36 36 20 52 54 53 20  20 20 20 20 20 20 20 20  |566 RTS         |
00001290: 20 20 20 20 3B 53 41 4D  45 20 41 53 20 41 42 4F  |    ;SAME AS ABO|
000012A0: 56 45 20 0D 35 36 38 20  49 54 53 4D 4C 20 20 20  |VE .568 ITSML   |
000012B0: 20 20 20 20 20 20 20 20  3B 45 58 43 45 50 54 20  |        ;EXCEPT |
000012C0: 46 4F 52 20 4D 2F 4C 0D  35 36 39 20 4A 53 52 20  |FOR M/L.569 JSR |
000012D0: 24 41 45 46 44 0D 35 37  30 20 4A 53 52 20 24 41  |$AEFD.570 JSR $A|
000012E0: 44 39 45 0D 35 37 32 20  4A 53 52 20 24 42 37 46  |D9E.572 JSR $B7F|
000012F0: 37 0D 35 37 34 20 53 54  59 20 53 54 41 52 54 3A  |7.574 STY START:|
00001300: 20 53 54 59 20 42 4C 4F  43 4B 31 0D 35 37 36 20  | STY BLOCK1.576 |
00001310: 53 54 41 20 53 54 41 52  54 20 2B 20 31 3A 20 53  |STA START + 1: S|
00001320: 54 41 20 42 4C 4F 43 4B  31 20 2B 20 31 0D 35 37  |TA BLOCK1 + 1.57|
00001330: 38 20 4A 53 52 20 24 41  45 46 44 0D 35 38 30 20  |8 JSR $AEFD.580 |
00001340: 4A 53 52 20 24 41 44 39  45 0D 35 38 32 20 4A 53  |JSR $AD9E.582 JS|
00001350: 52 20 24 42 37 46 37 0D  35 38 34 20 53 54 59 20  |R $B7F7.584 STY |
00001360: 45 4E 44 50 0D 35 38 36  20 53 54 41 20 45 4E 44  |ENDP.586 STA END|
00001370: 50 20 2B 20 31 0D 35 38  38 20 4C 44 41 20 45 4E  |P + 1.588 LDA EN|
00001380: 44 50 0D 35 39 30 20 53  45 43 0D 35 39 32 20 53  |DP.590 SEC.592 S|
00001390: 42 43 20 53 54 41 52 54  0D 35 39 34 20 53 54 41  |BC START.594 STA|
000013A0: 20 4E 55 4D 42 45 52 0D  35 39 36 20 4C 44 41 20  | NUMBER.596 LDA |
000013B0: 45 4E 44 50 20 2B 20 31  0D 35 39 38 20 53 42 43  |ENDP + 1.598 SBC|
000013C0: 20 53 54 41 52 54 20 2B  20 31 0D 36 30 30 20 53  | START + 1.600 S|
000013D0: 54 41 20 4E 55 4D 42 45  52 20 2B 20 31 0D 36 30  |TA NUMBER + 1.60|
000013E0: 32 20 4C 44 41 20 4E 44  42 59 54 45 0D 36 30 34  |2 LDA NDBYTE.604|
000013F0: 20 53 54 41 20 42 4C 4F  43 4B 32 3A 20 53 54 41  | STA BLOCK2: STA|
00001400: 20 52 4D 53 52 54 0D 36  30 36 20 4C 44 41 20 4E  | RMSRT.606 LDA N|
00001410: 44 42 59 54 45 20 2B 20  31 0D 36 30 38 20 53 54  |DBYTE + 1.608 ST|
00001420: 41 20 42 4C 4F 43 4B 32  20 2B 20 31 3A 20 53 54  |A BLOCK2 + 1: ST|
00001430: 41 20 52 4D 53 52 54 20  2B 20 31 0D 36 31 30 20  |A RMSRT + 1.610 |
00001440: 52 54 53 0D 38 30 30 20  52 53 41 56 0D 38 30 35  |RTS.800 RSAV.805|
00001450: 20 4A 53 52 20 53 45 54  46 4E 4D 20 20 20 3B 53  | JSR SETFNM   ;S|
00001460: 45 54 20 46 49 4C 45 4E  41 4D 45 0D 38 31 30 20  |ET FILENAME.810 |
00001470: 4A 53 52 20 46 49 4E 45  4E 54 20 20 20 3B 43 48  |JSR FINENT   ;CH|
00001480: 45 43 4B 20 46 4F 52 20  44 55 50 20 4E 41 4D 45  |ECK FOR DUP NAME|
00001490: 0D 38 32 30 20 42 50 4C  20 41 4C 52 45 41 44 59  |.820 BPL ALREADY|
000014A0: 20 20 3B 49 46 20 2B 20  41 4C 52 45 41 44 59 20  |  ;IF + ALREADY |
000014B0: 45 58 49 53 54 53 0D 38  32 31 20 4A 53 52 20 53  |EXISTS.821 JSR S|
000014C0: 45 54 52 4D 50 20 20 20  3B 53 45 54 20 50 41 52  |ETRMP   ;SET PAR|
000014D0: 41 4D 53 20 46 4F 52 20  4D 4F 56 45 0D 38 32 35  |AMS FOR MOVE.825|
000014E0: 20 4A 53 52 20 43 48 46  49 4C 45 4E 20 20 3B 43  | JSR CHFILEN  ;C|
000014F0: 48 45 43 4B 20 4C 45 4E  20 4F 46 20 50 52 4F 47  |HECK LEN OF PROG|
00001500: 0D 38 32 36 20 42 50 4C  20 4E 58 53 55 42 20 20  |.826 BPL NXSUB  |
00001510: 20 20 3B 49 46 20 2D 20  54 4F 4F 20 4C 4F 4E 47  |  ;IF - TOO LONG|
00001520: 20 0D 38 32 37 20 52 54  53 0D 38 33 30 20 4E 58  | .827 RTS.830 NX|
00001530: 53 55 42 0D 38 33 31 20  4A 53 52 20 46 49 4E 42  |SUB.831 JSR FINB|
00001540: 4C 45 4E 54 20 3B 46 49  4E 44 20 4E 45 58 54 20  |LENT ;FIND NEXT |
00001550: 42 4C 41 4E 4B 20 45 4E  54 52 59 0D 38 33 32 20  |BLANK ENTRY.832 |
00001560: 42 50 4C 20 47 45 58 49  54 20 20 20 20 3B 49 46  |BPL GEXIT    ;IF|
00001570: 20 2D 20 44 49 52 45 43  54 4F 52 59 20 46 55 4C  | - DIRECTORY FUL|
00001580: 4C 0D 38 33 35 20 4C 44  41 20 23 46 4E 20 4C 28  |L.835 LDA #FN L(|
00001590: 46 55 4C 4C 4D 45 53 53  29 20 3B 20 50 52 49 4E  |FULLMESS) ; PRIN|
000015A0: 54 20 45 52 52 4F 52 0D  38 33 36 20 4C 44 59 20  |T ERROR.836 LDY |
000015B0: 23 46 4E 20 48 28 46 55  4C 4C 4D 45 53 53 29 20  |#FN H(FULLMESS) |
000015C0: 3B 20 4D 45 53 53 41 47  45 0D 38 33 37 20 4A 53  |; MESSAGE.837 JS|
000015D0: 52 20 24 41 42 31 45 0D  38 33 38 20 52 54 53 0D  |R $AB1E.838 RTS.|
000015E0: 38 34 30 20 47 45 58 49  54 0D 38 34 31 20 4A 53  |840 GEXIT.841 JS|
000015F0: 52 20 50 55 54 4E 41 4D  20 3B 50 55 54 20 4E 41  |R PUTNAM ;PUT NA|
00001600: 4D 45 20 49 4E 20 44 49  52 45 43 54 4F 52 59 0D  |ME IN DIRECTORY.|
00001610: 38 34 35 20 4A 53 52 20  4D 44 49 4E 49 54 20 3B  |845 JSR MDINIT ;|
00001620: 50 52 45 50 41 52 45 20  46 4F 52 20 4D 45 4D 20  |PREPARE FOR MEM |
00001630: 4D 4F 56 45 0D 38 34 36  20 4A 53 52 20 4D 4F 56  |MOVE.846 JSR MOV|
00001640: 45 44 4E 20 3B 44 4F 20  49 54 0D 38 34 37 20 43  |EDN ;DO IT.847 C|
00001650: 4C 43 3A 20 4C 44 41 20  52 45 53 55 4C 54 3A 20  |LC: LDA RESULT: |
00001660: 41 44 43 20 23 24 30 31  3A 20 53 54 41 20 4E 44  |ADC #$01: STA ND|
00001670: 42 59 54 45 20 3B 53 54  4F 52 45 20 4E 45 58 54  |BYTE ;STORE NEXT|
00001680: 20 50 4F 53 2E 20 4C 4F  20 49 4E 20 52 41 4D 20  | POS. LO IN RAM |
00001690: 44 49 53 4B 0D 38 34 38  20 4C 44 41 20 52 45 53  |DISK.848 LDA RES|
000016A0: 55 4C 54 20 2B 20 31 3A  20 41 44 43 20 23 24 30  |ULT + 1: ADC #$0|
000016B0: 30 3A 20 53 54 41 20 4E  44 42 59 54 45 20 2B 20  |0: STA NDBYTE + |
000016C0: 31 20 3B 53 54 4F 52 45  20 4E 45 58 54 20 50 4F  |1 ;STORE NEXT PO|
000016D0: 53 2E 20 48 49 20 52 41  4D 20 44 49 53 4B 0D 38  |S. HI RAM DISK.8|
000016E0: 34 39 20 52 54 53 20 20  20 20 3B 20 41 4C 4C 20  |49 RTS    ; ALL |
000016F0: 44 4F 4E 45 20 52 45 54  55 52 4E 20 54 4F 20 42  |DONE RETURN TO B|
00001700: 41 53 49 43 0D 38 35 30  20 41 4C 52 45 41 44 59  |ASIC.850 ALREADY|
00001710: 3A 20 4C 44 41 20 23 46  4E 20 4C 28 46 41 4C 52  |: LDA #FN L(FALR|
00001720: 45 41 44 29 0D 38 36 30  20 4C 44 59 20 23 46 4E  |EAD).860 LDY #FN|
00001730: 20 48 28 46 41 4C 52 45  41 44 29 0D 38 37 30 20  | H(FALREAD).870 |
00001740: 4A 53 52 20 24 41 42 31  45 20 20 3B 50 52 49 4E  |JSR $AB1E  ;PRIN|
00001750: 54 20 46 49 4C 45 20 45  58 49 53 54 53 20 4D 45  |T FILE EXISTS ME|
00001760: 53 53 0D 38 38 30 20 52  54 53 0D 38 38 35 20 46  |SS.880 RTS.885 F|
00001770: 41 4C 52 45 41 44 3A 20  42 59 54 45 20 22 20 20  |ALREAD: BYTE "  |
00001780: 46 49 4C 45 20 45 58 49  53 54 53 20 49 4E 20 52  |FILE EXISTS IN R|
00001790: 41 4D 20 44 49 53 4B 20  22 2C 31 33 2C 30 0D 38  |AM DISK ",13,0.8|
000017A0: 38 36 20 46 55 4C 4C 4D  45 53 53 3A 20 42 59 54  |86 FULLMESS: BYT|
000017B0: 45 20 22 20 20 52 41 4D  20 44 49 53 4B 20 44 49  |E "  RAM DISK DI|
000017C0: 52 45 43 54 4F 52 59 20  49 53 20 46 55 4C 4C 20  |RECTORY IS FULL |
000017D0: 22 2C 31 33 2C 30 0D 39  39 31 20 45 4E 44 50 3A  |",13,0.991 ENDP:|
000017E0: 20 42 59 54 45 20 30 2C  30 0D 39 39 32 20 52 45  | BYTE 0,0.992 RE|
000017F0: 53 55 4C 54 3A 20 42 59  54 45 20 30 2C 30 0D 39  |SULT: BYTE 0,0.9|
00001800: 39 33 20 50 4C 45 4E 3A  20 42 59 54 45 20 30 2C  |93 PLEN: BYTE 0,|
00001810: 30 0D 39 39 34 20 53 54  41 52 54 3A 20 42 59 54  |0.994 START: BYT|
00001820: 45 20 30 2C 30 0D 39 39  35 20 52 4D 53 52 54 3A  |E 0,0.995 RMSRT:|
00001830: 20 42 59 54 45 20 30 2C  30 0D 39 39 36 20 54 45  | BYTE 0,0.996 TE|
00001840: 4D 50 3A 20 42 59 54 45  20 30 0D 39 39 37 20 46  |MP: BYTE 0.997 F|
00001850: 4C 45 4E 4E 3A 20 42 59  54 45 20 30 0D 39 39 38  |LENN: BYTE 0.998|
00001860: 20 44 49 52 50 4F 53 3A  20 42 59 54 45 20 30 0D  | DIRPOS: BYTE 0.|
00001870: 31 30 30 30 20 53 45 54  50 4C 44 20 20 20 20 20  |1000 SETPLD     |
00001880: 20 20 20 20 20 20 20 3B  53 45 54 20 50 41 52 41  |       ;SET PARA|
00001890: 4D 53 20 54 4F 0D 31 30  30 32 20 4C 44 59 20 44  |MS TO.1002 LDY D|
000018A0: 49 52 50 4F 53 20 20 20  20 20 20 20 20 3B 4C 4F  |IRPOS        ;LO|
000018B0: 41 44 20 46 52 4F 4D 20  52 41 4D 0D 31 30 30 34  |AD FROM RAM.1004|
000018C0: 20 43 50 59 20 23 30 20  20 20 20 20 20 20 20 20  | CPY #0         |
000018D0: 20 20 20 3B 20 44 49 53  4B 2E 0D 31 30 30 36 20  |   ; DISK..1006 |
000018E0: 42 45 51 20 53 45 54 50  3A 20 4C 44 41 20 23 30  |BEQ SETP: LDA #0|
000018F0: 0D 31 30 30 38 20 50 41  44 44 4C 50 3A 20 43 4C  |.1008 PADDLP: CL|
00001900: 43 20 20 20 20 20 3B 20  41 4E 4F 54 48 45 52 20  |C     ; ANOTHER |
00001910: 4C 4F 4F 50 0D 31 30 31  30 20 41 44 43 20 23 36  |LOOP.1010 ADC #6|
00001920: 20 20 20 20 20 20 20 20  20 20 3B 20 54 4F 20 53  |          ; TO S|
00001930: 45 54 20 59 20 4F 46 46  53 45 54 0D 31 30 31 32  |ET Y OFFSET.1012|
00001940: 20 44 45 59 0D 31 30 31  34 20 42 4E 45 20 50 41  | DEY.1014 BNE PA|
00001950: 44 44 4C 50 0D 31 30 31  36 20 53 45 54 50 20 20  |DDLP.1016 SETP  |
00001960: 20 20 20 20 20 20 20 20  20 20 3B 20 54 52 41 4E  |          ; TRAN|
00001970: 53 46 45 52 20 50 41 52  41 4D 53 0D 31 30 31 38  |SFER PARAMS.1018|
00001980: 20 4C 44 41 20 44 49 52  42 59 54 2C 59 20 20 20  | LDA DIRBYT,Y   |
00001990: 20 3B 20 48 45 52 45 2E  0D 31 30 32 30 20 53 54  | ; HERE..1020 ST|
000019A0: 41 20 4E 55 4D 42 45 52  0D 31 30 32 32 20 49 4E  |A NUMBER.1022 IN|
000019B0: 59 0D 31 30 32 34 20 4C  44 41 20 44 49 52 42 59  |Y.1024 LDA DIRBY|
000019C0: 54 2C 59 0D 31 30 32 36  20 53 54 41 20 4E 55 4D  |T,Y.1026 STA NUM|
000019D0: 42 45 52 20 2B 20 31 0D  31 30 32 38 20 49 4E 59  |BER + 1.1028 INY|
000019E0: 0D 31 30 33 30 20 4C 44  41 20 44 49 52 42 59 54  |.1030 LDA DIRBYT|
000019F0: 2C 59 0D 31 30 33 32 20  53 54 41 20 42 4C 4F 43  |,Y.1032 STA BLOC|
00001A00: 4B 32 0D 31 30 33 34 20  49 4E 59 0D 31 30 33 36  |K2.1034 INY.1036|
00001A10: 20 4C 44 41 20 44 49 52  42 59 54 2C 59 0D 31 30  | LDA DIRBYT,Y.10|
00001A20: 33 38 20 53 54 41 20 42  4C 4F 43 4B 32 20 2B 20  |38 STA BLOCK2 + |
00001A30: 31 0D 31 30 34 30 20 49  4E 59 0D 31 30 34 32 20  |1.1040 INY.1042 |
00001A40: 4C 44 41 20 44 49 52 42  59 54 2C 59 0D 31 30 34  |LDA DIRBYT,Y.104|
00001A50: 34 20 53 54 41 20 42 4C  4F 43 4B 31 0D 31 30 34  |4 STA BLOCK1.104|
00001A60: 36 20 49 4E 59 0D 31 30  34 38 20 4C 44 41 20 44  |6 INY.1048 LDA D|
00001A70: 49 52 42 59 54 2C 59 0D  31 30 35 30 20 53 54 41  |IRBYT,Y.1050 STA|
00001A80: 20 42 4C 4F 43 4B 31 20  2B 20 31 0D 31 30 35 32  | BLOCK1 + 1.1052|
00001A90: 20 52 54 53 0D 31 30 36  30 20 44 4F 52 41 4D 4C  | RTS.1060 DORAML|
00001AA0: 44 0D 31 30 36 32 20 4C  44 41 20 31 20 20 20 20  |D.1062 LDA 1    |
00001AB0: 20 20 20 3B 42 41 4E 4B  20 4F 55 54 20 42 41 53  |   ;BANK OUT BAS|
00001AC0: 49 43 20 46 4F 52 0D 31  30 36 34 20 41 4E 44 20  |IC FOR.1064 AND |
00001AD0: 23 32 35 34 20 20 20 20  3B 46 4F 52 20 4C 4F 41  |#254    ;FOR LOA|
00001AE0: 44 20 46 52 4F 4D 20 52  41 4D 0D 31 30 36 36 20  |D FROM RAM.1066 |
00001AF0: 53 54 41 20 31 20 20 20  20 20 20 20 3B 44 49 53  |STA 1       ;DIS|
00001B00: 4B 2E 0D 31 30 36 38 20  4A 53 52 20 4D 44 49 4E  |K..1068 JSR MDIN|
00001B10: 49 54 20 20 3B 53 45 54  20 55 50 20 50 41 52 41  |IT  ;SET UP PARA|
00001B20: 4D 53 2D 4D 4F 56 45 44  4E 0D 31 30 37 30 20 4A  |MS-MOVEDN.1070 J|
00001B30: 53 52 20 4D 4F 56 45 44  4E 20 20 3B 44 4F 20 4D  |SR MOVEDN  ;DO M|
00001B40: 4F 56 45 2E 0D 31 30 37  32 20 4C 44 41 20 31 20  |OVE..1072 LDA 1 |
00001B50: 20 20 20 20 20 20 3B 57  45 52 45 20 44 4F 4E 45  |      ;WERE DONE|
00001B60: 20 42 41 4E 4B 20 42 41  53 49 43 0D 31 30 37 34  | BANK BASIC.1074|
00001B70: 20 4F 52 41 20 23 31 20  20 20 20 20 20 3B 42 41  | ORA #1      ;BA|
00001B80: 43 4B 20 49 4E 2E 0D 31  30 37 36 20 53 54 41 20  |CK IN..1076 STA |
00001B90: 31 0D 31 30 37 38 20 52  54 53 0D 32 30 30 30 20  |1.1078 RTS.2000 |
00001BA0: 52 4C 4F 41 3A 20 4A 53  52 20 53 45 54 46 4E 4D  |RLOA: JSR SETFNM|
00001BB0: 20 3B 53 45 54 20 46 49  4C 45 4E 41 4D 45 0D 32  | ;SET FILENAME.2|
00001BC0: 30 31 30 20 4A 53 52 20  46 49 4E 45 4E 54 20 20  |010 JSR FINENT  |
00001BD0: 20 20 20 20 20 3B 53 45  45 20 49 46 20 45 58 49  |     ;SEE IF EXI|
00001BE0: 53 54 53 0D 32 30 32 30  20 42 50 4C 20 4E 58 52  |STS.2020 BPL NXR|
00001BF0: 4F 4F 54 20 20 20 20 20  20 20 3B 49 46 20 2B 20  |OOT       ;IF + |
00001C00: 49 54 20 45 58 49 53 54  53 0D 32 30 33 30 20 4A  |IT EXISTS.2030 J|
00001C10: 4D 50 20 46 4E 46 4E 44  20 20 20 3B 49 46 20 4E  |MP FNFND   ;IF N|
00001C20: 4F 54 20 50 52 49 4E 54  20 45 52 52 20 4D 45 53  |OT PRINT ERR MES|
00001C30: 53 0D 32 30 34 30 20 4E  58 52 4F 4F 54 3A 20 4A  |S.2040 NXROOT: J|
00001C40: 53 52 20 53 45 54 50 4C  44 20 3B 53 45 54 20 50  |SR SETPLD ;SET P|
00001C50: 41 52 41 4D 53 0D 32 30  34 31 20 20 20 20 20 20  |ARAMS.2041      |
00001C60: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3B 46  |              ;F|
00001C70: 4F 52 20 4D 44 49 4E 49  54 0D 32 30 35 30 20 4A  |OR MDINIT.2050 J|
00001C80: 53 52 20 44 4F 52 41 4D  4C 44 20 20 20 20 20 20  |SR DORAMLD      |
00001C90: 20 20 3B 44 4F 20 4C 4F  41 44 0D 32 30 35 31 20  |  ;DO LOAD.2051 |
00001CA0: 4C 44 41 20 42 4C 4F 43  4B 32 20 2B 20 31 20 20  |LDA BLOCK2 + 1  |
00001CB0: 3B 43 48 45 43 4B 20 54  4F 20 53 45 45 20 49 46  |;CHECK TO SEE IF|
00001CC0: 0D 32 30 35 32 20 43 4D  50 20 34 36 20 20 20 20  |.2052 CMP 46    |
00001CD0: 20 20 20 20 20 20 3B 42  41 53 49 43 20 49 46 20  |      ;BASIC IF |
00001CE0: 4E 4F 54 0D 32 30 35 33  20 42 4E 45 20 52 4C 4F  |NOT.2053 BNE RLO|
00001CF0: 45 58 54 20 20 20 20 20  20 3B 45 58 49 54 2E 20  |EXT      ;EXIT. |
00001D00: C9 46 20 49 54 20 49 53  0D 32 30 35 35 20 4C 44  |.F IT IS.2055 LD|
00001D10: 41 20 32 35 33 20 20 20  20 20 20 20 20 20 3B 53  |A 253         ;S|
00001D20: 45 54 20 45 4E 44 20 50  52 4F 47 52 41 4D 0D 32  |ET END PROGRAM.2|
00001D30: 30 35 36 20 53 54 41 20  34 35 0D 32 30 35 37 20  |056 STA 45.2057 |
00001D40: 4C 44 41 20 32 35 34 0D  32 30 35 38 20 53 54 41  |LDA 254.2058 STA|
00001D50: 20 34 36 0D 32 30 36 30  20 4A 53 52 20 34 32 32  | 46.2060 JSR 422|
00001D60: 39 31 20 20 20 20 20 20  20 3B 52 45 4C 49 4E 4B  |91       ;RELINK|
00001D70: 20 4C 49 4E 45 53 0D 32  30 36 35 20 52 4C 4F 45  | LINES.2065 RLOE|
00001D80: 58 54 20 20 20 20 20 20  20 20 20 20 3B 41 4E 44  |XT          ;AND|
00001D90: 20 45 58 49 54 2E 0D 32  30 36 36 20 52 54 53 0D  | EXIT..2066 RTS.|
00001DA0: 32 30 37 30 20 46 4E 46  4E 44 3A 20 4C 44 41 20  |2070 FNFND: LDA |
00001DB0: 23 46 4E 20 4C 28 46 4E  46 4D 45 53 53 29 0D 32  |#FN L(FNFMESS).2|
00001DC0: 30 38 30 20 4C 44 59 20  23 46 4E 20 48 28 46 4E  |080 LDY #FN H(FN|
00001DD0: 46 4D 45 53 53 29 0D 32  30 39 30 20 4A 53 52 20  |FMESS).2090 JSR |
00001DE0: 24 41 42 31 45 20 3B 20  50 52 49 4E 54 20 4E 4F  |$AB1E ; PRINT NO|
00001DF0: 54 20 46 4F 55 4E 44 20  4D 45 53 53 0D 32 31 30  |T FOUND MESS.210|
00001E00: 30 20 52 54 53 0D 32 31  31 30 20 46 4E 46 4D 45  |0 RTS.2110 FNFME|
00001E10: 53 53 3A 20 42 59 54 45  20 22 20 20 46 49 4C 45  |SS: BYTE "  FILE|
00001E20: 20 4E 4F 54 20 49 4E 20  52 41 4D 20 44 49 53 4B  | NOT IN RAM DISK|
00001E30: 20 22 2C 31 33 2C 30 0D  32 31 34 30 20 5A 50 20  | ",13,0.2140 ZP |
00001E40: 3D 20 32 35 31 0D 32 31  38 30 20 42 4C 4F 43 4B  |= 251.2180 BLOCK|
00001E50: 31 3A 20 42 59 54 45 20  30 2C 31 39 32 3B 20 41  |1: BYTE 0,192; A|
00001E60: 44 44 52 45 53 53 20 4F  46 20 42 4C 4F 43 4B 20  |DDRESS OF BLOCK |
00001E70: 54 4F 20 4D 4F 56 45 0D  32 31 39 30 20 42 4C 4F  |TO MOVE.2190 BLO|
00001E80: 43 4B 32 3A 20 42 59 54  45 20 30 2C 31 36 30 3B  |CK2: BYTE 0,160;|
00001E90: 20 41 44 44 52 45 53 53  20 4F 46 20 42 4C 4F 43  | ADDRESS OF BLOC|
00001EA0: 4B 20 54 4F 20 4D 4F 56  45 20 54 4F 0D 33 31 30  |K TO MOVE TO.310|
00001EB0: 30 20 4E 55 4D 42 45 52  3A 20 42 59 54 45 20 30  |0 NUMBER: BYTE 0|
00001EC0: 2C 30 3B 20 4E 55 4D 42  45 52 20 4F 46 20 42 59  |,0; NUMBER OF BY|
00001ED0: 54 45 53 20 54 4F 20 4D  4F 56 45 0D 33 31 31 30  |TES TO MOVE.3110|
00001EE0: 20 4D 44 49 4E 49 54 20  20 20 20 20 20 20 20 20  | MDINIT         |
00001EF0: 20 3B 53 45 54 20 5A 45  52 4F 20 50 41 47 45 20  | ;SET ZERO PAGE |
00001F00: 50 54 52 0D 33 31 32 30  20 20 4C 44 41 20 42 4C  |PTR.3120  LDA BL|
00001F10: 4F 43 4B 31 20 20 20 20  20 3B 46 4F 52 20 42 4C  |OCK1     ;FOR BL|
00001F20: 4F 43 4B 20 54 4F 20 4D  4F 56 45 0D 33 31 33 30  |OCK TO MOVE.3130|
00001F30: 20 20 53 54 41 20 5A 50  0D 33 31 34 30 20 20 4C  |  STA ZP.3140  L|
00001F40: 44 41 20 42 4C 4F 43 4B  31 20 2B 20 31 0D 33 31  |DA BLOCK1 + 1.31|
00001F50: 35 30 20 20 53 54 41 20  5A 50 20 2B 20 31 0D 33  |50  STA ZP + 1.3|
00001F60: 31 36 30 20 20 4C 44 41  20 42 4C 4F 43 4B 32 20  |160  LDA BLOCK2 |
00001F70: 20 20 20 20 3B 53 45 54  20 5A 50 41 47 45 20 50  |    ;SET ZPAGE P|
00001F80: 54 52 20 46 4F 52 0D 33  31 37 30 20 20 53 54 41  |TR FOR.3170  STA|
00001F90: 20 5A 50 20 2B 20 32 20  20 20 20 20 3B 42 4C 4F  | ZP + 2     ;BLO|
00001FA0: 43 4B 20 54 4F 20 4D 4F  56 45 0D 33 31 38 30 20  |CK TO MOVE.3180 |
00001FB0: 20 4C 44 41 20 42 4C 4F  43 4B 32 20 2B 20 31 0D  | LDA BLOCK2 + 1.|
00001FC0: 33 31 39 30 20 20 53 54  41 20 5A 50 20 2B 20 33  |3190  STA ZP + 3|
00001FD0: 0D 33 32 30 30 20 20 4C  44 58 20 4E 55 4D 42 45  |.3200  LDX NUMBE|
00001FE0: 52 20 20 20 20 20 3B 53  45 54 20 4E 55 4D 42 45  |R     ;SET NUMBE|
00001FF0: 52 20 4F 46 0D 33 32 31  30 20 20 4C 44 59 20 4E  |R OF.3210  LDY N|
00002000: 55 4D 42 45 52 20 2B 20  31 20 3B 42 59 54 45 53  |UMBER + 1 ;BYTES|
00002010: 20 54 4F 20 4D 4F 56 45  0D 33 32 32 30 20 20 52  | TO MOVE.3220  R|
00002020: 54 53 0D 33 32 33 30 20  4D 4F 56 45 44 4E 0D 33  |TS.3230 MOVEDN.3|
00002030: 32 34 30 20 20 53 54 58  20 43 4F 55 4E 54 45 52  |240  STX COUNTER|
00002040: 20 20 20 20 3B 53 54 4F  52 45 20 43 4F 55 4E 54  |    ;STORE COUNT|
00002050: 20 56 41 4C 0D 33 32 35  30 20 20 53 54 59 20 43  | VAL.3250  STY C|
00002060: 4F 55 4E 54 45 52 20 2B  20 31 3B 4C 4F 20 42 59  |OUNTER + 1;LO BY|
00002070: 54 45 2C 48 49 20 42 59  54 45 0D 33 32 36 30 20  |TE,HI BYTE.3260 |
00002080: 20 4C 44 59 20 23 30 0D  33 32 37 30 20 44 4F 57  | LDY #0.3270 DOW|
00002090: 4E 4C 50 0D 33 32 38 30  20 20 4C 44 41 20 28 5A  |NLP.3280  LDA (Z|
000020A0: 50 29 2C 59 20 20 20 20  20 3B 47 45 54 20 42 59  |P),Y     ;GET BY|
000020B0: 54 45 20 42 4C 4F 43 4B  20 31 0D 33 32 39 30 20  |TE BLOCK 1.3290 |
000020C0: 20 53 54 41 20 28 5A 50  20 2B 20 32 29 2C 59 20  | STA (ZP + 2),Y |
000020D0: 3B 53 54 4F 52 45 20 42  4C 4F 43 4B 20 32 0D 33  |;STORE BLOCK 2.3|
000020E0: 33 30 30 20 20 4A 53 52  20 41 44 44 4F 4E 45 20  |300  JSR ADDONE |
000020F0: 20 20 20 20 3B 49 4E 43  20 5A 50 20 50 54 52 53  |    ;INC ZP PTRS|
00002100: 20 31 0D 33 33 31 30 20  20 44 45 43 20 43 4F 55  | 1.3310  DEC COU|
00002110: 4E 54 45 52 20 20 20 20  3B 44 45 43 20 43 4E 54  |NTER    ;DEC CNT|
00002120: 52 20 4C 4F 20 42 59 54  45 0D 33 33 32 30 20 20  |R LO BYTE.3320  |
00002130: 42 4E 45 20 44 4F 57 4E  4C 50 0D 33 33 33 30 20  |BNE DOWNLP.3330 |
00002140: 20 44 45 43 20 43 4F 55  4E 54 45 52 20 2B 20 31  | DEC COUNTER + 1|
00002150: 3B 44 45 43 20 43 4E 54  52 20 48 49 20 42 59 54  |;DEC CNTR HI BYT|
00002160: 45 0D 33 33 34 30 20 20  4C 44 41 20 43 4F 55 4E  |E.3340  LDA COUN|
00002170: 54 45 52 20 2B 20 31 3B  43 48 45 43 4B 20 41 52  |TER + 1;CHECK AR|
00002180: 45 20 57 45 20 44 4F 4E  45 0D 33 33 35 30 20 20  |E WE DONE.3350  |
00002190: 43 4D 50 20 23 32 35 35  0D 33 33 36 30 20 20 42  |CMP #255.3360  B|
000021A0: 4E 45 20 44 4F 57 4E 4C  50 0D 33 33 37 30 20 20  |NE DOWNLP.3370  |
000021B0: 52 54 53 0D 33 33 38 30  20 41 44 44 4F 4E 45 20  |RTS.3380 ADDONE |
000021C0: 20 20 20 20 20 20 20 20  3B 49 4E 43 20 5A 50 20  |        ;INC ZP |
000021D0: 50 54 52 53 20 48 45 52  45 0D 33 33 39 30 20 20  |PTRS HERE.3390  |
000021E0: 49 4E 43 20 5A 50 0D 33  34 30 30 20 20 42 4E 45  |INC ZP.3400  BNE|
000021F0: 20 49 4E 43 54 41 52 0D  33 34 31 30 20 20 49 4E  | INCTAR.3410  IN|
00002200: 43 20 5A 50 20 2B 20 31  0D 33 34 32 30 20 49 4E  |C ZP + 1.3420 IN|
00002210: 43 54 41 52 0D 33 34 33  30 20 20 49 4E 43 20 5A  |CTAR.3430  INC Z|
00002220: 50 20 2B 20 32 0D 33 34  34 30 20 20 42 4E 45 20  |P + 2.3440  BNE |
00002230: 41 44 45 58 49 54 0D 33  34 35 30 20 20 49 4E 43  |ADEXIT.3450  INC|
00002240: 20 5A 50 20 2B 20 33 0D  33 34 36 30 20 41 44 45  | ZP + 3.3460 ADE|
00002250: 58 49 54 0D 33 34 37 30  20 20 52 54 53 20 20 20  |XIT.3470  RTS   |
00002260: 20 20 20 20 20 20 20 20  3B 57 45 52 45 20 44 4F  |        ;WERE DO|
00002270: 4E 45 20 52 45 54 55 52  4E 0D 33 34 38 30 20 43  |NE RETURN.3480 C|
00002280: 4F 55 4E 54 45 52 3A 20  42 59 54 45 20 30 2C 30  |OUNTER: BYTE 0,0|
00002290: 20 3B 54 57 4F 20 42 59  54 45 20 43 4F 55 4E 54  | ;TWO BYTE COUNT|
000022A0: 0D 33 34 38 31 20 20 20  20 20 20 20 20 20 20 20  |.3481           |
000022B0: 20 20 20 20 20 20 20 20  3B 46 4F 52 20 52 45 4D  |        ;FOR REM|
000022C0: 41 49 4E 49 4E 47 0D 33  34 38 32 20 20 20 20 20  |AINING.3482     |
000022D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3B 42  |              ;B|
000022E0: 59 54 45 53 20 54 4F 20  4D 4F 56 45 0D 34 30 30  |YTES TO MOVE.400|
000022F0: 30 20 4E 45 58 54 3A 20  45 4E 44 0D 0D 0D 20 C1  |0 NEXT: END... .|
00002300: 53 20 57 52 49 54 54 45  4E 20 54 48 45 52 45 20  |S WRITTEN THERE |
00002310: 41 52 45 20 4E 4F 20 52  4F 55 54 49 4E 45 53 20  |ARE NO ROUTINES |
00002320: 46 4F 52 20 44 45 4C 45  54 49 4E 47 20 46 49 4C  |FOR DELETING FIL|
00002330: 45 53 20 46 52 4F 4D 20  54 48 45 20 52 41 4D 20  |ES FROM THE RAM |
00002340: 44 49 53 4B 20 4F 52 20  43 4C 45 41 52 49 4E 47  |DISK OR CLEARING|
00002350: 20 49 54 2E 20 D4 48 45  53 45 20 57 49 4C 4C 20  | IT. .HESE WILL |
00002360: 42 45 20 43 4F 4D 49 4E  47 20 49 4E 20 54 48 45  |BE COMING IN THE|
00002370: 20 46 55 54 55 52 45 2E  20 D4 4F 20 55 53 45 20  | FUTURE. .O USE |
00002380: 54 48 45 53 45 20 52 4F  55 54 49 4E 45 53 20 4A  |THESE ROUTINES J|
00002390: 55 53 54 20 4F 42 54 41  49 4E 20 54 48 45 20 56  |UST OBTAIN THE V|
000023A0: 41 4C 55 45 20 4F 46 20  54 48 45 20 4C 41 42 45  |ALUE OF THE LABE|
000023B0: 4C 53 20 3B 20 52 53 41  56 20 41 4E 44 20 52 4C  |LS ; RSAV AND RL|
000023C0: 4F 41 20 54 48 45 53 45  20 41 52 45 20 59 4F 55  |OA THESE ARE YOU|
000023D0: 52 20 53 59 53 20 41 44  44 52 45 53 53 45 53 2E  |R SYS ADDRESSES.|
000023E0: 20 20 20 D4 48 45 20 53  59 4E 54 41 58 20 47 4F  |   .HE SYNTAX GO|
000023F0: 45 53 20 4C 49 4B 45 20  54 48 49 53 3A 0D 53 59  |ES LIKE THIS:.SY|
00002400: 53 20 52 53 41 56 22 46  49 4C 45 4E 41 4D 45 22  |S RSAV"FILENAME"|
00002410: 20 3A 20 57 49 4C 4C 20  53 41 56 45 20 41 20 42  | : WILL SAVE A B|
00002420: 41 53 49 43 20 50 52 4F  47 52 41 4D 20 54 4F 20  |ASIC PROGRAM TO |
00002430: 54 48 45 20 52 41 4D 20  44 49 53 4B 2E 0D 53 59  |THE RAM DISK..SY|
00002440: 53 20 52 53 41 56 22 46  49 4C 45 4E 41 4D 45 22  |S RSAV"FILENAME"|
00002450: 2C 53 54 41 52 54 2C 45  4E 44 20 3A 20 57 49 4C  |,START,END : WIL|
00002460: 4C 20 53 41 56 45 20 41  20 4D 41 43 48 49 4E 45  |L SAVE A MACHINE|
00002470: 20 4C 41 4E 47 55 41 47  45 20 50 52 4F 47 52 41  | LANGUAGE PROGRA|
00002480: 4D 20 4F 52 20 42 49 4E  41 52 59 20 46 49 4C 45  |M OR BINARY FILE|
00002490: 20 54 4F 20 54 48 45 20  52 41 4D 20 44 49 53 4B  | TO THE RAM DISK|
000024A0: 2E 0D 53 59 53 20 52 4C  4F 41 22 46 49 4C 45 4E  |..SYS RLOA"FILEN|
000024B0: 41 4D 45 22 20 3A 20 57  49 4C 4C 20 52 45 54 52  |AME" : WILL RETR|
000024C0: 49 45 56 45 20 41 20 46  49 4C 45 20 46 52 4F 4D  |IEVE A FILE FROM|
000024D0: 20 54 48 45 20 52 41 4D  20 44 49 53 4B 20 52 45  | THE RAM DISK RE|
000024E0: 47 41 52 44 4C 45 53 53  20 4F 46 20 57 48 45 54  |GARDLESS OF WHET|
000024F0: 48 45 52 20 49 54 20 49  53 20 42 41 53 49 43 20  |HER IT IS BASIC |
00002500: 4F 52 20 42 49 4E 41 52  59 20 28 4D 2F 4C 29 2E  |OR BINARY (M/L).|
00002510: 20 C9 46 20 54 48 45 20  46 49 4C 45 20 49 53 20  | .F THE FILE IS |
00002520: 42 49 4E 41 52 59 20 49  54 20 57 49 4C 4C 20 42  |BINARY IT WILL B|
00002530: 45 20 52 45 54 55 52 4E  45 44 20 54 4F 20 57 48  |E RETURNED TO WH|
00002540: 45 52 45 20 49 54 20 43  41 4D 45 20 46 52 4F 4D  |ERE IT CAME FROM|
00002550: 20 49 4E 20 4D 45 4D 4F  52 59 2E 0D 20 C1 4C 53  | IN MEMORY.. .LS|
00002560: 4F 20 4D 41 4B 45 20 53  55 52 45 20 59 4F 55 20  |O MAKE SURE YOU |
00002570: 4B 4E 4F 57 20 57 48 41  54 20 46 49 4C 45 53 20  |KNOW WHAT FILES |
00002580: 41 52 45 20 53 41 56 45  44 20 54 4F 20 54 48 45  |ARE SAVED TO THE|
00002590: 20 52 41 4D 20 44 49 53  4B 20 53 4F 20 54 48 41  | RAM DISK SO THA|
000025A0: 54 20 59 4F 55 20 43 41  4E 20 52 45 54 52 49 45  |T YOU CAN RETRIE|
000025B0: 56 45 20 54 48 45 4D 2E  20 C1 20 44 49 52 45 43  |VE THEM. . DIREC|
000025C0: 54 4F 52 59 20 52 45 41  44 49 4E 47 20 52 4F 55  |TORY READING ROU|
000025D0: 54 49 4E 45 20 49 53 20  41 4C 53 4F 20 49 4E 20  |TINE IS ALSO IN |
000025E0: 54 48 45 20 57 4F 52 4B  53 2E 20 D4 48 45 20 41  |THE WORKS. .HE A|
000025F0: 43 54 55 41 4C 20 53 54  4F 52 41 47 45 20 41 52  |CTUAL STORAGE AR|
00002600: 45 41 20 49 53 20 54 48  45 20 D2 C1 CD E0 55 4E  |EA IS THE ....UN|
00002610: 44 45 52 4E 45 41 54 48  20 54 48 45 20 C2 C1 D3  |DERNEATH THE ...|
00002620: C9 C3 20 D2 CF CD 20 53  4F 20 4D 41 4B 45 20 53  |.. ... SO MAKE S|
00002630: 55 52 45 20 41 4E 59 20  50 52 4F 47 52 41 4D 20  |URE ANY PROGRAM |
00002640: 55 53 45 44 20 49 4E 20  43 4F 4E 4A 55 4E 43 54  |USED IN CONJUNCT|
00002650: 49 4F 4E 20 57 49 54 48  20 54 48 49 53 20 44 4F  |ION WITH THIS DO|
00002660: 45 53 4E 27 54 20 43 4F  52 52 55 50 54 20 54 48  |ESN'T CORRUPT TH|
00002670: 49 53 20 41 52 45 41 20  4F 52 20 59 4F 55 20 57  |IS AREA OR YOU W|
00002680: 49 4C 4C 20 48 41 56 45  20 50 52 4F 42 4C 45 4D  |ILL HAVE PROBLEM|
00002690: 53 2E 20 20 20 20 0D 0D  20 C8 4F 50 45 20 54 48  |S.    .. .OPE TH|
000026A0: 49 53 20 53 54 49 4D 55  4C 41 54 45 53 20 53 4F  |IS STIMULATES SO|
000026B0: 4D 45 20 4F 46 20 54 48  4F 53 45 20 50 52 4F 47  |ME OF THOSE PROG|
000026C0: 52 41 4D 4D 49 4E 47 20  4E 45 52 56 45 53 20 49  |RAMMING NERVES I|
000026D0: 4E 20 54 48 45 20 4F 4C  27 20 42 52 41 49 4E 2E  |N THE OL' BRAIN.|
000026E0: 20 D4 48 45 20 4D 2F 4C  20 52 45 53 55 4C 54 49  | .HE M/L RESULTI|
000026F0: 4E 47 20 46 52 4F 4D 20  54 48 49 53 20 53 4F 55  |NG FROM THIS SOU|
00002700: 52 43 45 20 49 53 20 43  4F 4D 50 4C 45 54 45 4C  |RCE IS COMPLETEL|
00002710: 59 20 45 52 52 4F 52 20  46 52 45 45 20 28 C9 20  |Y ERROR FREE (. |
00002720: 54 48 49 4E 4B 29 20 C9  20 48 41 56 45 20 54 52  |THINK) . HAVE TR|
00002730: 49 45 44 20 54 4F 20 43  41 55 53 45 20 45 56 45  |IED TO CAUSE EVE|
00002740: 52 59 20 50 4F 53 53 49  42 4C 45 20 45 52 52 4F  |RY POSSIBLE ERRO|
00002750: 52 20 41 4E 44 20 50 52  4F 56 49 44 45 20 46 4F  |R AND PROVIDE FO|
00002760: 52 20 41 4E 59 20 45 41  53 59 20 4F 55 54 20 46  |R ANY EASY OUT F|
00002770: 52 4F 4D 20 54 48 45 20  50 52 4F 47 52 41 4D 2E  |ROM THE PROGRAM.|
00002780: 20 C9 46 20 59 4F 55 20  48 41 56 45 20 41 4E 59  | .F YOU HAVE ANY|
00002790: 20 51 55 45 53 54 49 4F  4E 53 20 46 45 45 4C 20  | QUESTIONS FEEL |
000027A0: 46 52 45 45 20 54 4F 20  C5 2D CD 41 49 4C 20 4D  |FREE TO .-.AIL M|
000027B0: 45 20 46 4F 52 20 C9 20  53 48 4F 55 4C 44 20 48  |E FOR . SHOULD H|
000027C0: 41 56 45 20 41 4E 20 41  4E 53 57 45 52 2E 20 0D  |AVE AN ANSWER. .|
000027D0: 0D 0D 20 20 20 20 20 20  20 20 C1 4E 4F 54 48 45  |..        .NOTHE|
000027E0: 52 20 43 4C 41 53 53 49  43 20 46 52 4F 4D 20 54  |R CLASSIC FROM T|
000027F0: 48 45 20 C2 41 53 48 0D  0D 20 20 20 20 20 20 20  |HE .ASH..       |
00002800: 20 20 20 20 28 C8 45 C8  45 C8 45 C8 45 C8 45 20  |    (.E.E.E.E.E |
00002810: 21 21 21 29 0D 0D 20                              |!!!)..          |
            RAM DISK SOURCE.10 FOR I = 1
 TO 3.20 ORG 49152.30 IF I = 3 THEN ORG 
49152,1.40 DEF FN H(X) = INT(X/256).50 D
EF FN L(X) = X - 256 * FN H(X).60 DIRBUF
F.70  BYTE "@@@@@@@@@@"  ;RAM DISK.80  B
YTE "@@@@@@@@@@"  ;DIRECTORY.90  BYTE "@
@@@@@@@@@"  ;FILENAMES.100 BYTE "@@@@@@@
@@@".110 BYTE "@@@@@@@@@@".120 BYTE "@@@
@@@@@@@".130 DIRBYT.140  BYTE 0,0,0,0,0,
0 ;FILE ENTRIES.150  BYTE 0,0,0,0,0,0 ;C
ORRESPOND 1 TO.160  BYTE 0,0,0,0,0,0 ;1 
TO FILENAMES,.170  BYTE 0,0,0,0,0,0 ;FIR
ST 2 BYTES =.180  BYTE 0,0,0,0,0,0 ;FILE
 LENGTH,.190  BYTE 0,0,0,0,0,0 ;NEXT 2 B
YTES  =.191                   ;STARTING 
POS..192                   ; IN RAM, NEX
T.193                   ;2 = STARTING .1
94                   ;POS. IN RAM .195  
                 ;DISK. THIS.196        
           ;IS THE SAME FOR.197         
          ;ALL 6 ENTRIES..200 NDBYTE    
        ;NEXT AVAIL. POS.201            
       ;IN RAM DISK..210  BYTE 0,160.212
 FINENT              ;FIND FILENAME.214 
 LDA #0: STA DIRPOS ;IN DIRECTORY.215  L
DA #FN L(FILNAME) ;THAT IS CON-.216  STA
 251            ;TAINTED IN THE.218  LDA
 #FN H(FILNAME) ;BUFFER CALLED.220  STA 
252            ;FILNAME. IF.224  LDY #0 
            ;PRESENT .A.226  LDX #0     
        ;WILL HOLD.227                  
   ;DIR. ENTRY.228 FINDLP              ;
NUMBER,IF NOT.236  LDY #0             ;.
A WILL HOLD.238 INFLP: LDA (251),Y  ; 25
5..240  CMP DIRBUFF,X.242  BNE INCXC.244
  INY.246  INX.248  CPY FLENN.250  BNE I
NFLP.252  JMP MATCH.254 INCXC: INC DIRPO
S: LDY DIRPOS.256  LDA #0.260 ADDLP: CLC
.262  ADC #10.264  TAX.266  DEY.268  BNE
 ADDLP.270  LDA DIRPOS: CMP #6.272  BCC 
FINDLP.274  LDA #255: STA DIRPOS: RTS.27
6 MATCH.278  LDA DIRPOS.280  RTS.290 FIL
NAME: BYTE "@@@@@@@@@@" ;BUFFER.300 SETF
NM: LDY #9: LDA #64.301 FILP: STA FILNAM
E,Y: DEY: BNE FILP.302 JSR $AD9E    ; EV
AL EXPRESSION.304 JSR $B6A3    ; GET STR
ING INFO..306 STX 251      ;PREPARE ZPAG
E PTR.308 STY 252.310 STA FLENN: CMP #10
: BCC GCOPY:.311 LDA #9: STA FLENN.312 G
COPY: LDY FLENN.314 CPYLP         ;COPY 
FILENAME TO.316 LDA (251),Y   ;FILNAME B
UFFER.318 STA FILNAME,Y.320 DEY.324 BPL 
CPYLP.344 RTS.346 FINBLENT          ; TH
E JOB OF THIS.345 LDA #0: STA TEMP  ; RO
UTINE IS TO.348 LDX #0            ; FIND
 THE NEXT.350 FBLLP             ; BLANK 
DIRECTORY.351 LDA DIRBUFF,X     ; ENTRY.
.352 CMP #64           ;CMP = @.354 BEQ 
BLANK         ;IF = ENTRY BLANK.356 INC 
TEMP.357 LDY TEMP: LDA #0.358 ALLP: CLC.
360 ADC #10.362 DEY.364 BNE ALLP.366 TAX
.368 CPX #60.370 BCC FBLLP.372 LDA #255:
 RTS.374 BLANK             ; LDA DIRECTO
RY.376 LDA TEMP          ;ENTRY POS. &.4
00 RTS               ; RETURN..402 PUTNA
M           ;FILL DIRECTORY.404 LDA #0  
         ;ENTRIES.405 LDY TEMP: CPY #0 ;
Y=0 DON'T.406 BEQ STPUT        ;ENTER LO
OP.408 PUTALP      ;SETS Y=TO CORRECT.40
9             ;DIRBYT OFFSET.410 CLC    
     ;PREPARE TO ADD.412 ADC #6      ;AD
D 6 TO .A.414 DEY.416 BNE PUTALP.418 STP
UT: TAY  ; STORE FILE PARAMS..419 LDA PL
EN: STA DIRBYT,Y.420 INY.422 LDA PLEN + 
1: STA DIRBYT,Y.424 INY.426 LDA START: S
TA DIRBYT,Y.428 INY.430 LDA START + 1: S
TA DIRBYT,Y.432 INY.434 LDA RMSRT: STA D
IRBYT,Y.436 INY.438 LDA RMSRT + 1: STA D
IRBYT,Y.440 LDA #0.442 LDY TEMP.444 CPY 
#0.446 BEQ STFPT.448 PFLP      ;SET Y=TO
 CORRECT DIRBUFF.450 CLC       ;OFFSET.4
52 ADC #10.454 DEY.456 BNE PFLP.458 STFP
T: LDX #0.460 TAY.462 STFPLP: LDA FILNAM
E,X ;ACTUAL.464 STA DIRBUFF,Y         ;T
RANSFER OF.466 INY                   ;FI
LENAME.468 INX                   ;OCCURS
 HERE.470 CPX FLENN.472 BCC STFPLP.474 R
TS.476 CHFILEN.478 SEC             ;CHEC
K PROG LEN..480 LDA ENDP        ;<THAN 8
K.482 SBC START.484 STA PLEN.486 LDA END
P + 1.488 SBC START + 1.490 STA PLEN + 1
.492 LDA PLEN + 1.494 CMP #$20.496 BCS T
OOLONG ;FILE TOO LONG ? ERRMES.498 CLC  
            ;SET END OF PROG..500 LDA PL
EN         ;POINTER.502 ADC NDBYTE.504 S
TA RESULT.506 LDA PLEN + 1.508 ADC NDBYT
E + 1.510 STA RESULT + 1.512 LDA RESULT 
+ 1.514 CMP #$C0     ;CHECK TO MAKE SURE
.516 BCS TOOLONG  ;FILE FITS IN RAM DISK
.518 LDA #0: RTS  ;NO ERROR.520 TOOLONG:
 LDA #FN L(TLONG).522 LDY #FN H(TLONG).5
24 JSR $AB1E.526 LDA #255: RTS ;SET ERR 
FLAG RTS.528 TLONG: BYTE "  FILE LENGTH 
ERROR ",13,0.530 SETRMP: LDY #0: LDA ($7
A),Y.532 CMP #44      ; IF COMMA PRESENT
.534 BNE ITSBASIC.536 JMP ITSML    ; ITS
 MACHINE LANGUAGE.538 ITSBASIC: LDA 43: 
STA START: STA BLOCK1.539 LDA 45: STA EN
DP.540 LDA 44: STA START + 1: STA BLOCK1
 + 1.541 LDA 46: STA ENDP + 1.542 LDA 45
.544 SEC              ;SET UP PROPER.546
 LDA 45           ;VALUES FOR.548 SBC 43
           ;MDINIT ROUTINE..550 STA NUMB
ER       ;STORE NUMBER.552 LDA 46       
    ;OF BYTES TO MOVE..554 SBC 44.556 ST
A NUMBER + 1.558 LDA NDBYTE       ;SET S
TART BLOCK.560 STA BLOCK2.561 STA RMSRT.
562 LDA NDBYTE + 1.564 STA BLOCK2 + 1.56
5 STA RMSRT + 1.566 RTS             ;SAM
E AS ABOVE .568 ITSML           ;EXCEPT 
FOR M/L.569 JSR $AEFD.570 JSR $AD9E.572 
JSR $B7F7.574 STY START: STY BLOCK1.576 
STA START + 1: STA BLOCK1 + 1.578 JSR $A
EFD.580 JSR $AD9E.582 JSR $B7F7.584 STY 
ENDP.586 STA ENDP + 1.588 LDA ENDP.590 S
EC.592 SBC START.594 STA NUMBER.596 LDA 
ENDP + 1.598 SBC START + 1.600 STA NUMBE
R + 1.602 LDA NDBYTE.604 STA BLOCK2: STA
 RMSRT.606 LDA NDBYTE + 1.608 STA BLOCK2
 + 1: STA RMSRT + 1.610 RTS.800 RSAV.805
 JSR SETFNM   ;SET FILENAME.810 JSR FINE
NT   ;CHECK FOR DUP NAME.820 BPL ALREADY
  ;IF + ALREADY EXISTS.821 JSR SETRMP   
;SET PARAMS FOR MOVE.825 JSR CHFILEN  ;C
HECK LEN OF PROG.826 BPL NXSUB    ;IF - 
TOO LONG .827 RTS.830 NXSUB.831 JSR FINB
LENT ;FIND NEXT BLANK ENTRY.832 BPL GEXI
T    ;IF - DIRECTORY FULL.835 LDA #FN L(
FULLMESS) ; PRINT ERROR.836 LDY #FN H(FU
LLMESS) ; MESSAGE.837 JSR $AB1E.838 RTS.
840 GEXIT.841 JSR PUTNAM ;PUT NAME IN DI
RECTORY.845 JSR MDINIT ;PREPARE FOR MEM 
MOVE.846 JSR MOVEDN ;DO IT.847 CLC: LDA 
RESULT: ADC #$01: STA NDBYTE ;STORE NEXT
 POS. LO IN RAM DISK.848 LDA RESULT + 1:
 ADC #$00: STA NDBYTE + 1 ;STORE NEXT PO
S. HI RAM DISK.849 RTS    ; ALL DONE RET
URN TO BASIC.850 ALREADY: LDA #FN L(FALR
EAD).860 LDY #FN H(FALREAD).870 JSR $AB1
E  ;PRINT FILE EXISTS MESS.880 RTS.885 F
ALREAD: BYTE "  FILE EXISTS IN RAM DISK 
",13,0.886 FULLMESS: BYTE "  RAM DISK DI
RECTORY IS FULL ",13,0.991 ENDP: BYTE 0,
0.992 RESULT: BYTE 0,0.993 PLEN: BYTE 0,
0.994 START: BYTE 0,0.995 RMSRT: BYTE 0,
0.996 TEMP: BYTE 0.997 FLENN: BYTE 0.998
 DIRPOS: BYTE 0.1000 SETPLD            ;
SET PARAMS TO.1002 LDY DIRPOS        ;LO
AD FROM RAM.1004 CPY #0            ; DIS
K..1006 BEQ SETP: LDA #0.1008 PADDLP: CL
C     ; ANOTHER LOOP.1010 ADC #6        
  ; TO SET Y OFFSET.1012 DEY.1014 BNE PA
DDLP.1016 SETP            ; TRANSFER PAR
AMS.1018 LDA DIRBYT,Y    ; HERE..1020 ST
A NUMBER.1022 INY.1024 LDA DIRBYT,Y.1026
 STA NUMBER + 1.1028 INY.1030 LDA DIRBYT
,Y.1032 STA BLOCK2.1034 INY.1036 LDA DIR
BYT,Y.1038 STA BLOCK2 + 1.1040 INY.1042 
LDA DIRBYT,Y.1044 STA BLOCK1.1046 INY.10
48 LDA DIRBYT,Y.1050 STA BLOCK1 + 1.1052
 RTS.1060 DORAMLD.1062 LDA 1       ;BANK
 OUT BASIC FOR.1064 AND #254    ;FOR LOA
D FROM RAM.1066 STA 1       ;DISK..1068 
JSR MDINIT  ;SET UP PARAMS-MOVEDN.1070 J
SR MOVEDN  ;DO MOVE..1072 LDA 1       ;W
ERE DONE BANK BASIC.1074 ORA #1      ;BA
CK IN..1076 STA 1.1078 RTS.2000 RLOA: JS
R SETFNM ;SET FILENAME.2010 JSR FINENT  
     ;SEE IF EXISTS.2020 BPL NXROOT     
  ;IF + IT EXISTS.2030 JMP FNFND   ;IF N
OT PRINT ERR MESS.2040 NXROOT: JSR SETPL
D ;SET PARAMS.2041                    ;F
OR MDINIT.2050 JSR DORAMLD        ;DO LO
AD.2051 LDA BLOCK2 + 1  ;CHECK TO SEE IF
.2052 CMP 46          ;BASIC IF NOT.2053
 BNE RLOEXT      ;EXIT. IF IT IS.2055 LD
A 253         ;SET END PROGRAM.2056 STA 
45.2057 LDA 254.2058 STA 46.2060 JSR 422
91       ;RELINK LINES.2065 RLOEXT      
    ;AND EXIT..2066 RTS.2070 FNFND: LDA 
#FN L(FNFMESS).2080 LDY #FN H(FNFMESS).2
090 JSR $AB1E ; PRINT NOT FOUND MESS.210
0 RTS.2110 FNFMESS: BYTE "  FILE NOT IN 
RAM DISK ",13,0.2140 ZP = 251.2180 BLOCK
1: BYTE 0,192; ADDRESS OF BLOCK TO MOVE.
2190 BLOCK2: BYTE 0,160; ADDRESS OF BLOC
K TO MOVE TO.3100 NUMBER: BYTE 0,0; NUMB
ER OF BYTES TO MOVE.3110 MDINIT         
 ;SET ZERO PAGE PTR.3120  LDA BLOCK1    
 ;FOR BLOCK TO MOVE.3130  STA ZP.3140  L
DA BLOCK1 + 1.3150  STA ZP + 1.3160  LDA
 BLOCK2     ;SET ZPAGE PTR FOR.3170  STA
 ZP + 2     ;BLOCK TO MOVE.3180  LDA BLO
CK2 + 1.3190  STA ZP + 3.3200  LDX NUMBE
R     ;SET NUMBER OF.3210  LDY NUMBER + 
1 ;BYTES TO MOVE.3220  RTS.3230 MOVEDN.3
240  STX COUNTER    ;STORE COUNT VAL.325
0  STY COUNTER + 1;LO BYTE,HI BYTE.3260 
 LDY #0.3270 DOWNLP.3280  LDA (ZP),Y    
 ;GET BYTE BLOCK 1.3290  STA (ZP + 2),Y 
;STORE BLOCK 2.3300  JSR ADDONE     ;INC
 ZP PTRS 1.3310  DEC COUNTER    ;DEC CNT
R LO BYTE.3320  BNE DOWNLP.3330  DEC COU
NTER + 1;DEC CNTR HI BYTE.3340  LDA COUN
TER + 1;CHECK ARE WE DONE.3350  CMP #255
.3360  BNE DOWNLP.3370  RTS.3380 ADDONE 
        ;INC ZP PTRS HERE.3390  INC ZP.3
400  BNE INCTAR.3410  INC ZP + 1.3420 IN
CTAR.3430  INC ZP + 2.3440  BNE ADEXIT.3
450  INC ZP + 3.3460 ADEXIT.3470  RTS   
        ;WERE DONE RETURN.3480 COUNTER: 
BYTE 0,0 ;TWO BYTE COUNT.3481           
        ;FOR REMAINING.3482             
      ;BYTES TO MOVE.4000 NEXT: END... A
S WRITTEN THERE ARE NO ROUTINES FOR DELE
TING FILES FROM THE RAM DISK OR CLEARING
 IT. THESE WILL BE COMING IN THE FUTURE.
 TO USE THESE ROUTINES JUST OBTAIN THE V
ALUE OF THE LABELS ; RSAV AND RLOA THESE
 ARE YOUR SYS ADDRESSES.   THE SYNTAX GO
ES LIKE THIS:.SYS RSAV"FILENAME" : WILL 
SAVE A BASIC PROGRAM TO THE RAM DISK..SY
S RSAV"FILENAME",START,END : WILL SAVE A
 MACHINE LANGUAGE PROGRAM OR BINARY FILE
 TO THE RAM DISK..SYS RLOA"FILENAME" : W
ILL RETRIEVE A FILE FROM THE RAM DISK RE
GARDLESS OF WHETHER IT IS BASIC OR BINAR
Y (M/L). IF THE FILE IS BINARY IT WILL B
E RETURNED TO WHERE IT CAME FROM IN MEMO
RY.. ALSO MAKE SURE YOU KNOW WHAT FILES 
ARE SAVED TO THE RAM DISK SO THAT YOU CA
N RETRIEVE THEM. A DIRECTORY READING ROU
TINE IS ALSO IN THE WORKS. THE ACTUAL ST
ORAGE AREA IS THE RAM.UNDERNEATH THE BAS
IC ROM SO MAKE SURE ANY PROGRAM USED IN 
CONJUNCTION WITH THIS DOESN'T CORRUPT TH
IS AREA OR YOU WILL HAVE PROBLEMS.    ..
 HOPE THIS STIMULATES SOME OF THOSE PROG
RAMMING NERVES IN THE OL' BRAIN. THE M/L
 RESULTING FROM THIS SOURCE IS COMPLETEL
Y ERROR FREE (I THINK) I HAVE TRIED TO C
AUSE EVERY POSSIBLE ERROR AND PROVIDE FO
R ANY EASY OUT FROM THE PROGRAM. IF YOU 
HAVE ANY QUESTIONS FEEL FREE TO E-MAIL M
E FOR I SHOULD HAVE AN ANSWER. ...      
  ANOTHER CLASSIC FROM THE BASH..       
    (HEHEHEHEHE !!!).. 
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL