Home » CEEFAX disks » telesoftware5.adl » 22-01-88/FILES
22-01-88/FILES
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 » CEEFAX disks » telesoftware5.adl |
| Filename: | 22-01-88/FILES |
| Read OK: | ✔ |
| File size: | 1287 bytes |
| Load address: | FFFF1900 |
| Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- CEEFAX disks » telesoftware5.adl » 22-01-88/FILES
- CEEFAX disks » telesoftware9.adl » 30-09-88/FILES
File contents
10REM: FILES
20MODE7
30HIMEM=&3C00
40DIM save 50
50diff=&8000-HIMEM
60directory=&70
70private=directory+2
80catbuff=directory+4
90clibuff=directory+6
100block=directory+8
110address=directory+10
120comvec=&F2
130romnumber=&F4
140errornum=&FD
150errstack=&100
160workspace=&DF0
170osargs=&FFDA
180osrdch=&FFE0
190osasci=&FFE3
200osnewl=&FFE7
210osword=&FFF1
220osbyte=&FFF4
230oscli=&FFF7
240FOR pass = 0 TO 2 STEP 2
250P%=HIMEM
260[OPT pass
270BRK
280BRK
290BRK
300JMP service+diff
310OPT FNequb(&82)
320OPT FNequb((copyright+diff) MOD 256)
330BRK
340.title
350OPT FNequs("FILES")
360.copyright
370BRK
380OPT FNequs("(C) Gordon Horsington 1987")
390BRK
400.service
410PHA
420CMP #2
430BNE tryfour
440TYA
450PHA
460STA workspace,X
470LDA #0
480STA private
490STY private+1
500LDY #&FF
510STA (private),Y \ 0 = utility off
520PLA
530TAY
540INY \ 2 pages of
550INY \ private workspace
560PLA
570RTS
580.tryfour
590CMP #4
600BEQ unrecognised
610CMP #6
620BNE out
630TXA
640PHA
650TYA
660PHA
670LDX romnumber
680LDA workspace,X
690STA private+1
700LDA #0
710STA private
720LDY #&FF
730LDA (private),Y
740BEQ noton
750INY
760LDA (errornum),Y
770CMP #&BE \ Cat full
780BEQ change
790CMP #&C6 \ Disc full
800BEQ change
810.noton
820PLA
830TAY
840PLA
850TAX
860.out
870PLA
880RTS
890.change
900PLA \ Y
910PLA \ X
920PLA \ A
930PLA \ Status register
940PLA \ Return
950PLA \ address
960LDX #(swapdisc+diff) MOD 256
970LDY #(swapdisc+diff) DIV 256
980JSR print+diff
990.spacebar
1000LDA #&7A
1010JSR osbyte \ Scan keyboard
1020CPX #&62
1030BNE spacebar \ Wait for Space
1040JMP another+diff
1050.unrecognised
1060TXA
1070PHA
1080TYA
1090PHA
1100LDX #&FF
1110.comloop
1120INX
1130LDA title+diff,X
1140BEQ found
1150LDA (comvec),Y
1160INY
1170CMP #ASC(".")
1180BEQ found
1190AND #&DF
1200CMP title+diff,X
1210BEQ comloop
1220PLA
1230TAY
1240PLA
1250TAX
1260PLA
1270RTS
1280.found
1290PLA
1300PLA
1310PLA
1320LDA #0
1330TAX
1340TAY
1350JSR osargs
1360CMP #4 \ Is DFS active?
1370BEQ dfs
1380LDA #(wrong+diff) MOD 256
1390STA address
1400LDA #(wrong+diff) DIV 256
1410STA address+1
1420LDY #&FF
1430.errorloop
1440INY
1450LDA (address),Y
1460STA errstack,Y
1470BPL errorloop
1480JMP errstack
1490.dfs
1500LDX #(go+diff) MOD 256
1510LDY #(go+diff) DIV 256
1520JSR print+diff
1530JSR osrdch
1540AND #&DF
1550PHA
1560JSR osasci
1570JSR osnewl
1580PLA
1590CMP #ASC("Y")
1600BEQ yes
1610LDA #0
1620RTS
1630.yes
1640JSR osnewl
1650LDX romnumber
1660LDA workspace,X
1670STA block+1
1680STA clibuff+1
1690STA private+1
1700STA directory+1
1710CLC
1720ADC #1
1730STA catbuff+1
1740LDA #&80
1750STA block
1760LDY #8
1770STY catbuff
1780INY
1790STY directory
1800LDA #0
1810STA private
1820LDA #&FF
1830TAY
1840STA (private),Y \ &FF = utility on
1850INY \ Y=0
1860.dataloop
1870LDA data+diff,Y
1880STA (block),Y
1890INY
1900CPY #&A
1910BCC dataloop
1920LDY #2
1930LDA catbuff+1
1940STA (block),Y
1950LDY #0
1960.copyloop
1970LDA copy+diff,Y
1980STA (private),Y
1990INY
2000CPY #&B
2010BCC copyloop
2020STY clibuff
2030LDA #&7F
2040LDX block
2050LDY block+1
2060JSR osword \ Read catalogue
2070.catalogue
2080LDY #0
2090.transfer
2100LDA (catbuff),Y
2110STA (clibuff),Y
2120INY
2130CPY #7
2140BCC transfer
2150LDA #&D
2160STA (clibuff),Y
2170LDA (catbuff),Y
2180AND #&7F
2190CMP #ASC(" ")
2200BCC finish
2210LDY #0
2220STA (directory),Y
2230LDA catbuff
2240CLC
2250ADC #8
2260STA catbuff
2270.another
2280LDX #0
2290LDY clibuff+1
2300JSR oscli
2310LDA catbuff
2320BNE catalogue
2330.finish
2340LDA #0
2350LDY #&FF
2360STA (private),Y \ 0 = utility off
2370JSR osnewl
2380LDA #&F
2390LDX #0
2400JSR osbyte \ Flush buffers
2410LDA #&BB
2420LDX #0
2430LDY #&FF
2440JSR osbyte \ Find BASIC
2450LDA #&8E
2460JMP osbyte \ Enter BASIC
2470.print
2480STX address
2490STY address+1
2500LDA #&F
2510LDX #0
2520JSR osbyte \ Flush buffers
2530LDY #0
2540.printloop
2550LDA (address),Y
2560BEQ endprint
2570JSR osasci
2580INY
2590JMP printloop+diff
2600.endprint
2610RTS
2620.data
2630OPT FNequd(&FF000000)
2640OPT FNequd(&005303FF)
2650OPT FNequw(&2100)
2660.copy
2670OPT FNequs("COPY 0 1 *.")
2680.swapdisc
2690OPT FNequw(&070D)
2700OPT FNequs("Insert a new disc in ")
2710OPT FNequb(&3A)
2720OPT FNequs("1")
2730OPT FNequb(&0D)
2740OPT FNequs("and press the Space Bar")
2750OPT FNequw(&0D0D)
2760BRK
2770.go
2780OPT FNequs("Copy all files from ")
2790OPT FNequb(&3A)
2800OPT FNequs("0 to ")
2810OPT FNequb(&3A)
2820OPT FNequs("1")
2830OPT FNequb(&0D)
2840OPT FNequs("Go (Y/N) ? ")
2850BRK
2860.wrong
2870BRK
2880BRK
2890OPT FNequs("DFS not active")
2900BRK
2910OPT FNequb(&FF)
2920.lastbyte
2930]
2940NEXT
2950INPUT'"Save filename = "filename$
2960IF filename$="" END
2970$save="SAVE "+filename$+" "+STR$~(HIMEM)+" "+STR$~(lastbyte)+" FFFF8000 FFFF8000"
2980X%=save MOD 256
2990Y%=save DIV 256
3000*OPT1,2
3010CALL oscli
3020*OPT1,0
3030END
3040DEFFNequb(byte)
3050?P%=byte
3060P%=P%+1
3070=pass
3080DEFFNequw(word)
3090?P%=word MOD 256
3100P%?1=word DIV 256
3110P%=P%+2
3120=pass
3130DEFFNequd(double)
3140!P%=double
3150P%=P%+4
3160=pass
3170DEFFNequs(string$)
3180$P%=string$
3190P%=P%+LEN(string$)
3200=pass
�: FILES
�7
�=&3C00
(
� save 50
2diff=&8000-�
<directory=&70
Fprivate=directory+2
Pcatbuff=directory+4
Zclibuff=directory+6
dblock=directory+8
naddress=directory+10
xcomvec=&F2
�romnumber=&F4
�errornum=&FD
�errstack=&100
�workspace=&DF0
�osargs=&FFDA
�osrdch=&FFE0
�osasci=&FFE3
�osnewl=&FFE7
�osword=&FFF1
�osbyte=&FFF4
�oscli=&FFF7
�� pass = 0 � 2 � 2
�P%=�
[OPT pass
BRK
BRK
"BRK
,JMP service+diff
6OPT �equb(&82)
@%OPT �equb((copyright+diff) � 256)
JBRK
T
.title
^OPT �equs("FILES")
h.copyright
rBRK
|+OPT �equs("(C) Gordon Horsington 1987")
�BRK
�.service
�PHA
�
CMP #2
�BNE tryfour
�TYA
�PHA
�STA workspace,X
�
LDA #0
�STA private
�STY private+1
�LDY #&FF
�%STA (private),Y \ 0 = utility off
PLA
TAY
INY \ 2 pages of
&INY \ private workspace
0PLA
:RTS
D.tryfour
N
CMP #4
XBEQ unrecognised
b
CMP #6
lBNE out
vTXA
�PHA
�TYA
�PHA
�LDX romnumber
�LDA workspace,X
�STA private+1
�
LDA #0
�STA private
�LDY #&FF
�LDA (private),Y
�
BEQ noton
�INY
�LDA (errornum),Y
CMP #&BE \ Cat full
BEQ change
CMP #&C6 \ Disc full
BEQ change
*
.noton
4PLA
>TAY
HPLA
RTAX
\.out
fPLA
pRTS
z.change
�PLA \ Y
�PLA \ X
�PLA \ A
�PLA \ Status register
�PLA \ Return
�PLA \ address
�LDX #(swapdisc+diff) � 256
�LDY #(swapdisc+diff) � 256
�JSR print+diff
�
.spacebar
�LDA #&7A
�JSR osbyte \ Scan keyboard
�CPX #&62
!BNE spacebar \ Wait for Space
JMP another+diff
.unrecognised
$TXA
.PHA
8TYA
BPHA
LLDX #&FF
V.comloop
`INX
jLDA title+diff,X
t
BEQ found
~LDA (comvec),Y
�INY
�CMP #�(".")
�
BEQ found
�
� #&DF
�CMP title+diff,X
�BEQ comloop
�PLA
�TAY
�PLA
�TAX
�PLA
�RTS
.found
PLA
PLA
PLA
(
LDA #0
2TAX
<TAY
FJSR osargs
PCMP #4 \ Is DFS active?
ZBEQ dfs
dLDA #(wrong+diff) � 256
nSTA address
xLDA #(wrong+diff) � 256
�STA address+1
�LDY #&FF
�.errorloop
�INY
�LDA (address),Y
�STA errstack,Y
�BPL errorloop
�JMP errstack
�.dfs
�LDX #(go+diff) � 256
�LDY #(go+diff) � 256
�JSR print+diff
�JSR osrdch
� #&DF
PHA
JSR osasci
"JSR osnewl
,PLA
6CMP #�("Y")
@BEQ yes
J
LDA #0
TRTS
^.yes
hJSR osnewl
rLDX romnumber
|LDA workspace,X
�STA block+1
�STA clibuff+1
�STA private+1
�STA directory+1
�CLC
�
ADC #1
�STA catbuff+1
�LDA #&80
�
STA block
�
LDY #8
�STY catbuff
�INY
�STY directory
LDA #0
STA private
LDA #&FF
&TAY
0&STA (private),Y \ &FF = utility on
:
INY \ Y=0
D
.dataloop
NLDA data+diff,Y
XSTA (block),Y
bINY
lCPY #&A
vBCC dataloop
�
LDY #2
�LDA catbuff+1
�STA (block),Y
�
LDY #0
�
.copyloop
�LDA copy+diff,Y
�STA (private),Y
�INY
�CPY #&B
�BCC copyloop
�STY clibuff
�LDA #&7F
�
LDX block
LDY block+1
JSR osword \ Read catalogue
.catalogue
LDY #0
*
.transfer
4LDA (catbuff),Y
>STA (clibuff),Y
HINY
R
CPY #7
\BCC transfer
fLDA #&D
pSTA (clibuff),Y
zLDA (catbuff),Y
�
� #&7F
�CMP #�(" ")
�BCC finish
�
LDY #0
�STA (directory),Y
�LDA catbuff
�CLC
�
ADC #8
�STA catbuff
�.another
�
LDX #0
�LDY clibuff+1
�
JSR oscli
LDA catbuff
BNE catalogue
.finish
$
LDA #0
.LDY #&FF
8%STA (private),Y \ 0 = utility off
BJSR osnewl
LLDA #&F
V
LDX #0
`JSR osbyte \ Flush buffers
jLDA #&BB
t
LDX #0
~LDY #&FF
�JSR osbyte \ Find BASIC
�LDA #&8E
�JMP osbyte \ Enter BASIC
�
.print
�STX address
�STY address+1
�LDA #&F
�
LDX #0
�JSR osbyte \ Flush buffers
�
LDY #0
�.printloop
�LDA (address),Y
BEQ endprint
JSR osasci
INY
JMP printloop+diff
(
.endprint
2RTS
< .data
FOPT �equd(&FF000000)
POPT �equd(&005303FF)
ZOPT �equw(&2100)
d .copy
nOPT �equs("COPY 0 1 *.")
x
.swapdisc
�OPT �equw(&070D)
�&OPT �equs("Insert a new disc in ")
�OPT �equb(&3A)
�OPT �equs("1")
�OPT �equb(&0D)
�(OPT �equs("and press the Space Bar")
�OPT �equw(&0D0D)
�BRK
�.go
�%OPT �equs("Copy all files from ")
�OPT �equb(&3A)
�OPT �equs("0 to ")
�OPT �equb(&3A)
OPT �equs("1")
OPT �equb(&0D)
OPT �equs("Go (Y/N) ? ")
"BRK
,
.wrong
6BRK
@BRK
JOPT �equs("DFS not active")
TBRK
^OPT �equb(&FF)
h
.lastbyte
r]
|�
�!�'"Save filename = "filename$
�� filename$="" �
�K$save="SAVE "+filename$+" "+�~(�)+" "+�~(lastbyte)+" FFFF8000 FFFF8000"
�X%=save � 256
�Y%=save � 256
�*OPT1,2
�� oscli
�*OPT1,0
��
�ݤequb(byte)
�?P%=byte
�P%=P%+1
� =pass
ݤequw(word)
?P%=word � 256
P%?1=word � 256
&P%=P%+2
0 =pass
:ݤequd(double)
D!P%=double
NP%=P%+4
X =pass
bݤequs(string$)
l$P%=string$
vP%=P%+�(string$)
� =pass
� 00000000 0d 00 0a 0c f4 3a 20 46 49 4c 45 53 0d 00 14 06 |.....: FILES....|
00000010 eb 37 0d 00 1e 0b d3 3d 26 33 43 30 30 0d 00 28 |.7.....=&3C00..(|
00000020 0d de 20 73 61 76 65 20 35 30 0d 00 32 10 64 69 |.. save 50..2.di|
00000030 66 66 3d 26 38 30 30 30 2d 93 0d 00 3c 11 64 69 |ff=&8000-...<.di|
00000040 72 65 63 74 6f 72 79 3d 26 37 30 0d 00 46 17 70 |rectory=&70..F.p|
00000050 72 69 76 61 74 65 3d 64 69 72 65 63 74 6f 72 79 |rivate=directory|
00000060 2b 32 0d 00 50 17 63 61 74 62 75 66 66 3d 64 69 |+2..P.catbuff=di|
00000070 72 65 63 74 6f 72 79 2b 34 0d 00 5a 17 63 6c 69 |rectory+4..Z.cli|
00000080 62 75 66 66 3d 64 69 72 65 63 74 6f 72 79 2b 36 |buff=directory+6|
00000090 0d 00 64 15 62 6c 6f 63 6b 3d 64 69 72 65 63 74 |..d.block=direct|
000000a0 6f 72 79 2b 38 0d 00 6e 18 61 64 64 72 65 73 73 |ory+8..n.address|
000000b0 3d 64 69 72 65 63 74 6f 72 79 2b 31 30 0d 00 78 |=directory+10..x|
000000c0 0e 63 6f 6d 76 65 63 3d 26 46 32 0d 00 82 11 72 |.comvec=&F2....r|
000000d0 6f 6d 6e 75 6d 62 65 72 3d 26 46 34 0d 00 8c 10 |omnumber=&F4....|
000000e0 65 72 72 6f 72 6e 75 6d 3d 26 46 44 0d 00 96 11 |errornum=&FD....|
000000f0 65 72 72 73 74 61 63 6b 3d 26 31 30 30 0d 00 a0 |errstack=&100...|
00000100 12 77 6f 72 6b 73 70 61 63 65 3d 26 44 46 30 0d |.workspace=&DF0.|
00000110 00 aa 10 6f 73 61 72 67 73 3d 26 46 46 44 41 0d |...osargs=&FFDA.|
00000120 00 b4 10 6f 73 72 64 63 68 3d 26 46 46 45 30 0d |...osrdch=&FFE0.|
00000130 00 be 10 6f 73 61 73 63 69 3d 26 46 46 45 33 0d |...osasci=&FFE3.|
00000140 00 c8 10 6f 73 6e 65 77 6c 3d 26 46 46 45 37 0d |...osnewl=&FFE7.|
00000150 00 d2 10 6f 73 77 6f 72 64 3d 26 46 46 46 31 0d |...osword=&FFF1.|
00000160 00 dc 10 6f 73 62 79 74 65 3d 26 46 46 46 34 0d |...osbyte=&FFF4.|
00000170 00 e6 0f 6f 73 63 6c 69 3d 26 46 46 46 37 0d 00 |...oscli=&FFF7..|
00000180 f0 16 e3 20 70 61 73 73 20 3d 20 30 20 b8 20 32 |... pass = 0 . 2|
00000190 20 88 20 32 0d 00 fa 08 50 25 3d 93 0d 01 04 0d | . 2....P%=.....|
000001a0 5b 4f 50 54 20 70 61 73 73 0d 01 0e 07 42 52 4b |[OPT pass....BRK|
000001b0 0d 01 18 07 42 52 4b 0d 01 22 07 42 52 4b 0d 01 |....BRK..".BRK..|
000001c0 2c 14 4a 4d 50 20 73 65 72 76 69 63 65 2b 64 69 |,.JMP service+di|
000001d0 66 66 0d 01 36 12 4f 50 54 20 a4 65 71 75 62 28 |ff..6.OPT .equb(|
000001e0 26 38 32 29 0d 01 40 25 4f 50 54 20 a4 65 71 75 |&82)..@%OPT .equ|
000001f0 62 28 28 63 6f 70 79 72 69 67 68 74 2b 64 69 66 |b((copyright+dif|
00000200 66 29 20 83 20 32 35 36 29 0d 01 4a 07 42 52 4b |f) . 256)..J.BRK|
00000210 0d 01 54 0a 2e 74 69 74 6c 65 0d 01 5e 16 4f 50 |..T..title..^.OP|
00000220 54 20 a4 65 71 75 73 28 22 46 49 4c 45 53 22 29 |T .equs("FILES")|
00000230 0d 01 68 0e 2e 63 6f 70 79 72 69 67 68 74 0d 01 |..h..copyright..|
00000240 72 07 42 52 4b 0d 01 7c 2b 4f 50 54 20 a4 65 71 |r.BRK..|+OPT .eq|
00000250 75 73 28 22 28 43 29 20 47 6f 72 64 6f 6e 20 48 |us("(C) Gordon H|
00000260 6f 72 73 69 6e 67 74 6f 6e 20 31 39 38 37 22 29 |orsington 1987")|
00000270 0d 01 86 07 42 52 4b 0d 01 90 0c 2e 73 65 72 76 |....BRK.....serv|
00000280 69 63 65 0d 01 9a 07 50 48 41 0d 01 a4 0a 43 4d |ice....PHA....CM|
00000290 50 20 23 32 0d 01 ae 0f 42 4e 45 20 74 72 79 66 |P #2....BNE tryf|
000002a0 6f 75 72 0d 01 b8 07 54 59 41 0d 01 c2 07 50 48 |our....TYA....PH|
000002b0 41 0d 01 cc 13 53 54 41 20 77 6f 72 6b 73 70 61 |A....STA workspa|
000002c0 63 65 2c 58 0d 01 d6 0a 4c 44 41 20 23 30 0d 01 |ce,X....LDA #0..|
000002d0 e0 0f 53 54 41 20 70 72 69 76 61 74 65 0d 01 ea |..STA private...|
000002e0 11 53 54 59 20 70 72 69 76 61 74 65 2b 31 0d 01 |.STY private+1..|
000002f0 f4 0c 4c 44 59 20 23 26 46 46 0d 01 fe 25 53 54 |..LDY #&FF...%ST|
00000300 41 20 28 70 72 69 76 61 74 65 29 2c 59 20 5c 20 |A (private),Y \ |
00000310 30 20 3d 20 75 74 69 6c 69 74 79 20 6f 66 66 0d |0 = utility off.|
00000320 02 08 07 50 4c 41 0d 02 12 07 54 41 59 0d 02 1c |...PLA....TAY...|
00000330 14 49 4e 59 20 5c 20 32 20 70 61 67 65 73 20 6f |.INY \ 2 pages o|
00000340 66 0d 02 26 1b 49 4e 59 20 5c 20 70 72 69 76 61 |f..&.INY \ priva|
00000350 74 65 20 77 6f 72 6b 73 70 61 63 65 0d 02 30 07 |te workspace..0.|
00000360 50 4c 41 0d 02 3a 07 52 54 53 0d 02 44 0c 2e 74 |PLA..:.RTS..D..t|
00000370 72 79 66 6f 75 72 0d 02 4e 0a 43 4d 50 20 23 34 |ryfour..N.CMP #4|
00000380 0d 02 58 14 42 45 51 20 75 6e 72 65 63 6f 67 6e |..X.BEQ unrecogn|
00000390 69 73 65 64 0d 02 62 0a 43 4d 50 20 23 36 0d 02 |ised..b.CMP #6..|
000003a0 6c 0b 42 4e 45 20 6f 75 74 0d 02 76 07 54 58 41 |l.BNE out..v.TXA|
000003b0 0d 02 80 07 50 48 41 0d 02 8a 07 54 59 41 0d 02 |....PHA....TYA..|
000003c0 94 07 50 48 41 0d 02 9e 11 4c 44 58 20 72 6f 6d |..PHA....LDX rom|
000003d0 6e 75 6d 62 65 72 0d 02 a8 13 4c 44 41 20 77 6f |number....LDA wo|
000003e0 72 6b 73 70 61 63 65 2c 58 0d 02 b2 11 53 54 41 |rkspace,X....STA|
000003f0 20 70 72 69 76 61 74 65 2b 31 0d 02 bc 0a 4c 44 | private+1....LD|
00000400 41 20 23 30 0d 02 c6 0f 53 54 41 20 70 72 69 76 |A #0....STA priv|
00000410 61 74 65 0d 02 d0 0c 4c 44 59 20 23 26 46 46 0d |ate....LDY #&FF.|
00000420 02 da 13 4c 44 41 20 28 70 72 69 76 61 74 65 29 |...LDA (private)|
00000430 2c 59 0d 02 e4 0d 42 45 51 20 6e 6f 74 6f 6e 0d |,Y....BEQ noton.|
00000440 02 ee 07 49 4e 59 0d 02 f8 14 4c 44 41 20 28 65 |...INY....LDA (e|
00000450 72 72 6f 72 6e 75 6d 29 2c 59 0d 03 02 17 43 4d |rrornum),Y....CM|
00000460 50 20 23 26 42 45 20 5c 20 43 61 74 20 66 75 6c |P #&BE \ Cat ful|
00000470 6c 0d 03 0c 0e 42 45 51 20 63 68 61 6e 67 65 0d |l....BEQ change.|
00000480 03 16 18 43 4d 50 20 23 26 43 36 20 5c 20 44 69 |...CMP #&C6 \ Di|
00000490 73 63 20 66 75 6c 6c 0d 03 20 0e 42 45 51 20 63 |sc full.. .BEQ c|
000004a0 68 61 6e 67 65 0d 03 2a 0a 2e 6e 6f 74 6f 6e 0d |hange..*..noton.|
000004b0 03 34 07 50 4c 41 0d 03 3e 07 54 41 59 0d 03 48 |.4.PLA..>.TAY..H|
000004c0 07 50 4c 41 0d 03 52 07 54 41 58 0d 03 5c 08 2e |.PLA..R.TAX..\..|
000004d0 6f 75 74 0d 03 66 07 50 4c 41 0d 03 70 07 52 54 |out..f.PLA..p.RT|
000004e0 53 0d 03 7a 0b 2e 63 68 61 6e 67 65 0d 03 84 0b |S..z..change....|
000004f0 50 4c 41 20 5c 20 59 0d 03 8e 0b 50 4c 41 20 5c |PLA \ Y....PLA \|
00000500 20 58 0d 03 98 0b 50 4c 41 20 5c 20 41 0d 03 a2 | X....PLA \ A...|
00000510 19 50 4c 41 20 5c 20 53 74 61 74 75 73 20 72 65 |.PLA \ Status re|
00000520 67 69 73 74 65 72 0d 03 ac 10 50 4c 41 20 5c 20 |gister....PLA \ |
00000530 52 65 74 75 72 6e 0d 03 b6 11 50 4c 41 20 5c 20 |Return....PLA \ |
00000540 61 64 64 72 65 73 73 0d 03 c0 1e 4c 44 58 20 23 |address....LDX #|
00000550 28 73 77 61 70 64 69 73 63 2b 64 69 66 66 29 20 |(swapdisc+diff) |
00000560 83 20 32 35 36 0d 03 ca 1e 4c 44 59 20 23 28 73 |. 256....LDY #(s|
00000570 77 61 70 64 69 73 63 2b 64 69 66 66 29 20 81 20 |wapdisc+diff) . |
00000580 32 35 36 0d 03 d4 12 4a 53 52 20 70 72 69 6e 74 |256....JSR print|
00000590 2b 64 69 66 66 0d 03 de 0d 2e 73 70 61 63 65 62 |+diff.....spaceb|
000005a0 61 72 0d 03 e8 0c 4c 44 41 20 23 26 37 41 0d 03 |ar....LDA #&7A..|
000005b0 f2 1e 4a 53 52 20 6f 73 62 79 74 65 20 5c 20 53 |..JSR osbyte \ S|
000005c0 63 61 6e 20 6b 65 79 62 6f 61 72 64 0d 03 fc 0c |can keyboard....|
000005d0 43 50 58 20 23 26 36 32 0d 04 06 21 42 4e 45 20 |CPX #&62...!BNE |
000005e0 73 70 61 63 65 62 61 72 20 5c 20 57 61 69 74 20 |spacebar \ Wait |
000005f0 66 6f 72 20 53 70 61 63 65 0d 04 10 14 4a 4d 50 |for Space....JMP|
00000600 20 61 6e 6f 74 68 65 72 2b 64 69 66 66 0d 04 1a | another+diff...|
00000610 11 2e 75 6e 72 65 63 6f 67 6e 69 73 65 64 0d 04 |..unrecognised..|
00000620 24 07 54 58 41 0d 04 2e 07 50 48 41 0d 04 38 07 |$.TXA....PHA..8.|
00000630 54 59 41 0d 04 42 07 50 48 41 0d 04 4c 0c 4c 44 |TYA..B.PHA..L.LD|
00000640 58 20 23 26 46 46 0d 04 56 0c 2e 63 6f 6d 6c 6f |X #&FF..V..comlo|
00000650 6f 70 0d 04 60 07 49 4e 58 0d 04 6a 14 4c 44 41 |op..`.INX..j.LDA|
00000660 20 74 69 74 6c 65 2b 64 69 66 66 2c 58 0d 04 74 | title+diff,X..t|
00000670 0d 42 45 51 20 66 6f 75 6e 64 0d 04 7e 12 4c 44 |.BEQ found..~.LD|
00000680 41 20 28 63 6f 6d 76 65 63 29 2c 59 0d 04 88 07 |A (comvec),Y....|
00000690 49 4e 59 0d 04 92 0f 43 4d 50 20 23 97 28 22 2e |INY....CMP #.(".|
000006a0 22 29 0d 04 9c 0d 42 45 51 20 66 6f 75 6e 64 0d |")....BEQ found.|
000006b0 04 a6 0a 80 20 23 26 44 46 0d 04 b0 14 43 4d 50 |.... #&DF....CMP|
000006c0 20 74 69 74 6c 65 2b 64 69 66 66 2c 58 0d 04 ba | title+diff,X...|
000006d0 0f 42 45 51 20 63 6f 6d 6c 6f 6f 70 0d 04 c4 07 |.BEQ comloop....|
000006e0 50 4c 41 0d 04 ce 07 54 41 59 0d 04 d8 07 50 4c |PLA....TAY....PL|
000006f0 41 0d 04 e2 07 54 41 58 0d 04 ec 07 50 4c 41 0d |A....TAX....PLA.|
00000700 04 f6 07 52 54 53 0d 05 00 0a 2e 66 6f 75 6e 64 |...RTS.....found|
00000710 0d 05 0a 07 50 4c 41 0d 05 14 07 50 4c 41 0d 05 |....PLA....PLA..|
00000720 1e 07 50 4c 41 0d 05 28 0a 4c 44 41 20 23 30 0d |..PLA..(.LDA #0.|
00000730 05 32 07 54 41 58 0d 05 3c 07 54 41 59 0d 05 46 |.2.TAX..<.TAY..F|
00000740 0e 4a 53 52 20 6f 73 61 72 67 73 0d 05 50 1b 43 |.JSR osargs..P.C|
00000750 4d 50 20 23 34 20 5c 20 49 73 20 44 46 53 20 61 |MP #4 \ Is DFS a|
00000760 63 74 69 76 65 3f 0d 05 5a 0b 42 45 51 20 64 66 |ctive?..Z.BEQ df|
00000770 73 0d 05 64 1b 4c 44 41 20 23 28 77 72 6f 6e 67 |s..d.LDA #(wrong|
00000780 2b 64 69 66 66 29 20 83 20 32 35 36 0d 05 6e 0f |+diff) . 256..n.|
00000790 53 54 41 20 61 64 64 72 65 73 73 0d 05 78 1b 4c |STA address..x.L|
000007a0 44 41 20 23 28 77 72 6f 6e 67 2b 64 69 66 66 29 |DA #(wrong+diff)|
000007b0 20 81 20 32 35 36 0d 05 82 11 53 54 41 20 61 64 | . 256....STA ad|
000007c0 64 72 65 73 73 2b 31 0d 05 8c 0c 4c 44 59 20 23 |dress+1....LDY #|
000007d0 26 46 46 0d 05 96 0e 2e 65 72 72 6f 72 6c 6f 6f |&FF.....errorloo|
000007e0 70 0d 05 a0 07 49 4e 59 0d 05 aa 13 4c 44 41 20 |p....INY....LDA |
000007f0 28 61 64 64 72 65 73 73 29 2c 59 0d 05 b4 12 53 |(address),Y....S|
00000800 54 41 20 65 72 72 73 74 61 63 6b 2c 59 0d 05 be |TA errstack,Y...|
00000810 11 42 50 4c 20 65 72 72 6f 72 6c 6f 6f 70 0d 05 |.BPL errorloop..|
00000820 c8 10 4a 4d 50 20 65 72 72 73 74 61 63 6b 0d 05 |..JMP errstack..|
00000830 d2 08 2e 64 66 73 0d 05 dc 18 4c 44 58 20 23 28 |...dfs....LDX #(|
00000840 67 6f 2b 64 69 66 66 29 20 83 20 32 35 36 0d 05 |go+diff) . 256..|
00000850 e6 18 4c 44 59 20 23 28 67 6f 2b 64 69 66 66 29 |..LDY #(go+diff)|
00000860 20 81 20 32 35 36 0d 05 f0 12 4a 53 52 20 70 72 | . 256....JSR pr|
00000870 69 6e 74 2b 64 69 66 66 0d 05 fa 0e 4a 53 52 20 |int+diff....JSR |
00000880 6f 73 72 64 63 68 0d 06 04 0a 80 20 23 26 44 46 |osrdch..... #&DF|
00000890 0d 06 0e 07 50 48 41 0d 06 18 0e 4a 53 52 20 6f |....PHA....JSR o|
000008a0 73 61 73 63 69 0d 06 22 0e 4a 53 52 20 6f 73 6e |sasci..".JSR osn|
000008b0 65 77 6c 0d 06 2c 07 50 4c 41 0d 06 36 0f 43 4d |ewl..,.PLA..6.CM|
000008c0 50 20 23 97 28 22 59 22 29 0d 06 40 0b 42 45 51 |P #.("Y")..@.BEQ|
000008d0 20 79 65 73 0d 06 4a 0a 4c 44 41 20 23 30 0d 06 | yes..J.LDA #0..|
000008e0 54 07 52 54 53 0d 06 5e 08 2e 79 65 73 0d 06 68 |T.RTS..^..yes..h|
000008f0 0e 4a 53 52 20 6f 73 6e 65 77 6c 0d 06 72 11 4c |.JSR osnewl..r.L|
00000900 44 58 20 72 6f 6d 6e 75 6d 62 65 72 0d 06 7c 13 |DX romnumber..|.|
00000910 4c 44 41 20 77 6f 72 6b 73 70 61 63 65 2c 58 0d |LDA workspace,X.|
00000920 06 86 0f 53 54 41 20 62 6c 6f 63 6b 2b 31 0d 06 |...STA block+1..|
00000930 90 11 53 54 41 20 63 6c 69 62 75 66 66 2b 31 0d |..STA clibuff+1.|
00000940 06 9a 11 53 54 41 20 70 72 69 76 61 74 65 2b 31 |...STA private+1|
00000950 0d 06 a4 13 53 54 41 20 64 69 72 65 63 74 6f 72 |....STA director|
00000960 79 2b 31 0d 06 ae 07 43 4c 43 0d 06 b8 0a 41 44 |y+1....CLC....AD|
00000970 43 20 23 31 0d 06 c2 11 53 54 41 20 63 61 74 62 |C #1....STA catb|
00000980 75 66 66 2b 31 0d 06 cc 0c 4c 44 41 20 23 26 38 |uff+1....LDA #&8|
00000990 30 0d 06 d6 0d 53 54 41 20 62 6c 6f 63 6b 0d 06 |0....STA block..|
000009a0 e0 0a 4c 44 59 20 23 38 0d 06 ea 0f 53 54 59 20 |..LDY #8....STY |
000009b0 63 61 74 62 75 66 66 0d 06 f4 07 49 4e 59 0d 06 |catbuff....INY..|
000009c0 fe 11 53 54 59 20 64 69 72 65 63 74 6f 72 79 0d |..STY directory.|
000009d0 07 08 0a 4c 44 41 20 23 30 0d 07 12 0f 53 54 41 |...LDA #0....STA|
000009e0 20 70 72 69 76 61 74 65 0d 07 1c 0c 4c 44 41 20 | private....LDA |
000009f0 23 26 46 46 0d 07 26 07 54 41 59 0d 07 30 26 53 |#&FF..&.TAY..0&S|
00000a00 54 41 20 28 70 72 69 76 61 74 65 29 2c 59 20 5c |TA (private),Y \|
00000a10 20 26 46 46 20 3d 20 75 74 69 6c 69 74 79 20 6f | &FF = utility o|
00000a20 6e 0d 07 3a 0d 49 4e 59 20 5c 20 59 3d 30 0d 07 |n..:.INY \ Y=0..|
00000a30 44 0d 2e 64 61 74 61 6c 6f 6f 70 0d 07 4e 13 4c |D..dataloop..N.L|
00000a40 44 41 20 64 61 74 61 2b 64 69 66 66 2c 59 0d 07 |DA data+diff,Y..|
00000a50 58 11 53 54 41 20 28 62 6c 6f 63 6b 29 2c 59 0d |X.STA (block),Y.|
00000a60 07 62 07 49 4e 59 0d 07 6c 0b 43 50 59 20 23 26 |.b.INY..l.CPY #&|
00000a70 41 0d 07 76 10 42 43 43 20 64 61 74 61 6c 6f 6f |A..v.BCC dataloo|
00000a80 70 0d 07 80 0a 4c 44 59 20 23 32 0d 07 8a 11 4c |p....LDY #2....L|
00000a90 44 41 20 63 61 74 62 75 66 66 2b 31 0d 07 94 11 |DA catbuff+1....|
00000aa0 53 54 41 20 28 62 6c 6f 63 6b 29 2c 59 0d 07 9e |STA (block),Y...|
00000ab0 0a 4c 44 59 20 23 30 0d 07 a8 0d 2e 63 6f 70 79 |.LDY #0.....copy|
00000ac0 6c 6f 6f 70 0d 07 b2 13 4c 44 41 20 63 6f 70 79 |loop....LDA copy|
00000ad0 2b 64 69 66 66 2c 59 0d 07 bc 13 53 54 41 20 28 |+diff,Y....STA (|
00000ae0 70 72 69 76 61 74 65 29 2c 59 0d 07 c6 07 49 4e |private),Y....IN|
00000af0 59 0d 07 d0 0b 43 50 59 20 23 26 42 0d 07 da 10 |Y....CPY #&B....|
00000b00 42 43 43 20 63 6f 70 79 6c 6f 6f 70 0d 07 e4 0f |BCC copyloop....|
00000b10 53 54 59 20 63 6c 69 62 75 66 66 0d 07 ee 0c 4c |STY clibuff....L|
00000b20 44 41 20 23 26 37 46 0d 07 f8 0d 4c 44 58 20 62 |DA #&7F....LDX b|
00000b30 6c 6f 63 6b 0d 08 02 0f 4c 44 59 20 62 6c 6f 63 |lock....LDY bloc|
00000b40 6b 2b 31 0d 08 0c 1f 4a 53 52 20 6f 73 77 6f 72 |k+1....JSR oswor|
00000b50 64 20 5c 20 52 65 61 64 20 63 61 74 61 6c 6f 67 |d \ Read catalog|
00000b60 75 65 0d 08 16 0e 2e 63 61 74 61 6c 6f 67 75 65 |ue.....catalogue|
00000b70 0d 08 20 0a 4c 44 59 20 23 30 0d 08 2a 0d 2e 74 |.. .LDY #0..*..t|
00000b80 72 61 6e 73 66 65 72 0d 08 34 13 4c 44 41 20 28 |ransfer..4.LDA (|
00000b90 63 61 74 62 75 66 66 29 2c 59 0d 08 3e 13 53 54 |catbuff),Y..>.ST|
00000ba0 41 20 28 63 6c 69 62 75 66 66 29 2c 59 0d 08 48 |A (clibuff),Y..H|
00000bb0 07 49 4e 59 0d 08 52 0a 43 50 59 20 23 37 0d 08 |.INY..R.CPY #7..|
00000bc0 5c 10 42 43 43 20 74 72 61 6e 73 66 65 72 0d 08 |\.BCC transfer..|
00000bd0 66 0b 4c 44 41 20 23 26 44 0d 08 70 13 53 54 41 |f.LDA #&D..p.STA|
00000be0 20 28 63 6c 69 62 75 66 66 29 2c 59 0d 08 7a 13 | (clibuff),Y..z.|
00000bf0 4c 44 41 20 28 63 61 74 62 75 66 66 29 2c 59 0d |LDA (catbuff),Y.|
00000c00 08 84 0a 80 20 23 26 37 46 0d 08 8e 0f 43 4d 50 |.... #&7F....CMP|
00000c10 20 23 97 28 22 20 22 29 0d 08 98 0e 42 43 43 20 | #.(" ")....BCC |
00000c20 66 69 6e 69 73 68 0d 08 a2 0a 4c 44 59 20 23 30 |finish....LDY #0|
00000c30 0d 08 ac 15 53 54 41 20 28 64 69 72 65 63 74 6f |....STA (directo|
00000c40 72 79 29 2c 59 0d 08 b6 0f 4c 44 41 20 63 61 74 |ry),Y....LDA cat|
00000c50 62 75 66 66 0d 08 c0 07 43 4c 43 0d 08 ca 0a 41 |buff....CLC....A|
00000c60 44 43 20 23 38 0d 08 d4 0f 53 54 41 20 63 61 74 |DC #8....STA cat|
00000c70 62 75 66 66 0d 08 de 0c 2e 61 6e 6f 74 68 65 72 |buff.....another|
00000c80 0d 08 e8 0a 4c 44 58 20 23 30 0d 08 f2 11 4c 44 |....LDX #0....LD|
00000c90 59 20 63 6c 69 62 75 66 66 2b 31 0d 08 fc 0d 4a |Y clibuff+1....J|
00000ca0 53 52 20 6f 73 63 6c 69 0d 09 06 0f 4c 44 41 20 |SR oscli....LDA |
00000cb0 63 61 74 62 75 66 66 0d 09 10 11 42 4e 45 20 63 |catbuff....BNE c|
00000cc0 61 74 61 6c 6f 67 75 65 0d 09 1a 0b 2e 66 69 6e |atalogue.....fin|
00000cd0 69 73 68 0d 09 24 0a 4c 44 41 20 23 30 0d 09 2e |ish..$.LDA #0...|
00000ce0 0c 4c 44 59 20 23 26 46 46 0d 09 38 25 53 54 41 |.LDY #&FF..8%STA|
00000cf0 20 28 70 72 69 76 61 74 65 29 2c 59 20 5c 20 30 | (private),Y \ 0|
00000d00 20 3d 20 75 74 69 6c 69 74 79 20 6f 66 66 0d 09 | = utility off..|
00000d10 42 0e 4a 53 52 20 6f 73 6e 65 77 6c 0d 09 4c 0b |B.JSR osnewl..L.|
00000d20 4c 44 41 20 23 26 46 0d 09 56 0a 4c 44 58 20 23 |LDA #&F..V.LDX #|
00000d30 30 0d 09 60 1e 4a 53 52 20 6f 73 62 79 74 65 20 |0..`.JSR osbyte |
00000d40 5c 20 46 6c 75 73 68 20 62 75 66 66 65 72 73 0d |\ Flush buffers.|
00000d50 09 6a 0c 4c 44 41 20 23 26 42 42 0d 09 74 0a 4c |.j.LDA #&BB..t.L|
00000d60 44 58 20 23 30 0d 09 7e 0c 4c 44 59 20 23 26 46 |DX #0..~.LDY #&F|
00000d70 46 0d 09 88 1b 4a 53 52 20 6f 73 62 79 74 65 20 |F....JSR osbyte |
00000d80 5c 20 46 69 6e 64 20 42 41 53 49 43 0d 09 92 0c |\ Find BASIC....|
00000d90 4c 44 41 20 23 26 38 45 0d 09 9c 1c 4a 4d 50 20 |LDA #&8E....JMP |
00000da0 6f 73 62 79 74 65 20 5c 20 45 6e 74 65 72 20 42 |osbyte \ Enter B|
00000db0 41 53 49 43 0d 09 a6 0a 2e 70 72 69 6e 74 0d 09 |ASIC.....print..|
00000dc0 b0 0f 53 54 58 20 61 64 64 72 65 73 73 0d 09 ba |..STX address...|
00000dd0 11 53 54 59 20 61 64 64 72 65 73 73 2b 31 0d 09 |.STY address+1..|
00000de0 c4 0b 4c 44 41 20 23 26 46 0d 09 ce 0a 4c 44 58 |..LDA #&F....LDX|
00000df0 20 23 30 0d 09 d8 1e 4a 53 52 20 6f 73 62 79 74 | #0....JSR osbyt|
00000e00 65 20 5c 20 46 6c 75 73 68 20 62 75 66 66 65 72 |e \ Flush buffer|
00000e10 73 0d 09 e2 0a 4c 44 59 20 23 30 0d 09 ec 0e 2e |s....LDY #0.....|
00000e20 70 72 69 6e 74 6c 6f 6f 70 0d 09 f6 13 4c 44 41 |printloop....LDA|
00000e30 20 28 61 64 64 72 65 73 73 29 2c 59 0d 0a 00 10 | (address),Y....|
00000e40 42 45 51 20 65 6e 64 70 72 69 6e 74 0d 0a 0a 0e |BEQ endprint....|
00000e50 4a 53 52 20 6f 73 61 73 63 69 0d 0a 14 07 49 4e |JSR osasci....IN|
00000e60 59 0d 0a 1e 16 4a 4d 50 20 70 72 69 6e 74 6c 6f |Y....JMP printlo|
00000e70 6f 70 2b 64 69 66 66 0d 0a 28 0d 2e 65 6e 64 70 |op+diff..(..endp|
00000e80 72 69 6e 74 0d 0a 32 07 52 54 53 0d 0a 3c 09 2e |rint..2.RTS..<..|
00000e90 64 61 74 61 0d 0a 46 18 4f 50 54 20 a4 65 71 75 |data..F.OPT .equ|
00000ea0 64 28 26 46 46 30 30 30 30 30 30 29 0d 0a 50 18 |d(&FF000000)..P.|
00000eb0 4f 50 54 20 a4 65 71 75 64 28 26 30 30 35 33 30 |OPT .equd(&00530|
00000ec0 33 46 46 29 0d 0a 5a 14 4f 50 54 20 a4 65 71 75 |3FF)..Z.OPT .equ|
00000ed0 77 28 26 32 31 30 30 29 0d 0a 64 09 2e 63 6f 70 |w(&2100)..d..cop|
00000ee0 79 0d 0a 6e 1c 4f 50 54 20 a4 65 71 75 73 28 22 |y..n.OPT .equs("|
00000ef0 43 4f 50 59 20 30 20 31 20 2a 2e 22 29 0d 0a 78 |COPY 0 1 *.")..x|
00000f00 0d 2e 73 77 61 70 64 69 73 63 0d 0a 82 14 4f 50 |..swapdisc....OP|
00000f10 54 20 a4 65 71 75 77 28 26 30 37 30 44 29 0d 0a |T .equw(&070D)..|
00000f20 8c 26 4f 50 54 20 a4 65 71 75 73 28 22 49 6e 73 |.&OPT .equs("Ins|
00000f30 65 72 74 20 61 20 6e 65 77 20 64 69 73 63 20 69 |ert a new disc i|
00000f40 6e 20 22 29 0d 0a 96 12 4f 50 54 20 a4 65 71 75 |n ")....OPT .equ|
00000f50 62 28 26 33 41 29 0d 0a a0 12 4f 50 54 20 a4 65 |b(&3A)....OPT .e|
00000f60 71 75 73 28 22 31 22 29 0d 0a aa 12 4f 50 54 20 |qus("1")....OPT |
00000f70 a4 65 71 75 62 28 26 30 44 29 0d 0a b4 28 4f 50 |.equb(&0D)...(OP|
00000f80 54 20 a4 65 71 75 73 28 22 61 6e 64 20 70 72 65 |T .equs("and pre|
00000f90 73 73 20 74 68 65 20 53 70 61 63 65 20 42 61 72 |ss the Space Bar|
00000fa0 22 29 0d 0a be 14 4f 50 54 20 a4 65 71 75 77 28 |")....OPT .equw(|
00000fb0 26 30 44 30 44 29 0d 0a c8 07 42 52 4b 0d 0a d2 |&0D0D)....BRK...|
00000fc0 07 2e 67 6f 0d 0a dc 25 4f 50 54 20 a4 65 71 75 |..go...%OPT .equ|
00000fd0 73 28 22 43 6f 70 79 20 61 6c 6c 20 66 69 6c 65 |s("Copy all file|
00000fe0 73 20 66 72 6f 6d 20 22 29 0d 0a e6 12 4f 50 54 |s from ")....OPT|
00000ff0 20 a4 65 71 75 62 28 26 33 41 29 0d 0a f0 16 4f | .equb(&3A)....O|
00001000 50 54 20 a4 65 71 75 73 28 22 30 20 74 6f 20 22 |PT .equs("0 to "|
00001010 29 0d 0a fa 12 4f 50 54 20 a4 65 71 75 62 28 26 |)....OPT .equb(&|
00001020 33 41 29 0d 0b 04 12 4f 50 54 20 a4 65 71 75 73 |3A)....OPT .equs|
00001030 28 22 31 22 29 0d 0b 0e 12 4f 50 54 20 a4 65 71 |("1")....OPT .eq|
00001040 75 62 28 26 30 44 29 0d 0b 18 1c 4f 50 54 20 a4 |ub(&0D)....OPT .|
00001050 65 71 75 73 28 22 47 6f 20 28 59 2f 4e 29 20 3f |equs("Go (Y/N) ?|
00001060 20 22 29 0d 0b 22 07 42 52 4b 0d 0b 2c 0a 2e 77 | ")..".BRK..,..w|
00001070 72 6f 6e 67 0d 0b 36 07 42 52 4b 0d 0b 40 07 42 |rong..6.BRK..@.B|
00001080 52 4b 0d 0b 4a 1f 4f 50 54 20 a4 65 71 75 73 28 |RK..J.OPT .equs(|
00001090 22 44 46 53 20 6e 6f 74 20 61 63 74 69 76 65 22 |"DFS not active"|
000010a0 29 0d 0b 54 07 42 52 4b 0d 0b 5e 12 4f 50 54 20 |)..T.BRK..^.OPT |
000010b0 a4 65 71 75 62 28 26 46 46 29 0d 0b 68 0d 2e 6c |.equb(&FF)..h..l|
000010c0 61 73 74 62 79 74 65 0d 0b 72 05 5d 0d 0b 7c 05 |astbyte..r.]..|.|
000010d0 ed 0d 0b 86 21 e8 27 22 53 61 76 65 20 66 69 6c |....!.'"Save fil|
000010e0 65 6e 61 6d 65 20 3d 20 22 66 69 6c 65 6e 61 6d |ename = "filenam|
000010f0 65 24 0d 0b 90 14 e7 20 66 69 6c 65 6e 61 6d 65 |e$..... filename|
00001100 24 3d 22 22 20 e0 0d 0b 9a 4b 24 73 61 76 65 3d |$="" ....K$save=|
00001110 22 53 41 56 45 20 22 2b 66 69 6c 65 6e 61 6d 65 |"SAVE "+filename|
00001120 24 2b 22 20 22 2b c3 7e 28 93 29 2b 22 20 22 2b |$+" "+.~(.)+" "+|
00001130 c3 7e 28 6c 61 73 74 62 79 74 65 29 2b 22 20 46 |.~(lastbyte)+" F|
00001140 46 46 46 38 30 30 30 20 46 46 46 46 38 30 30 30 |FFF8000 FFFF8000|
00001150 22 0d 0b a4 11 58 25 3d 73 61 76 65 20 83 20 32 |"....X%=save . 2|
00001160 35 36 0d 0b ae 11 59 25 3d 73 61 76 65 20 81 20 |56....Y%=save . |
00001170 32 35 36 0d 0b b8 0b 2a 4f 50 54 31 2c 32 0d 0b |256....*OPT1,2..|
00001180 c2 0b d6 20 6f 73 63 6c 69 0d 0b cc 0b 2a 4f 50 |... oscli....*OP|
00001190 54 31 2c 30 0d 0b d6 05 e0 0d 0b e0 10 dd a4 65 |T1,0...........e|
000011a0 71 75 62 28 62 79 74 65 29 0d 0b ea 0c 3f 50 25 |qub(byte)....?P%|
000011b0 3d 62 79 74 65 0d 0b f4 0b 50 25 3d 50 25 2b 31 |=byte....P%=P%+1|
000011c0 0d 0b fe 09 3d 70 61 73 73 0d 0c 08 10 dd a4 65 |....=pass......e|
000011d0 71 75 77 28 77 6f 72 64 29 0d 0c 12 12 3f 50 25 |quw(word)....?P%|
000011e0 3d 77 6f 72 64 20 83 20 32 35 36 0d 0c 1c 13 50 |=word . 256....P|
000011f0 25 3f 31 3d 77 6f 72 64 20 81 20 32 35 36 0d 0c |%?1=word . 256..|
00001200 26 0b 50 25 3d 50 25 2b 32 0d 0c 30 09 3d 70 61 |&.P%=P%+2..0.=pa|
00001210 73 73 0d 0c 3a 12 dd a4 65 71 75 64 28 64 6f 75 |ss..:...equd(dou|
00001220 62 6c 65 29 0d 0c 44 0e 21 50 25 3d 64 6f 75 62 |ble)..D.!P%=doub|
00001230 6c 65 0d 0c 4e 0b 50 25 3d 50 25 2b 34 0d 0c 58 |le..N.P%=P%+4..X|
00001240 09 3d 70 61 73 73 0d 0c 62 13 dd a4 65 71 75 73 |.=pass..b...equs|
00001250 28 73 74 72 69 6e 67 24 29 0d 0c 6c 0f 24 50 25 |(string$)..l.$P%|
00001260 3d 73 74 72 69 6e 67 24 0d 0c 76 14 50 25 3d 50 |=string$..v.P%=P|
00001270 25 2b a9 28 73 74 72 69 6e 67 24 29 0d 0c 80 09 |%+.(string$)....|
00001280 3d 70 61 73 73 0d ff |=pass..|
00001287
.