Home » CEEFAX disks » telesoftware3.adl » 17_10_87/SNAP
17_10_87/SNAP
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 » telesoftware3.adl |
Filename: | 17_10_87/SNAP |
Read OK: | ✔ |
File size: | 2016 bytes |
Load address: | 1900 |
Exec address: | 8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- CEEFAX disks » telesoftware5.adl » 12-03-88/SNAP
- CEEFAX disks » telesoftware3.adl » 17_10_87/SNAP
File contents
10REM Snapshot 20REM (c) Allan Kelly 24/7/86 30REM Start:Jan 86. Latest update:Feb 87 40REM For BBCs with 16K Sideways RAM 50: 60REM Thanks to Chris Foster and David "WACCI" Halligan 70: 80osfile=&FFDD 90oswrch=&FFEE 100osbyte=&FFF4 110osnewl=&FFE7 120osasci=&FFE3 130gsread=&FFC5 140gsinit=&FFC2 150: 160INPUT"File name for first disc file:"pot$ 170INPUT"File name for second disc file:"old$ 180: 190FOR pass=0 TO 2 STEP 2 200P%=&5000 210last=P% 220[ 230OPT pass 240BRK:BRK:BRK 250JMP enter+&3000 260OPT FNequb(&82) 270OPT FNequb(&11) 280OPT FNequb(4) 290OPT FNequs("Snapshot") 300BRK 310OPT FNequs("(C)") 320OPT FNequs("Allan Kelly") 330BRK:BRK:BRK 340BRK:BRK:BRK 350BRK:BRK:BRK 360: 370.enter CMP#5 380BEQ interbr 390CMP#9 400BEQ help 410CMP#4 420BEQ parse 430CMP#&FE 440BEQ stop 450RTS 460.stop LDA#0 470STA repeat_flag+&3000 480LDA#&FE 490RTS 500.interbr JMP inter+&3000 510: 520.help PHA \ help message 530TXA 540PHA 550TYA 560PHA 570LDX#dark MOD 256 580LDY#(dark+&3000) DIV 256 590JSR display+&3000 600PLA 610TAY 620PLA 630TAX 640PLA 650RTS 660: 670.display STX&70 680STY&71 690LDY#0 700.dback LDA(&70),Y 710JSR osasci 720INY 730CMP#0 740BNE dback 750RTS 760: 770.parse STY sy+&3000 780LDA(&F2),Y 790ORA#&20 800CMP#ASC"p" \ To change mask character change p here 810BNE pfo1 820INY 830.pfo1 STY sy+&3001 840LDX#0 850STX count+&3000 860.pba5 LDY sy+&3001 870.pba1 LDA(&F2),Y 880ORA#&20 890CMP comms+&3000,X 900BNE next_com 910CMP#&20 920BEQ end_com 930CMP#&2D 940BEQ end_com 950INX 960INY 970JMP pba1+&3000 980.next_com LDA comms+&3000,X 990CMP#&FF 1000BEQ bad_com 1010CMP#&2D 1020BEQ upto_next_com 1030CMP#&20 1040BEQ upto_next_com 1050INX 1060JMP next_com+&3000 1070.upto_next_com INX 1080INC count+&3000 1090JMP pba5+&3000 1100.end_com LDA count+&3000 1110ASL A 1120TAX 1130LDA com_addr+&3000,X 1140STA jump+&3000 1150LDA com_addr+&3001,X 1160STA jump+&3001 1170JMP(jump+&3000) 1180.bad_com LDY sy+&3000 1190LDA#4 1200RTS 1210: 1220.syntax \ an error has occured issue error &DC 1230LDY#0 1240STY&100 1250.pba2 LDA errorDC+&3000,Y 1260STA&101,Y 1270INY 1280CMP#0 1290BNE pba2 1300JMP&100 1310: 1320.asc_hex SEC 1330SBC#&30 1340CMP#9 1350BMI pfo2 1360SEC 1370SBC#7 1380.pfo2 CMP#0 1390BMI syntax 1400RTS 1410.cli_two_asc_hex 1420.pba3 INY 1430BEQ syntax 1440LDA(&F2),Y 1450CMP#&D 1460JSR valid_asc+&3000 1470BCS pba3 1480.pfo3 JSR asc_hex+&3000 1490STA sa+&3000 1500INY 1510LDA(&F2),Y 1520INY 1530CMP#&D 1540BEQ was 1550CMP#&20 1560BEQ was 1570JSR valid_asc+&3000 1580BCS syntax 1590BEQ was 1600ASL sa+&3000 1610ASL sa+&3000 1620ASL sa+&3000 1630ASL sa+&3000 1640JSR asc_hex+&3000 1650ORA sa+&3000 1660RTS 1670.was LDA sa+&3000 1680RTS 1690: 1700.valid_asc CMP#&30 1710BMI pset 1720CMP#&47 1730BCS pset 1740CMP#&3A 1750BMI pclear 1760CMP#&40 1770BMI pset 1780.pclear CLC 1790RTS 1800.pset SEC 1810RTS 1820: 1830.prepear LDA#&FF 1840STA got_imposter+&3000 1850SEI 1860LDY#0 1870.back LDA 0,Y 1880STA&AC00,Y 1890INY 1900CPY#0 1910BNE back 1920LDA#0 1930STA&70 1940STA&72 1950LDA#1 1960STA&71 1970LDA#&AD 1980STA&73 1990LDY#0 2000.back2 LDA(&70),Y 2010STA(&72),Y 2020INY 2030CPY#0 2040BNE back2 2050INC&71 2060INC&73 2070LDA&73 2080CMP#&C0 2090BNE back2 2100CLI 2110LDA#7 \ beep 2120JSR oswrch 2130LDA#0 2140RTS 2150: 2160.get LDY#0 \ take snapshot 2170.back1 LDA0,Y 2180STA&8A00,Y 2190INY 2200BNE back1 2210LDA#0 2220STA&70 2230STA&72 2240LDA#1 2250STA&71 2260LDA#&8B 2270STA&73 2280.back2 LDY#0 2290.back3 LDA(&70),Y 2300STA(&72),Y 2310INY 2320BNE back3 2330INC&71 2340INC&73 2350LDA&71 2360CMP#&15 2370BNE back2 2380LDA#0 2390STA&70 2400STA&72 2410LDA#1 2420STA&71 2430LDA#&AD 2440STA&73 2450.back5 LDY#0 2460.back6 LDA(&72),Y 2470STA(&70),Y 2480INY 2490BNE back6 2500INC&71 2510INC&73 2520LDA&71 2530CMP#&14 2540BNE back5 2550LDY#0 2560.back7 LDA&AC00,Y 2570STA0,Y 2580INY 2590BNE back7 2600LDY#0 2610.back4 LDA data+&3000,Y 2620STA&7E0,Y 2630INY 2640CMP#&D 2650BNE back4 2660CLI 2670JSR save+&3000 2680SEI 2690LDA#0 2700STA&70 2710STA&72 2720LDA#&30 2730STA&71 2740LDA#&8A 2750STA&73 2760.back8 LDY#0 2770.back9 LDA(&72),Y 2780STA(&70),Y 2790INY 2800BNE back9 2810INC&71 2820INC&73 2830LDA&73 2840CMP#&9F 2850BNE back8 2860LDA ss+&3000 2870STA&4508 2880LDY#0 2890.backA LDA data2+&3000,Y 2900STA&7E0,Y 2910INY 2920CMP#&D 2930BNE backA 2940CLI 2950JSR save+&3000 2960JMP put_plus+&3000 \ restore machine status 2970: 2980.put LDY#0 2990.gback1 LDA data3+&3000,Y 3000STA&7E0,Y 3010INY 3020CMP#&D 3030BNE gback1 3040JSR load+&3000 3050: 3060.put_plus LDA#0 3070STA&70 3080STA&72 3090LDA#&30 3100STA&71 3110LDA#&8A 3120STA&73 3130LDY#0 3140.gback2 LDA(&70),Y 3150STA(&72),Y 3160INY 3170CPY#0 3180BNE gback2 3190INC&71 3200INC&73 3210LDA&71 3220CMP#&45 3230BNE gback2 3240LDA&4508 3250STA ss+&3000 3260LDA#22 3270JSR oswrch 3280LDA&3355 3290STA mode+&3000 3300JSR oswrch 3310LDY#0 3320.gback3 LDA data4+&3000,Y 3330STA&7E0,Y 3340INY 3350CMP#&D 3360BNE gback3 3370JSR load+&3000 3380SEI 3390LDA#0 3400STA&70 3410STA&72 3420LDA#&8B 3430STA&71 3440LDA#&1 3450STA&73 3460LDY#0 3470.gback5 LDA(&70),Y 3480STA(&72),Y 3490INY 3500BNE gback5 3510INC&71 3520INC&73 3530LDA&71 3540CMP#&9F 3550BNE gback5 3560LDY#0 3570.gback6 LDA&8A00,Y 3580STA 0,Y 3590INY 3600BNE gback6 3610LDX mode+&3000 3620CPX#7 3630BNE other 3640LDA#13 3650STA&FE00 3660LDA&350 3670STA&FE01 3680LDA#12 3690STA&FE00 3700LDA&351 3710SEC 3720SBC#&74 3730EOR#&20 3740STA&FE01 3750.gback7 LDX ss+&3000 3760TXS 3770LDA repeat_flag+&3000 3780CMP#&FF 3790BNE no_repeat 3800JMP set_inter+&3000 3810.no_repeat LDA#0 3820CLI 3830RTS 3840.other LDA#&D 3850STA&FE00 3860LDA&350 3870LSR A 3880LSR A 3890LSR A 3900STA&FE01 3910LDA#&C 3920STA&FE00 3930LDA&351 3940LSR A 3950LSR A 3960LSR A 3970STA&FE01 3980JMP gback7+&3000 3990: 4000.wait LDA got_imposter+&3000 4010CMP#&FF 4020BEQ wok 4030JMP error+&3000 4040.wok JSR cli_two_asc_hex+&3000 4050STA waiting+&3000 4060.set_inter LDA#0 4070STA tim+&3001 4080JMP timer+&3000 4090: 4100.inter LDA#&40 \ Service timer interupt 4110STA&FE6D 4120LDA tim+&3000 4130CLC 4140ADC#1 \ Increase this number for an even faster Snapshot 4150STA tim+&3000 4160LDA tim+&3001 4170ADC#0 4180STA tim+&3001 4190CMP waiting+&3000 4200BEQ shoot 4210.timer LDA#&FF 4220STA&FE64 4230STA&FE65 4240LDA#&C0 4250STA&FE6E 4260LDA#0 4270CLI 4280RTS 4290.shoot TSX 4300STX ss+&3000 4310JMP get+&3000 4320: 4330.now LDA got_imposter+&3000 4340CMP#&FF 4350BNE no_snap 4360LDA#0 4370STA repeat_flag+&3000 4380JMP shoot+&3000 4390.no_snap JMP error+&3000 4400: 4410.restore JMP put+&3000 4420: 4430.repeat LDA got_imposter+&3000 4440CMP#&FF 4450BNE no_snap 4460STA repeat_flag+&3000 4470LDA#0 4480RTS 4490: 4500.save LDA#0 4510LDX#&E0 4520LDY#&7 4530JMP osfile 4540.load LDA#&FF 4550LDX#&E0 4560LDY#&7 4570JMP osfile 4580: 4590\ Data 4600.repeat_flag BRK 4610.waiting BRK 4620.got_imposter BRK 4630.tim BRK:BRK 4640.mode BRK 4650.ss BRK 4660.sa BRK:BRK 4670.sy BRK:BRK 4680.sx BRK:BRK 4690.count BRK 4700.jump BRK:BRK 4710.comms OPT FNequs("now") 4720OPT FNequb(&2D) 4730OPT FNequs("ready") 4740OPT FNequb(&2D) 4750OPT FNequs("restore") 4760OPT FNequb(&2D) 4770OPT FNequs("wait") 4780OPT FNequb(&20) 4790OPT FNequs("repeat") 4800OPT FNequb(&2D) 4810OPT FNequs("names") 4820OPT FNequb(&2D) 4830OPT FNequb(&FF) 4840.com_addr OPT FNequw(now+&3000) 4850OPT FNequw(prepear+&3000) 4860OPT FNequw(restore+&3000) 4870OPT FNequw(wait+&3000) 4880OPT FNequw(repeat+&3000) 4890OPT FNequw(names+&3000) 4900.errorDC OPT FNequb(&DC) 4910OPT FNequs("Syntax error") 4920BRK 4930.dark OPT FNequb(&D) 4940OPT FNequs("Snapshot Version PALO004") 4950OPT FNequw(&000D) 4960.data OPT FNequw(&7F3) 4970OPT FNequd(&1400) 4980OPT FNequd(&1400) 4990OPT FNequd(&1400) 5000OPT FNequd(&8000) 5010BRK 5020OPT FNequs(pot$) 5030OPT FNequb(&D) 5040.data2 OPT FNequw(&7F3) 5050OPT FNequd(0) 5060OPT FNequd(0) 5070OPT FNequd(&3000) 5080OPT FNequd(&4510) 5090BRK 5100OPT FNequs(old$) 5110OPT FNequb(&D) 5120.data3 OPT FNequw(&7F3) 5130OPT FNequd(&3000) 5140OPT FNequd(0) 5150OPT FNequd(0) 5160OPT FNequd(0) 5170BRK 5180OPT FNequs(old$) 5190OPT FNequb(&D) 5200.data4 OPT FNequw(&7F3) 5210OPT FNequd(&1400) 5220OPT FNequd(0) 5230OPT FNequd(0) 5240OPT FNequd(0) 5250BRK 5260OPT FNequs(pot$) 5270OPT FNequb(&D) 5280 5290.error LDX#0 5300.err_back LDA err_mess+&3000,X 5310STA &100,X 5320INX 5330CPX#&E 5340BNE err_back 5350JMP&100 5360.err_mess BRK 5370OPT FNequb(&80) 5380OPT FNequs("No imposter") 5390BRK 5400 5410.files OPT FNequs(pot$+" "+old$) 5420BRK 5430.names LDY#0 5440.na_back LDA files,Y 5450JSR oswrch 5460INY 5470CMP#0 5480BNE na_back 5490LDA#0 5500RTS 5510] 5520NEXT 5530: 5540PRINT"OK" 5550PRINT"*SAVE U.CODE 5000 54FF" 5560END 5570: 5580DEFFNequs(x$) 5590$P%=x$ 5600P%=P%+LEN(x$) 5610:=pass 5620: 5630DEFFNequw(x) 5640!P%=x 5650P%=P%+2 5660:=pass 5670: 5680DEFFNequb(x) 5690?P%=x 5700P%=P%+1 5710:=pass 5720: 5730DEFFNequd(x) 5740!P%=x 5750P%=P%+4 5760:=pass
� Snapshot � (c) Allan Kelly 24/7/86 (� Start:Jan 86. Latest update:Feb 87 ($� For BBCs with 16K Sideways RAM 2: <7� Thanks to Chris Foster and David "WACCI" Halligan F: Posfile=&FFDD Zoswrch=&FFEE dosbyte=&FFF4 nosnewl=&FFE7 xosasci=&FFE3 �gsread=&FFC5 �gsinit=&FFC2 �: �)�"File name for first disc file:"pot$ �*�"File name for second disc file:"old$ �: �� pass=0 � 2 � 2 �P%=&5000 �last=P% �[ �OPT pass �BRK:BRK:BRK �JMP enter+&3000 OPT �equb(&82) OPT �equb(&11) OPT �equb(4) "OPT �equs("Snapshot") ,BRK 6OPT �equs("(C)") @OPT �equs("Allan Kelly") JBRK:BRK:BRK TBRK:BRK:BRK ^BRK:BRK:BRK h: r.enter CMP#5 |BEQ interbr � CMP#9 �BEQ help � CMP#4 � BEQ parse �CMP#&FE �BEQ stop �RTS �.stop LDA#0 �STA repeat_flag+&3000 �LDA#&FE �RTS �.interbr JMP inter+&3000 �: .help PHA \ help message TXA PHA &TYA 0PHA :LDX#dark � 256 DLDY#(dark+&3000) � 256 NJSR display+&3000 XPLA bTAY lPLA vTAX �PLA �RTS �: �.display STX&70 � STY&71 � LDY#0 �.dback LDA(&70),Y �JSR osasci �INY � CMP#0 � BNE dback �RTS �: .parse STY sy+&3000 LDA(&F2),Y �A#&20 5CMP#�"p" \ To change mask character change p here *BNE pfo1 4INY >.pfo1 STY sy+&3001 H LDX#0 RSTX count+&3000 \.pba5 LDY sy+&3001 f.pba1 LDA(&F2),Y p �A#&20 zCMP comms+&3000,X �BNE next_com �CMP#&20 �BEQ end_com �CMP#&2D �BEQ end_com �INX �INY �JMP pba1+&3000 �.next_com LDA comms+&3000,X �CMP#&FF �BEQ bad_com �CMP#&2D �BEQ upto_next_com CMP#&20 BEQ upto_next_com INX $JMP next_com+&3000 ..upto_next_com INX 8INC count+&3000 BJMP pba5+&3000 L.end_com LDA count+&3000 V ASL A `TAX jLDA com_addr+&3000,X tSTA jump+&3000 ~LDA com_addr+&3001,X �STA jump+&3001 �JMP(jump+&3000) �.bad_com LDY sy+&3000 � LDA#4 �RTS �: �2.syntax \ an error has occured issue error &DC � LDY#0 �STY&100 �.pba2 LDA errorDC+&3000,Y � STA&101,Y �INY CMP#0 BNE pba2 JMP&100 : (.asc_hex SEC 2SBC#&30 < CMP#9 FBMI pfo2 PSEC Z SBC#7 d.pfo2 CMP#0 nBMI syntax xRTS �.cli_two_asc_hex � .pba3 INY �BEQ syntax �LDA(&F2),Y � CMP#&D �JSR valid_asc+&3000 �BCS pba3 �.pfo3 JSR asc_hex+&3000 �STA sa+&3000 �INY �LDA(&F2),Y �INY � CMP#&D BEQ was CMP#&20 BEQ was "JSR valid_asc+&3000 ,BCS syntax 6BEQ was @ASL sa+&3000 JASL sa+&3000 TASL sa+&3000 ^ASL sa+&3000 hJSR asc_hex+&3000 r�A sa+&3000 |RTS �.was LDA sa+&3000 �RTS �: �.valid_asc CMP#&30 �BMI pset �CMP#&47 �BCS pset �CMP#&3A �BMI pclear �CMP#&40 �BMI pset �.pclear CLC �RTS .pset SEC RTS : &.prepear LDA#&FF 0STA got_imposter+&3000 :SEI D LDY#0 N.back LDA 0,Y XSTA&AC00,Y bINY l CPY#0 vBNE back � LDA#0 � STA&70 � STA&72 � LDA#1 � STA&71 �LDA#&AD � STA&73 � LDY#0 �.back2 LDA(&70),Y �STA(&72),Y �INY � CPY#0 � BNE back2 INC&71 INC&73 LDA&73 CMP#&C0 * BNE back2 4CLI >LDA#7 \ beep HJSR oswrch R LDA#0 \RTS f: p.get LDY#0 \ take snapshot z.back1 LDA0,Y �STA&8A00,Y �INY � BNE back1 � LDA#0 � STA&70 � STA&72 � LDA#1 � STA&71 �LDA#&8B � STA&73 �.back2 LDY#0 �.back3 LDA(&70),Y �STA(&72),Y INY BNE back3 INC&71 $ INC&73 . LDA&71 8CMP#&15 B BNE back2 L LDA#0 V STA&70 ` STA&72 j LDA#1 t STA&71 ~LDA#&AD � STA&73 �.back5 LDY#0 �.back6 LDA(&72),Y �STA(&70),Y �INY � BNE back6 � INC&71 � INC&73 � LDA&71 �CMP#&14 � BNE back5 � LDY#0 .back7 LDA&AC00,Y STA0,Y INY BNE back7 ( LDY#0 2.back4 LDA data+&3000,Y < STA&7E0,Y FINY P CMP#&D Z BNE back4 dCLI nJSR save+&3000 xSEI � LDA#0 � STA&70 � STA&72 �LDA#&30 � STA&71 �LDA#&8A � STA&73 �.back8 LDY#0 �.back9 LDA(&72),Y �STA(&70),Y �INY � BNE back9 � INC&71 INC&73 LDA&73 CMP#&9F " BNE back8 ,LDA ss+&3000 6STA&4508 @ LDY#0 J.backA LDA data2+&3000,Y T STA&7E0,Y ^INY h CMP#&D r BNE backA |CLI �JSR save+&3000 �/JMP put_plus+&3000 \ restore machine status �: �.put LDY#0 �.gback1 LDA data3+&3000,Y � STA&7E0,Y �INY � CMP#&D �BNE gback1 �JSR load+&3000 �: �.put_plus LDA#0 � STA&70 STA&72 LDA#&30 STA&71 &LDA#&8A 0 STA&73 : LDY#0 D.gback2 LDA(&70),Y NSTA(&72),Y XINY b CPY#0 lBNE gback2 v INC&71 � INC&73 � LDA&71 �CMP#&45 �BNE gback2 �LDA&4508 �STA ss+&3000 � LDA#22 �JSR oswrch �LDA&3355 �STA mode+&3000 �JSR oswrch � LDY#0 �.gback3 LDA data4+&3000,Y STA&7E0,Y INY CMP#&D BNE gback3 *JSR load+&3000 4SEI > LDA#0 H STA&70 R STA&72 \LDA#&8B f STA&71 p LDA#&1 z STA&73 � LDY#0 �.gback5 LDA(&70),Y �STA(&72),Y �INY �BNE gback5 � INC&71 � INC&73 � LDA&71 �CMP#&9F �BNE gback5 � LDY#0 �.gback6 LDA&8A00,Y �STA 0,Y INY BNE gback6 LDX mode+&3000 $ CPX#7 . BNE other 8 LDA#13 BSTA&FE00 LLDA&350 VSTA&FE01 ` LDA#12 jSTA&FE00 tLDA&351 ~SEC �SBC#&74 � �#&20 �STA&FE01 �.gback7 LDX ss+&3000 �TXS �LDA repeat_flag+&3000 �CMP#&FF �BNE no_repeat �JMP set_inter+&3000 �.no_repeat LDA#0 �CLI �RTS .other LDA#&D STA&FE00 LDA&350 LSR A ( LSR A 2 LSR A <STA&FE01 F LDA#&C PSTA&FE00 ZLDA&351 d LSR A n LSR A x LSR A �STA&FE01 �JMP gback7+&3000 �: � .wait LDA got_imposter+&3000 �CMP#&FF �BEQ wok �JMP error+&3000 �".wok JSR cli_two_asc_hex+&3000 �STA waiting+&3000 �.set_inter LDA#0 �STA tim+&3001 �JMP timer+&3000 �: +.inter LDA#&40 \ Service timer interupt STA&FE6D LDA tim+&3000 "CLC ,<ADC#1 \ Increase this number for an even faster Snapshot 6STA tim+&3000 @LDA tim+&3001 J ADC#0 TSTA tim+&3001 ^CMP waiting+&3000 h BEQ shoot r.timer LDA#&FF |STA&FE64 �STA&FE65 �LDA#&C0 �STA&FE6E � LDA#0 �CLI �RTS �.shoot TSX �STX ss+&3000 �JMP get+&3000 �: �.now LDA got_imposter+&3000 �CMP#&FF �BNE no_snap LDA#0 STA repeat_flag+&3000 JMP shoot+&3000 &.no_snap JMP error+&3000 0: :.restore JMP put+&3000 D: N".repeat LDA got_imposter+&3000 XCMP#&FF bBNE no_snap lSTA repeat_flag+&3000 v LDA#0 �RTS �: �.save LDA#0 �LDX#&E0 � LDY#&7 �JMP osfile �.load LDA#&FF �LDX#&E0 � LDY#&7 �JMP osfile �: � \ Data �.repeat_flag BRK .waiting BRK .got_imposter BRK .tim BRK:BRK .mode BRK *.ss BRK 4.sa BRK:BRK >.sy BRK:BRK H.sx BRK:BRK R.count BRK \.jump BRK:BRK f.comms OPT �equs("now") pOPT �equb(&2D) zOPT �equs("ready") �OPT �equb(&2D) �OPT �equs("restore") �OPT �equb(&2D) �OPT �equs("wait") �OPT �equb(&20) �OPT �equs("repeat") �OPT �equb(&2D) �OPT �equs("names") �OPT �equb(&2D) �OPT �equb(&FF) �".com_addr OPT �equw(now+&3000) �OPT �equw(prepear+&3000) �OPT �equw(restore+&3000) OPT �equw(wait+&3000) OPT �equw(repeat+&3000) OPT �equw(names+&3000) $.errorDC OPT �equb(&DC) .OPT �equs("Syntax error") 8BRK B.dark OPT �equb(&D) L)OPT �equs("Snapshot Version PALO004") VOPT �equw(&000D) `.data OPT �equw(&7F3) jOPT �equd(&1400) tOPT �equd(&1400) ~OPT �equd(&1400) �OPT �equd(&8000) �BRK �OPT �equs(pot$) �OPT �equb(&D) �.data2 OPT �equw(&7F3) �OPT �equd(0) �OPT �equd(0) �OPT �equd(&3000) �OPT �equd(&4510) �BRK �OPT �equs(old$) �OPT �equb(&D) .data3 OPT �equw(&7F3) OPT �equd(&3000) OPT �equd(0) OPT �equd(0) (OPT �equd(0) 2BRK <OPT �equs(old$) FOPT �equb(&D) P.data4 OPT �equw(&7F3) ZOPT �equd(&1400) dOPT �equd(0) nOPT �equd(0) xOPT �equd(0) �BRK �OPT �equs(pot$) �OPT �equb(&D) � �.error LDX#0 �".err_back LDA err_mess+&3000,X �STA &100,X �INX � CPX#&E �BNE err_back �JMP&100 �.err_mess BRK �OPT �equb(&80) OPT �equs("No imposter") BRK "#.files OPT �equs(pot$+" "+old$) ,BRK 6.names LDY#0 @.na_back LDA files,Y JJSR oswrch TINY ^ CMP#0 hBNE na_back r LDA#0 |RTS �] �� �: � �"OK" ��"*SAVE U.CODE 5000 54FF" �� �: �ݤequs(x$) � $P%=x$ �P%=P%+�(x$) � :=pass �: � ݤequw(x) !P%=x P%=P%+2 :=pass &: 0 ݤequb(x) : ?P%=x DP%=P%+1 N :=pass X: b ݤequd(x) l !P%=x vP%=P%+4 � :=pass �
00000000 0d 00 0a 0e f4 20 53 6e 61 70 73 68 6f 74 0d 00 |..... Snapshot..| 00000010 14 1d f4 20 28 63 29 20 41 6c 6c 61 6e 20 4b 65 |... (c) Allan Ke| 00000020 6c 6c 79 20 32 34 2f 37 2f 38 36 0d 00 1e 28 f4 |lly 24/7/86...(.| 00000030 20 53 74 61 72 74 3a 4a 61 6e 20 38 36 2e 20 4c | Start:Jan 86. L| 00000040 61 74 65 73 74 20 75 70 64 61 74 65 3a 46 65 62 |atest update:Feb| 00000050 20 38 37 0d 00 28 24 f4 20 46 6f 72 20 42 42 43 | 87..($. For BBC| 00000060 73 20 77 69 74 68 20 31 36 4b 20 53 69 64 65 77 |s with 16K Sidew| 00000070 61 79 73 20 52 41 4d 0d 00 32 05 3a 0d 00 3c 37 |ays RAM..2.:..<7| 00000080 f4 20 54 68 61 6e 6b 73 20 74 6f 20 43 68 72 69 |. Thanks to Chri| 00000090 73 20 46 6f 73 74 65 72 20 61 6e 64 20 44 61 76 |s Foster and Dav| 000000a0 69 64 20 22 57 41 43 43 49 22 20 48 61 6c 6c 69 |id "WACCI" Halli| 000000b0 67 61 6e 0d 00 46 05 3a 0d 00 50 10 6f 73 66 69 |gan..F.:..P.osfi| 000000c0 6c 65 3d 26 46 46 44 44 0d 00 5a 10 6f 73 77 72 |le=&FFDD..Z.oswr| 000000d0 63 68 3d 26 46 46 45 45 0d 00 64 10 6f 73 62 79 |ch=&FFEE..d.osby| 000000e0 74 65 3d 26 46 46 46 34 0d 00 6e 10 6f 73 6e 65 |te=&FFF4..n.osne| 000000f0 77 6c 3d 26 46 46 45 37 0d 00 78 10 6f 73 61 73 |wl=&FFE7..x.osas| 00000100 63 69 3d 26 46 46 45 33 0d 00 82 10 67 73 72 65 |ci=&FFE3....gsre| 00000110 61 64 3d 26 46 46 43 35 0d 00 8c 10 67 73 69 6e |ad=&FFC5....gsin| 00000120 69 74 3d 26 46 46 43 32 0d 00 96 05 3a 0d 00 a0 |it=&FFC2....:...| 00000130 29 e8 22 46 69 6c 65 20 6e 61 6d 65 20 66 6f 72 |)."File name for| 00000140 20 66 69 72 73 74 20 64 69 73 63 20 66 69 6c 65 | first disc file| 00000150 3a 22 70 6f 74 24 0d 00 aa 2a e8 22 46 69 6c 65 |:"pot$...*."File| 00000160 20 6e 61 6d 65 20 66 6f 72 20 73 65 63 6f 6e 64 | name for second| 00000170 20 64 69 73 63 20 66 69 6c 65 3a 22 6f 6c 64 24 | disc file:"old$| 00000180 0d 00 b4 05 3a 0d 00 be 14 e3 20 70 61 73 73 3d |....:..... pass=| 00000190 30 20 b8 20 32 20 88 20 32 0d 00 c8 0c 50 25 3d |0 . 2 . 2....P%=| 000001a0 26 35 30 30 30 0d 00 d2 0b 6c 61 73 74 3d 50 25 |&5000....last=P%| 000001b0 0d 00 dc 05 5b 0d 00 e6 0c 4f 50 54 20 70 61 73 |....[....OPT pas| 000001c0 73 0d 00 f0 0f 42 52 4b 3a 42 52 4b 3a 42 52 4b |s....BRK:BRK:BRK| 000001d0 0d 00 fa 13 4a 4d 50 20 65 6e 74 65 72 2b 26 33 |....JMP enter+&3| 000001e0 30 30 30 0d 01 04 12 4f 50 54 20 a4 65 71 75 62 |000....OPT .equb| 000001f0 28 26 38 32 29 0d 01 0e 12 4f 50 54 20 a4 65 71 |(&82)....OPT .eq| 00000200 75 62 28 26 31 31 29 0d 01 18 10 4f 50 54 20 a4 |ub(&11)....OPT .| 00000210 65 71 75 62 28 34 29 0d 01 22 19 4f 50 54 20 a4 |equb(4)..".OPT .| 00000220 65 71 75 73 28 22 53 6e 61 70 73 68 6f 74 22 29 |equs("Snapshot")| 00000230 0d 01 2c 07 42 52 4b 0d 01 36 14 4f 50 54 20 a4 |..,.BRK..6.OPT .| 00000240 65 71 75 73 28 22 28 43 29 22 29 0d 01 40 1c 4f |equs("(C)")..@.O| 00000250 50 54 20 a4 65 71 75 73 28 22 41 6c 6c 61 6e 20 |PT .equs("Allan | 00000260 4b 65 6c 6c 79 22 29 0d 01 4a 0f 42 52 4b 3a 42 |Kelly")..J.BRK:B| 00000270 52 4b 3a 42 52 4b 0d 01 54 0f 42 52 4b 3a 42 52 |RK:BRK..T.BRK:BR| 00000280 4b 3a 42 52 4b 0d 01 5e 0f 42 52 4b 3a 42 52 4b |K:BRK..^.BRK:BRK| 00000290 3a 42 52 4b 0d 01 68 05 3a 0d 01 72 10 2e 65 6e |:BRK..h.:..r..en| 000002a0 74 65 72 20 43 4d 50 23 35 0d 01 7c 0f 42 45 51 |ter CMP#5..|.BEQ| 000002b0 20 69 6e 74 65 72 62 72 0d 01 86 09 43 4d 50 23 | interbr....CMP#| 000002c0 39 0d 01 90 0c 42 45 51 20 68 65 6c 70 0d 01 9a |9....BEQ help...| 000002d0 09 43 4d 50 23 34 0d 01 a4 0d 42 45 51 20 70 61 |.CMP#4....BEQ pa| 000002e0 72 73 65 0d 01 ae 0b 43 4d 50 23 26 46 45 0d 01 |rse....CMP#&FE..| 000002f0 b8 0c 42 45 51 20 73 74 6f 70 0d 01 c2 07 52 54 |..BEQ stop....RT| 00000300 53 0d 01 cc 0f 2e 73 74 6f 70 20 4c 44 41 23 30 |S.....stop LDA#0| 00000310 0d 01 d6 19 53 54 41 20 72 65 70 65 61 74 5f 66 |....STA repeat_f| 00000320 6c 61 67 2b 26 33 30 30 30 0d 01 e0 0b 4c 44 41 |lag+&3000....LDA| 00000330 23 26 46 45 0d 01 ea 07 52 54 53 0d 01 f4 1c 2e |#&FE....RTS.....| 00000340 69 6e 74 65 72 62 72 20 4a 4d 50 20 69 6e 74 65 |interbr JMP inte| 00000350 72 2b 26 33 30 30 30 0d 01 fe 05 3a 0d 02 08 1c |r+&3000....:....| 00000360 2e 68 65 6c 70 20 50 48 41 20 5c 20 68 65 6c 70 |.help PHA \ help| 00000370 20 6d 65 73 73 61 67 65 0d 02 12 07 54 58 41 0d | message....TXA.| 00000380 02 1c 07 50 48 41 0d 02 26 07 54 59 41 0d 02 30 |...PHA..&.TYA..0| 00000390 07 50 48 41 0d 02 3a 12 4c 44 58 23 64 61 72 6b |.PHA..:.LDX#dark| 000003a0 20 83 20 32 35 36 0d 02 44 1a 4c 44 59 23 28 64 | . 256..D.LDY#(d| 000003b0 61 72 6b 2b 26 33 30 30 30 29 20 81 20 32 35 36 |ark+&3000) . 256| 000003c0 0d 02 4e 15 4a 53 52 20 64 69 73 70 6c 61 79 2b |..N.JSR display+| 000003d0 26 33 30 30 30 0d 02 58 07 50 4c 41 0d 02 62 07 |&3000..X.PLA..b.| 000003e0 54 41 59 0d 02 6c 07 50 4c 41 0d 02 76 07 54 41 |TAY..l.PLA..v.TA| 000003f0 58 0d 02 80 07 50 4c 41 0d 02 8a 07 52 54 53 0d |X....PLA....RTS.| 00000400 02 94 05 3a 0d 02 9e 13 2e 64 69 73 70 6c 61 79 |...:.....display| 00000410 20 53 54 58 26 37 30 0d 02 a8 0a 53 54 59 26 37 | STX&70....STY&7| 00000420 31 0d 02 b2 09 4c 44 59 23 30 0d 02 bc 15 2e 64 |1....LDY#0.....d| 00000430 62 61 63 6b 20 4c 44 41 28 26 37 30 29 2c 59 0d |back LDA(&70),Y.| 00000440 02 c6 0e 4a 53 52 20 6f 73 61 73 63 69 0d 02 d0 |...JSR osasci...| 00000450 07 49 4e 59 0d 02 da 09 43 4d 50 23 30 0d 02 e4 |.INY....CMP#0...| 00000460 0d 42 4e 45 20 64 62 61 63 6b 0d 02 ee 07 52 54 |.BNE dback....RT| 00000470 53 0d 02 f8 05 3a 0d 03 02 17 2e 70 61 72 73 65 |S....:.....parse| 00000480 20 53 54 59 20 73 79 2b 26 33 30 30 30 0d 03 0c | STY sy+&3000...| 00000490 0e 4c 44 41 28 26 46 32 29 2c 59 0d 03 16 0a 84 |.LDA(&F2),Y.....| 000004a0 41 23 26 32 30 0d 03 20 35 43 4d 50 23 97 22 70 |A#&20.. 5CMP#."p| 000004b0 22 20 5c 20 54 6f 20 63 68 61 6e 67 65 20 6d 61 |" \ To change ma| 000004c0 73 6b 20 63 68 61 72 61 63 74 65 72 20 63 68 61 |sk character cha| 000004d0 6e 67 65 20 70 20 68 65 72 65 0d 03 2a 0c 42 4e |nge p here..*.BN| 000004e0 45 20 70 66 6f 31 0d 03 34 07 49 4e 59 0d 03 3e |E pfo1..4.INY..>| 000004f0 16 2e 70 66 6f 31 20 53 54 59 20 73 79 2b 26 33 |..pfo1 STY sy+&3| 00000500 30 30 31 0d 03 48 09 4c 44 58 23 30 0d 03 52 13 |001..H.LDX#0..R.| 00000510 53 54 58 20 63 6f 75 6e 74 2b 26 33 30 30 30 0d |STX count+&3000.| 00000520 03 5c 16 2e 70 62 61 35 20 4c 44 59 20 73 79 2b |.\..pba5 LDY sy+| 00000530 26 33 30 30 31 0d 03 66 14 2e 70 62 61 31 20 4c |&3001..f..pba1 L| 00000540 44 41 28 26 46 32 29 2c 59 0d 03 70 0a 84 41 23 |DA(&F2),Y..p..A#| 00000550 26 32 30 0d 03 7a 15 43 4d 50 20 63 6f 6d 6d 73 |&20..z.CMP comms| 00000560 2b 26 33 30 30 30 2c 58 0d 03 84 10 42 4e 45 20 |+&3000,X....BNE | 00000570 6e 65 78 74 5f 63 6f 6d 0d 03 8e 0b 43 4d 50 23 |next_com....CMP#| 00000580 26 32 30 0d 03 98 0f 42 45 51 20 65 6e 64 5f 63 |&20....BEQ end_c| 00000590 6f 6d 0d 03 a2 0b 43 4d 50 23 26 32 44 0d 03 ac |om....CMP#&2D...| 000005a0 0f 42 45 51 20 65 6e 64 5f 63 6f 6d 0d 03 b6 07 |.BEQ end_com....| 000005b0 49 4e 58 0d 03 c0 07 49 4e 59 0d 03 ca 12 4a 4d |INX....INY....JM| 000005c0 50 20 70 62 61 31 2b 26 33 30 30 30 0d 03 d4 1f |P pba1+&3000....| 000005d0 2e 6e 65 78 74 5f 63 6f 6d 20 4c 44 41 20 63 6f |.next_com LDA co| 000005e0 6d 6d 73 2b 26 33 30 30 30 2c 58 0d 03 de 0b 43 |mms+&3000,X....C| 000005f0 4d 50 23 26 46 46 0d 03 e8 0f 42 45 51 20 62 61 |MP#&FF....BEQ ba| 00000600 64 5f 63 6f 6d 0d 03 f2 0b 43 4d 50 23 26 32 44 |d_com....CMP#&2D| 00000610 0d 03 fc 15 42 45 51 20 75 70 74 6f 5f 6e 65 78 |....BEQ upto_nex| 00000620 74 5f 63 6f 6d 0d 04 06 0b 43 4d 50 23 26 32 30 |t_com....CMP#&20| 00000630 0d 04 10 15 42 45 51 20 75 70 74 6f 5f 6e 65 78 |....BEQ upto_nex| 00000640 74 5f 63 6f 6d 0d 04 1a 07 49 4e 58 0d 04 24 16 |t_com....INX..$.| 00000650 4a 4d 50 20 6e 65 78 74 5f 63 6f 6d 2b 26 33 30 |JMP next_com+&30| 00000660 30 30 0d 04 2e 16 2e 75 70 74 6f 5f 6e 65 78 74 |00.....upto_next| 00000670 5f 63 6f 6d 20 49 4e 58 0d 04 38 13 49 4e 43 20 |_com INX..8.INC | 00000680 63 6f 75 6e 74 2b 26 33 30 30 30 0d 04 42 12 4a |count+&3000..B.J| 00000690 4d 50 20 70 62 61 35 2b 26 33 30 30 30 0d 04 4c |MP pba5+&3000..L| 000006a0 1c 2e 65 6e 64 5f 63 6f 6d 20 4c 44 41 20 63 6f |..end_com LDA co| 000006b0 75 6e 74 2b 26 33 30 30 30 0d 04 56 09 41 53 4c |unt+&3000..V.ASL| 000006c0 20 41 0d 04 60 07 54 41 58 0d 04 6a 18 4c 44 41 | A..`.TAX..j.LDA| 000006d0 20 63 6f 6d 5f 61 64 64 72 2b 26 33 30 30 30 2c | com_addr+&3000,| 000006e0 58 0d 04 74 12 53 54 41 20 6a 75 6d 70 2b 26 33 |X..t.STA jump+&3| 000006f0 30 30 30 0d 04 7e 18 4c 44 41 20 63 6f 6d 5f 61 |000..~.LDA com_a| 00000700 64 64 72 2b 26 33 30 30 31 2c 58 0d 04 88 12 53 |ddr+&3001,X....S| 00000710 54 41 20 6a 75 6d 70 2b 26 33 30 30 31 0d 04 92 |TA jump+&3001...| 00000720 13 4a 4d 50 28 6a 75 6d 70 2b 26 33 30 30 30 29 |.JMP(jump+&3000)| 00000730 0d 04 9c 19 2e 62 61 64 5f 63 6f 6d 20 4c 44 59 |.....bad_com LDY| 00000740 20 73 79 2b 26 33 30 30 30 0d 04 a6 09 4c 44 41 | sy+&3000....LDA| 00000750 23 34 0d 04 b0 07 52 54 53 0d 04 ba 05 3a 0d 04 |#4....RTS....:..| 00000760 c4 32 2e 73 79 6e 74 61 78 20 5c 20 61 6e 20 65 |.2.syntax \ an e| 00000770 72 72 6f 72 20 68 61 73 20 6f 63 63 75 72 65 64 |rror has occured| 00000780 20 69 73 73 75 65 20 65 72 72 6f 72 20 26 44 43 | issue error &DC| 00000790 0d 04 ce 09 4c 44 59 23 30 0d 04 d8 0b 53 54 59 |....LDY#0....STY| 000007a0 26 31 30 30 0d 04 e2 1d 2e 70 62 61 32 20 4c 44 |&100.....pba2 LD| 000007b0 41 20 65 72 72 6f 72 44 43 2b 26 33 30 30 30 2c |A errorDC+&3000,| 000007c0 59 0d 04 ec 0d 53 54 41 26 31 30 31 2c 59 0d 04 |Y....STA&101,Y..| 000007d0 f6 07 49 4e 59 0d 05 00 09 43 4d 50 23 30 0d 05 |..INY....CMP#0..| 000007e0 0a 0c 42 4e 45 20 70 62 61 32 0d 05 14 0b 4a 4d |..BNE pba2....JM| 000007f0 50 26 31 30 30 0d 05 1e 05 3a 0d 05 28 10 2e 61 |P&100....:..(..a| 00000800 73 63 5f 68 65 78 20 53 45 43 0d 05 32 0b 53 42 |sc_hex SEC..2.SB| 00000810 43 23 26 33 30 0d 05 3c 09 43 4d 50 23 39 0d 05 |C#&30..<.CMP#9..| 00000820 46 0c 42 4d 49 20 70 66 6f 32 0d 05 50 07 53 45 |F.BMI pfo2..P.SE| 00000830 43 0d 05 5a 09 53 42 43 23 37 0d 05 64 0f 2e 70 |C..Z.SBC#7..d..p| 00000840 66 6f 32 20 43 4d 50 23 30 0d 05 6e 0e 42 4d 49 |fo2 CMP#0..n.BMI| 00000850 20 73 79 6e 74 61 78 0d 05 78 07 52 54 53 0d 05 | syntax..x.RTS..| 00000860 82 14 2e 63 6c 69 5f 74 77 6f 5f 61 73 63 5f 68 |...cli_two_asc_h| 00000870 65 78 0d 05 8c 0d 2e 70 62 61 33 20 49 4e 59 0d |ex.....pba3 INY.| 00000880 05 96 0e 42 45 51 20 73 79 6e 74 61 78 0d 05 a0 |...BEQ syntax...| 00000890 0e 4c 44 41 28 26 46 32 29 2c 59 0d 05 aa 0a 43 |.LDA(&F2),Y....C| 000008a0 4d 50 23 26 44 0d 05 b4 17 4a 53 52 20 76 61 6c |MP#&D....JSR val| 000008b0 69 64 5f 61 73 63 2b 26 33 30 30 30 0d 05 be 0c |id_asc+&3000....| 000008c0 42 43 53 20 70 62 61 33 0d 05 c8 1b 2e 70 66 6f |BCS pba3.....pfo| 000008d0 33 20 4a 53 52 20 61 73 63 5f 68 65 78 2b 26 33 |3 JSR asc_hex+&3| 000008e0 30 30 30 0d 05 d2 10 53 54 41 20 73 61 2b 26 33 |000....STA sa+&3| 000008f0 30 30 30 0d 05 dc 07 49 4e 59 0d 05 e6 0e 4c 44 |000....INY....LD| 00000900 41 28 26 46 32 29 2c 59 0d 05 f0 07 49 4e 59 0d |A(&F2),Y....INY.| 00000910 05 fa 0a 43 4d 50 23 26 44 0d 06 04 0b 42 45 51 |...CMP#&D....BEQ| 00000920 20 77 61 73 0d 06 0e 0b 43 4d 50 23 26 32 30 0d | was....CMP#&20.| 00000930 06 18 0b 42 45 51 20 77 61 73 0d 06 22 17 4a 53 |...BEQ was..".JS| 00000940 52 20 76 61 6c 69 64 5f 61 73 63 2b 26 33 30 30 |R valid_asc+&300| 00000950 30 0d 06 2c 0e 42 43 53 20 73 79 6e 74 61 78 0d |0..,.BCS syntax.| 00000960 06 36 0b 42 45 51 20 77 61 73 0d 06 40 10 41 53 |.6.BEQ was..@.AS| 00000970 4c 20 73 61 2b 26 33 30 30 30 0d 06 4a 10 41 53 |L sa+&3000..J.AS| 00000980 4c 20 73 61 2b 26 33 30 30 30 0d 06 54 10 41 53 |L sa+&3000..T.AS| 00000990 4c 20 73 61 2b 26 33 30 30 30 0d 06 5e 10 41 53 |L sa+&3000..^.AS| 000009a0 4c 20 73 61 2b 26 33 30 30 30 0d 06 68 15 4a 53 |L sa+&3000..h.JS| 000009b0 52 20 61 73 63 5f 68 65 78 2b 26 33 30 30 30 0d |R asc_hex+&3000.| 000009c0 06 72 0f 84 41 20 73 61 2b 26 33 30 30 30 0d 06 |.r..A sa+&3000..| 000009d0 7c 07 52 54 53 0d 06 86 15 2e 77 61 73 20 4c 44 ||.RTS.....was LD| 000009e0 41 20 73 61 2b 26 33 30 30 30 0d 06 90 07 52 54 |A sa+&3000....RT| 000009f0 53 0d 06 9a 05 3a 0d 06 a4 16 2e 76 61 6c 69 64 |S....:.....valid| 00000a00 5f 61 73 63 20 43 4d 50 23 26 33 30 0d 06 ae 0c |_asc CMP#&30....| 00000a10 42 4d 49 20 70 73 65 74 0d 06 b8 0b 43 4d 50 23 |BMI pset....CMP#| 00000a20 26 34 37 0d 06 c2 0c 42 43 53 20 70 73 65 74 0d |&47....BCS pset.| 00000a30 06 cc 0b 43 4d 50 23 26 33 41 0d 06 d6 0e 42 4d |...CMP#&3A....BM| 00000a40 49 20 70 63 6c 65 61 72 0d 06 e0 0b 43 4d 50 23 |I pclear....CMP#| 00000a50 26 34 30 0d 06 ea 0c 42 4d 49 20 70 73 65 74 0d |&40....BMI pset.| 00000a60 06 f4 0f 2e 70 63 6c 65 61 72 20 43 4c 43 0d 06 |....pclear CLC..| 00000a70 fe 07 52 54 53 0d 07 08 0d 2e 70 73 65 74 20 53 |..RTS.....pset S| 00000a80 45 43 0d 07 12 07 52 54 53 0d 07 1c 05 3a 0d 07 |EC....RTS....:..| 00000a90 26 14 2e 70 72 65 70 65 61 72 20 4c 44 41 23 26 |&..prepear LDA#&| 00000aa0 46 46 0d 07 30 1a 53 54 41 20 67 6f 74 5f 69 6d |FF..0.STA got_im| 00000ab0 70 6f 73 74 65 72 2b 26 33 30 30 30 0d 07 3a 07 |poster+&3000..:.| 00000ac0 53 45 49 0d 07 44 09 4c 44 59 23 30 0d 07 4e 11 |SEI..D.LDY#0..N.| 00000ad0 2e 62 61 63 6b 20 4c 44 41 20 30 2c 59 0d 07 58 |.back LDA 0,Y..X| 00000ae0 0e 53 54 41 26 41 43 30 30 2c 59 0d 07 62 07 49 |.STA&AC00,Y..b.I| 00000af0 4e 59 0d 07 6c 09 43 50 59 23 30 0d 07 76 0c 42 |NY..l.CPY#0..v.B| 00000b00 4e 45 20 62 61 63 6b 0d 07 80 09 4c 44 41 23 30 |NE back....LDA#0| 00000b10 0d 07 8a 0a 53 54 41 26 37 30 0d 07 94 0a 53 54 |....STA&70....ST| 00000b20 41 26 37 32 0d 07 9e 09 4c 44 41 23 31 0d 07 a8 |A&72....LDA#1...| 00000b30 0a 53 54 41 26 37 31 0d 07 b2 0b 4c 44 41 23 26 |.STA&71....LDA#&| 00000b40 41 44 0d 07 bc 0a 53 54 41 26 37 33 0d 07 c6 09 |AD....STA&73....| 00000b50 4c 44 59 23 30 0d 07 d0 15 2e 62 61 63 6b 32 20 |LDY#0.....back2 | 00000b60 4c 44 41 28 26 37 30 29 2c 59 0d 07 da 0e 53 54 |LDA(&70),Y....ST| 00000b70 41 28 26 37 32 29 2c 59 0d 07 e4 07 49 4e 59 0d |A(&72),Y....INY.| 00000b80 07 ee 09 43 50 59 23 30 0d 07 f8 0d 42 4e 45 20 |...CPY#0....BNE | 00000b90 62 61 63 6b 32 0d 08 02 0a 49 4e 43 26 37 31 0d |back2....INC&71.| 00000ba0 08 0c 0a 49 4e 43 26 37 33 0d 08 16 0a 4c 44 41 |...INC&73....LDA| 00000bb0 26 37 33 0d 08 20 0b 43 4d 50 23 26 43 30 0d 08 |&73.. .CMP#&C0..| 00000bc0 2a 0d 42 4e 45 20 62 61 63 6b 32 0d 08 34 07 43 |*.BNE back2..4.C| 00000bd0 4c 49 0d 08 3e 10 4c 44 41 23 37 20 5c 20 62 65 |LI..>.LDA#7 \ be| 00000be0 65 70 0d 08 48 0e 4a 53 52 20 6f 73 77 72 63 68 |ep..H.JSR oswrch| 00000bf0 0d 08 52 09 4c 44 41 23 30 0d 08 5c 07 52 54 53 |..R.LDA#0..\.RTS| 00000c00 0d 08 66 05 3a 0d 08 70 1e 2e 67 65 74 20 4c 44 |..f.:..p..get LD| 00000c10 59 23 30 20 5c 20 74 61 6b 65 20 73 6e 61 70 73 |Y#0 \ take snaps| 00000c20 68 6f 74 0d 08 7a 11 2e 62 61 63 6b 31 20 4c 44 |hot..z..back1 LD| 00000c30 41 30 2c 59 0d 08 84 0e 53 54 41 26 38 41 30 30 |A0,Y....STA&8A00| 00000c40 2c 59 0d 08 8e 07 49 4e 59 0d 08 98 0d 42 4e 45 |,Y....INY....BNE| 00000c50 20 62 61 63 6b 31 0d 08 a2 09 4c 44 41 23 30 0d | back1....LDA#0.| 00000c60 08 ac 0a 53 54 41 26 37 30 0d 08 b6 0a 53 54 41 |...STA&70....STA| 00000c70 26 37 32 0d 08 c0 09 4c 44 41 23 31 0d 08 ca 0a |&72....LDA#1....| 00000c80 53 54 41 26 37 31 0d 08 d4 0b 4c 44 41 23 26 38 |STA&71....LDA#&8| 00000c90 42 0d 08 de 0a 53 54 41 26 37 33 0d 08 e8 10 2e |B....STA&73.....| 00000ca0 62 61 63 6b 32 20 4c 44 59 23 30 0d 08 f2 15 2e |back2 LDY#0.....| 00000cb0 62 61 63 6b 33 20 4c 44 41 28 26 37 30 29 2c 59 |back3 LDA(&70),Y| 00000cc0 0d 08 fc 0e 53 54 41 28 26 37 32 29 2c 59 0d 09 |....STA(&72),Y..| 00000cd0 06 07 49 4e 59 0d 09 10 0d 42 4e 45 20 62 61 63 |..INY....BNE bac| 00000ce0 6b 33 0d 09 1a 0a 49 4e 43 26 37 31 0d 09 24 0a |k3....INC&71..$.| 00000cf0 49 4e 43 26 37 33 0d 09 2e 0a 4c 44 41 26 37 31 |INC&73....LDA&71| 00000d00 0d 09 38 0b 43 4d 50 23 26 31 35 0d 09 42 0d 42 |..8.CMP#&15..B.B| 00000d10 4e 45 20 62 61 63 6b 32 0d 09 4c 09 4c 44 41 23 |NE back2..L.LDA#| 00000d20 30 0d 09 56 0a 53 54 41 26 37 30 0d 09 60 0a 53 |0..V.STA&70..`.S| 00000d30 54 41 26 37 32 0d 09 6a 09 4c 44 41 23 31 0d 09 |TA&72..j.LDA#1..| 00000d40 74 0a 53 54 41 26 37 31 0d 09 7e 0b 4c 44 41 23 |t.STA&71..~.LDA#| 00000d50 26 41 44 0d 09 88 0a 53 54 41 26 37 33 0d 09 92 |&AD....STA&73...| 00000d60 10 2e 62 61 63 6b 35 20 4c 44 59 23 30 0d 09 9c |..back5 LDY#0...| 00000d70 15 2e 62 61 63 6b 36 20 4c 44 41 28 26 37 32 29 |..back6 LDA(&72)| 00000d80 2c 59 0d 09 a6 0e 53 54 41 28 26 37 30 29 2c 59 |,Y....STA(&70),Y| 00000d90 0d 09 b0 07 49 4e 59 0d 09 ba 0d 42 4e 45 20 62 |....INY....BNE b| 00000da0 61 63 6b 36 0d 09 c4 0a 49 4e 43 26 37 31 0d 09 |ack6....INC&71..| 00000db0 ce 0a 49 4e 43 26 37 33 0d 09 d8 0a 4c 44 41 26 |..INC&73....LDA&| 00000dc0 37 31 0d 09 e2 0b 43 4d 50 23 26 31 34 0d 09 ec |71....CMP#&14...| 00000dd0 0d 42 4e 45 20 62 61 63 6b 35 0d 09 f6 09 4c 44 |.BNE back5....LD| 00000de0 59 23 30 0d 0a 00 15 2e 62 61 63 6b 37 20 4c 44 |Y#0.....back7 LD| 00000df0 41 26 41 43 30 30 2c 59 0d 0a 0a 0a 53 54 41 30 |A&AC00,Y....STA0| 00000e00 2c 59 0d 0a 14 07 49 4e 59 0d 0a 1e 0d 42 4e 45 |,Y....INY....BNE| 00000e10 20 62 61 63 6b 37 0d 0a 28 09 4c 44 59 23 30 0d | back7..(.LDY#0.| 00000e20 0a 32 1b 2e 62 61 63 6b 34 20 4c 44 41 20 64 61 |.2..back4 LDA da| 00000e30 74 61 2b 26 33 30 30 30 2c 59 0d 0a 3c 0d 53 54 |ta+&3000,Y..<.ST| 00000e40 41 26 37 45 30 2c 59 0d 0a 46 07 49 4e 59 0d 0a |A&7E0,Y..F.INY..| 00000e50 50 0a 43 4d 50 23 26 44 0d 0a 5a 0d 42 4e 45 20 |P.CMP#&D..Z.BNE | 00000e60 62 61 63 6b 34 0d 0a 64 07 43 4c 49 0d 0a 6e 12 |back4..d.CLI..n.| 00000e70 4a 53 52 20 73 61 76 65 2b 26 33 30 30 30 0d 0a |JSR save+&3000..| 00000e80 78 07 53 45 49 0d 0a 82 09 4c 44 41 23 30 0d 0a |x.SEI....LDA#0..| 00000e90 8c 0a 53 54 41 26 37 30 0d 0a 96 0a 53 54 41 26 |..STA&70....STA&| 00000ea0 37 32 0d 0a a0 0b 4c 44 41 23 26 33 30 0d 0a aa |72....LDA#&30...| 00000eb0 0a 53 54 41 26 37 31 0d 0a b4 0b 4c 44 41 23 26 |.STA&71....LDA#&| 00000ec0 38 41 0d 0a be 0a 53 54 41 26 37 33 0d 0a c8 10 |8A....STA&73....| 00000ed0 2e 62 61 63 6b 38 20 4c 44 59 23 30 0d 0a d2 15 |.back8 LDY#0....| 00000ee0 2e 62 61 63 6b 39 20 4c 44 41 28 26 37 32 29 2c |.back9 LDA(&72),| 00000ef0 59 0d 0a dc 0e 53 54 41 28 26 37 30 29 2c 59 0d |Y....STA(&70),Y.| 00000f00 0a e6 07 49 4e 59 0d 0a f0 0d 42 4e 45 20 62 61 |...INY....BNE ba| 00000f10 63 6b 39 0d 0a fa 0a 49 4e 43 26 37 31 0d 0b 04 |ck9....INC&71...| 00000f20 0a 49 4e 43 26 37 33 0d 0b 0e 0a 4c 44 41 26 37 |.INC&73....LDA&7| 00000f30 33 0d 0b 18 0b 43 4d 50 23 26 39 46 0d 0b 22 0d |3....CMP#&9F..".| 00000f40 42 4e 45 20 62 61 63 6b 38 0d 0b 2c 10 4c 44 41 |BNE back8..,.LDA| 00000f50 20 73 73 2b 26 33 30 30 30 0d 0b 36 0c 53 54 41 | ss+&3000..6.STA| 00000f60 26 34 35 30 38 0d 0b 40 09 4c 44 59 23 30 0d 0b |&4508..@.LDY#0..| 00000f70 4a 1c 2e 62 61 63 6b 41 20 4c 44 41 20 64 61 74 |J..backA LDA dat| 00000f80 61 32 2b 26 33 30 30 30 2c 59 0d 0b 54 0d 53 54 |a2+&3000,Y..T.ST| 00000f90 41 26 37 45 30 2c 59 0d 0b 5e 07 49 4e 59 0d 0b |A&7E0,Y..^.INY..| 00000fa0 68 0a 43 4d 50 23 26 44 0d 0b 72 0d 42 4e 45 20 |h.CMP#&D..r.BNE | 00000fb0 62 61 63 6b 41 0d 0b 7c 07 43 4c 49 0d 0b 86 12 |backA..|.CLI....| 00000fc0 4a 53 52 20 73 61 76 65 2b 26 33 30 30 30 0d 0b |JSR save+&3000..| 00000fd0 90 2f 4a 4d 50 20 70 75 74 5f 70 6c 75 73 2b 26 |./JMP put_plus+&| 00000fe0 33 30 30 30 20 5c 20 72 65 73 74 6f 72 65 20 6d |3000 \ restore m| 00000ff0 61 63 68 69 6e 65 20 73 74 61 74 75 73 0d 0b 9a |achine status...| 00001000 05 3a 0d 0b a4 0e 2e 70 75 74 20 4c 44 59 23 30 |.:.....put LDY#0| 00001010 0d 0b ae 1d 2e 67 62 61 63 6b 31 20 4c 44 41 20 |.....gback1 LDA | 00001020 64 61 74 61 33 2b 26 33 30 30 30 2c 59 0d 0b b8 |data3+&3000,Y...| 00001030 0d 53 54 41 26 37 45 30 2c 59 0d 0b c2 07 49 4e |.STA&7E0,Y....IN| 00001040 59 0d 0b cc 0a 43 4d 50 23 26 44 0d 0b d6 0e 42 |Y....CMP#&D....B| 00001050 4e 45 20 67 62 61 63 6b 31 0d 0b e0 12 4a 53 52 |NE gback1....JSR| 00001060 20 6c 6f 61 64 2b 26 33 30 30 30 0d 0b ea 05 3a | load+&3000....:| 00001070 0d 0b f4 13 2e 70 75 74 5f 70 6c 75 73 20 4c 44 |.....put_plus LD| 00001080 41 23 30 0d 0b fe 0a 53 54 41 26 37 30 0d 0c 08 |A#0....STA&70...| 00001090 0a 53 54 41 26 37 32 0d 0c 12 0b 4c 44 41 23 26 |.STA&72....LDA#&| 000010a0 33 30 0d 0c 1c 0a 53 54 41 26 37 31 0d 0c 26 0b |30....STA&71..&.| 000010b0 4c 44 41 23 26 38 41 0d 0c 30 0a 53 54 41 26 37 |LDA#&8A..0.STA&7| 000010c0 33 0d 0c 3a 09 4c 44 59 23 30 0d 0c 44 16 2e 67 |3..:.LDY#0..D..g| 000010d0 62 61 63 6b 32 20 4c 44 41 28 26 37 30 29 2c 59 |back2 LDA(&70),Y| 000010e0 0d 0c 4e 0e 53 54 41 28 26 37 32 29 2c 59 0d 0c |..N.STA(&72),Y..| 000010f0 58 07 49 4e 59 0d 0c 62 09 43 50 59 23 30 0d 0c |X.INY..b.CPY#0..| 00001100 6c 0e 42 4e 45 20 67 62 61 63 6b 32 0d 0c 76 0a |l.BNE gback2..v.| 00001110 49 4e 43 26 37 31 0d 0c 80 0a 49 4e 43 26 37 33 |INC&71....INC&73| 00001120 0d 0c 8a 0a 4c 44 41 26 37 31 0d 0c 94 0b 43 4d |....LDA&71....CM| 00001130 50 23 26 34 35 0d 0c 9e 0e 42 4e 45 20 67 62 61 |P#&45....BNE gba| 00001140 63 6b 32 0d 0c a8 0c 4c 44 41 26 34 35 30 38 0d |ck2....LDA&4508.| 00001150 0c b2 10 53 54 41 20 73 73 2b 26 33 30 30 30 0d |...STA ss+&3000.| 00001160 0c bc 0a 4c 44 41 23 32 32 0d 0c c6 0e 4a 53 52 |...LDA#22....JSR| 00001170 20 6f 73 77 72 63 68 0d 0c d0 0c 4c 44 41 26 33 | oswrch....LDA&3| 00001180 33 35 35 0d 0c da 12 53 54 41 20 6d 6f 64 65 2b |355....STA mode+| 00001190 26 33 30 30 30 0d 0c e4 0e 4a 53 52 20 6f 73 77 |&3000....JSR osw| 000011a0 72 63 68 0d 0c ee 09 4c 44 59 23 30 0d 0c f8 1d |rch....LDY#0....| 000011b0 2e 67 62 61 63 6b 33 20 4c 44 41 20 64 61 74 61 |.gback3 LDA data| 000011c0 34 2b 26 33 30 30 30 2c 59 0d 0d 02 0d 53 54 41 |4+&3000,Y....STA| 000011d0 26 37 45 30 2c 59 0d 0d 0c 07 49 4e 59 0d 0d 16 |&7E0,Y....INY...| 000011e0 0a 43 4d 50 23 26 44 0d 0d 20 0e 42 4e 45 20 67 |.CMP#&D.. .BNE g| 000011f0 62 61 63 6b 33 0d 0d 2a 12 4a 53 52 20 6c 6f 61 |back3..*.JSR loa| 00001200 64 2b 26 33 30 30 30 0d 0d 34 07 53 45 49 0d 0d |d+&3000..4.SEI..| 00001210 3e 09 4c 44 41 23 30 0d 0d 48 0a 53 54 41 26 37 |>.LDA#0..H.STA&7| 00001220 30 0d 0d 52 0a 53 54 41 26 37 32 0d 0d 5c 0b 4c |0..R.STA&72..\.L| 00001230 44 41 23 26 38 42 0d 0d 66 0a 53 54 41 26 37 31 |DA#&8B..f.STA&71| 00001240 0d 0d 70 0a 4c 44 41 23 26 31 0d 0d 7a 0a 53 54 |..p.LDA#&1..z.ST| 00001250 41 26 37 33 0d 0d 84 09 4c 44 59 23 30 0d 0d 8e |A&73....LDY#0...| 00001260 16 2e 67 62 61 63 6b 35 20 4c 44 41 28 26 37 30 |..gback5 LDA(&70| 00001270 29 2c 59 0d 0d 98 0e 53 54 41 28 26 37 32 29 2c |),Y....STA(&72),| 00001280 59 0d 0d a2 07 49 4e 59 0d 0d ac 0e 42 4e 45 20 |Y....INY....BNE | 00001290 67 62 61 63 6b 35 0d 0d b6 0a 49 4e 43 26 37 31 |gback5....INC&71| 000012a0 0d 0d c0 0a 49 4e 43 26 37 33 0d 0d ca 0a 4c 44 |....INC&73....LD| 000012b0 41 26 37 31 0d 0d d4 0b 43 4d 50 23 26 39 46 0d |A&71....CMP#&9F.| 000012c0 0d de 0e 42 4e 45 20 67 62 61 63 6b 35 0d 0d e8 |...BNE gback5...| 000012d0 09 4c 44 59 23 30 0d 0d f2 16 2e 67 62 61 63 6b |.LDY#0.....gback| 000012e0 36 20 4c 44 41 26 38 41 30 30 2c 59 0d 0d fc 0b |6 LDA&8A00,Y....| 000012f0 53 54 41 20 30 2c 59 0d 0e 06 07 49 4e 59 0d 0e |STA 0,Y....INY..| 00001300 10 0e 42 4e 45 20 67 62 61 63 6b 36 0d 0e 1a 12 |..BNE gback6....| 00001310 4c 44 58 20 6d 6f 64 65 2b 26 33 30 30 30 0d 0e |LDX mode+&3000..| 00001320 24 09 43 50 58 23 37 0d 0e 2e 0d 42 4e 45 20 6f |$.CPX#7....BNE o| 00001330 74 68 65 72 0d 0e 38 0a 4c 44 41 23 31 33 0d 0e |ther..8.LDA#13..| 00001340 42 0c 53 54 41 26 46 45 30 30 0d 0e 4c 0b 4c 44 |B.STA&FE00..L.LD| 00001350 41 26 33 35 30 0d 0e 56 0c 53 54 41 26 46 45 30 |A&350..V.STA&FE0| 00001360 31 0d 0e 60 0a 4c 44 41 23 31 32 0d 0e 6a 0c 53 |1..`.LDA#12..j.S| 00001370 54 41 26 46 45 30 30 0d 0e 74 0b 4c 44 41 26 33 |TA&FE00..t.LDA&3| 00001380 35 31 0d 0e 7e 07 53 45 43 0d 0e 88 0b 53 42 43 |51..~.SEC....SBC| 00001390 23 26 37 34 0d 0e 92 09 82 23 26 32 30 0d 0e 9c |#&74.....#&20...| 000013a0 0c 53 54 41 26 46 45 30 31 0d 0e a6 18 2e 67 62 |.STA&FE01.....gb| 000013b0 61 63 6b 37 20 4c 44 58 20 73 73 2b 26 33 30 30 |ack7 LDX ss+&300| 000013c0 30 0d 0e b0 07 54 58 53 0d 0e ba 19 4c 44 41 20 |0....TXS....LDA | 000013d0 72 65 70 65 61 74 5f 66 6c 61 67 2b 26 33 30 30 |repeat_flag+&300| 000013e0 30 0d 0e c4 0b 43 4d 50 23 26 46 46 0d 0e ce 11 |0....CMP#&FF....| 000013f0 42 4e 45 20 6e 6f 5f 72 65 70 65 61 74 0d 0e d8 |BNE no_repeat...| 00001400 17 4a 4d 50 20 73 65 74 5f 69 6e 74 65 72 2b 26 |.JMP set_inter+&| 00001410 33 30 30 30 0d 0e e2 14 2e 6e 6f 5f 72 65 70 65 |3000.....no_repe| 00001420 61 74 20 4c 44 41 23 30 0d 0e ec 07 43 4c 49 0d |at LDA#0....CLI.| 00001430 0e f6 07 52 54 53 0d 0f 00 11 2e 6f 74 68 65 72 |...RTS.....other| 00001440 20 4c 44 41 23 26 44 0d 0f 0a 0c 53 54 41 26 46 | LDA#&D....STA&F| 00001450 45 30 30 0d 0f 14 0b 4c 44 41 26 33 35 30 0d 0f |E00....LDA&350..| 00001460 1e 09 4c 53 52 20 41 0d 0f 28 09 4c 53 52 20 41 |..LSR A..(.LSR A| 00001470 0d 0f 32 09 4c 53 52 20 41 0d 0f 3c 0c 53 54 41 |..2.LSR A..<.STA| 00001480 26 46 45 30 31 0d 0f 46 0a 4c 44 41 23 26 43 0d |&FE01..F.LDA#&C.| 00001490 0f 50 0c 53 54 41 26 46 45 30 30 0d 0f 5a 0b 4c |.P.STA&FE00..Z.L| 000014a0 44 41 26 33 35 31 0d 0f 64 09 4c 53 52 20 41 0d |DA&351..d.LSR A.| 000014b0 0f 6e 09 4c 53 52 20 41 0d 0f 78 09 4c 53 52 20 |.n.LSR A..x.LSR | 000014c0 41 0d 0f 82 0c 53 54 41 26 46 45 30 31 0d 0f 8c |A....STA&FE01...| 000014d0 14 4a 4d 50 20 67 62 61 63 6b 37 2b 26 33 30 30 |.JMP gback7+&300| 000014e0 30 0d 0f 96 05 3a 0d 0f a0 20 2e 77 61 69 74 20 |0....:... .wait | 000014f0 4c 44 41 20 67 6f 74 5f 69 6d 70 6f 73 74 65 72 |LDA got_imposter| 00001500 2b 26 33 30 30 30 0d 0f aa 0b 43 4d 50 23 26 46 |+&3000....CMP#&F| 00001510 46 0d 0f b4 0b 42 45 51 20 77 6f 6b 0d 0f be 13 |F....BEQ wok....| 00001520 4a 4d 50 20 65 72 72 6f 72 2b 26 33 30 30 30 0d |JMP error+&3000.| 00001530 0f c8 22 2e 77 6f 6b 20 4a 53 52 20 63 6c 69 5f |..".wok JSR cli_| 00001540 74 77 6f 5f 61 73 63 5f 68 65 78 2b 26 33 30 30 |two_asc_hex+&300| 00001550 30 0d 0f d2 15 53 54 41 20 77 61 69 74 69 6e 67 |0....STA waiting| 00001560 2b 26 33 30 30 30 0d 0f dc 14 2e 73 65 74 5f 69 |+&3000.....set_i| 00001570 6e 74 65 72 20 4c 44 41 23 30 0d 0f e6 11 53 54 |nter LDA#0....ST| 00001580 41 20 74 69 6d 2b 26 33 30 30 31 0d 0f f0 13 4a |A tim+&3001....J| 00001590 4d 50 20 74 69 6d 65 72 2b 26 33 30 30 30 0d 0f |MP timer+&3000..| 000015a0 fa 05 3a 0d 10 04 2b 2e 69 6e 74 65 72 20 4c 44 |..:...+.inter LD| 000015b0 41 23 26 34 30 20 5c 20 53 65 72 76 69 63 65 20 |A#&40 \ Service | 000015c0 74 69 6d 65 72 20 69 6e 74 65 72 75 70 74 0d 10 |timer interupt..| 000015d0 0e 0c 53 54 41 26 46 45 36 44 0d 10 18 11 4c 44 |..STA&FE6D....LD| 000015e0 41 20 74 69 6d 2b 26 33 30 30 30 0d 10 22 07 43 |A tim+&3000..".C| 000015f0 4c 43 0d 10 2c 3c 41 44 43 23 31 20 5c 20 49 6e |LC..,<ADC#1 \ In| 00001600 63 72 65 61 73 65 20 74 68 69 73 20 6e 75 6d 62 |crease this numb| 00001610 65 72 20 66 6f 72 20 61 6e 20 65 76 65 6e 20 66 |er for an even f| 00001620 61 73 74 65 72 20 53 6e 61 70 73 68 6f 74 0d 10 |aster Snapshot..| 00001630 36 11 53 54 41 20 74 69 6d 2b 26 33 30 30 30 0d |6.STA tim+&3000.| 00001640 10 40 11 4c 44 41 20 74 69 6d 2b 26 33 30 30 31 |.@.LDA tim+&3001| 00001650 0d 10 4a 09 41 44 43 23 30 0d 10 54 11 53 54 41 |..J.ADC#0..T.STA| 00001660 20 74 69 6d 2b 26 33 30 30 31 0d 10 5e 15 43 4d | tim+&3001..^.CM| 00001670 50 20 77 61 69 74 69 6e 67 2b 26 33 30 30 30 0d |P waiting+&3000.| 00001680 10 68 0d 42 45 51 20 73 68 6f 6f 74 0d 10 72 12 |.h.BEQ shoot..r.| 00001690 2e 74 69 6d 65 72 20 4c 44 41 23 26 46 46 0d 10 |.timer LDA#&FF..| 000016a0 7c 0c 53 54 41 26 46 45 36 34 0d 10 86 0c 53 54 ||.STA&FE64....ST| 000016b0 41 26 46 45 36 35 0d 10 90 0b 4c 44 41 23 26 43 |A&FE65....LDA#&C| 000016c0 30 0d 10 9a 0c 53 54 41 26 46 45 36 45 0d 10 a4 |0....STA&FE6E...| 000016d0 09 4c 44 41 23 30 0d 10 ae 07 43 4c 49 0d 10 b8 |.LDA#0....CLI...| 000016e0 07 52 54 53 0d 10 c2 0e 2e 73 68 6f 6f 74 20 54 |.RTS.....shoot T| 000016f0 53 58 0d 10 cc 10 53 54 58 20 73 73 2b 26 33 30 |SX....STX ss+&30| 00001700 30 30 0d 10 d6 11 4a 4d 50 20 67 65 74 2b 26 33 |00....JMP get+&3| 00001710 30 30 30 0d 10 e0 05 3a 0d 10 ea 1f 2e 6e 6f 77 |000....:.....now| 00001720 20 4c 44 41 20 67 6f 74 5f 69 6d 70 6f 73 74 65 | LDA got_imposte| 00001730 72 2b 26 33 30 30 30 0d 10 f4 0b 43 4d 50 23 26 |r+&3000....CMP#&| 00001740 46 46 0d 10 fe 0f 42 4e 45 20 6e 6f 5f 73 6e 61 |FF....BNE no_sna| 00001750 70 0d 11 08 09 4c 44 41 23 30 0d 11 12 19 53 54 |p....LDA#0....ST| 00001760 41 20 72 65 70 65 61 74 5f 66 6c 61 67 2b 26 33 |A repeat_flag+&3| 00001770 30 30 30 0d 11 1c 13 4a 4d 50 20 73 68 6f 6f 74 |000....JMP shoot| 00001780 2b 26 33 30 30 30 0d 11 26 1c 2e 6e 6f 5f 73 6e |+&3000..&..no_sn| 00001790 61 70 20 4a 4d 50 20 65 72 72 6f 72 2b 26 33 30 |ap JMP error+&30| 000017a0 30 30 0d 11 30 05 3a 0d 11 3a 1a 2e 72 65 73 74 |00..0.:..:..rest| 000017b0 6f 72 65 20 4a 4d 50 20 70 75 74 2b 26 33 30 30 |ore JMP put+&300| 000017c0 30 0d 11 44 05 3a 0d 11 4e 22 2e 72 65 70 65 61 |0..D.:..N".repea| 000017d0 74 20 4c 44 41 20 67 6f 74 5f 69 6d 70 6f 73 74 |t LDA got_impost| 000017e0 65 72 2b 26 33 30 30 30 0d 11 58 0b 43 4d 50 23 |er+&3000..X.CMP#| 000017f0 26 46 46 0d 11 62 0f 42 4e 45 20 6e 6f 5f 73 6e |&FF..b.BNE no_sn| 00001800 61 70 0d 11 6c 19 53 54 41 20 72 65 70 65 61 74 |ap..l.STA repeat| 00001810 5f 66 6c 61 67 2b 26 33 30 30 30 0d 11 76 09 4c |_flag+&3000..v.L| 00001820 44 41 23 30 0d 11 80 07 52 54 53 0d 11 8a 05 3a |DA#0....RTS....:| 00001830 0d 11 94 0f 2e 73 61 76 65 20 4c 44 41 23 30 0d |.....save LDA#0.| 00001840 11 9e 0b 4c 44 58 23 26 45 30 0d 11 a8 0a 4c 44 |...LDX#&E0....LD| 00001850 59 23 26 37 0d 11 b2 0e 4a 4d 50 20 6f 73 66 69 |Y#&7....JMP osfi| 00001860 6c 65 0d 11 bc 11 2e 6c 6f 61 64 20 4c 44 41 23 |le.....load LDA#| 00001870 26 46 46 0d 11 c6 0b 4c 44 58 23 26 45 30 0d 11 |&FF....LDX#&E0..| 00001880 d0 0a 4c 44 59 23 26 37 0d 11 da 0e 4a 4d 50 20 |..LDY#&7....JMP | 00001890 6f 73 66 69 6c 65 0d 11 e4 05 3a 0d 11 ee 0a 5c |osfile....:....\| 000018a0 20 44 61 74 61 0d 11 f8 14 2e 72 65 70 65 61 74 | Data.....repeat| 000018b0 5f 66 6c 61 67 20 42 52 4b 0d 12 02 10 2e 77 61 |_flag BRK.....wa| 000018c0 69 74 69 6e 67 20 42 52 4b 0d 12 0c 15 2e 67 6f |iting BRK.....go| 000018d0 74 5f 69 6d 70 6f 73 74 65 72 20 42 52 4b 0d 12 |t_imposter BRK..| 000018e0 16 10 2e 74 69 6d 20 42 52 4b 3a 42 52 4b 0d 12 |...tim BRK:BRK..| 000018f0 20 0d 2e 6d 6f 64 65 20 42 52 4b 0d 12 2a 0b 2e | ..mode BRK..*..| 00001900 73 73 20 42 52 4b 0d 12 34 0f 2e 73 61 20 42 52 |ss BRK..4..sa BR| 00001910 4b 3a 42 52 4b 0d 12 3e 0f 2e 73 79 20 42 52 4b |K:BRK..>..sy BRK| 00001920 3a 42 52 4b 0d 12 48 0f 2e 73 78 20 42 52 4b 3a |:BRK..H..sx BRK:| 00001930 42 52 4b 0d 12 52 0e 2e 63 6f 75 6e 74 20 42 52 |BRK..R..count BR| 00001940 4b 0d 12 5c 11 2e 6a 75 6d 70 20 42 52 4b 3a 42 |K..\..jump BRK:B| 00001950 52 4b 0d 12 66 1b 2e 63 6f 6d 6d 73 20 4f 50 54 |RK..f..comms OPT| 00001960 20 a4 65 71 75 73 28 22 6e 6f 77 22 29 0d 12 70 | .equs("now")..p| 00001970 12 4f 50 54 20 a4 65 71 75 62 28 26 32 44 29 0d |.OPT .equb(&2D).| 00001980 12 7a 16 4f 50 54 20 a4 65 71 75 73 28 22 72 65 |.z.OPT .equs("re| 00001990 61 64 79 22 29 0d 12 84 12 4f 50 54 20 a4 65 71 |ady")....OPT .eq| 000019a0 75 62 28 26 32 44 29 0d 12 8e 18 4f 50 54 20 a4 |ub(&2D)....OPT .| 000019b0 65 71 75 73 28 22 72 65 73 74 6f 72 65 22 29 0d |equs("restore").| 000019c0 12 98 12 4f 50 54 20 a4 65 71 75 62 28 26 32 44 |...OPT .equb(&2D| 000019d0 29 0d 12 a2 15 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 000019e0 77 61 69 74 22 29 0d 12 ac 12 4f 50 54 20 a4 65 |wait")....OPT .e| 000019f0 71 75 62 28 26 32 30 29 0d 12 b6 17 4f 50 54 20 |qub(&20)....OPT | 00001a00 a4 65 71 75 73 28 22 72 65 70 65 61 74 22 29 0d |.equs("repeat").| 00001a10 12 c0 12 4f 50 54 20 a4 65 71 75 62 28 26 32 44 |...OPT .equb(&2D| 00001a20 29 0d 12 ca 16 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 00001a30 6e 61 6d 65 73 22 29 0d 12 d4 12 4f 50 54 20 a4 |names")....OPT .| 00001a40 65 71 75 62 28 26 32 44 29 0d 12 de 12 4f 50 54 |equb(&2D)....OPT| 00001a50 20 a4 65 71 75 62 28 26 46 46 29 0d 12 e8 22 2e | .equb(&FF)...".| 00001a60 63 6f 6d 5f 61 64 64 72 20 4f 50 54 20 a4 65 71 |com_addr OPT .eq| 00001a70 75 77 28 6e 6f 77 2b 26 33 30 30 30 29 0d 12 f2 |uw(now+&3000)...| 00001a80 1c 4f 50 54 20 a4 65 71 75 77 28 70 72 65 70 65 |.OPT .equw(prepe| 00001a90 61 72 2b 26 33 30 30 30 29 0d 12 fc 1c 4f 50 54 |ar+&3000)....OPT| 00001aa0 20 a4 65 71 75 77 28 72 65 73 74 6f 72 65 2b 26 | .equw(restore+&| 00001ab0 33 30 30 30 29 0d 13 06 19 4f 50 54 20 a4 65 71 |3000)....OPT .eq| 00001ac0 75 77 28 77 61 69 74 2b 26 33 30 30 30 29 0d 13 |uw(wait+&3000)..| 00001ad0 10 1b 4f 50 54 20 a4 65 71 75 77 28 72 65 70 65 |..OPT .equw(repe| 00001ae0 61 74 2b 26 33 30 30 30 29 0d 13 1a 1a 4f 50 54 |at+&3000)....OPT| 00001af0 20 a4 65 71 75 77 28 6e 61 6d 65 73 2b 26 33 30 | .equw(names+&30| 00001b00 30 30 29 0d 13 24 1b 2e 65 72 72 6f 72 44 43 20 |00)..$..errorDC | 00001b10 4f 50 54 20 a4 65 71 75 62 28 26 44 43 29 0d 13 |OPT .equb(&DC)..| 00001b20 2e 1d 4f 50 54 20 a4 65 71 75 73 28 22 53 79 6e |..OPT .equs("Syn| 00001b30 74 61 78 20 65 72 72 6f 72 22 29 0d 13 38 07 42 |tax error")..8.B| 00001b40 52 4b 0d 13 42 17 2e 64 61 72 6b 20 4f 50 54 20 |RK..B..dark OPT | 00001b50 a4 65 71 75 62 28 26 44 29 0d 13 4c 29 4f 50 54 |.equb(&D)..L)OPT| 00001b60 20 a4 65 71 75 73 28 22 53 6e 61 70 73 68 6f 74 | .equs("Snapshot| 00001b70 20 56 65 72 73 69 6f 6e 20 50 41 4c 4f 30 30 34 | Version PALO004| 00001b80 22 29 0d 13 56 14 4f 50 54 20 a4 65 71 75 77 28 |")..V.OPT .equw(| 00001b90 26 30 30 30 44 29 0d 13 60 19 2e 64 61 74 61 20 |&000D)..`..data | 00001ba0 4f 50 54 20 a4 65 71 75 77 28 26 37 46 33 29 0d |OPT .equw(&7F3).| 00001bb0 13 6a 14 4f 50 54 20 a4 65 71 75 64 28 26 31 34 |.j.OPT .equd(&14| 00001bc0 30 30 29 0d 13 74 14 4f 50 54 20 a4 65 71 75 64 |00)..t.OPT .equd| 00001bd0 28 26 31 34 30 30 29 0d 13 7e 14 4f 50 54 20 a4 |(&1400)..~.OPT .| 00001be0 65 71 75 64 28 26 31 34 30 30 29 0d 13 88 14 4f |equd(&1400)....O| 00001bf0 50 54 20 a4 65 71 75 64 28 26 38 30 30 30 29 0d |PT .equd(&8000).| 00001c00 13 92 07 42 52 4b 0d 13 9c 13 4f 50 54 20 a4 65 |...BRK....OPT .e| 00001c10 71 75 73 28 70 6f 74 24 29 0d 13 a6 11 4f 50 54 |qus(pot$)....OPT| 00001c20 20 a4 65 71 75 62 28 26 44 29 0d 13 b0 1a 2e 64 | .equb(&D).....d| 00001c30 61 74 61 32 20 4f 50 54 20 a4 65 71 75 77 28 26 |ata2 OPT .equw(&| 00001c40 37 46 33 29 0d 13 ba 10 4f 50 54 20 a4 65 71 75 |7F3)....OPT .equ| 00001c50 64 28 30 29 0d 13 c4 10 4f 50 54 20 a4 65 71 75 |d(0)....OPT .equ| 00001c60 64 28 30 29 0d 13 ce 14 4f 50 54 20 a4 65 71 75 |d(0)....OPT .equ| 00001c70 64 28 26 33 30 30 30 29 0d 13 d8 14 4f 50 54 20 |d(&3000)....OPT | 00001c80 a4 65 71 75 64 28 26 34 35 31 30 29 0d 13 e2 07 |.equd(&4510)....| 00001c90 42 52 4b 0d 13 ec 13 4f 50 54 20 a4 65 71 75 73 |BRK....OPT .equs| 00001ca0 28 6f 6c 64 24 29 0d 13 f6 11 4f 50 54 20 a4 65 |(old$)....OPT .e| 00001cb0 71 75 62 28 26 44 29 0d 14 00 1a 2e 64 61 74 61 |qub(&D).....data| 00001cc0 33 20 4f 50 54 20 a4 65 71 75 77 28 26 37 46 33 |3 OPT .equw(&7F3| 00001cd0 29 0d 14 0a 14 4f 50 54 20 a4 65 71 75 64 28 26 |)....OPT .equd(&| 00001ce0 33 30 30 30 29 0d 14 14 10 4f 50 54 20 a4 65 71 |3000)....OPT .eq| 00001cf0 75 64 28 30 29 0d 14 1e 10 4f 50 54 20 a4 65 71 |ud(0)....OPT .eq| 00001d00 75 64 28 30 29 0d 14 28 10 4f 50 54 20 a4 65 71 |ud(0)..(.OPT .eq| 00001d10 75 64 28 30 29 0d 14 32 07 42 52 4b 0d 14 3c 13 |ud(0)..2.BRK..<.| 00001d20 4f 50 54 20 a4 65 71 75 73 28 6f 6c 64 24 29 0d |OPT .equs(old$).| 00001d30 14 46 11 4f 50 54 20 a4 65 71 75 62 28 26 44 29 |.F.OPT .equb(&D)| 00001d40 0d 14 50 1a 2e 64 61 74 61 34 20 4f 50 54 20 a4 |..P..data4 OPT .| 00001d50 65 71 75 77 28 26 37 46 33 29 0d 14 5a 14 4f 50 |equw(&7F3)..Z.OP| 00001d60 54 20 a4 65 71 75 64 28 26 31 34 30 30 29 0d 14 |T .equd(&1400)..| 00001d70 64 10 4f 50 54 20 a4 65 71 75 64 28 30 29 0d 14 |d.OPT .equd(0)..| 00001d80 6e 10 4f 50 54 20 a4 65 71 75 64 28 30 29 0d 14 |n.OPT .equd(0)..| 00001d90 78 10 4f 50 54 20 a4 65 71 75 64 28 30 29 0d 14 |x.OPT .equd(0)..| 00001da0 82 07 42 52 4b 0d 14 8c 13 4f 50 54 20 a4 65 71 |..BRK....OPT .eq| 00001db0 75 73 28 70 6f 74 24 29 0d 14 96 11 4f 50 54 20 |us(pot$)....OPT | 00001dc0 a4 65 71 75 62 28 26 44 29 0d 14 a0 05 20 0d 14 |.equb(&D).... ..| 00001dd0 aa 10 2e 65 72 72 6f 72 20 4c 44 58 23 30 0d 14 |...error LDX#0..| 00001de0 b4 22 2e 65 72 72 5f 62 61 63 6b 20 4c 44 41 20 |.".err_back LDA | 00001df0 65 72 72 5f 6d 65 73 73 2b 26 33 30 30 30 2c 58 |err_mess+&3000,X| 00001e00 0d 14 be 0e 53 54 41 20 26 31 30 30 2c 58 0d 14 |....STA &100,X..| 00001e10 c8 07 49 4e 58 0d 14 d2 0a 43 50 58 23 26 45 0d |..INX....CPX#&E.| 00001e20 14 dc 10 42 4e 45 20 65 72 72 5f 62 61 63 6b 0d |...BNE err_back.| 00001e30 14 e6 0b 4a 4d 50 26 31 30 30 0d 14 f0 11 2e 65 |...JMP&100.....e| 00001e40 72 72 5f 6d 65 73 73 20 42 52 4b 0d 14 fa 12 4f |rr_mess BRK....O| 00001e50 50 54 20 a4 65 71 75 62 28 26 38 30 29 0d 15 04 |PT .equb(&80)...| 00001e60 1c 4f 50 54 20 a4 65 71 75 73 28 22 4e 6f 20 69 |.OPT .equs("No i| 00001e70 6d 70 6f 73 74 65 72 22 29 0d 15 0e 07 42 52 4b |mposter")....BRK| 00001e80 0d 15 18 05 20 0d 15 22 23 2e 66 69 6c 65 73 20 |.... .."#.files | 00001e90 4f 50 54 20 a4 65 71 75 73 28 70 6f 74 24 2b 22 |OPT .equs(pot$+"| 00001ea0 20 22 2b 6f 6c 64 24 29 0d 15 2c 07 42 52 4b 0d | "+old$)..,.BRK.| 00001eb0 15 36 10 2e 6e 61 6d 65 73 20 4c 44 59 23 30 0d |.6..names LDY#0.| 00001ec0 15 40 18 2e 6e 61 5f 62 61 63 6b 20 4c 44 41 20 |.@..na_back LDA | 00001ed0 66 69 6c 65 73 2c 59 0d 15 4a 0e 4a 53 52 20 6f |files,Y..J.JSR o| 00001ee0 73 77 72 63 68 0d 15 54 07 49 4e 59 0d 15 5e 09 |swrch..T.INY..^.| 00001ef0 43 4d 50 23 30 0d 15 68 0f 42 4e 45 20 6e 61 5f |CMP#0..h.BNE na_| 00001f00 62 61 63 6b 0d 15 72 09 4c 44 41 23 30 0d 15 7c |back..r.LDA#0..|| 00001f10 07 52 54 53 0d 15 86 05 5d 0d 15 90 05 ed 0d 15 |.RTS....].......| 00001f20 9a 05 3a 0d 15 a4 09 f1 22 4f 4b 22 0d 15 ae 1d |..:....."OK"....| 00001f30 f1 22 2a 53 41 56 45 20 55 2e 43 4f 44 45 20 35 |."*SAVE U.CODE 5| 00001f40 30 30 30 20 35 34 46 46 22 0d 15 b8 05 e0 0d 15 |000 54FF".......| 00001f50 c2 05 3a 0d 15 cc 0e dd a4 65 71 75 73 28 78 24 |..:......equs(x$| 00001f60 29 0d 15 d6 0a 24 50 25 3d 78 24 0d 15 e0 0f 50 |)....$P%=x$....P| 00001f70 25 3d 50 25 2b a9 28 78 24 29 0d 15 ea 0a 3a 3d |%=P%+.(x$)....:=| 00001f80 70 61 73 73 0d 15 f4 05 3a 0d 15 fe 0d dd a4 65 |pass....:......e| 00001f90 71 75 77 28 78 29 0d 16 08 09 21 50 25 3d 78 0d |quw(x)....!P%=x.| 00001fa0 16 12 0b 50 25 3d 50 25 2b 32 0d 16 1c 0a 3a 3d |...P%=P%+2....:=| 00001fb0 70 61 73 73 0d 16 26 05 3a 0d 16 30 0d dd a4 65 |pass..&.:..0...e| 00001fc0 71 75 62 28 78 29 0d 16 3a 09 3f 50 25 3d 78 0d |qub(x)..:.?P%=x.| 00001fd0 16 44 0b 50 25 3d 50 25 2b 31 0d 16 4e 0a 3a 3d |.D.P%=P%+1..N.:=| 00001fe0 70 61 73 73 0d 16 58 05 3a 0d 16 62 0d dd a4 65 |pass..X.:..b...e| 00001ff0 71 75 64 28 78 29 0d 16 6c 09 21 50 25 3d 78 0d |qud(x)..l.!P%=x.| 00002000 16 76 0b 50 25 3d 50 25 2b 34 0d 16 80 0a 3a 3d |.v.P%=P%+4....:=| 00002010 70 61 73 73 0d ff |pass..| 00002016