Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_27.ADF » P/AUTOsrc

P/AUTOsrc

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_27.ADF
Filename: P/AUTOsrc
Read OK:
File size: 2AF5 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM >AutoSource (Po85)
   20REM By David Lawrence
   30REM For BBC B/B+/M/C/E with SWR
   40REM (C) BAU January 1992 & March 1988
   45REM Adapted for 10 character ADFS
   46REM filenames by Richard Dimond
   47REM July 1996
   50:
   60PROCvars
   70PROCass
   80PROCcheck
   90PRINTCHR$13;"Checked O.K."'"Saving..."
  100OSCLI"*SAVE Autorom "+STR$~code+" "+STR$~O%+" 8000 8000"
  110END
  120:
  130DEF PROCvars
  140DIM code 2000
  150cr$=CHR$13
  160z$=CHR$0
  170mem=&70:ext=&70
  180len=&70:from=&72
  190to=&74:ptr=&F2
  200err=&100:finfo=&100
  210fname=&115:index=&8800
  220store=&8900
  230oswrch=&FFEE:osnewl=&FFE7
  240osasci=&FFE3:osbyte=&FFF4
  250osfile=&FFDD:osargs=&FFDA
  260osfind=&FFCE:oscli =&FFF7
  270ENDPROC
  280:
  290DEF PROCass
  300FOR pass=4 TO 6 STEP 2
  310P%=&8000:O%=code
  320[OPT pass
  330.start
  340RTS
  350RTS
  360RTS
  370JMP service
  380EQUB 129
  390EQUB copy
  400EQUB 1
  410.title
  420EQUS "Autorom 1.0"+z$
  430.copy
  440EQUS z$+"(C) Acorn User 1988"+z$
  450:
  460.service
  470PHP
  480PHA
  490CMP #9
  500BNE not9
  510JMP help
  520.not9
  530CMP #4
  540BNE not4
  550JMP starcom
  560.not4
  570PLA
  580PLP
  590RTS
  600:
  610.error
  620STX mem
  630STY mem+1
  640LDY #1
  650.xerror
  660LDA (mem),Y
  670STA err,Y
  680INY
  690CMP #0
  700BNE xerror
  710LDA #0
  720STA err
  730JMP err
  740:
  750.mess
  760STX mem
  770STY mem+1
  780LDY #&FF
  790.pmess
  800INY
  810LDA (mem),Y
  820JSR osasci
  830BNE pmess
  840RTS
  850:
  860.loadzero
  870LDX #5
  880.lzero
  890LDA zero,X
  900STA ext,X
  910DEX
  920BPL lzero
  930RTS
  940.savezero
  950LDX #5
  960.szero
  970LDA ext,X
  980STA zero,X
  990DEX
 1000BPL szero
 1010RTS
 1020:
 1030.hex
 1040PHA
 1050LSR A
 1060LSR A
 1070LSR A
 1080LSR A
 1090JSR dig
 1100PLA
 1110AND #&F
 1120.dig
 1130CMP #10
 1140BCC isnum
 1150CLC
 1160ADC #7
 1170.isnum
 1180ADC #48
 1190JMP oswrch
 1200:
 1210.help
 1220TXA
 1230PHA
 1240TYA
 1250PHA
 1260JSR savezero
 1270LDA (ptr),Y
 1280CMP #13
 1290BEQ nonly
 1300LDX #&FF
 1310DEY
 1320.help1
 1330INX
 1340INY
 1350LDA hword,X
 1360CMP #13
 1370BEQ bighelp
 1380LDA (ptr),Y
 1390CMP #ASC"."
 1400BEQ bighelp
 1410AND #&DF
 1420CMP hword,X
 1430BEQ help1
 1440.out
 1450JSR loadzero
 1460PLA
 1470TAY
 1480PLA
 1490TAX
 1500PLA
 1510PLP
 1520RTS
 1530.nonly
 1540JSR nameonly
 1550JMP out
 1560:
 1570.bighelp
 1580JSR nameonly
 1590LDX #hlptxt MOD 256
 1600LDY #hlptxt DIV 256
 1610JSR mess
 1620LDA index
 1630BEQ nomore
 1640LDX #fcached MOD 256
 1650LDY #fcached DIV 256
 1660JSR mess
 1670LDX #0
 1680STX tmp
 1690.hloop
 1700LDX tmp
 1710LDA index,X
 1720BEQ hdone
 1730LDY #4
 1740JSR spcs
 1750LDY #8
 1760.names
 1770LDA index,X
 1780BNE notend
 1790LDA #32
 1800.notend
 1810JSR oswrch
 1820INX
 1830DEY
 1840BNE names
 1850LDY #8
 1860JSR spcs
 1870LDA tmp
 1880CLC
 1890ADC #16
 1900STA tmp
 1910BCC hloop
 1920.hdone
 1930LDA #&86
 1940JSR osbyte
 1950CPX #0
 1960BEQ nomore
 1970JSR osnewl
 1980.nomore
 1990JMP out
 2000:
 2010.nameonly
 2020JSR osnewl
 2030LDY #&FF
 2040.pname
 2050INY
 2060LDA title,Y
 2070JSR oswrch
 2080BNE pname
 2090JSR osnewl
 2100RTS
 2110:
 2120.spcs
 2130LDA #32
 2140.spcsl
 2150JSR oswrch
 2160DEY
 2170BNE spcsl
 2180RTS
 2190:
 2200.bmove
 2210LDY #0
 2220.move
 2230LDA len
 2240ORA len+1
 2250BEQ bmoved
 2260LDA (from),Y
 2270STA (to),Y
 2280INC from
 2290BNE notfhi
 2300INC from+1
 2310.notfhi
 2320INC to
 2330BNE notthi
 2340INC to+1
 2350.notthi
 2360DEC len
 2370LDA len
 2380CMP #&FF
 2390BNE move
 2400DEC len+1
 2410LDA len+1
 2420CMP #&FF
 2430BNE move
 2440.bmoved
 2450RTS
 2460:
 2470.starcom
 2480TXA
 2490PHA
 2500TYA
 2510PHA
 2520JSR savezero
 2530LDX #0
 2540STY tmp
 2550.com1
 2560LDA coms,X
 2570CMP #255
 2580BEQ nocom
 2590LDY tmp
 2600.com2
 2610LDA coms,X
 2620BEQ gotcom
 2630LDA (ptr),Y
 2640AND #&DF
 2650CMP coms,X
 2660BNE nextone
 2670INY
 2680INX
 2690BNE com2
 2700.nextone
 2710INX
 2720LDA coms,X
 2730BNE nextone
 2740INX
 2750INX
 2760INX
 2770BNE com1
 2780.gotcom
 2790INX
 2800LDA coms,X
 2810STA mem
 2820LDA coms+1,X
 2830STA mem+1
 2840.movey
 2850LDA (ptr),Y
 2860CMP #13
 2870BEQ ymoved
 2880INY
 2890CMP #32
 2900BEQ movey
 2910DEY
 2920.ymoved
 2930JMP (mem)
 2940:
 2950.nocom
 2960LDX #0
 2970STX ind
 2980.chkind
 2990LDX ind
 3000LDA index,X
 3010BEQ none
 3020LDY tmp
 3030LDA #11
 3040STA count
 3050.cloop
 3060LDA index,X
 3070BEQ gotind
 3080LDA (ptr),Y
 3090AND #&DF
 3100CMP index,X
 3110BNE nextind
 3120INY
 3130INX
 3140DEC count
 3150BNE cloop
 3160.gotind
 3170LDA (ptr),Y
 3180CMP #32
 3190BEQ indok
 3200CMP #13
 3210BEQ indok
 3220.nextind
 3230LDA ind
 3240CLC
 3250ADC #19
 3260STA ind
 3270BCC chkind
 3280.none
 3290JMP out
 3300.indok
 3310LDX ind
 3320LDA index+11,X
 3330STA from
 3340LDA index+12,X
 3350STA from+1
 3360LDA index+13,X
 3370STA to
 3380LDA index+14,X
 3390STA to+1
 3400LDA index+17,X
 3410STA len
 3420LDA index+18,X
 3430STA len+1
 3440JSR bmove
 3450LDA index+15,X
 3460STA jsr+1
 3470LDA index+16,X
 3480STA jsr+2
 3490LDA ptr
 3500STA optr
 3510LDA ptr+1
 3520STA optr+1
 3530LDY #0
 3540.moveptr
 3550INC ptr
 3560BNE notphi
 3570INC ptr+1
 3580.notphi
 3590LDA (ptr),Y
 3600CMP #ASC"*"
 3610BEQ moveptr
 3620CMP #ASC" "
 3630BEQ moveptr
 3640JSR loadzero
 3650PLA
 3660TAY
 3670STY y
 3680PLA
 3690TAX
 3700STX x
 3710PLA
 3720STA a
 3730PLA
 3740STA p
 3750PHA
 3760LDA a
 3770PLP
 3780.jsr
 3790JSR &CAFE
 3800LDA optr
 3810STA ptr
 3820LDA optr+1
 3830STA ptr+1
 3840LDX x
 3850LDY y
 3860LDA p
 3870PHA
 3880LDA #0
 3890PLP
 3900RTS
 3910:
 3920.comout
 3930JSR loadzero
 3940PLA
 3950TAX
 3960PLA
 3970TAX
 3980PLA
 3990LDA #0
 4000PLP
 4010RTS
 4020:
 4030.clear
 4040CMP #13
 4050BNE notclr
 4060LDY #0
 4070TYA
 4080.clrind
 4090STA index,Y
 4100DEY
 4110BNE clrind
 4120LDX #store MOD 256
 4130STX mem
 4140STX index+11
 4150LDX #store DIV 256
 4160STX mem+1
 4170STX index+12
 4180LDA #&C0
 4190SEC
 4200SBC mem+1
 4210STA memfree+1
 4220LDA #0
 4230STA iptr
 4240STA num
 4250STA memfree
 4260JMP comout
 4270.notclr
 4280JMP out
 4290:
 4300.data
 4310CMP #13
 4320BNE notclr
 4330LDA index
 4340BEQ sdone
 4350LDX #dhead MOD 256
 4360LDY #dhead DIV 256
 4370JSR mess
 4380LDX #0
 4390STX tmp
 4400.snames
 4410LDX tmp
 4420LDA index,X
 4430BEQ sdone
 4440LDY #11
 4450.dloop
 4460LDA index,X
 4470BNE nospc
 4480LDA #32
 4490.nospc
 4500JSR oswrch
 4510INX
 4520DEY
 4530BNE dloop
 4540LDA tmp
 4550CLC
 4560ADC #13
 4570PHA
 4580TAY
 4590JSR pdata
 4600INY
 4610INY
 4620JSR pdata
 4630INY
 4640INY
 4650JSR pdata
 4660PLA
 4670TAY
 4680DEY
 4690DEY
 4700JSR pdata
 4710JSR osnewl
 4720LDA tmp
 4730CLC
 4740ADC #19
 4750STA tmp
 4760BCC snames
 4770.sdone
 4780LDA #ASC"&"
 4790JSR oswrch
 4800LDA memfree+1
 4810JSR hex
 4820LDA memfree
 4830JSR hex
 4840LDX #dfoot MOD 256
 4850LDY #dfoot DIV 256
 4860JSR mess
 4870JMP comout
 4880:
 4890.pdata
 4900LDA #32
 4910JSR oswrch
 4920JSR oswrch
 4930LDA index+1,Y
 4940JSR hex
 4950LDA index,Y
 4960JMP hex
 4970:
 4980.cache
 4990CMP #13
 5000BNE docache
 5010LDX #csyn MOD 256
 5020LDY #csyn DIV 256
 5030JMP error
 5040.docache
 5050LDX #0
 5060.xname
 5070LDA (ptr),Y
 5080STA fname,X
 5090INY
 5100INX
 5110CMP #13
 5120BNE xname
 5130LDX #fname MOD 256
 5140LDY #fname DIV 256
 5150LDA #&40
 5160JSR osfind
 5170CMP #0
 5180BEQ nofile
 5190TAY
 5200LDX #ext
 5210LDA #2
 5220JSR osargs
 5230LDA #0
 5240JSR osfind
 5250LDA num
 5260CMP #12
 5270BEQ noroom
 5280LDA ext+2
 5290ORA ext+3
 5300BNE toobig
 5310LDA ext+1
 5320CMP memfree+1
 5330BCC ok
 5340BNE toobig
 5350LDA ext
 5360CMP memfree
 5370BEQ ok
 5380BCC ok
 5390:
 5400.toobig
 5410LDX #ftb MOD 256
 5420LDY #ftb DIV 256
 5430JMP error
 5440.nofile
 5450LDX #fnf MOD 256
 5460LDY #fnf DIV 256
 5470JMP error
 5480.noroom
 5490LDX #nis MOD 256
 5500LDY #nis DIV 256
 5510JMP error
 5520:
 5530.ok
 5540LDY #&14
 5550LDA #&FF
 5560.clrblk
 5570STA finfo,Y
 5580DEY
 5590BNE clrblk
 5600LDA #fname MOD 256
 5610STA finfo
 5620LDA #fname DIV 256
 5630STA finfo+1
 5640LDX #finfo MOD 256
 5650LDY #finfo DIV 256
 5660LDA #&FF
 5670JSR osfile
 5680LDY iptr
 5690LDA finfo+2
 5700STA from
 5710STA index+13,Y
 5720LDA finfo+3
 5730STA from+1
 5740STA index+14,Y
 5750LDA index+11,Y
 5760STA to
 5770LDA index+12,Y
 5780STA to+1
 5790LDA finfo+6
 5800STA index+15,Y
 5810LDA finfo+7
 5820STA index+16,Y
 5830LDA ext
 5840STA index+17,Y
 5850LDA ext+1
 5860STA index+18,Y
 5870LDA memfree
 5880SEC
 5890SBC len
 5900STA memfree
 5910LDA memfree+1
 5920SBC len+1
 5930STA memfree+1
 5940JSR bmove
 5950LDX #0
 5960.fret
 5970INX
 5980LDA fname,X
 5990CMP #32
 6000BEQ ndot
 6010CMP #13
 6020BNE fret
 6030.ndot
 6040DEX
 6050BEQ gotit
 6060LDA fname,X
 6070CMP #ASC"."
 6080BNE ndot
 6090INX
 6100.gotit
 6110LDY #11
 6120STY tmp
 6130LDY iptr
 6140.mname
 6150LDA fname,X
 6160CMP #32
 6170BEQ mndone
 6180CMP #13
 6190BEQ mndone
 6200STA index,Y
 6210INX
 6220INY
 6230DEC tmp
 6240BNE mname
 6250.mndone
 6260LDA num
 6270CMP #15
 6280BEQ noinc
 6290LDA iptr
 6300CLC
 6310ADC #19
 6320STA iptr
 6330TAY
 6340LDA to
 6350STA index+11,Y
 6360LDA to+1
 6370STA index+12,Y
 6380.noinc
 6390INC num
 6400JMP comout
 6410:
 6420.scrap
 6430CMP #13
 6440BNE doscrap
 6450LDX #ssyn MOD 256
 6460LDY #ssyn DIV 256
 6470JMP error
 6480.doscrap
 6490LDX #0
 6500.scrap1
 6510LDA (ptr),Y
 6520STA fname,X
 6530CMP #13
 6540BEQ eoc
 6550CMP #32
 6560BEQ eoc
 6570INY
 6580INX
 6590CPX #11
 6600BNE scrap1
 6610JMP nofile
 6620.eoc
 6630LDX #0
 6640STX tmp
 6650.fscrap
 6660LDX tmp
 6670LDA index,X
 6680BEQ notthere
 6690LDY #0
 6700LDA #11
 6710STA count
 6720.comploop
 6730LDA index,X
 6740BEQ comped
 6750CMP fname,Y
 6760BNE ncomp
 6770INX
 6780INY
 6790DEC count
 6800BNE comploop
 6810.notthere
 6820JMP nofile
 6830:
 6840.ncomp
 6850LDA tmp
 6860CLC
 6870ADC #19
 6880STA tmp
 6890BCC fscrap
 6900JMP nofile
 6910.comped
 6920LDA fname,Y
 6930CMP #32
 6940BEQ compok
 6950CMP #13
 6960BNE ncomp
 6970:
 6980.compok
 6990LDX tmp
 7000LDA index+17,X
 7010STA len
 7020LDA index+18,X
 7030STA len+1
 7040CPX #&F0
 7050BEQ justdel
 7060LDA index+11,X
 7070STA to
 7080LDA index+12,X
 7090STA to+1
 7100LDA index+30,X
 7110STA from
 7120LDA index+31,X
 7130STA from+1
 7140LDY #0
 7150.shuffle
 7160LDA (from),Y
 7170STA (to),Y
 7180INC to
 7190BNE shuf1
 7200INC to+1
 7210.shuf1
 7220INC from
 7230BNE shuffle
 7240INC from+1
 7250LDA from+1
 7260CMP #&C0
 7270BNE shuffle
 7280LDA tmp
 7290TAX
 7300CLC
 7310ADC #19
 7320TAY
 7330.shufind
 7340LDA index,Y
 7350STA index,X
 7360INX
 7370INY
 7380BNE shufind
 7390LDX tmp
 7400.sublen
 7410LDA index+11,X
 7420SEC
 7430SBC len
 7440STA index+11,X
 7450LDA index+12,X
 7460SBC len+1
 7470STA index+12,X
 7480TXA
 7490CLC
 7500ADC #19
 7510TAX
 7520BCC sublen
 7530LDA num
 7540CMP #19
 7550BEQ justdel
 7560LDA iptr
 7570SEC
 7580SBC #19
 7590STA iptr
 7600.justdel
 7610DEC num
 7620LDA memfree
 7630CLC
 7640ADC len
 7650STA memfree
 7660LDA memfree+1
 7670ADC len+1
 7680STA memfree+1
 7690LDA #0
 7700LDY #&F0
 7710.deloop
 7720CPY #&F8
 7730BNE noiny
 7740INY
 7750INY
 7760.noiny
 7770STA index,Y
 7780INY
 7790BNE deloop
 7800JMP comout
 7810:
 7820.hlptxt  EQUS "  Commands:"+cr$
 7830         EQUS "    *CACHE <file>"+cr$
 7840         EQUS "    *SCRAP <file>"+cr$
 7850         EQUS "    *CLEAR"+cr$
 7860         EQUS "    *DATA"+cr$
 7870         EQUB 0
 7880.fcached EQUS "  Files cached:"+cr$+z$
 7890.dhead   EQUS "Filename     Load  Exec  Size  Addr"+cr$+z$
 7900.dfoot   EQUS " bytes free."+cr$+z$
 7910.fnf     BRK:EQUB 255:EQUS "File not found"+z$
 7920.ftb     BRK:EQUB 254:EQUS "File too big"+z$
 7930.nis     BRK:EQUB 253:EQUS "No room in index"+z$
 7940.csyn    BRK:EQUB 252:EQUS "Syntax: *CACHE <file>"+z$
 7950.ssyn    BRK:EQUB 251:EQUS "Syntax: *SCRAP <file>"+z$
 7960.hword   EQUS "AUTOROM"+cr$
 7970.coms    EQUS "CACHE"+z$ : EQUW cache
 7980         EQUS "SCRAP"+z$ : EQUW scrap
 7990         EQUS "CLEAR"+z$ : EQUW clear
 8000         EQUS "DATA"+z$  : EQUW data
 8010         EQUB -1
 8020.zero    EQUD 0
 8030         EQUW 0
 8040.tmp     EQUB 0
 8050.memfree EQUW 0
 8060.iptr    EQUB 0
 8070.num     EQUB 0
 8080.count   EQUB 0
 8090.ind     EQUB 0
 8100.a       EQUB 0
 8110.x       EQUB 0
 8120.y       EQUB 0
 8130.p       EQUB 0
 8140.optr    EQUW 0
 8150.end     EQUB 0
 8160]NEXT
 8170ENDPROC
 8180:
 8190DEF PROCcheck
 8200PRINT "Checking...";
 8210PROCsum("start","out",20056)
 8220PROCsum("out","bmove",16673)
 8230PROCsum("bmove","gotind",23671)
 8240PROCsum("gotind","data",28094)
 8250PROCsum("data","toobig",26934)
 8260PROCsum("toobig","scrap",24858)
 8270PROCsum("scrap","shufind",22027)
 8280PROCsum("shufind","hlptxt",12271)
 8290PROCsum("hlptxt","end",20997)
 8300ENDPROC
 8310:
 8320DEF PROCsum(S$,E$,N%)
 8330T%=0
 8340FOR I%=EVAL(S$)-P%+O% TO EVAL(E$)-P%+O%-1
 8350T%=T%+?I%:NEXT
 8360IF T%=N% ENDPROC
 8370PRINT "Please check from ";S$;" to ";E$;"."

� >AutoSource (Po85)
� By David Lawrence
!� For BBC B/B+/M/C/E with SWR
('� (C) BAU January 1992 & March 1988
-#� Adapted for 10 character ADFS
.!� filenames by Richard Dimond
/� July 1996
2:
<	�vars
F�ass
P
�check
Z#�13;"Checked O.K."'"Saving..."
d2�"*SAVE Autorom "+�~code+" "+�~O%+" 8000 8000"
n�
x:
�� �vars
�� code 2000
�cr$=�13
�	z$=�0
�mem=&70:ext=&70
�len=&70:from=&72
�to=&74:ptr=&F2
�err=&100:finfo=&100
�fname=&115:index=&8800
�store=&8900
�oswrch=&FFEE:osnewl=&FFE7
�osasci=&FFE3:osbyte=&FFF4
�osfile=&FFDD:osargs=&FFDA
osfind=&FFCE:oscli =&FFF7
�
:
"
� �ass
,� pass=4 � 6 � 2
6P%=&8000:O%=code
@
[OPT pass
J
.start
TRTS
^RTS
hRTS
rJMP service
|EQUB 129
�
EQUB copy
�
EQUB 1
�
.title
�EQUS "Autorom 1.0"+z$
�	.copy
�$EQUS z$+"(C) Acorn User 1988"+z$
�:
�.service
�PHP
�PHA
�
CMP #9
�BNE not9
�JMP help
	.not9

CMP #4
BNE not4
&JMP starcom
0	.not4
:PLA
DPLP
NRTS
X:
b
.error
lSTX mem
v
STY mem+1
�
LDY #1
�.xerror
�LDA (mem),Y
�
STA err,Y
�INY
�
CMP #0
�BNE xerror
�
LDA #0
�STA err
�JMP err
�:
�	.mess
�STX mem

STY mem+1
LDY #&FF

.pmess
 INY
*LDA (mem),Y
4JSR osasci
>
BNE pmess
HRTS
R:
\
.loadzero
f
LDX #5
p
.lzero
zLDA zero,X
�
STA ext,X
�DEX
�
BPL lzero
�RTS
�
.savezero
�
LDX #5
�
.szero
�
LDA ext,X
�STA zero,X
�DEX
�
BPL szero
�RTS
�:
.hex
PHA
	LSR A
$	LSR A
.	LSR A
8	LSR A
BJSR dig
LPLA
V	� #&F
`.dig
jCMP #10
t
BCC isnum
~CLC
�
ADC #7
�
.isnum
�ADC #48
�JMP oswrch
�:
�	.help
�TXA
�PHA
�TYA
�PHA
�JSR savezero
�LDA (ptr),Y
CMP #13


BEQ nonly
LDX #&FF
DEY
(
.help1
2INX
<INY
FLDA hword,X
PCMP #13
ZBEQ bighelp
dLDA (ptr),Y
n
CMP #�"."
xBEQ bighelp
�
� #&DF
�CMP hword,X
�
BEQ help1
�.out
�JSR loadzero
�PLA
�TAY
�PLA
�TAX
�PLA
�PLP
�RTS
�
.nonly
JSR nameonly
JMP out
:
".bighelp
,JSR nameonly
6LDX #hlptxt � 256
@LDY #hlptxt � 256
JJSR mess
T
LDA index
^BEQ nomore
hLDX #fcached � 256
rLDY #fcached � 256
|JSR mess
�
LDX #0
�STX tmp
�
.hloop
�LDX tmp
�LDA index,X
�
BEQ hdone
�
LDY #4
�JSR spcs
�
LDY #8
�
.names
�LDA index,X
�BNE notend
�LDA #32
.notend
JSR oswrch
INX
&DEY
0
BNE names
:
LDY #8
DJSR spcs
NLDA tmp
XCLC
bADC #16
lSTA tmp
v
BCC hloop
�
.hdone
�LDA #&86
�JSR osbyte
�
CPX #0
�BEQ nomore
�JSR osnewl
�.nomore
�JMP out
�:
�
.nameonly
�JSR osnewl
�LDY #&FF
�
.pname
INY
LDA title,Y
JSR oswrch
 
BNE pname
*JSR osnewl
4RTS
>:
H	.spcs
RLDA #32
\
.spcsl
fJSR oswrch
pDEY
z
BNE spcsl
�RTS
�:
�
.bmove
�
LDY #0
�	.move
�LDA len
��A len+1
�BEQ bmoved
�LDA (from),Y
�STA (to),Y
�INC from
�BNE notfhi
�INC from+1
	.notfhi
	
INC to
	BNE notthi
	$INC to+1
	..notthi
	8DEC len
	BLDA len
	LCMP #&FF
	VBNE move
	`
DEC len+1
	j
LDA len+1
	tCMP #&FF
	~BNE move
	�.bmoved
	�RTS
	�:
	�.starcom
	�TXA
	�PHA
	�TYA
	�PHA
	�JSR savezero
	�
LDX #0
	�STY tmp
	�	.com1
LDA coms,X

CMP #255

BEQ nocom
LDY tmp
(	.com2
2LDA coms,X
<BEQ gotcom
FLDA (ptr),Y
P
� #&DF
ZCMP coms,X
dBNE nextone
nINY
xINX
�BNE com2
�.nextone
�INX
�LDA coms,X
�BNE nextone
�INX
�INX
�INX
�BNE com1
�.gotcom
�INX
�LDA coms,X
�STA mem
LDA coms+1,X

STA mem+1

.movey
"LDA (ptr),Y
,CMP #13
6BEQ ymoved
@INY
JCMP #32
T
BEQ movey
^DEY
h.ymoved
r
JMP (mem)
|:
�
.nocom
�
LDX #0
�STX ind
�.chkind
�LDX ind
�LDA index,X
�BEQ none
�LDY tmp
�LDA #11
�
STA count
�
.cloop
�LDA index,X
�BEQ gotind
LDA (ptr),Y

� #&DF
CMP index,X
&BNE nextind
0INY
:INX
D
DEC count
N
BNE cloop
X.gotind
bLDA (ptr),Y
lCMP #32
v
BEQ indok
�CMP #13
�
BEQ indok
�.nextind
�LDA ind
�CLC
�ADC #19
�STA ind
�BCC chkind
�	.none
�JMP out
�
.indok
�LDX ind
�LDA index+11,X

STA from

LDA index+12,X

STA from+1

 LDA index+13,X

*
STA to

4LDA index+14,X

>STA to+1

HLDA index+17,X

RSTA len

\LDA index+18,X

f
STA len+1

p
JSR bmove

zLDA index+15,X

�
STA jsr+1

�LDA index+16,X

�
STA jsr+2

�LDA ptr

�STA optr

�
LDA ptr+1

�STA optr+1

�
LDY #0

�.moveptr

�INC ptr

�BNE notphi

�
INC ptr+1

�.notphi
LDA (ptr),Y

CMP #�"*"
BEQ moveptr
$
CMP #�" "
.BEQ moveptr
8JSR loadzero
BPLA
LTAY
V	STY y
`PLA
jTAX
t	STX x
~PLA
�	STA a
�PLA
�	STA p
�PHA
�	LDA a
�PLP
�.jsr
�
JSR &CAFE
�LDA optr
�STA ptr
�LDA optr+1
�
STA ptr+1
	LDX x

	LDY y
	LDA p
PHA
(
LDA #0
2PLP
<RTS
F:
P.comout
ZJSR loadzero
dPLA
nTAX
xPLA
�TAX
�PLA
�
LDA #0
�PLP
�RTS
�:
�
.clear
�CMP #13
�BNE notclr
�
LDY #0
�TYA
�.clrind
�STA index,Y
DEY
BNE clrind
LDX #store � 256
"STX mem
,STX index+11
6LDX #store � 256
@
STX mem+1
JSTX index+12
TLDA #&C0
^SEC
h
SBC mem+1
rSTA memfree+1
|
LDA #0
�STA iptr
�STA num
�STA memfree
�JMP comout
�.notclr
�JMP out
�:
�	.data
�CMP #13
�BNE notclr
�
LDA index
�
BEQ sdone
�LDX #dhead � 256
LDY #dhead � 256
JSR mess

LDX #0
&STX tmp
0.snames
:LDX tmp
DLDA index,X
N
BEQ sdone
XLDY #11
b
.dloop
lLDA index,X
v
BNE nospc
�LDA #32
�
.nospc
�JSR oswrch
�INX
�DEY
�
BNE dloop
�LDA tmp
�CLC
�ADC #13
�PHA
�TAY
�
JSR pdata
�INY
INY

JSR pdata
INY
 INY
*
JSR pdata
4PLA
>TAY
HDEY
RDEY
\
JSR pdata
fJSR osnewl
pLDA tmp
zCLC
�ADC #19
�STA tmp
�BCC snames
�
.sdone
�
LDA #�"&"
�JSR oswrch
�LDA memfree+1
�JSR hex
�LDA memfree
�JSR hex
�LDX #dfoot � 256
�LDY #dfoot � 256
�JSR mess
JMP comout
:

.pdata
$LDA #32
.JSR oswrch
8JSR oswrch
BLDA index+1,Y
LJSR hex
VLDA index,Y
`JMP hex
j:
t
.cache
~CMP #13
�BNE docache
�LDX #csyn � 256
�LDY #csyn � 256
�
JMP error
�.docache
�
LDX #0
�
.xname
�LDA (ptr),Y
�STA fname,X
�INY
�INX
�CMP #13

BNE xname

LDX #fname � 256
LDY #fname � 256
LDA #&40
(JSR osfind
2
CMP #0
<BEQ nofile
FTAY
PLDX #ext
Z
LDA #2
dJSR osargs
n
LDA #0
xJSR osfind
�LDA num
�CMP #12
�BEQ noroom
�
LDA ext+2
��A ext+3
�BNE toobig
�
LDA ext+1
�CMP memfree+1
�
BCC ok
�BNE toobig
�LDA ext
�CMP memfree
�
BEQ ok

BCC ok
:
.toobig
"LDX #ftb � 256
,LDY #ftb � 256
6
JMP error
@.nofile
JLDX #fnf � 256
TLDY #fnf � 256
^
JMP error
h.noroom
rLDX #nis � 256
|LDY #nis � 256
�
JMP error
�:
�.ok
�LDY #&14
�LDA #&FF
�.clrblk
�STA finfo,Y
�DEY
�BNE clrblk
�LDA #fname � 256
�
STA finfo
�LDA #fname � 256
�STA finfo+1
LDX #finfo � 256
LDY #finfo � 256
LDA #&FF
&JSR osfile
0LDY iptr
:LDA finfo+2
DSTA from
NSTA index+13,Y
XLDA finfo+3
bSTA from+1
lSTA index+14,Y
vLDA index+11,Y
�
STA to
�LDA index+12,Y
�STA to+1
�LDA finfo+6
�STA index+15,Y
�LDA finfo+7
�STA index+16,Y
�LDA ext
�STA index+17,Y
�
LDA ext+1
�STA index+18,Y
�LDA memfree
�SEC
SBC len
STA memfree
LDA memfree+1
 
SBC len+1
*STA memfree+1
4
JSR bmove
>
LDX #0
H	.fret
RINX
\LDA fname,X
fCMP #32
pBEQ ndot
zCMP #13
�BNE fret
�	.ndot
�DEX
�
BEQ gotit
�LDA fname,X
�
CMP #�"."
�BNE ndot
�INX
�
.gotit
�LDY #11
�STY tmp
�LDY iptr
�
.mname
LDA fname,X
CMP #32
BEQ mndone
$CMP #13
.BEQ mndone
8STA index,Y
BINX
LINY
VDEC tmp
`
BNE mname
j.mndone
tLDA num
~CMP #15
�
BEQ noinc
�LDA iptr
�CLC
�ADC #19
�STA iptr
�TAY
�
LDA to
�STA index+11,Y
�LDA to+1
�STA index+12,Y
�
.noinc
�INC num
JMP comout

:

.scrap
CMP #13
(BNE doscrap
2LDX #ssyn � 256
<LDY #ssyn � 256
F
JMP error
P.doscrap
Z
LDX #0
d.scrap1
nLDA (ptr),Y
xSTA fname,X
�CMP #13
�BEQ eoc
�CMP #32
�BEQ eoc
�INY
�INX
�CPX #11
�BNE scrap1
�JMP nofile
�.eoc
�
LDX #0
�STX tmp
�.fscrap
LDX tmp
LDA index,X
BEQ notthere
"
LDY #0
,LDA #11
6
STA count
@
.comploop
JLDA index,X
TBEQ comped
^CMP fname,Y
h
BNE ncomp
rINX
|INY
�
DEC count
�BNE comploop
�
.notthere
�JMP nofile
�:
�
.ncomp
�LDA tmp
�CLC
�ADC #19
�STA tmp
�BCC fscrap
�JMP nofile
�.comped
LDA fname,Y
CMP #32
BEQ compok
&CMP #13
0
BNE ncomp
::
D.compok
NLDX tmp
XLDA index+17,X
bSTA len
lLDA index+18,X
v
STA len+1
�CPX #&F0
�BEQ justdel
�LDA index+11,X
�
STA to
�LDA index+12,X
�STA to+1
�LDA index+30,X
�STA from
�LDA index+31,X
�STA from+1
�
LDY #0
�.shuffle
�LDA (from),Y
STA (to),Y

INC to

BNE shuf1
 INC to+1
*
.shuf1
4INC from
>BNE shuffle
HINC from+1
RLDA from+1
\CMP #&C0
fBNE shuffle
pLDA tmp
zTAX
�CLC
�ADC #19
�TAY
�.shufind
�LDA index,Y
�STA index,X
�INX
�INY
�BNE shufind
�LDX tmp
�.sublen
�LDA index+11,X
�SEC
SBC len
STA index+11,X
LDA index+12,X
$
SBC len+1
.STA index+12,X
8TXA
BCLC
LADC #19
VTAX
`BCC sublen
jLDA num
tCMP #19
~BEQ justdel
�LDA iptr
�SEC
�SBC #19
�STA iptr
�.justdel
�DEC num
�LDA memfree
�CLC
�ADC len
�STA memfree
�LDA memfree+1
�
ADC len+1
STA memfree+1


LDA #0
LDY #&F0
.deloop
(CPY #&F8
2
BNE noiny
<INY
FINY
P
.noiny
ZSTA index,Y
dINY
nBNE deloop
xJMP comout
�:
�#.hlptxt  EQUS "  Commands:"+cr$
�)         EQUS "    *CACHE <file>"+cr$
�)         EQUS "    *SCRAP <file>"+cr$
�"         EQUS "    *CLEAR"+cr$
�!         EQUS "    *DATA"+cr$
�         EQUB 0
�*.fcached EQUS "  Files cached:"+cr$+z$
�>.dhead   EQUS "Filename     Load  Exec  Size  Addr"+cr$+z$
�'.dfoot   EQUS " bytes free."+cr$+z$
�2.fnf     BRK:EQUB 255:EQUS "File not found"+z$
�0.ftb     BRK:EQUB 254:EQUS "File too big"+z$
�4.nis     BRK:EQUB 253:EQUS "No room in index"+z$
9.csyn    BRK:EQUB 252:EQUS "Syntax: *CACHE <file>"+z$
9.ssyn    BRK:EQUB 251:EQUS "Syntax: *SCRAP <file>"+z$
.hword   EQUS "AUTOROM"+cr$
").coms    EQUS "CACHE"+z$ : EQUW cache
,)         EQUS "SCRAP"+z$ : EQUW scrap
6)         EQUS "CLEAR"+z$ : EQUW clear
@(         EQUS "DATA"+z$  : EQUW data
J         EQUB -1
T.zero    EQUD 0
^         EQUW 0
h.tmp     EQUB 0
r.memfree EQUW 0
|.iptr    EQUB 0
�.num     EQUB 0
�.count   EQUB 0
�.ind     EQUB 0
�.a       EQUB 0
�.x       EQUB 0
�.y       EQUB 0
�.p       EQUB 0
�.optr    EQUW 0
�.end     EQUB 0
�]�
��
�:
�� �check
 � "Checking...";
 �sum("start","out",20056)
 �sum("out","bmove",16673)
 & �sum("bmove","gotind",23671)
 0�sum("gotind","data",28094)
 :�sum("data","toobig",26934)
 D �sum("toobig","scrap",24858)
 N!�sum("scrap","shufind",22027)
 X"�sum("shufind","hlptxt",12271)
 b�sum("hlptxt","end",20997)
 l�
 v:
 �� �sum(S$,E$,N%)
 �T%=0
 �$� I%=�(S$)-P%+O% � �(E$)-P%+O%-1
 �T%=T%+?I%:�
 �
� T%=N% �
 �+� "Please check from ";S$;" to ";E$;"."
�
00000000  0d 00 0a 18 f4 20 3e 41  75 74 6f 53 6f 75 72 63  |..... >AutoSourc|
00000010  65 20 28 50 6f 38 35 29  0d 00 14 17 f4 20 42 79  |e (Po85)..... By|
00000020  20 44 61 76 69 64 20 4c  61 77 72 65 6e 63 65 0d  | David Lawrence.|
00000030  00 1e 21 f4 20 46 6f 72  20 42 42 43 20 42 2f 42  |..!. For BBC B/B|
00000040  2b 2f 4d 2f 43 2f 45 20  77 69 74 68 20 53 57 52  |+/M/C/E with SWR|
00000050  0d 00 28 27 f4 20 28 43  29 20 42 41 55 20 4a 61  |..('. (C) BAU Ja|
00000060  6e 75 61 72 79 20 31 39  39 32 20 26 20 4d 61 72  |nuary 1992 & Mar|
00000070  63 68 20 31 39 38 38 0d  00 2d 23 f4 20 41 64 61  |ch 1988..-#. Ada|
00000080  70 74 65 64 20 66 6f 72  20 31 30 20 63 68 61 72  |pted for 10 char|
00000090  61 63 74 65 72 20 41 44  46 53 0d 00 2e 21 f4 20  |acter ADFS...!. |
000000a0  66 69 6c 65 6e 61 6d 65  73 20 62 79 20 52 69 63  |filenames by Ric|
000000b0  68 61 72 64 20 44 69 6d  6f 6e 64 0d 00 2f 0f f4  |hard Dimond../..|
000000c0  20 4a 75 6c 79 20 31 39  39 36 0d 00 32 05 3a 0d  | July 1996..2.:.|
000000d0  00 3c 09 f2 76 61 72 73  0d 00 46 08 f2 61 73 73  |.<..vars..F..ass|
000000e0  0d 00 50 0a f2 63 68 65  63 6b 0d 00 5a 23 f1 bd  |..P..check..Z#..|
000000f0  31 33 3b 22 43 68 65 63  6b 65 64 20 4f 2e 4b 2e  |13;"Checked O.K.|
00000100  22 27 22 53 61 76 69 6e  67 2e 2e 2e 22 0d 00 64  |"'"Saving..."..d|
00000110  32 ff 22 2a 53 41 56 45  20 41 75 74 6f 72 6f 6d  |2."*SAVE Autorom|
00000120  20 22 2b c3 7e 63 6f 64  65 2b 22 20 22 2b c3 7e  | "+.~code+" "+.~|
00000130  4f 25 2b 22 20 38 30 30  30 20 38 30 30 30 22 0d  |O%+" 8000 8000".|
00000140  00 6e 05 e0 0d 00 78 05  3a 0d 00 82 0b dd 20 f2  |.n....x.:..... .|
00000150  76 61 72 73 0d 00 8c 0f  de 20 63 6f 64 65 20 32  |vars..... code 2|
00000160  30 30 30 0d 00 96 0b 63  72 24 3d bd 31 33 0d 00  |000....cr$=.13..|
00000170  a0 09 7a 24 3d bd 30 0d  00 aa 13 6d 65 6d 3d 26  |..z$=.0....mem=&|
00000180  37 30 3a 65 78 74 3d 26  37 30 0d 00 b4 14 6c 65  |70:ext=&70....le|
00000190  6e 3d 26 37 30 3a 66 72  6f 6d 3d 26 37 32 0d 00  |n=&70:from=&72..|
000001a0  be 12 74 6f 3d 26 37 34  3a 70 74 72 3d 26 46 32  |..to=&74:ptr=&F2|
000001b0  0d 00 c8 17 65 72 72 3d  26 31 30 30 3a 66 69 6e  |....err=&100:fin|
000001c0  66 6f 3d 26 31 30 30 0d  00 d2 1a 66 6e 61 6d 65  |fo=&100....fname|
000001d0  3d 26 31 31 35 3a 69 6e  64 65 78 3d 26 38 38 30  |=&115:index=&880|
000001e0  30 0d 00 dc 0f 73 74 6f  72 65 3d 26 38 39 30 30  |0....store=&8900|
000001f0  0d 00 e6 1d 6f 73 77 72  63 68 3d 26 46 46 45 45  |....oswrch=&FFEE|
00000200  3a 6f 73 6e 65 77 6c 3d  26 46 46 45 37 0d 00 f0  |:osnewl=&FFE7...|
00000210  1d 6f 73 61 73 63 69 3d  26 46 46 45 33 3a 6f 73  |.osasci=&FFE3:os|
00000220  62 79 74 65 3d 26 46 46  46 34 0d 00 fa 1d 6f 73  |byte=&FFF4....os|
00000230  66 69 6c 65 3d 26 46 46  44 44 3a 6f 73 61 72 67  |file=&FFDD:osarg|
00000240  73 3d 26 46 46 44 41 0d  01 04 1d 6f 73 66 69 6e  |s=&FFDA....osfin|
00000250  64 3d 26 46 46 43 45 3a  6f 73 63 6c 69 20 3d 26  |d=&FFCE:oscli =&|
00000260  46 46 46 37 0d 01 0e 05  e1 0d 01 18 05 3a 0d 01  |FFF7.........:..|
00000270  22 0a dd 20 f2 61 73 73  0d 01 2c 14 e3 20 70 61  |".. .ass..,.. pa|
00000280  73 73 3d 34 20 b8 20 36  20 88 20 32 0d 01 36 14  |ss=4 . 6 . 2..6.|
00000290  50 25 3d 26 38 30 30 30  3a 4f 25 3d 63 6f 64 65  |P%=&8000:O%=code|
000002a0  0d 01 40 0d 5b 4f 50 54  20 70 61 73 73 0d 01 4a  |..@.[OPT pass..J|
000002b0  0a 2e 73 74 61 72 74 0d  01 54 07 52 54 53 0d 01  |..start..T.RTS..|
000002c0  5e 07 52 54 53 0d 01 68  07 52 54 53 0d 01 72 0f  |^.RTS..h.RTS..r.|
000002d0  4a 4d 50 20 73 65 72 76  69 63 65 0d 01 7c 0c 45  |JMP service..|.E|
000002e0  51 55 42 20 31 32 39 0d  01 86 0d 45 51 55 42 20  |QUB 129....EQUB |
000002f0  63 6f 70 79 0d 01 90 0a  45 51 55 42 20 31 0d 01  |copy....EQUB 1..|
00000300  9a 0a 2e 74 69 74 6c 65  0d 01 a4 19 45 51 55 53  |...title....EQUS|
00000310  20 22 41 75 74 6f 72 6f  6d 20 31 2e 30 22 2b 7a  | "Autorom 1.0"+z|
00000320  24 0d 01 ae 09 2e 63 6f  70 79 0d 01 b8 24 45 51  |$.....copy...$EQ|
00000330  55 53 20 7a 24 2b 22 28  43 29 20 41 63 6f 72 6e  |US z$+"(C) Acorn|
00000340  20 55 73 65 72 20 31 39  38 38 22 2b 7a 24 0d 01  | User 1988"+z$..|
00000350  c2 05 3a 0d 01 cc 0c 2e  73 65 72 76 69 63 65 0d  |..:.....service.|
00000360  01 d6 07 50 48 50 0d 01  e0 07 50 48 41 0d 01 ea  |...PHP....PHA...|
00000370  0a 43 4d 50 20 23 39 0d  01 f4 0c 42 4e 45 20 6e  |.CMP #9....BNE n|
00000380  6f 74 39 0d 01 fe 0c 4a  4d 50 20 68 65 6c 70 0d  |ot9....JMP help.|
00000390  02 08 09 2e 6e 6f 74 39  0d 02 12 0a 43 4d 50 20  |....not9....CMP |
000003a0  23 34 0d 02 1c 0c 42 4e  45 20 6e 6f 74 34 0d 02  |#4....BNE not4..|
000003b0  26 0f 4a 4d 50 20 73 74  61 72 63 6f 6d 0d 02 30  |&.JMP starcom..0|
000003c0  09 2e 6e 6f 74 34 0d 02  3a 07 50 4c 41 0d 02 44  |..not4..:.PLA..D|
000003d0  07 50 4c 50 0d 02 4e 07  52 54 53 0d 02 58 05 3a  |.PLP..N.RTS..X.:|
000003e0  0d 02 62 0a 2e 65 72 72  6f 72 0d 02 6c 0b 53 54  |..b..error..l.ST|
000003f0  58 20 6d 65 6d 0d 02 76  0d 53 54 59 20 6d 65 6d  |X mem..v.STY mem|
00000400  2b 31 0d 02 80 0a 4c 44  59 20 23 31 0d 02 8a 0b  |+1....LDY #1....|
00000410  2e 78 65 72 72 6f 72 0d  02 94 0f 4c 44 41 20 28  |.xerror....LDA (|
00000420  6d 65 6d 29 2c 59 0d 02  9e 0d 53 54 41 20 65 72  |mem),Y....STA er|
00000430  72 2c 59 0d 02 a8 07 49  4e 59 0d 02 b2 0a 43 4d  |r,Y....INY....CM|
00000440  50 20 23 30 0d 02 bc 0e  42 4e 45 20 78 65 72 72  |P #0....BNE xerr|
00000450  6f 72 0d 02 c6 0a 4c 44  41 20 23 30 0d 02 d0 0b  |or....LDA #0....|
00000460  53 54 41 20 65 72 72 0d  02 da 0b 4a 4d 50 20 65  |STA err....JMP e|
00000470  72 72 0d 02 e4 05 3a 0d  02 ee 09 2e 6d 65 73 73  |rr....:.....mess|
00000480  0d 02 f8 0b 53 54 58 20  6d 65 6d 0d 03 02 0d 53  |....STX mem....S|
00000490  54 59 20 6d 65 6d 2b 31  0d 03 0c 0c 4c 44 59 20  |TY mem+1....LDY |
000004a0  23 26 46 46 0d 03 16 0a  2e 70 6d 65 73 73 0d 03  |#&FF.....pmess..|
000004b0  20 07 49 4e 59 0d 03 2a  0f 4c 44 41 20 28 6d 65  | .INY..*.LDA (me|
000004c0  6d 29 2c 59 0d 03 34 0e  4a 53 52 20 6f 73 61 73  |m),Y..4.JSR osas|
000004d0  63 69 0d 03 3e 0d 42 4e  45 20 70 6d 65 73 73 0d  |ci..>.BNE pmess.|
000004e0  03 48 07 52 54 53 0d 03  52 05 3a 0d 03 5c 0d 2e  |.H.RTS..R.:..\..|
000004f0  6c 6f 61 64 7a 65 72 6f  0d 03 66 0a 4c 44 58 20  |loadzero..f.LDX |
00000500  23 35 0d 03 70 0a 2e 6c  7a 65 72 6f 0d 03 7a 0e  |#5..p..lzero..z.|
00000510  4c 44 41 20 7a 65 72 6f  2c 58 0d 03 84 0d 53 54  |LDA zero,X....ST|
00000520  41 20 65 78 74 2c 58 0d  03 8e 07 44 45 58 0d 03  |A ext,X....DEX..|
00000530  98 0d 42 50 4c 20 6c 7a  65 72 6f 0d 03 a2 07 52  |..BPL lzero....R|
00000540  54 53 0d 03 ac 0d 2e 73  61 76 65 7a 65 72 6f 0d  |TS.....savezero.|
00000550  03 b6 0a 4c 44 58 20 23  35 0d 03 c0 0a 2e 73 7a  |...LDX #5.....sz|
00000560  65 72 6f 0d 03 ca 0d 4c  44 41 20 65 78 74 2c 58  |ero....LDA ext,X|
00000570  0d 03 d4 0e 53 54 41 20  7a 65 72 6f 2c 58 0d 03  |....STA zero,X..|
00000580  de 07 44 45 58 0d 03 e8  0d 42 50 4c 20 73 7a 65  |..DEX....BPL sze|
00000590  72 6f 0d 03 f2 07 52 54  53 0d 03 fc 05 3a 0d 04  |ro....RTS....:..|
000005a0  06 08 2e 68 65 78 0d 04  10 07 50 48 41 0d 04 1a  |...hex....PHA...|
000005b0  09 4c 53 52 20 41 0d 04  24 09 4c 53 52 20 41 0d  |.LSR A..$.LSR A.|
000005c0  04 2e 09 4c 53 52 20 41  0d 04 38 09 4c 53 52 20  |...LSR A..8.LSR |
000005d0  41 0d 04 42 0b 4a 53 52  20 64 69 67 0d 04 4c 07  |A..B.JSR dig..L.|
000005e0  50 4c 41 0d 04 56 09 80  20 23 26 46 0d 04 60 08  |PLA..V.. #&F..`.|
000005f0  2e 64 69 67 0d 04 6a 0b  43 4d 50 20 23 31 30 0d  |.dig..j.CMP #10.|
00000600  04 74 0d 42 43 43 20 69  73 6e 75 6d 0d 04 7e 07  |.t.BCC isnum..~.|
00000610  43 4c 43 0d 04 88 0a 41  44 43 20 23 37 0d 04 92  |CLC....ADC #7...|
00000620  0a 2e 69 73 6e 75 6d 0d  04 9c 0b 41 44 43 20 23  |..isnum....ADC #|
00000630  34 38 0d 04 a6 0e 4a 4d  50 20 6f 73 77 72 63 68  |48....JMP oswrch|
00000640  0d 04 b0 05 3a 0d 04 ba  09 2e 68 65 6c 70 0d 04  |....:.....help..|
00000650  c4 07 54 58 41 0d 04 ce  07 50 48 41 0d 04 d8 07  |..TXA....PHA....|
00000660  54 59 41 0d 04 e2 07 50  48 41 0d 04 ec 10 4a 53  |TYA....PHA....JS|
00000670  52 20 73 61 76 65 7a 65  72 6f 0d 04 f6 0f 4c 44  |R savezero....LD|
00000680  41 20 28 70 74 72 29 2c  59 0d 05 00 0b 43 4d 50  |A (ptr),Y....CMP|
00000690  20 23 31 33 0d 05 0a 0d  42 45 51 20 6e 6f 6e 6c  | #13....BEQ nonl|
000006a0  79 0d 05 14 0c 4c 44 58  20 23 26 46 46 0d 05 1e  |y....LDX #&FF...|
000006b0  07 44 45 59 0d 05 28 0a  2e 68 65 6c 70 31 0d 05  |.DEY..(..help1..|
000006c0  32 07 49 4e 58 0d 05 3c  07 49 4e 59 0d 05 46 0f  |2.INX..<.INY..F.|
000006d0  4c 44 41 20 68 77 6f 72  64 2c 58 0d 05 50 0b 43  |LDA hword,X..P.C|
000006e0  4d 50 20 23 31 33 0d 05  5a 0f 42 45 51 20 62 69  |MP #13..Z.BEQ bi|
000006f0  67 68 65 6c 70 0d 05 64  0f 4c 44 41 20 28 70 74  |ghelp..d.LDA (pt|
00000700  72 29 2c 59 0d 05 6e 0d  43 4d 50 20 23 97 22 2e  |r),Y..n.CMP #.".|
00000710  22 0d 05 78 0f 42 45 51  20 62 69 67 68 65 6c 70  |"..x.BEQ bighelp|
00000720  0d 05 82 0a 80 20 23 26  44 46 0d 05 8c 0f 43 4d  |..... #&DF....CM|
00000730  50 20 68 77 6f 72 64 2c  58 0d 05 96 0d 42 45 51  |P hword,X....BEQ|
00000740  20 68 65 6c 70 31 0d 05  a0 08 2e 6f 75 74 0d 05  | help1.....out..|
00000750  aa 10 4a 53 52 20 6c 6f  61 64 7a 65 72 6f 0d 05  |..JSR loadzero..|
00000760  b4 07 50 4c 41 0d 05 be  07 54 41 59 0d 05 c8 07  |..PLA....TAY....|
00000770  50 4c 41 0d 05 d2 07 54  41 58 0d 05 dc 07 50 4c  |PLA....TAX....PL|
00000780  41 0d 05 e6 07 50 4c 50  0d 05 f0 07 52 54 53 0d  |A....PLP....RTS.|
00000790  05 fa 0a 2e 6e 6f 6e 6c  79 0d 06 04 10 4a 53 52  |....nonly....JSR|
000007a0  20 6e 61 6d 65 6f 6e 6c  79 0d 06 0e 0b 4a 4d 50  | nameonly....JMP|
000007b0  20 6f 75 74 0d 06 18 05  3a 0d 06 22 0c 2e 62 69  | out....:.."..bi|
000007c0  67 68 65 6c 70 0d 06 2c  10 4a 53 52 20 6e 61 6d  |ghelp..,.JSR nam|
000007d0  65 6f 6e 6c 79 0d 06 36  15 4c 44 58 20 23 68 6c  |eonly..6.LDX #hl|
000007e0  70 74 78 74 20 83 20 32  35 36 0d 06 40 15 4c 44  |ptxt . 256..@.LD|
000007f0  59 20 23 68 6c 70 74 78  74 20 81 20 32 35 36 0d  |Y #hlptxt . 256.|
00000800  06 4a 0c 4a 53 52 20 6d  65 73 73 0d 06 54 0d 4c  |.J.JSR mess..T.L|
00000810  44 41 20 69 6e 64 65 78  0d 06 5e 0e 42 45 51 20  |DA index..^.BEQ |
00000820  6e 6f 6d 6f 72 65 0d 06  68 16 4c 44 58 20 23 66  |nomore..h.LDX #f|
00000830  63 61 63 68 65 64 20 83  20 32 35 36 0d 06 72 16  |cached . 256..r.|
00000840  4c 44 59 20 23 66 63 61  63 68 65 64 20 81 20 32  |LDY #fcached . 2|
00000850  35 36 0d 06 7c 0c 4a 53  52 20 6d 65 73 73 0d 06  |56..|.JSR mess..|
00000860  86 0a 4c 44 58 20 23 30  0d 06 90 0b 53 54 58 20  |..LDX #0....STX |
00000870  74 6d 70 0d 06 9a 0a 2e  68 6c 6f 6f 70 0d 06 a4  |tmp.....hloop...|
00000880  0b 4c 44 58 20 74 6d 70  0d 06 ae 0f 4c 44 41 20  |.LDX tmp....LDA |
00000890  69 6e 64 65 78 2c 58 0d  06 b8 0d 42 45 51 20 68  |index,X....BEQ h|
000008a0  64 6f 6e 65 0d 06 c2 0a  4c 44 59 20 23 34 0d 06  |done....LDY #4..|
000008b0  cc 0c 4a 53 52 20 73 70  63 73 0d 06 d6 0a 4c 44  |..JSR spcs....LD|
000008c0  59 20 23 38 0d 06 e0 0a  2e 6e 61 6d 65 73 0d 06  |Y #8.....names..|
000008d0  ea 0f 4c 44 41 20 69 6e  64 65 78 2c 58 0d 06 f4  |..LDA index,X...|
000008e0  0e 42 4e 45 20 6e 6f 74  65 6e 64 0d 06 fe 0b 4c  |.BNE notend....L|
000008f0  44 41 20 23 33 32 0d 07  08 0b 2e 6e 6f 74 65 6e  |DA #32.....noten|
00000900  64 0d 07 12 0e 4a 53 52  20 6f 73 77 72 63 68 0d  |d....JSR oswrch.|
00000910  07 1c 07 49 4e 58 0d 07  26 07 44 45 59 0d 07 30  |...INX..&.DEY..0|
00000920  0d 42 4e 45 20 6e 61 6d  65 73 0d 07 3a 0a 4c 44  |.BNE names..:.LD|
00000930  59 20 23 38 0d 07 44 0c  4a 53 52 20 73 70 63 73  |Y #8..D.JSR spcs|
00000940  0d 07 4e 0b 4c 44 41 20  74 6d 70 0d 07 58 07 43  |..N.LDA tmp..X.C|
00000950  4c 43 0d 07 62 0b 41 44  43 20 23 31 36 0d 07 6c  |LC..b.ADC #16..l|
00000960  0b 53 54 41 20 74 6d 70  0d 07 76 0d 42 43 43 20  |.STA tmp..v.BCC |
00000970  68 6c 6f 6f 70 0d 07 80  0a 2e 68 64 6f 6e 65 0d  |hloop.....hdone.|
00000980  07 8a 0c 4c 44 41 20 23  26 38 36 0d 07 94 0e 4a  |...LDA #&86....J|
00000990  53 52 20 6f 73 62 79 74  65 0d 07 9e 0a 43 50 58  |SR osbyte....CPX|
000009a0  20 23 30 0d 07 a8 0e 42  45 51 20 6e 6f 6d 6f 72  | #0....BEQ nomor|
000009b0  65 0d 07 b2 0e 4a 53 52  20 6f 73 6e 65 77 6c 0d  |e....JSR osnewl.|
000009c0  07 bc 0b 2e 6e 6f 6d 6f  72 65 0d 07 c6 0b 4a 4d  |....nomore....JM|
000009d0  50 20 6f 75 74 0d 07 d0  05 3a 0d 07 da 0d 2e 6e  |P out....:.....n|
000009e0  61 6d 65 6f 6e 6c 79 0d  07 e4 0e 4a 53 52 20 6f  |ameonly....JSR o|
000009f0  73 6e 65 77 6c 0d 07 ee  0c 4c 44 59 20 23 26 46  |snewl....LDY #&F|
00000a00  46 0d 07 f8 0a 2e 70 6e  61 6d 65 0d 08 02 07 49  |F.....pname....I|
00000a10  4e 59 0d 08 0c 0f 4c 44  41 20 74 69 74 6c 65 2c  |NY....LDA title,|
00000a20  59 0d 08 16 0e 4a 53 52  20 6f 73 77 72 63 68 0d  |Y....JSR oswrch.|
00000a30  08 20 0d 42 4e 45 20 70  6e 61 6d 65 0d 08 2a 0e  |. .BNE pname..*.|
00000a40  4a 53 52 20 6f 73 6e 65  77 6c 0d 08 34 07 52 54  |JSR osnewl..4.RT|
00000a50  53 0d 08 3e 05 3a 0d 08  48 09 2e 73 70 63 73 0d  |S..>.:..H..spcs.|
00000a60  08 52 0b 4c 44 41 20 23  33 32 0d 08 5c 0a 2e 73  |.R.LDA #32..\..s|
00000a70  70 63 73 6c 0d 08 66 0e  4a 53 52 20 6f 73 77 72  |pcsl..f.JSR oswr|
00000a80  63 68 0d 08 70 07 44 45  59 0d 08 7a 0d 42 4e 45  |ch..p.DEY..z.BNE|
00000a90  20 73 70 63 73 6c 0d 08  84 07 52 54 53 0d 08 8e  | spcsl....RTS...|
00000aa0  05 3a 0d 08 98 0a 2e 62  6d 6f 76 65 0d 08 a2 0a  |.:.....bmove....|
00000ab0  4c 44 59 20 23 30 0d 08  ac 09 2e 6d 6f 76 65 0d  |LDY #0.....move.|
00000ac0  08 b6 0b 4c 44 41 20 6c  65 6e 0d 08 c0 0c 84 41  |...LDA len.....A|
00000ad0  20 6c 65 6e 2b 31 0d 08  ca 0e 42 45 51 20 62 6d  | len+1....BEQ bm|
00000ae0  6f 76 65 64 0d 08 d4 10  4c 44 41 20 28 66 72 6f  |oved....LDA (fro|
00000af0  6d 29 2c 59 0d 08 de 0e  53 54 41 20 28 74 6f 29  |m),Y....STA (to)|
00000b00  2c 59 0d 08 e8 0c 49 4e  43 20 66 72 6f 6d 0d 08  |,Y....INC from..|
00000b10  f2 0e 42 4e 45 20 6e 6f  74 66 68 69 0d 08 fc 0e  |..BNE notfhi....|
00000b20  49 4e 43 20 66 72 6f 6d  2b 31 0d 09 06 0b 2e 6e  |INC from+1.....n|
00000b30  6f 74 66 68 69 0d 09 10  0a 49 4e 43 20 74 6f 0d  |otfhi....INC to.|
00000b40  09 1a 0e 42 4e 45 20 6e  6f 74 74 68 69 0d 09 24  |...BNE notthi..$|
00000b50  0c 49 4e 43 20 74 6f 2b  31 0d 09 2e 0b 2e 6e 6f  |.INC to+1.....no|
00000b60  74 74 68 69 0d 09 38 0b  44 45 43 20 6c 65 6e 0d  |tthi..8.DEC len.|
00000b70  09 42 0b 4c 44 41 20 6c  65 6e 0d 09 4c 0c 43 4d  |.B.LDA len..L.CM|
00000b80  50 20 23 26 46 46 0d 09  56 0c 42 4e 45 20 6d 6f  |P #&FF..V.BNE mo|
00000b90  76 65 0d 09 60 0d 44 45  43 20 6c 65 6e 2b 31 0d  |ve..`.DEC len+1.|
00000ba0  09 6a 0d 4c 44 41 20 6c  65 6e 2b 31 0d 09 74 0c  |.j.LDA len+1..t.|
00000bb0  43 4d 50 20 23 26 46 46  0d 09 7e 0c 42 4e 45 20  |CMP #&FF..~.BNE |
00000bc0  6d 6f 76 65 0d 09 88 0b  2e 62 6d 6f 76 65 64 0d  |move.....bmoved.|
00000bd0  09 92 07 52 54 53 0d 09  9c 05 3a 0d 09 a6 0c 2e  |...RTS....:.....|
00000be0  73 74 61 72 63 6f 6d 0d  09 b0 07 54 58 41 0d 09  |starcom....TXA..|
00000bf0  ba 07 50 48 41 0d 09 c4  07 54 59 41 0d 09 ce 07  |..PHA....TYA....|
00000c00  50 48 41 0d 09 d8 10 4a  53 52 20 73 61 76 65 7a  |PHA....JSR savez|
00000c10  65 72 6f 0d 09 e2 0a 4c  44 58 20 23 30 0d 09 ec  |ero....LDX #0...|
00000c20  0b 53 54 59 20 74 6d 70  0d 09 f6 09 2e 63 6f 6d  |.STY tmp.....com|
00000c30  31 0d 0a 00 0e 4c 44 41  20 63 6f 6d 73 2c 58 0d  |1....LDA coms,X.|
00000c40  0a 0a 0c 43 4d 50 20 23  32 35 35 0d 0a 14 0d 42  |...CMP #255....B|
00000c50  45 51 20 6e 6f 63 6f 6d  0d 0a 1e 0b 4c 44 59 20  |EQ nocom....LDY |
00000c60  74 6d 70 0d 0a 28 09 2e  63 6f 6d 32 0d 0a 32 0e  |tmp..(..com2..2.|
00000c70  4c 44 41 20 63 6f 6d 73  2c 58 0d 0a 3c 0e 42 45  |LDA coms,X..<.BE|
00000c80  51 20 67 6f 74 63 6f 6d  0d 0a 46 0f 4c 44 41 20  |Q gotcom..F.LDA |
00000c90  28 70 74 72 29 2c 59 0d  0a 50 0a 80 20 23 26 44  |(ptr),Y..P.. #&D|
00000ca0  46 0d 0a 5a 0e 43 4d 50  20 63 6f 6d 73 2c 58 0d  |F..Z.CMP coms,X.|
00000cb0  0a 64 0f 42 4e 45 20 6e  65 78 74 6f 6e 65 0d 0a  |.d.BNE nextone..|
00000cc0  6e 07 49 4e 59 0d 0a 78  07 49 4e 58 0d 0a 82 0c  |n.INY..x.INX....|
00000cd0  42 4e 45 20 63 6f 6d 32  0d 0a 8c 0c 2e 6e 65 78  |BNE com2.....nex|
00000ce0  74 6f 6e 65 0d 0a 96 07  49 4e 58 0d 0a a0 0e 4c  |tone....INX....L|
00000cf0  44 41 20 63 6f 6d 73 2c  58 0d 0a aa 0f 42 4e 45  |DA coms,X....BNE|
00000d00  20 6e 65 78 74 6f 6e 65  0d 0a b4 07 49 4e 58 0d  | nextone....INX.|
00000d10  0a be 07 49 4e 58 0d 0a  c8 07 49 4e 58 0d 0a d2  |...INX....INX...|
00000d20  0c 42 4e 45 20 63 6f 6d  31 0d 0a dc 0b 2e 67 6f  |.BNE com1.....go|
00000d30  74 63 6f 6d 0d 0a e6 07  49 4e 58 0d 0a f0 0e 4c  |tcom....INX....L|
00000d40  44 41 20 63 6f 6d 73 2c  58 0d 0a fa 0b 53 54 41  |DA coms,X....STA|
00000d50  20 6d 65 6d 0d 0b 04 10  4c 44 41 20 63 6f 6d 73  | mem....LDA coms|
00000d60  2b 31 2c 58 0d 0b 0e 0d  53 54 41 20 6d 65 6d 2b  |+1,X....STA mem+|
00000d70  31 0d 0b 18 0a 2e 6d 6f  76 65 79 0d 0b 22 0f 4c  |1.....movey..".L|
00000d80  44 41 20 28 70 74 72 29  2c 59 0d 0b 2c 0b 43 4d  |DA (ptr),Y..,.CM|
00000d90  50 20 23 31 33 0d 0b 36  0e 42 45 51 20 79 6d 6f  |P #13..6.BEQ ymo|
00000da0  76 65 64 0d 0b 40 07 49  4e 59 0d 0b 4a 0b 43 4d  |ved..@.INY..J.CM|
00000db0  50 20 23 33 32 0d 0b 54  0d 42 45 51 20 6d 6f 76  |P #32..T.BEQ mov|
00000dc0  65 79 0d 0b 5e 07 44 45  59 0d 0b 68 0b 2e 79 6d  |ey..^.DEY..h..ym|
00000dd0  6f 76 65 64 0d 0b 72 0d  4a 4d 50 20 28 6d 65 6d  |oved..r.JMP (mem|
00000de0  29 0d 0b 7c 05 3a 0d 0b  86 0a 2e 6e 6f 63 6f 6d  |)..|.:.....nocom|
00000df0  0d 0b 90 0a 4c 44 58 20  23 30 0d 0b 9a 0b 53 54  |....LDX #0....ST|
00000e00  58 20 69 6e 64 0d 0b a4  0b 2e 63 68 6b 69 6e 64  |X ind.....chkind|
00000e10  0d 0b ae 0b 4c 44 58 20  69 6e 64 0d 0b b8 0f 4c  |....LDX ind....L|
00000e20  44 41 20 69 6e 64 65 78  2c 58 0d 0b c2 0c 42 45  |DA index,X....BE|
00000e30  51 20 6e 6f 6e 65 0d 0b  cc 0b 4c 44 59 20 74 6d  |Q none....LDY tm|
00000e40  70 0d 0b d6 0b 4c 44 41  20 23 31 31 0d 0b e0 0d  |p....LDA #11....|
00000e50  53 54 41 20 63 6f 75 6e  74 0d 0b ea 0a 2e 63 6c  |STA count.....cl|
00000e60  6f 6f 70 0d 0b f4 0f 4c  44 41 20 69 6e 64 65 78  |oop....LDA index|
00000e70  2c 58 0d 0b fe 0e 42 45  51 20 67 6f 74 69 6e 64  |,X....BEQ gotind|
00000e80  0d 0c 08 0f 4c 44 41 20  28 70 74 72 29 2c 59 0d  |....LDA (ptr),Y.|
00000e90  0c 12 0a 80 20 23 26 44  46 0d 0c 1c 0f 43 4d 50  |.... #&DF....CMP|
00000ea0  20 69 6e 64 65 78 2c 58  0d 0c 26 0f 42 4e 45 20  | index,X..&.BNE |
00000eb0  6e 65 78 74 69 6e 64 0d  0c 30 07 49 4e 59 0d 0c  |nextind..0.INY..|
00000ec0  3a 07 49 4e 58 0d 0c 44  0d 44 45 43 20 63 6f 75  |:.INX..D.DEC cou|
00000ed0  6e 74 0d 0c 4e 0d 42 4e  45 20 63 6c 6f 6f 70 0d  |nt..N.BNE cloop.|
00000ee0  0c 58 0b 2e 67 6f 74 69  6e 64 0d 0c 62 0f 4c 44  |.X..gotind..b.LD|
00000ef0  41 20 28 70 74 72 29 2c  59 0d 0c 6c 0b 43 4d 50  |A (ptr),Y..l.CMP|
00000f00  20 23 33 32 0d 0c 76 0d  42 45 51 20 69 6e 64 6f  | #32..v.BEQ indo|
00000f10  6b 0d 0c 80 0b 43 4d 50  20 23 31 33 0d 0c 8a 0d  |k....CMP #13....|
00000f20  42 45 51 20 69 6e 64 6f  6b 0d 0c 94 0c 2e 6e 65  |BEQ indok.....ne|
00000f30  78 74 69 6e 64 0d 0c 9e  0b 4c 44 41 20 69 6e 64  |xtind....LDA ind|
00000f40  0d 0c a8 07 43 4c 43 0d  0c b2 0b 41 44 43 20 23  |....CLC....ADC #|
00000f50  31 39 0d 0c bc 0b 53 54  41 20 69 6e 64 0d 0c c6  |19....STA ind...|
00000f60  0e 42 43 43 20 63 68 6b  69 6e 64 0d 0c d0 09 2e  |.BCC chkind.....|
00000f70  6e 6f 6e 65 0d 0c da 0b  4a 4d 50 20 6f 75 74 0d  |none....JMP out.|
00000f80  0c e4 0a 2e 69 6e 64 6f  6b 0d 0c ee 0b 4c 44 58  |....indok....LDX|
00000f90  20 69 6e 64 0d 0c f8 12  4c 44 41 20 69 6e 64 65  | ind....LDA inde|
00000fa0  78 2b 31 31 2c 58 0d 0d  02 0c 53 54 41 20 66 72  |x+11,X....STA fr|
00000fb0  6f 6d 0d 0d 0c 12 4c 44  41 20 69 6e 64 65 78 2b  |om....LDA index+|
00000fc0  31 32 2c 58 0d 0d 16 0e  53 54 41 20 66 72 6f 6d  |12,X....STA from|
00000fd0  2b 31 0d 0d 20 12 4c 44  41 20 69 6e 64 65 78 2b  |+1.. .LDA index+|
00000fe0  31 33 2c 58 0d 0d 2a 0a  53 54 41 20 74 6f 0d 0d  |13,X..*.STA to..|
00000ff0  34 12 4c 44 41 20 69 6e  64 65 78 2b 31 34 2c 58  |4.LDA index+14,X|
00001000  0d 0d 3e 0c 53 54 41 20  74 6f 2b 31 0d 0d 48 12  |..>.STA to+1..H.|
00001010  4c 44 41 20 69 6e 64 65  78 2b 31 37 2c 58 0d 0d  |LDA index+17,X..|
00001020  52 0b 53 54 41 20 6c 65  6e 0d 0d 5c 12 4c 44 41  |R.STA len..\.LDA|
00001030  20 69 6e 64 65 78 2b 31  38 2c 58 0d 0d 66 0d 53  | index+18,X..f.S|
00001040  54 41 20 6c 65 6e 2b 31  0d 0d 70 0d 4a 53 52 20  |TA len+1..p.JSR |
00001050  62 6d 6f 76 65 0d 0d 7a  12 4c 44 41 20 69 6e 64  |bmove..z.LDA ind|
00001060  65 78 2b 31 35 2c 58 0d  0d 84 0d 53 54 41 20 6a  |ex+15,X....STA j|
00001070  73 72 2b 31 0d 0d 8e 12  4c 44 41 20 69 6e 64 65  |sr+1....LDA inde|
00001080  78 2b 31 36 2c 58 0d 0d  98 0d 53 54 41 20 6a 73  |x+16,X....STA js|
00001090  72 2b 32 0d 0d a2 0b 4c  44 41 20 70 74 72 0d 0d  |r+2....LDA ptr..|
000010a0  ac 0c 53 54 41 20 6f 70  74 72 0d 0d b6 0d 4c 44  |..STA optr....LD|
000010b0  41 20 70 74 72 2b 31 0d  0d c0 0e 53 54 41 20 6f  |A ptr+1....STA o|
000010c0  70 74 72 2b 31 0d 0d ca  0a 4c 44 59 20 23 30 0d  |ptr+1....LDY #0.|
000010d0  0d d4 0c 2e 6d 6f 76 65  70 74 72 0d 0d de 0b 49  |....moveptr....I|
000010e0  4e 43 20 70 74 72 0d 0d  e8 0e 42 4e 45 20 6e 6f  |NC ptr....BNE no|
000010f0  74 70 68 69 0d 0d f2 0d  49 4e 43 20 70 74 72 2b  |tphi....INC ptr+|
00001100  31 0d 0d fc 0b 2e 6e 6f  74 70 68 69 0d 0e 06 0f  |1.....notphi....|
00001110  4c 44 41 20 28 70 74 72  29 2c 59 0d 0e 10 0d 43  |LDA (ptr),Y....C|
00001120  4d 50 20 23 97 22 2a 22  0d 0e 1a 0f 42 45 51 20  |MP #."*"....BEQ |
00001130  6d 6f 76 65 70 74 72 0d  0e 24 0d 43 4d 50 20 23  |moveptr..$.CMP #|
00001140  97 22 20 22 0d 0e 2e 0f  42 45 51 20 6d 6f 76 65  |." "....BEQ move|
00001150  70 74 72 0d 0e 38 10 4a  53 52 20 6c 6f 61 64 7a  |ptr..8.JSR loadz|
00001160  65 72 6f 0d 0e 42 07 50  4c 41 0d 0e 4c 07 54 41  |ero..B.PLA..L.TA|
00001170  59 0d 0e 56 09 53 54 59  20 79 0d 0e 60 07 50 4c  |Y..V.STY y..`.PL|
00001180  41 0d 0e 6a 07 54 41 58  0d 0e 74 09 53 54 58 20  |A..j.TAX..t.STX |
00001190  78 0d 0e 7e 07 50 4c 41  0d 0e 88 09 53 54 41 20  |x..~.PLA....STA |
000011a0  61 0d 0e 92 07 50 4c 41  0d 0e 9c 09 53 54 41 20  |a....PLA....STA |
000011b0  70 0d 0e a6 07 50 48 41  0d 0e b0 09 4c 44 41 20  |p....PHA....LDA |
000011c0  61 0d 0e ba 07 50 4c 50  0d 0e c4 08 2e 6a 73 72  |a....PLP.....jsr|
000011d0  0d 0e ce 0d 4a 53 52 20  26 43 41 46 45 0d 0e d8  |....JSR &CAFE...|
000011e0  0c 4c 44 41 20 6f 70 74  72 0d 0e e2 0b 53 54 41  |.LDA optr....STA|
000011f0  20 70 74 72 0d 0e ec 0e  4c 44 41 20 6f 70 74 72  | ptr....LDA optr|
00001200  2b 31 0d 0e f6 0d 53 54  41 20 70 74 72 2b 31 0d  |+1....STA ptr+1.|
00001210  0f 00 09 4c 44 58 20 78  0d 0f 0a 09 4c 44 59 20  |...LDX x....LDY |
00001220  79 0d 0f 14 09 4c 44 41  20 70 0d 0f 1e 07 50 48  |y....LDA p....PH|
00001230  41 0d 0f 28 0a 4c 44 41  20 23 30 0d 0f 32 07 50  |A..(.LDA #0..2.P|
00001240  4c 50 0d 0f 3c 07 52 54  53 0d 0f 46 05 3a 0d 0f  |LP..<.RTS..F.:..|
00001250  50 0b 2e 63 6f 6d 6f 75  74 0d 0f 5a 10 4a 53 52  |P..comout..Z.JSR|
00001260  20 6c 6f 61 64 7a 65 72  6f 0d 0f 64 07 50 4c 41  | loadzero..d.PLA|
00001270  0d 0f 6e 07 54 41 58 0d  0f 78 07 50 4c 41 0d 0f  |..n.TAX..x.PLA..|
00001280  82 07 54 41 58 0d 0f 8c  07 50 4c 41 0d 0f 96 0a  |..TAX....PLA....|
00001290  4c 44 41 20 23 30 0d 0f  a0 07 50 4c 50 0d 0f aa  |LDA #0....PLP...|
000012a0  07 52 54 53 0d 0f b4 05  3a 0d 0f be 0a 2e 63 6c  |.RTS....:.....cl|
000012b0  65 61 72 0d 0f c8 0b 43  4d 50 20 23 31 33 0d 0f  |ear....CMP #13..|
000012c0  d2 0e 42 4e 45 20 6e 6f  74 63 6c 72 0d 0f dc 0a  |..BNE notclr....|
000012d0  4c 44 59 20 23 30 0d 0f  e6 07 54 59 41 0d 0f f0  |LDY #0....TYA...|
000012e0  0b 2e 63 6c 72 69 6e 64  0d 0f fa 0f 53 54 41 20  |..clrind....STA |
000012f0  69 6e 64 65 78 2c 59 0d  10 04 07 44 45 59 0d 10  |index,Y....DEY..|
00001300  0e 0e 42 4e 45 20 63 6c  72 69 6e 64 0d 10 18 14  |..BNE clrind....|
00001310  4c 44 58 20 23 73 74 6f  72 65 20 83 20 32 35 36  |LDX #store . 256|
00001320  0d 10 22 0b 53 54 58 20  6d 65 6d 0d 10 2c 10 53  |..".STX mem..,.S|
00001330  54 58 20 69 6e 64 65 78  2b 31 31 0d 10 36 14 4c  |TX index+11..6.L|
00001340  44 58 20 23 73 74 6f 72  65 20 81 20 32 35 36 0d  |DX #store . 256.|
00001350  10 40 0d 53 54 58 20 6d  65 6d 2b 31 0d 10 4a 10  |.@.STX mem+1..J.|
00001360  53 54 58 20 69 6e 64 65  78 2b 31 32 0d 10 54 0c  |STX index+12..T.|
00001370  4c 44 41 20 23 26 43 30  0d 10 5e 07 53 45 43 0d  |LDA #&C0..^.SEC.|
00001380  10 68 0d 53 42 43 20 6d  65 6d 2b 31 0d 10 72 11  |.h.SBC mem+1..r.|
00001390  53 54 41 20 6d 65 6d 66  72 65 65 2b 31 0d 10 7c  |STA memfree+1..||
000013a0  0a 4c 44 41 20 23 30 0d  10 86 0c 53 54 41 20 69  |.LDA #0....STA i|
000013b0  70 74 72 0d 10 90 0b 53  54 41 20 6e 75 6d 0d 10  |ptr....STA num..|
000013c0  9a 0f 53 54 41 20 6d 65  6d 66 72 65 65 0d 10 a4  |..STA memfree...|
000013d0  0e 4a 4d 50 20 63 6f 6d  6f 75 74 0d 10 ae 0b 2e  |.JMP comout.....|
000013e0  6e 6f 74 63 6c 72 0d 10  b8 0b 4a 4d 50 20 6f 75  |notclr....JMP ou|
000013f0  74 0d 10 c2 05 3a 0d 10  cc 09 2e 64 61 74 61 0d  |t....:.....data.|
00001400  10 d6 0b 43 4d 50 20 23  31 33 0d 10 e0 0e 42 4e  |...CMP #13....BN|
00001410  45 20 6e 6f 74 63 6c 72  0d 10 ea 0d 4c 44 41 20  |E notclr....LDA |
00001420  69 6e 64 65 78 0d 10 f4  0d 42 45 51 20 73 64 6f  |index....BEQ sdo|
00001430  6e 65 0d 10 fe 14 4c 44  58 20 23 64 68 65 61 64  |ne....LDX #dhead|
00001440  20 83 20 32 35 36 0d 11  08 14 4c 44 59 20 23 64  | . 256....LDY #d|
00001450  68 65 61 64 20 81 20 32  35 36 0d 11 12 0c 4a 53  |head . 256....JS|
00001460  52 20 6d 65 73 73 0d 11  1c 0a 4c 44 58 20 23 30  |R mess....LDX #0|
00001470  0d 11 26 0b 53 54 58 20  74 6d 70 0d 11 30 0b 2e  |..&.STX tmp..0..|
00001480  73 6e 61 6d 65 73 0d 11  3a 0b 4c 44 58 20 74 6d  |snames..:.LDX tm|
00001490  70 0d 11 44 0f 4c 44 41  20 69 6e 64 65 78 2c 58  |p..D.LDA index,X|
000014a0  0d 11 4e 0d 42 45 51 20  73 64 6f 6e 65 0d 11 58  |..N.BEQ sdone..X|
000014b0  0b 4c 44 59 20 23 31 31  0d 11 62 0a 2e 64 6c 6f  |.LDY #11..b..dlo|
000014c0  6f 70 0d 11 6c 0f 4c 44  41 20 69 6e 64 65 78 2c  |op..l.LDA index,|
000014d0  58 0d 11 76 0d 42 4e 45  20 6e 6f 73 70 63 0d 11  |X..v.BNE nospc..|
000014e0  80 0b 4c 44 41 20 23 33  32 0d 11 8a 0a 2e 6e 6f  |..LDA #32.....no|
000014f0  73 70 63 0d 11 94 0e 4a  53 52 20 6f 73 77 72 63  |spc....JSR oswrc|
00001500  68 0d 11 9e 07 49 4e 58  0d 11 a8 07 44 45 59 0d  |h....INX....DEY.|
00001510  11 b2 0d 42 4e 45 20 64  6c 6f 6f 70 0d 11 bc 0b  |...BNE dloop....|
00001520  4c 44 41 20 74 6d 70 0d  11 c6 07 43 4c 43 0d 11  |LDA tmp....CLC..|
00001530  d0 0b 41 44 43 20 23 31  33 0d 11 da 07 50 48 41  |..ADC #13....PHA|
00001540  0d 11 e4 07 54 41 59 0d  11 ee 0d 4a 53 52 20 70  |....TAY....JSR p|
00001550  64 61 74 61 0d 11 f8 07  49 4e 59 0d 12 02 07 49  |data....INY....I|
00001560  4e 59 0d 12 0c 0d 4a 53  52 20 70 64 61 74 61 0d  |NY....JSR pdata.|
00001570  12 16 07 49 4e 59 0d 12  20 07 49 4e 59 0d 12 2a  |...INY.. .INY..*|
00001580  0d 4a 53 52 20 70 64 61  74 61 0d 12 34 07 50 4c  |.JSR pdata..4.PL|
00001590  41 0d 12 3e 07 54 41 59  0d 12 48 07 44 45 59 0d  |A..>.TAY..H.DEY.|
000015a0  12 52 07 44 45 59 0d 12  5c 0d 4a 53 52 20 70 64  |.R.DEY..\.JSR pd|
000015b0  61 74 61 0d 12 66 0e 4a  53 52 20 6f 73 6e 65 77  |ata..f.JSR osnew|
000015c0  6c 0d 12 70 0b 4c 44 41  20 74 6d 70 0d 12 7a 07  |l..p.LDA tmp..z.|
000015d0  43 4c 43 0d 12 84 0b 41  44 43 20 23 31 39 0d 12  |CLC....ADC #19..|
000015e0  8e 0b 53 54 41 20 74 6d  70 0d 12 98 0e 42 43 43  |..STA tmp....BCC|
000015f0  20 73 6e 61 6d 65 73 0d  12 a2 0a 2e 73 64 6f 6e  | snames.....sdon|
00001600  65 0d 12 ac 0d 4c 44 41  20 23 97 22 26 22 0d 12  |e....LDA #."&"..|
00001610  b6 0e 4a 53 52 20 6f 73  77 72 63 68 0d 12 c0 11  |..JSR oswrch....|
00001620  4c 44 41 20 6d 65 6d 66  72 65 65 2b 31 0d 12 ca  |LDA memfree+1...|
00001630  0b 4a 53 52 20 68 65 78  0d 12 d4 0f 4c 44 41 20  |.JSR hex....LDA |
00001640  6d 65 6d 66 72 65 65 0d  12 de 0b 4a 53 52 20 68  |memfree....JSR h|
00001650  65 78 0d 12 e8 14 4c 44  58 20 23 64 66 6f 6f 74  |ex....LDX #dfoot|
00001660  20 83 20 32 35 36 0d 12  f2 14 4c 44 59 20 23 64  | . 256....LDY #d|
00001670  66 6f 6f 74 20 81 20 32  35 36 0d 12 fc 0c 4a 53  |foot . 256....JS|
00001680  52 20 6d 65 73 73 0d 13  06 0e 4a 4d 50 20 63 6f  |R mess....JMP co|
00001690  6d 6f 75 74 0d 13 10 05  3a 0d 13 1a 0a 2e 70 64  |mout....:.....pd|
000016a0  61 74 61 0d 13 24 0b 4c  44 41 20 23 33 32 0d 13  |ata..$.LDA #32..|
000016b0  2e 0e 4a 53 52 20 6f 73  77 72 63 68 0d 13 38 0e  |..JSR oswrch..8.|
000016c0  4a 53 52 20 6f 73 77 72  63 68 0d 13 42 11 4c 44  |JSR oswrch..B.LD|
000016d0  41 20 69 6e 64 65 78 2b  31 2c 59 0d 13 4c 0b 4a  |A index+1,Y..L.J|
000016e0  53 52 20 68 65 78 0d 13  56 0f 4c 44 41 20 69 6e  |SR hex..V.LDA in|
000016f0  64 65 78 2c 59 0d 13 60  0b 4a 4d 50 20 68 65 78  |dex,Y..`.JMP hex|
00001700  0d 13 6a 05 3a 0d 13 74  0a 2e 63 61 63 68 65 0d  |..j.:..t..cache.|
00001710  13 7e 0b 43 4d 50 20 23  31 33 0d 13 88 0f 42 4e  |.~.CMP #13....BN|
00001720  45 20 64 6f 63 61 63 68  65 0d 13 92 13 4c 44 58  |E docache....LDX|
00001730  20 23 63 73 79 6e 20 83  20 32 35 36 0d 13 9c 13  | #csyn . 256....|
00001740  4c 44 59 20 23 63 73 79  6e 20 81 20 32 35 36 0d  |LDY #csyn . 256.|
00001750  13 a6 0d 4a 4d 50 20 65  72 72 6f 72 0d 13 b0 0c  |...JMP error....|
00001760  2e 64 6f 63 61 63 68 65  0d 13 ba 0a 4c 44 58 20  |.docache....LDX |
00001770  23 30 0d 13 c4 0a 2e 78  6e 61 6d 65 0d 13 ce 0f  |#0.....xname....|
00001780  4c 44 41 20 28 70 74 72  29 2c 59 0d 13 d8 0f 53  |LDA (ptr),Y....S|
00001790  54 41 20 66 6e 61 6d 65  2c 58 0d 13 e2 07 49 4e  |TA fname,X....IN|
000017a0  59 0d 13 ec 07 49 4e 58  0d 13 f6 0b 43 4d 50 20  |Y....INX....CMP |
000017b0  23 31 33 0d 14 00 0d 42  4e 45 20 78 6e 61 6d 65  |#13....BNE xname|
000017c0  0d 14 0a 14 4c 44 58 20  23 66 6e 61 6d 65 20 83  |....LDX #fname .|
000017d0  20 32 35 36 0d 14 14 14  4c 44 59 20 23 66 6e 61  | 256....LDY #fna|
000017e0  6d 65 20 81 20 32 35 36  0d 14 1e 0c 4c 44 41 20  |me . 256....LDA |
000017f0  23 26 34 30 0d 14 28 0e  4a 53 52 20 6f 73 66 69  |#&40..(.JSR osfi|
00001800  6e 64 0d 14 32 0a 43 4d  50 20 23 30 0d 14 3c 0e  |nd..2.CMP #0..<.|
00001810  42 45 51 20 6e 6f 66 69  6c 65 0d 14 46 07 54 41  |BEQ nofile..F.TA|
00001820  59 0d 14 50 0c 4c 44 58  20 23 65 78 74 0d 14 5a  |Y..P.LDX #ext..Z|
00001830  0a 4c 44 41 20 23 32 0d  14 64 0e 4a 53 52 20 6f  |.LDA #2..d.JSR o|
00001840  73 61 72 67 73 0d 14 6e  0a 4c 44 41 20 23 30 0d  |sargs..n.LDA #0.|
00001850  14 78 0e 4a 53 52 20 6f  73 66 69 6e 64 0d 14 82  |.x.JSR osfind...|
00001860  0b 4c 44 41 20 6e 75 6d  0d 14 8c 0b 43 4d 50 20  |.LDA num....CMP |
00001870  23 31 32 0d 14 96 0e 42  45 51 20 6e 6f 72 6f 6f  |#12....BEQ noroo|
00001880  6d 0d 14 a0 0d 4c 44 41  20 65 78 74 2b 32 0d 14  |m....LDA ext+2..|
00001890  aa 0c 84 41 20 65 78 74  2b 33 0d 14 b4 0e 42 4e  |...A ext+3....BN|
000018a0  45 20 74 6f 6f 62 69 67  0d 14 be 0d 4c 44 41 20  |E toobig....LDA |
000018b0  65 78 74 2b 31 0d 14 c8  11 43 4d 50 20 6d 65 6d  |ext+1....CMP mem|
000018c0  66 72 65 65 2b 31 0d 14  d2 0a 42 43 43 20 6f 6b  |free+1....BCC ok|
000018d0  0d 14 dc 0e 42 4e 45 20  74 6f 6f 62 69 67 0d 14  |....BNE toobig..|
000018e0  e6 0b 4c 44 41 20 65 78  74 0d 14 f0 0f 43 4d 50  |..LDA ext....CMP|
000018f0  20 6d 65 6d 66 72 65 65  0d 14 fa 0a 42 45 51 20  | memfree....BEQ |
00001900  6f 6b 0d 15 04 0a 42 43  43 20 6f 6b 0d 15 0e 05  |ok....BCC ok....|
00001910  3a 0d 15 18 0b 2e 74 6f  6f 62 69 67 0d 15 22 12  |:.....toobig..".|
00001920  4c 44 58 20 23 66 74 62  20 83 20 32 35 36 0d 15  |LDX #ftb . 256..|
00001930  2c 12 4c 44 59 20 23 66  74 62 20 81 20 32 35 36  |,.LDY #ftb . 256|
00001940  0d 15 36 0d 4a 4d 50 20  65 72 72 6f 72 0d 15 40  |..6.JMP error..@|
00001950  0b 2e 6e 6f 66 69 6c 65  0d 15 4a 12 4c 44 58 20  |..nofile..J.LDX |
00001960  23 66 6e 66 20 83 20 32  35 36 0d 15 54 12 4c 44  |#fnf . 256..T.LD|
00001970  59 20 23 66 6e 66 20 81  20 32 35 36 0d 15 5e 0d  |Y #fnf . 256..^.|
00001980  4a 4d 50 20 65 72 72 6f  72 0d 15 68 0b 2e 6e 6f  |JMP error..h..no|
00001990  72 6f 6f 6d 0d 15 72 12  4c 44 58 20 23 6e 69 73  |room..r.LDX #nis|
000019a0  20 83 20 32 35 36 0d 15  7c 12 4c 44 59 20 23 6e  | . 256..|.LDY #n|
000019b0  69 73 20 81 20 32 35 36  0d 15 86 0d 4a 4d 50 20  |is . 256....JMP |
000019c0  65 72 72 6f 72 0d 15 90  05 3a 0d 15 9a 07 2e 6f  |error....:.....o|
000019d0  6b 0d 15 a4 0c 4c 44 59  20 23 26 31 34 0d 15 ae  |k....LDY #&14...|
000019e0  0c 4c 44 41 20 23 26 46  46 0d 15 b8 0b 2e 63 6c  |.LDA #&FF.....cl|
000019f0  72 62 6c 6b 0d 15 c2 0f  53 54 41 20 66 69 6e 66  |rblk....STA finf|
00001a00  6f 2c 59 0d 15 cc 07 44  45 59 0d 15 d6 0e 42 4e  |o,Y....DEY....BN|
00001a10  45 20 63 6c 72 62 6c 6b  0d 15 e0 14 4c 44 41 20  |E clrblk....LDA |
00001a20  23 66 6e 61 6d 65 20 83  20 32 35 36 0d 15 ea 0d  |#fname . 256....|
00001a30  53 54 41 20 66 69 6e 66  6f 0d 15 f4 14 4c 44 41  |STA finfo....LDA|
00001a40  20 23 66 6e 61 6d 65 20  81 20 32 35 36 0d 15 fe  | #fname . 256...|
00001a50  0f 53 54 41 20 66 69 6e  66 6f 2b 31 0d 16 08 14  |.STA finfo+1....|
00001a60  4c 44 58 20 23 66 69 6e  66 6f 20 83 20 32 35 36  |LDX #finfo . 256|
00001a70  0d 16 12 14 4c 44 59 20  23 66 69 6e 66 6f 20 81  |....LDY #finfo .|
00001a80  20 32 35 36 0d 16 1c 0c  4c 44 41 20 23 26 46 46  | 256....LDA #&FF|
00001a90  0d 16 26 0e 4a 53 52 20  6f 73 66 69 6c 65 0d 16  |..&.JSR osfile..|
00001aa0  30 0c 4c 44 59 20 69 70  74 72 0d 16 3a 0f 4c 44  |0.LDY iptr..:.LD|
00001ab0  41 20 66 69 6e 66 6f 2b  32 0d 16 44 0c 53 54 41  |A finfo+2..D.STA|
00001ac0  20 66 72 6f 6d 0d 16 4e  12 53 54 41 20 69 6e 64  | from..N.STA ind|
00001ad0  65 78 2b 31 33 2c 59 0d  16 58 0f 4c 44 41 20 66  |ex+13,Y..X.LDA f|
00001ae0  69 6e 66 6f 2b 33 0d 16  62 0e 53 54 41 20 66 72  |info+3..b.STA fr|
00001af0  6f 6d 2b 31 0d 16 6c 12  53 54 41 20 69 6e 64 65  |om+1..l.STA inde|
00001b00  78 2b 31 34 2c 59 0d 16  76 12 4c 44 41 20 69 6e  |x+14,Y..v.LDA in|
00001b10  64 65 78 2b 31 31 2c 59  0d 16 80 0a 53 54 41 20  |dex+11,Y....STA |
00001b20  74 6f 0d 16 8a 12 4c 44  41 20 69 6e 64 65 78 2b  |to....LDA index+|
00001b30  31 32 2c 59 0d 16 94 0c  53 54 41 20 74 6f 2b 31  |12,Y....STA to+1|
00001b40  0d 16 9e 0f 4c 44 41 20  66 69 6e 66 6f 2b 36 0d  |....LDA finfo+6.|
00001b50  16 a8 12 53 54 41 20 69  6e 64 65 78 2b 31 35 2c  |...STA index+15,|
00001b60  59 0d 16 b2 0f 4c 44 41  20 66 69 6e 66 6f 2b 37  |Y....LDA finfo+7|
00001b70  0d 16 bc 12 53 54 41 20  69 6e 64 65 78 2b 31 36  |....STA index+16|
00001b80  2c 59 0d 16 c6 0b 4c 44  41 20 65 78 74 0d 16 d0  |,Y....LDA ext...|
00001b90  12 53 54 41 20 69 6e 64  65 78 2b 31 37 2c 59 0d  |.STA index+17,Y.|
00001ba0  16 da 0d 4c 44 41 20 65  78 74 2b 31 0d 16 e4 12  |...LDA ext+1....|
00001bb0  53 54 41 20 69 6e 64 65  78 2b 31 38 2c 59 0d 16  |STA index+18,Y..|
00001bc0  ee 0f 4c 44 41 20 6d 65  6d 66 72 65 65 0d 16 f8  |..LDA memfree...|
00001bd0  07 53 45 43 0d 17 02 0b  53 42 43 20 6c 65 6e 0d  |.SEC....SBC len.|
00001be0  17 0c 0f 53 54 41 20 6d  65 6d 66 72 65 65 0d 17  |...STA memfree..|
00001bf0  16 11 4c 44 41 20 6d 65  6d 66 72 65 65 2b 31 0d  |..LDA memfree+1.|
00001c00  17 20 0d 53 42 43 20 6c  65 6e 2b 31 0d 17 2a 11  |. .SBC len+1..*.|
00001c10  53 54 41 20 6d 65 6d 66  72 65 65 2b 31 0d 17 34  |STA memfree+1..4|
00001c20  0d 4a 53 52 20 62 6d 6f  76 65 0d 17 3e 0a 4c 44  |.JSR bmove..>.LD|
00001c30  58 20 23 30 0d 17 48 09  2e 66 72 65 74 0d 17 52  |X #0..H..fret..R|
00001c40  07 49 4e 58 0d 17 5c 0f  4c 44 41 20 66 6e 61 6d  |.INX..\.LDA fnam|
00001c50  65 2c 58 0d 17 66 0b 43  4d 50 20 23 33 32 0d 17  |e,X..f.CMP #32..|
00001c60  70 0c 42 45 51 20 6e 64  6f 74 0d 17 7a 0b 43 4d  |p.BEQ ndot..z.CM|
00001c70  50 20 23 31 33 0d 17 84  0c 42 4e 45 20 66 72 65  |P #13....BNE fre|
00001c80  74 0d 17 8e 09 2e 6e 64  6f 74 0d 17 98 07 44 45  |t.....ndot....DE|
00001c90  58 0d 17 a2 0d 42 45 51  20 67 6f 74 69 74 0d 17  |X....BEQ gotit..|
00001ca0  ac 0f 4c 44 41 20 66 6e  61 6d 65 2c 58 0d 17 b6  |..LDA fname,X...|
00001cb0  0d 43 4d 50 20 23 97 22  2e 22 0d 17 c0 0c 42 4e  |.CMP #."."....BN|
00001cc0  45 20 6e 64 6f 74 0d 17  ca 07 49 4e 58 0d 17 d4  |E ndot....INX...|
00001cd0  0a 2e 67 6f 74 69 74 0d  17 de 0b 4c 44 59 20 23  |..gotit....LDY #|
00001ce0  31 31 0d 17 e8 0b 53 54  59 20 74 6d 70 0d 17 f2  |11....STY tmp...|
00001cf0  0c 4c 44 59 20 69 70 74  72 0d 17 fc 0a 2e 6d 6e  |.LDY iptr.....mn|
00001d00  61 6d 65 0d 18 06 0f 4c  44 41 20 66 6e 61 6d 65  |ame....LDA fname|
00001d10  2c 58 0d 18 10 0b 43 4d  50 20 23 33 32 0d 18 1a  |,X....CMP #32...|
00001d20  0e 42 45 51 20 6d 6e 64  6f 6e 65 0d 18 24 0b 43  |.BEQ mndone..$.C|
00001d30  4d 50 20 23 31 33 0d 18  2e 0e 42 45 51 20 6d 6e  |MP #13....BEQ mn|
00001d40  64 6f 6e 65 0d 18 38 0f  53 54 41 20 69 6e 64 65  |done..8.STA inde|
00001d50  78 2c 59 0d 18 42 07 49  4e 58 0d 18 4c 07 49 4e  |x,Y..B.INX..L.IN|
00001d60  59 0d 18 56 0b 44 45 43  20 74 6d 70 0d 18 60 0d  |Y..V.DEC tmp..`.|
00001d70  42 4e 45 20 6d 6e 61 6d  65 0d 18 6a 0b 2e 6d 6e  |BNE mname..j..mn|
00001d80  64 6f 6e 65 0d 18 74 0b  4c 44 41 20 6e 75 6d 0d  |done..t.LDA num.|
00001d90  18 7e 0b 43 4d 50 20 23  31 35 0d 18 88 0d 42 45  |.~.CMP #15....BE|
00001da0  51 20 6e 6f 69 6e 63 0d  18 92 0c 4c 44 41 20 69  |Q noinc....LDA i|
00001db0  70 74 72 0d 18 9c 07 43  4c 43 0d 18 a6 0b 41 44  |ptr....CLC....AD|
00001dc0  43 20 23 31 39 0d 18 b0  0c 53 54 41 20 69 70 74  |C #19....STA ipt|
00001dd0  72 0d 18 ba 07 54 41 59  0d 18 c4 0a 4c 44 41 20  |r....TAY....LDA |
00001de0  74 6f 0d 18 ce 12 53 54  41 20 69 6e 64 65 78 2b  |to....STA index+|
00001df0  31 31 2c 59 0d 18 d8 0c  4c 44 41 20 74 6f 2b 31  |11,Y....LDA to+1|
00001e00  0d 18 e2 12 53 54 41 20  69 6e 64 65 78 2b 31 32  |....STA index+12|
00001e10  2c 59 0d 18 ec 0a 2e 6e  6f 69 6e 63 0d 18 f6 0b  |,Y.....noinc....|
00001e20  49 4e 43 20 6e 75 6d 0d  19 00 0e 4a 4d 50 20 63  |INC num....JMP c|
00001e30  6f 6d 6f 75 74 0d 19 0a  05 3a 0d 19 14 0a 2e 73  |omout....:.....s|
00001e40  63 72 61 70 0d 19 1e 0b  43 4d 50 20 23 31 33 0d  |crap....CMP #13.|
00001e50  19 28 0f 42 4e 45 20 64  6f 73 63 72 61 70 0d 19  |.(.BNE doscrap..|
00001e60  32 13 4c 44 58 20 23 73  73 79 6e 20 83 20 32 35  |2.LDX #ssyn . 25|
00001e70  36 0d 19 3c 13 4c 44 59  20 23 73 73 79 6e 20 81  |6..<.LDY #ssyn .|
00001e80  20 32 35 36 0d 19 46 0d  4a 4d 50 20 65 72 72 6f  | 256..F.JMP erro|
00001e90  72 0d 19 50 0c 2e 64 6f  73 63 72 61 70 0d 19 5a  |r..P..doscrap..Z|
00001ea0  0a 4c 44 58 20 23 30 0d  19 64 0b 2e 73 63 72 61  |.LDX #0..d..scra|
00001eb0  70 31 0d 19 6e 0f 4c 44  41 20 28 70 74 72 29 2c  |p1..n.LDA (ptr),|
00001ec0  59 0d 19 78 0f 53 54 41  20 66 6e 61 6d 65 2c 58  |Y..x.STA fname,X|
00001ed0  0d 19 82 0b 43 4d 50 20  23 31 33 0d 19 8c 0b 42  |....CMP #13....B|
00001ee0  45 51 20 65 6f 63 0d 19  96 0b 43 4d 50 20 23 33  |EQ eoc....CMP #3|
00001ef0  32 0d 19 a0 0b 42 45 51  20 65 6f 63 0d 19 aa 07  |2....BEQ eoc....|
00001f00  49 4e 59 0d 19 b4 07 49  4e 58 0d 19 be 0b 43 50  |INY....INX....CP|
00001f10  58 20 23 31 31 0d 19 c8  0e 42 4e 45 20 73 63 72  |X #11....BNE scr|
00001f20  61 70 31 0d 19 d2 0e 4a  4d 50 20 6e 6f 66 69 6c  |ap1....JMP nofil|
00001f30  65 0d 19 dc 08 2e 65 6f  63 0d 19 e6 0a 4c 44 58  |e.....eoc....LDX|
00001f40  20 23 30 0d 19 f0 0b 53  54 58 20 74 6d 70 0d 19  | #0....STX tmp..|
00001f50  fa 0b 2e 66 73 63 72 61  70 0d 1a 04 0b 4c 44 58  |...fscrap....LDX|
00001f60  20 74 6d 70 0d 1a 0e 0f  4c 44 41 20 69 6e 64 65  | tmp....LDA inde|
00001f70  78 2c 58 0d 1a 18 10 42  45 51 20 6e 6f 74 74 68  |x,X....BEQ notth|
00001f80  65 72 65 0d 1a 22 0a 4c  44 59 20 23 30 0d 1a 2c  |ere..".LDY #0..,|
00001f90  0b 4c 44 41 20 23 31 31  0d 1a 36 0d 53 54 41 20  |.LDA #11..6.STA |
00001fa0  63 6f 75 6e 74 0d 1a 40  0d 2e 63 6f 6d 70 6c 6f  |count..@..complo|
00001fb0  6f 70 0d 1a 4a 0f 4c 44  41 20 69 6e 64 65 78 2c  |op..J.LDA index,|
00001fc0  58 0d 1a 54 0e 42 45 51  20 63 6f 6d 70 65 64 0d  |X..T.BEQ comped.|
00001fd0  1a 5e 0f 43 4d 50 20 66  6e 61 6d 65 2c 59 0d 1a  |.^.CMP fname,Y..|
00001fe0  68 0d 42 4e 45 20 6e 63  6f 6d 70 0d 1a 72 07 49  |h.BNE ncomp..r.I|
00001ff0  4e 58 0d 1a 7c 07 49 4e  59 0d 1a 86 0d 44 45 43  |NX..|.INY....DEC|
00002000  20 63 6f 75 6e 74 0d 1a  90 10 42 4e 45 20 63 6f  | count....BNE co|
00002010  6d 70 6c 6f 6f 70 0d 1a  9a 0d 2e 6e 6f 74 74 68  |mploop.....notth|
00002020  65 72 65 0d 1a a4 0e 4a  4d 50 20 6e 6f 66 69 6c  |ere....JMP nofil|
00002030  65 0d 1a ae 05 3a 0d 1a  b8 0a 2e 6e 63 6f 6d 70  |e....:.....ncomp|
00002040  0d 1a c2 0b 4c 44 41 20  74 6d 70 0d 1a cc 07 43  |....LDA tmp....C|
00002050  4c 43 0d 1a d6 0b 41 44  43 20 23 31 39 0d 1a e0  |LC....ADC #19...|
00002060  0b 53 54 41 20 74 6d 70  0d 1a ea 0e 42 43 43 20  |.STA tmp....BCC |
00002070  66 73 63 72 61 70 0d 1a  f4 0e 4a 4d 50 20 6e 6f  |fscrap....JMP no|
00002080  66 69 6c 65 0d 1a fe 0b  2e 63 6f 6d 70 65 64 0d  |file.....comped.|
00002090  1b 08 0f 4c 44 41 20 66  6e 61 6d 65 2c 59 0d 1b  |...LDA fname,Y..|
000020a0  12 0b 43 4d 50 20 23 33  32 0d 1b 1c 0e 42 45 51  |..CMP #32....BEQ|
000020b0  20 63 6f 6d 70 6f 6b 0d  1b 26 0b 43 4d 50 20 23  | compok..&.CMP #|
000020c0  31 33 0d 1b 30 0d 42 4e  45 20 6e 63 6f 6d 70 0d  |13..0.BNE ncomp.|
000020d0  1b 3a 05 3a 0d 1b 44 0b  2e 63 6f 6d 70 6f 6b 0d  |.:.:..D..compok.|
000020e0  1b 4e 0b 4c 44 58 20 74  6d 70 0d 1b 58 12 4c 44  |.N.LDX tmp..X.LD|
000020f0  41 20 69 6e 64 65 78 2b  31 37 2c 58 0d 1b 62 0b  |A index+17,X..b.|
00002100  53 54 41 20 6c 65 6e 0d  1b 6c 12 4c 44 41 20 69  |STA len..l.LDA i|
00002110  6e 64 65 78 2b 31 38 2c  58 0d 1b 76 0d 53 54 41  |ndex+18,X..v.STA|
00002120  20 6c 65 6e 2b 31 0d 1b  80 0c 43 50 58 20 23 26  | len+1....CPX #&|
00002130  46 30 0d 1b 8a 0f 42 45  51 20 6a 75 73 74 64 65  |F0....BEQ justde|
00002140  6c 0d 1b 94 12 4c 44 41  20 69 6e 64 65 78 2b 31  |l....LDA index+1|
00002150  31 2c 58 0d 1b 9e 0a 53  54 41 20 74 6f 0d 1b a8  |1,X....STA to...|
00002160  12 4c 44 41 20 69 6e 64  65 78 2b 31 32 2c 58 0d  |.LDA index+12,X.|
00002170  1b b2 0c 53 54 41 20 74  6f 2b 31 0d 1b bc 12 4c  |...STA to+1....L|
00002180  44 41 20 69 6e 64 65 78  2b 33 30 2c 58 0d 1b c6  |DA index+30,X...|
00002190  0c 53 54 41 20 66 72 6f  6d 0d 1b d0 12 4c 44 41  |.STA from....LDA|
000021a0  20 69 6e 64 65 78 2b 33  31 2c 58 0d 1b da 0e 53  | index+31,X....S|
000021b0  54 41 20 66 72 6f 6d 2b  31 0d 1b e4 0a 4c 44 59  |TA from+1....LDY|
000021c0  20 23 30 0d 1b ee 0c 2e  73 68 75 66 66 6c 65 0d  | #0.....shuffle.|
000021d0  1b f8 10 4c 44 41 20 28  66 72 6f 6d 29 2c 59 0d  |...LDA (from),Y.|
000021e0  1c 02 0e 53 54 41 20 28  74 6f 29 2c 59 0d 1c 0c  |...STA (to),Y...|
000021f0  0a 49 4e 43 20 74 6f 0d  1c 16 0d 42 4e 45 20 73  |.INC to....BNE s|
00002200  68 75 66 31 0d 1c 20 0c  49 4e 43 20 74 6f 2b 31  |huf1.. .INC to+1|
00002210  0d 1c 2a 0a 2e 73 68 75  66 31 0d 1c 34 0c 49 4e  |..*..shuf1..4.IN|
00002220  43 20 66 72 6f 6d 0d 1c  3e 0f 42 4e 45 20 73 68  |C from..>.BNE sh|
00002230  75 66 66 6c 65 0d 1c 48  0e 49 4e 43 20 66 72 6f  |uffle..H.INC fro|
00002240  6d 2b 31 0d 1c 52 0e 4c  44 41 20 66 72 6f 6d 2b  |m+1..R.LDA from+|
00002250  31 0d 1c 5c 0c 43 4d 50  20 23 26 43 30 0d 1c 66  |1..\.CMP #&C0..f|
00002260  0f 42 4e 45 20 73 68 75  66 66 6c 65 0d 1c 70 0b  |.BNE shuffle..p.|
00002270  4c 44 41 20 74 6d 70 0d  1c 7a 07 54 41 58 0d 1c  |LDA tmp..z.TAX..|
00002280  84 07 43 4c 43 0d 1c 8e  0b 41 44 43 20 23 31 39  |..CLC....ADC #19|
00002290  0d 1c 98 07 54 41 59 0d  1c a2 0c 2e 73 68 75 66  |....TAY.....shuf|
000022a0  69 6e 64 0d 1c ac 0f 4c  44 41 20 69 6e 64 65 78  |ind....LDA index|
000022b0  2c 59 0d 1c b6 0f 53 54  41 20 69 6e 64 65 78 2c  |,Y....STA index,|
000022c0  58 0d 1c c0 07 49 4e 58  0d 1c ca 07 49 4e 59 0d  |X....INX....INY.|
000022d0  1c d4 0f 42 4e 45 20 73  68 75 66 69 6e 64 0d 1c  |...BNE shufind..|
000022e0  de 0b 4c 44 58 20 74 6d  70 0d 1c e8 0b 2e 73 75  |..LDX tmp.....su|
000022f0  62 6c 65 6e 0d 1c f2 12  4c 44 41 20 69 6e 64 65  |blen....LDA inde|
00002300  78 2b 31 31 2c 58 0d 1c  fc 07 53 45 43 0d 1d 06  |x+11,X....SEC...|
00002310  0b 53 42 43 20 6c 65 6e  0d 1d 10 12 53 54 41 20  |.SBC len....STA |
00002320  69 6e 64 65 78 2b 31 31  2c 58 0d 1d 1a 12 4c 44  |index+11,X....LD|
00002330  41 20 69 6e 64 65 78 2b  31 32 2c 58 0d 1d 24 0d  |A index+12,X..$.|
00002340  53 42 43 20 6c 65 6e 2b  31 0d 1d 2e 12 53 54 41  |SBC len+1....STA|
00002350  20 69 6e 64 65 78 2b 31  32 2c 58 0d 1d 38 07 54  | index+12,X..8.T|
00002360  58 41 0d 1d 42 07 43 4c  43 0d 1d 4c 0b 41 44 43  |XA..B.CLC..L.ADC|
00002370  20 23 31 39 0d 1d 56 07  54 41 58 0d 1d 60 0e 42  | #19..V.TAX..`.B|
00002380  43 43 20 73 75 62 6c 65  6e 0d 1d 6a 0b 4c 44 41  |CC sublen..j.LDA|
00002390  20 6e 75 6d 0d 1d 74 0b  43 4d 50 20 23 31 39 0d  | num..t.CMP #19.|
000023a0  1d 7e 0f 42 45 51 20 6a  75 73 74 64 65 6c 0d 1d  |.~.BEQ justdel..|
000023b0  88 0c 4c 44 41 20 69 70  74 72 0d 1d 92 07 53 45  |..LDA iptr....SE|
000023c0  43 0d 1d 9c 0b 53 42 43  20 23 31 39 0d 1d a6 0c  |C....SBC #19....|
000023d0  53 54 41 20 69 70 74 72  0d 1d b0 0c 2e 6a 75 73  |STA iptr.....jus|
000023e0  74 64 65 6c 0d 1d ba 0b  44 45 43 20 6e 75 6d 0d  |tdel....DEC num.|
000023f0  1d c4 0f 4c 44 41 20 6d  65 6d 66 72 65 65 0d 1d  |...LDA memfree..|
00002400  ce 07 43 4c 43 0d 1d d8  0b 41 44 43 20 6c 65 6e  |..CLC....ADC len|
00002410  0d 1d e2 0f 53 54 41 20  6d 65 6d 66 72 65 65 0d  |....STA memfree.|
00002420  1d ec 11 4c 44 41 20 6d  65 6d 66 72 65 65 2b 31  |...LDA memfree+1|
00002430  0d 1d f6 0d 41 44 43 20  6c 65 6e 2b 31 0d 1e 00  |....ADC len+1...|
00002440  11 53 54 41 20 6d 65 6d  66 72 65 65 2b 31 0d 1e  |.STA memfree+1..|
00002450  0a 0a 4c 44 41 20 23 30  0d 1e 14 0c 4c 44 59 20  |..LDA #0....LDY |
00002460  23 26 46 30 0d 1e 1e 0b  2e 64 65 6c 6f 6f 70 0d  |#&F0.....deloop.|
00002470  1e 28 0c 43 50 59 20 23  26 46 38 0d 1e 32 0d 42  |.(.CPY #&F8..2.B|
00002480  4e 45 20 6e 6f 69 6e 79  0d 1e 3c 07 49 4e 59 0d  |NE noiny..<.INY.|
00002490  1e 46 07 49 4e 59 0d 1e  50 0a 2e 6e 6f 69 6e 79  |.F.INY..P..noiny|
000024a0  0d 1e 5a 0f 53 54 41 20  69 6e 64 65 78 2c 59 0d  |..Z.STA index,Y.|
000024b0  1e 64 07 49 4e 59 0d 1e  6e 0e 42 4e 45 20 64 65  |.d.INY..n.BNE de|
000024c0  6c 6f 6f 70 0d 1e 78 0e  4a 4d 50 20 63 6f 6d 6f  |loop..x.JMP como|
000024d0  75 74 0d 1e 82 05 3a 0d  1e 8c 23 2e 68 6c 70 74  |ut....:...#.hlpt|
000024e0  78 74 20 20 45 51 55 53  20 22 20 20 43 6f 6d 6d  |xt  EQUS "  Comm|
000024f0  61 6e 64 73 3a 22 2b 63  72 24 0d 1e 96 29 20 20  |ands:"+cr$...)  |
00002500  20 20 20 20 20 20 20 45  51 55 53 20 22 20 20 20  |       EQUS "   |
00002510  20 2a 43 41 43 48 45 20  3c 66 69 6c 65 3e 22 2b  | *CACHE <file>"+|
00002520  63 72 24 0d 1e a0 29 20  20 20 20 20 20 20 20 20  |cr$...)         |
00002530  45 51 55 53 20 22 20 20  20 20 2a 53 43 52 41 50  |EQUS "    *SCRAP|
00002540  20 3c 66 69 6c 65 3e 22  2b 63 72 24 0d 1e aa 22  | <file>"+cr$..."|
00002550  20 20 20 20 20 20 20 20  20 45 51 55 53 20 22 20  |         EQUS " |
00002560  20 20 20 2a 43 4c 45 41  52 22 2b 63 72 24 0d 1e  |   *CLEAR"+cr$..|
00002570  b4 21 20 20 20 20 20 20  20 20 20 45 51 55 53 20  |.!         EQUS |
00002580  22 20 20 20 20 2a 44 41  54 41 22 2b 63 72 24 0d  |"    *DATA"+cr$.|
00002590  1e be 13 20 20 20 20 20  20 20 20 20 45 51 55 42  |...         EQUB|
000025a0  20 30 0d 1e c8 2a 2e 66  63 61 63 68 65 64 20 45  | 0...*.fcached E|
000025b0  51 55 53 20 22 20 20 46  69 6c 65 73 20 63 61 63  |QUS "  Files cac|
000025c0  68 65 64 3a 22 2b 63 72  24 2b 7a 24 0d 1e d2 3e  |hed:"+cr$+z$...>|
000025d0  2e 64 68 65 61 64 20 20  20 45 51 55 53 20 22 46  |.dhead   EQUS "F|
000025e0  69 6c 65 6e 61 6d 65 20  20 20 20 20 4c 6f 61 64  |ilename     Load|
000025f0  20 20 45 78 65 63 20 20  53 69 7a 65 20 20 41 64  |  Exec  Size  Ad|
00002600  64 72 22 2b 63 72 24 2b  7a 24 0d 1e dc 27 2e 64  |dr"+cr$+z$...'.d|
00002610  66 6f 6f 74 20 20 20 45  51 55 53 20 22 20 62 79  |foot   EQUS " by|
00002620  74 65 73 20 66 72 65 65  2e 22 2b 63 72 24 2b 7a  |tes free."+cr$+z|
00002630  24 0d 1e e6 32 2e 66 6e  66 20 20 20 20 20 42 52  |$...2.fnf     BR|
00002640  4b 3a 45 51 55 42 20 32  35 35 3a 45 51 55 53 20  |K:EQUB 255:EQUS |
00002650  22 46 69 6c 65 20 6e 6f  74 20 66 6f 75 6e 64 22  |"File not found"|
00002660  2b 7a 24 0d 1e f0 30 2e  66 74 62 20 20 20 20 20  |+z$...0.ftb     |
00002670  42 52 4b 3a 45 51 55 42  20 32 35 34 3a 45 51 55  |BRK:EQUB 254:EQU|
00002680  53 20 22 46 69 6c 65 20  74 6f 6f 20 62 69 67 22  |S "File too big"|
00002690  2b 7a 24 0d 1e fa 34 2e  6e 69 73 20 20 20 20 20  |+z$...4.nis     |
000026a0  42 52 4b 3a 45 51 55 42  20 32 35 33 3a 45 51 55  |BRK:EQUB 253:EQU|
000026b0  53 20 22 4e 6f 20 72 6f  6f 6d 20 69 6e 20 69 6e  |S "No room in in|
000026c0  64 65 78 22 2b 7a 24 0d  1f 04 39 2e 63 73 79 6e  |dex"+z$...9.csyn|
000026d0  20 20 20 20 42 52 4b 3a  45 51 55 42 20 32 35 32  |    BRK:EQUB 252|
000026e0  3a 45 51 55 53 20 22 53  79 6e 74 61 78 3a 20 2a  |:EQUS "Syntax: *|
000026f0  43 41 43 48 45 20 3c 66  69 6c 65 3e 22 2b 7a 24  |CACHE <file>"+z$|
00002700  0d 1f 0e 39 2e 73 73 79  6e 20 20 20 20 42 52 4b  |...9.ssyn    BRK|
00002710  3a 45 51 55 42 20 32 35  31 3a 45 51 55 53 20 22  |:EQUB 251:EQUS "|
00002720  53 79 6e 74 61 78 3a 20  2a 53 43 52 41 50 20 3c  |Syntax: *SCRAP <|
00002730  66 69 6c 65 3e 22 2b 7a  24 0d 1f 18 1f 2e 68 77  |file>"+z$.....hw|
00002740  6f 72 64 20 20 20 45 51  55 53 20 22 41 55 54 4f  |ord   EQUS "AUTO|
00002750  52 4f 4d 22 2b 63 72 24  0d 1f 22 29 2e 63 6f 6d  |ROM"+cr$..").com|
00002760  73 20 20 20 20 45 51 55  53 20 22 43 41 43 48 45  |s    EQUS "CACHE|
00002770  22 2b 7a 24 20 3a 20 45  51 55 57 20 63 61 63 68  |"+z$ : EQUW cach|
00002780  65 0d 1f 2c 29 20 20 20  20 20 20 20 20 20 45 51  |e..,)         EQ|
00002790  55 53 20 22 53 43 52 41  50 22 2b 7a 24 20 3a 20  |US "SCRAP"+z$ : |
000027a0  45 51 55 57 20 73 63 72  61 70 0d 1f 36 29 20 20  |EQUW scrap..6)  |
000027b0  20 20 20 20 20 20 20 45  51 55 53 20 22 43 4c 45  |       EQUS "CLE|
000027c0  41 52 22 2b 7a 24 20 3a  20 45 51 55 57 20 63 6c  |AR"+z$ : EQUW cl|
000027d0  65 61 72 0d 1f 40 28 20  20 20 20 20 20 20 20 20  |ear..@(         |
000027e0  45 51 55 53 20 22 44 41  54 41 22 2b 7a 24 20 20  |EQUS "DATA"+z$  |
000027f0  3a 20 45 51 55 57 20 64  61 74 61 0d 1f 4a 14 20  |: EQUW data..J. |
00002800  20 20 20 20 20 20 20 20  45 51 55 42 20 2d 31 0d  |        EQUB -1.|
00002810  1f 54 13 2e 7a 65 72 6f  20 20 20 20 45 51 55 44  |.T..zero    EQUD|
00002820  20 30 0d 1f 5e 13 20 20  20 20 20 20 20 20 20 45  | 0..^.         E|
00002830  51 55 57 20 30 0d 1f 68  13 2e 74 6d 70 20 20 20  |QUW 0..h..tmp   |
00002840  20 20 45 51 55 42 20 30  0d 1f 72 13 2e 6d 65 6d  |  EQUB 0..r..mem|
00002850  66 72 65 65 20 45 51 55  57 20 30 0d 1f 7c 13 2e  |free EQUW 0..|..|
00002860  69 70 74 72 20 20 20 20  45 51 55 42 20 30 0d 1f  |iptr    EQUB 0..|
00002870  86 13 2e 6e 75 6d 20 20  20 20 20 45 51 55 42 20  |...num     EQUB |
00002880  30 0d 1f 90 13 2e 63 6f  75 6e 74 20 20 20 45 51  |0.....count   EQ|
00002890  55 42 20 30 0d 1f 9a 13  2e 69 6e 64 20 20 20 20  |UB 0.....ind    |
000028a0  20 45 51 55 42 20 30 0d  1f a4 13 2e 61 20 20 20  | EQUB 0.....a   |
000028b0  20 20 20 20 45 51 55 42  20 30 0d 1f ae 13 2e 78  |    EQUB 0.....x|
000028c0  20 20 20 20 20 20 20 45  51 55 42 20 30 0d 1f b8  |       EQUB 0...|
000028d0  13 2e 79 20 20 20 20 20  20 20 45 51 55 42 20 30  |..y       EQUB 0|
000028e0  0d 1f c2 13 2e 70 20 20  20 20 20 20 20 45 51 55  |.....p       EQU|
000028f0  42 20 30 0d 1f cc 13 2e  6f 70 74 72 20 20 20 20  |B 0.....optr    |
00002900  45 51 55 57 20 30 0d 1f  d6 13 2e 65 6e 64 20 20  |EQUW 0.....end  |
00002910  20 20 20 45 51 55 42 20  30 0d 1f e0 06 5d ed 0d  |   EQUB 0....]..|
00002920  1f ea 05 e1 0d 1f f4 05  3a 0d 1f fe 0c dd 20 f2  |........:..... .|
00002930  63 68 65 63 6b 0d 20 08  14 f1 20 22 43 68 65 63  |check. ... "Chec|
00002940  6b 69 6e 67 2e 2e 2e 22  3b 0d 20 12 1d f2 73 75  |king...";. ...su|
00002950  6d 28 22 73 74 61 72 74  22 2c 22 6f 75 74 22 2c  |m("start","out",|
00002960  32 30 30 35 36 29 0d 20  1c 1d f2 73 75 6d 28 22  |20056). ...sum("|
00002970  6f 75 74 22 2c 22 62 6d  6f 76 65 22 2c 31 36 36  |out","bmove",166|
00002980  37 33 29 0d 20 26 20 f2  73 75 6d 28 22 62 6d 6f  |73). & .sum("bmo|
00002990  76 65 22 2c 22 67 6f 74  69 6e 64 22 2c 32 33 36  |ve","gotind",236|
000029a0  37 31 29 0d 20 30 1f f2  73 75 6d 28 22 67 6f 74  |71). 0..sum("got|
000029b0  69 6e 64 22 2c 22 64 61  74 61 22 2c 32 38 30 39  |ind","data",2809|
000029c0  34 29 0d 20 3a 1f f2 73  75 6d 28 22 64 61 74 61  |4). :..sum("data|
000029d0  22 2c 22 74 6f 6f 62 69  67 22 2c 32 36 39 33 34  |","toobig",26934|
000029e0  29 0d 20 44 20 f2 73 75  6d 28 22 74 6f 6f 62 69  |). D .sum("toobi|
000029f0  67 22 2c 22 73 63 72 61  70 22 2c 32 34 38 35 38  |g","scrap",24858|
00002a00  29 0d 20 4e 21 f2 73 75  6d 28 22 73 63 72 61 70  |). N!.sum("scrap|
00002a10  22 2c 22 73 68 75 66 69  6e 64 22 2c 32 32 30 32  |","shufind",2202|
00002a20  37 29 0d 20 58 22 f2 73  75 6d 28 22 73 68 75 66  |7). X".sum("shuf|
00002a30  69 6e 64 22 2c 22 68 6c  70 74 78 74 22 2c 31 32  |ind","hlptxt",12|
00002a40  32 37 31 29 0d 20 62 1e  f2 73 75 6d 28 22 68 6c  |271). b..sum("hl|
00002a50  70 74 78 74 22 2c 22 65  6e 64 22 2c 32 30 39 39  |ptxt","end",2099|
00002a60  37 29 0d 20 6c 05 e1 0d  20 76 05 3a 0d 20 80 14  |7). l... v.:. ..|
00002a70  dd 20 f2 73 75 6d 28 53  24 2c 45 24 2c 4e 25 29  |. .sum(S$,E$,N%)|
00002a80  0d 20 8a 08 54 25 3d 30  0d 20 94 24 e3 20 49 25  |. ..T%=0. .$. I%|
00002a90  3d a0 28 53 24 29 2d 50  25 2b 4f 25 20 b8 20 a0  |=.(S$)-P%+O% . .|
00002aa0  28 45 24 29 2d 50 25 2b  4f 25 2d 31 0d 20 9e 0f  |(E$)-P%+O%-1. ..|
00002ab0  54 25 3d 54 25 2b 3f 49  25 3a ed 0d 20 a8 0d e7  |T%=T%+?I%:.. ...|
00002ac0  20 54 25 3d 4e 25 20 e1  0d 20 b2 2b f1 20 22 50  | T%=N% .. .+. "P|
00002ad0  6c 65 61 73 65 20 63 68  65 63 6b 20 66 72 6f 6d  |lease check from|
00002ae0  20 22 3b 53 24 3b 22 20  74 6f 20 22 3b 45 24 3b  | ";S$;" to ";E$;|
00002af0  22 2e 22 0d ff                                    |"."..|
00002af5
P/AUTOsrc.m0
P/AUTOsrc.m1
P/AUTOsrc.m2
P/AUTOsrc.m4
P/AUTOsrc.m5