Home » CEEFAX disks » telesoftware16.adl » 02-07-89/Add

02-07-89/Add

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 » telesoftware16.adl
Filename: 02-07-89/Add
Read OK:
File size: 2B27 bytes
Load address: FFFF1900
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM Echoes Subroutines - Vs ADDs007
   20REM (C) Allan Kelly 22/1/88 - 6/1/88
   30REM Virtual memory version
   40 
   50osbyte=&FFF4
   60osword=&FFF1
   70oswrch=&FFEE
   80 
   90sector0=&4200
  100sector1=&4300
  110filenames=&4500
  120filedata=&4800
  130filerems=&5000
  140FOR pass=4 TO 6 STEP 2
  150P%=&3A00
  160load=P%
  170O%=&7000
  180save=O%
  190[
  200OPT pass
  210 
  220.print_line \ Print one file line
  230LDX sx
  240TXA
  250JSR byte_to_ascii
  260TXA
  270JSR oswrch
  280TYA
  290JSR oswrch
  300LDA#32
  310JSR oswrch
  320LDA sx
  330SEC
  340SBC#1
  350ASL A
  360ASL A
  370ASL A
  380TAY
  390LDA filenames,Y
  400PHP
  410AND#127
  420JSR oswrch
  430LDA#ASC"."
  440JSR oswrch
  450INY
  460TYA
  470CLC
  480ADC#7
  490STA sa
  500.fwba1 LDA filenames,Y
  510JSR oswrch
  520INY
  530CPY sa
  540BNE fwba1
  550JSR space
  560PLP
  570BMI fwfo1
  580LDA#ASC"U"
  590JSR oswrch
  600JMP fwfo2
  610.fwfo1 LDA#ASC"L"
  620JSR oswrch
  630.fwfo2 JSR space
  640LDX sx \ Get REM
  650DEX
  660TXA
  670ASL A:ASL A
  680ASL A:ASL A
  690PHP
  700CLC
  710ADC#filedata MOD 256
  720STA&72
  730LDA#filedata DIV 256
  740ADC#0
  750PLP
  760ADC#0
  770STA&73
  780LDY#14
  790LDA(&72),Y
  800STA&74
  810INY
  820LDA(&72),Y
  830STA&75
  840 
  850LDY#0 \ Print REM
  860.fwba2 LDA(&74),Y
  870CMP end_token
  880BEQ fwfo3
  890CMP#32
  900BCC fwfo3a
  910CMP#127
  920BCS fwfo3a
  930.fwba2a JSR oswrch
  940.fwfo3a INY
  950CPY width
  960BEQ fwfo3
  970JMP fwba2
  980.fwfo3a LDA#32
  990JMP fwba2a
 1000.fwfo3 RTS
 1010.file_window \ Displays files with REMs
 1020JSR window1
 1030LDA#25
 1040STA width
 1050LDA#19
 1060JSR osbyte
 1070LDY#0
 1080STY sy
 1090LDX top_file
 1100STX sx
 1110.fwba4 LDX#0
 1120LDY sy
 1130JSR tab
 1140 
 1150JSR print_line
 1160 
 1170STY&8F
 1180LDA#26
 1190SEC
 1200SBC&8F
 1210TAY
 1220BEQ fwfo4a
 1230LDA#32
 1240.fwfo3b JSR oswrch
 1250DEY
 1260BNE fwfo3b
 1270.fwfo4a LDA sx
 1280CMP files
 1290BCS fwfo4
 1300LDA sy
 1310CMP#16
 1320BPL fwfo4
 1330INC sy
 1340INC sx
 1350JMP fwba4
 1360.fwfo4 RTS
 1370 
 1380.get_sector LDA#0 \ Get sector sub
 1390STA&8D
 1400STX&8E
 1410STY&8F
 1420.gsba1 LDY&8F
 1430LDA#&7F
 1440JSR osword
 1450LDY#10
 1460LDA(&8E),Y
 1470CMP#0
 1480BEQ got
 1490INC&8D
 1500LDA&8D
 1510CMP#7
 1520BNE gsba1
 1530BRK
 1540EQUB 18
 1550EQUS"Sector not found"
 1560EQUW&D0A
 1570BRK
 1580.got RTS
 1590 
 1600\ Subroutines 6000-7990
 1610.display STX&70 \ Display message at XY, preserve A
 1620STY&71
 1630PHA
 1640LDY#0
 1650.dback LDA(&70),Y
 1660JSR oswrch
 1670INY
 1680CMP#0
 1690BNE dback
 1700PLA
 1710RTS
 1720 
 1730.ready_exit LDA#26
 1740JSR oswrch
 1750LDA#12
 1760JSR oswrch
 1770LDA#4
 1780LDX#0
 1790JSR osbyte
 1800LDA#225
 1810LDX#1
 1820JMP osbyte
 1830.read_sector \ XY=sector number
 1840STX sx
 1850STY sy
 1860LDA#0 \ tracks
 1870STA&8F
 1880.rsba INC&8F
 1890LDA sx
 1900SEC
 1910SBC spt
 1920STA sx
 1930LDA sy
 1940SBC#0
 1950STA sy
 1960BPL rsba
 1970LDA sx
 1980CLC
 1990ADC spt
 2000STA sx
 2010LDA sy
 2020ADC#0
 2030STA sy
 2040DEC &8F
 2050 
 2060LDA sx
 2070STA rs_sector
 2080LDA&8F
 2090STA rs_track
 2100LDA disc
 2110STA rs_drive
 2120 
 2130LDX#rs_block MOD 256
 2140LDY#rs_block DIV 256
 2150JSR get_sector
 2160RTS
 2170 
 2180.search_for_rem \ Search for REM in sector & copy to buffer
 2190LDA#sector0 MOD 256 \ init pointer
 2200STA&76
 2210LDA#sector0 DIV 256
 2220STA&77
 2230LDY#0
 2240.sfrba1 LDA(&76),Y
 2250CMP rem_token
 2260BEQ rem_found
 2270INY
 2280BNE sfrba1
 2290.no_rem LDY#0 \ No rem insert no data message
 2300.sfrba2 LDA no_data_mess,Y
 2310STA(&72),Y
 2320INY
 2330CMP#&D
 2340BNE sfrba2
 2350TYA
 2360TAX
 2370LDA end_token
 2380DEY
 2390STA(&72),Y
 2400TXA
 2410LDX&72
 2420LDY&73
 2430RTS
 2440 
 2450.rem_found \ Copy REM to buffer & exit with XYA set
 2460INY \ Allow for token
 2470INY \ Allow for space
 2480TYA
 2490CLC
 2500ADC&76
 2510STA&76
 2520LDA&77
 2530ADC#0
 2540STA&77
 2550LDY#0
 2560.sfrba3 LDA(&76),Y
 2570STA(&72),Y
 2580INY
 2590CPY#255
 2600BEQ no_rem
 2610CMP end_token
 2620BNE sfrba3
 2630.sfrfo1 TYA
 2640LDX&72
 2650LDY&73
 2660RTS
 2670 
 2680.window0 LDY#0
 2690JMP windows
 2700.window1 LDY#4
 2710JMP windows
 2720.window2 LDY#8
 2730.windows LDA#28
 2740JSR oswrch
 2750LDX#0
 2760.wiba LDA winds,Y
 2770JSR oswrch
 2780INY
 2790INX
 2800CPX#4
 2810BNE wiba
 2820RTS
 2830 
 2840.byte_to_ascii \ Convert A into ascii - returned in XY
 2850CMP#99
 2860BPL too_big
 2870CMP#0
 2880BEQ bta0
 2890TAY
 2900LDA#0
 2910SED
 2920.btaba CLC
 2930ADC#1
 2940DEY
 2950BNE btaba
 2960CLD
 2970PHA
 2980AND#&F
 2990CLC
 3000ADC#&30
 3010TAY
 3020PLA
 3030LSR A:LSR A
 3040LSR A:LSR A
 3050CLC
 3060ADC#&30
 3070TAX
 3080RTS
 3090.bta0 LDY#48
 3100LDX#48
 3110RTS
 3120.too_big JSR window2 \ Error
 3130BRK
 3140EQUB&FF
 3150EQUS"Echos: ASCII converter number too big"
 3160EQUB&D
 3170BRK
 3180 
 3190.tab LDA#31
 3200JSR oswrch
 3210TXA
 3220JSR oswrch
 3230TYA
 3240JMP oswrch
 3250 
 3260.space PHA
 3270LDA#32
 3280JSR oswrch
 3290PLA
 3300RTS
 3310 
 3320.get_filename SEC \ A=file, XY=addr - Copy filename to addr
 3330SBC#1
 3340ASL A:ASL A:ASL A
 3350STX&76
 3360STY&77
 3370TAX
 3380LDY#0
 3390LDA filenames,X
 3400PHA
 3410AND#127
 3420STA(&76),Y
 3430LDA#ASC"."
 3440INY
 3450STA(&76),Y
 3460INY
 3470INX
 3480TXA
 3490CLC
 3500ADC#7
 3510STA sa
 3520.gfba LDA filenames,X
 3530STA(&76),Y
 3540INY
 3550INX
 3560CPX sa
 3570BNE gfba
 3580PLA
 3590RTS
 3600 
 3610.file_not_found JSR window2
 3620LDA#12
 3630JSR oswrch
 3640BRK
 3650EQUB&D6
 3660EQUS"File not found - Disc changed ?"
 3670EQUB&D0A
 3680BRK
 3690 
 3700.locate_data \ y=file to find
 3710LDA#filedata MOD 256
 3720STA&70
 3730LDA#filedata DIV 256
 3740STA&71
 3750DEY
 3760TYA
 3770ASL A:ASL A
 3780ASL A:ASL A
 3790PHA
 3800LDA#0
 3810ADC&71
 3820STA&71
 3830PLA
 3840CLC
 3850ADC&70
 3860STA&70
 3870LDA&71
 3880ADC#0
 3890STA&71
 3900RTS
 3910 
 3920.hex_6_ascii \ A=VHB Y=HB X=LB
 3930PHA
 3940LSR A:LSR A
 3950LSR A:LSR A
 3960JSR hex_out
 3970PLA
 3980AND#&F
 3990JSR hex_out
 4000TYA
 4010LSR A:LSR A
 4020LSR A:LSR A
 4030JSR hex_out
 4040TYA
 4050AND#&F
 4060JSR hex_out
 4070TXA
 4080LSR A:LSR A
 4090LSR A:LSR A
 4100JSR hex_out
 4110TXA
 4120AND#&F
 4130JSR hex_out
 4140RTS
 4150.hex_out CMP#10
 4160BCC h6afo
 4170CLC
 4180ADC#7
 4190.h6afo CLC
 4200ADC#48
 4210JSR oswrch
 4220RTS
 4230 
 4240.sort_names \ Sort filenames into list
 4250\ Directory letter then filename
 4260LDA#(sector0+8) MOD 256
 4270STA&72
 4280LDA#(sector0+8) DIV 256
 4290CLC
 4300STA&73
 4310LDX#0 \ Store offset
 4320STX sx
 4330LDY#0 \ Read offset
 4340LDA files
 4350STA sa
 4360.fback2 LDX sx
 4370INX
 4380.fback1 LDA(&72),Y
 4390STA filenames,X
 4400INX
 4410INY
 4420CPY#7
 4430BNE fback1
 4440LDA(&72),Y
 4450LDX sx
 4460STA filenames,X
 4470TXA
 4480CLC
 4490ADC#8
 4500STA sx
 4510LDA&72
 4520CLC
 4530ADC#8
 4540STA&72
 4550LDA&73
 4560ADC#0
 4570STA&73
 4580LDY#0
 4590DEC sa
 4600BNE fback2
 4610RTS
 4620\ Messages 8000-8990
 4630.initm EQUB22
 4640EQUB7
 4650EQUB31
 4660EQUB10
 4670EQUB10
 4680EQUB 136
 4690EQUS"Echoes"
 4700EQUW&D0A:EQUW&D0A
 4710EQUS"f0 *RUN"
 4720EQUB31:EQUB14:EQUB12
 4730EQUS"f1 *DUMP"
 4740EQUB31:EQUB29:EQUB12
 4750EQUS"f2 *TYPE"
 4760EQUW&D0A
 4770EQUS"f3 *INFO"
 4780EQUB31:EQUB14:EQUB13
 4790EQUS"f4 *ACCESS"
 4800EQUB31:EQUB29:EQUB13
 4810EQUS"f5 *RENAME"
 4820EQUW&D0A
 4830EQUS"f6 *DELETE"
 4840EQUB31:EQUB14:EQUB14
 4850EQUS"f7 BASIC Load"
 4860EQUB31:EQUB29:EQUB14
 4870EQUS"f8 *EXEC"
 4880EQUW&D0A
 4890BRK
 4900.initm2 EQUS"f9 Print Screen   TAB Chain BASIC"
 4910EQUW&D0A:EQUW&D0A
 4920EQUS"Up/Down cursors - select current file"
 4930EQUW&D0A
 4940EQUS"( use with shift to jump )"
 4950EQUW&D0A
 4960EQUS"Space Bar - change disc"
 4970EQUW&D0A
 4980EQUS"*Commands as normal"
 4990EQUW&D0A:EQUW&D0A
 5000EQUS"   Echoes (C) Allan Kelly 1988"
 5010EQUW&D0A:EQUB136:EQUS"   ------ PRESS A KEY ------"
 5020BRK
 5030EQUS"******** MANY THANKS TO DAVID HALLIGAN ********"
 5040.no_data_mess EQUS"No data"
 5050EQUB&D
 5060.stat_mess EQUB31:EQUB5:EQUB0
 5070EQUS"ECHOES - (C) Allan Kelly 1988"
 5080EQUB31:EQUB0:EQUB1:EQUS"Disc:"
 5090EQUB31:EQUB0:EQUB2:EQUS"Files:"
 5100EQUB31:EQUB20:EQUB2:EQUS"Tracks:"
 5110EQUB31:EQUB1:EQUB3:EQUS"-------------------------------------"
 5120EQUB&FF
 5130.chain_int EQUS"CH."""
 5140.chi_name EQUS"1234567890"
 5150.lo_int EQUS"LO."""
 5160.lo_name EQUS"1234567890"
 5170.osbasic EQUS"BASIC"
 5180EQUB&D
 5190.os_com EQUS"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 5200.dump_file EQUS"DUMP "
 5210.dump_plus EQUS"1234567890"
 5220.type_name EQUS"12345678901"
 5230.info_mess EQUB12
 5240EQUS"File   :":EQUW&D0A
 5250EQUS"Load   :":EQUW&D0A
 5260EQUS"Exec   :":EQUW&D0A
 5270EQUS"Length :":EQUW&D0A
 5280EQUS"Sector :":EQUW&D0A
 5290EQUS"Message:"
 5300BRK
 5310.access EQUS"ACCESS "
 5320.access_file EQUS"123456789012345678"
 5330.rename EQUS"RENAME "
 5340.new_file EQUS"1234567890123456789"
 5350.new_name EQUS"New name:":BRK
 5360.file_locked EQUS"File is locked":BRK
 5370.delete EQUS"DELETE "
 5380.delete_file EQUS"1234567890"
 5390.sure EQUS"Are you sure? (Y/N)":BRK
 5400.exec_file EQUS"EXEC "
 5410.exec_plus EQUS"1234567890"
 5420.new_disc EQUS"Insert New Disc & press Space"
 5430BRK
 5440.p_mess EQUS"Print this? (Y/N)"
 5450BRK
 5460 
 5470\ Data 9000-
 5480.disc BRK
 5490.dblock EQUB 0 \ Used to get disc number
 5500EQUD dblock2
 5510EQUB 1
 5520EQUB 0
 5530.dblock2 EQUD 0 \ Used with dblock2
 5540.sec0_rd BRK \ drive number
 5550EQUD sector0
 5560EQUB 3
 5570EQUB&53
 5580EQUB 0
 5590EQUB 0
 5600EQUB&21
 5610EQUD0
 5620.sec1_rd BRK
 5630EQUD sector1
 5640EQUB 3
 5650EQUB&53
 5660EQUB 0
 5670EQUB 1
 5680EQUB&21
 5690.tracks BRK
 5700.sectors EQUD 0
 5710.files BRK
 5720.disc_name
 5730EQUS"123456789012"
 5740.sa BRK
 5750.sx BRK
 5760.sy BRK
 5770.spt BRK
 5780.rs_block \ Used by read sector subroutine to get sector
 5790.rs_drive BRK
 5800EQUD sector0
 5810EQUB 3
 5820EQUB&53
 5830.rs_track BRK
 5840.rs_sector BRK
 5850EQUB&21
 5860.winds EQUB0:EQUB3:EQUB39:EQUB0 \ Data for windows
 5870EQUB0:EQUB21:EQUB39:EQUB4
 5880EQUB0:EQUB24:EQUB39:EQUB22
 5890.top_file BRK
 5900.bottem_file BRK
 5910.current_file BRK
 5920.name_input EQUW new_file
 5930EQUB8
 5940EQUB32
 5950EQUB127
 5960.width BRK
 5970.os_input EQUW os_com
 5980EQUB64
 5990EQUB32
 6000EQUB127
 6010.rem_token EQUB&F4 \ REM
 6020.end_token EQUB&D \ CR
 6030]
 6040NEXT
 6050*SPOOL L.VARS
 6060PRINT"AUTO20000"
 6070PRINT"file_window=";file_window
 6080PRINT"get_sector=";get_sector
 6090PRINT"display=";display
 6100PRINT"ready_exit=";ready_exit
 6110PRINT"read_sector=";read_sector
 6120PRINT"search_for_rem=";search_for_rem
 6130PRINT"window0=";window0
 6140PRINT"window1=";window1
 6150PRINT"window2=";window2
 6160PRINT"byte_to_ascii=";byte_to_ascii
 6170PRINT"tab=";tab
 6180PRINT"space=";space
 6190PRINT"get_filename=";get_filename
 6200PRINT"locate_data=";locate_data
 6210PRINT"hex_6_ascii=";hex_6_ascii
 6220PRINT"sort_names=";sort_names
 6230PRINT"stat_mess=";stat_mess
 6240PRINT"initm=";initm
 6250PRINT"initm2=";initm2
 6260PRINT"chain_int=";chain_int
 6270PRINT"chi_name=";chi_name
 6280PRINT"lo_name=";lo_name
 6290PRINT"lo_int=";lo_int
 6300PRINT"osbasic=";osbasic
 6310PRINT"os_com=";os_com
 6320PRINT"dump_file=";dump_file
 6330PRINT"dump_plus=";dump_plus
 6340PRINT"type_name=";type_name
 6350PRINT"info_mess=";info_mess
 6360PRINT"access=";access
 6370PRINT"access_file=";access_file
 6380PRINT"rename=";rename
 6390PRINT"new_file=";new_file
 6400PRINT"new_name=";new_name
 6410PRINT"file_locked=";file_locked
 6420PRINT"delete=";delete
 6430PRINT"delete_file=";delete_file
 6440PRINT"sure=";sure
 6450PRINT"disc=";disc
 6460PRINT"disc_name=";disc_name
 6470PRINT"dblock=";dblock
 6480PRINT"dblock2=";dblock2
 6490PRINT"sec0_rd=";sec0_rd
 6500PRINT"sec1_rd=";sec1_rd
 6510PRINT"tracks=";tracks
 6520PRINT"sectors=";sectors
 6530PRINT"files=";files
 6540PRINT"sa=";sa
 6550PRINT"sx=";sx
 6560PRINT"sy=";sy
 6570PRINT"spt=";spt
 6580PRINT"rs_block=";rs_block
 6590PRINT"rs_drive=";rs_drive
 6600PRINT"rs_track=";rs_track
 6610PRINT"rs_sector=";rs_sector
 6620PRINT"top_file=";top_file
 6630PRINT"bottem_file=";bottem_file
 6640PRINT"current_file=";current_file
 6650PRINT"name_input=";name_input
 6660PRINT"file_not_found=";file_not_found
 6670PRINT"print_line=";print_line
 6680PRINT"width=";width
 6690PRINT"exec_file=";exec_file
 6700PRINT"exec_plus=";exec_plus
 6710PRINT"new_disc=";new_disc
 6720PRINT"os_input=";os_input
 6730PRINT"p_mess=";p_mess
 6740PRINT"rem_token=";rem_token
 6750PRINT"end_token=";end_token
 6760*SPOOL
 6770 
 6780PRINT"Save this data with:"
 6790PRINT" *SAVE L.DATA ";~save;" ";~O%;" ";~load;" ";~load
 6800PRINT"Now load ECHOES"
 6810PRINT"Exec L.VARS and RUN Echoes"
 6820END

%� Echoes Subroutines - Vs ADDs007
&� (C) Allan Kelly 22/1/88 - 6/1/88
� Virtual memory version
( 
2osbyte=&FFF4
<osword=&FFF1
Foswrch=&FFEE
P 
Zsector0=&4200
dsector1=&4300
nfilenames=&4500
xfiledata=&4800
�filerems=&5000
�� pass=4 � 6 � 2
�P%=&3A00
�load=P%
�O%=&7000
�save=O%
�[
�OPT pass
� 
�%.print_line \ Print one file line
�
LDX sx
�TXA
�JSR byte_to_ascii
TXA
JSR oswrch
TYA
"JSR oswrch
,
LDA#32
6JSR oswrch
@
LDA sx
JSEC
T	SBC#1
^	ASL A
h	ASL A
r	ASL A
|TAY
�LDA filenames,Y
�PHP
�	�#127
�JSR oswrch
�LDA#�"."
�JSR oswrch
�INY
�TYA
�CLC
�	ADC#7
�
STA sa
�.fwba1 LDA filenames,Y
�JSR oswrch
INY

CPY sa

BNE fwba1
&
JSR space
0PLP
:
BMI fwfo1
DLDA#�"U"
NJSR oswrch
X
JMP fwfo2
b.fwfo1 LDA#�"L"
lJSR oswrch
v.fwfo2 JSR space
�LDX sx \ Get �
�DEX
�TXA
�ASL A:ASL A
�ASL A:ASL A
�PHP
�CLC
�ADC#filedata � 256
�
STA&72
�LDA#filedata � 256
�	ADC#0
�PLP
�	ADC#0

STA&73

LDY#14
LDA(&72),Y
 
STA&74
*INY
4LDA(&72),Y
>
STA&75
H 
RLDY#0 \ Print �
\.fwba2 LDA(&74),Y
fCMP end_token
p
BEQ fwfo3
z
CMP#32
�BCC fwfo3a
�CMP#127
�BCS fwfo3a
�.fwba2a JSR oswrch
�.fwfo3a INY
�
CPY width
�
BEQ fwfo3
�
JMP fwba2
�.fwfo3a LDA#32
�JMP fwba2a
�.fwfo3 RTS
�).file_window \ Displays files with �s
�JSR window1

LDA#25

STA width

LDA#19
$JSR osbyte
.	LDY#0
8
STY sy
BLDX top_file
L
STX sx
V.fwba4 LDX#0
`
LDY sy
jJSR tab
t 
~JSR print_line
� 
�
STY&8F
�
LDA#26
�SEC
�
SBC&8F
�TAY
�BEQ fwfo4a
�
LDA#32
�.fwfo3b JSR oswrch
�DEY
�BNE fwfo3b
�.fwfo4a LDA sx

CMP files


BCS fwfo4

LDA sy

CMP#16
(
BPL fwfo4
2
INC sy
<
INC sx
F
JMP fwba4
P.fwfo4 RTS
Z 
d&.get_sector LDA#0 \ Get sector sub
n
STA&8D
x
STX&8E
�
STY&8F
�.gsba1 LDY&8F
�LDA#&7F
�JSR osword
�
LDY#10
�LDA(&8E),Y
�	CMP#0
�BEQ got
�
INC&8D
�
LDA&8D
�	CMP#7
�
BNE gsba1
�BRK
EQUB 18
EQUS"Sector not found"
EQUW&D0A
"BRK
,.got RTS
6 
@\ Subroutines 6000-7990
J7.display STX&70 \ Display message at XY, preserve A
T
STY&71
^PHA
h	LDY#0
r.dback LDA(&70),Y
|JSR oswrch
�INY
�	CMP#0
�
BNE dback
�PLA
�RTS
� 
�.ready_exit LDA#26
�JSR oswrch
�
LDA#12
�JSR oswrch
�	LDA#4
�	LDX#0
�JSR osbyte
LDA#225
	LDX#1
JMP osbyte
&#.read_sector \ XY=sector number
0
STX sx
:
STY sy
DLDA#0 \ tracks
N
STA&8F
X.rsba INC&8F
b
LDA sx
lSEC
vSBC spt
�
STA sx
�
LDA sy
�	SBC#0
�
STA sy
�BPL rsba
�
LDA sx
�CLC
�ADC spt
�
STA sx
�
LDA sy
�	ADC#0
�
STA sy
�DEC &8F
 

LDA sx
STA rs_sector
 
LDA&8F
*STA rs_track
4LDA disc
>STA rs_drive
H 
RLDX#rs_block � 256
\LDY#rs_block � 256
fJSR get_sector
pRTS
z 
�=.search_for_rem \ Search for � in sector & copy to buffer
�$LDA#sector0 � 256 \ init pointer
�
STA&76
�LDA#sector0 � 256
�
STA&77
�	LDY#0
�.sfrba1 LDA(&76),Y
�CMP rem_token
�BEQ rem_found
�INY
�BNE sfrba1
�1.no_rem LDY#0 \ No rem insert no data message
�.sfrba2 LDA no_data_mess,Y
	STA(&72),Y
	INY
	
CMP#&D
	$BNE sfrba2
	.TYA
	8TAX
	BLDA end_token
	LDEY
	VSTA(&72),Y
	`TXA
	j
LDX&72
	t
LDY&73
	~RTS
	� 
	�5.rem_found \ Copy � to buffer & exit with XYA set
	�INY \ Allow for token
	�INY \ Allow for space
	�TYA
	�CLC
	�
ADC&76
	�
STA&76
	�
LDA&77
	�	ADC#0
	�
STA&77
	�	LDY#0
.sfrba3 LDA(&76),Y

STA(&72),Y
INY
CPY#255
(BEQ no_rem
2CMP end_token
<BNE sfrba3
F.sfrfo1 TYA
P
LDX&72
Z
LDY&73
dRTS
n 
x.window0 LDY#0
�JMP windows
�.window1 LDY#4
�JMP windows
�.window2 LDY#8
�.windows LDA#28
�JSR oswrch
�	LDX#0
�.wiba LDA winds,Y
�JSR oswrch
�INY
�INX
�	CPX#4
�BNE wiba
RTS
 
:.byte_to_ascii \ Convert A into ascii - returned in XY
"
CMP#99
,BPL too_big
6	CMP#0
@BEQ bta0
JTAY
T	LDA#0
^SED
h.btaba CLC
r	ADC#1
|DEY
�
BNE btaba
�CLD
�PHA
��#&F
�CLC
�ADC#&30
�TAY
�PLA
�LSR A:LSR A
�LSR A:LSR A
�CLC
�ADC#&30
�TAX
RTS
.bta0 LDY#48

LDX#48
&RTS
0 .too_big JSR window2 \ Error
:BRK
DEQUB&FF
N/EQUS"Echos: ASCII converter number too big"
X
EQUB&D
bBRK
l 
v.tab LDA#31
�JSR oswrch
�TXA
�JSR oswrch
�TYA
�JMP oswrch
� 
�.space PHA
�
LDA#32
�JSR oswrch
�PLA
�RTS
� 
�?.get_filename SEC \ A=file, XY=addr - Copy filename to addr

	SBC#1

ASL A:ASL A:ASL A


STX&76

 
STY&77

*TAX

4	LDY#0

>LDA filenames,X

HPHA

R	�#127

\STA(&76),Y

fLDA#�"."

pINY

zSTA(&76),Y

�INY

�INX

�TXA

�CLC

�	ADC#7

�
STA sa

�.gfba LDA filenames,X

�STA(&76),Y

�INY

�INX

�
CPX sa

�BNE gfba

�PLA
RTS
 
.file_not_found JSR window2
$
LDA#12
.JSR oswrch
8BRK
BEQUB&D6
L)EQUS"File not found - Disc changed ?"
VEQUB&D0A
`BRK
j 
t!.locate_data \ y=file to find
~LDA#filedata � 256
�
STA&70
�LDA#filedata � 256
�
STA&71
�DEY
�TYA
�ASL A:ASL A
�ASL A:ASL A
�PHA
�	LDA#0
�
ADC&71
�
STA&71
�PLA
CLC


ADC&70

STA&70

LDA&71
(	ADC#0
2
STA&71
<RTS
F 
P".hex_6_ascii \ A=VHB Y=HB X=LB
ZPHA
dLSR A:LSR A
nLSR A:LSR A
xJSR hex_out
�PLA
��#&F
�JSR hex_out
�TYA
�LSR A:LSR A
�LSR A:LSR A
�JSR hex_out
�TYA
��#&F
�JSR hex_out
�TXA
�LSR A:LSR A
�LSR A:LSR A
JSR hex_out
TXA
�#&F
"JSR hex_out
,RTS
6.hex_out CMP#10
@
BCC h6afo
JCLC
T	ADC#7
^.h6afo CLC
h
ADC#48
rJSR oswrch
|RTS
� 
�*.sort_names \ Sort filenames into list
�$\ Directory letter then filename
�LDA#(sector0+8) � 256
�
STA&72
�LDA#(sector0+8) � 256
�CLC
�
STA&73
�LDX#0 \ Store offset
�
STX sx
�LDY#0 \ Read offset
�
LDA files
�
STA sa
.fback2 LDX sx
INX
.fback1 LDA(&72),Y
&STA filenames,X
0INX
:INY
D	CPY#7
NBNE fback1
XLDA(&72),Y
b
LDX sx
lSTA filenames,X
vTXA
�CLC
�	ADC#8
�
STA sx
�
LDA&72
�CLC
�	ADC#8
�
STA&72
�
LDA&73
�	ADC#0
�
STA&73
�	LDY#0
�
DEC sa
�BNE fback2
RTS
\ Messages 8000-8990
.initm EQUB22
 	EQUB7
*
EQUB31
4
EQUB10
>
EQUB10
HEQUB 136
REQUS"Echoes"
\EQUW&D0A:EQUW&D0A
fEQUS"f0 *RUN"
pEQUB31:EQUB14:EQUB12
zEQUS"f1 *DUMP"
�EQUB31:EQUB29:EQUB12
�EQUS"f2 *TYPE"
�EQUW&D0A
�EQUS"f3 *INFO"
�EQUB31:EQUB14:EQUB13
�EQUS"f4 *ACCESS"
�EQUB31:EQUB29:EQUB13
�EQUS"f5 *RENAME"
�EQUW&D0A
�EQUS"f6 *DELETE"
�EQUB31:EQUB14:EQUB14
�EQUS"f7 BASIC Load"
�EQUB31:EQUB29:EQUB14
EQUS"f8 *EXEC"
EQUW&D0A
BRK
$3.initm2 EQUS"f9 Print Screen   TAB Chain BASIC"
.EQUW&D0A:EQUW&D0A
8/EQUS"Up/Down cursors - select current file"
BEQUW&D0A
L$EQUS"( use with shift to jump )"
VEQUW&D0A
`!EQUS"Space Bar - change disc"
jEQUW&D0A
tEQUS"*Commands as normal"
~EQUW&D0A:EQUW&D0A
�(EQUS"   Echoes (C) Allan Kelly 1988"
�7EQUW&D0A:EQUB136:EQUS"   ------ PRESS A KEY ------"
�BRK
�9EQUS"******** MANY THANKS TO DAVID HALLIGAN ********"
�.no_data_mess EQUS"No data"
�
EQUB&D
�!.stat_mess EQUB31:EQUB5:EQUB0
�'EQUS"ECHOES - (C) Allan Kelly 1988"
�"EQUB31:EQUB0:EQUB1:EQUS"Disc:"
�#EQUB31:EQUB0:EQUB2:EQUS"Files:"
�%EQUB31:EQUB20:EQUB2:EQUS"Tracks:"
�BEQUB31:EQUB1:EQUB3:EQUS"-------------------------------------"
EQUB&FF

.chain_int EQUS"CH."""
.chi_name EQUS"1234567890"
.lo_int EQUS"LO."""
(.lo_name EQUS"1234567890"
2.osbasic EQUS"BASIC"
<
EQUB&D
FR.os_com EQUS"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
P.dump_file EQUS"DUMP "
Z.dump_plus EQUS"1234567890"
d .type_name EQUS"12345678901"
n.info_mess EQUB12
xEQUS"File   :":EQUW&D0A
�EQUS"Load   :":EQUW&D0A
�EQUS"Exec   :":EQUW&D0A
�EQUS"Length :":EQUW&D0A
�EQUS"Sector :":EQUW&D0A
�EQUS"Message:"
�BRK
�.access EQUS"ACCESS "
�).access_file EQUS"123456789012345678"
�.rename EQUS"RENAME "
�'.new_file EQUS"1234567890123456789"
�!.new_name EQUS"New name:":BRK
�).file_locked EQUS"File is locked":BRK
�.delete EQUS"DELETE "
!.delete_file EQUS"1234567890"
'.sure EQUS"Are you sure? (Y/N)":BRK
.exec_file EQUS"EXEC "
".exec_plus EQUS"1234567890"
,1.new_disc EQUS"Insert New Disc & press Space"
6BRK
@#.p_mess EQUS"Print this? (Y/N)"
JBRK
T 
^\ Data 9000-
h
.disc BRK
r,.dblock EQUB 0 \ Used to get disc number
|EQUD dblock2
�
EQUB 1
�
EQUB 0
�'.dblock2 EQUD 0 \ Used with dblock2
�.sec0_rd BRK \ drive number
�EQUD sector0
�
EQUB 3
�EQUB&53
�
EQUB 0
�
EQUB 0
�EQUB&21
�	EQUD0
�.sec1_rd BRK
�EQUD sector1

EQUB 3
EQUB&53

EQUB 0
&
EQUB 1
0EQUB&21
:.tracks BRK
D.sectors EQUD 0
N.files BRK
X.disc_name
bEQUS"123456789012"
l.sa BRK
v.sx BRK
�.sy BRK
�.spt BRK
�<.rs_block \ Used by read sector subroutine to get sector
�.rs_drive BRK
�EQUD sector0
�
EQUB 3
�EQUB&53
�.rs_track BRK
�.rs_sector BRK
�EQUB&21
�6.winds EQUB0:EQUB3:EQUB39:EQUB0 \ Data for windows
�EQUB0:EQUB21:EQUB39:EQUB4
�EQUB0:EQUB24:EQUB39:EQUB22
.top_file BRK
.bottem_file BRK
.current_file BRK
 .name_input EQUW new_file
*	EQUB8
4
EQUB32
>EQUB127
H.width BRK
R.os_input EQUW os_com
\
EQUB64
f
EQUB32
pEQUB127
z.rem_token EQUB&F4 \ �
�.end_token EQUB&D \ CR
�]
��
�*SPOOL L.VARS
��"AUTO20000"
��"file_window=";file_window
��"get_sector=";get_sector
��"display=";display
��"ready_exit=";ready_exit
��"read_sector=";read_sector
�%�"search_for_rem=";search_for_rem
��"window0=";window0
��"window1=";window1
�"window2=";window2
#�"byte_to_ascii=";byte_to_ascii
�"tab=";tab
$�"space=";space
.!�"get_filename=";get_filename
8�"locate_data=";locate_data
B�"hex_6_ascii=";hex_6_ascii
L�"sort_names=";sort_names
V�"stat_mess=";stat_mess
`�"initm=";initm
j�"initm2=";initm2
t�"chain_int=";chain_int
~�"chi_name=";chi_name
��"lo_name=";lo_name
��"lo_int=";lo_int
��"osbasic=";osbasic
��"os_com=";os_com
��"dump_file=";dump_file
��"dump_plus=";dump_plus
��"type_name=";type_name
��"info_mess=";info_mess
��"access=";access
��"access_file=";access_file
��"rename=";rename
��"new_file=";new_file
�"new_name=";new_name

�"file_locked=";file_locked
�"delete=";delete
�"delete_file=";delete_file
(�"sure=";sure
2�"disc=";disc
<�"disc_name=";disc_name
F�"dblock=";dblock
P�"dblock2=";dblock2
Z�"sec0_rd=";sec0_rd
d�"sec1_rd=";sec1_rd
n�"tracks=";tracks
x�"sectors=";sectors
��"files=";files
�
�"sa=";sa
�
�"sx=";sx
�
�"sy=";sy
��"spt=";spt
��"rs_block=";rs_block
��"rs_drive=";rs_drive
��"rs_track=";rs_track
��"rs_sector=";rs_sector
��"top_file=";top_file
��"bottem_file=";bottem_file
�!�"current_file=";current_file
��"name_input=";name_input
%�"file_not_found=";file_not_found
�"print_line=";print_line
�"width=";width
"�"exec_file=";exec_file
,�"exec_plus=";exec_plus
6�"new_disc=";new_disc
@�"os_input=";os_input
J�"p_mess=";p_mess
T�"rem_token=";rem_token
^�"end_token=";end_token
h
*SPOOL
r 
|�"Save this data with:"
�7�" *SAVE L.DATA ";~save;" ";~O%;" ";~load;" ";~load
��"Now load ECHOES"
�!�"Exec L.VARS and RUN Echoes"
��
�
00000000  0d 00 0a 25 f4 20 45 63  68 6f 65 73 20 53 75 62  |...%. Echoes Sub|
00000010  72 6f 75 74 69 6e 65 73  20 2d 20 56 73 20 41 44  |routines - Vs AD|
00000020  44 73 30 30 37 0d 00 14  26 f4 20 28 43 29 20 41  |Ds007...&. (C) A|
00000030  6c 6c 61 6e 20 4b 65 6c  6c 79 20 32 32 2f 31 2f  |llan Kelly 22/1/|
00000040  38 38 20 2d 20 36 2f 31  2f 38 38 0d 00 1e 1c f4  |88 - 6/1/88.....|
00000050  20 56 69 72 74 75 61 6c  20 6d 65 6d 6f 72 79 20  | Virtual memory |
00000060  76 65 72 73 69 6f 6e 0d  00 28 05 20 0d 00 32 10  |version..(. ..2.|
00000070  6f 73 62 79 74 65 3d 26  46 46 46 34 0d 00 3c 10  |osbyte=&FFF4..<.|
00000080  6f 73 77 6f 72 64 3d 26  46 46 46 31 0d 00 46 10  |osword=&FFF1..F.|
00000090  6f 73 77 72 63 68 3d 26  46 46 45 45 0d 00 50 05  |oswrch=&FFEE..P.|
000000a0  20 0d 00 5a 11 73 65 63  74 6f 72 30 3d 26 34 32  | ..Z.sector0=&42|
000000b0  30 30 0d 00 64 11 73 65  63 74 6f 72 31 3d 26 34  |00..d.sector1=&4|
000000c0  33 30 30 0d 00 6e 13 66  69 6c 65 6e 61 6d 65 73  |300..n.filenames|
000000d0  3d 26 34 35 30 30 0d 00  78 12 66 69 6c 65 64 61  |=&4500..x.fileda|
000000e0  74 61 3d 26 34 38 30 30  0d 00 82 12 66 69 6c 65  |ta=&4800....file|
000000f0  72 65 6d 73 3d 26 35 30  30 30 0d 00 8c 14 e3 20  |rems=&5000..... |
00000100  70 61 73 73 3d 34 20 b8  20 36 20 88 20 32 0d 00  |pass=4 . 6 . 2..|
00000110  96 0c 50 25 3d 26 33 41  30 30 0d 00 a0 0b 6c 6f  |..P%=&3A00....lo|
00000120  61 64 3d 50 25 0d 00 aa  0c 4f 25 3d 26 37 30 30  |ad=P%....O%=&700|
00000130  30 0d 00 b4 0b 73 61 76  65 3d 4f 25 0d 00 be 05  |0....save=O%....|
00000140  5b 0d 00 c8 0c 4f 50 54  20 70 61 73 73 0d 00 d2  |[....OPT pass...|
00000150  05 20 0d 00 dc 25 2e 70  72 69 6e 74 5f 6c 69 6e  |. ...%.print_lin|
00000160  65 20 5c 20 50 72 69 6e  74 20 6f 6e 65 20 66 69  |e \ Print one fi|
00000170  6c 65 20 6c 69 6e 65 0d  00 e6 0a 4c 44 58 20 73  |le line....LDX s|
00000180  78 0d 00 f0 07 54 58 41  0d 00 fa 15 4a 53 52 20  |x....TXA....JSR |
00000190  62 79 74 65 5f 74 6f 5f  61 73 63 69 69 0d 01 04  |byte_to_ascii...|
000001a0  07 54 58 41 0d 01 0e 0e  4a 53 52 20 6f 73 77 72  |.TXA....JSR oswr|
000001b0  63 68 0d 01 18 07 54 59  41 0d 01 22 0e 4a 53 52  |ch....TYA..".JSR|
000001c0  20 6f 73 77 72 63 68 0d  01 2c 0a 4c 44 41 23 33  | oswrch..,.LDA#3|
000001d0  32 0d 01 36 0e 4a 53 52  20 6f 73 77 72 63 68 0d  |2..6.JSR oswrch.|
000001e0  01 40 0a 4c 44 41 20 73  78 0d 01 4a 07 53 45 43  |.@.LDA sx..J.SEC|
000001f0  0d 01 54 09 53 42 43 23  31 0d 01 5e 09 41 53 4c  |..T.SBC#1..^.ASL|
00000200  20 41 0d 01 68 09 41 53  4c 20 41 0d 01 72 09 41  | A..h.ASL A..r.A|
00000210  53 4c 20 41 0d 01 7c 07  54 41 59 0d 01 86 13 4c  |SL A..|.TAY....L|
00000220  44 41 20 66 69 6c 65 6e  61 6d 65 73 2c 59 0d 01  |DA filenames,Y..|
00000230  90 07 50 48 50 0d 01 9a  09 80 23 31 32 37 0d 01  |..PHP.....#127..|
00000240  a4 0e 4a 53 52 20 6f 73  77 72 63 68 0d 01 ae 0c  |..JSR oswrch....|
00000250  4c 44 41 23 97 22 2e 22  0d 01 b8 0e 4a 53 52 20  |LDA#."."....JSR |
00000260  6f 73 77 72 63 68 0d 01  c2 07 49 4e 59 0d 01 cc  |oswrch....INY...|
00000270  07 54 59 41 0d 01 d6 07  43 4c 43 0d 01 e0 09 41  |.TYA....CLC....A|
00000280  44 43 23 37 0d 01 ea 0a  53 54 41 20 73 61 0d 01  |DC#7....STA sa..|
00000290  f4 1a 2e 66 77 62 61 31  20 4c 44 41 20 66 69 6c  |...fwba1 LDA fil|
000002a0  65 6e 61 6d 65 73 2c 59  0d 01 fe 0e 4a 53 52 20  |enames,Y....JSR |
000002b0  6f 73 77 72 63 68 0d 02  08 07 49 4e 59 0d 02 12  |oswrch....INY...|
000002c0  0a 43 50 59 20 73 61 0d  02 1c 0d 42 4e 45 20 66  |.CPY sa....BNE f|
000002d0  77 62 61 31 0d 02 26 0d  4a 53 52 20 73 70 61 63  |wba1..&.JSR spac|
000002e0  65 0d 02 30 07 50 4c 50  0d 02 3a 0d 42 4d 49 20  |e..0.PLP..:.BMI |
000002f0  66 77 66 6f 31 0d 02 44  0c 4c 44 41 23 97 22 55  |fwfo1..D.LDA#."U|
00000300  22 0d 02 4e 0e 4a 53 52  20 6f 73 77 72 63 68 0d  |"..N.JSR oswrch.|
00000310  02 58 0d 4a 4d 50 20 66  77 66 6f 32 0d 02 62 13  |.X.JMP fwfo2..b.|
00000320  2e 66 77 66 6f 31 20 4c  44 41 23 97 22 4c 22 0d  |.fwfo1 LDA#."L".|
00000330  02 6c 0e 4a 53 52 20 6f  73 77 72 63 68 0d 02 76  |.l.JSR oswrch..v|
00000340  14 2e 66 77 66 6f 32 20  4a 53 52 20 73 70 61 63  |..fwfo2 JSR spac|
00000350  65 0d 02 80 12 4c 44 58  20 73 78 20 5c 20 47 65  |e....LDX sx \ Ge|
00000360  74 20 f4 0d 02 8a 07 44  45 58 0d 02 94 07 54 58  |t .....DEX....TX|
00000370  41 0d 02 9e 0f 41 53 4c  20 41 3a 41 53 4c 20 41  |A....ASL A:ASL A|
00000380  0d 02 a8 0f 41 53 4c 20  41 3a 41 53 4c 20 41 0d  |....ASL A:ASL A.|
00000390  02 b2 07 50 48 50 0d 02  bc 07 43 4c 43 0d 02 c6  |...PHP....CLC...|
000003a0  16 41 44 43 23 66 69 6c  65 64 61 74 61 20 83 20  |.ADC#filedata . |
000003b0  32 35 36 0d 02 d0 0a 53  54 41 26 37 32 0d 02 da  |256....STA&72...|
000003c0  16 4c 44 41 23 66 69 6c  65 64 61 74 61 20 81 20  |.LDA#filedata . |
000003d0  32 35 36 0d 02 e4 09 41  44 43 23 30 0d 02 ee 07  |256....ADC#0....|
000003e0  50 4c 50 0d 02 f8 09 41  44 43 23 30 0d 03 02 0a  |PLP....ADC#0....|
000003f0  53 54 41 26 37 33 0d 03  0c 0a 4c 44 59 23 31 34  |STA&73....LDY#14|
00000400  0d 03 16 0e 4c 44 41 28  26 37 32 29 2c 59 0d 03  |....LDA(&72),Y..|
00000410  20 0a 53 54 41 26 37 34  0d 03 2a 07 49 4e 59 0d  | .STA&74..*.INY.|
00000420  03 34 0e 4c 44 41 28 26  37 32 29 2c 59 0d 03 3e  |.4.LDA(&72),Y..>|
00000430  0a 53 54 41 26 37 35 0d  03 48 05 20 0d 03 52 13  |.STA&75..H. ..R.|
00000440  4c 44 59 23 30 20 5c 20  50 72 69 6e 74 20 f4 0d  |LDY#0 \ Print ..|
00000450  03 5c 15 2e 66 77 62 61  32 20 4c 44 41 28 26 37  |.\..fwba2 LDA(&7|
00000460  34 29 2c 59 0d 03 66 11  43 4d 50 20 65 6e 64 5f  |4),Y..f.CMP end_|
00000470  74 6f 6b 65 6e 0d 03 70  0d 42 45 51 20 66 77 66  |token..p.BEQ fwf|
00000480  6f 33 0d 03 7a 0a 43 4d  50 23 33 32 0d 03 84 0e  |o3..z.CMP#32....|
00000490  42 43 43 20 66 77 66 6f  33 61 0d 03 8e 0b 43 4d  |BCC fwfo3a....CM|
000004a0  50 23 31 32 37 0d 03 98  0e 42 43 53 20 66 77 66  |P#127....BCS fwf|
000004b0  6f 33 61 0d 03 a2 16 2e  66 77 62 61 32 61 20 4a  |o3a.....fwba2a J|
000004c0  53 52 20 6f 73 77 72 63  68 0d 03 ac 0f 2e 66 77  |SR oswrch.....fw|
000004d0  66 6f 33 61 20 49 4e 59  0d 03 b6 0d 43 50 59 20  |fo3a INY....CPY |
000004e0  77 69 64 74 68 0d 03 c0  0d 42 45 51 20 66 77 66  |width....BEQ fwf|
000004f0  6f 33 0d 03 ca 0d 4a 4d  50 20 66 77 62 61 32 0d  |o3....JMP fwba2.|
00000500  03 d4 12 2e 66 77 66 6f  33 61 20 4c 44 41 23 33  |....fwfo3a LDA#3|
00000510  32 0d 03 de 0e 4a 4d 50  20 66 77 62 61 32 61 0d  |2....JMP fwba2a.|
00000520  03 e8 0e 2e 66 77 66 6f  33 20 52 54 53 0d 03 f2  |....fwfo3 RTS...|
00000530  29 2e 66 69 6c 65 5f 77  69 6e 64 6f 77 20 5c 20  |).file_window \ |
00000540  44 69 73 70 6c 61 79 73  20 66 69 6c 65 73 20 77  |Displays files w|
00000550  69 74 68 20 f4 73 0d 03  fc 0f 4a 53 52 20 77 69  |ith .s....JSR wi|
00000560  6e 64 6f 77 31 0d 04 06  0a 4c 44 41 23 32 35 0d  |ndow1....LDA#25.|
00000570  04 10 0d 53 54 41 20 77  69 64 74 68 0d 04 1a 0a  |...STA width....|
00000580  4c 44 41 23 31 39 0d 04  24 0e 4a 53 52 20 6f 73  |LDA#19..$.JSR os|
00000590  62 79 74 65 0d 04 2e 09  4c 44 59 23 30 0d 04 38  |byte....LDY#0..8|
000005a0  0a 53 54 59 20 73 79 0d  04 42 10 4c 44 58 20 74  |.STY sy..B.LDX t|
000005b0  6f 70 5f 66 69 6c 65 0d  04 4c 0a 53 54 58 20 73  |op_file..L.STX s|
000005c0  78 0d 04 56 10 2e 66 77  62 61 34 20 4c 44 58 23  |x..V..fwba4 LDX#|
000005d0  30 0d 04 60 0a 4c 44 59  20 73 79 0d 04 6a 0b 4a  |0..`.LDY sy..j.J|
000005e0  53 52 20 74 61 62 0d 04  74 05 20 0d 04 7e 12 4a  |SR tab..t. ..~.J|
000005f0  53 52 20 70 72 69 6e 74  5f 6c 69 6e 65 0d 04 88  |SR print_line...|
00000600  05 20 0d 04 92 0a 53 54  59 26 38 46 0d 04 9c 0a  |. ....STY&8F....|
00000610  4c 44 41 23 32 36 0d 04  a6 07 53 45 43 0d 04 b0  |LDA#26....SEC...|
00000620  0a 53 42 43 26 38 46 0d  04 ba 07 54 41 59 0d 04  |.SBC&8F....TAY..|
00000630  c4 0e 42 45 51 20 66 77  66 6f 34 61 0d 04 ce 0a  |..BEQ fwfo4a....|
00000640  4c 44 41 23 33 32 0d 04  d8 16 2e 66 77 66 6f 33  |LDA#32.....fwfo3|
00000650  62 20 4a 53 52 20 6f 73  77 72 63 68 0d 04 e2 07  |b JSR oswrch....|
00000660  44 45 59 0d 04 ec 0e 42  4e 45 20 66 77 66 6f 33  |DEY....BNE fwfo3|
00000670  62 0d 04 f6 12 2e 66 77  66 6f 34 61 20 4c 44 41  |b.....fwfo4a LDA|
00000680  20 73 78 0d 05 00 0d 43  4d 50 20 66 69 6c 65 73  | sx....CMP files|
00000690  0d 05 0a 0d 42 43 53 20  66 77 66 6f 34 0d 05 14  |....BCS fwfo4...|
000006a0  0a 4c 44 41 20 73 79 0d  05 1e 0a 43 4d 50 23 31  |.LDA sy....CMP#1|
000006b0  36 0d 05 28 0d 42 50 4c  20 66 77 66 6f 34 0d 05  |6..(.BPL fwfo4..|
000006c0  32 0a 49 4e 43 20 73 79  0d 05 3c 0a 49 4e 43 20  |2.INC sy..<.INC |
000006d0  73 78 0d 05 46 0d 4a 4d  50 20 66 77 62 61 34 0d  |sx..F.JMP fwba4.|
000006e0  05 50 0e 2e 66 77 66 6f  34 20 52 54 53 0d 05 5a  |.P..fwfo4 RTS..Z|
000006f0  05 20 0d 05 64 26 2e 67  65 74 5f 73 65 63 74 6f  |. ..d&.get_secto|
00000700  72 20 4c 44 41 23 30 20  5c 20 47 65 74 20 73 65  |r LDA#0 \ Get se|
00000710  63 74 6f 72 20 73 75 62  0d 05 6e 0a 53 54 41 26  |ctor sub..n.STA&|
00000720  38 44 0d 05 78 0a 53 54  58 26 38 45 0d 05 82 0a  |8D..x.STX&8E....|
00000730  53 54 59 26 38 46 0d 05  8c 11 2e 67 73 62 61 31  |STY&8F.....gsba1|
00000740  20 4c 44 59 26 38 46 0d  05 96 0b 4c 44 41 23 26  | LDY&8F....LDA#&|
00000750  37 46 0d 05 a0 0e 4a 53  52 20 6f 73 77 6f 72 64  |7F....JSR osword|
00000760  0d 05 aa 0a 4c 44 59 23  31 30 0d 05 b4 0e 4c 44  |....LDY#10....LD|
00000770  41 28 26 38 45 29 2c 59  0d 05 be 09 43 4d 50 23  |A(&8E),Y....CMP#|
00000780  30 0d 05 c8 0b 42 45 51  20 67 6f 74 0d 05 d2 0a  |0....BEQ got....|
00000790  49 4e 43 26 38 44 0d 05  dc 0a 4c 44 41 26 38 44  |INC&8D....LDA&8D|
000007a0  0d 05 e6 09 43 4d 50 23  37 0d 05 f0 0d 42 4e 45  |....CMP#7....BNE|
000007b0  20 67 73 62 61 31 0d 05  fa 07 42 52 4b 0d 06 04  | gsba1....BRK...|
000007c0  0b 45 51 55 42 20 31 38  0d 06 0e 1a 45 51 55 53  |.EQUB 18....EQUS|
000007d0  22 53 65 63 74 6f 72 20  6e 6f 74 20 66 6f 75 6e  |"Sector not foun|
000007e0  64 22 0d 06 18 0c 45 51  55 57 26 44 30 41 0d 06  |d"....EQUW&D0A..|
000007f0  22 07 42 52 4b 0d 06 2c  0c 2e 67 6f 74 20 52 54  |".BRK..,..got RT|
00000800  53 0d 06 36 05 20 0d 06  40 1b 5c 20 53 75 62 72  |S..6. ..@.\ Subr|
00000810  6f 75 74 69 6e 65 73 20  36 30 30 30 2d 37 39 39  |outines 6000-799|
00000820  30 0d 06 4a 37 2e 64 69  73 70 6c 61 79 20 53 54  |0..J7.display ST|
00000830  58 26 37 30 20 5c 20 44  69 73 70 6c 61 79 20 6d  |X&70 \ Display m|
00000840  65 73 73 61 67 65 20 61  74 20 58 59 2c 20 70 72  |essage at XY, pr|
00000850  65 73 65 72 76 65 20 41  0d 06 54 0a 53 54 59 26  |eserve A..T.STY&|
00000860  37 31 0d 06 5e 07 50 48  41 0d 06 68 09 4c 44 59  |71..^.PHA..h.LDY|
00000870  23 30 0d 06 72 15 2e 64  62 61 63 6b 20 4c 44 41  |#0..r..dback LDA|
00000880  28 26 37 30 29 2c 59 0d  06 7c 0e 4a 53 52 20 6f  |(&70),Y..|.JSR o|
00000890  73 77 72 63 68 0d 06 86  07 49 4e 59 0d 06 90 09  |swrch....INY....|
000008a0  43 4d 50 23 30 0d 06 9a  0d 42 4e 45 20 64 62 61  |CMP#0....BNE dba|
000008b0  63 6b 0d 06 a4 07 50 4c  41 0d 06 ae 07 52 54 53  |ck....PLA....RTS|
000008c0  0d 06 b8 05 20 0d 06 c2  16 2e 72 65 61 64 79 5f  |.... .....ready_|
000008d0  65 78 69 74 20 4c 44 41  23 32 36 0d 06 cc 0e 4a  |exit LDA#26....J|
000008e0  53 52 20 6f 73 77 72 63  68 0d 06 d6 0a 4c 44 41  |SR oswrch....LDA|
000008f0  23 31 32 0d 06 e0 0e 4a  53 52 20 6f 73 77 72 63  |#12....JSR oswrc|
00000900  68 0d 06 ea 09 4c 44 41  23 34 0d 06 f4 09 4c 44  |h....LDA#4....LD|
00000910  58 23 30 0d 06 fe 0e 4a  53 52 20 6f 73 62 79 74  |X#0....JSR osbyt|
00000920  65 0d 07 08 0b 4c 44 41  23 32 32 35 0d 07 12 09  |e....LDA#225....|
00000930  4c 44 58 23 31 0d 07 1c  0e 4a 4d 50 20 6f 73 62  |LDX#1....JMP osb|
00000940  79 74 65 0d 07 26 23 2e  72 65 61 64 5f 73 65 63  |yte..&#.read_sec|
00000950  74 6f 72 20 5c 20 58 59  3d 73 65 63 74 6f 72 20  |tor \ XY=sector |
00000960  6e 75 6d 62 65 72 0d 07  30 0a 53 54 58 20 73 78  |number..0.STX sx|
00000970  0d 07 3a 0a 53 54 59 20  73 79 0d 07 44 12 4c 44  |..:.STY sy..D.LD|
00000980  41 23 30 20 5c 20 74 72  61 63 6b 73 0d 07 4e 0a  |A#0 \ tracks..N.|
00000990  53 54 41 26 38 46 0d 07  58 10 2e 72 73 62 61 20  |STA&8F..X..rsba |
000009a0  49 4e 43 26 38 46 0d 07  62 0a 4c 44 41 20 73 78  |INC&8F..b.LDA sx|
000009b0  0d 07 6c 07 53 45 43 0d  07 76 0b 53 42 43 20 73  |..l.SEC..v.SBC s|
000009c0  70 74 0d 07 80 0a 53 54  41 20 73 78 0d 07 8a 0a  |pt....STA sx....|
000009d0  4c 44 41 20 73 79 0d 07  94 09 53 42 43 23 30 0d  |LDA sy....SBC#0.|
000009e0  07 9e 0a 53 54 41 20 73  79 0d 07 a8 0c 42 50 4c  |...STA sy....BPL|
000009f0  20 72 73 62 61 0d 07 b2  0a 4c 44 41 20 73 78 0d  | rsba....LDA sx.|
00000a00  07 bc 07 43 4c 43 0d 07  c6 0b 41 44 43 20 73 70  |...CLC....ADC sp|
00000a10  74 0d 07 d0 0a 53 54 41  20 73 78 0d 07 da 0a 4c  |t....STA sx....L|
00000a20  44 41 20 73 79 0d 07 e4  09 41 44 43 23 30 0d 07  |DA sy....ADC#0..|
00000a30  ee 0a 53 54 41 20 73 79  0d 07 f8 0b 44 45 43 20  |..STA sy....DEC |
00000a40  26 38 46 0d 08 02 05 20  0d 08 0c 0a 4c 44 41 20  |&8F.... ....LDA |
00000a50  73 78 0d 08 16 11 53 54  41 20 72 73 5f 73 65 63  |sx....STA rs_sec|
00000a60  74 6f 72 0d 08 20 0a 4c  44 41 26 38 46 0d 08 2a  |tor.. .LDA&8F..*|
00000a70  10 53 54 41 20 72 73 5f  74 72 61 63 6b 0d 08 34  |.STA rs_track..4|
00000a80  0c 4c 44 41 20 64 69 73  63 0d 08 3e 10 53 54 41  |.LDA disc..>.STA|
00000a90  20 72 73 5f 64 72 69 76  65 0d 08 48 05 20 0d 08  | rs_drive..H. ..|
00000aa0  52 16 4c 44 58 23 72 73  5f 62 6c 6f 63 6b 20 83  |R.LDX#rs_block .|
00000ab0  20 32 35 36 0d 08 5c 16  4c 44 59 23 72 73 5f 62  | 256..\.LDY#rs_b|
00000ac0  6c 6f 63 6b 20 81 20 32  35 36 0d 08 66 12 4a 53  |lock . 256..f.JS|
00000ad0  52 20 67 65 74 5f 73 65  63 74 6f 72 0d 08 70 07  |R get_sector..p.|
00000ae0  52 54 53 0d 08 7a 05 20  0d 08 84 3d 2e 73 65 61  |RTS..z. ...=.sea|
00000af0  72 63 68 5f 66 6f 72 5f  72 65 6d 20 5c 20 53 65  |rch_for_rem \ Se|
00000b00  61 72 63 68 20 66 6f 72  20 f4 20 69 6e 20 73 65  |arch for . in se|
00000b10  63 74 6f 72 20 26 20 63  6f 70 79 20 74 6f 20 62  |ctor & copy to b|
00000b20  75 66 66 65 72 0d 08 8e  24 4c 44 41 23 73 65 63  |uffer...$LDA#sec|
00000b30  74 6f 72 30 20 83 20 32  35 36 20 5c 20 69 6e 69  |tor0 . 256 \ ini|
00000b40  74 20 70 6f 69 6e 74 65  72 0d 08 98 0a 53 54 41  |t pointer....STA|
00000b50  26 37 36 0d 08 a2 15 4c  44 41 23 73 65 63 74 6f  |&76....LDA#secto|
00000b60  72 30 20 81 20 32 35 36  0d 08 ac 0a 53 54 41 26  |r0 . 256....STA&|
00000b70  37 37 0d 08 b6 09 4c 44  59 23 30 0d 08 c0 16 2e  |77....LDY#0.....|
00000b80  73 66 72 62 61 31 20 4c  44 41 28 26 37 36 29 2c  |sfrba1 LDA(&76),|
00000b90  59 0d 08 ca 11 43 4d 50  20 72 65 6d 5f 74 6f 6b  |Y....CMP rem_tok|
00000ba0  65 6e 0d 08 d4 11 42 45  51 20 72 65 6d 5f 66 6f  |en....BEQ rem_fo|
00000bb0  75 6e 64 0d 08 de 07 49  4e 59 0d 08 e8 0e 42 4e  |und....INY....BN|
00000bc0  45 20 73 66 72 62 61 31  0d 08 f2 31 2e 6e 6f 5f  |E sfrba1...1.no_|
00000bd0  72 65 6d 20 4c 44 59 23  30 20 5c 20 4e 6f 20 72  |rem LDY#0 \ No r|
00000be0  65 6d 20 69 6e 73 65 72  74 20 6e 6f 20 64 61 74  |em insert no dat|
00000bf0  61 20 6d 65 73 73 61 67  65 0d 08 fc 1e 2e 73 66  |a message.....sf|
00000c00  72 62 61 32 20 4c 44 41  20 6e 6f 5f 64 61 74 61  |rba2 LDA no_data|
00000c10  5f 6d 65 73 73 2c 59 0d  09 06 0e 53 54 41 28 26  |_mess,Y....STA(&|
00000c20  37 32 29 2c 59 0d 09 10  07 49 4e 59 0d 09 1a 0a  |72),Y....INY....|
00000c30  43 4d 50 23 26 44 0d 09  24 0e 42 4e 45 20 73 66  |CMP#&D..$.BNE sf|
00000c40  72 62 61 32 0d 09 2e 07  54 59 41 0d 09 38 07 54  |rba2....TYA..8.T|
00000c50  41 58 0d 09 42 11 4c 44  41 20 65 6e 64 5f 74 6f  |AX..B.LDA end_to|
00000c60  6b 65 6e 0d 09 4c 07 44  45 59 0d 09 56 0e 53 54  |ken..L.DEY..V.ST|
00000c70  41 28 26 37 32 29 2c 59  0d 09 60 07 54 58 41 0d  |A(&72),Y..`.TXA.|
00000c80  09 6a 0a 4c 44 58 26 37  32 0d 09 74 0a 4c 44 59  |.j.LDX&72..t.LDY|
00000c90  26 37 33 0d 09 7e 07 52  54 53 0d 09 88 05 20 0d  |&73..~.RTS.... .|
00000ca0  09 92 35 2e 72 65 6d 5f  66 6f 75 6e 64 20 5c 20  |..5.rem_found \ |
00000cb0  43 6f 70 79 20 f4 20 74  6f 20 62 75 66 66 65 72  |Copy . to buffer|
00000cc0  20 26 20 65 78 69 74 20  77 69 74 68 20 58 59 41  | & exit with XYA|
00000cd0  20 73 65 74 0d 09 9c 19  49 4e 59 20 5c 20 41 6c  | set....INY \ Al|
00000ce0  6c 6f 77 20 66 6f 72 20  74 6f 6b 65 6e 0d 09 a6  |low for token...|
00000cf0  19 49 4e 59 20 5c 20 41  6c 6c 6f 77 20 66 6f 72  |.INY \ Allow for|
00000d00  20 73 70 61 63 65 0d 09  b0 07 54 59 41 0d 09 ba  | space....TYA...|
00000d10  07 43 4c 43 0d 09 c4 0a  41 44 43 26 37 36 0d 09  |.CLC....ADC&76..|
00000d20  ce 0a 53 54 41 26 37 36  0d 09 d8 0a 4c 44 41 26  |..STA&76....LDA&|
00000d30  37 37 0d 09 e2 09 41 44  43 23 30 0d 09 ec 0a 53  |77....ADC#0....S|
00000d40  54 41 26 37 37 0d 09 f6  09 4c 44 59 23 30 0d 0a  |TA&77....LDY#0..|
00000d50  00 16 2e 73 66 72 62 61  33 20 4c 44 41 28 26 37  |...sfrba3 LDA(&7|
00000d60  36 29 2c 59 0d 0a 0a 0e  53 54 41 28 26 37 32 29  |6),Y....STA(&72)|
00000d70  2c 59 0d 0a 14 07 49 4e  59 0d 0a 1e 0b 43 50 59  |,Y....INY....CPY|
00000d80  23 32 35 35 0d 0a 28 0e  42 45 51 20 6e 6f 5f 72  |#255..(.BEQ no_r|
00000d90  65 6d 0d 0a 32 11 43 4d  50 20 65 6e 64 5f 74 6f  |em..2.CMP end_to|
00000da0  6b 65 6e 0d 0a 3c 0e 42  4e 45 20 73 66 72 62 61  |ken..<.BNE sfrba|
00000db0  33 0d 0a 46 0f 2e 73 66  72 66 6f 31 20 54 59 41  |3..F..sfrfo1 TYA|
00000dc0  0d 0a 50 0a 4c 44 58 26  37 32 0d 0a 5a 0a 4c 44  |..P.LDX&72..Z.LD|
00000dd0  59 26 37 33 0d 0a 64 07  52 54 53 0d 0a 6e 05 20  |Y&73..d.RTS..n. |
00000de0  0d 0a 78 12 2e 77 69 6e  64 6f 77 30 20 4c 44 59  |..x..window0 LDY|
00000df0  23 30 0d 0a 82 0f 4a 4d  50 20 77 69 6e 64 6f 77  |#0....JMP window|
00000e00  73 0d 0a 8c 12 2e 77 69  6e 64 6f 77 31 20 4c 44  |s.....window1 LD|
00000e10  59 23 34 0d 0a 96 0f 4a  4d 50 20 77 69 6e 64 6f  |Y#4....JMP windo|
00000e20  77 73 0d 0a a0 12 2e 77  69 6e 64 6f 77 32 20 4c  |ws.....window2 L|
00000e30  44 59 23 38 0d 0a aa 13  2e 77 69 6e 64 6f 77 73  |DY#8.....windows|
00000e40  20 4c 44 41 23 32 38 0d  0a b4 0e 4a 53 52 20 6f  | LDA#28....JSR o|
00000e50  73 77 72 63 68 0d 0a be  09 4c 44 58 23 30 0d 0a  |swrch....LDX#0..|
00000e60  c8 15 2e 77 69 62 61 20  4c 44 41 20 77 69 6e 64  |...wiba LDA wind|
00000e70  73 2c 59 0d 0a d2 0e 4a  53 52 20 6f 73 77 72 63  |s,Y....JSR oswrc|
00000e80  68 0d 0a dc 07 49 4e 59  0d 0a e6 07 49 4e 58 0d  |h....INY....INX.|
00000e90  0a f0 09 43 50 58 23 34  0d 0a fa 0c 42 4e 45 20  |...CPX#4....BNE |
00000ea0  77 69 62 61 0d 0b 04 07  52 54 53 0d 0b 0e 05 20  |wiba....RTS.... |
00000eb0  0d 0b 18 3a 2e 62 79 74  65 5f 74 6f 5f 61 73 63  |...:.byte_to_asc|
00000ec0  69 69 20 5c 20 43 6f 6e  76 65 72 74 20 41 20 69  |ii \ Convert A i|
00000ed0  6e 74 6f 20 61 73 63 69  69 20 2d 20 72 65 74 75  |nto ascii - retu|
00000ee0  72 6e 65 64 20 69 6e 20  58 59 0d 0b 22 0a 43 4d  |rned in XY..".CM|
00000ef0  50 23 39 39 0d 0b 2c 0f  42 50 4c 20 74 6f 6f 5f  |P#99..,.BPL too_|
00000f00  62 69 67 0d 0b 36 09 43  4d 50 23 30 0d 0b 40 0c  |big..6.CMP#0..@.|
00000f10  42 45 51 20 62 74 61 30  0d 0b 4a 07 54 41 59 0d  |BEQ bta0..J.TAY.|
00000f20  0b 54 09 4c 44 41 23 30  0d 0b 5e 07 53 45 44 0d  |.T.LDA#0..^.SED.|
00000f30  0b 68 0e 2e 62 74 61 62  61 20 43 4c 43 0d 0b 72  |.h..btaba CLC..r|
00000f40  09 41 44 43 23 31 0d 0b  7c 07 44 45 59 0d 0b 86  |.ADC#1..|.DEY...|
00000f50  0d 42 4e 45 20 62 74 61  62 61 0d 0b 90 07 43 4c  |.BNE btaba....CL|
00000f60  44 0d 0b 9a 07 50 48 41  0d 0b a4 08 80 23 26 46  |D....PHA.....#&F|
00000f70  0d 0b ae 07 43 4c 43 0d  0b b8 0b 41 44 43 23 26  |....CLC....ADC#&|
00000f80  33 30 0d 0b c2 07 54 41  59 0d 0b cc 07 50 4c 41  |30....TAY....PLA|
00000f90  0d 0b d6 0f 4c 53 52 20  41 3a 4c 53 52 20 41 0d  |....LSR A:LSR A.|
00000fa0  0b e0 0f 4c 53 52 20 41  3a 4c 53 52 20 41 0d 0b  |...LSR A:LSR A..|
00000fb0  ea 07 43 4c 43 0d 0b f4  0b 41 44 43 23 26 33 30  |..CLC....ADC#&30|
00000fc0  0d 0b fe 07 54 41 58 0d  0c 08 07 52 54 53 0d 0c  |....TAX....RTS..|
00000fd0  12 10 2e 62 74 61 30 20  4c 44 59 23 34 38 0d 0c  |...bta0 LDY#48..|
00000fe0  1c 0a 4c 44 58 23 34 38  0d 0c 26 07 52 54 53 0d  |..LDX#48..&.RTS.|
00000ff0  0c 30 20 2e 74 6f 6f 5f  62 69 67 20 4a 53 52 20  |.0 .too_big JSR |
00001000  77 69 6e 64 6f 77 32 20  5c 20 45 72 72 6f 72 0d  |window2 \ Error.|
00001010  0c 3a 07 42 52 4b 0d 0c  44 0b 45 51 55 42 26 46  |.:.BRK..D.EQUB&F|
00001020  46 0d 0c 4e 2f 45 51 55  53 22 45 63 68 6f 73 3a  |F..N/EQUS"Echos:|
00001030  20 41 53 43 49 49 20 63  6f 6e 76 65 72 74 65 72  | ASCII converter|
00001040  20 6e 75 6d 62 65 72 20  74 6f 6f 20 62 69 67 22  | number too big"|
00001050  0d 0c 58 0a 45 51 55 42  26 44 0d 0c 62 07 42 52  |..X.EQUB&D..b.BR|
00001060  4b 0d 0c 6c 05 20 0d 0c  76 0f 2e 74 61 62 20 4c  |K..l. ..v..tab L|
00001070  44 41 23 33 31 0d 0c 80  0e 4a 53 52 20 6f 73 77  |DA#31....JSR osw|
00001080  72 63 68 0d 0c 8a 07 54  58 41 0d 0c 94 0e 4a 53  |rch....TXA....JS|
00001090  52 20 6f 73 77 72 63 68  0d 0c 9e 07 54 59 41 0d  |R oswrch....TYA.|
000010a0  0c a8 0e 4a 4d 50 20 6f  73 77 72 63 68 0d 0c b2  |...JMP oswrch...|
000010b0  05 20 0d 0c bc 0e 2e 73  70 61 63 65 20 50 48 41  |. .....space PHA|
000010c0  0d 0c c6 0a 4c 44 41 23  33 32 0d 0c d0 0e 4a 53  |....LDA#32....JS|
000010d0  52 20 6f 73 77 72 63 68  0d 0c da 07 50 4c 41 0d  |R oswrch....PLA.|
000010e0  0c e4 07 52 54 53 0d 0c  ee 05 20 0d 0c f8 3f 2e  |...RTS.... ...?.|
000010f0  67 65 74 5f 66 69 6c 65  6e 61 6d 65 20 53 45 43  |get_filename SEC|
00001100  20 5c 20 41 3d 66 69 6c  65 2c 20 58 59 3d 61 64  | \ A=file, XY=ad|
00001110  64 72 20 2d 20 43 6f 70  79 20 66 69 6c 65 6e 61  |dr - Copy filena|
00001120  6d 65 20 74 6f 20 61 64  64 72 0d 0d 02 09 53 42  |me to addr....SB|
00001130  43 23 31 0d 0d 0c 15 41  53 4c 20 41 3a 41 53 4c  |C#1....ASL A:ASL|
00001140  20 41 3a 41 53 4c 20 41  0d 0d 16 0a 53 54 58 26  | A:ASL A....STX&|
00001150  37 36 0d 0d 20 0a 53 54  59 26 37 37 0d 0d 2a 07  |76.. .STY&77..*.|
00001160  54 41 58 0d 0d 34 09 4c  44 59 23 30 0d 0d 3e 13  |TAX..4.LDY#0..>.|
00001170  4c 44 41 20 66 69 6c 65  6e 61 6d 65 73 2c 58 0d  |LDA filenames,X.|
00001180  0d 48 07 50 48 41 0d 0d  52 09 80 23 31 32 37 0d  |.H.PHA..R..#127.|
00001190  0d 5c 0e 53 54 41 28 26  37 36 29 2c 59 0d 0d 66  |.\.STA(&76),Y..f|
000011a0  0c 4c 44 41 23 97 22 2e  22 0d 0d 70 07 49 4e 59  |.LDA#."."..p.INY|
000011b0  0d 0d 7a 0e 53 54 41 28  26 37 36 29 2c 59 0d 0d  |..z.STA(&76),Y..|
000011c0  84 07 49 4e 59 0d 0d 8e  07 49 4e 58 0d 0d 98 07  |..INY....INX....|
000011d0  54 58 41 0d 0d a2 07 43  4c 43 0d 0d ac 09 41 44  |TXA....CLC....AD|
000011e0  43 23 37 0d 0d b6 0a 53  54 41 20 73 61 0d 0d c0  |C#7....STA sa...|
000011f0  19 2e 67 66 62 61 20 4c  44 41 20 66 69 6c 65 6e  |..gfba LDA filen|
00001200  61 6d 65 73 2c 58 0d 0d  ca 0e 53 54 41 28 26 37  |ames,X....STA(&7|
00001210  36 29 2c 59 0d 0d d4 07  49 4e 59 0d 0d de 07 49  |6),Y....INY....I|
00001220  4e 58 0d 0d e8 0a 43 50  58 20 73 61 0d 0d f2 0c  |NX....CPX sa....|
00001230  42 4e 45 20 67 66 62 61  0d 0d fc 07 50 4c 41 0d  |BNE gfba....PLA.|
00001240  0e 06 07 52 54 53 0d 0e  10 05 20 0d 0e 1a 1f 2e  |...RTS.... .....|
00001250  66 69 6c 65 5f 6e 6f 74  5f 66 6f 75 6e 64 20 4a  |file_not_found J|
00001260  53 52 20 77 69 6e 64 6f  77 32 0d 0e 24 0a 4c 44  |SR window2..$.LD|
00001270  41 23 31 32 0d 0e 2e 0e  4a 53 52 20 6f 73 77 72  |A#12....JSR oswr|
00001280  63 68 0d 0e 38 07 42 52  4b 0d 0e 42 0b 45 51 55  |ch..8.BRK..B.EQU|
00001290  42 26 44 36 0d 0e 4c 29  45 51 55 53 22 46 69 6c  |B&D6..L)EQUS"Fil|
000012a0  65 20 6e 6f 74 20 66 6f  75 6e 64 20 2d 20 44 69  |e not found - Di|
000012b0  73 63 20 63 68 61 6e 67  65 64 20 3f 22 0d 0e 56  |sc changed ?"..V|
000012c0  0c 45 51 55 42 26 44 30  41 0d 0e 60 07 42 52 4b  |.EQUB&D0A..`.BRK|
000012d0  0d 0e 6a 05 20 0d 0e 74  21 2e 6c 6f 63 61 74 65  |..j. ..t!.locate|
000012e0  5f 64 61 74 61 20 5c 20  79 3d 66 69 6c 65 20 74  |_data \ y=file t|
000012f0  6f 20 66 69 6e 64 0d 0e  7e 16 4c 44 41 23 66 69  |o find..~.LDA#fi|
00001300  6c 65 64 61 74 61 20 83  20 32 35 36 0d 0e 88 0a  |ledata . 256....|
00001310  53 54 41 26 37 30 0d 0e  92 16 4c 44 41 23 66 69  |STA&70....LDA#fi|
00001320  6c 65 64 61 74 61 20 81  20 32 35 36 0d 0e 9c 0a  |ledata . 256....|
00001330  53 54 41 26 37 31 0d 0e  a6 07 44 45 59 0d 0e b0  |STA&71....DEY...|
00001340  07 54 59 41 0d 0e ba 0f  41 53 4c 20 41 3a 41 53  |.TYA....ASL A:AS|
00001350  4c 20 41 0d 0e c4 0f 41  53 4c 20 41 3a 41 53 4c  |L A....ASL A:ASL|
00001360  20 41 0d 0e ce 07 50 48  41 0d 0e d8 09 4c 44 41  | A....PHA....LDA|
00001370  23 30 0d 0e e2 0a 41 44  43 26 37 31 0d 0e ec 0a  |#0....ADC&71....|
00001380  53 54 41 26 37 31 0d 0e  f6 07 50 4c 41 0d 0f 00  |STA&71....PLA...|
00001390  07 43 4c 43 0d 0f 0a 0a  41 44 43 26 37 30 0d 0f  |.CLC....ADC&70..|
000013a0  14 0a 53 54 41 26 37 30  0d 0f 1e 0a 4c 44 41 26  |..STA&70....LDA&|
000013b0  37 31 0d 0f 28 09 41 44  43 23 30 0d 0f 32 0a 53  |71..(.ADC#0..2.S|
000013c0  54 41 26 37 31 0d 0f 3c  07 52 54 53 0d 0f 46 05  |TA&71..<.RTS..F.|
000013d0  20 0d 0f 50 22 2e 68 65  78 5f 36 5f 61 73 63 69  | ..P".hex_6_asci|
000013e0  69 20 5c 20 41 3d 56 48  42 20 59 3d 48 42 20 58  |i \ A=VHB Y=HB X|
000013f0  3d 4c 42 0d 0f 5a 07 50  48 41 0d 0f 64 0f 4c 53  |=LB..Z.PHA..d.LS|
00001400  52 20 41 3a 4c 53 52 20  41 0d 0f 6e 0f 4c 53 52  |R A:LSR A..n.LSR|
00001410  20 41 3a 4c 53 52 20 41  0d 0f 78 0f 4a 53 52 20  | A:LSR A..x.JSR |
00001420  68 65 78 5f 6f 75 74 0d  0f 82 07 50 4c 41 0d 0f  |hex_out....PLA..|
00001430  8c 08 80 23 26 46 0d 0f  96 0f 4a 53 52 20 68 65  |...#&F....JSR he|
00001440  78 5f 6f 75 74 0d 0f a0  07 54 59 41 0d 0f aa 0f  |x_out....TYA....|
00001450  4c 53 52 20 41 3a 4c 53  52 20 41 0d 0f b4 0f 4c  |LSR A:LSR A....L|
00001460  53 52 20 41 3a 4c 53 52  20 41 0d 0f be 0f 4a 53  |SR A:LSR A....JS|
00001470  52 20 68 65 78 5f 6f 75  74 0d 0f c8 07 54 59 41  |R hex_out....TYA|
00001480  0d 0f d2 08 80 23 26 46  0d 0f dc 0f 4a 53 52 20  |.....#&F....JSR |
00001490  68 65 78 5f 6f 75 74 0d  0f e6 07 54 58 41 0d 0f  |hex_out....TXA..|
000014a0  f0 0f 4c 53 52 20 41 3a  4c 53 52 20 41 0d 0f fa  |..LSR A:LSR A...|
000014b0  0f 4c 53 52 20 41 3a 4c  53 52 20 41 0d 10 04 0f  |.LSR A:LSR A....|
000014c0  4a 53 52 20 68 65 78 5f  6f 75 74 0d 10 0e 07 54  |JSR hex_out....T|
000014d0  58 41 0d 10 18 08 80 23  26 46 0d 10 22 0f 4a 53  |XA.....#&F..".JS|
000014e0  52 20 68 65 78 5f 6f 75  74 0d 10 2c 07 52 54 53  |R hex_out..,.RTS|
000014f0  0d 10 36 13 2e 68 65 78  5f 6f 75 74 20 43 4d 50  |..6..hex_out CMP|
00001500  23 31 30 0d 10 40 0d 42  43 43 20 68 36 61 66 6f  |#10..@.BCC h6afo|
00001510  0d 10 4a 07 43 4c 43 0d  10 54 09 41 44 43 23 37  |..J.CLC..T.ADC#7|
00001520  0d 10 5e 0e 2e 68 36 61  66 6f 20 43 4c 43 0d 10  |..^..h6afo CLC..|
00001530  68 0a 41 44 43 23 34 38  0d 10 72 0e 4a 53 52 20  |h.ADC#48..r.JSR |
00001540  6f 73 77 72 63 68 0d 10  7c 07 52 54 53 0d 10 86  |oswrch..|.RTS...|
00001550  05 20 0d 10 90 2a 2e 73  6f 72 74 5f 6e 61 6d 65  |. ...*.sort_name|
00001560  73 20 5c 20 53 6f 72 74  20 66 69 6c 65 6e 61 6d  |s \ Sort filenam|
00001570  65 73 20 69 6e 74 6f 20  6c 69 73 74 0d 10 9a 24  |es into list...$|
00001580  5c 20 44 69 72 65 63 74  6f 72 79 20 6c 65 74 74  |\ Directory lett|
00001590  65 72 20 74 68 65 6e 20  66 69 6c 65 6e 61 6d 65  |er then filename|
000015a0  0d 10 a4 19 4c 44 41 23  28 73 65 63 74 6f 72 30  |....LDA#(sector0|
000015b0  2b 38 29 20 83 20 32 35  36 0d 10 ae 0a 53 54 41  |+8) . 256....STA|
000015c0  26 37 32 0d 10 b8 19 4c  44 41 23 28 73 65 63 74  |&72....LDA#(sect|
000015d0  6f 72 30 2b 38 29 20 81  20 32 35 36 0d 10 c2 07  |or0+8) . 256....|
000015e0  43 4c 43 0d 10 cc 0a 53  54 41 26 37 33 0d 10 d6  |CLC....STA&73...|
000015f0  18 4c 44 58 23 30 20 5c  20 53 74 6f 72 65 20 6f  |.LDX#0 \ Store o|
00001600  66 66 73 65 74 0d 10 e0  0a 53 54 58 20 73 78 0d  |ffset....STX sx.|
00001610  10 ea 17 4c 44 59 23 30  20 5c 20 52 65 61 64 20  |...LDY#0 \ Read |
00001620  6f 66 66 73 65 74 0d 10  f4 0d 4c 44 41 20 66 69  |offset....LDA fi|
00001630  6c 65 73 0d 10 fe 0a 53  54 41 20 73 61 0d 11 08  |les....STA sa...|
00001640  12 2e 66 62 61 63 6b 32  20 4c 44 58 20 73 78 0d  |..fback2 LDX sx.|
00001650  11 12 07 49 4e 58 0d 11  1c 16 2e 66 62 61 63 6b  |...INX.....fback|
00001660  31 20 4c 44 41 28 26 37  32 29 2c 59 0d 11 26 13  |1 LDA(&72),Y..&.|
00001670  53 54 41 20 66 69 6c 65  6e 61 6d 65 73 2c 58 0d  |STA filenames,X.|
00001680  11 30 07 49 4e 58 0d 11  3a 07 49 4e 59 0d 11 44  |.0.INX..:.INY..D|
00001690  09 43 50 59 23 37 0d 11  4e 0e 42 4e 45 20 66 62  |.CPY#7..N.BNE fb|
000016a0  61 63 6b 31 0d 11 58 0e  4c 44 41 28 26 37 32 29  |ack1..X.LDA(&72)|
000016b0  2c 59 0d 11 62 0a 4c 44  58 20 73 78 0d 11 6c 13  |,Y..b.LDX sx..l.|
000016c0  53 54 41 20 66 69 6c 65  6e 61 6d 65 73 2c 58 0d  |STA filenames,X.|
000016d0  11 76 07 54 58 41 0d 11  80 07 43 4c 43 0d 11 8a  |.v.TXA....CLC...|
000016e0  09 41 44 43 23 38 0d 11  94 0a 53 54 41 20 73 78  |.ADC#8....STA sx|
000016f0  0d 11 9e 0a 4c 44 41 26  37 32 0d 11 a8 07 43 4c  |....LDA&72....CL|
00001700  43 0d 11 b2 09 41 44 43  23 38 0d 11 bc 0a 53 54  |C....ADC#8....ST|
00001710  41 26 37 32 0d 11 c6 0a  4c 44 41 26 37 33 0d 11  |A&72....LDA&73..|
00001720  d0 09 41 44 43 23 30 0d  11 da 0a 53 54 41 26 37  |..ADC#0....STA&7|
00001730  33 0d 11 e4 09 4c 44 59  23 30 0d 11 ee 0a 44 45  |3....LDY#0....DE|
00001740  43 20 73 61 0d 11 f8 0e  42 4e 45 20 66 62 61 63  |C sa....BNE fbac|
00001750  6b 32 0d 12 02 07 52 54  53 0d 12 0c 18 5c 20 4d  |k2....RTS....\ M|
00001760  65 73 73 61 67 65 73 20  38 30 30 30 2d 38 39 39  |essages 8000-899|
00001770  30 0d 12 16 11 2e 69 6e  69 74 6d 20 45 51 55 42  |0.....initm EQUB|
00001780  32 32 0d 12 20 09 45 51  55 42 37 0d 12 2a 0a 45  |22.. .EQUB7..*.E|
00001790  51 55 42 33 31 0d 12 34  0a 45 51 55 42 31 30 0d  |QUB31..4.EQUB10.|
000017a0  12 3e 0a 45 51 55 42 31  30 0d 12 48 0c 45 51 55  |.>.EQUB10..H.EQU|
000017b0  42 20 31 33 36 0d 12 52  10 45 51 55 53 22 45 63  |B 136..R.EQUS"Ec|
000017c0  68 6f 65 73 22 0d 12 5c  15 45 51 55 57 26 44 30  |hoes"..\.EQUW&D0|
000017d0  41 3a 45 51 55 57 26 44  30 41 0d 12 66 11 45 51  |A:EQUW&D0A..f.EQ|
000017e0  55 53 22 66 30 20 2a 52  55 4e 22 0d 12 70 18 45  |US"f0 *RUN"..p.E|
000017f0  51 55 42 33 31 3a 45 51  55 42 31 34 3a 45 51 55  |QUB31:EQUB14:EQU|
00001800  42 31 32 0d 12 7a 12 45  51 55 53 22 66 31 20 2a  |B12..z.EQUS"f1 *|
00001810  44 55 4d 50 22 0d 12 84  18 45 51 55 42 33 31 3a  |DUMP"....EQUB31:|
00001820  45 51 55 42 32 39 3a 45  51 55 42 31 32 0d 12 8e  |EQUB29:EQUB12...|
00001830  12 45 51 55 53 22 66 32  20 2a 54 59 50 45 22 0d  |.EQUS"f2 *TYPE".|
00001840  12 98 0c 45 51 55 57 26  44 30 41 0d 12 a2 12 45  |...EQUW&D0A....E|
00001850  51 55 53 22 66 33 20 2a  49 4e 46 4f 22 0d 12 ac  |QUS"f3 *INFO"...|
00001860  18 45 51 55 42 33 31 3a  45 51 55 42 31 34 3a 45  |.EQUB31:EQUB14:E|
00001870  51 55 42 31 33 0d 12 b6  14 45 51 55 53 22 66 34  |QUB13....EQUS"f4|
00001880  20 2a 41 43 43 45 53 53  22 0d 12 c0 18 45 51 55  | *ACCESS"....EQU|
00001890  42 33 31 3a 45 51 55 42  32 39 3a 45 51 55 42 31  |B31:EQUB29:EQUB1|
000018a0  33 0d 12 ca 14 45 51 55  53 22 66 35 20 2a 52 45  |3....EQUS"f5 *RE|
000018b0  4e 41 4d 45 22 0d 12 d4  0c 45 51 55 57 26 44 30  |NAME"....EQUW&D0|
000018c0  41 0d 12 de 14 45 51 55  53 22 66 36 20 2a 44 45  |A....EQUS"f6 *DE|
000018d0  4c 45 54 45 22 0d 12 e8  18 45 51 55 42 33 31 3a  |LETE"....EQUB31:|
000018e0  45 51 55 42 31 34 3a 45  51 55 42 31 34 0d 12 f2  |EQUB14:EQUB14...|
000018f0  17 45 51 55 53 22 66 37  20 42 41 53 49 43 20 4c  |.EQUS"f7 BASIC L|
00001900  6f 61 64 22 0d 12 fc 18  45 51 55 42 33 31 3a 45  |oad"....EQUB31:E|
00001910  51 55 42 32 39 3a 45 51  55 42 31 34 0d 13 06 12  |QUB29:EQUB14....|
00001920  45 51 55 53 22 66 38 20  2a 45 58 45 43 22 0d 13  |EQUS"f8 *EXEC"..|
00001930  10 0c 45 51 55 57 26 44  30 41 0d 13 1a 07 42 52  |..EQUW&D0A....BR|
00001940  4b 0d 13 24 33 2e 69 6e  69 74 6d 32 20 45 51 55  |K..$3.initm2 EQU|
00001950  53 22 66 39 20 50 72 69  6e 74 20 53 63 72 65 65  |S"f9 Print Scree|
00001960  6e 20 20 20 54 41 42 20  43 68 61 69 6e 20 42 41  |n   TAB Chain BA|
00001970  53 49 43 22 0d 13 2e 15  45 51 55 57 26 44 30 41  |SIC"....EQUW&D0A|
00001980  3a 45 51 55 57 26 44 30  41 0d 13 38 2f 45 51 55  |:EQUW&D0A..8/EQU|
00001990  53 22 55 70 2f 44 6f 77  6e 20 63 75 72 73 6f 72  |S"Up/Down cursor|
000019a0  73 20 2d 20 73 65 6c 65  63 74 20 63 75 72 72 65  |s - select curre|
000019b0  6e 74 20 66 69 6c 65 22  0d 13 42 0c 45 51 55 57  |nt file"..B.EQUW|
000019c0  26 44 30 41 0d 13 4c 24  45 51 55 53 22 28 20 75  |&D0A..L$EQUS"( u|
000019d0  73 65 20 77 69 74 68 20  73 68 69 66 74 20 74 6f  |se with shift to|
000019e0  20 6a 75 6d 70 20 29 22  0d 13 56 0c 45 51 55 57  | jump )"..V.EQUW|
000019f0  26 44 30 41 0d 13 60 21  45 51 55 53 22 53 70 61  |&D0A..`!EQUS"Spa|
00001a00  63 65 20 42 61 72 20 2d  20 63 68 61 6e 67 65 20  |ce Bar - change |
00001a10  64 69 73 63 22 0d 13 6a  0c 45 51 55 57 26 44 30  |disc"..j.EQUW&D0|
00001a20  41 0d 13 74 1d 45 51 55  53 22 2a 43 6f 6d 6d 61  |A..t.EQUS"*Comma|
00001a30  6e 64 73 20 61 73 20 6e  6f 72 6d 61 6c 22 0d 13  |nds as normal"..|
00001a40  7e 15 45 51 55 57 26 44  30 41 3a 45 51 55 57 26  |~.EQUW&D0A:EQUW&|
00001a50  44 30 41 0d 13 88 28 45  51 55 53 22 20 20 20 45  |D0A...(EQUS"   E|
00001a60  63 68 6f 65 73 20 28 43  29 20 41 6c 6c 61 6e 20  |choes (C) Allan |
00001a70  4b 65 6c 6c 79 20 31 39  38 38 22 0d 13 92 37 45  |Kelly 1988"...7E|
00001a80  51 55 57 26 44 30 41 3a  45 51 55 42 31 33 36 3a  |QUW&D0A:EQUB136:|
00001a90  45 51 55 53 22 20 20 20  2d 2d 2d 2d 2d 2d 20 50  |EQUS"   ------ P|
00001aa0  52 45 53 53 20 41 20 4b  45 59 20 2d 2d 2d 2d 2d  |RESS A KEY -----|
00001ab0  2d 22 0d 13 9c 07 42 52  4b 0d 13 a6 39 45 51 55  |-"....BRK...9EQU|
00001ac0  53 22 2a 2a 2a 2a 2a 2a  2a 2a 20 4d 41 4e 59 20  |S"******** MANY |
00001ad0  54 48 41 4e 4b 53 20 54  4f 20 44 41 56 49 44 20  |THANKS TO DAVID |
00001ae0  48 41 4c 4c 49 47 41 4e  20 2a 2a 2a 2a 2a 2a 2a  |HALLIGAN *******|
00001af0  2a 22 0d 13 b0 1f 2e 6e  6f 5f 64 61 74 61 5f 6d  |*".....no_data_m|
00001b00  65 73 73 20 45 51 55 53  22 4e 6f 20 64 61 74 61  |ess EQUS"No data|
00001b10  22 0d 13 ba 0a 45 51 55  42 26 44 0d 13 c4 21 2e  |"....EQUB&D...!.|
00001b20  73 74 61 74 5f 6d 65 73  73 20 45 51 55 42 33 31  |stat_mess EQUB31|
00001b30  3a 45 51 55 42 35 3a 45  51 55 42 30 0d 13 ce 27  |:EQUB5:EQUB0...'|
00001b40  45 51 55 53 22 45 43 48  4f 45 53 20 2d 20 28 43  |EQUS"ECHOES - (C|
00001b50  29 20 41 6c 6c 61 6e 20  4b 65 6c 6c 79 20 31 39  |) Allan Kelly 19|
00001b60  38 38 22 0d 13 d8 22 45  51 55 42 33 31 3a 45 51  |88"..."EQUB31:EQ|
00001b70  55 42 30 3a 45 51 55 42  31 3a 45 51 55 53 22 44  |UB0:EQUB1:EQUS"D|
00001b80  69 73 63 3a 22 0d 13 e2  23 45 51 55 42 33 31 3a  |isc:"...#EQUB31:|
00001b90  45 51 55 42 30 3a 45 51  55 42 32 3a 45 51 55 53  |EQUB0:EQUB2:EQUS|
00001ba0  22 46 69 6c 65 73 3a 22  0d 13 ec 25 45 51 55 42  |"Files:"...%EQUB|
00001bb0  33 31 3a 45 51 55 42 32  30 3a 45 51 55 42 32 3a  |31:EQUB20:EQUB2:|
00001bc0  45 51 55 53 22 54 72 61  63 6b 73 3a 22 0d 13 f6  |EQUS"Tracks:"...|
00001bd0  42 45 51 55 42 33 31 3a  45 51 55 42 31 3a 45 51  |BEQUB31:EQUB1:EQ|
00001be0  55 42 33 3a 45 51 55 53  22 2d 2d 2d 2d 2d 2d 2d  |UB3:EQUS"-------|
00001bf0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001c00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 22 0d  |--------------".|
00001c10  14 00 0b 45 51 55 42 26  46 46 0d 14 0a 1a 2e 63  |...EQUB&FF.....c|
00001c20  68 61 69 6e 5f 69 6e 74  20 45 51 55 53 22 43 48  |hain_int EQUS"CH|
00001c30  2e 22 22 22 0d 14 14 1e  2e 63 68 69 5f 6e 61 6d  |.""".....chi_nam|
00001c40  65 20 45 51 55 53 22 31  32 33 34 35 36 37 38 39  |e EQUS"123456789|
00001c50  30 22 0d 14 1e 17 2e 6c  6f 5f 69 6e 74 20 45 51  |0".....lo_int EQ|
00001c60  55 53 22 4c 4f 2e 22 22  22 0d 14 28 1d 2e 6c 6f  |US"LO."""..(..lo|
00001c70  5f 6e 61 6d 65 20 45 51  55 53 22 31 32 33 34 35  |_name EQUS"12345|
00001c80  36 37 38 39 30 22 0d 14  32 18 2e 6f 73 62 61 73  |67890"..2..osbas|
00001c90  69 63 20 45 51 55 53 22  42 41 53 49 43 22 0d 14  |ic EQUS"BASIC"..|
00001ca0  3c 0a 45 51 55 42 26 44  0d 14 46 52 2e 6f 73 5f  |<.EQUB&D..FR.os_|
00001cb0  63 6f 6d 20 45 51 55 53  22 58 58 58 58 58 58 58  |com EQUS"XXXXXXX|
00001cc0  58 58 58 58 58 58 58 58  58 58 58 58 58 58 58 58  |XXXXXXXXXXXXXXXX|
*
00001cf0  58 58 58 58 58 58 58 58  58 22 0d 14 50 1a 2e 64  |XXXXXXXXX"..P..d|
00001d00  75 6d 70 5f 66 69 6c 65  20 45 51 55 53 22 44 55  |ump_file EQUS"DU|
00001d10  4d 50 20 22 0d 14 5a 1f  2e 64 75 6d 70 5f 70 6c  |MP "..Z..dump_pl|
00001d20  75 73 20 45 51 55 53 22  31 32 33 34 35 36 37 38  |us EQUS"12345678|
00001d30  39 30 22 0d 14 64 20 2e  74 79 70 65 5f 6e 61 6d  |90"..d .type_nam|
00001d40  65 20 45 51 55 53 22 31  32 33 34 35 36 37 38 39  |e EQUS"123456789|
00001d50  30 31 22 0d 14 6e 15 2e  69 6e 66 6f 5f 6d 65 73  |01"..n..info_mes|
00001d60  73 20 45 51 55 42 31 32  0d 14 78 1b 45 51 55 53  |s EQUB12..x.EQUS|
00001d70  22 46 69 6c 65 20 20 20  3a 22 3a 45 51 55 57 26  |"File   :":EQUW&|
00001d80  44 30 41 0d 14 82 1b 45  51 55 53 22 4c 6f 61 64  |D0A....EQUS"Load|
00001d90  20 20 20 3a 22 3a 45 51  55 57 26 44 30 41 0d 14  |   :":EQUW&D0A..|
00001da0  8c 1b 45 51 55 53 22 45  78 65 63 20 20 20 3a 22  |..EQUS"Exec   :"|
00001db0  3a 45 51 55 57 26 44 30  41 0d 14 96 1b 45 51 55  |:EQUW&D0A....EQU|
00001dc0  53 22 4c 65 6e 67 74 68  20 3a 22 3a 45 51 55 57  |S"Length :":EQUW|
00001dd0  26 44 30 41 0d 14 a0 1b  45 51 55 53 22 53 65 63  |&D0A....EQUS"Sec|
00001de0  74 6f 72 20 3a 22 3a 45  51 55 57 26 44 30 41 0d  |tor :":EQUW&D0A.|
00001df0  14 aa 12 45 51 55 53 22  4d 65 73 73 61 67 65 3a  |...EQUS"Message:|
00001e00  22 0d 14 b4 07 42 52 4b  0d 14 be 19 2e 61 63 63  |"....BRK.....acc|
00001e10  65 73 73 20 45 51 55 53  22 41 43 43 45 53 53 20  |ess EQUS"ACCESS |
00001e20  22 0d 14 c8 29 2e 61 63  63 65 73 73 5f 66 69 6c  |"...).access_fil|
00001e30  65 20 45 51 55 53 22 31  32 33 34 35 36 37 38 39  |e EQUS"123456789|
00001e40  30 31 32 33 34 35 36 37  38 22 0d 14 d2 19 2e 72  |012345678".....r|
00001e50  65 6e 61 6d 65 20 45 51  55 53 22 52 45 4e 41 4d  |ename EQUS"RENAM|
00001e60  45 20 22 0d 14 dc 27 2e  6e 65 77 5f 66 69 6c 65  |E "...'.new_file|
00001e70  20 45 51 55 53 22 31 32  33 34 35 36 37 38 39 30  | EQUS"1234567890|
00001e80  31 32 33 34 35 36 37 38  39 22 0d 14 e6 21 2e 6e  |123456789"...!.n|
00001e90  65 77 5f 6e 61 6d 65 20  45 51 55 53 22 4e 65 77  |ew_name EQUS"New|
00001ea0  20 6e 61 6d 65 3a 22 3a  42 52 4b 0d 14 f0 29 2e  | name:":BRK...).|
00001eb0  66 69 6c 65 5f 6c 6f 63  6b 65 64 20 45 51 55 53  |file_locked EQUS|
00001ec0  22 46 69 6c 65 20 69 73  20 6c 6f 63 6b 65 64 22  |"File is locked"|
00001ed0  3a 42 52 4b 0d 14 fa 19  2e 64 65 6c 65 74 65 20  |:BRK.....delete |
00001ee0  45 51 55 53 22 44 45 4c  45 54 45 20 22 0d 15 04  |EQUS"DELETE "...|
00001ef0  21 2e 64 65 6c 65 74 65  5f 66 69 6c 65 20 45 51  |!.delete_file EQ|
00001f00  55 53 22 31 32 33 34 35  36 37 38 39 30 22 0d 15  |US"1234567890"..|
00001f10  0e 27 2e 73 75 72 65 20  45 51 55 53 22 41 72 65  |.'.sure EQUS"Are|
00001f20  20 79 6f 75 20 73 75 72  65 3f 20 28 59 2f 4e 29  | you sure? (Y/N)|
00001f30  22 3a 42 52 4b 0d 15 18  1a 2e 65 78 65 63 5f 66  |":BRK.....exec_f|
00001f40  69 6c 65 20 45 51 55 53  22 45 58 45 43 20 22 0d  |ile EQUS"EXEC ".|
00001f50  15 22 1f 2e 65 78 65 63  5f 70 6c 75 73 20 45 51  |."..exec_plus EQ|
00001f60  55 53 22 31 32 33 34 35  36 37 38 39 30 22 0d 15  |US"1234567890"..|
00001f70  2c 31 2e 6e 65 77 5f 64  69 73 63 20 45 51 55 53  |,1.new_disc EQUS|
00001f80  22 49 6e 73 65 72 74 20  4e 65 77 20 44 69 73 63  |"Insert New Disc|
00001f90  20 26 20 70 72 65 73 73  20 53 70 61 63 65 22 0d  | & press Space".|
00001fa0  15 36 07 42 52 4b 0d 15  40 23 2e 70 5f 6d 65 73  |.6.BRK..@#.p_mes|
00001fb0  73 20 45 51 55 53 22 50  72 69 6e 74 20 74 68 69  |s EQUS"Print thi|
00001fc0  73 3f 20 28 59 2f 4e 29  22 0d 15 4a 07 42 52 4b  |s? (Y/N)"..J.BRK|
00001fd0  0d 15 54 05 20 0d 15 5e  10 5c 20 44 61 74 61 20  |..T. ..^.\ Data |
00001fe0  39 30 30 30 2d 0d 15 68  0d 2e 64 69 73 63 20 42  |9000-..h..disc B|
00001ff0  52 4b 0d 15 72 2c 2e 64  62 6c 6f 63 6b 20 45 51  |RK..r,.dblock EQ|
00002000  55 42 20 30 20 5c 20 55  73 65 64 20 74 6f 20 67  |UB 0 \ Used to g|
00002010  65 74 20 64 69 73 63 20  6e 75 6d 62 65 72 0d 15  |et disc number..|
00002020  7c 10 45 51 55 44 20 64  62 6c 6f 63 6b 32 0d 15  ||.EQUD dblock2..|
00002030  86 0a 45 51 55 42 20 31  0d 15 90 0a 45 51 55 42  |..EQUB 1....EQUB|
00002040  20 30 0d 15 9a 27 2e 64  62 6c 6f 63 6b 32 20 45  | 0...'.dblock2 E|
00002050  51 55 44 20 30 20 5c 20  55 73 65 64 20 77 69 74  |QUD 0 \ Used wit|
00002060  68 20 64 62 6c 6f 63 6b  32 0d 15 a4 1f 2e 73 65  |h dblock2.....se|
00002070  63 30 5f 72 64 20 42 52  4b 20 5c 20 64 72 69 76  |c0_rd BRK \ driv|
00002080  65 20 6e 75 6d 62 65 72  0d 15 ae 10 45 51 55 44  |e number....EQUD|
00002090  20 73 65 63 74 6f 72 30  0d 15 b8 0a 45 51 55 42  | sector0....EQUB|
000020a0  20 33 0d 15 c2 0b 45 51  55 42 26 35 33 0d 15 cc  | 3....EQUB&53...|
000020b0  0a 45 51 55 42 20 30 0d  15 d6 0a 45 51 55 42 20  |.EQUB 0....EQUB |
000020c0  30 0d 15 e0 0b 45 51 55  42 26 32 31 0d 15 ea 09  |0....EQUB&21....|
000020d0  45 51 55 44 30 0d 15 f4  10 2e 73 65 63 31 5f 72  |EQUD0.....sec1_r|
000020e0  64 20 42 52 4b 0d 15 fe  10 45 51 55 44 20 73 65  |d BRK....EQUD se|
000020f0  63 74 6f 72 31 0d 16 08  0a 45 51 55 42 20 33 0d  |ctor1....EQUB 3.|
00002100  16 12 0b 45 51 55 42 26  35 33 0d 16 1c 0a 45 51  |...EQUB&53....EQ|
00002110  55 42 20 30 0d 16 26 0a  45 51 55 42 20 31 0d 16  |UB 0..&.EQUB 1..|
00002120  30 0b 45 51 55 42 26 32  31 0d 16 3a 0f 2e 74 72  |0.EQUB&21..:..tr|
00002130  61 63 6b 73 20 42 52 4b  0d 16 44 13 2e 73 65 63  |acks BRK..D..sec|
00002140  74 6f 72 73 20 45 51 55  44 20 30 0d 16 4e 0e 2e  |tors EQUD 0..N..|
00002150  66 69 6c 65 73 20 42 52  4b 0d 16 58 0e 2e 64 69  |files BRK..X..di|
00002160  73 63 5f 6e 61 6d 65 0d  16 62 16 45 51 55 53 22  |sc_name..b.EQUS"|
00002170  31 32 33 34 35 36 37 38  39 30 31 32 22 0d 16 6c  |123456789012"..l|
00002180  0b 2e 73 61 20 42 52 4b  0d 16 76 0b 2e 73 78 20  |..sa BRK..v..sx |
00002190  42 52 4b 0d 16 80 0b 2e  73 79 20 42 52 4b 0d 16  |BRK.....sy BRK..|
000021a0  8a 0c 2e 73 70 74 20 42  52 4b 0d 16 94 3c 2e 72  |...spt BRK...<.r|
000021b0  73 5f 62 6c 6f 63 6b 20  5c 20 55 73 65 64 20 62  |s_block \ Used b|
000021c0  79 20 72 65 61 64 20 73  65 63 74 6f 72 20 73 75  |y read sector su|
000021d0  62 72 6f 75 74 69 6e 65  20 74 6f 20 67 65 74 20  |broutine to get |
000021e0  73 65 63 74 6f 72 0d 16  9e 11 2e 72 73 5f 64 72  |sector.....rs_dr|
000021f0  69 76 65 20 42 52 4b 0d  16 a8 10 45 51 55 44 20  |ive BRK....EQUD |
00002200  73 65 63 74 6f 72 30 0d  16 b2 0a 45 51 55 42 20  |sector0....EQUB |
00002210  33 0d 16 bc 0b 45 51 55  42 26 35 33 0d 16 c6 11  |3....EQUB&53....|
00002220  2e 72 73 5f 74 72 61 63  6b 20 42 52 4b 0d 16 d0  |.rs_track BRK...|
00002230  12 2e 72 73 5f 73 65 63  74 6f 72 20 42 52 4b 0d  |..rs_sector BRK.|
00002240  16 da 0b 45 51 55 42 26  32 31 0d 16 e4 36 2e 77  |...EQUB&21...6.w|
00002250  69 6e 64 73 20 45 51 55  42 30 3a 45 51 55 42 33  |inds EQUB0:EQUB3|
00002260  3a 45 51 55 42 33 39 3a  45 51 55 42 30 20 5c 20  |:EQUB39:EQUB0 \ |
00002270  44 61 74 61 20 66 6f 72  20 77 69 6e 64 6f 77 73  |Data for windows|
00002280  0d 16 ee 1d 45 51 55 42  30 3a 45 51 55 42 32 31  |....EQUB0:EQUB21|
00002290  3a 45 51 55 42 33 39 3a  45 51 55 42 34 0d 16 f8  |:EQUB39:EQUB4...|
000022a0  1e 45 51 55 42 30 3a 45  51 55 42 32 34 3a 45 51  |.EQUB0:EQUB24:EQ|
000022b0  55 42 33 39 3a 45 51 55  42 32 32 0d 17 02 11 2e  |UB39:EQUB22.....|
000022c0  74 6f 70 5f 66 69 6c 65  20 42 52 4b 0d 17 0c 14  |top_file BRK....|
000022d0  2e 62 6f 74 74 65 6d 5f  66 69 6c 65 20 42 52 4b  |.bottem_file BRK|
000022e0  0d 17 16 15 2e 63 75 72  72 65 6e 74 5f 66 69 6c  |.....current_fil|
000022f0  65 20 42 52 4b 0d 17 20  1d 2e 6e 61 6d 65 5f 69  |e BRK.. ..name_i|
00002300  6e 70 75 74 20 45 51 55  57 20 6e 65 77 5f 66 69  |nput EQUW new_fi|
00002310  6c 65 0d 17 2a 09 45 51  55 42 38 0d 17 34 0a 45  |le..*.EQUB8..4.E|
00002320  51 55 42 33 32 0d 17 3e  0b 45 51 55 42 31 32 37  |QUB32..>.EQUB127|
00002330  0d 17 48 0e 2e 77 69 64  74 68 20 42 52 4b 0d 17  |..H..width BRK..|
00002340  52 19 2e 6f 73 5f 69 6e  70 75 74 20 45 51 55 57  |R..os_input EQUW|
00002350  20 6f 73 5f 63 6f 6d 0d  17 5c 0a 45 51 55 42 36  | os_com..\.EQUB6|
00002360  34 0d 17 66 0a 45 51 55  42 33 32 0d 17 70 0b 45  |4..f.EQUB32..p.E|
00002370  51 55 42 31 32 37 0d 17  7a 1a 2e 72 65 6d 5f 74  |QUB127..z..rem_t|
00002380  6f 6b 65 6e 20 45 51 55  42 26 46 34 20 5c 20 f4  |oken EQUB&F4 \ .|
00002390  0d 17 84 1a 2e 65 6e 64  5f 74 6f 6b 65 6e 20 45  |.....end_token E|
000023a0  51 55 42 26 44 20 5c 20  43 52 0d 17 8e 05 5d 0d  |QUB&D \ CR....].|
000023b0  17 98 05 ed 0d 17 a2 11  2a 53 50 4f 4f 4c 20 4c  |........*SPOOL L|
000023c0  2e 56 41 52 53 0d 17 ac  10 f1 22 41 55 54 4f 32  |.VARS....."AUTO2|
000023d0  30 30 30 30 22 0d 17 b6  1f f1 22 66 69 6c 65 5f  |0000"....."file_|
000023e0  77 69 6e 64 6f 77 3d 22  3b 66 69 6c 65 5f 77 69  |window=";file_wi|
000023f0  6e 64 6f 77 0d 17 c0 1d  f1 22 67 65 74 5f 73 65  |ndow....."get_se|
00002400  63 74 6f 72 3d 22 3b 67  65 74 5f 73 65 63 74 6f  |ctor=";get_secto|
00002410  72 0d 17 ca 17 f1 22 64  69 73 70 6c 61 79 3d 22  |r....."display="|
00002420  3b 64 69 73 70 6c 61 79  0d 17 d4 1d f1 22 72 65  |;display....."re|
00002430  61 64 79 5f 65 78 69 74  3d 22 3b 72 65 61 64 79  |ady_exit=";ready|
00002440  5f 65 78 69 74 0d 17 de  1f f1 22 72 65 61 64 5f  |_exit....."read_|
00002450  73 65 63 74 6f 72 3d 22  3b 72 65 61 64 5f 73 65  |sector=";read_se|
00002460  63 74 6f 72 0d 17 e8 25  f1 22 73 65 61 72 63 68  |ctor...%."search|
00002470  5f 66 6f 72 5f 72 65 6d  3d 22 3b 73 65 61 72 63  |_for_rem=";searc|
00002480  68 5f 66 6f 72 5f 72 65  6d 0d 17 f2 17 f1 22 77  |h_for_rem....."w|
00002490  69 6e 64 6f 77 30 3d 22  3b 77 69 6e 64 6f 77 30  |indow0=";window0|
000024a0  0d 17 fc 17 f1 22 77 69  6e 64 6f 77 31 3d 22 3b  |....."window1=";|
000024b0  77 69 6e 64 6f 77 31 0d  18 06 17 f1 22 77 69 6e  |window1....."win|
000024c0  64 6f 77 32 3d 22 3b 77  69 6e 64 6f 77 32 0d 18  |dow2=";window2..|
000024d0  10 23 f1 22 62 79 74 65  5f 74 6f 5f 61 73 63 69  |.#."byte_to_asci|
000024e0  69 3d 22 3b 62 79 74 65  5f 74 6f 5f 61 73 63 69  |i=";byte_to_asci|
000024f0  69 0d 18 1a 0f f1 22 74  61 62 3d 22 3b 74 61 62  |i....."tab=";tab|
00002500  0d 18 24 13 f1 22 73 70  61 63 65 3d 22 3b 73 70  |..$.."space=";sp|
00002510  61 63 65 0d 18 2e 21 f1  22 67 65 74 5f 66 69 6c  |ace...!."get_fil|
00002520  65 6e 61 6d 65 3d 22 3b  67 65 74 5f 66 69 6c 65  |ename=";get_file|
00002530  6e 61 6d 65 0d 18 38 1f  f1 22 6c 6f 63 61 74 65  |name..8.."locate|
00002540  5f 64 61 74 61 3d 22 3b  6c 6f 63 61 74 65 5f 64  |_data=";locate_d|
00002550  61 74 61 0d 18 42 1f f1  22 68 65 78 5f 36 5f 61  |ata..B.."hex_6_a|
00002560  73 63 69 69 3d 22 3b 68  65 78 5f 36 5f 61 73 63  |scii=";hex_6_asc|
00002570  69 69 0d 18 4c 1d f1 22  73 6f 72 74 5f 6e 61 6d  |ii..L.."sort_nam|
00002580  65 73 3d 22 3b 73 6f 72  74 5f 6e 61 6d 65 73 0d  |es=";sort_names.|
00002590  18 56 1b f1 22 73 74 61  74 5f 6d 65 73 73 3d 22  |.V.."stat_mess="|
000025a0  3b 73 74 61 74 5f 6d 65  73 73 0d 18 60 13 f1 22  |;stat_mess..`.."|
000025b0  69 6e 69 74 6d 3d 22 3b  69 6e 69 74 6d 0d 18 6a  |initm=";initm..j|
000025c0  15 f1 22 69 6e 69 74 6d  32 3d 22 3b 69 6e 69 74  |.."initm2=";init|
000025d0  6d 32 0d 18 74 1b f1 22  63 68 61 69 6e 5f 69 6e  |m2..t.."chain_in|
000025e0  74 3d 22 3b 63 68 61 69  6e 5f 69 6e 74 0d 18 7e  |t=";chain_int..~|
000025f0  19 f1 22 63 68 69 5f 6e  61 6d 65 3d 22 3b 63 68  |.."chi_name=";ch|
00002600  69 5f 6e 61 6d 65 0d 18  88 17 f1 22 6c 6f 5f 6e  |i_name....."lo_n|
00002610  61 6d 65 3d 22 3b 6c 6f  5f 6e 61 6d 65 0d 18 92  |ame=";lo_name...|
00002620  15 f1 22 6c 6f 5f 69 6e  74 3d 22 3b 6c 6f 5f 69  |.."lo_int=";lo_i|
00002630  6e 74 0d 18 9c 17 f1 22  6f 73 62 61 73 69 63 3d  |nt....."osbasic=|
00002640  22 3b 6f 73 62 61 73 69  63 0d 18 a6 15 f1 22 6f  |";osbasic....."o|
00002650  73 5f 63 6f 6d 3d 22 3b  6f 73 5f 63 6f 6d 0d 18  |s_com=";os_com..|
00002660  b0 1b f1 22 64 75 6d 70  5f 66 69 6c 65 3d 22 3b  |..."dump_file=";|
00002670  64 75 6d 70 5f 66 69 6c  65 0d 18 ba 1b f1 22 64  |dump_file....."d|
00002680  75 6d 70 5f 70 6c 75 73  3d 22 3b 64 75 6d 70 5f  |ump_plus=";dump_|
00002690  70 6c 75 73 0d 18 c4 1b  f1 22 74 79 70 65 5f 6e  |plus....."type_n|
000026a0  61 6d 65 3d 22 3b 74 79  70 65 5f 6e 61 6d 65 0d  |ame=";type_name.|
000026b0  18 ce 1b f1 22 69 6e 66  6f 5f 6d 65 73 73 3d 22  |...."info_mess="|
000026c0  3b 69 6e 66 6f 5f 6d 65  73 73 0d 18 d8 15 f1 22  |;info_mess....."|
000026d0  61 63 63 65 73 73 3d 22  3b 61 63 63 65 73 73 0d  |access=";access.|
000026e0  18 e2 1f f1 22 61 63 63  65 73 73 5f 66 69 6c 65  |...."access_file|
000026f0  3d 22 3b 61 63 63 65 73  73 5f 66 69 6c 65 0d 18  |=";access_file..|
00002700  ec 15 f1 22 72 65 6e 61  6d 65 3d 22 3b 72 65 6e  |..."rename=";ren|
00002710  61 6d 65 0d 18 f6 19 f1  22 6e 65 77 5f 66 69 6c  |ame....."new_fil|
00002720  65 3d 22 3b 6e 65 77 5f  66 69 6c 65 0d 19 00 19  |e=";new_file....|
00002730  f1 22 6e 65 77 5f 6e 61  6d 65 3d 22 3b 6e 65 77  |."new_name=";new|
00002740  5f 6e 61 6d 65 0d 19 0a  1f f1 22 66 69 6c 65 5f  |_name....."file_|
00002750  6c 6f 63 6b 65 64 3d 22  3b 66 69 6c 65 5f 6c 6f  |locked=";file_lo|
00002760  63 6b 65 64 0d 19 14 15  f1 22 64 65 6c 65 74 65  |cked....."delete|
00002770  3d 22 3b 64 65 6c 65 74  65 0d 19 1e 1f f1 22 64  |=";delete....."d|
00002780  65 6c 65 74 65 5f 66 69  6c 65 3d 22 3b 64 65 6c  |elete_file=";del|
00002790  65 74 65 5f 66 69 6c 65  0d 19 28 11 f1 22 73 75  |ete_file..(.."su|
000027a0  72 65 3d 22 3b 73 75 72  65 0d 19 32 11 f1 22 64  |re=";sure..2.."d|
000027b0  69 73 63 3d 22 3b 64 69  73 63 0d 19 3c 1b f1 22  |isc=";disc..<.."|
000027c0  64 69 73 63 5f 6e 61 6d  65 3d 22 3b 64 69 73 63  |disc_name=";disc|
000027d0  5f 6e 61 6d 65 0d 19 46  15 f1 22 64 62 6c 6f 63  |_name..F.."dbloc|
000027e0  6b 3d 22 3b 64 62 6c 6f  63 6b 0d 19 50 17 f1 22  |k=";dblock..P.."|
000027f0  64 62 6c 6f 63 6b 32 3d  22 3b 64 62 6c 6f 63 6b  |dblock2=";dblock|
00002800  32 0d 19 5a 17 f1 22 73  65 63 30 5f 72 64 3d 22  |2..Z.."sec0_rd="|
00002810  3b 73 65 63 30 5f 72 64  0d 19 64 17 f1 22 73 65  |;sec0_rd..d.."se|
00002820  63 31 5f 72 64 3d 22 3b  73 65 63 31 5f 72 64 0d  |c1_rd=";sec1_rd.|
00002830  19 6e 15 f1 22 74 72 61  63 6b 73 3d 22 3b 74 72  |.n.."tracks=";tr|
00002840  61 63 6b 73 0d 19 78 17  f1 22 73 65 63 74 6f 72  |acks..x.."sector|
00002850  73 3d 22 3b 73 65 63 74  6f 72 73 0d 19 82 13 f1  |s=";sectors.....|
00002860  22 66 69 6c 65 73 3d 22  3b 66 69 6c 65 73 0d 19  |"files=";files..|
00002870  8c 0d f1 22 73 61 3d 22  3b 73 61 0d 19 96 0d f1  |..."sa=";sa.....|
00002880  22 73 78 3d 22 3b 73 78  0d 19 a0 0d f1 22 73 79  |"sx=";sx....."sy|
00002890  3d 22 3b 73 79 0d 19 aa  0f f1 22 73 70 74 3d 22  |=";sy....."spt="|
000028a0  3b 73 70 74 0d 19 b4 19  f1 22 72 73 5f 62 6c 6f  |;spt....."rs_blo|
000028b0  63 6b 3d 22 3b 72 73 5f  62 6c 6f 63 6b 0d 19 be  |ck=";rs_block...|
000028c0  19 f1 22 72 73 5f 64 72  69 76 65 3d 22 3b 72 73  |.."rs_drive=";rs|
000028d0  5f 64 72 69 76 65 0d 19  c8 19 f1 22 72 73 5f 74  |_drive....."rs_t|
000028e0  72 61 63 6b 3d 22 3b 72  73 5f 74 72 61 63 6b 0d  |rack=";rs_track.|
000028f0  19 d2 1b f1 22 72 73 5f  73 65 63 74 6f 72 3d 22  |...."rs_sector="|
00002900  3b 72 73 5f 73 65 63 74  6f 72 0d 19 dc 19 f1 22  |;rs_sector....."|
00002910  74 6f 70 5f 66 69 6c 65  3d 22 3b 74 6f 70 5f 66  |top_file=";top_f|
00002920  69 6c 65 0d 19 e6 1f f1  22 62 6f 74 74 65 6d 5f  |ile....."bottem_|
00002930  66 69 6c 65 3d 22 3b 62  6f 74 74 65 6d 5f 66 69  |file=";bottem_fi|
00002940  6c 65 0d 19 f0 21 f1 22  63 75 72 72 65 6e 74 5f  |le...!."current_|
00002950  66 69 6c 65 3d 22 3b 63  75 72 72 65 6e 74 5f 66  |file=";current_f|
00002960  69 6c 65 0d 19 fa 1d f1  22 6e 61 6d 65 5f 69 6e  |ile....."name_in|
00002970  70 75 74 3d 22 3b 6e 61  6d 65 5f 69 6e 70 75 74  |put=";name_input|
00002980  0d 1a 04 25 f1 22 66 69  6c 65 5f 6e 6f 74 5f 66  |...%."file_not_f|
00002990  6f 75 6e 64 3d 22 3b 66  69 6c 65 5f 6e 6f 74 5f  |ound=";file_not_|
000029a0  66 6f 75 6e 64 0d 1a 0e  1d f1 22 70 72 69 6e 74  |found....."print|
000029b0  5f 6c 69 6e 65 3d 22 3b  70 72 69 6e 74 5f 6c 69  |_line=";print_li|
000029c0  6e 65 0d 1a 18 13 f1 22  77 69 64 74 68 3d 22 3b  |ne....."width=";|
000029d0  77 69 64 74 68 0d 1a 22  1b f1 22 65 78 65 63 5f  |width..".."exec_|
000029e0  66 69 6c 65 3d 22 3b 65  78 65 63 5f 66 69 6c 65  |file=";exec_file|
000029f0  0d 1a 2c 1b f1 22 65 78  65 63 5f 70 6c 75 73 3d  |..,.."exec_plus=|
00002a00  22 3b 65 78 65 63 5f 70  6c 75 73 0d 1a 36 19 f1  |";exec_plus..6..|
00002a10  22 6e 65 77 5f 64 69 73  63 3d 22 3b 6e 65 77 5f  |"new_disc=";new_|
00002a20  64 69 73 63 0d 1a 40 19  f1 22 6f 73 5f 69 6e 70  |disc..@.."os_inp|
00002a30  75 74 3d 22 3b 6f 73 5f  69 6e 70 75 74 0d 1a 4a  |ut=";os_input..J|
00002a40  15 f1 22 70 5f 6d 65 73  73 3d 22 3b 70 5f 6d 65  |.."p_mess=";p_me|
00002a50  73 73 0d 1a 54 1b f1 22  72 65 6d 5f 74 6f 6b 65  |ss..T.."rem_toke|
00002a60  6e 3d 22 3b 72 65 6d 5f  74 6f 6b 65 6e 0d 1a 5e  |n=";rem_token..^|
00002a70  1b f1 22 65 6e 64 5f 74  6f 6b 65 6e 3d 22 3b 65  |.."end_token=";e|
00002a80  6e 64 5f 74 6f 6b 65 6e  0d 1a 68 0a 2a 53 50 4f  |nd_token..h.*SPO|
00002a90  4f 4c 0d 1a 72 05 20 0d  1a 7c 1b f1 22 53 61 76  |OL..r. ..|.."Sav|
00002aa0  65 20 74 68 69 73 20 64  61 74 61 20 77 69 74 68  |e this data with|
00002ab0  3a 22 0d 1a 86 37 f1 22  20 2a 53 41 56 45 20 4c  |:"...7." *SAVE L|
00002ac0  2e 44 41 54 41 20 22 3b  7e 73 61 76 65 3b 22 20  |.DATA ";~save;" |
00002ad0  22 3b 7e 4f 25 3b 22 20  22 3b 7e 6c 6f 61 64 3b  |";~O%;" ";~load;|
00002ae0  22 20 22 3b 7e 6c 6f 61  64 0d 1a 90 16 f1 22 4e  |" ";~load....."N|
00002af0  6f 77 20 6c 6f 61 64 20  45 43 48 4f 45 53 22 0d  |ow load ECHOES".|
00002b00  1a 9a 21 f1 22 45 78 65  63 20 4c 2e 56 41 52 53  |..!."Exec L.VARS|
00002b10  20 61 6e 64 20 52 55 4e  20 45 63 68 6f 65 73 22  | and RUN Echoes"|
00002b20  0d 1a a4 05 e0 0d ff                              |.......|
00002b27
02-07-89/Add.m0
02-07-89/Add.m1
02-07-89/Add.m2
02-07-89/Add.m4
02-07-89/Add.m5