Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_22.ADF » P/ADFSsrc

P/ADFSsrc

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/ADFSsrc
Read OK:
File size: 0CD6 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 ADFS v2.2
   20REM   (c) Ross Little Sept 1995
   30 
   40osasci=&FFE3
   50osrdch=&FFE0
   60oswrch=&FFEE
   70osfile=&FFDD
   80filev=&212
   90letter=&8B
  100cliv=&208
  110start=&8C
  120stor=&88
  130text=&8B
  140file=&8E
  150 
  160FOR I=0 TO 3 STEP 3
  170P%=&900
  180[     OPT I
  190.init LDA filev+1
  200      CMP #newv DIV 256
  210      BEQ end
  220      STA retv+1
  230      LDA filev
  240      STA retv
  250      LDX #newv MOD 256
  260      LDY #newv DIV 256
  270      SEI
  280      STX filev
  290      STY filev+1
  300      CLI
  310      LDA cliv
  320      STA hret
  330      LDA cliv+1
  340      STA hret+1
  350      LDX #hvec MOD 256
  360      LDY #hvec DIV 256
  370      SEI
  380      STX cliv
  390      STY cliv+1
  400      CLI
  410      LDX #htxt MOD 256
  420      LDY #htxt DIV 256
  430      JSR mess
  440.end  RTS
  450.newv CMP #0
  460      BEQ sver
  470      JMP (retv)
  480.sver STA stor
  490      STX stor+1
  500      STY stor+2
  510      LDY #0
  520      LDA (stor+1),Y
  530      STA file
  540      INY
  550      LDA (stor+1),Y
  560      STA file+1
  570      LDA #&EB
  580      STA start
  590      LDA #&11
  600      STA start+1
  610      JSR cfle         \Does file
  620      CMP #0           \exist?
  630      BEQ quit         \If not,
  640      LDX #etxt MOD 256\display
  650      LDY #etxt DIV 256\message
  660      JSR mess         \and return
  670      JSR osrdch
  680      CMP #ASC("Y")
  690      BEQ next
  700      CMP #ASC("y")
  710      BEQ next
  720      LDX #atxt MOD 256
  730      LDY #atxt DIV 256
  740      JSR mess
  750      RTS
  760.next LDA #&D
  770      JSR osasci
  780      JMP quit
  790.quit LDA stor
  800      LDX stor+1       \Restore
  810      LDY stor+2       \registers
  820      JMP (retv)       \and Return
  830.etxt EQUB &D
  840      EQUS "File exists:"
  850      EQUB &D
  860      EQUS "Continue (Y/N)?"
  870      BRK
  880.atxt EQUS " Aborted"
  890      EQUB &D
  900      BRK
  910.htxt EQUB &D
  920      EQUS "SAFE Protection for ADFS v2.2"
  930      EQUB &D
  940      BRK
  950.hlne EQUB 10
  960      EQUS "H"
  970      EQUB 14
  980.cfle LDA start
  990      CLC              \Increment
 1000      ADC #26          \START
 1010      STA start        \by 26
 1020      BCC cont
 1030      INC start+1
 1040.cont LDY #&FF
 1050.nlet INY
 1060      CPY #10          \10 letters
 1070      BEQ mtch         \checked?
 1080      LDA (start),Y
 1090      AND #&5F
 1100      CMP #0
 1110      BEQ dend         \End of dir
 1120      CMP #&D
 1130      BEQ dchk         \File match
 1140      STA letter
 1150      LDA (file),Y
 1160      AND #&DF
 1170      CMP letter
 1180      BEQ nlet
 1190      JMP cfle
 1200.dchk LDA (file),Y     \Dble Check
 1210      CMP #&20
 1220      BEQ mtch
 1230      CMP #&D
 1240      BEQ mtch
 1250      JMP cfle
 1260.mtch LDA #&FF
 1270.dend RTS
 1280.mess STX text
 1290      STY text+1
 1300      LDY #&FF
 1310.disp INY
 1320      LDA (text),Y
 1330      CMP #0
 1340      BEQ term
 1350      JSR osasci
 1360      JMP disp
 1370.term RTS
 1380.hvec STA stor
 1390      STX stor+1
 1400      STY stor+2
 1410      LDY #&FF
 1420.hlop INY
 1430      LDA (stor+1),Y
 1440      AND #&DF
 1450      CMP hlne,Y
 1460      BEQ hlop
 1470      CPY #2
 1480      BPL hdsp
 1490      JMP hend
 1500.hdsp LDX #htxt MOD 256
 1510      LDY #htxt DIV 256
 1520      JSR mess
 1530.hend LDA stor
 1540      LDX stor+1
 1550      LDY stor+2
 1560      JMP (hret)
 1570]:top%=P%:[
 1580.hret EQUW 0
 1590.retv
 1600]:NEXT
 1610OSCLI "SAVE SAFE 900 "+STR$ ~top%
 1620CALL init
 1630END

#� SAFE Protection for ADFS v2.2
!�   (c) Ross Little Sept 1995
 
(osasci=&FFE3
2osrdch=&FFE0
<oswrch=&FFEE
Fosfile=&FFDD
Pfilev=&212
Zletter=&8B
d
cliv=&208
n
start=&8C
xstor=&88
�text=&8B
�file=&8E
� 
�� 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
      STX filev
"      STY filev+1
,
      CLI
6      LDA cliv
@      STA hret
J      LDA cliv+1
T      STA hret+1
^      LDX #hvec � 256
h      LDY #hvec � 256
r
      SEI
|      STX cliv
�      STY cliv+1
�
      CLI
�      LDX #htxt � 256
�      LDY #htxt � 256
�      JSR mess
�
.end  RTS
�.newv CMP #0
�      BEQ sver
�      JMP (retv)
�.sver STA stor
�      STX stor+1
�      STY stor+2
�      LDY #0
      LDA (stor+1),Y
      STA file

      INY
&      LDA (stor+1),Y
0      STA file+1
:      LDA #&EB
D      STA start
N      LDA #&11
X      STA start+1
b%      JSR cfle         \Does file
l"      CMP #0           \exist?
v#      BEQ quit         \If not,
�!      LDX #etxt � 256\display
�!      LDY #etxt � 256\message
�&      JSR mess         \and return
�      JSR osrdch
�      CMP #�("Y")
�      BEQ next
�      CMP #�("y")
�      BEQ next
�      LDX #atxt � 256
�      LDY #atxt � 256
�      JSR mess
�
      RTS
�.next LDA #&D
      JSR osasci
      JMP quit
.quit LDA stor
 #      LDX stor+1       \Restore
*%      LDY stor+2       \registers
4&      JMP (retv)       \and Return
>.etxt EQUB &D
H      EQUS "File exists:"
R      EQUB &D
\       EQUS "Continue (Y/N)?"
f
      BRK
p.atxt EQUS " Aborted"
z      EQUB &D
�
      BRK
�.htxt EQUB &D
�.      EQUS "SAFE Protection for ADFS v2.2"
�      EQUB &D
�
      BRK
�.hlne EQUB 10
�      EQUS "H"
�      EQUB 14
�.cfle LDA start
�%      CLC              \Increment
�!      ADC #26          \START
�!      STA start        \by 26
�      BCC cont
      INC start+1
.cont LDY #&FF

.nlet INY
$&      CPY #10          \10 letters
.$      BEQ mtch         \checked?
8      LDA (start),Y
B      � #&5F
L      CMP #0
V&      BEQ dend         \End of dir
`      CMP #&D
j&      BEQ dchk         \File match
t      STA letter
~      LDA (file),Y
�      � #&DF
�      CMP letter
�      BEQ nlet
�      JMP cfle
�&.dchk LDA (file),Y     \Dble Check
�      CMP #&20
�      BEQ mtch
�      CMP #&D
�      BEQ mtch
�      JMP cfle
�.mtch LDA #&FF
�
.dend RTS
.mess STX text

      STY text+1
      LDY #&FF

.disp INY
(      LDA (text),Y
2      CMP #0
<      BEQ term
F      JSR osasci
P      JMP disp
Z
.term RTS
d.hvec STA stor
n      STX stor+1
x      STY stor+2
�      LDY #&FF
�
.hlop INY
�      LDA (stor+1),Y
�      � #&DF
�      CMP hlne,Y
�      BEQ hlop
�      CPY #2
�      BPL hdsp
�      JMP hend
�.hdsp LDX #htxt � 256
�      LDY #htxt � 256
�      JSR mess
�.hend LDA stor
      LDX stor+1
      LDY stor+2
      JMP (hret)
"]:top%=P%:[
,.hret EQUW 0
6	.retv
@]:�
J� "SAVE SAFE 900 "+� ~top%
T
� init
^�
�
00000000  0d 00 0a 23 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 41 44 46 53 20 76  |ction for ADFS v|
00000020  32 2e 32 0d 00 14 21 f4  20 20 20 28 63 29 20 52  |2.2...!.   (c) R|
00000030  6f 73 73 20 4c 69 74 74  6c 65 20 53 65 70 74 20  |oss Little Sept |
00000040  31 39 39 35 0d 00 1e 05  20 0d 00 28 10 6f 73 61  |1995.... ..(.osa|
00000050  73 63 69 3d 26 46 46 45  33 0d 00 32 10 6f 73 72  |sci=&FFE3..2.osr|
00000060  64 63 68 3d 26 46 46 45  30 0d 00 3c 10 6f 73 77  |dch=&FFE0..<.osw|
00000070  72 63 68 3d 26 46 46 45  45 0d 00 46 10 6f 73 66  |rch=&FFEE..F.osf|
00000080  69 6c 65 3d 26 46 46 44  44 0d 00 50 0e 66 69 6c  |ile=&FFDD..P.fil|
00000090  65 76 3d 26 32 31 32 0d  00 5a 0e 6c 65 74 74 65  |ev=&212..Z.lette|
000000a0  72 3d 26 38 42 0d 00 64  0d 63 6c 69 76 3d 26 32  |r=&8B..d.cliv=&2|
000000b0  30 38 0d 00 6e 0d 73 74  61 72 74 3d 26 38 43 0d  |08..n.start=&8C.|
000000c0  00 78 0c 73 74 6f 72 3d  26 38 38 0d 00 82 0c 74  |.x.stor=&88....t|
000000d0  65 78 74 3d 26 38 42 0d  00 8c 0c 66 69 6c 65 3d  |ext=&8B....file=|
000000e0  26 38 45 0d 00 96 05 20  0d 00 a0 11 e3 20 49 3d  |&8E.... ..... I=|
000000f0  30 20 b8 20 33 20 88 20  33 0d 00 aa 0b 50 25 3d  |0 . 3 . 3....P%=|
00000100  26 39 30 30 0d 00 b4 0f  5b 20 20 20 20 20 4f 50  |&900....[     OP|
00000110  54 20 49 0d 00 be 15 2e  69 6e 69 74 20 4c 44 41  |T I.....init LDA|
00000120  20 66 69 6c 65 76 2b 31  0d 00 c8 19 20 20 20 20  | filev+1....    |
00000130  20 20 43 4d 50 20 23 6e  65 77 76 20 81 20 32 35  |  CMP #newv . 25|
00000140  36 0d 00 d2 11 20 20 20  20 20 20 42 45 51 20 65  |6....      BEQ e|
00000150  6e 64 0d 00 dc 14 20 20  20 20 20 20 53 54 41 20  |nd....      STA |
00000160  72 65 74 76 2b 31 0d 00  e6 13 20 20 20 20 20 20  |retv+1....      |
00000170  4c 44 41 20 66 69 6c 65  76 0d 00 f0 12 20 20 20  |LDA filev....   |
00000180  20 20 20 53 54 41 20 72  65 74 76 0d 00 fa 19 20  |   STA retv.... |
00000190  20 20 20 20 20 4c 44 58  20 23 6e 65 77 76 20 83  |     LDX #newv .|
000001a0  20 32 35 36 0d 01 04 19  20 20 20 20 20 20 4c 44  | 256....      LD|
000001b0  59 20 23 6e 65 77 76 20  81 20 32 35 36 0d 01 0e  |Y #newv . 256...|
000001c0  0d 20 20 20 20 20 20 53  45 49 0d 01 18 13 20 20  |.      SEI....  |
000001d0  20 20 20 20 53 54 58 20  66 69 6c 65 76 0d 01 22  |    STX filev.."|
000001e0  15 20 20 20 20 20 20 53  54 59 20 66 69 6c 65 76  |.      STY filev|
000001f0  2b 31 0d 01 2c 0d 20 20  20 20 20 20 43 4c 49 0d  |+1..,.      CLI.|
00000200  01 36 12 20 20 20 20 20  20 4c 44 41 20 63 6c 69  |.6.      LDA cli|
00000210  76 0d 01 40 12 20 20 20  20 20 20 53 54 41 20 68  |v..@.      STA h|
00000220  72 65 74 0d 01 4a 14 20  20 20 20 20 20 4c 44 41  |ret..J.      LDA|
00000230  20 63 6c 69 76 2b 31 0d  01 54 14 20 20 20 20 20  | cliv+1..T.     |
00000240  20 53 54 41 20 68 72 65  74 2b 31 0d 01 5e 19 20  | STA hret+1..^. |
00000250  20 20 20 20 20 4c 44 58  20 23 68 76 65 63 20 83  |     LDX #hvec .|
00000260  20 32 35 36 0d 01 68 19  20 20 20 20 20 20 4c 44  | 256..h.      LD|
00000270  59 20 23 68 76 65 63 20  81 20 32 35 36 0d 01 72  |Y #hvec . 256..r|
00000280  0d 20 20 20 20 20 20 53  45 49 0d 01 7c 12 20 20  |.      SEI..|.  |
00000290  20 20 20 20 53 54 58 20  63 6c 69 76 0d 01 86 14  |    STX cliv....|
000002a0  20 20 20 20 20 20 53 54  59 20 63 6c 69 76 2b 31  |      STY cliv+1|
000002b0  0d 01 90 0d 20 20 20 20  20 20 43 4c 49 0d 01 9a  |....      CLI...|
000002c0  19 20 20 20 20 20 20 4c  44 58 20 23 68 74 78 74  |.      LDX #htxt|
000002d0  20 83 20 32 35 36 0d 01  a4 19 20 20 20 20 20 20  | . 256....      |
000002e0  4c 44 59 20 23 68 74 78  74 20 81 20 32 35 36 0d  |LDY #htxt . 256.|
000002f0  01 ae 12 20 20 20 20 20  20 4a 53 52 20 6d 65 73  |...      JSR mes|
00000300  73 0d 01 b8 0d 2e 65 6e  64 20 20 52 54 53 0d 01  |s.....end  RTS..|
00000310  c2 10 2e 6e 65 77 76 20  43 4d 50 20 23 30 0d 01  |...newv CMP #0..|
00000320  cc 12 20 20 20 20 20 20  42 45 51 20 73 76 65 72  |..      BEQ sver|
00000330  0d 01 d6 14 20 20 20 20  20 20 4a 4d 50 20 28 72  |....      JMP (r|
00000340  65 74 76 29 0d 01 e0 12  2e 73 76 65 72 20 53 54  |etv).....sver ST|
00000350  41 20 73 74 6f 72 0d 01  ea 14 20 20 20 20 20 20  |A stor....      |
00000360  53 54 58 20 73 74 6f 72  2b 31 0d 01 f4 14 20 20  |STX stor+1....  |
00000370  20 20 20 20 53 54 59 20  73 74 6f 72 2b 32 0d 01  |    STY stor+2..|
00000380  fe 10 20 20 20 20 20 20  4c 44 59 20 23 30 0d 02  |..      LDY #0..|
00000390  08 18 20 20 20 20 20 20  4c 44 41 20 28 73 74 6f  |..      LDA (sto|
000003a0  72 2b 31 29 2c 59 0d 02  12 12 20 20 20 20 20 20  |r+1),Y....      |
000003b0  53 54 41 20 66 69 6c 65  0d 02 1c 0d 20 20 20 20  |STA file....    |
000003c0  20 20 49 4e 59 0d 02 26  18 20 20 20 20 20 20 4c  |  INY..&.      L|
000003d0  44 41 20 28 73 74 6f 72  2b 31 29 2c 59 0d 02 30  |DA (stor+1),Y..0|
000003e0  14 20 20 20 20 20 20 53  54 41 20 66 69 6c 65 2b  |.      STA file+|
000003f0  31 0d 02 3a 12 20 20 20  20 20 20 4c 44 41 20 23  |1..:.      LDA #|
00000400  26 45 42 0d 02 44 13 20  20 20 20 20 20 53 54 41  |&EB..D.      STA|
00000410  20 73 74 61 72 74 0d 02  4e 12 20 20 20 20 20 20  | start..N.      |
00000420  4c 44 41 20 23 26 31 31  0d 02 58 15 20 20 20 20  |LDA #&11..X.    |
00000430  20 20 53 54 41 20 73 74  61 72 74 2b 31 0d 02 62  |  STA start+1..b|
00000440  25 20 20 20 20 20 20 4a  53 52 20 63 66 6c 65 20  |%      JSR cfle |
00000450  20 20 20 20 20 20 20 20  5c 44 6f 65 73 20 66 69  |        \Does fi|
00000460  6c 65 0d 02 6c 22 20 20  20 20 20 20 43 4d 50 20  |le..l"      CMP |
00000470  23 30 20 20 20 20 20 20  20 20 20 20 20 5c 65 78  |#0           \ex|
00000480  69 73 74 3f 0d 02 76 23  20 20 20 20 20 20 42 45  |ist?..v#      BE|
00000490  51 20 71 75 69 74 20 20  20 20 20 20 20 20 20 5c  |Q quit         \|
000004a0  49 66 20 6e 6f 74 2c 0d  02 80 21 20 20 20 20 20  |If not,...!     |
000004b0  20 4c 44 58 20 23 65 74  78 74 20 83 20 32 35 36  | LDX #etxt . 256|
000004c0  5c 64 69 73 70 6c 61 79  0d 02 8a 21 20 20 20 20  |\display...!    |
000004d0  20 20 4c 44 59 20 23 65  74 78 74 20 81 20 32 35  |  LDY #etxt . 25|
000004e0  36 5c 6d 65 73 73 61 67  65 0d 02 94 26 20 20 20  |6\message...&   |
000004f0  20 20 20 4a 53 52 20 6d  65 73 73 20 20 20 20 20  |   JSR mess     |
00000500  20 20 20 20 5c 61 6e 64  20 72 65 74 75 72 6e 0d  |    \and return.|
00000510  02 9e 14 20 20 20 20 20  20 4a 53 52 20 6f 73 72  |...      JSR osr|
00000520  64 63 68 0d 02 a8 15 20  20 20 20 20 20 43 4d 50  |dch....      CMP|
00000530  20 23 97 28 22 59 22 29  0d 02 b2 12 20 20 20 20  | #.("Y")....    |
00000540  20 20 42 45 51 20 6e 65  78 74 0d 02 bc 15 20 20  |  BEQ next....  |
00000550  20 20 20 20 43 4d 50 20  23 97 28 22 79 22 29 0d  |    CMP #.("y").|
00000560  02 c6 12 20 20 20 20 20  20 42 45 51 20 6e 65 78  |...      BEQ nex|
00000570  74 0d 02 d0 19 20 20 20  20 20 20 4c 44 58 20 23  |t....      LDX #|
00000580  61 74 78 74 20 83 20 32  35 36 0d 02 da 19 20 20  |atxt . 256....  |
00000590  20 20 20 20 4c 44 59 20  23 61 74 78 74 20 81 20  |    LDY #atxt . |
000005a0  32 35 36 0d 02 e4 12 20  20 20 20 20 20 4a 53 52  |256....      JSR|
000005b0  20 6d 65 73 73 0d 02 ee  0d 20 20 20 20 20 20 52  | mess....      R|
000005c0  54 53 0d 02 f8 11 2e 6e  65 78 74 20 4c 44 41 20  |TS.....next LDA |
000005d0  23 26 44 0d 03 02 14 20  20 20 20 20 20 4a 53 52  |#&D....      JSR|
000005e0  20 6f 73 61 73 63 69 0d  03 0c 12 20 20 20 20 20  | osasci....     |
000005f0  20 4a 4d 50 20 71 75 69  74 0d 03 16 12 2e 71 75  | JMP quit.....qu|
00000600  69 74 20 4c 44 41 20 73  74 6f 72 0d 03 20 23 20  |it LDA stor.. # |
00000610  20 20 20 20 20 4c 44 58  20 73 74 6f 72 2b 31 20  |     LDX stor+1 |
00000620  20 20 20 20 20 20 5c 52  65 73 74 6f 72 65 0d 03  |      \Restore..|
00000630  2a 25 20 20 20 20 20 20  4c 44 59 20 73 74 6f 72  |*%      LDY stor|
00000640  2b 32 20 20 20 20 20 20  20 5c 72 65 67 69 73 74  |+2       \regist|
00000650  65 72 73 0d 03 34 26 20  20 20 20 20 20 4a 4d 50  |ers..4&      JMP|
00000660  20 28 72 65 74 76 29 20  20 20 20 20 20 20 5c 61  | (retv)       \a|
00000670  6e 64 20 52 65 74 75 72  6e 0d 03 3e 11 2e 65 74  |nd Return..>..et|
00000680  78 74 20 45 51 55 42 20  26 44 0d 03 48 1d 20 20  |xt EQUB &D..H.  |
00000690  20 20 20 20 45 51 55 53  20 22 46 69 6c 65 20 65  |    EQUS "File e|
000006a0  78 69 73 74 73 3a 22 0d  03 52 11 20 20 20 20 20  |xists:"..R.     |
000006b0  20 45 51 55 42 20 26 44  0d 03 5c 20 20 20 20 20  | EQUB &D..\     |
000006c0  20 20 45 51 55 53 20 22  43 6f 6e 74 69 6e 75 65  |  EQUS "Continue|
000006d0  20 28 59 2f 4e 29 3f 22  0d 03 66 0d 20 20 20 20  | (Y/N)?"..f.    |
000006e0  20 20 42 52 4b 0d 03 70  19 2e 61 74 78 74 20 45  |  BRK..p..atxt E|
000006f0  51 55 53 20 22 20 41 62  6f 72 74 65 64 22 0d 03  |QUS " Aborted"..|
00000700  7a 11 20 20 20 20 20 20  45 51 55 42 20 26 44 0d  |z.      EQUB &D.|
00000710  03 84 0d 20 20 20 20 20  20 42 52 4b 0d 03 8e 11  |...      BRK....|
00000720  2e 68 74 78 74 20 45 51  55 42 20 26 44 0d 03 98  |.htxt EQUB &D...|
00000730  2e 20 20 20 20 20 20 45  51 55 53 20 22 53 41 46  |.      EQUS "SAF|
00000740  45 20 50 72 6f 74 65 63  74 69 6f 6e 20 66 6f 72  |E Protection for|
00000750  20 41 44 46 53 20 76 32  2e 32 22 0d 03 a2 11 20  | ADFS v2.2".... |
00000760  20 20 20 20 20 45 51 55  42 20 26 44 0d 03 ac 0d  |     EQUB &D....|
00000770  20 20 20 20 20 20 42 52  4b 0d 03 b6 11 2e 68 6c  |      BRK.....hl|
00000780  6e 65 20 45 51 55 42 20  31 30 0d 03 c0 12 20 20  |ne EQUB 10....  |
00000790  20 20 20 20 45 51 55 53  20 22 48 22 0d 03 ca 11  |    EQUS "H"....|
000007a0  20 20 20 20 20 20 45 51  55 42 20 31 34 0d 03 d4  |      EQUB 14...|
000007b0  13 2e 63 66 6c 65 20 4c  44 41 20 73 74 61 72 74  |..cfle LDA start|
000007c0  0d 03 de 25 20 20 20 20  20 20 43 4c 43 20 20 20  |...%      CLC   |
000007d0  20 20 20 20 20 20 20 20  20 20 20 5c 49 6e 63 72  |           \Incr|
000007e0  65 6d 65 6e 74 0d 03 e8  21 20 20 20 20 20 20 41  |ement...!      A|
000007f0  44 43 20 23 32 36 20 20  20 20 20 20 20 20 20 20  |DC #26          |
00000800  5c 53 54 41 52 54 0d 03  f2 21 20 20 20 20 20 20  |\START...!      |
00000810  53 54 41 20 73 74 61 72  74 20 20 20 20 20 20 20  |STA start       |
00000820  20 5c 62 79 20 32 36 0d  03 fc 12 20 20 20 20 20  | \by 26....     |
00000830  20 42 43 43 20 63 6f 6e  74 0d 04 06 15 20 20 20  | BCC cont....   |
00000840  20 20 20 49 4e 43 20 73  74 61 72 74 2b 31 0d 04  |   INC start+1..|
00000850  10 12 2e 63 6f 6e 74 20  4c 44 59 20 23 26 46 46  |...cont LDY #&FF|
00000860  0d 04 1a 0d 2e 6e 6c 65  74 20 49 4e 59 0d 04 24  |.....nlet INY..$|
00000870  26 20 20 20 20 20 20 43  50 59 20 23 31 30 20 20  |&      CPY #10  |
00000880  20 20 20 20 20 20 20 20  5c 31 30 20 6c 65 74 74  |        \10 lett|
00000890  65 72 73 0d 04 2e 24 20  20 20 20 20 20 42 45 51  |ers...$      BEQ|
000008a0  20 6d 74 63 68 20 20 20  20 20 20 20 20 20 5c 63  | mtch         \c|
000008b0  68 65 63 6b 65 64 3f 0d  04 38 17 20 20 20 20 20  |hecked?..8.     |
000008c0  20 4c 44 41 20 28 73 74  61 72 74 29 2c 59 0d 04  | LDA (start),Y..|
000008d0  42 10 20 20 20 20 20 20  80 20 23 26 35 46 0d 04  |B.      . #&5F..|
000008e0  4c 10 20 20 20 20 20 20  43 4d 50 20 23 30 0d 04  |L.      CMP #0..|
000008f0  56 26 20 20 20 20 20 20  42 45 51 20 64 65 6e 64  |V&      BEQ dend|
00000900  20 20 20 20 20 20 20 20  20 5c 45 6e 64 20 6f 66  |         \End of|
00000910  20 64 69 72 0d 04 60 11  20 20 20 20 20 20 43 4d  | dir..`.      CM|
00000920  50 20 23 26 44 0d 04 6a  26 20 20 20 20 20 20 42  |P #&D..j&      B|
00000930  45 51 20 64 63 68 6b 20  20 20 20 20 20 20 20 20  |EQ dchk         |
00000940  5c 46 69 6c 65 20 6d 61  74 63 68 0d 04 74 14 20  |\File match..t. |
00000950  20 20 20 20 20 53 54 41  20 6c 65 74 74 65 72 0d  |     STA letter.|
00000960  04 7e 16 20 20 20 20 20  20 4c 44 41 20 28 66 69  |.~.      LDA (fi|
00000970  6c 65 29 2c 59 0d 04 88  10 20 20 20 20 20 20 80  |le),Y....      .|
00000980  20 23 26 44 46 0d 04 92  14 20 20 20 20 20 20 43  | #&DF....      C|
00000990  4d 50 20 6c 65 74 74 65  72 0d 04 9c 12 20 20 20  |MP letter....   |
000009a0  20 20 20 42 45 51 20 6e  6c 65 74 0d 04 a6 12 20  |   BEQ nlet.... |
000009b0  20 20 20 20 20 4a 4d 50  20 63 66 6c 65 0d 04 b0  |     JMP cfle...|
000009c0  26 2e 64 63 68 6b 20 4c  44 41 20 28 66 69 6c 65  |&.dchk LDA (file|
000009d0  29 2c 59 20 20 20 20 20  5c 44 62 6c 65 20 43 68  |),Y     \Dble Ch|
000009e0  65 63 6b 0d 04 ba 12 20  20 20 20 20 20 43 4d 50  |eck....      CMP|
000009f0  20 23 26 32 30 0d 04 c4  12 20 20 20 20 20 20 42  | #&20....      B|
00000a00  45 51 20 6d 74 63 68 0d  04 ce 11 20 20 20 20 20  |EQ mtch....     |
00000a10  20 43 4d 50 20 23 26 44  0d 04 d8 12 20 20 20 20  | CMP #&D....    |
00000a20  20 20 42 45 51 20 6d 74  63 68 0d 04 e2 12 20 20  |  BEQ mtch....  |
00000a30  20 20 20 20 4a 4d 50 20  63 66 6c 65 0d 04 ec 12  |    JMP cfle....|
00000a40  2e 6d 74 63 68 20 4c 44  41 20 23 26 46 46 0d 04  |.mtch LDA #&FF..|
00000a50  f6 0d 2e 64 65 6e 64 20  52 54 53 0d 05 00 12 2e  |...dend RTS.....|
00000a60  6d 65 73 73 20 53 54 58  20 74 65 78 74 0d 05 0a  |mess STX text...|
00000a70  14 20 20 20 20 20 20 53  54 59 20 74 65 78 74 2b  |.      STY text+|
00000a80  31 0d 05 14 12 20 20 20  20 20 20 4c 44 59 20 23  |1....      LDY #|
00000a90  26 46 46 0d 05 1e 0d 2e  64 69 73 70 20 49 4e 59  |&FF.....disp INY|
00000aa0  0d 05 28 16 20 20 20 20  20 20 4c 44 41 20 28 74  |..(.      LDA (t|
00000ab0  65 78 74 29 2c 59 0d 05  32 10 20 20 20 20 20 20  |ext),Y..2.      |
00000ac0  43 4d 50 20 23 30 0d 05  3c 12 20 20 20 20 20 20  |CMP #0..<.      |
00000ad0  42 45 51 20 74 65 72 6d  0d 05 46 14 20 20 20 20  |BEQ term..F.    |
00000ae0  20 20 4a 53 52 20 6f 73  61 73 63 69 0d 05 50 12  |  JSR osasci..P.|
00000af0  20 20 20 20 20 20 4a 4d  50 20 64 69 73 70 0d 05  |      JMP disp..|
00000b00  5a 0d 2e 74 65 72 6d 20  52 54 53 0d 05 64 12 2e  |Z..term RTS..d..|
00000b10  68 76 65 63 20 53 54 41  20 73 74 6f 72 0d 05 6e  |hvec STA stor..n|
00000b20  14 20 20 20 20 20 20 53  54 58 20 73 74 6f 72 2b  |.      STX stor+|
00000b30  31 0d 05 78 14 20 20 20  20 20 20 53 54 59 20 73  |1..x.      STY s|
00000b40  74 6f 72 2b 32 0d 05 82  12 20 20 20 20 20 20 4c  |tor+2....      L|
00000b50  44 59 20 23 26 46 46 0d  05 8c 0d 2e 68 6c 6f 70  |DY #&FF.....hlop|
00000b60  20 49 4e 59 0d 05 96 18  20 20 20 20 20 20 4c 44  | INY....      LD|
00000b70  41 20 28 73 74 6f 72 2b  31 29 2c 59 0d 05 a0 10  |A (stor+1),Y....|
00000b80  20 20 20 20 20 20 80 20  23 26 44 46 0d 05 aa 14  |      . #&DF....|
00000b90  20 20 20 20 20 20 43 4d  50 20 68 6c 6e 65 2c 59  |      CMP hlne,Y|
00000ba0  0d 05 b4 12 20 20 20 20  20 20 42 45 51 20 68 6c  |....      BEQ hl|
00000bb0  6f 70 0d 05 be 10 20 20  20 20 20 20 43 50 59 20  |op....      CPY |
00000bc0  23 32 0d 05 c8 12 20 20  20 20 20 20 42 50 4c 20  |#2....      BPL |
00000bd0  68 64 73 70 0d 05 d2 12  20 20 20 20 20 20 4a 4d  |hdsp....      JM|
00000be0  50 20 68 65 6e 64 0d 05  dc 19 2e 68 64 73 70 20  |P hend.....hdsp |
00000bf0  4c 44 58 20 23 68 74 78  74 20 83 20 32 35 36 0d  |LDX #htxt . 256.|
00000c00  05 e6 19 20 20 20 20 20  20 4c 44 59 20 23 68 74  |...      LDY #ht|
00000c10  78 74 20 81 20 32 35 36  0d 05 f0 12 20 20 20 20  |xt . 256....    |
00000c20  20 20 4a 53 52 20 6d 65  73 73 0d 05 fa 12 2e 68  |  JSR mess.....h|
00000c30  65 6e 64 20 4c 44 41 20  73 74 6f 72 0d 06 04 14  |end LDA stor....|
00000c40  20 20 20 20 20 20 4c 44  58 20 73 74 6f 72 2b 31  |      LDX stor+1|
00000c50  0d 06 0e 14 20 20 20 20  20 20 4c 44 59 20 73 74  |....      LDY st|
00000c60  6f 72 2b 32 0d 06 18 14  20 20 20 20 20 20 4a 4d  |or+2....      JM|
00000c70  50 20 28 68 72 65 74 29  0d 06 22 0f 5d 3a 74 6f  |P (hret)..".]:to|
00000c80  70 25 3d 50 25 3a 5b 0d  06 2c 10 2e 68 72 65 74  |p%=P%:[..,..hret|
00000c90  20 45 51 55 57 20 30 0d  06 36 09 2e 72 65 74 76  | EQUW 0..6..retv|
00000ca0  0d 06 40 07 5d 3a ed 0d  06 4a 1e ff 20 22 53 41  |..@.]:...J.. "SA|
00000cb0  56 45 20 53 41 46 45 20  39 30 30 20 22 2b c3 20  |VE SAFE 900 "+. |
00000cc0  7e 74 6f 70 25 0d 06 54  0a d6 20 69 6e 69 74 0d  |~top%..T.. init.|
00000cd0  06 5e 05 e0 0d ff                                 |.^....|
00000cd6
P/ADFSsrc.m0
P/ADFSsrc.m1
P/ADFSsrc.m2
P/ADFSsrc.m4
P/ADFSsrc.m5