Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_22.ADF » P/DFSsrc
P/DFSsrc
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_22.ADF |
Filename: | P/DFSsrc |
Read OK: | ✔ |
File size: | 0B59 bytes |
Load address: | FFFF1D00 |
Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- AEW website » eug » eug_5_25_discs_Eug-22_D-EUG22.dsd » U.DFSsrc
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_22.ADF » P/DFSsrc
File contents
10REM SAFE Protection for DFS v1.2 20REM (c) Ross Little April 1995 30 40osasci=&FFE3 50osfind=&FFCE 60osrdch=&FFE0 70filev=&212 80cliv=&208 90stor=&88 100text=&8B 110file=&8E 120 130FOR I=0 TO 3 STEP 3 140P%=&900 150[ OPT I 160.init LDA filev+1 170 CMP #newv DIV 256 180 BEQ end 190 STA retv+1 200 LDA filev 210 STA retv 220 LDX #newv MOD 256 230 LDY #newv DIV 256 240 SEI \Change 250 STX filev \OSFILE 260 STY filev+1 \Vector 270 CLI 280 LDA cliv 290 STA hret 300 LDA cliv+1 310 STA hret+1 320 LDX #hvec MOD 256 330 LDY #hvec DIV 256 340 SEI \Change 350 STX cliv \OSCLI 360 STY cliv+1 \Vector 370 CLI 380 LDX #htxt MOD 256\Display 390 LDY #htxt DIV 256\intro mess 400 JSR mess 410.end RTS 420.newv CMP #0 430 BEQ sver 440 JMP (retv) 450.sver STA stor \Store old 460 STX stor+1 \registers 470 STY stor+2 480 LDY #0 490 LDA (stor+1),Y 500 TAX 510 INY 520 LDA (stor+1),Y 530 TAY 540 LDA #&40 \'OPENIN' 550 JSR osfind \filename 560 CMP #0 570 BEQ quit 580 TAY 590 LDA #0 \Close file 600 JSR osfind 610 LDX #etxt MOD 256\Display 620 LDY #etxt DIV 256\File Exist 630 JSR mess \message 640 JSR osrdch 650 CMP #ASC("Y") \User wish 660 BEQ next \to cont.? 670 CMP #ASC("y") 680 BEQ next 690 LDX #atxt MOD 256\No...Disp 700 LDY #atxt DIV 256\Abort mess 710 JSR mess 720 RTS 730.next LDA #&D 740 JSR osasci 750 JMP quit 760.quit LDA stor 770 LDX stor+1 \Restore 780 LDY stor+2 \registers 790 JMP (retv) \and Return 800.etxt EQUB &D 810 EQUS "File exists:" 820 EQUB &D 830 EQUS "Continue (Y/N)?" 840 BRK 850.atxt EQUS " Aborted" 860 EQUB &D 870 BRK 880.htxt EQUB &D 890 EQUS "SAFE Protection for DFS v1.2" 900 EQUB &D 910 BRK 920.hlne EQUB 10 930 EQUS "H" 940 EQUB 14 950.mess STX text 960 STY text+1 970 LDY #&FF 980.disp INY \'Display 990 LDA (text),Y \ Text' 1000 CMP #0 \subroutine 1010 BEQ term 1020 JSR osasci 1030 JMP disp 1040.term RTS 1050.hvec STA stor 1060 STX stor+1 1070 STY stor+2 1080 LDY #&FF 1090.hlop INY \*HELP 1100 LDA (stor+1),Y \command? 1110 AND #&DF 1120 CMP hlne,Y 1130 BEQ hlop 1140 CPY #2 1150 BPL hdsp 1160 JMP hend 1170.hdsp LDX #htxt MOD 256\Display 1180 LDY #htxt DIV 256\HELP text 1190 JSR mess 1200.hend LDA stor \Restore 1210 LDX stor+1 \registers 1220 LDY stor+2 \and pass 1230 JMP (hret) \on. 1240]:top%=P%:[ 1250.hret EQUW 0 1260.retv 1270]:NEXT 1280OSCLI "SAVE SAFE 900 "+STR$ ~top% 1290CALL init 1300END
"� SAFE Protection for DFS v1.2 !� (c) Ross Little April 1995 (osasci=&FFE3 2osfind=&FFCE <osrdch=&FFE0 Ffilev=&212 P cliv=&208 Zstor=&88 dtext=&8B nfile=&8E x �� I=0 � 3 � 3 �P%=&900 �[ OPT I �.init LDA filev+1 � CMP #newv � 256 � BEQ end � STA retv+1 � LDA filev � STA retv � LDX #newv � 256 � LDY #newv � 256 �" SEI \Change �" STX filev \OSFILE " STY filev+1 \Vector CLI LDA cliv " STA hret , LDA cliv+1 6 STA hret+1 @ LDX #hvec � 256 J LDY #hvec � 256 T" SEI \Change ^ STX cliv \� h" STY cliv+1 \Vector r CLI |! LDX #htxt � 256\Display �$ LDY #htxt � 256\intro mess � JSR mess � .end RTS �.newv CMP #0 � BEQ sver � JMP (retv) �%.sver STA stor \Store old �% STX stor+1 \registers � STY stor+2 � LDY #0 � LDA (stor+1),Y � TAX � INY LDA (stor+1),Y TAY LDA #&40 \'�' &$ JSR osfind \filename 0 CMP #0 : BEQ quit D TAY N& LDA #0 \Close file X JSR osfind b! LDX #etxt � 256\Display l$ LDY #etxt � 256\File Exist v# JSR mess \message � JSR osrdch �# CMP #�("Y") \User wish �% BEQ next \to cont.? � CMP #�("y") � BEQ next �# LDX #atxt � 256\No...Disp �$ LDY #atxt � 256\Abort mess � JSR mess � RTS �.next LDA #&D � JSR osasci � JMP quit �.quit LDA stor # LDX stor+1 \Restore % LDY stor+2 \registers & JMP (retv) \and Return .etxt EQUB &D * EQUS "File exists:" 4 EQUB &D > EQUS "Continue (Y/N)?" H BRK R.atxt EQUS " Aborted" \ EQUB &D f BRK p.htxt EQUB &D z- EQUS "SAFE Protection for DFS v1.2" � EQUB &D � BRK �.hlne EQUB 10 � EQUS "H" � EQUB 14 �.mess STX text � STY text+1 � LDY #&FF �$.disp INY \'Display �" LDA (text),Y \ Text' �& CMP #0 \subroutine � BEQ term � JSR osasci JMP disp .term RTS .hvec STA stor $ STX stor+1 . STY stor+2 8 LDY #&FF B!.hlop INY \*HELP L$ LDA (stor+1),Y \command? V � #&DF ` CMP hlne,Y j BEQ hlop t CPY #2 ~ BPL hdsp � JMP hend �!.hdsp LDX #htxt � 256\Display �# LDY #htxt � 256\HELP text � JSR mess �#.hend LDA stor \Restore �% LDX stor+1 \registers �$ LDY stor+2 \and pass � JMP (hret) \on. �]:top%=P%:[ �.hret EQUW 0 � .retv �]:� � "SAVE SAFE 900 "+� ~top% � init � �
00000000 0d 00 0a 22 f4 20 53 41 46 45 20 50 72 6f 74 65 |...". SAFE Prote| 00000010 63 74 69 6f 6e 20 66 6f 72 20 44 46 53 20 76 31 |ction for DFS v1| 00000020 2e 32 0d 00 14 21 f4 20 20 28 63 29 20 52 6f 73 |.2...!. (c) Ros| 00000030 73 20 4c 69 74 74 6c 65 20 41 70 72 69 6c 20 31 |s Little April 1| 00000040 39 39 35 0d 00 1e 05 20 0d 00 28 10 6f 73 61 73 |995.... ..(.osas| 00000050 63 69 3d 26 46 46 45 33 0d 00 32 10 6f 73 66 69 |ci=&FFE3..2.osfi| 00000060 6e 64 3d 26 46 46 43 45 0d 00 3c 10 6f 73 72 64 |nd=&FFCE..<.osrd| 00000070 63 68 3d 26 46 46 45 30 0d 00 46 0e 66 69 6c 65 |ch=&FFE0..F.file| 00000080 76 3d 26 32 31 32 0d 00 50 0d 63 6c 69 76 3d 26 |v=&212..P.cliv=&| 00000090 32 30 38 0d 00 5a 0c 73 74 6f 72 3d 26 38 38 0d |208..Z.stor=&88.| 000000a0 00 64 0c 74 65 78 74 3d 26 38 42 0d 00 6e 0c 66 |.d.text=&8B..n.f| 000000b0 69 6c 65 3d 26 38 45 0d 00 78 05 20 0d 00 82 11 |ile=&8E..x. ....| 000000c0 e3 20 49 3d 30 20 b8 20 33 20 88 20 33 0d 00 8c |. I=0 . 3 . 3...| 000000d0 0b 50 25 3d 26 39 30 30 0d 00 96 0f 5b 20 20 20 |.P%=&900....[ | 000000e0 20 20 4f 50 54 20 49 0d 00 a0 15 2e 69 6e 69 74 | OPT I.....init| 000000f0 20 4c 44 41 20 66 69 6c 65 76 2b 31 0d 00 aa 19 | LDA filev+1....| 00000100 20 20 20 20 20 20 43 4d 50 20 23 6e 65 77 76 20 | CMP #newv | 00000110 81 20 32 35 36 0d 00 b4 11 20 20 20 20 20 20 42 |. 256.... B| 00000120 45 51 20 65 6e 64 0d 00 be 14 20 20 20 20 20 20 |EQ end.... | 00000130 53 54 41 20 72 65 74 76 2b 31 0d 00 c8 13 20 20 |STA retv+1.... | 00000140 20 20 20 20 4c 44 41 20 66 69 6c 65 76 0d 00 d2 | LDA filev...| 00000150 12 20 20 20 20 20 20 53 54 41 20 72 65 74 76 0d |. STA retv.| 00000160 00 dc 19 20 20 20 20 20 20 4c 44 58 20 23 6e 65 |... LDX #ne| 00000170 77 76 20 83 20 32 35 36 0d 00 e6 19 20 20 20 20 |wv . 256.... | 00000180 20 20 4c 44 59 20 23 6e 65 77 76 20 81 20 32 35 | LDY #newv . 25| 00000190 36 0d 00 f0 22 20 20 20 20 20 20 53 45 49 20 20 |6..." SEI | 000001a0 20 20 20 20 20 20 20 20 20 20 20 20 5c 43 68 61 | \Cha| 000001b0 6e 67 65 0d 00 fa 22 20 20 20 20 20 20 53 54 58 |nge..." STX| 000001c0 20 66 69 6c 65 76 20 20 20 20 20 20 20 20 5c 4f | filev \O| 000001d0 53 46 49 4c 45 0d 01 04 22 20 20 20 20 20 20 53 |SFILE..." S| 000001e0 54 59 20 66 69 6c 65 76 2b 31 20 20 20 20 20 20 |TY filev+1 | 000001f0 5c 56 65 63 74 6f 72 0d 01 0e 0d 20 20 20 20 20 |\Vector.... | 00000200 20 43 4c 49 0d 01 18 12 20 20 20 20 20 20 4c 44 | CLI.... LD| 00000210 41 20 63 6c 69 76 0d 01 22 12 20 20 20 20 20 20 |A cliv..". | 00000220 53 54 41 20 68 72 65 74 0d 01 2c 14 20 20 20 20 |STA hret..,. | 00000230 20 20 4c 44 41 20 63 6c 69 76 2b 31 0d 01 36 14 | LDA cliv+1..6.| 00000240 20 20 20 20 20 20 53 54 41 20 68 72 65 74 2b 31 | STA hret+1| 00000250 0d 01 40 19 20 20 20 20 20 20 4c 44 58 20 23 68 |..@. LDX #h| 00000260 76 65 63 20 83 20 32 35 36 0d 01 4a 19 20 20 20 |vec . 256..J. | 00000270 20 20 20 4c 44 59 20 23 68 76 65 63 20 81 20 32 | LDY #hvec . 2| 00000280 35 36 0d 01 54 22 20 20 20 20 20 20 53 45 49 20 |56..T" SEI | 00000290 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 43 68 | \Ch| 000002a0 61 6e 67 65 0d 01 5e 1d 20 20 20 20 20 20 53 54 |ange..^. ST| 000002b0 58 20 63 6c 69 76 20 20 20 20 20 20 20 20 20 5c |X cliv \| 000002c0 ff 0d 01 68 22 20 20 20 20 20 20 53 54 59 20 63 |...h" STY c| 000002d0 6c 69 76 2b 31 20 20 20 20 20 20 20 5c 56 65 63 |liv+1 \Vec| 000002e0 74 6f 72 0d 01 72 0d 20 20 20 20 20 20 43 4c 49 |tor..r. CLI| 000002f0 0d 01 7c 21 20 20 20 20 20 20 4c 44 58 20 23 68 |..|! LDX #h| 00000300 74 78 74 20 83 20 32 35 36 5c 44 69 73 70 6c 61 |txt . 256\Displa| 00000310 79 0d 01 86 24 20 20 20 20 20 20 4c 44 59 20 23 |y...$ LDY #| 00000320 68 74 78 74 20 81 20 32 35 36 5c 69 6e 74 72 6f |htxt . 256\intro| 00000330 20 6d 65 73 73 0d 01 90 12 20 20 20 20 20 20 4a | mess.... J| 00000340 53 52 20 6d 65 73 73 0d 01 9a 0d 2e 65 6e 64 20 |SR mess.....end | 00000350 20 52 54 53 0d 01 a4 10 2e 6e 65 77 76 20 43 4d | RTS.....newv CM| 00000360 50 20 23 30 0d 01 ae 12 20 20 20 20 20 20 42 45 |P #0.... BE| 00000370 51 20 73 76 65 72 0d 01 b8 14 20 20 20 20 20 20 |Q sver.... | 00000380 4a 4d 50 20 28 72 65 74 76 29 0d 01 c2 25 2e 73 |JMP (retv)...%.s| 00000390 76 65 72 20 53 54 41 20 73 74 6f 72 20 20 20 20 |ver STA stor | 000003a0 20 20 20 20 20 5c 53 74 6f 72 65 20 6f 6c 64 0d | \Store old.| 000003b0 01 cc 25 20 20 20 20 20 20 53 54 58 20 73 74 6f |..% STX sto| 000003c0 72 2b 31 20 20 20 20 20 20 20 5c 72 65 67 69 73 |r+1 \regis| 000003d0 74 65 72 73 0d 01 d6 14 20 20 20 20 20 20 53 54 |ters.... ST| 000003e0 59 20 73 74 6f 72 2b 32 0d 01 e0 10 20 20 20 20 |Y stor+2.... | 000003f0 20 20 4c 44 59 20 23 30 0d 01 ea 18 20 20 20 20 | LDY #0.... | 00000400 20 20 4c 44 41 20 28 73 74 6f 72 2b 31 29 2c 59 | LDA (stor+1),Y| 00000410 0d 01 f4 0d 20 20 20 20 20 20 54 41 58 0d 01 fe |.... TAX...| 00000420 0d 20 20 20 20 20 20 49 4e 59 0d 02 08 18 20 20 |. INY.... | 00000430 20 20 20 20 4c 44 41 20 28 73 74 6f 72 2b 31 29 | LDA (stor+1)| 00000440 2c 59 0d 02 12 0d 20 20 20 20 20 20 54 41 59 0d |,Y.... TAY.| 00000450 02 1c 1f 20 20 20 20 20 20 4c 44 41 20 23 26 34 |... LDA #&4| 00000460 30 20 20 20 20 20 20 20 20 20 5c 27 8e 27 0d 02 |0 \'.'..| 00000470 26 24 20 20 20 20 20 20 4a 53 52 20 6f 73 66 69 |&$ JSR osfi| 00000480 6e 64 20 20 20 20 20 20 20 5c 66 69 6c 65 6e 61 |nd \filena| 00000490 6d 65 0d 02 30 10 20 20 20 20 20 20 43 4d 50 20 |me..0. CMP | 000004a0 23 30 0d 02 3a 12 20 20 20 20 20 20 42 45 51 20 |#0..:. BEQ | 000004b0 71 75 69 74 0d 02 44 0d 20 20 20 20 20 20 54 41 |quit..D. TA| 000004c0 59 0d 02 4e 26 20 20 20 20 20 20 4c 44 41 20 23 |Y..N& LDA #| 000004d0 30 20 20 20 20 20 20 20 20 20 20 20 5c 43 6c 6f |0 \Clo| 000004e0 73 65 20 66 69 6c 65 0d 02 58 14 20 20 20 20 20 |se file..X. | 000004f0 20 4a 53 52 20 6f 73 66 69 6e 64 0d 02 62 21 20 | JSR osfind..b! | 00000500 20 20 20 20 20 4c 44 58 20 23 65 74 78 74 20 83 | LDX #etxt .| 00000510 20 32 35 36 5c 44 69 73 70 6c 61 79 0d 02 6c 24 | 256\Display..l$| 00000520 20 20 20 20 20 20 4c 44 59 20 23 65 74 78 74 20 | LDY #etxt | 00000530 81 20 32 35 36 5c 46 69 6c 65 20 45 78 69 73 74 |. 256\File Exist| 00000540 0d 02 76 23 20 20 20 20 20 20 4a 53 52 20 6d 65 |..v# JSR me| 00000550 73 73 20 20 20 20 20 20 20 20 20 5c 6d 65 73 73 |ss \mess| 00000560 61 67 65 0d 02 80 14 20 20 20 20 20 20 4a 53 52 |age.... JSR| 00000570 20 6f 73 72 64 63 68 0d 02 8a 23 20 20 20 20 20 | osrdch...# | 00000580 20 43 4d 50 20 23 97 28 22 59 22 29 20 20 20 20 | CMP #.("Y") | 00000590 5c 55 73 65 72 20 77 69 73 68 0d 02 94 25 20 20 |\User wish...% | 000005a0 20 20 20 20 42 45 51 20 6e 65 78 74 20 20 20 20 | BEQ next | 000005b0 20 20 20 20 20 5c 74 6f 20 63 6f 6e 74 2e 3f 0d | \to cont.?.| 000005c0 02 9e 15 20 20 20 20 20 20 43 4d 50 20 23 97 28 |... CMP #.(| 000005d0 22 79 22 29 0d 02 a8 12 20 20 20 20 20 20 42 45 |"y").... BE| 000005e0 51 20 6e 65 78 74 0d 02 b2 23 20 20 20 20 20 20 |Q next...# | 000005f0 4c 44 58 20 23 61 74 78 74 20 83 20 32 35 36 5c |LDX #atxt . 256\| 00000600 4e 6f 2e 2e 2e 44 69 73 70 0d 02 bc 24 20 20 20 |No...Disp...$ | 00000610 20 20 20 4c 44 59 20 23 61 74 78 74 20 81 20 32 | LDY #atxt . 2| 00000620 35 36 5c 41 62 6f 72 74 20 6d 65 73 73 0d 02 c6 |56\Abort mess...| 00000630 12 20 20 20 20 20 20 4a 53 52 20 6d 65 73 73 0d |. JSR mess.| 00000640 02 d0 0d 20 20 20 20 20 20 52 54 53 0d 02 da 11 |... RTS....| 00000650 2e 6e 65 78 74 20 4c 44 41 20 23 26 44 0d 02 e4 |.next LDA #&D...| 00000660 14 20 20 20 20 20 20 4a 53 52 20 6f 73 61 73 63 |. JSR osasc| 00000670 69 0d 02 ee 12 20 20 20 20 20 20 4a 4d 50 20 71 |i.... JMP q| 00000680 75 69 74 0d 02 f8 12 2e 71 75 69 74 20 4c 44 41 |uit.....quit LDA| 00000690 20 73 74 6f 72 0d 03 02 23 20 20 20 20 20 20 4c | stor...# L| 000006a0 44 58 20 73 74 6f 72 2b 31 20 20 20 20 20 20 20 |DX stor+1 | 000006b0 5c 52 65 73 74 6f 72 65 0d 03 0c 25 20 20 20 20 |\Restore...% | 000006c0 20 20 4c 44 59 20 73 74 6f 72 2b 32 20 20 20 20 | LDY stor+2 | 000006d0 20 20 20 5c 72 65 67 69 73 74 65 72 73 0d 03 16 | \registers...| 000006e0 26 20 20 20 20 20 20 4a 4d 50 20 28 72 65 74 76 |& JMP (retv| 000006f0 29 20 20 20 20 20 20 20 5c 61 6e 64 20 52 65 74 |) \and Ret| 00000700 75 72 6e 0d 03 20 11 2e 65 74 78 74 20 45 51 55 |urn.. ..etxt EQU| 00000710 42 20 26 44 0d 03 2a 1d 20 20 20 20 20 20 45 51 |B &D..*. EQ| 00000720 55 53 20 22 46 69 6c 65 20 65 78 69 73 74 73 3a |US "File exists:| 00000730 22 0d 03 34 11 20 20 20 20 20 20 45 51 55 42 20 |"..4. EQUB | 00000740 26 44 0d 03 3e 20 20 20 20 20 20 20 45 51 55 53 |&D..> EQUS| 00000750 20 22 43 6f 6e 74 69 6e 75 65 20 28 59 2f 4e 29 | "Continue (Y/N)| 00000760 3f 22 0d 03 48 0d 20 20 20 20 20 20 42 52 4b 0d |?"..H. BRK.| 00000770 03 52 19 2e 61 74 78 74 20 45 51 55 53 20 22 20 |.R..atxt EQUS " | 00000780 41 62 6f 72 74 65 64 22 0d 03 5c 11 20 20 20 20 |Aborted"..\. | 00000790 20 20 45 51 55 42 20 26 44 0d 03 66 0d 20 20 20 | EQUB &D..f. | 000007a0 20 20 20 42 52 4b 0d 03 70 11 2e 68 74 78 74 20 | BRK..p..htxt | 000007b0 45 51 55 42 20 26 44 0d 03 7a 2d 20 20 20 20 20 |EQUB &D..z- | 000007c0 20 45 51 55 53 20 22 53 41 46 45 20 50 72 6f 74 | EQUS "SAFE Prot| 000007d0 65 63 74 69 6f 6e 20 66 6f 72 20 44 46 53 20 76 |ection for DFS v| 000007e0 31 2e 32 22 0d 03 84 11 20 20 20 20 20 20 45 51 |1.2".... EQ| 000007f0 55 42 20 26 44 0d 03 8e 0d 20 20 20 20 20 20 42 |UB &D.... B| 00000800 52 4b 0d 03 98 11 2e 68 6c 6e 65 20 45 51 55 42 |RK.....hlne EQUB| 00000810 20 31 30 0d 03 a2 12 20 20 20 20 20 20 45 51 55 | 10.... EQU| 00000820 53 20 22 48 22 0d 03 ac 11 20 20 20 20 20 20 45 |S "H".... E| 00000830 51 55 42 20 31 34 0d 03 b6 12 2e 6d 65 73 73 20 |QUB 14.....mess | 00000840 53 54 58 20 74 65 78 74 0d 03 c0 14 20 20 20 20 |STX text.... | 00000850 20 20 53 54 59 20 74 65 78 74 2b 31 0d 03 ca 12 | STY text+1....| 00000860 20 20 20 20 20 20 4c 44 59 20 23 26 46 46 0d 03 | LDY #&FF..| 00000870 d4 24 2e 64 69 73 70 20 49 4e 59 20 20 20 20 20 |.$.disp INY | 00000880 20 20 20 20 20 20 20 20 20 5c 27 44 69 73 70 6c | \'Displ| 00000890 61 79 0d 03 de 22 20 20 20 20 20 20 4c 44 41 20 |ay..." LDA | 000008a0 28 74 65 78 74 29 2c 59 20 20 20 20 20 5c 20 54 |(text),Y \ T| 000008b0 65 78 74 27 0d 03 e8 26 20 20 20 20 20 20 43 4d |ext'...& CM| 000008c0 50 20 23 30 20 20 20 20 20 20 20 20 20 20 20 5c |P #0 \| 000008d0 73 75 62 72 6f 75 74 69 6e 65 0d 03 f2 12 20 20 |subroutine.... | 000008e0 20 20 20 20 42 45 51 20 74 65 72 6d 0d 03 fc 14 | BEQ term....| 000008f0 20 20 20 20 20 20 4a 53 52 20 6f 73 61 73 63 69 | JSR osasci| 00000900 0d 04 06 12 20 20 20 20 20 20 4a 4d 50 20 64 69 |.... JMP di| 00000910 73 70 0d 04 10 0d 2e 74 65 72 6d 20 52 54 53 0d |sp.....term RTS.| 00000920 04 1a 12 2e 68 76 65 63 20 53 54 41 20 73 74 6f |....hvec STA sto| 00000930 72 0d 04 24 14 20 20 20 20 20 20 53 54 58 20 73 |r..$. STX s| 00000940 74 6f 72 2b 31 0d 04 2e 14 20 20 20 20 20 20 53 |tor+1.... S| 00000950 54 59 20 73 74 6f 72 2b 32 0d 04 38 12 20 20 20 |TY stor+2..8. | 00000960 20 20 20 4c 44 59 20 23 26 46 46 0d 04 42 21 2e | LDY #&FF..B!.| 00000970 68 6c 6f 70 20 49 4e 59 20 20 20 20 20 20 20 20 |hlop INY | 00000980 20 20 20 20 20 20 5c 2a 48 45 4c 50 0d 04 4c 24 | \*HELP..L$| 00000990 20 20 20 20 20 20 4c 44 41 20 28 73 74 6f 72 2b | LDA (stor+| 000009a0 31 29 2c 59 20 20 20 5c 63 6f 6d 6d 61 6e 64 3f |1),Y \command?| 000009b0 0d 04 56 10 20 20 20 20 20 20 80 20 23 26 44 46 |..V. . #&DF| 000009c0 0d 04 60 14 20 20 20 20 20 20 43 4d 50 20 68 6c |..`. CMP hl| 000009d0 6e 65 2c 59 0d 04 6a 12 20 20 20 20 20 20 42 45 |ne,Y..j. BE| 000009e0 51 20 68 6c 6f 70 0d 04 74 10 20 20 20 20 20 20 |Q hlop..t. | 000009f0 43 50 59 20 23 32 0d 04 7e 12 20 20 20 20 20 20 |CPY #2..~. | 00000a00 42 50 4c 20 68 64 73 70 0d 04 88 12 20 20 20 20 |BPL hdsp.... | 00000a10 20 20 4a 4d 50 20 68 65 6e 64 0d 04 92 21 2e 68 | JMP hend...!.h| 00000a20 64 73 70 20 4c 44 58 20 23 68 74 78 74 20 83 20 |dsp LDX #htxt . | 00000a30 32 35 36 5c 44 69 73 70 6c 61 79 0d 04 9c 23 20 |256\Display...# | 00000a40 20 20 20 20 20 4c 44 59 20 23 68 74 78 74 20 81 | LDY #htxt .| 00000a50 20 32 35 36 5c 48 45 4c 50 20 74 65 78 74 0d 04 | 256\HELP text..| 00000a60 a6 12 20 20 20 20 20 20 4a 53 52 20 6d 65 73 73 |.. JSR mess| 00000a70 0d 04 b0 23 2e 68 65 6e 64 20 4c 44 41 20 73 74 |...#.hend LDA st| 00000a80 6f 72 20 20 20 20 20 20 20 20 20 5c 52 65 73 74 |or \Rest| 00000a90 6f 72 65 0d 04 ba 25 20 20 20 20 20 20 4c 44 58 |ore...% LDX| 00000aa0 20 73 74 6f 72 2b 31 20 20 20 20 20 20 20 5c 72 | stor+1 \r| 00000ab0 65 67 69 73 74 65 72 73 0d 04 c4 24 20 20 20 20 |egisters...$ | 00000ac0 20 20 4c 44 59 20 73 74 6f 72 2b 32 20 20 20 20 | LDY stor+2 | 00000ad0 20 20 20 5c 61 6e 64 20 70 61 73 73 0d 04 ce 1f | \and pass....| 00000ae0 20 20 20 20 20 20 4a 4d 50 20 28 68 72 65 74 29 | JMP (hret)| 00000af0 20 20 20 20 20 20 20 5c 6f 6e 2e 0d 04 d8 0f 5d | \on.....]| 00000b00 3a 74 6f 70 25 3d 50 25 3a 5b 0d 04 e2 10 2e 68 |:top%=P%:[.....h| 00000b10 72 65 74 20 45 51 55 57 20 30 0d 04 ec 09 2e 72 |ret EQUW 0.....r| 00000b20 65 74 76 0d 04 f6 07 5d 3a ed 0d 05 00 1e ff 20 |etv....]:...... | 00000b30 22 53 41 56 45 20 53 41 46 45 20 39 30 30 20 22 |"SAVE SAFE 900 "| 00000b40 2b c3 20 7e 74 6f 70 25 0d 05 0a 0a d6 20 69 6e |+. ~top%..... in| 00000b50 69 74 0d 05 14 05 e0 0d ff |it.......| 00000b59