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:

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
Zstor=&88
dtext=&8B
nfile=&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
P/DFSsrc.m0
P/DFSsrc.m1
P/DFSsrc.m2
P/DFSsrc.m4
P/DFSsrc.m5