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

ADD-ON-LOAD.SRC

FILE INFORMATION

FILENAME(S): ADD-ON-LOAD.SRC

FILE TYPE(S): SEQ

FILE SIZE: 4.1K

FIRST SEEN: 2025-11-30 21:11:19

APPEARS ON: 1 disk(s)

FILE HASH

4d8db278963952954131b7d8192deeb539c96e7f20778a506b85ce19b4dbb95e

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
13 MAART 83 15 ADD-ON-LOAD.SRC SEQ DuncanTwain 7 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 0D 3B 2A 20 20 20  |**********.;*   |
00000030: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000040: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000050: 20 20 20 20 2A 0D 3B 2A  20 20 41 41 41 20 20 44  |    *.;*  AAA  D|
00000060: 44 44 44 20 20 44 44 44  44 20 20 20 20 20 20 20  |DDD  DDDD       |
00000070: 4F 4F 4F 20 20 4E 20 20  20 4E 20 20 20 20 20 2A  |OOO  N   N     *|
00000080: 0D 3B 2A 20 41 20 20 20  41 20 44 20 20 20 44 20  |.;* A   A D   D |
00000090: 44 20 20 20 44 20 20 20  20 20 4F 20 20 20 4F 20  |D   D     O   O |
000000A0: 4E 4E 20 20 4E 20 20 20  20 20 2A 0D 3B 2A 20 41  |NN  N     *.;* A|
000000B0: 20 20 20 41 20 44 20 20  20 44 20 44 20 20 20 44  |   A D   D D   D|
000000C0: 20 2A 2A 2A 20 4F 20 20  20 4F 20 4E 20 4E 20 4E  | *** O   O N N N|
000000D0: 20 20 20 20 20 2A 0D 3B  2A 20 41 41 41 41 41 20  |     *.;* AAAAA |
000000E0: 44 20 20 20 44 20 44 20  20 20 44 20 2A 2A 2A 20  |D   D D   D *** |
000000F0: 4F 20 20 20 4F 20 4E 20  4E 20 4E 20 20 20 20 20  |O   O N N N     |
00000100: 2A 0D 3B 2A 20 41 20 20  20 41 20 44 20 20 20 44  |*.;* A   A D   D|
00000110: 20 44 20 20 20 44 20 20  20 20 20 4F 20 20 20 4F  | D   D     O   O|
00000120: 20 4E 20 20 4E 4E 20 20  20 20 20 2A 0D 3B 2A 20  | N  NN     *.;* |
00000130: 41 20 20 20 41 20 44 44  44 44 20 20 44 44 44 44  |A   A DDDD  DDDD|
00000140: 20 20 20 20 20 20 20 4F  4F 4F 20 20 4E 20 20 20  |       OOO  N   |
00000150: 4E 20 20 20 20 20 2A 0D  3B 2A 20 20 20 20 20 20  |N     *.;*      |
00000160: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000170: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000180: 20 2A 0D 3B 2A 20 4C 20  20 20 20 20 20 4F 4F 4F  | *.;* L      OOO|
00000190: 20 20 20 41 41 41 20 20  44 44 44 44 20 20 45 45  |   AAA  DDDD  EE|
000001A0: 45 45 45 20 52 52 52 52  20 20 20 20 2A 0D 3B 2A  |EEE RRRR    *.;*|
000001B0: 20 4C 20 20 20 20 20 4F  20 20 20 4F 20 41 20 20  | L     O   O A  |
000001C0: 20 41 20 44 20 20 20 44  20 45 20 20 20 20 20 52  | A D   D E     R|
000001D0: 20 20 20 52 20 20 20 2A  0D 3B 2A 20 4C 20 20 20  |   R   *.;* L   |
000001E0: 20 20 4F 20 20 20 4F 20  41 20 20 20 41 20 44 20  |  O   O A   A D |
000001F0: 20 20 44 20 45 20 20 20  20 20 52 20 20 20 52 20  |  D E     R   R |
00000200: 20 20 2A 0D 3B 2A 20 4C  20 20 20 20 20 4F 20 20  |  *.;* L     O  |
00000210: 20 4F 20 41 41 41 41 41  20 44 20 20 20 44 20 45  | O AAAAA D   D E|
00000220: 45 45 45 20 20 52 52 52  52 20 20 20 20 2A 0D 3B  |EEE  RRRR    *.;|
00000230: 2A 20 4C 20 20 20 20 20  4F 20 20 20 4F 20 41 20  |* L     O   O A |
00000240: 20 20 41 20 44 20 20 20  44 20 45 20 20 20 20 20  |  A D   D E     |
00000250: 52 20 20 20 52 20 20 20  2A 0D 3B 2A 20 4C 4C 4C  |R   R   *.;* LLL|
00000260: 4C 4C 20 20 4F 4F 4F 20  20 41 20 20 20 41 20 44  |LL  OOO  A   A D|
00000270: 44 44 44 20 20 45 45 45  45 45 20 52 20 20 20 52  |DDD  EEEEE R   R|
00000280: 20 20 20 2A 0D 3B 2A 20  20 20 20 20 20 20 20 20  |   *.;*         |
00000290: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 0D  |              *.|
000002B0: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
000002C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000002D0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 0D 2E 53 4B 49 20 35  |*********..SKI 5|
000002E0: 0D 3B 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;**************|
000002F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000300: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 3B 2A 20 20  |***********.;*  |
00000310: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000320: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000330: 20 20 20 20 20 2A 0D 3B  2A 20 20 36 34 4B 2D 41  |     *.;*  64K-A|
00000340: 44 44 2D 4F 4E 20 4C 4F  41 44 45 52 20 20 20 20  |DD-ON LOADER    |
00000350: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000360: 2A 0D 3B 2A 20 20 20 20  20 20 20 20 20 20 20 20  |*.;*            |
00000370: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000380: 20 20 20 20 20 20 20 20  20 20 20 2A 0D 3B 2A 20  |           *.;* |
00000390: 20 54 48 49 53 20 50 52  4F 47 52 41 4D 20 49 4E  | THIS PROGRAM IN|
000003A0: 50 55 54 53 20 41 20 46  49 4C 45 20 4E 41 4D 45  |PUTS A FILE NAME|
000003B0: 20 46 52 4F 4D 20 2A 0D  3B 2A 20 20 54 48 45 20  | FROM *.;*  THE |
000003C0: 4B 45 59 42 4F 41 52 44  20 41 4E 44 20 41 54 54  |KEYBOARD AND ATT|
000003D0: 45 4D 50 54 53 20 54 4F  20 4C 4F 41 44 20 20 20  |EMPTS TO LOAD   |
000003E0: 20 2A 0D 3B 2A 20 20 54  48 41 54 20 50 52 4F 47  | *.;*  THAT PROG|
000003F0: 52 41 4D 20 49 4E 54 4F  20 41 44 44 2D 4F 4E 20  |RAM INTO ADD-ON |
00000400: 52 41 4D 20 53 45 4C 45  43 54 45 44 2A 0D 3B 2A  |RAM SELECTED*.;*|
00000410: 20 20 42 59 20 43 4F 4E  54 52 4F 4C 20 52 45 47  |  BY CONTROL REG|
00000420: 49 53 54 45 52 20 56 41  4C 55 45 20 25 31 30 30  |ISTER VALUE %100|
00000430: 30 30 30 30 30 2E 20 2A  0D 3B 2A 20 20 41 20 43  |00000. *.;*  A C|
00000440: 42 4D 20 44 49 53 4B 20  55 4E 49 54 20 23 38 20  |BM DISK UNIT #8 |
00000450: 49 53 20 41 53 53 55 4D  45 44 2E 20 41 4E 20 20  |IS ASSUMED. AN  |
00000460: 20 20 2A 0D 3B 2A 20 20  41 55 54 4F 20 53 54 41  |  *.;*  AUTO STA|
00000470: 52 54 20 49 53 20 41 54  54 45 4D 50 54 45 44 20  |RT IS ATTEMPTED |
00000480: 54 48 52 4F 55 47 48 20  20 20 20 20 20 2A 0D 3B  |THROUGH      *.;|
00000490: 2A 20 20 28 24 46 46 46  43 29 2E 20 20 41 20 4E  |*  ($FFFC).  A N|
000004A0: 55 4C 4C 20 46 49 4C 45  20 4E 41 4D 45 20 54 45  |ULL FILE NAME TE|
000004B0: 52 4D 49 4E 41 54 45 53  2A 0D 3B 2A 20 20 54 48  |RMINATES*.;*  TH|
000004C0: 49 53 20 50 52 4F 47 52  41 4D 2E 20 20 20 20 20  |IS PROGRAM.     |
000004D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004E0: 20 20 20 2A 0D 3B 2A 20  20 20 20 20 20 20 20 20  |   *.;*         |
000004F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000500: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 0D  |              *.|
00000510: 3B 2A 20 20 32 46 45 42  38 31 20 52 4A 46 20 20  |;*  2FEB81 RJF  |
00000520: 20 20 20 20 20 20 20 32  39 4A 55 4C 38 31 20 52  |       29JUL81 R|
00000530: 4A 46 20 20 20 20 20 20  20 2A 0D 3B 2A 20 20 43  |JF       *.;*  C|
00000540: 42 4D 20 50 41 52 54 20  23 20 31 31 38 30 30 32  |BM PART # 118002|
00000550: 20 52 45 56 20 42 20 20  20 20 20 20 20 20 20 20  | REV B          |
00000560: 20 20 20 20 2A 0D 3B 2A  20 20 20 20 20 20 20 20  |    *.;*        |
00000570: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000580: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2A  |               *|
00000590: 0D 3B 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;**************|
000005A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000005B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 2E 50 41 47  |***********..PAG|
000005C0: 20 27 45 51 55 41 54 45  53 27 0D 2A 20 3D 30 0D  | 'EQUATES'.* =0.|
000005D0: 4D 45 4D 4D 41 50 20 2A  3D 2A 2B 31 20 3B 43 4F  |MEMMAP *=*+1 ;CO|
000005E0: 50 59 20 4F 46 20 41 44  44 2D 4F 4E 20 52 45 47  |PY OF ADD-ON REG|
000005F0: 0D 2E 53 4B 49 20 33 0D  3B 45 51 55 41 54 45 53  |..SKI 3.;EQUATES|
00000600: 20 46 4F 52 20 42 41 53  49 43 20 34 2E 30 0D 3B  | FOR BASIC 4.0.;|
00000610: 0D 42 55 46 20 3D 24 32  30 30 0D 46 4E 41 44 52  |.BUF =$200.FNADR|
00000620: 20 3D 24 44 41 0D 46 4E  4C 45 4E 20 3D 24 44 31  | =$DA.FNLEN =$D1|
00000630: 0D 53 54 41 54 55 53 20  3D 24 39 36 0D 46 41 20  |.STATUS =$96.FA |
00000640: 3D 24 44 34 0D 53 41 20  3D 24 44 33 0D 52 43 4C  |=$D4.SA =$D3.RCL|
00000650: 52 43 48 20 3D 24 46 32  41 36 0D 52 4C 49 53 54  |RCH =$F2A6.RLIST|
00000660: 4E 20 3D 24 46 30 44 35  0D 52 53 45 43 4E 44 20  |N =$F0D5.RSECND |
00000670: 3D 24 46 31 34 33 0D 52  43 49 4F 55 54 20 3D 24  |=$F143.RCIOUT =$|
00000680: 46 31 39 45 0D 52 55 4E  4C 53 4E 20 3D 24 46 31  |F19E.RUNLSN =$F1|
00000690: 42 39 0D 52 54 41 4C 4B  20 3D 24 46 30 44 32 0D  |B9.RTALK =$F0D2.|
000006A0: 52 54 4B 53 41 20 3D 24  46 31 39 33 0D 52 41 43  |RTKSA =$F193.RAC|
000006B0: 50 54 52 20 3D 24 46 31  43 30 0D 52 55 4E 54 4C  |PTR =$F1C0.RUNTL|
000006C0: 4B 20 3D 24 46 31 41 45  0D 52 4F 50 45 4E 49 20  |K =$F1AE.ROPENI |
000006D0: 3D 24 46 34 41 35 0D 2E  50 41 47 20 27 49 4E 49  |=$F4A5..PAG 'INI|
000006E0: 54 20 32 2D 31 32 2D 38  31 27 0D 3B 0D 2A 20 3D  |T 2-12-81'.;.* =|
000006F0: 31 30 32 34 0D 53 59 53  20 3D 31 35 38 20 3B 42  |1024.SYS =158 ;B|
00000700: 41 53 49 43 20 54 4F 4B  45 4E 20 56 41 4C 55 45  |ASIC TOKEN VALUE|
00000710: 0D 3B 0D 3B 45 4E 54 45  52 20 43 4F 4D 50 49 4C  |.;.;ENTER COMPIL|
00000720: 45 44 20 42 41 53 49 43  20 54 45 58 54 0D 3B 0D  |ED BASIC TEXT.;.|
00000730: 2E 42 59 54 20 30 0D 2E  57 4F 52 20 49 4E 49 54  |.BYT 0..WOR INIT|
00000740: 2D 32 0D 2E 57 4F 52 20  24 31 30 0D 2E 42 59 54  |-2..WOR $10..BYT|
00000750: 20 53 59 53 0D 2E 42 59  54 20 27 28 31 30 33 39  | SYS..BYT '(1039|
00000760: 29 27 2C 30 2C 30 2C 30  0D 3B 0D 3B 53 45 54 55  |)',0,0,0.;.;SETU|
00000770: 50 54 20 46 49 4C 45 20  4C 4F 41 44 20 50 41 52  |PT FILE LOAD PAR|
00000780: 4D 53 0D 3B 0D 49 4E 49  54 20 4C 44 41 20 23 25  |MS.;.INIT LDA #%|
00000790: 31 30 30 30 30 30 30 30  0D 53 54 41 20 4D 45 4D  |10000000.STA MEM|
000007A0: 4D 41 50 0D 3B 0D 4C 44  59 20 23 4D 53 32 2D 4D  |MAP.;.LDY #MS2-M|
000007B0: 53 31 0D 4A 53 52 20 4D  53 47 20 3B 54 59 50 45  |S1.JSR MSG ;TYPE|
000007C0: 20 45 4E 54 52 59 20 4D  45 53 53 41 47 45 0D 3B  | ENTRY MESSAGE.;|
000007D0: 0D 49 4E 49 54 31 30 20  4C 44 41 20 23 3C 42 55  |.INIT10 LDA #<BU|
000007E0: 46 0D 53 54 41 20 46 4E  41 44 52 0D 4C 44 41 20  |F.STA FNADR.LDA |
000007F0: 23 3E 42 55 46 0D 53 54  41 20 46 4E 41 44 52 2B  |#>BUF.STA FNADR+|
00000800: 31 20 3B 50 4C 41 43 45  20 46 4F 52 20 46 49 4C  |1 ;PLACE FOR FIL|
00000810: 45 20 4E 41 4D 45 0D 3B  0D 4C 44 41 20 23 38 0D  |E NAME.;.LDA #8.|
00000820: 53 54 41 20 46 41 20 3B  44 45 56 49 43 45 20 23  |STA FA ;DEVICE #|
00000830: 38 0D 3B 0D 3B 49 4E 50  55 54 20 46 49 4C 45 20  |8.;.;INPUT FILE |
00000840: 4E 41 4D 45 20 46 52 4F  4D 20 53 43 52 45 45 4E  |NAME FROM SCREEN|
00000850: 20 54 4F 20 42 55 46 0D  3B 0D 4C 44 58 20 23 30  | TO BUF.;.LDX #0|
00000860: 0D 49 4E 49 54 32 30 20  4A 53 52 20 24 46 46 43  |.INIT20 JSR $FFC|
00000870: 46 0D 43 4D 50 20 23 24  44 0D 42 45 51 20 49 4E  |F.CMP #$D.BEQ IN|
00000880: 49 54 33 30 0D 53 54 41  20 42 55 46 2C 58 0D 49  |IT30.STA BUF,X.I|
00000890: 4E 58 0D 42 4E 45 20 49  4E 49 54 32 30 0D 3B 0D  |NX.BNE INIT20.;.|
000008A0: 49 4E 49 54 33 30 20 53  54 58 20 46 4E 4C 45 4E  |INIT30 STX FNLEN|
000008B0: 0D 4C 44 41 20 23 24 44  0D 4A 53 52 20 24 46 46  |.LDA #$D.JSR $FF|
000008C0: 44 32 20 3B 45 43 48 4F  20 43 52 0D 3B 0D 4C 44  |D2 ;ECHO CR.;.LD|
000008D0: 41 20 46 4E 4C 45 4E 0D  42 4E 45 20 49 4E 49 54  |A FNLEN.BNE INIT|
000008E0: 34 30 20 3B 4E 41 4D 45  20 57 41 53 20 4E 4F 54  |40 ;NAME WAS NOT|
000008F0: 20 4E 55 4C 4C 0D 3B 0D  52 54 53 0D 3B 0D 49 4E  | NULL.;.RTS.;.IN|
00000900: 49 54 34 30 20 53 45 49  20 20 3B 50 52 4F 54 45  |IT40 SEI  ;PROTE|
00000910: 43 54 53 20 41 44 44 2D  4F 4E 0D 3B 0D 2E 50 41  |CTS ADD-ON.;..PA|
00000920: 47 20 27 4C 4F 41 44 20  32 2D 31 32 2D 38 31 27  |G 'LOAD 2-12-81'|
00000930: 0D 3B 0D 4C 4F 41 44 20  4C 44 41 20 23 30 0D 53  |.;.LOAD LDA #0.S|
00000940: 54 41 20 53 54 41 54 55  53 0D 3B 0D 4C 44 41 20  |TA STATUS.;.LDA |
00000950: 23 24 36 30 0D 53 54 41  20 53 41 20 3B 53 50 45  |#$60.STA SA ;SPE|
00000960: 43 49 41 4C 20 4C 4F 41  44 20 43 4F 4D 4D 41 4E  |CIAL LOAD COMMAN|
00000970: 44 0D 3B 0D 4A 53 52 20  4F 50 45 4E 49 20 3B 4F  |D.;.JSR OPENI ;O|
00000980: 50 45 4E 20 54 48 45 20  46 49 4C 45 0D 3B 0D 4C  |PEN THE FILE.;.L|
00000990: 44 41 20 46 41 0D 4A 53  52 20 54 41 4C 4B 20 3B  |DA FA.JSR TALK ;|
000009A0: 45 53 54 41 42 4C 49 53  48 20 43 48 41 4E 4E 45  |ESTABLISH CHANNE|
000009B0: 4C 0D 3B 0D 4C 44 41 20  53 41 0D 4A 53 52 20 54  |L.;.LDA SA.JSR T|
000009C0: 4B 53 41 20 3B 54 45 4C  4C 20 49 54 20 54 4F 20  |KSA ;TELL IT TO |
000009D0: 4C 4F 41 44 0D 3B 0D 4A  53 52 20 41 43 50 54 52  |LOAD.;.JSR ACPTR|
000009E0: 20 3B 47 45 54 20 46 49  52 53 54 20 42 59 54 0D  | ;GET FIRST BYT.|
000009F0: 53 54 41 20 45 41 4C 20  3B 4C 4F 41 44 20 41 44  |STA EAL ;LOAD AD|
00000A00: 44 52 45 53 53 20 4C 4F  57 0D 3B 0D 4C 44 41 20  |DRESS LOW.;.LDA |
00000A10: 53 54 41 54 55 53 0D 4C  53 52 20 41 0D 4C 53 52  |STATUS.LSR A.LSR|
00000A20: 20 41 0D 42 43 53 20 4C  44 39 30 20 3B 46 49 4C  | A.BCS LD90 ;FIL|
00000A30: 45 20 4E 4F 54 20 46 4F  55 4E 44 0D 3B 0D 4A 53  |E NOT FOUND.;.JS|
00000A40: 52 20 41 43 50 54 52 0D  53 54 41 20 45 41 48 20  |R ACPTR.STA EAH |
00000A50: 3B 4C 4F 41 44 20 41 44  44 52 45 53 53 20 48 49  |;LOAD ADDRESS HI|
00000A60: 47 48 0D 3B 0D 4C 44 34  30 20 4C 44 41 20 23 24  |GH.;.LD40 LDA #$|
00000A70: 46 44 20 3B 4D 41 53 4B  20 4F 46 46 20 54 49 4D  |FD ;MASK OFF TIM|
00000A80: 45 4F 55 54 0D 41 4E 44  20 53 54 41 54 55 53 0D  |EOUT.AND STATUS.|
00000A90: 53 54 41 20 53 54 41 54  55 53 0D 3B 0D 4C 44 34  |STA STATUS.;.LD4|
00000AA0: 35 20 4A 53 52 20 41 43  50 54 52 20 3B 44 41 54  |5 JSR ACPTR ;DAT|
00000AB0: 41 20 42 59 54 45 0D 54  41 58 0D 4C 44 41 20 53  |A BYTE.TAX.LDA S|
00000AC0: 54 41 54 55 53 20 3B 54  49 4D 45 4F 55 54 3F 0D  |TATUS ;TIMEOUT?.|
00000AD0: 4C 53 52 20 41 0D 4C 53  52 20 41 0D 42 43 53 20  |LSR A.LSR A.BCS |
00000AE0: 4C 44 34 30 20 3B 59 45  53 2E 2E 2E 54 52 59 20  |LD40 ;YES...TRY |
00000AF0: 41 47 41 49 4E 0D 3B 0D  45 41 4C 20 3D 2A 2B 31  |AGAIN.;.EAL =*+1|
00000B00: 0D 45 41 48 20 3D 2A 2B  32 0D 53 54 58 20 24 46  |.EAH =*+2.STX $F|
00000B10: 30 30 30 20 3B 4F 50 45  52 41 4E 44 20 49 53 20  |000 ;OPERAND IS |
00000B20: 53 45 4C 46 20 4D 4F 44  49 46 59 0D 3B 0D 4C 44  |SELF MODIFY.;.LD|
00000B30: 36 30 20 49 4E 43 20 45  41 4C 20 3B 49 4E 43 20  |60 INC EAL ;INC |
00000B40: 53 54 4F 52 45 20 41 44  44 52 45 53 53 0D 42 4E  |STORE ADDRESS.BN|
00000B50: 45 20 4C 44 37 30 0D 49  4E 43 20 45 41 48 0D 3B  |E LD70.INC EAH.;|
00000B60: 0D 4C 44 37 30 20 42 49  54 20 53 54 41 54 55 53  |.LD70 BIT STATUS|
00000B70: 20 3B 45 4F 49 3F 0D 42  56 43 20 4C 44 34 30 20  | ;EOI?.BVC LD40 |
00000B80: 3B 4E 4F 2E 2E 2E 0D 3B  0D 4A 53 52 20 55 4E 54  |;NO....;.JSR UNT|
00000B90: 4C 4B 20 3B 43 4C 4F 53  45 20 43 48 41 4E 4E 45  |LK ;CLOSE CHANNE|
00000BA0: 4C 0D 3B 0D 3B 43 4C 4F  53 45 20 46 49 4C 45 0D  |L.;.;CLOSE FILE.|
00000BB0: 3B 0D 4C 44 41 20 46 41  0D 4A 53 52 20 4C 49 53  |;.LDA FA.JSR LIS|
00000BC0: 54 4E 0D 3B 0D 4C 44 41  20 53 41 0D 41 4E 44 20  |TN.;.LDA SA.AND |
00000BD0: 23 24 45 46 0D 4F 52 41  20 23 24 45 30 0D 4A 53  |#$EF.ORA #$E0.JS|
00000BE0: 52 20 53 45 43 4E 44 0D  3B 0D 4A 53 52 20 55 4E  |R SECND.;.JSR UN|
00000BF0: 4C 53 4E 0D 3B 0D 3B 49  2F 4F 20 50 45 45 4B 2C  |LSN.;.;I/O PEEK,|
00000C00: 53 43 52 45 45 4E 20 50  45 45 4B 0D 3B 41 4E 44  |SCREEN PEEK.;AND|
00000C10: 20 57 52 49 54 45 20 50  52 4F 54 45 43 54 20 42  | WRITE PROTECT B|
00000C20: 4C 4F 43 4B 53 0D 3B 0D  4C 44 41 20 23 25 31 31  |LOCKS.;.LDA #%11|
00000C30: 31 30 30 30 31 31 0D 53  54 41 20 24 46 46 46 30  |100011.STA $FFF0|
00000C40: 0D 3B 0D 4A 4D 50 20 28  24 46 46 46 43 29 0D 3B  |.;.JMP ($FFFC).;|
00000C50: 0D 4C 44 39 30 20 4A 53  52 20 43 4C 52 43 48 0D  |.LD90 JSR CLRCH.|
00000C60: 4C 44 41 20 23 25 30 30  30 30 30 30 30 30 0D 53  |LDA #%00000000.S|
00000C70: 54 41 20 24 46 46 46 30  20 3B 4D 41 50 20 42 41  |TA $FFF0 ;MAP BA|
00000C80: 43 4B 20 54 4F 20 52 4F  4D 0D 3B 0D 4C 44 59 20  |CK TO ROM.;.LDY |
00000C90: 23 4D 53 31 2D 4D 53 31  0D 4A 53 52 20 4D 53 47  |#MS1-MS1.JSR MSG|
00000CA0: 20 3B 46 49 4C 45 20 4E  4F 54 20 46 4F 55 4E 44  | ;FILE NOT FOUND|
00000CB0: 20 45 52 52 4F 52 0D 3B  0D 43 4C 49 0D 4A 4D 50  | ERROR.;.CLI.JMP|
00000CC0: 20 49 4E 49 54 31 30 20  3B 52 45 54 52 59 0D 2E  | INIT10 ;RETRY..|
00000CD0: 50 41 47 20 27 53 55 42  53 20 32 2D 31 32 2D 38  |PAG 'SUBS 2-12-8|
00000CE0: 31 27 0D 3B 0D 43 4C 52  43 48 20 4C 44 41 20 23  |1'.;.CLRCH LDA #|
00000CF0: 30 0D 53 54 41 20 24 46  46 46 30 0D 4A 53 52 20  |0.STA $FFF0.JSR |
00000D00: 52 43 4C 52 43 48 0D 4C  44 41 20 4D 45 4D 4D 41  |RCLRCH.LDA MEMMA|
00000D10: 50 0D 53 54 41 20 24 46  46 46 30 0D 52 54 53 0D  |P.STA $FFF0.RTS.|
00000D20: 2E 53 4B 49 20 35 0D 4C  49 53 54 4E 20 53 54 41  |.SKI 5.LISTN STA|
00000D30: 20 46 41 0D 4C 44 41 20  23 30 0D 53 54 41 20 24  | FA.LDA #0.STA $|
00000D40: 46 46 46 30 0D 4A 53 52  20 52 4C 49 53 54 4E 0D  |FFF0.JSR RLISTN.|
00000D50: 4C 44 41 20 4D 45 4D 4D  41 50 0D 53 54 41 20 24  |LDA MEMMAP.STA $|
00000D60: 46 46 46 30 0D 52 54 53  0D 2E 53 4B 49 20 35 0D  |FFF0.RTS..SKI 5.|
00000D70: 53 45 43 4E 44 20 50 48  41 0D 4C 44 41 20 23 30  |SECND PHA.LDA #0|
00000D80: 0D 53 54 41 20 24 46 46  46 30 0D 50 4C 41 0D 4A  |.STA $FFF0.PLA.J|
00000D90: 53 52 20 52 53 45 43 4E  44 0D 4C 44 41 20 4D 45  |SR RSECND.LDA ME|
00000DA0: 4D 4D 41 50 0D 53 54 41  20 24 46 46 46 30 0D 52  |MMAP.STA $FFF0.R|
00000DB0: 54 53 0D 2E 53 4B 49 20  35 0D 43 49 4F 55 54 20  |TS..SKI 5.CIOUT |
00000DC0: 50 48 41 0D 4C 44 41 20  23 30 0D 53 54 41 20 24  |PHA.LDA #0.STA $|
00000DD0: 46 46 46 30 0D 50 4C 41  0D 4A 53 52 20 52 43 49  |FFF0.PLA.JSR RCI|
00000DE0: 4F 55 54 0D 4C 44 41 20  4D 45 4D 4D 41 50 0D 53  |OUT.LDA MEMMAP.S|
00000DF0: 54 41 20 24 46 46 46 30  0D 52 54 53 0D 2E 53 4B  |TA $FFF0.RTS..SK|
00000E00: 49 20 35 0D 55 4E 4C 53  4E 0D 4C 44 41 20 23 30  |I 5.UNLSN.LDA #0|
00000E10: 0D 53 54 41 20 24 46 46  46 30 0D 4A 53 52 20 52  |.STA $FFF0.JSR R|
00000E20: 55 4E 4C 53 4E 0D 4C 44  41 20 4D 45 4D 4D 41 50  |UNLSN.LDA MEMMAP|
00000E30: 0D 53 54 41 20 24 46 46  46 30 0D 52 54 53 0D 2E  |.STA $FFF0.RTS..|
00000E40: 53 4B 49 20 35 0D 54 41  4C 4B 20 53 54 41 20 46  |SKI 5.TALK STA F|
00000E50: 41 0D 4C 44 41 20 23 30  0D 53 54 41 20 24 46 46  |A.LDA #0.STA $FF|
00000E60: 46 30 0D 4A 53 52 20 52  54 41 4C 4B 0D 4C 44 41  |F0.JSR RTALK.LDA|
00000E70: 20 4D 45 4D 4D 41 50 0D  53 54 41 20 24 46 46 46  | MEMMAP.STA $FFF|
00000E80: 30 0D 52 54 53 0D 2E 53  4B 49 20 35 0D 54 4B 53  |0.RTS..SKI 5.TKS|
00000E90: 41 20 50 48 41 0D 4C 44  41 20 23 30 0D 53 54 41  |A PHA.LDA #0.STA|
00000EA0: 20 24 46 46 46 30 0D 50  4C 41 0D 4A 53 52 20 52  | $FFF0.PLA.JSR R|
00000EB0: 54 4B 53 41 0D 4C 44 41  20 4D 45 4D 4D 41 50 0D  |TKSA.LDA MEMMAP.|
00000EC0: 53 54 41 20 24 46 46 46  30 0D 52 54 53 0D 2E 53  |STA $FFF0.RTS..S|
00000ED0: 4B 49 20 35 0D 41 43 50  54 52 0D 4C 44 41 20 23  |KI 5.ACPTR.LDA #|
00000EE0: 30 0D 53 54 41 20 24 46  46 46 30 0D 4A 53 52 20  |0.STA $FFF0.JSR |
00000EF0: 52 41 43 50 54 52 0D 50  48 41 0D 4C 44 41 20 4D  |RACPTR.PHA.LDA M|
00000F00: 45 4D 4D 41 50 0D 53 54  41 20 24 46 46 46 30 0D  |EMMAP.STA $FFF0.|
00000F10: 50 4C 41 0D 52 54 53 0D  2E 53 4B 49 20 35 0D 55  |PLA.RTS..SKI 5.U|
00000F20: 4E 54 4C 4B 0D 4C 44 41  20 23 30 0D 53 54 41 20  |NTLK.LDA #0.STA |
00000F30: 24 46 46 46 30 0D 4A 53  52 20 52 55 4E 54 4C 4B  |$FFF0.JSR RUNTLK|
00000F40: 0D 4C 44 41 20 4D 45 4D  4D 41 50 0D 53 54 41 20  |.LDA MEMMAP.STA |
00000F50: 24 46 46 46 30 0D 52 54  53 0D 2E 53 4B 49 20 35  |$FFF0.RTS..SKI 5|
00000F60: 0D 4F 50 45 4E 49 20 50  48 41 0D 4C 44 41 20 23  |.OPENI PHA.LDA #|
00000F70: 30 0D 53 54 41 20 24 46  46 46 30 0D 50 4C 41 0D  |0.STA $FFF0.PLA.|
00000F80: 4A 53 52 20 52 4F 50 45  4E 49 0D 53 45 49 0D 4C  |JSR ROPENI.SEI.L|
00000F90: 44 41 20 4D 45 4D 4D 41  50 0D 53 54 41 20 24 46  |DA MEMMAP.STA $F|
00000FA0: 46 46 30 0D 52 54 53 0D  2E 53 4B 49 20 35 0D 4D  |FF0.RTS..SKI 5.M|
00000FB0: 53 31 20 2E 42 59 54 20  24 44 2C 27 3F 46 49 4C  |S1 .BYT $D,'?FIL|
00000FC0: 45 20 4E 4F 54 20 46 4F  55 4E 44 20 45 52 52 4F  |E NOT FOUND ERRO|
00000FD0: 52 27 2C 24 38 44 0D 4D  53 32 20 2E 42 59 54 20  |R',$8D.MS2 .BYT |
00000FE0: 24 44 2C 31 38 0D 2E 42  59 54 20 27 36 34 4B 20  |$D,18..BYT '64K |
00000FF0: 41 44 44 2D 4F 4E 2D 4C  4F 41 44 45 52 20 32 2D  |ADD-ON-LOADER 2-|
00001000: 31 32 2D 38 31 27 0D 2E  42 59 54 20 24 44 2C 24  |12-81'..BYT $D,$|
00001010: 44 2C 24 44 0D 2E 42 59  54 20 27 53 59 53 54 45  |D,$D..BYT 'SYSTE|
00001020: 4D 20 4E 41 4D 45 3F 27  2C 24 41 30 0D 4D 53 47  |M NAME?',$A0.MSG|
00001030: 20 4C 44 41 20 4D 53 47  2C 59 0D 50 48 50 0D 41  | LDA MSG,Y.PHP.A|
00001040: 4E 44 20 23 24 37 46 0D  4A 53 52 20 24 46 46 44  |ND #$7F.JSR $FFD|
00001050: 32 0D 49 4E 59 0D 50 4C  50 0D 42 50 4C 20 4D 53  |2.INY.PLP.BPL MS|
00001060: 47 0D 52 54 53 0D 2E 45  4E 44 0D                 |G.RTS..END.     |
;***************************************
**.;*                                   
    *.;*  AAA  DDDD  DDDD       OOO  N  
 N     *.;* A   A D   D D   D     O   O 
NN  N     *.;* A   A D   D D   D *** O  
 O N N N     *.;* AAAAA D   D D   D *** 
O   O N N N     *.;* A   A D   D D   D  
   O   O N  NN     *.;* A   A DDDD  DDDD
       OOO  N   N     *.;*              
                         *.;* L      OOO
   AAA  DDDD  EEEEE RRRR    *.;* L     O
   O A   A D   D E     R   R   *.;* L   
  O   O A   A D   D E     R   R   *.;* L
     O   O AAAAA D   D EEEE  RRRR    *.;
* L     O   O A   A D   D E     R   R   
*.;* LLLLL  OOO  A   A DDDD  EEEEE R   R
   *.;*                                 
      *.;*******************************
*********..SKI 5.;**********************
*******************.;*                  
                     *.;*  64K-ADD-ON LO
ADER                    *.;*            
                           *.;*  THIS PR
OGRAM INPUTS A FILE NAME FROM *.;*  THE 
KEYBOARD AND ATTEMPTS TO LOAD    *.;*  T
HAT PROGRAM INTO ADD-ON RAM SELECTED*.;*
  BY CONTROL REGISTER VALUE %10000000. *
.;*  A CBM DISK UNIT #8 IS ASSUMED. AN  
  *.;*  AUTO START IS ATTEMPTED THROUGH 
     *.;*  ($FFFC).  A NULL FILE NAME TE
RMINATES*.;*  THIS PROGRAM.             
           *.;*                         
              *.;*  2FEB81 RJF         2
9JUL81 RJF       *.;*  CBM PART # 118002
 REV B              *.;*                
                       *.;**************
***************************..PAG 'EQUATE
S'.* =0.MEMMAP *=*+1 ;COPY OF ADD-ON REG
..SKI 3.;EQUATES FOR BASIC 4.0.;.BUF =$2
00.FNADR =$DA.FNLEN =$D1.STATUS =$96.FA 
=$D4.SA =$D3.RCLRCH =$F2A6.RLISTN =$F0D5
.RSECND =$F143.RCIOUT =$F19E.RUNLSN =$F1
B9.RTALK =$F0D2.RTKSA =$F193.RACPTR =$F1
C0.RUNTLK =$F1AE.ROPENI =$F4A5..PAG 'INI
T 2-12-81'.;.* =1024.SYS =158 ;BASIC TOK
EN VALUE.;.;ENTER COMPILED BASIC TEXT.;.
.BYT 0..WOR INIT-2..WOR $10..BYT SYS..BY
T '(1039)',0,0,0.;.;SETUPT FILE LOAD PAR
MS.;.INIT LDA #%10000000.STA MEMMAP.;.LD
Y #MS2-MS1.JSR MSG ;TYPE ENTRY MESSAGE.;
.INIT10 LDA #<BUF.STA FNADR.LDA #>BUF.ST
A FNADR+1 ;PLACE FOR FILE NAME.;.LDA #8.
STA FA ;DEVICE #8.;.;INPUT FILE NAME FRO
M SCREEN TO BUF.;.LDX #0.INIT20 JSR $FFC
F.CMP #$D.BEQ INIT30.STA BUF,X.INX.BNE I
NIT20.;.INIT30 STX FNLEN.LDA #$D.JSR $FF
D2 ;ECHO CR.;.LDA FNLEN.BNE INIT40 ;NAME
 WAS NOT NULL.;.RTS.;.INIT40 SEI  ;PROTE
CTS ADD-ON.;..PAG 'LOAD 2-12-81'.;.LOAD 
LDA #0.STA STATUS.;.LDA #$60.STA SA ;SPE
CIAL LOAD COMMAND.;.JSR OPENI ;OPEN THE 
FILE.;.LDA FA.JSR TALK ;ESTABLISH CHANNE
L.;.LDA SA.JSR TKSA ;TELL IT TO LOAD.;.J
SR ACPTR ;GET FIRST BYT.STA EAL ;LOAD AD
DRESS LOW.;.LDA STATUS.LSR A.LSR A.BCS L
D90 ;FILE NOT FOUND.;.JSR ACPTR.STA EAH 
;LOAD ADDRESS HIGH.;.LD40 LDA #$FD ;MASK
 OFF TIMEOUT.AND STATUS.STA STATUS.;.LD4
5 JSR ACPTR ;DATA BYTE.TAX.LDA STATUS ;T
IMEOUT?.LSR A.LSR A.BCS LD40 ;YES...TRY 
AGAIN.;.EAL =*+1.EAH =*+2.STX $F000 ;OPE
RAND IS SELF MODIFY.;.LD60 INC EAL ;INC 
STORE ADDRESS.BNE LD70.INC EAH.;.LD70 BI
T STATUS ;EOI?.BVC LD40 ;NO....;.JSR UNT
LK ;CLOSE CHANNEL.;.;CLOSE FILE.;.LDA FA
.JSR LISTN.;.LDA SA.AND #$EF.ORA #$E0.JS
R SECND.;.JSR UNLSN.;.;I/O PEEK,SCREEN P
EEK.;AND WRITE PROTECT BLOCKS.;.LDA #%11
100011.STA $FFF0.;.JMP ($FFFC).;.LD90 JS
R CLRCH.LDA #%00000000.STA $FFF0 ;MAP BA
CK TO ROM.;.LDY #MS1-MS1.JSR MSG ;FILE N
OT FOUND ERROR.;.CLI.JMP INIT10 ;RETRY..
PAG 'SUBS 2-12-81'.;.CLRCH LDA #0.STA $F
FF0.JSR RCLRCH.LDA MEMMAP.STA $FFF0.RTS.
.SKI 5.LISTN STA FA.LDA #0.STA $FFF0.JSR
 RLISTN.LDA MEMMAP.STA $FFF0.RTS..SKI 5.
SECND PHA.LDA #0.STA $FFF0.PLA.JSR RSECN
D.LDA MEMMAP.STA $FFF0.RTS..SKI 5.CIOUT 
PHA.LDA #0.STA $FFF0.PLA.JSR RCIOUT.LDA 
MEMMAP.STA $FFF0.RTS..SKI 5.UNLSN.LDA #0
.STA $FFF0.JSR RUNLSN.LDA MEMMAP.STA $FF
F0.RTS..SKI 5.TALK STA FA.LDA #0.STA $FF
F0.JSR RTALK.LDA MEMMAP.STA $FFF0.RTS..S
KI 5.TKSA PHA.LDA #0.STA $FFF0.PLA.JSR R
TKSA.LDA MEMMAP.STA $FFF0.RTS..SKI 5.ACP
TR.LDA #0.STA $FFF0.JSR RACPTR.PHA.LDA M
EMMAP.STA $FFF0.PLA.RTS..SKI 5.UNTLK.LDA
 #0.STA $FFF0.JSR RUNTLK.LDA MEMMAP.STA 
$FFF0.RTS..SKI 5.OPENI PHA.LDA #0.STA $F
FF0.PLA.JSR ROPENI.SEI.LDA MEMMAP.STA $F
FF0.RTS..SKI 5.MS1 .BYT $D,'?FILE NOT FO
UND ERROR',$8D.MS2 .BYT $D,18..BYT '64K 
ADD-ON-LOADER 2-12-81'..BYT $D,$D,$D..BY
T 'SYSTEM NAME?',$A0.MSG LDA MSG,Y.PHP.A
ND #$7F.JSR $FFD2.INY.PLP.BPL MSG.RTS..E
ND.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL