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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL