Home » CEEFAX disks » telesoftware1.adl » Utils/PDR
Utils/PDR
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 » telesoftware1.adl |
Filename: | Utils/PDR |
Read OK: | ✔ |
File size: | 25AF bytes |
Load address: | 1900 |
Exec address: | 8023 |
File contents
10REM Printer Dump for Sideways RAM ( PDR ) 20REM Enhanced version of Printer Dump Program ( PDP ) 30REM Extra Utilies added 40REM Allan Kelly 1/8/86 50 60line_spacing=&19 70counter=&77 80store=&7F 90oswrch=&FFEE 100osbyte=&FFF4 110osnewl=&FFE7 120osasci=&FFE3 130 140FOR pass=0 TO 2 STEP 2 150P%=&6000 160[ 170OPT pass 180.lang BRK 190BRK:BRK 200JMP enter+&2000 210OPT FNequb(&82) 220OPT FNequb(copy-&6000) 230OPT FNequb(2) 240OPT FNequs("Enhanced PDP for SWR - PDR") 250.copy BRK 260OPT FNequs("(C)") 270OPT FNequs("Allan Kelly 1/8/86") 280BRK 290 300.enter CMP#9 310BEQ help 320CMP#4 330BEQbrcli 340CMP#&FE 350BEQbrbreak 360RTS 370.brcli JMPcli+&2000 380.brbreak JMPbreak+&2000 390.help PHA 400TXA 410PHA 420TYA 430PHA 440LDX#dark MOD 256 450LDY#(dark DIV 256)+&20 460JSR display+&2000 470PLA 480TAY 490PLA 500TAX 510PLA 520RTS 530 540.display \ X & Y piont to message 550STX&70 560STY&71 570LDY#0 580.dback LDA(&70),Y 590JSR osasci 600INY 610CMP#0 620BNE dback 630RTS 640 650.dark OPT FNequb(13) 660OPT FNequs("Printer Dump ROM/RAM") 670OPT FNequb(13) 680OPT FNequs(" SCREEN") 690OPT FNequb(13) 700OPT FNequs(" START") 710OPT FNequb(13) 720OPT FNequs(" Then CTRL with") 730OPT FNequb(13) 740OPT FNequs(" f0 - print screen") 750OPT FNequb(13) 760OPT FNequs(" f1 - swap screen") 770OPT FNequb(13) 780OPT FNequs(" f2 - freeze operation") 790OPT FNequb(13) 800OPT FNequs(" STOP") 810OPT FNequb(13) 820OPT FNequs(" SPACE <line spacing>") 830OPT FNequb(13) 840OPT FNequs(" SWAP") 850OPT FNequb(13) 860BRK 870 880.setup LDA#&FF 890STAdh+&2000 900LDA#0 910PHA 920LDAvectors+&2000 930CMP#&FF 940BNEget_vectors 950PLA 960RTS 970.stop LDA#0 980STAdh+&2000 990LDAvectors+&2000 1000CMP#&FF 1010BEQrelease 1020LDA#0 1030RTS 1040.release SEI 1050LDAkcv+&2000 1060STA&228 1070LDAkcv+&2001 1080STA&229 1090CLI 1100LDA#0 1110STAvectors+&2000 1120RTS 1130.break LDA#&FE 1140PHA 1150LDAdh+&2000 1160BEQno_go 1170.get_vectors LDA&228 1180STAkcv+&2000 1190LDA&229 1200STAkcv+&2001 1210LDA#key MOD 256 1220STA&DDB 1230LDA#(key DIV 256)+&20 1240STA&DDC 1250LDA&F4 1260STA&DDD 1270SEI 1280LDA#&3C 1290STA&228 1300LDA#&FF 1310STA&229 1320CLI 1330LDA#&FF 1340STAvectors+&2000 1350.no_go PLA 1360RTS 1370.key PHP 1380BCCelse 1390BVCelse 1400LDApdp_running+&2000 1410BNEelse 1420CLC 1430CLV 1440JSRjumpkcv+&2000 1450BMI functions 1460.else PLP 1470.jumpkcv JMP(kcv+&2000) 1480.kcv BRK:BRK 1490.functions STXsx+&2000 1500STYsy+&2000 1510LDX#(&20 EOR&80) 1520SEC 1530CLV 1540JSRjumpkcv+&2000 1550CMP#0 1560BMI pdp 1570LDX#(&71 EOR&80) 1580JSRjumpkcv+&2000 1590CMP#0 1600BMI key_swap 1610LDX#(&72 EOR&80) 1620JSRjumpkcv+&2000 1630CMP#0 1640BMIbr_wait 1650.backos LDXsx+&2000 1660LDYsy+&2000 1670JMPelse+&2000 1680.key_swap JSRswap_screens+&2000 1690JMPbackos+&2000 1700.br_wait JMPwait+&2000 1710.pdp LDA#&FF 1720STApdp_running+&2000 1730CLI 1740JSRstart+&2000 1750SEI 1760LDA#0 1770STApdp_running+&2000 1780JMPbackos+&2000 1790.print JSRstart+&2000 1800LDA#0 1810RTS 1820 1830.initial LDY#&22 \ save z page 1840.ret LDA&6F,Y 1850STAz_page+&2000,Y 1860LDA#0 1870STA&6F,Y 1880DEY 1890CPY#&FF 1900BNE ret 1910LDA#&87 1920JSR osbyte 1930CPY#7 1940BEQ out 1950CPY#5 1960BEQ out 1970CPY#2 1980BEQ out 1990CPY#1 2000BNE jump 2010.out LDA#7 2020JSR oswrch 2030SEC 2040RTS 2050.jump STY&70 2060LDA#&A0 2070LDX#&50 2080LDY#0 2090JSR osbyte 2100STX&71 2110STY&72 2120LDA#&7F 2130STA&74 2140LDY&70 2150CPY#3 2160BNE jump2 2170STA&73 2180LDA#&7E 2190STA&74 2200JMP jump3+&2000 2210.jump2 CPY#6 2220BEQ jump4 2230LDX#&FF 2240STX&73 2250JMP jump3+&2000 2260.jump4 LDA#&3F 2270STA&73 2280.jump3 LDA#&84 2290JSR osbyte 2300STX&75 2310STY&76 2320LDA&71 2330STA counter 2340LDA&72 2350STA counter+1 2360LDA&70 2370CMP#4 2380BCS mode46 2390LDA#&80 2400STA&7B 2410LDA#2 2420STA&7C 2430LDA#ASC"L" 2440STActrl_char+&2000 2450JMP jump5+&2000 2460.mode46 LDA#ASC"K" 2470STActrl_char+&2000 2480LDA#&40 2490STA&7B 2500LDA#1 2510STA&7C 2520.jump5 2530LDA&70 2540CMP#3 2550BEQ jump6b 2560CMP#6 2570BNE jump6 2580.jump6b LDA#&C8 2590STA&7D 2600JMP jump7+&2000 2610.jump6 LDA#1 2620STA&7E 2630.jump7 2640\ end of initial set up 2650CLC 2660RTS 2670 2680.prepear LDY#0 \ prepear printer to accept a line of char's 2690.back LDA#1 \ VDU1 is always needed 2700JSR oswrch 2710LDA control+&2000,Y 2720JSR oswrch 2730INY 2740CPY#3 2750BNE back 2760LDA#1 2770JSR oswrch 2780LDA&7B 2790JSR oswrch 2800LDA#1 2810JSR oswrch 2820LDA&7C 2830JSR oswrch 2840RTS 2850 2860.decode LDX#0 2870.nbe LDA#0 2880STA store 2890LDY#0 2900.nbb LDA (counter),Y 2910AND add+&2000,X 2920BEQ no_set 2930LDA store 2940ORA add+&2000,Y 2950STA store 2960.no_set INY 2970CPY#8 2980BNE nbb 2990LDA#1 3000JSR oswrch 3010LDA store 3020JSR oswrch 3030INX 3040CPX#8 3050BNE nbe 3060RTS 3070 3080.start JSR initial+&2000 3090BCC on 3100JMP re_swap+&2000 3110.on LDA#2 3120JSR oswrch 3130LDY#0 3140.bpatch LDA#1 3150JSR oswrch 3160LDA line+&2000,Y 3170JSR oswrch 3180INY 3190CPY#3 3200BNE bpatch 3210.new_row JSR prepear+&2000 3220.next8 JSR decode+&2000 3230LDA counter 3240CLC 3250ADC#8 3260STA counter 3270LDA counter+1 3280ADC#0 3290STA counter+1 3300ADC#0 3310STA counter+1 3320LDA&82 3330CLC 3340ADC#8 3350STA&82 3360TAY 3370LDA&83 3380ADC#0 3390STA&83 3400CMP&7C 3410BNE next8 3420CPY&7B 3430BNE next8 3440LDA#0 3450STA&82 3460STA&83 3470LDA counter+1 3480CMP&74 3490BCC miss 3500LDA&75 3510STA counter 3520LDA&76 3530STA counter+1 3540.miss LDA&79 3550CLC 3560ADC#8 3570STA&79 3580TAY 3590LDA&7A 3600ADC#0 3610STA&7A 3620CMP&7E 3630BCC new_row 3640CPY&7D 3650BCC new_row 3660LDY#16 3670.clean LDA#1 3680JSR oswrch 3690LDA#0 3700JSR oswrch 3710DEY 3720BNE clean 3730LDA#1 3740JSR oswrch 3750LDA#27 3760JSR oswrch 3770LDA#1 3780JSR oswrch 3790LDA#64 3800JSR oswrch 3810LDA#3 3820JSR oswrch 3830.re_swap LDY#&22 3840.ret_z LDAz_page+&2000,Y 3850STA&6F,Y 3860DEY 3870BNEret_z 3880RTS 3890.control \ control characters 3900OPT FNequb(13) \ CR 3910OPT FNequb(27) \ ESCape 3920.ctrl_char OPT FNequb(ASC"K") 3930.add OPT FNequb(&80) 3940OPT FNequb(&40) 3950OPT FNequb(&20) 3960OPT FNequb(&10) 3970OPT FNequb(8) 3980OPT FNequb(4) 3990OPT FNequb(2) 4000OPT FNequb(1) 4010.pin OPT FNequd(0) 4020OPT FNequd(0) 4030.line OPT FNequb(27) 4040OPT FNequb(ASC"3") 4050.space OPT FNequb(line_spacing) 4060.pdp_running BRK 4070.sx BRK 4080.sy BRK 4090.sy2 BRK 4100.sa BRK 4110.dh BRK 4120.z_page OPT FNbytes32(0) \ temporay store for &70-&8F 4130BRK 4140BRK 4150 4160\ Parser 4170 4180.cli STY sy+&2000 4190LDA(&F2),Y 4200ORA#&20 4210CMP#ASC"p" 4220BNE past 4230INY 4240.past STY sy2+&2000 4250LDX#0 4260STX cocount+&2000 4270.cba2 LDY sy2+&2000 4280.cba1 LDA(&F2),Y 4290ORA#&20 4300CMP#&20 4310BEQ end_com 4320CMP#&2D 4330BEQ end_com 4340CMP comms+&2000,X 4350BNE next_com 4360INX 4370INY 4380JMP cba1+&2000 4390.next_com LDA comms+&2000,X 4400CMP#&FF 4410BEQ bad_com 4420CMP#&2D 4430BEQ upto_next_com 4440CMP#&20 4450BEQ upto_next_com 4460INX 4470JMP next_com+&2000 4480.upto_next_com INX 4490INC cocount+&2000 4500JMP cba2+&2000 4510.end_com LDA comms+&2000,X 4520CMP#&20 4530BEQ cfo3 4540CMP#&2D 4550BNE next_com 4560.cfo3 LDA cocount+&2000 4570ASL A 4580TAX 4590LDA com_addr+&2000,X 4600STA cojump+&2000 4610LDA com_addr+&2001,X 4620STA cojump+&2001 4630JMP(cojump+&2000) 4640.bad_com LDA#4 4650LDYsy+&2000 4660RTS 4670.cojump BRK:BRK 4680.cocount BRK 4690.vectors BRK 4700.comms OPT FNequs("start") 4710OPT FNequb(&2D) 4720OPT FNequs("stop") 4730OPT FNequb(&2D) 4740OPT FNequs("screen") 4750OPT FNequb(&2D) 4760OPT FNequs("swap") 4770OPT FNequb(&2D) 4780OPT FNequs("space") 4790OPT FNequb(&20) 4800OPT FNequb(&FF) 4810.com_addr OPT FNequw(setup+&2000) 4820OPT FNequw(stop+&2000) 4830OPT FNequw(print+&2000) 4840OPT FNequw(com_swap+&2000) 4850OPT FNequw(set_spacing+&2000) 4860.com_swap JSRswap_screens+&2000 4870LDA#0 4880RTS 4890.brtoobig JMP too_big+&2000 4900.swap_screens LDA#&87 4910JSRosbyte 4920CPY#4 4930BCCbrtoobig 4940STYmode+&2000 4950LDA#&84 4960JSRosbyte 4970SEI 4980LDA&70 4990STAst+&2000 5000LDA&71 5010STAst+&2001 5020LDA&72 5030STAst+&2002 5040LDA&73 5050STAst+&2003 5060STY&71 5070STX&70 5080LDAr12+&2000 5090PHA 5100LDAr13+&2000 5110PHA 5120LDA&350 5130STAr13+&2000 5140LDA&351 5150STAr12+&2000 5160LDA#&98 5170STA&73 5180LDY#0 5190STY&72 5200.swba LDA(&70),Y 5210PHA 5220LDA(&72),Y 5230STA(&70),Y 5240PLA 5250STA(&72),Y 5260INY 5270BNEswba 5280INC&71 5290INC&73 5300LDA&71 5310CMP#&80 5320BNEswba 5330LDAmode+&2000 5340CMP#7 5350BNEother_mode 5360LDA#&D 5370STA&FE00 5380PLA 5390STA&350 5400STA&FE01 5410LDA#&C 5420STA&FE00 5430PLA 5440STA&351 5450SEC 5460SBC#&74 5470EOR#&20 5480STA&FE01 5490LDAst+&2000 5500STA&70 5510LDAst+&2001 5520STA&71 5530LDAst+&2002 5540STA&72 5550LDAst+&2003 5560STA&73 5570LDX#64 5580.m LDY#&FF 5590.m2 NOP 5600DEY 5610BNE m2 5620DEX 5630BNE m 5640CLI 5650RTS 5660.other_mode LDA#&D 5670STA&FE00 5680PLA 5690STA&350 5700LSR A:LSR A:LSR A 5710STA&FE01 5720LDA#&C 5730STA&FE00 5740PLA 5750STA&351 5760LSR A:LSR A:LSR A 5770STA&FE01 5780RTS 5790.mode BRK 5800.r12 BRK 5810.r13 BRK 5820.st OPT FNequd(0) 5830.too_big LDY#0 5840.tbba LDAerror+&2000,Y 5850STA&100,Y 5860INY 5870CPY#11 5880JMP&100 5890.error BRK 5900OPT FNequb(25) 5910OPT FNequs("Bad Mode") 5920BRK 5930.set_spacing INY 5940.cba3 INY 5950LDA(&F2),Y 5960JSR valid_asc+&2000 5970BCS cba3 5980JSR asc_hex+&2000 5990STA sa+&2000 6000INY 6010LDA(&F2),Y 6020JSR valid_asc+&2000 6030BCS was 6040ASL sa+&2000:ASL sa+&2000 6050ASL sa+&2000:ASL sa+&2000 6060ORA sa+&2000 6070STA space+&2000 6080LDA#0 6090STA pdp_running 6100RTS 6110.was LDA sa+&2000 6120STA space+&2000 6130LDA#0 6140RTS 6150.asc_hex SEC 6160SBC#&30 6170CMP#10 6180BCC cfo2 6190SEC 6200SBC#7 6210.cfo2 RTS 6220.valid_asc CMP#&30 6230BMI cset 6240CMP#&47 6250BCS cset 6260CMP#&3A 6270BMI cclear 6280CMP#&40 6290BMI cset 6300.cclear CLC 6310RTS 6320.cset SEC 6330RTS 6340 6350.wait LDX#8 6360.l2 LDY#&FF 6370.l NOP 6380DEY 6390BNE l 6400DEX 6410BNE l2 6420CLI 6430LDA#&FF 6440EOR ok+&2000 6450STA ok+&2000 6460.waiting LDA ok+&2000 6470CMP#&FF 6480BEQ waiting 6490JMP backos+&2000 6500.ok BRK 6510] 6520NEXT 6530PRINT'"*RUN UP now" 6540PRINT"Then press Break and *HELP" 6550END 6560DEFFNequb(x) 6570?P%=x 6580P%=P%+1 6590:=pass 6600DEFFNequw(x) 6610!P%=x 6620P%=P%+2 6630:=pass 6640DEFFNequd(x) 6650!P%=x 6660P%=P%+4 6670:=pass 6680DEFFNequs(x$) 6690$P%=x$ 6700P%=P%+LEN(x$) 6710:=pass 6720DEFFNbytes32(x) 6730FOR x%=P% TO P%+32 6740?x%=x 6750NEXT 6760P%=P%+32 6770:=pass
+� Printer Dump for Sideways RAM ( PDR ) 6� Enhanced version of Printer Dump Program ( PDP ) � Extra Utilies added (� Allan Kelly 1/8/86 2 <line_spacing=&19 Fcounter=&77 P store=&7F Zoswrch=&FFEE dosbyte=&FFF4 nosnewl=&FFE7 xosasci=&FFE3 � �� pass=0 � 2 � 2 �P%=&6000 �[ �OPT pass � .lang BRK �BRK:BRK �JMP enter+&2000 �OPT �equb(&82) �OPT �equb(copy-&6000) �OPT �equb(2) �+OPT �equs("Enhanced PDP for SWR - PDR") � .copy BRK OPT �equs("(C)") #OPT �equs("Allan Kelly 1/8/86") BRK " ,.enter CMP#9 6BEQ help @ CMP#4 JBEQbrcli TCMP#&FE ^BEQbrbreak hRTS r.brcli JMPcli+&2000 |.brbreak JMPbreak+&2000 � .help PHA �TXA �PHA �TYA �PHA �LDX#dark � 256 �LDY#(dark � 256)+&20 �JSR display+&2000 �PLA �TAY �PLA �TAX �PLA RTS %.display \ X & Y piont to message & STX&70 0 STY&71 : LDY#0 D.dback LDA(&70),Y NJSR osasci XINY b CMP#0 l BNE dback vRTS � �.dark OPT �equb(13) �%OPT �equs("Printer Dump ROM/RAM") �OPT �equb(13) �OPT �equs(" SCREEN") �OPT �equb(13) �OPT �equs(" START") �OPT �equb(13) �#OPT �equs(" Then CTRL with") �OPT �equb(13) �&OPT �equs(" f0 - print screen") �OPT �equb(13) �%OPT �equs(" f1 - swap screen") OPT �equb(13) *OPT �equs(" f2 - freeze operation") OPT �equb(13) OPT �equs(" STOP") *OPT �equb(13) 4'OPT �equs(" SPACE <line spacing>") >OPT �equb(13) HOPT �equs(" SWAP") ROPT �equb(13) \BRK f p.setup LDA#&FF zSTAdh+&2000 � LDA#0 �PHA �LDAvectors+&2000 �CMP#&FF �BNEget_vectors �PLA �RTS �.stop LDA#0 �STAdh+&2000 �LDAvectors+&2000 �CMP#&FF �BEQrelease � LDA#0 RTS .release SEI LDAkcv+&2000 $STA&228 .LDAkcv+&2001 8STA&229 BCLI L LDA#0 VSTAvectors+&2000 `RTS j.break LDA#&FE tPHA ~LDAdh+&2000 �BEQno_go �.get_vectors LDA&228 �STAkcv+&2000 �LDA&229 �STAkcv+&2001 �LDA#key � 256 �STA&DDB �LDA#(key � 256)+&20 �STA&DDC � LDA&F4 �STA&DDD �SEI LDA#&3C STA&228 LDA#&FF STA&229 (CLI 2LDA#&FF <STAvectors+&2000 F.no_go PLA PRTS Z.key PHP dBCCelse nBVCelse xLDApdp_running+&2000 �BNEelse �CLC �CLV �JSRjumpkcv+&2000 �BMI functions � .else PLP �.jumpkcv JMP(kcv+&2000) �.kcv BRK:BRK �.functions STXsx+&2000 �STYsy+&2000 �LDX#(&20 �&80) �SEC �CLV JSRjumpkcv+&2000 CMP#0 BMI pdp "LDX#(&71 �&80) ,JSRjumpkcv+&2000 6 CMP#0 @BMI key_swap JLDX#(&72 �&80) TJSRjumpkcv+&2000 ^ CMP#0 hBMIbr_wait r.backos LDXsx+&2000 |LDYsy+&2000 �JMPelse+&2000 �#.key_swap JSRswap_screens+&2000 �JMPbackos+&2000 �.br_wait JMPwait+&2000 �.pdp LDA#&FF �STApdp_running+&2000 �CLI �JSRstart+&2000 �SEI � LDA#0 �STApdp_running+&2000 �JMPbackos+&2000 �.print JSRstart+&2000 LDA#0 RTS &".initial LDY#&22 \ save z page 0.ret LDA&6F,Y :STAz_page+&2000,Y D LDA#0 NSTA&6F,Y XDEY bCPY#&FF lBNE ret vLDA#&87 �JSR osbyte � CPY#7 �BEQ out � CPY#5 �BEQ out � CPY#2 �BEQ out � CPY#1 �BNE jump �.out LDA#7 �JSR oswrch �SEC �RTS .jump STY&70 LDA#&A0 LDX#&50 LDY#0 *JSR osbyte 4 STX&71 > STY&72 HLDA#&7F R STA&74 \ LDY&70 f CPY#3 p BNE jump2 z STA&73 �LDA#&7E � STA&74 �JMP jump3+&2000 �.jump2 CPY#6 � BEQ jump4 �LDX#&FF � STX&73 �JMP jump3+&2000 �.jump4 LDA#&3F � STA&73 �.jump3 LDA#&84 �JSR osbyte � STX&75 STY&76 LDA&71 STA counter $ LDA&72 .STA counter+1 8 LDA&70 B CMP#4 LBCS mode46 VLDA#&80 ` STA&7B j LDA#2 t STA&7C ~LDA#�"L" �STActrl_char+&2000 �JMP jump5+&2000 �.mode46 LDA#�"K" �STActrl_char+&2000 �LDA#&40 � STA&7B � LDA#1 � STA&7C � .jump5 � LDA&70 � CMP#3 �BEQ jump6b CMP#6 BNE jump6 .jump6b LDA#&C8 STA&7D (JMP jump7+&2000 2.jump6 LDA#1 < STA&7E F .jump7 P\ end of initial set up ZCLC dRTS n x?.prepear LDY#0 \ prepear printer to accept a line of char's �%.back LDA#1 \ �1 is always needed �JSR oswrch �LDA control+&2000,Y �JSR oswrch �INY � CPY#3 �BNE back � LDA#1 �JSR oswrch � LDA&7B �JSR oswrch � LDA#1 �JSR oswrch LDA&7C JSR oswrch RTS " ,.decode LDX#0 6.nbe LDA#0 @ STA store J LDY#0 T.nbb LDA (counter),Y ^� add+&2000,X hBEQ no_set r LDA store |�A add+&2000,Y � STA store �.no_set INY � CPY#8 �BNE nbb � LDA#1 �JSR oswrch � LDA store �JSR oswrch �INX � CPX#8 �BNE nbe �RTS � .start JSR initial+&2000 BCC on JMP re_swap+&2000 & .on LDA#2 0JSR oswrch : LDY#0 D.bpatch LDA#1 NJSR oswrch XLDA line+&2000,Y bJSR oswrch lINY v CPY#3 �BNE bpatch �.new_row JSR prepear+&2000 �.next8 JSR decode+&2000 �LDA counter �CLC � ADC#8 �STA counter �LDA counter+1 � ADC#0 �STA counter+1 � ADC#0 �STA counter+1 � LDA&82 CLC ADC#8 STA&82 TAY * LDA&83 4 ADC#0 > STA&83 H CMP&7C R BNE next8 \ CPY&7B f BNE next8 p LDA#0 z STA&82 � STA&83 �LDA counter+1 � CMP&74 �BCC miss � LDA&75 �STA counter � LDA&76 �STA counter+1 �.miss LDA&79 �CLC � ADC#8 � STA&79 �TAY LDA&7A ADC#0 STA&7A $ CMP&7E .BCC new_row 8 CPY&7D BBCC new_row L LDY#16 V.clean LDA#1 `JSR oswrch j LDA#0 tJSR oswrch ~DEY � BNE clean � LDA#1 �JSR oswrch � LDA#27 �JSR oswrch � LDA#1 �JSR oswrch � LDA#64 �JSR oswrch � LDA#3 �JSR oswrch �.re_swap LDY#&22 .ret_z LDAz_page+&2000,Y STA&6F,Y DEY BNEret_z (RTS 2!.control \ control characters <OPT �equb(13) \ CR FOPT �equb(27) \ ESCape P.ctrl_char OPT �equb(�"K") Z.add OPT �equb(&80) dOPT �equb(&40) nOPT �equb(&20) xOPT �equb(&10) �OPT �equb(8) �OPT �equb(4) �OPT �equb(2) �OPT �equb(1) �.pin OPT �equd(0) �OPT �equd(0) �.line OPT �equb(27) �OPT �equb(�"3") �".space OPT �equb(line_spacing) �.pdp_running BRK �.sx BRK �.sy BRK �.sy2 BRK .sa BRK .dh BRK 8.z_page OPT �bytes32(0) \ temporay store for &70-&8F "BRK ,BRK 6 @\ Parser J T.cli STY sy+&2000 ^LDA(&F2),Y h �A#&20 rCMP#�"p" |BNE past �INY �.past STY sy2+&2000 � LDX#0 �STX cocount+&2000 �.cba2 LDY sy2+&2000 �.cba1 LDA(&F2),Y � �A#&20 �CMP#&20 �BEQ end_com �CMP#&2D �BEQ end_com �CMP comms+&2000,X �BNE next_com INX INY JMP cba1+&2000 &.next_com LDA comms+&2000,X 0CMP#&FF :BEQ bad_com DCMP#&2D NBEQ upto_next_com XCMP#&20 bBEQ upto_next_com lINX vJMP next_com+&2000 �.upto_next_com INX �INC cocount+&2000 �JMP cba2+&2000 �.end_com LDA comms+&2000,X �CMP#&20 �BEQ cfo3 �CMP#&2D �BNE next_com �.cfo3 LDA cocount+&2000 � ASL A �TAX �LDA com_addr+&2000,X �STA cojump+&2000 LDA com_addr+&2001,X STA cojump+&2001 JMP(cojump+&2000) .bad_com LDA#4 *LDYsy+&2000 4RTS >.cojump BRK:BRK H.cocount BRK R.vectors BRK \.comms OPT �equs("start") fOPT �equb(&2D) pOPT �equs("stop") zOPT �equb(&2D) �OPT �equs("screen") �OPT �equb(&2D) �OPT �equs("swap") �OPT �equb(&2D) �OPT �equs("space") �OPT �equb(&20) �OPT �equb(&FF) �$.com_addr OPT �equw(setup+&2000) �OPT �equw(stop+&2000) �OPT �equw(print+&2000) �OPT �equw(com_swap+&2000) � OPT �equw(set_spacing+&2000) �#.com_swap JSRswap_screens+&2000 LDA#0 RTS .brtoobig JMP too_big+&2000 $.swap_screens LDA#&87 . JSRosbyte 8 CPY#4 BBCCbrtoobig LSTYmode+&2000 VLDA#&84 ` JSRosbyte jSEI t LDA&70 ~STAst+&2000 � LDA&71 �STAst+&2001 � LDA&72 �STAst+&2002 � LDA&73 �STAst+&2003 � STY&71 � STX&70 �LDAr12+&2000 �PHA �LDAr13+&2000 �PHA LDA&350 STAr13+&2000 LDA&351 STAr12+&2000 (LDA#&98 2 STA&73 < LDY#0 F STY&72 P.swba LDA(&70),Y ZPHA dLDA(&72),Y nSTA(&70),Y xPLA �STA(&72),Y �INY �BNEswba � INC&71 � INC&73 � LDA&71 �CMP#&80 �BNEswba �LDAmode+&2000 � CMP#7 �BNEother_mode � LDA#&D �STA&FE00 PLA STA&350 STA&FE01 " LDA#&C ,STA&FE00 6PLA @STA&351 JSEC TSBC#&74 ^ �#&20 hSTA&FE01 rLDAst+&2000 | STA&70 �LDAst+&2001 � STA&71 �LDAst+&2002 � STA&72 �LDAst+&2003 � STA&73 � LDX#64 �.m LDY#&FF �.m2 NOP �DEY � BNE m2 �DEX � BNE m CLI RTS .other_mode LDA#&D &STA&FE00 0PLA :STA&350 DLSR A:LSR A:LSR A NSTA&FE01 X LDA#&C bSTA&FE00 lPLA vSTA&351 �LSR A:LSR A:LSR A �STA&FE01 �RTS � .mode BRK �.r12 BRK �.r13 BRK �.st OPT �equd(0) �.too_big LDY#0 �.tbba LDAerror+&2000,Y � STA&100,Y �INY � CPY#11 �JMP&100 .error BRK OPT �equb(25) OPT �equs("Bad Mode") BRK *.set_spacing INY 4 .cba3 INY >LDA(&F2),Y HJSR valid_asc+&2000 RBCS cba3 \JSR asc_hex+&2000 fSTA sa+&2000 pINY zLDA(&F2),Y �JSR valid_asc+&2000 �BCS was �ASL sa+&2000:ASL sa+&2000 �ASL sa+&2000:ASL sa+&2000 ��A sa+&2000 �STA space+&2000 � LDA#0 �STA pdp_running �RTS �.was LDA sa+&2000 �STA space+&2000 � LDA#0 �RTS .asc_hex SEC SBC#&30 CMP#10 $BCC cfo2 .SEC 8 SBC#7 B .cfo2 RTS L.valid_asc CMP#&30 VBMI cset `CMP#&47 jBCS cset tCMP#&3A ~BMI cclear �CMP#&40 �BMI cset �.cclear CLC �RTS � .cset SEC �RTS � �.wait LDX#8 �.l2 LDY#&FF � .l NOP �DEY � BNE l DEX BNE l2 CLI LDA#&FF (� ok+&2000 2STA ok+&2000 <.waiting LDA ok+&2000 FCMP#&FF PBEQ waiting ZJMP backos+&2000 d.ok BRK n] x� ��'"*RUN UP now" �!�"Then press Break and *HELP" �� � ݤequb(x) � ?P%=x �P%=P%+1 � :=pass � ݤequw(x) � !P%=x �P%=P%+2 � :=pass � ݤequd(x) � !P%=x P%=P%+4 :=pass ݤequs(x$) " $P%=x$ ,P%=P%+�(x$) 6 :=pass @ݤbytes32(x) J� x%=P% � P%+32 T ?x%=x ^� hP%=P%+32 r :=pass �
00000000 0d 00 0a 2b f4 20 50 72 69 6e 74 65 72 20 44 75 |...+. Printer Du| 00000010 6d 70 20 66 6f 72 20 53 69 64 65 77 61 79 73 20 |mp for Sideways | 00000020 52 41 4d 20 28 20 50 44 52 20 29 0d 00 14 36 f4 |RAM ( PDR )...6.| 00000030 20 45 6e 68 61 6e 63 65 64 20 76 65 72 73 69 6f | Enhanced versio| 00000040 6e 20 6f 66 20 50 72 69 6e 74 65 72 20 44 75 6d |n of Printer Dum| 00000050 70 20 50 72 6f 67 72 61 6d 20 28 20 50 44 50 20 |p Program ( PDP | 00000060 29 0d 00 1e 19 f4 20 45 78 74 72 61 20 55 74 69 |)..... Extra Uti| 00000070 6c 69 65 73 20 61 64 64 65 64 0d 00 28 18 f4 20 |lies added..(.. | 00000080 41 6c 6c 61 6e 20 4b 65 6c 6c 79 20 31 2f 38 2f |Allan Kelly 1/8/| 00000090 38 36 0d 00 32 05 20 0d 00 3c 14 6c 69 6e 65 5f |86..2. ..<.line_| 000000a0 73 70 61 63 69 6e 67 3d 26 31 39 0d 00 46 0f 63 |spacing=&19..F.c| 000000b0 6f 75 6e 74 65 72 3d 26 37 37 0d 00 50 0d 73 74 |ounter=&77..P.st| 000000c0 6f 72 65 3d 26 37 46 0d 00 5a 10 6f 73 77 72 63 |ore=&7F..Z.oswrc| 000000d0 68 3d 26 46 46 45 45 0d 00 64 10 6f 73 62 79 74 |h=&FFEE..d.osbyt| 000000e0 65 3d 26 46 46 46 34 0d 00 6e 10 6f 73 6e 65 77 |e=&FFF4..n.osnew| 000000f0 6c 3d 26 46 46 45 37 0d 00 78 10 6f 73 61 73 63 |l=&FFE7..x.osasc| 00000100 69 3d 26 46 46 45 33 0d 00 82 05 20 0d 00 8c 14 |i=&FFE3.... ....| 00000110 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 88 20 32 |. pass=0 . 2 . 2| 00000120 0d 00 96 0c 50 25 3d 26 36 30 30 30 0d 00 a0 05 |....P%=&6000....| 00000130 5b 0d 00 aa 0c 4f 50 54 20 70 61 73 73 0d 00 b4 |[....OPT pass...| 00000140 0d 2e 6c 61 6e 67 20 42 52 4b 0d 00 be 0b 42 52 |..lang BRK....BR| 00000150 4b 3a 42 52 4b 0d 00 c8 13 4a 4d 50 20 65 6e 74 |K:BRK....JMP ent| 00000160 65 72 2b 26 32 30 30 30 0d 00 d2 12 4f 50 54 20 |er+&2000....OPT | 00000170 a4 65 71 75 62 28 26 38 32 29 0d 00 dc 19 4f 50 |.equb(&82)....OP| 00000180 54 20 a4 65 71 75 62 28 63 6f 70 79 2d 26 36 30 |T .equb(copy-&60| 00000190 30 30 29 0d 00 e6 10 4f 50 54 20 a4 65 71 75 62 |00)....OPT .equb| 000001a0 28 32 29 0d 00 f0 2b 4f 50 54 20 a4 65 71 75 73 |(2)...+OPT .equs| 000001b0 28 22 45 6e 68 61 6e 63 65 64 20 50 44 50 20 66 |("Enhanced PDP f| 000001c0 6f 72 20 53 57 52 20 2d 20 50 44 52 22 29 0d 00 |or SWR - PDR")..| 000001d0 fa 0d 2e 63 6f 70 79 20 42 52 4b 0d 01 04 14 4f |...copy BRK....O| 000001e0 50 54 20 a4 65 71 75 73 28 22 28 43 29 22 29 0d |PT .equs("(C)").| 000001f0 01 0e 23 4f 50 54 20 a4 65 71 75 73 28 22 41 6c |..#OPT .equs("Al| 00000200 6c 61 6e 20 4b 65 6c 6c 79 20 31 2f 38 2f 38 36 |lan Kelly 1/8/86| 00000210 22 29 0d 01 18 07 42 52 4b 0d 01 22 05 20 0d 01 |")....BRK..". ..| 00000220 2c 10 2e 65 6e 74 65 72 20 43 4d 50 23 39 0d 01 |,..enter CMP#9..| 00000230 36 0c 42 45 51 20 68 65 6c 70 0d 01 40 09 43 4d |6.BEQ help..@.CM| 00000240 50 23 34 0d 01 4a 0c 42 45 51 62 72 63 6c 69 0d |P#4..J.BEQbrcli.| 00000250 01 54 0b 43 4d 50 23 26 46 45 0d 01 5e 0e 42 45 |.T.CMP#&FE..^.BE| 00000260 51 62 72 62 72 65 61 6b 0d 01 68 07 52 54 53 0d |Qbrbreak..h.RTS.| 00000270 01 72 17 2e 62 72 63 6c 69 20 4a 4d 50 63 6c 69 |.r..brcli JMPcli| 00000280 2b 26 32 30 30 30 0d 01 7c 1b 2e 62 72 62 72 65 |+&2000..|..brbre| 00000290 61 6b 20 4a 4d 50 62 72 65 61 6b 2b 26 32 30 30 |ak JMPbreak+&200| 000002a0 30 0d 01 86 0d 2e 68 65 6c 70 20 50 48 41 0d 01 |0.....help PHA..| 000002b0 90 07 54 58 41 0d 01 9a 07 50 48 41 0d 01 a4 07 |..TXA....PHA....| 000002c0 54 59 41 0d 01 ae 07 50 48 41 0d 01 b8 12 4c 44 |TYA....PHA....LD| 000002d0 58 23 64 61 72 6b 20 83 20 32 35 36 0d 01 c2 18 |X#dark . 256....| 000002e0 4c 44 59 23 28 64 61 72 6b 20 81 20 32 35 36 29 |LDY#(dark . 256)| 000002f0 2b 26 32 30 0d 01 cc 15 4a 53 52 20 64 69 73 70 |+&20....JSR disp| 00000300 6c 61 79 2b 26 32 30 30 30 0d 01 d6 07 50 4c 41 |lay+&2000....PLA| 00000310 0d 01 e0 07 54 41 59 0d 01 ea 07 50 4c 41 0d 01 |....TAY....PLA..| 00000320 f4 07 54 41 58 0d 01 fe 07 50 4c 41 0d 02 08 07 |..TAX....PLA....| 00000330 52 54 53 0d 02 12 05 20 0d 02 1c 25 2e 64 69 73 |RTS.... ...%.dis| 00000340 70 6c 61 79 20 5c 20 58 20 26 20 59 20 70 69 6f |play \ X & Y pio| 00000350 6e 74 20 74 6f 20 6d 65 73 73 61 67 65 0d 02 26 |nt to message..&| 00000360 0a 53 54 58 26 37 30 0d 02 30 0a 53 54 59 26 37 |.STX&70..0.STY&7| 00000370 31 0d 02 3a 09 4c 44 59 23 30 0d 02 44 15 2e 64 |1..:.LDY#0..D..d| 00000380 62 61 63 6b 20 4c 44 41 28 26 37 30 29 2c 59 0d |back LDA(&70),Y.| 00000390 02 4e 0e 4a 53 52 20 6f 73 61 73 63 69 0d 02 58 |.N.JSR osasci..X| 000003a0 07 49 4e 59 0d 02 62 09 43 4d 50 23 30 0d 02 6c |.INY..b.CMP#0..l| 000003b0 0d 42 4e 45 20 64 62 61 63 6b 0d 02 76 07 52 54 |.BNE dback..v.RT| 000003c0 53 0d 02 80 05 20 0d 02 8a 17 2e 64 61 72 6b 20 |S.... .....dark | 000003d0 4f 50 54 20 a4 65 71 75 62 28 31 33 29 0d 02 94 |OPT .equb(13)...| 000003e0 25 4f 50 54 20 a4 65 71 75 73 28 22 50 72 69 6e |%OPT .equs("Prin| 000003f0 74 65 72 20 44 75 6d 70 20 52 4f 4d 2f 52 41 4d |ter Dump ROM/RAM| 00000400 22 29 0d 02 9e 11 4f 50 54 20 a4 65 71 75 62 28 |")....OPT .equb(| 00000410 31 33 29 0d 02 a8 19 4f 50 54 20 a4 65 71 75 73 |13)....OPT .equs| 00000420 28 22 20 20 53 43 52 45 45 4e 22 29 0d 02 b2 11 |(" SCREEN")....| 00000430 4f 50 54 20 a4 65 71 75 62 28 31 33 29 0d 02 bc |OPT .equb(13)...| 00000440 18 4f 50 54 20 a4 65 71 75 73 28 22 20 20 53 54 |.OPT .equs(" ST| 00000450 41 52 54 22 29 0d 02 c6 11 4f 50 54 20 a4 65 71 |ART")....OPT .eq| 00000460 75 62 28 31 33 29 0d 02 d0 23 4f 50 54 20 a4 65 |ub(13)...#OPT .e| 00000470 71 75 73 28 22 20 20 20 20 54 68 65 6e 20 43 54 |qus(" Then CT| 00000480 52 4c 20 77 69 74 68 22 29 0d 02 da 11 4f 50 54 |RL with")....OPT| 00000490 20 a4 65 71 75 62 28 31 33 29 0d 02 e4 26 4f 50 | .equb(13)...&OP| 000004a0 54 20 a4 65 71 75 73 28 22 20 20 20 20 66 30 20 |T .equs(" f0 | 000004b0 2d 20 70 72 69 6e 74 20 73 63 72 65 65 6e 22 29 |- print screen")| 000004c0 0d 02 ee 11 4f 50 54 20 a4 65 71 75 62 28 31 33 |....OPT .equb(13| 000004d0 29 0d 02 f8 25 4f 50 54 20 a4 65 71 75 73 28 22 |)...%OPT .equs("| 000004e0 20 20 20 20 66 31 20 2d 20 73 77 61 70 20 73 63 | f1 - swap sc| 000004f0 72 65 65 6e 22 29 0d 03 02 11 4f 50 54 20 a4 65 |reen")....OPT .e| 00000500 71 75 62 28 31 33 29 0d 03 0c 2a 4f 50 54 20 a4 |qub(13)...*OPT .| 00000510 65 71 75 73 28 22 20 20 20 20 66 32 20 2d 20 66 |equs(" f2 - f| 00000520 72 65 65 7a 65 20 6f 70 65 72 61 74 69 6f 6e 22 |reeze operation"| 00000530 29 0d 03 16 11 4f 50 54 20 a4 65 71 75 62 28 31 |)....OPT .equb(1| 00000540 33 29 0d 03 20 17 4f 50 54 20 a4 65 71 75 73 28 |3).. .OPT .equs(| 00000550 22 20 20 53 54 4f 50 22 29 0d 03 2a 11 4f 50 54 |" STOP")..*.OPT| 00000560 20 a4 65 71 75 62 28 31 33 29 0d 03 34 27 4f 50 | .equb(13)..4'OP| 00000570 54 20 a4 65 71 75 73 28 22 20 20 53 50 41 43 45 |T .equs(" SPACE| 00000580 20 3c 6c 69 6e 65 20 73 70 61 63 69 6e 67 3e 22 | <line spacing>"| 00000590 29 0d 03 3e 11 4f 50 54 20 a4 65 71 75 62 28 31 |)..>.OPT .equb(1| 000005a0 33 29 0d 03 48 17 4f 50 54 20 a4 65 71 75 73 28 |3)..H.OPT .equs(| 000005b0 22 20 20 53 57 41 50 22 29 0d 03 52 11 4f 50 54 |" SWAP")..R.OPT| 000005c0 20 a4 65 71 75 62 28 31 33 29 0d 03 5c 07 42 52 | .equb(13)..\.BR| 000005d0 4b 0d 03 66 05 20 0d 03 70 12 2e 73 65 74 75 70 |K..f. ..p..setup| 000005e0 20 4c 44 41 23 26 46 46 0d 03 7a 0f 53 54 41 64 | LDA#&FF..z.STAd| 000005f0 68 2b 26 32 30 30 30 0d 03 84 09 4c 44 41 23 30 |h+&2000....LDA#0| 00000600 0d 03 8e 07 50 48 41 0d 03 98 14 4c 44 41 76 65 |....PHA....LDAve| 00000610 63 74 6f 72 73 2b 26 32 30 30 30 0d 03 a2 0b 43 |ctors+&2000....C| 00000620 4d 50 23 26 46 46 0d 03 ac 12 42 4e 45 67 65 74 |MP#&FF....BNEget| 00000630 5f 76 65 63 74 6f 72 73 0d 03 b6 07 50 4c 41 0d |_vectors....PLA.| 00000640 03 c0 07 52 54 53 0d 03 ca 0f 2e 73 74 6f 70 20 |...RTS.....stop | 00000650 4c 44 41 23 30 0d 03 d4 0f 53 54 41 64 68 2b 26 |LDA#0....STAdh+&| 00000660 32 30 30 30 0d 03 de 14 4c 44 41 76 65 63 74 6f |2000....LDAvecto| 00000670 72 73 2b 26 32 30 30 30 0d 03 e8 0b 43 4d 50 23 |rs+&2000....CMP#| 00000680 26 46 46 0d 03 f2 0e 42 45 51 72 65 6c 65 61 73 |&FF....BEQreleas| 00000690 65 0d 03 fc 09 4c 44 41 23 30 0d 04 06 07 52 54 |e....LDA#0....RT| 000006a0 53 0d 04 10 10 2e 72 65 6c 65 61 73 65 20 53 45 |S.....release SE| 000006b0 49 0d 04 1a 10 4c 44 41 6b 63 76 2b 26 32 30 30 |I....LDAkcv+&200| 000006c0 30 0d 04 24 0b 53 54 41 26 32 32 38 0d 04 2e 10 |0..$.STA&228....| 000006d0 4c 44 41 6b 63 76 2b 26 32 30 30 31 0d 04 38 0b |LDAkcv+&2001..8.| 000006e0 53 54 41 26 32 32 39 0d 04 42 07 43 4c 49 0d 04 |STA&229..B.CLI..| 000006f0 4c 09 4c 44 41 23 30 0d 04 56 14 53 54 41 76 65 |L.LDA#0..V.STAve| 00000700 63 74 6f 72 73 2b 26 32 30 30 30 0d 04 60 07 52 |ctors+&2000..`.R| 00000710 54 53 0d 04 6a 12 2e 62 72 65 61 6b 20 4c 44 41 |TS..j..break LDA| 00000720 23 26 46 45 0d 04 74 07 50 48 41 0d 04 7e 0f 4c |#&FE..t.PHA..~.L| 00000730 44 41 64 68 2b 26 32 30 30 30 0d 04 88 0c 42 45 |DAdh+&2000....BE| 00000740 51 6e 6f 5f 67 6f 0d 04 92 18 2e 67 65 74 5f 76 |Qno_go.....get_v| 00000750 65 63 74 6f 72 73 20 4c 44 41 26 32 32 38 0d 04 |ectors LDA&228..| 00000760 9c 10 53 54 41 6b 63 76 2b 26 32 30 30 30 0d 04 |..STAkcv+&2000..| 00000770 a6 0b 4c 44 41 26 32 32 39 0d 04 b0 10 53 54 41 |..LDA&229....STA| 00000780 6b 63 76 2b 26 32 30 30 31 0d 04 ba 11 4c 44 41 |kcv+&2001....LDA| 00000790 23 6b 65 79 20 83 20 32 35 36 0d 04 c4 0b 53 54 |#key . 256....ST| 000007a0 41 26 44 44 42 0d 04 ce 17 4c 44 41 23 28 6b 65 |A&DDB....LDA#(ke| 000007b0 79 20 81 20 32 35 36 29 2b 26 32 30 0d 04 d8 0b |y . 256)+&20....| 000007c0 53 54 41 26 44 44 43 0d 04 e2 0a 4c 44 41 26 46 |STA&DDC....LDA&F| 000007d0 34 0d 04 ec 0b 53 54 41 26 44 44 44 0d 04 f6 07 |4....STA&DDD....| 000007e0 53 45 49 0d 05 00 0b 4c 44 41 23 26 33 43 0d 05 |SEI....LDA#&3C..| 000007f0 0a 0b 53 54 41 26 32 32 38 0d 05 14 0b 4c 44 41 |..STA&228....LDA| 00000800 23 26 46 46 0d 05 1e 0b 53 54 41 26 32 32 39 0d |#&FF....STA&229.| 00000810 05 28 07 43 4c 49 0d 05 32 0b 4c 44 41 23 26 46 |.(.CLI..2.LDA#&F| 00000820 46 0d 05 3c 14 53 54 41 76 65 63 74 6f 72 73 2b |F..<.STAvectors+| 00000830 26 32 30 30 30 0d 05 46 0e 2e 6e 6f 5f 67 6f 20 |&2000..F..no_go | 00000840 50 4c 41 0d 05 50 07 52 54 53 0d 05 5a 0c 2e 6b |PLA..P.RTS..Z..k| 00000850 65 79 20 50 48 50 0d 05 64 0b 42 43 43 65 6c 73 |ey PHP..d.BCCels| 00000860 65 0d 05 6e 0b 42 56 43 65 6c 73 65 0d 05 78 18 |e..n.BVCelse..x.| 00000870 4c 44 41 70 64 70 5f 72 75 6e 6e 69 6e 67 2b 26 |LDApdp_running+&| 00000880 32 30 30 30 0d 05 82 0b 42 4e 45 65 6c 73 65 0d |2000....BNEelse.| 00000890 05 8c 07 43 4c 43 0d 05 96 07 43 4c 56 0d 05 a0 |...CLC....CLV...| 000008a0 14 4a 53 52 6a 75 6d 70 6b 63 76 2b 26 32 30 30 |.JSRjumpkcv+&200| 000008b0 30 0d 05 aa 11 42 4d 49 20 66 75 6e 63 74 69 6f |0....BMI functio| 000008c0 6e 73 0d 05 b4 0d 2e 65 6c 73 65 20 50 4c 50 0d |ns.....else PLP.| 000008d0 05 be 1b 2e 6a 75 6d 70 6b 63 76 20 4a 4d 50 28 |....jumpkcv JMP(| 000008e0 6b 63 76 2b 26 32 30 30 30 29 0d 05 c8 10 2e 6b |kcv+&2000).....k| 000008f0 63 76 20 42 52 4b 3a 42 52 4b 0d 05 d2 1a 2e 66 |cv BRK:BRK.....f| 00000900 75 6e 63 74 69 6f 6e 73 20 53 54 58 73 78 2b 26 |unctions STXsx+&| 00000910 32 30 30 30 0d 05 dc 0f 53 54 59 73 79 2b 26 32 |2000....STYsy+&2| 00000920 30 30 30 0d 05 e6 12 4c 44 58 23 28 26 32 30 20 |000....LDX#(&20 | 00000930 82 26 38 30 29 0d 05 f0 07 53 45 43 0d 05 fa 07 |.&80)....SEC....| 00000940 43 4c 56 0d 06 04 14 4a 53 52 6a 75 6d 70 6b 63 |CLV....JSRjumpkc| 00000950 76 2b 26 32 30 30 30 0d 06 0e 09 43 4d 50 23 30 |v+&2000....CMP#0| 00000960 0d 06 18 0b 42 4d 49 20 70 64 70 0d 06 22 12 4c |....BMI pdp..".L| 00000970 44 58 23 28 26 37 31 20 82 26 38 30 29 0d 06 2c |DX#(&71 .&80)..,| 00000980 14 4a 53 52 6a 75 6d 70 6b 63 76 2b 26 32 30 30 |.JSRjumpkcv+&200| 00000990 30 0d 06 36 09 43 4d 50 23 30 0d 06 40 10 42 4d |0..6.CMP#0..@.BM| 000009a0 49 20 6b 65 79 5f 73 77 61 70 0d 06 4a 12 4c 44 |I key_swap..J.LD| 000009b0 58 23 28 26 37 32 20 82 26 38 30 29 0d 06 54 14 |X#(&72 .&80)..T.| 000009c0 4a 53 52 6a 75 6d 70 6b 63 76 2b 26 32 30 30 30 |JSRjumpkcv+&2000| 000009d0 0d 06 5e 09 43 4d 50 23 30 0d 06 68 0e 42 4d 49 |..^.CMP#0..h.BMI| 000009e0 62 72 5f 77 61 69 74 0d 06 72 17 2e 62 61 63 6b |br_wait..r..back| 000009f0 6f 73 20 4c 44 58 73 78 2b 26 32 30 30 30 0d 06 |os LDXsx+&2000..| 00000a00 7c 0f 4c 44 59 73 79 2b 26 32 30 30 30 0d 06 86 ||.LDYsy+&2000...| 00000a10 11 4a 4d 50 65 6c 73 65 2b 26 32 30 30 30 0d 06 |.JMPelse+&2000..| 00000a20 90 23 2e 6b 65 79 5f 73 77 61 70 20 4a 53 52 73 |.#.key_swap JSRs| 00000a30 77 61 70 5f 73 63 72 65 65 6e 73 2b 26 32 30 30 |wap_screens+&200| 00000a40 30 0d 06 9a 13 4a 4d 50 62 61 63 6b 6f 73 2b 26 |0....JMPbackos+&| 00000a50 32 30 30 30 0d 06 a4 1a 2e 62 72 5f 77 61 69 74 |2000.....br_wait| 00000a60 20 4a 4d 50 77 61 69 74 2b 26 32 30 30 30 0d 06 | JMPwait+&2000..| 00000a70 ae 10 2e 70 64 70 20 4c 44 41 23 26 46 46 0d 06 |...pdp LDA#&FF..| 00000a80 b8 18 53 54 41 70 64 70 5f 72 75 6e 6e 69 6e 67 |..STApdp_running| 00000a90 2b 26 32 30 30 30 0d 06 c2 07 43 4c 49 0d 06 cc |+&2000....CLI...| 00000aa0 12 4a 53 52 73 74 61 72 74 2b 26 32 30 30 30 0d |.JSRstart+&2000.| 00000ab0 06 d6 07 53 45 49 0d 06 e0 09 4c 44 41 23 30 0d |...SEI....LDA#0.| 00000ac0 06 ea 18 53 54 41 70 64 70 5f 72 75 6e 6e 69 6e |...STApdp_runnin| 00000ad0 67 2b 26 32 30 30 30 0d 06 f4 13 4a 4d 50 62 61 |g+&2000....JMPba| 00000ae0 63 6b 6f 73 2b 26 32 30 30 30 0d 06 fe 19 2e 70 |ckos+&2000.....p| 00000af0 72 69 6e 74 20 4a 53 52 73 74 61 72 74 2b 26 32 |rint JSRstart+&2| 00000b00 30 30 30 0d 07 08 09 4c 44 41 23 30 0d 07 12 07 |000....LDA#0....| 00000b10 52 54 53 0d 07 1c 05 20 0d 07 26 22 2e 69 6e 69 |RTS.... ..&".ini| 00000b20 74 69 61 6c 20 4c 44 59 23 26 32 32 20 5c 20 73 |tial LDY#&22 \ s| 00000b30 61 76 65 20 7a 20 70 61 67 65 0d 07 30 11 2e 72 |ave z page..0..r| 00000b40 65 74 20 4c 44 41 26 36 46 2c 59 0d 07 3a 15 53 |et LDA&6F,Y..:.S| 00000b50 54 41 7a 5f 70 61 67 65 2b 26 32 30 30 30 2c 59 |TAz_page+&2000,Y| 00000b60 0d 07 44 09 4c 44 41 23 30 0d 07 4e 0c 53 54 41 |..D.LDA#0..N.STA| 00000b70 26 36 46 2c 59 0d 07 58 07 44 45 59 0d 07 62 0b |&6F,Y..X.DEY..b.| 00000b80 43 50 59 23 26 46 46 0d 07 6c 0b 42 4e 45 20 72 |CPY#&FF..l.BNE r| 00000b90 65 74 0d 07 76 0b 4c 44 41 23 26 38 37 0d 07 80 |et..v.LDA#&87...| 00000ba0 0e 4a 53 52 20 6f 73 62 79 74 65 0d 07 8a 09 43 |.JSR osbyte....C| 00000bb0 50 59 23 37 0d 07 94 0b 42 45 51 20 6f 75 74 0d |PY#7....BEQ out.| 00000bc0 07 9e 09 43 50 59 23 35 0d 07 a8 0b 42 45 51 20 |...CPY#5....BEQ | 00000bd0 6f 75 74 0d 07 b2 09 43 50 59 23 32 0d 07 bc 0b |out....CPY#2....| 00000be0 42 45 51 20 6f 75 74 0d 07 c6 09 43 50 59 23 31 |BEQ out....CPY#1| 00000bf0 0d 07 d0 0c 42 4e 45 20 6a 75 6d 70 0d 07 da 0e |....BNE jump....| 00000c00 2e 6f 75 74 20 4c 44 41 23 37 0d 07 e4 0e 4a 53 |.out LDA#7....JS| 00000c10 52 20 6f 73 77 72 63 68 0d 07 ee 07 53 45 43 0d |R oswrch....SEC.| 00000c20 07 f8 07 52 54 53 0d 08 02 10 2e 6a 75 6d 70 20 |...RTS.....jump | 00000c30 53 54 59 26 37 30 0d 08 0c 0b 4c 44 41 23 26 41 |STY&70....LDA#&A| 00000c40 30 0d 08 16 0b 4c 44 58 23 26 35 30 0d 08 20 09 |0....LDX#&50.. .| 00000c50 4c 44 59 23 30 0d 08 2a 0e 4a 53 52 20 6f 73 62 |LDY#0..*.JSR osb| 00000c60 79 74 65 0d 08 34 0a 53 54 58 26 37 31 0d 08 3e |yte..4.STX&71..>| 00000c70 0a 53 54 59 26 37 32 0d 08 48 0b 4c 44 41 23 26 |.STY&72..H.LDA#&| 00000c80 37 46 0d 08 52 0a 53 54 41 26 37 34 0d 08 5c 0a |7F..R.STA&74..\.| 00000c90 4c 44 59 26 37 30 0d 08 66 09 43 50 59 23 33 0d |LDY&70..f.CPY#3.| 00000ca0 08 70 0d 42 4e 45 20 6a 75 6d 70 32 0d 08 7a 0a |.p.BNE jump2..z.| 00000cb0 53 54 41 26 37 33 0d 08 84 0b 4c 44 41 23 26 37 |STA&73....LDA#&7| 00000cc0 45 0d 08 8e 0a 53 54 41 26 37 34 0d 08 98 13 4a |E....STA&74....J| 00000cd0 4d 50 20 6a 75 6d 70 33 2b 26 32 30 30 30 0d 08 |MP jump3+&2000..| 00000ce0 a2 10 2e 6a 75 6d 70 32 20 43 50 59 23 36 0d 08 |...jump2 CPY#6..| 00000cf0 ac 0d 42 45 51 20 6a 75 6d 70 34 0d 08 b6 0b 4c |..BEQ jump4....L| 00000d00 44 58 23 26 46 46 0d 08 c0 0a 53 54 58 26 37 33 |DX#&FF....STX&73| 00000d10 0d 08 ca 13 4a 4d 50 20 6a 75 6d 70 33 2b 26 32 |....JMP jump3+&2| 00000d20 30 30 30 0d 08 d4 12 2e 6a 75 6d 70 34 20 4c 44 |000.....jump4 LD| 00000d30 41 23 26 33 46 0d 08 de 0a 53 54 41 26 37 33 0d |A#&3F....STA&73.| 00000d40 08 e8 12 2e 6a 75 6d 70 33 20 4c 44 41 23 26 38 |....jump3 LDA#&8| 00000d50 34 0d 08 f2 0e 4a 53 52 20 6f 73 62 79 74 65 0d |4....JSR osbyte.| 00000d60 08 fc 0a 53 54 58 26 37 35 0d 09 06 0a 53 54 59 |...STX&75....STY| 00000d70 26 37 36 0d 09 10 0a 4c 44 41 26 37 31 0d 09 1a |&76....LDA&71...| 00000d80 0f 53 54 41 20 63 6f 75 6e 74 65 72 0d 09 24 0a |.STA counter..$.| 00000d90 4c 44 41 26 37 32 0d 09 2e 11 53 54 41 20 63 6f |LDA&72....STA co| 00000da0 75 6e 74 65 72 2b 31 0d 09 38 0a 4c 44 41 26 37 |unter+1..8.LDA&7| 00000db0 30 0d 09 42 09 43 4d 50 23 34 0d 09 4c 0e 42 43 |0..B.CMP#4..L.BC| 00000dc0 53 20 6d 6f 64 65 34 36 0d 09 56 0b 4c 44 41 23 |S mode46..V.LDA#| 00000dd0 26 38 30 0d 09 60 0a 53 54 41 26 37 42 0d 09 6a |&80..`.STA&7B..j| 00000de0 09 4c 44 41 23 32 0d 09 74 0a 53 54 41 26 37 43 |.LDA#2..t.STA&7C| 00000df0 0d 09 7e 0c 4c 44 41 23 97 22 4c 22 0d 09 88 16 |..~.LDA#."L"....| 00000e00 53 54 41 63 74 72 6c 5f 63 68 61 72 2b 26 32 30 |STActrl_char+&20| 00000e10 30 30 0d 09 92 13 4a 4d 50 20 6a 75 6d 70 35 2b |00....JMP jump5+| 00000e20 26 32 30 30 30 0d 09 9c 14 2e 6d 6f 64 65 34 36 |&2000.....mode46| 00000e30 20 4c 44 41 23 97 22 4b 22 0d 09 a6 16 53 54 41 | LDA#."K"....STA| 00000e40 63 74 72 6c 5f 63 68 61 72 2b 26 32 30 30 30 0d |ctrl_char+&2000.| 00000e50 09 b0 0b 4c 44 41 23 26 34 30 0d 09 ba 0a 53 54 |...LDA#&40....ST| 00000e60 41 26 37 42 0d 09 c4 09 4c 44 41 23 31 0d 09 ce |A&7B....LDA#1...| 00000e70 0a 53 54 41 26 37 43 0d 09 d8 0a 2e 6a 75 6d 70 |.STA&7C.....jump| 00000e80 35 0d 09 e2 0a 4c 44 41 26 37 30 0d 09 ec 09 43 |5....LDA&70....C| 00000e90 4d 50 23 33 0d 09 f6 0e 42 45 51 20 6a 75 6d 70 |MP#3....BEQ jump| 00000ea0 36 62 0d 0a 00 09 43 4d 50 23 36 0d 0a 0a 0d 42 |6b....CMP#6....B| 00000eb0 4e 45 20 6a 75 6d 70 36 0d 0a 14 13 2e 6a 75 6d |NE jump6.....jum| 00000ec0 70 36 62 20 4c 44 41 23 26 43 38 0d 0a 1e 0a 53 |p6b LDA#&C8....S| 00000ed0 54 41 26 37 44 0d 0a 28 13 4a 4d 50 20 6a 75 6d |TA&7D..(.JMP jum| 00000ee0 70 37 2b 26 32 30 30 30 0d 0a 32 10 2e 6a 75 6d |p7+&2000..2..jum| 00000ef0 70 36 20 4c 44 41 23 31 0d 0a 3c 0a 53 54 41 26 |p6 LDA#1..<.STA&| 00000f00 37 45 0d 0a 46 0a 2e 6a 75 6d 70 37 0d 0a 50 1b |7E..F..jump7..P.| 00000f10 5c 20 65 6e 64 20 6f 66 20 69 6e 69 74 69 61 6c |\ end of initial| 00000f20 20 73 65 74 20 75 70 0d 0a 5a 07 43 4c 43 0d 0a | set up..Z.CLC..| 00000f30 64 07 52 54 53 0d 0a 6e 05 20 0d 0a 78 3f 2e 70 |d.RTS..n. ..x?.p| 00000f40 72 65 70 65 61 72 20 4c 44 59 23 30 20 5c 20 70 |repear LDY#0 \ p| 00000f50 72 65 70 65 61 72 20 70 72 69 6e 74 65 72 20 74 |repear printer t| 00000f60 6f 20 61 63 63 65 70 74 20 61 20 6c 69 6e 65 20 |o accept a line | 00000f70 6f 66 20 63 68 61 72 27 73 0d 0a 82 25 2e 62 61 |of char's...%.ba| 00000f80 63 6b 20 4c 44 41 23 31 20 5c 20 ef 31 20 69 73 |ck LDA#1 \ .1 is| 00000f90 20 61 6c 77 61 79 73 20 6e 65 65 64 65 64 0d 0a | always needed..| 00000fa0 8c 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0a 96 17 |..JSR oswrch....| 00000fb0 4c 44 41 20 63 6f 6e 74 72 6f 6c 2b 26 32 30 30 |LDA control+&200| 00000fc0 30 2c 59 0d 0a a0 0e 4a 53 52 20 6f 73 77 72 63 |0,Y....JSR oswrc| 00000fd0 68 0d 0a aa 07 49 4e 59 0d 0a b4 09 43 50 59 23 |h....INY....CPY#| 00000fe0 33 0d 0a be 0c 42 4e 45 20 62 61 63 6b 0d 0a c8 |3....BNE back...| 00000ff0 09 4c 44 41 23 31 0d 0a d2 0e 4a 53 52 20 6f 73 |.LDA#1....JSR os| 00001000 77 72 63 68 0d 0a dc 0a 4c 44 41 26 37 42 0d 0a |wrch....LDA&7B..| 00001010 e6 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0a f0 09 |..JSR oswrch....| 00001020 4c 44 41 23 31 0d 0a fa 0e 4a 53 52 20 6f 73 77 |LDA#1....JSR osw| 00001030 72 63 68 0d 0b 04 0a 4c 44 41 26 37 43 0d 0b 0e |rch....LDA&7C...| 00001040 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0b 18 07 52 |.JSR oswrch....R| 00001050 54 53 0d 0b 22 05 20 0d 0b 2c 11 2e 64 65 63 6f |TS..". ..,..deco| 00001060 64 65 20 4c 44 58 23 30 0d 0b 36 0e 2e 6e 62 65 |de LDX#0..6..nbe| 00001070 20 4c 44 41 23 30 0d 0b 40 0d 53 54 41 20 73 74 | LDA#0..@.STA st| 00001080 6f 72 65 0d 0b 4a 09 4c 44 59 23 30 0d 0b 54 18 |ore..J.LDY#0..T.| 00001090 2e 6e 62 62 20 4c 44 41 20 28 63 6f 75 6e 74 65 |.nbb LDA (counte| 000010a0 72 29 2c 59 0d 0b 5e 11 80 20 61 64 64 2b 26 32 |r),Y..^.. add+&2| 000010b0 30 30 30 2c 58 0d 0b 68 0e 42 45 51 20 6e 6f 5f |000,X..h.BEQ no_| 000010c0 73 65 74 0d 0b 72 0d 4c 44 41 20 73 74 6f 72 65 |set..r.LDA store| 000010d0 0d 0b 7c 12 84 41 20 61 64 64 2b 26 32 30 30 30 |..|..A add+&2000| 000010e0 2c 59 0d 0b 86 0d 53 54 41 20 73 74 6f 72 65 0d |,Y....STA store.| 000010f0 0b 90 0f 2e 6e 6f 5f 73 65 74 20 49 4e 59 0d 0b |....no_set INY..| 00001100 9a 09 43 50 59 23 38 0d 0b a4 0b 42 4e 45 20 6e |..CPY#8....BNE n| 00001110 62 62 0d 0b ae 09 4c 44 41 23 31 0d 0b b8 0e 4a |bb....LDA#1....J| 00001120 53 52 20 6f 73 77 72 63 68 0d 0b c2 0d 4c 44 41 |SR oswrch....LDA| 00001130 20 73 74 6f 72 65 0d 0b cc 0e 4a 53 52 20 6f 73 | store....JSR os| 00001140 77 72 63 68 0d 0b d6 07 49 4e 58 0d 0b e0 09 43 |wrch....INX....C| 00001150 50 58 23 38 0d 0b ea 0b 42 4e 45 20 6e 62 65 0d |PX#8....BNE nbe.| 00001160 0b f4 07 52 54 53 0d 0b fe 05 20 0d 0c 08 1c 2e |...RTS.... .....| 00001170 73 74 61 72 74 20 4a 53 52 20 69 6e 69 74 69 61 |start JSR initia| 00001180 6c 2b 26 32 30 30 30 0d 0c 12 0a 42 43 43 20 6f |l+&2000....BCC o| 00001190 6e 0d 0c 1c 15 4a 4d 50 20 72 65 5f 73 77 61 70 |n....JMP re_swap| 000011a0 2b 26 32 30 30 30 0d 0c 26 0d 2e 6f 6e 20 4c 44 |+&2000..&..on LD| 000011b0 41 23 32 0d 0c 30 0e 4a 53 52 20 6f 73 77 72 63 |A#2..0.JSR oswrc| 000011c0 68 0d 0c 3a 09 4c 44 59 23 30 0d 0c 44 11 2e 62 |h..:.LDY#0..D..b| 000011d0 70 61 74 63 68 20 4c 44 41 23 31 0d 0c 4e 0e 4a |patch LDA#1..N.J| 000011e0 53 52 20 6f 73 77 72 63 68 0d 0c 58 14 4c 44 41 |SR oswrch..X.LDA| 000011f0 20 6c 69 6e 65 2b 26 32 30 30 30 2c 59 0d 0c 62 | line+&2000,Y..b| 00001200 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0c 6c 07 49 |.JSR oswrch..l.I| 00001210 4e 59 0d 0c 76 09 43 50 59 23 33 0d 0c 80 0e 42 |NY..v.CPY#3....B| 00001220 4e 45 20 62 70 61 74 63 68 0d 0c 8a 1e 2e 6e 65 |NE bpatch.....ne| 00001230 77 5f 72 6f 77 20 4a 53 52 20 70 72 65 70 65 61 |w_row JSR prepea| 00001240 72 2b 26 32 30 30 30 0d 0c 94 1b 2e 6e 65 78 74 |r+&2000.....next| 00001250 38 20 4a 53 52 20 64 65 63 6f 64 65 2b 26 32 30 |8 JSR decode+&20| 00001260 30 30 0d 0c 9e 0f 4c 44 41 20 63 6f 75 6e 74 65 |00....LDA counte| 00001270 72 0d 0c a8 07 43 4c 43 0d 0c b2 09 41 44 43 23 |r....CLC....ADC#| 00001280 38 0d 0c bc 0f 53 54 41 20 63 6f 75 6e 74 65 72 |8....STA counter| 00001290 0d 0c c6 11 4c 44 41 20 63 6f 75 6e 74 65 72 2b |....LDA counter+| 000012a0 31 0d 0c d0 09 41 44 43 23 30 0d 0c da 11 53 54 |1....ADC#0....ST| 000012b0 41 20 63 6f 75 6e 74 65 72 2b 31 0d 0c e4 09 41 |A counter+1....A| 000012c0 44 43 23 30 0d 0c ee 11 53 54 41 20 63 6f 75 6e |DC#0....STA coun| 000012d0 74 65 72 2b 31 0d 0c f8 0a 4c 44 41 26 38 32 0d |ter+1....LDA&82.| 000012e0 0d 02 07 43 4c 43 0d 0d 0c 09 41 44 43 23 38 0d |...CLC....ADC#8.| 000012f0 0d 16 0a 53 54 41 26 38 32 0d 0d 20 07 54 41 59 |...STA&82.. .TAY| 00001300 0d 0d 2a 0a 4c 44 41 26 38 33 0d 0d 34 09 41 44 |..*.LDA&83..4.AD| 00001310 43 23 30 0d 0d 3e 0a 53 54 41 26 38 33 0d 0d 48 |C#0..>.STA&83..H| 00001320 0a 43 4d 50 26 37 43 0d 0d 52 0d 42 4e 45 20 6e |.CMP&7C..R.BNE n| 00001330 65 78 74 38 0d 0d 5c 0a 43 50 59 26 37 42 0d 0d |ext8..\.CPY&7B..| 00001340 66 0d 42 4e 45 20 6e 65 78 74 38 0d 0d 70 09 4c |f.BNE next8..p.L| 00001350 44 41 23 30 0d 0d 7a 0a 53 54 41 26 38 32 0d 0d |DA#0..z.STA&82..| 00001360 84 0a 53 54 41 26 38 33 0d 0d 8e 11 4c 44 41 20 |..STA&83....LDA | 00001370 63 6f 75 6e 74 65 72 2b 31 0d 0d 98 0a 43 4d 50 |counter+1....CMP| 00001380 26 37 34 0d 0d a2 0c 42 43 43 20 6d 69 73 73 0d |&74....BCC miss.| 00001390 0d ac 0a 4c 44 41 26 37 35 0d 0d b6 0f 53 54 41 |...LDA&75....STA| 000013a0 20 63 6f 75 6e 74 65 72 0d 0d c0 0a 4c 44 41 26 | counter....LDA&| 000013b0 37 36 0d 0d ca 11 53 54 41 20 63 6f 75 6e 74 65 |76....STA counte| 000013c0 72 2b 31 0d 0d d4 10 2e 6d 69 73 73 20 4c 44 41 |r+1.....miss LDA| 000013d0 26 37 39 0d 0d de 07 43 4c 43 0d 0d e8 09 41 44 |&79....CLC....AD| 000013e0 43 23 38 0d 0d f2 0a 53 54 41 26 37 39 0d 0d fc |C#8....STA&79...| 000013f0 07 54 41 59 0d 0e 06 0a 4c 44 41 26 37 41 0d 0e |.TAY....LDA&7A..| 00001400 10 09 41 44 43 23 30 0d 0e 1a 0a 53 54 41 26 37 |..ADC#0....STA&7| 00001410 41 0d 0e 24 0a 43 4d 50 26 37 45 0d 0e 2e 0f 42 |A..$.CMP&7E....B| 00001420 43 43 20 6e 65 77 5f 72 6f 77 0d 0e 38 0a 43 50 |CC new_row..8.CP| 00001430 59 26 37 44 0d 0e 42 0f 42 43 43 20 6e 65 77 5f |Y&7D..B.BCC new_| 00001440 72 6f 77 0d 0e 4c 0a 4c 44 59 23 31 36 0d 0e 56 |row..L.LDY#16..V| 00001450 10 2e 63 6c 65 61 6e 20 4c 44 41 23 31 0d 0e 60 |..clean LDA#1..`| 00001460 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0e 6a 09 4c |.JSR oswrch..j.L| 00001470 44 41 23 30 0d 0e 74 0e 4a 53 52 20 6f 73 77 72 |DA#0..t.JSR oswr| 00001480 63 68 0d 0e 7e 07 44 45 59 0d 0e 88 0d 42 4e 45 |ch..~.DEY....BNE| 00001490 20 63 6c 65 61 6e 0d 0e 92 09 4c 44 41 23 31 0d | clean....LDA#1.| 000014a0 0e 9c 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0e a6 |...JSR oswrch...| 000014b0 0a 4c 44 41 23 32 37 0d 0e b0 0e 4a 53 52 20 6f |.LDA#27....JSR o| 000014c0 73 77 72 63 68 0d 0e ba 09 4c 44 41 23 31 0d 0e |swrch....LDA#1..| 000014d0 c4 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0e ce 0a |..JSR oswrch....| 000014e0 4c 44 41 23 36 34 0d 0e d8 0e 4a 53 52 20 6f 73 |LDA#64....JSR os| 000014f0 77 72 63 68 0d 0e e2 09 4c 44 41 23 33 0d 0e ec |wrch....LDA#3...| 00001500 0e 4a 53 52 20 6f 73 77 72 63 68 0d 0e f6 14 2e |.JSR oswrch.....| 00001510 72 65 5f 73 77 61 70 20 4c 44 59 23 26 32 32 0d |re_swap LDY#&22.| 00001520 0f 00 1c 2e 72 65 74 5f 7a 20 4c 44 41 7a 5f 70 |....ret_z LDAz_p| 00001530 61 67 65 2b 26 32 30 30 30 2c 59 0d 0f 0a 0c 53 |age+&2000,Y....S| 00001540 54 41 26 36 46 2c 59 0d 0f 14 07 44 45 59 0d 0f |TA&6F,Y....DEY..| 00001550 1e 0c 42 4e 45 72 65 74 5f 7a 0d 0f 28 07 52 54 |..BNEret_z..(.RT| 00001560 53 0d 0f 32 21 2e 63 6f 6e 74 72 6f 6c 20 5c 20 |S..2!.control \ | 00001570 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 |control characte| 00001580 72 73 0d 0f 3c 16 4f 50 54 20 a4 65 71 75 62 28 |rs..<.OPT .equb(| 00001590 31 33 29 20 5c 20 43 52 0d 0f 46 1a 4f 50 54 20 |13) \ CR..F.OPT | 000015a0 a4 65 71 75 62 28 32 37 29 20 5c 20 45 53 43 61 |.equb(27) \ ESCa| 000015b0 70 65 0d 0f 50 1e 2e 63 74 72 6c 5f 63 68 61 72 |pe..P..ctrl_char| 000015c0 20 4f 50 54 20 a4 65 71 75 62 28 97 22 4b 22 29 | OPT .equb(."K")| 000015d0 0d 0f 5a 17 2e 61 64 64 20 4f 50 54 20 a4 65 71 |..Z..add OPT .eq| 000015e0 75 62 28 26 38 30 29 0d 0f 64 12 4f 50 54 20 a4 |ub(&80)..d.OPT .| 000015f0 65 71 75 62 28 26 34 30 29 0d 0f 6e 12 4f 50 54 |equb(&40)..n.OPT| 00001600 20 a4 65 71 75 62 28 26 32 30 29 0d 0f 78 12 4f | .equb(&20)..x.O| 00001610 50 54 20 a4 65 71 75 62 28 26 31 30 29 0d 0f 82 |PT .equb(&10)...| 00001620 10 4f 50 54 20 a4 65 71 75 62 28 38 29 0d 0f 8c |.OPT .equb(8)...| 00001630 10 4f 50 54 20 a4 65 71 75 62 28 34 29 0d 0f 96 |.OPT .equb(4)...| 00001640 10 4f 50 54 20 a4 65 71 75 62 28 32 29 0d 0f a0 |.OPT .equb(2)...| 00001650 10 4f 50 54 20 a4 65 71 75 62 28 31 29 0d 0f aa |.OPT .equb(1)...| 00001660 15 2e 70 69 6e 20 4f 50 54 20 a4 65 71 75 64 28 |..pin OPT .equd(| 00001670 30 29 0d 0f b4 10 4f 50 54 20 a4 65 71 75 64 28 |0)....OPT .equd(| 00001680 30 29 0d 0f be 17 2e 6c 69 6e 65 20 4f 50 54 20 |0).....line OPT | 00001690 a4 65 71 75 62 28 32 37 29 0d 0f c8 13 4f 50 54 |.equb(27)....OPT| 000016a0 20 a4 65 71 75 62 28 97 22 33 22 29 0d 0f d2 22 | .equb(."3")..."| 000016b0 2e 73 70 61 63 65 20 4f 50 54 20 a4 65 71 75 62 |.space OPT .equb| 000016c0 28 6c 69 6e 65 5f 73 70 61 63 69 6e 67 29 0d 0f |(line_spacing)..| 000016d0 dc 14 2e 70 64 70 5f 72 75 6e 6e 69 6e 67 20 42 |...pdp_running B| 000016e0 52 4b 0d 0f e6 0b 2e 73 78 20 42 52 4b 0d 0f f0 |RK.....sx BRK...| 000016f0 0b 2e 73 79 20 42 52 4b 0d 0f fa 0c 2e 73 79 32 |..sy BRK.....sy2| 00001700 20 42 52 4b 0d 10 04 0b 2e 73 61 20 42 52 4b 0d | BRK.....sa BRK.| 00001710 10 0e 0b 2e 64 68 20 42 52 4b 0d 10 18 38 2e 7a |....dh BRK...8.z| 00001720 5f 70 61 67 65 20 4f 50 54 20 a4 62 79 74 65 73 |_page OPT .bytes| 00001730 33 32 28 30 29 20 5c 20 74 65 6d 70 6f 72 61 79 |32(0) \ temporay| 00001740 20 73 74 6f 72 65 20 66 6f 72 20 26 37 30 2d 26 | store for &70-&| 00001750 38 46 0d 10 22 07 42 52 4b 0d 10 2c 07 42 52 4b |8F..".BRK..,.BRK| 00001760 0d 10 36 05 20 0d 10 40 0c 5c 20 50 61 72 73 65 |..6. ..@.\ Parse| 00001770 72 0d 10 4a 05 20 0d 10 54 15 2e 63 6c 69 20 53 |r..J. ..T..cli S| 00001780 54 59 20 73 79 2b 26 32 30 30 30 0d 10 5e 0e 4c |TY sy+&2000..^.L| 00001790 44 41 28 26 46 32 29 2c 59 0d 10 68 0a 84 41 23 |DA(&F2),Y..h..A#| 000017a0 26 32 30 0d 10 72 0c 43 4d 50 23 97 22 70 22 0d |&20..r.CMP#."p".| 000017b0 10 7c 0c 42 4e 45 20 70 61 73 74 0d 10 86 07 49 |.|.BNE past....I| 000017c0 4e 59 0d 10 90 17 2e 70 61 73 74 20 53 54 59 20 |NY.....past STY | 000017d0 73 79 32 2b 26 32 30 30 30 0d 10 9a 09 4c 44 58 |sy2+&2000....LDX| 000017e0 23 30 0d 10 a4 15 53 54 58 20 63 6f 63 6f 75 6e |#0....STX cocoun| 000017f0 74 2b 26 32 30 30 30 0d 10 ae 17 2e 63 62 61 32 |t+&2000.....cba2| 00001800 20 4c 44 59 20 73 79 32 2b 26 32 30 30 30 0d 10 | LDY sy2+&2000..| 00001810 b8 14 2e 63 62 61 31 20 4c 44 41 28 26 46 32 29 |...cba1 LDA(&F2)| 00001820 2c 59 0d 10 c2 0a 84 41 23 26 32 30 0d 10 cc 0b |,Y.....A#&20....| 00001830 43 4d 50 23 26 32 30 0d 10 d6 0f 42 45 51 20 65 |CMP#&20....BEQ e| 00001840 6e 64 5f 63 6f 6d 0d 10 e0 0b 43 4d 50 23 26 32 |nd_com....CMP#&2| 00001850 44 0d 10 ea 0f 42 45 51 20 65 6e 64 5f 63 6f 6d |D....BEQ end_com| 00001860 0d 10 f4 15 43 4d 50 20 63 6f 6d 6d 73 2b 26 32 |....CMP comms+&2| 00001870 30 30 30 2c 58 0d 10 fe 10 42 4e 45 20 6e 65 78 |000,X....BNE nex| 00001880 74 5f 63 6f 6d 0d 11 08 07 49 4e 58 0d 11 12 07 |t_com....INX....| 00001890 49 4e 59 0d 11 1c 12 4a 4d 50 20 63 62 61 31 2b |INY....JMP cba1+| 000018a0 26 32 30 30 30 0d 11 26 1f 2e 6e 65 78 74 5f 63 |&2000..&..next_c| 000018b0 6f 6d 20 4c 44 41 20 63 6f 6d 6d 73 2b 26 32 30 |om LDA comms+&20| 000018c0 30 30 2c 58 0d 11 30 0b 43 4d 50 23 26 46 46 0d |00,X..0.CMP#&FF.| 000018d0 11 3a 0f 42 45 51 20 62 61 64 5f 63 6f 6d 0d 11 |.:.BEQ bad_com..| 000018e0 44 0b 43 4d 50 23 26 32 44 0d 11 4e 15 42 45 51 |D.CMP#&2D..N.BEQ| 000018f0 20 75 70 74 6f 5f 6e 65 78 74 5f 63 6f 6d 0d 11 | upto_next_com..| 00001900 58 0b 43 4d 50 23 26 32 30 0d 11 62 15 42 45 51 |X.CMP#&20..b.BEQ| 00001910 20 75 70 74 6f 5f 6e 65 78 74 5f 63 6f 6d 0d 11 | upto_next_com..| 00001920 6c 07 49 4e 58 0d 11 76 16 4a 4d 50 20 6e 65 78 |l.INX..v.JMP nex| 00001930 74 5f 63 6f 6d 2b 26 32 30 30 30 0d 11 80 16 2e |t_com+&2000.....| 00001940 75 70 74 6f 5f 6e 65 78 74 5f 63 6f 6d 20 49 4e |upto_next_com IN| 00001950 58 0d 11 8a 15 49 4e 43 20 63 6f 63 6f 75 6e 74 |X....INC cocount| 00001960 2b 26 32 30 30 30 0d 11 94 12 4a 4d 50 20 63 62 |+&2000....JMP cb| 00001970 61 32 2b 26 32 30 30 30 0d 11 9e 1e 2e 65 6e 64 |a2+&2000.....end| 00001980 5f 63 6f 6d 20 4c 44 41 20 63 6f 6d 6d 73 2b 26 |_com LDA comms+&| 00001990 32 30 30 30 2c 58 0d 11 a8 0b 43 4d 50 23 26 32 |2000,X....CMP#&2| 000019a0 30 0d 11 b2 0c 42 45 51 20 63 66 6f 33 0d 11 bc |0....BEQ cfo3...| 000019b0 0b 43 4d 50 23 26 32 44 0d 11 c6 10 42 4e 45 20 |.CMP#&2D....BNE | 000019c0 6e 65 78 74 5f 63 6f 6d 0d 11 d0 1b 2e 63 66 6f |next_com.....cfo| 000019d0 33 20 4c 44 41 20 63 6f 63 6f 75 6e 74 2b 26 32 |3 LDA cocount+&2| 000019e0 30 30 30 0d 11 da 09 41 53 4c 20 41 0d 11 e4 07 |000....ASL A....| 000019f0 54 41 58 0d 11 ee 18 4c 44 41 20 63 6f 6d 5f 61 |TAX....LDA com_a| 00001a00 64 64 72 2b 26 32 30 30 30 2c 58 0d 11 f8 14 53 |ddr+&2000,X....S| 00001a10 54 41 20 63 6f 6a 75 6d 70 2b 26 32 30 30 30 0d |TA cojump+&2000.| 00001a20 12 02 18 4c 44 41 20 63 6f 6d 5f 61 64 64 72 2b |...LDA com_addr+| 00001a30 26 32 30 30 31 2c 58 0d 12 0c 14 53 54 41 20 63 |&2001,X....STA c| 00001a40 6f 6a 75 6d 70 2b 26 32 30 30 31 0d 12 16 15 4a |ojump+&2001....J| 00001a50 4d 50 28 63 6f 6a 75 6d 70 2b 26 32 30 30 30 29 |MP(cojump+&2000)| 00001a60 0d 12 20 12 2e 62 61 64 5f 63 6f 6d 20 4c 44 41 |.. ..bad_com LDA| 00001a70 23 34 0d 12 2a 0f 4c 44 59 73 79 2b 26 32 30 30 |#4..*.LDYsy+&200| 00001a80 30 0d 12 34 07 52 54 53 0d 12 3e 13 2e 63 6f 6a |0..4.RTS..>..coj| 00001a90 75 6d 70 20 42 52 4b 3a 42 52 4b 0d 12 48 10 2e |ump BRK:BRK..H..| 00001aa0 63 6f 63 6f 75 6e 74 20 42 52 4b 0d 12 52 10 2e |cocount BRK..R..| 00001ab0 76 65 63 74 6f 72 73 20 42 52 4b 0d 12 5c 1d 2e |vectors BRK..\..| 00001ac0 63 6f 6d 6d 73 20 4f 50 54 20 a4 65 71 75 73 28 |comms OPT .equs(| 00001ad0 22 73 74 61 72 74 22 29 0d 12 66 12 4f 50 54 20 |"start")..f.OPT | 00001ae0 a4 65 71 75 62 28 26 32 44 29 0d 12 70 15 4f 50 |.equb(&2D)..p.OP| 00001af0 54 20 a4 65 71 75 73 28 22 73 74 6f 70 22 29 0d |T .equs("stop").| 00001b00 12 7a 12 4f 50 54 20 a4 65 71 75 62 28 26 32 44 |.z.OPT .equb(&2D| 00001b10 29 0d 12 84 17 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 00001b20 73 63 72 65 65 6e 22 29 0d 12 8e 12 4f 50 54 20 |screen")....OPT | 00001b30 a4 65 71 75 62 28 26 32 44 29 0d 12 98 15 4f 50 |.equb(&2D)....OP| 00001b40 54 20 a4 65 71 75 73 28 22 73 77 61 70 22 29 0d |T .equs("swap").| 00001b50 12 a2 12 4f 50 54 20 a4 65 71 75 62 28 26 32 44 |...OPT .equb(&2D| 00001b60 29 0d 12 ac 16 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 00001b70 73 70 61 63 65 22 29 0d 12 b6 12 4f 50 54 20 a4 |space")....OPT .| 00001b80 65 71 75 62 28 26 32 30 29 0d 12 c0 12 4f 50 54 |equb(&20)....OPT| 00001b90 20 a4 65 71 75 62 28 26 46 46 29 0d 12 ca 24 2e | .equb(&FF)...$.| 00001ba0 63 6f 6d 5f 61 64 64 72 20 4f 50 54 20 a4 65 71 |com_addr OPT .eq| 00001bb0 75 77 28 73 65 74 75 70 2b 26 32 30 30 30 29 0d |uw(setup+&2000).| 00001bc0 12 d4 19 4f 50 54 20 a4 65 71 75 77 28 73 74 6f |...OPT .equw(sto| 00001bd0 70 2b 26 32 30 30 30 29 0d 12 de 1a 4f 50 54 20 |p+&2000)....OPT | 00001be0 a4 65 71 75 77 28 70 72 69 6e 74 2b 26 32 30 30 |.equw(print+&200| 00001bf0 30 29 0d 12 e8 1d 4f 50 54 20 a4 65 71 75 77 28 |0)....OPT .equw(| 00001c00 63 6f 6d 5f 73 77 61 70 2b 26 32 30 30 30 29 0d |com_swap+&2000).| 00001c10 12 f2 20 4f 50 54 20 a4 65 71 75 77 28 73 65 74 |.. OPT .equw(set| 00001c20 5f 73 70 61 63 69 6e 67 2b 26 32 30 30 30 29 0d |_spacing+&2000).| 00001c30 12 fc 23 2e 63 6f 6d 5f 73 77 61 70 20 4a 53 52 |..#.com_swap JSR| 00001c40 73 77 61 70 5f 73 63 72 65 65 6e 73 2b 26 32 30 |swap_screens+&20| 00001c50 30 30 0d 13 06 09 4c 44 41 23 30 0d 13 10 07 52 |00....LDA#0....R| 00001c60 54 53 0d 13 1a 1f 2e 62 72 74 6f 6f 62 69 67 20 |TS.....brtoobig | 00001c70 4a 4d 50 20 74 6f 6f 5f 62 69 67 2b 26 32 30 30 |JMP too_big+&200| 00001c80 30 0d 13 24 19 2e 73 77 61 70 5f 73 63 72 65 65 |0..$..swap_scree| 00001c90 6e 73 20 4c 44 41 23 26 38 37 0d 13 2e 0d 4a 53 |ns LDA#&87....JS| 00001ca0 52 6f 73 62 79 74 65 0d 13 38 09 43 50 59 23 34 |Rosbyte..8.CPY#4| 00001cb0 0d 13 42 0f 42 43 43 62 72 74 6f 6f 62 69 67 0d |..B.BCCbrtoobig.| 00001cc0 13 4c 11 53 54 59 6d 6f 64 65 2b 26 32 30 30 30 |.L.STYmode+&2000| 00001cd0 0d 13 56 0b 4c 44 41 23 26 38 34 0d 13 60 0d 4a |..V.LDA#&84..`.J| 00001ce0 53 52 6f 73 62 79 74 65 0d 13 6a 07 53 45 49 0d |SRosbyte..j.SEI.| 00001cf0 13 74 0a 4c 44 41 26 37 30 0d 13 7e 0f 53 54 41 |.t.LDA&70..~.STA| 00001d00 73 74 2b 26 32 30 30 30 0d 13 88 0a 4c 44 41 26 |st+&2000....LDA&| 00001d10 37 31 0d 13 92 0f 53 54 41 73 74 2b 26 32 30 30 |71....STAst+&200| 00001d20 31 0d 13 9c 0a 4c 44 41 26 37 32 0d 13 a6 0f 53 |1....LDA&72....S| 00001d30 54 41 73 74 2b 26 32 30 30 32 0d 13 b0 0a 4c 44 |TAst+&2002....LD| 00001d40 41 26 37 33 0d 13 ba 0f 53 54 41 73 74 2b 26 32 |A&73....STAst+&2| 00001d50 30 30 33 0d 13 c4 0a 53 54 59 26 37 31 0d 13 ce |003....STY&71...| 00001d60 0a 53 54 58 26 37 30 0d 13 d8 10 4c 44 41 72 31 |.STX&70....LDAr1| 00001d70 32 2b 26 32 30 30 30 0d 13 e2 07 50 48 41 0d 13 |2+&2000....PHA..| 00001d80 ec 10 4c 44 41 72 31 33 2b 26 32 30 30 30 0d 13 |..LDAr13+&2000..| 00001d90 f6 07 50 48 41 0d 14 00 0b 4c 44 41 26 33 35 30 |..PHA....LDA&350| 00001da0 0d 14 0a 10 53 54 41 72 31 33 2b 26 32 30 30 30 |....STAr13+&2000| 00001db0 0d 14 14 0b 4c 44 41 26 33 35 31 0d 14 1e 10 53 |....LDA&351....S| 00001dc0 54 41 72 31 32 2b 26 32 30 30 30 0d 14 28 0b 4c |TAr12+&2000..(.L| 00001dd0 44 41 23 26 39 38 0d 14 32 0a 53 54 41 26 37 33 |DA#&98..2.STA&73| 00001de0 0d 14 3c 09 4c 44 59 23 30 0d 14 46 0a 53 54 59 |..<.LDY#0..F.STY| 00001df0 26 37 32 0d 14 50 14 2e 73 77 62 61 20 4c 44 41 |&72..P..swba LDA| 00001e00 28 26 37 30 29 2c 59 0d 14 5a 07 50 48 41 0d 14 |(&70),Y..Z.PHA..| 00001e10 64 0e 4c 44 41 28 26 37 32 29 2c 59 0d 14 6e 0e |d.LDA(&72),Y..n.| 00001e20 53 54 41 28 26 37 30 29 2c 59 0d 14 78 07 50 4c |STA(&70),Y..x.PL| 00001e30 41 0d 14 82 0e 53 54 41 28 26 37 32 29 2c 59 0d |A....STA(&72),Y.| 00001e40 14 8c 07 49 4e 59 0d 14 96 0b 42 4e 45 73 77 62 |...INY....BNEswb| 00001e50 61 0d 14 a0 0a 49 4e 43 26 37 31 0d 14 aa 0a 49 |a....INC&71....I| 00001e60 4e 43 26 37 33 0d 14 b4 0a 4c 44 41 26 37 31 0d |NC&73....LDA&71.| 00001e70 14 be 0b 43 4d 50 23 26 38 30 0d 14 c8 0b 42 4e |...CMP#&80....BN| 00001e80 45 73 77 62 61 0d 14 d2 11 4c 44 41 6d 6f 64 65 |Eswba....LDAmode| 00001e90 2b 26 32 30 30 30 0d 14 dc 09 43 4d 50 23 37 0d |+&2000....CMP#7.| 00001ea0 14 e6 11 42 4e 45 6f 74 68 65 72 5f 6d 6f 64 65 |...BNEother_mode| 00001eb0 0d 14 f0 0a 4c 44 41 23 26 44 0d 14 fa 0c 53 54 |....LDA#&D....ST| 00001ec0 41 26 46 45 30 30 0d 15 04 07 50 4c 41 0d 15 0e |A&FE00....PLA...| 00001ed0 0b 53 54 41 26 33 35 30 0d 15 18 0c 53 54 41 26 |.STA&350....STA&| 00001ee0 46 45 30 31 0d 15 22 0a 4c 44 41 23 26 43 0d 15 |FE01..".LDA#&C..| 00001ef0 2c 0c 53 54 41 26 46 45 30 30 0d 15 36 07 50 4c |,.STA&FE00..6.PL| 00001f00 41 0d 15 40 0b 53 54 41 26 33 35 31 0d 15 4a 07 |A..@.STA&351..J.| 00001f10 53 45 43 0d 15 54 0b 53 42 43 23 26 37 34 0d 15 |SEC..T.SBC#&74..| 00001f20 5e 09 82 23 26 32 30 0d 15 68 0c 53 54 41 26 46 |^..#&20..h.STA&F| 00001f30 45 30 31 0d 15 72 0f 4c 44 41 73 74 2b 26 32 30 |E01..r.LDAst+&20| 00001f40 30 30 0d 15 7c 0a 53 54 41 26 37 30 0d 15 86 0f |00..|.STA&70....| 00001f50 4c 44 41 73 74 2b 26 32 30 30 31 0d 15 90 0a 53 |LDAst+&2001....S| 00001f60 54 41 26 37 31 0d 15 9a 0f 4c 44 41 73 74 2b 26 |TA&71....LDAst+&| 00001f70 32 30 30 32 0d 15 a4 0a 53 54 41 26 37 32 0d 15 |2002....STA&72..| 00001f80 ae 0f 4c 44 41 73 74 2b 26 32 30 30 33 0d 15 b8 |..LDAst+&2003...| 00001f90 0a 53 54 41 26 37 33 0d 15 c2 0a 4c 44 58 23 36 |.STA&73....LDX#6| 00001fa0 34 0d 15 cc 0e 2e 6d 20 4c 44 59 23 26 46 46 0d |4.....m LDY#&FF.| 00001fb0 15 d6 0b 2e 6d 32 20 4e 4f 50 0d 15 e0 07 44 45 |....m2 NOP....DE| 00001fc0 59 0d 15 ea 0a 42 4e 45 20 6d 32 0d 15 f4 07 44 |Y....BNE m2....D| 00001fd0 45 58 0d 15 fe 09 42 4e 45 20 6d 0d 16 08 07 43 |EX....BNE m....C| 00001fe0 4c 49 0d 16 12 07 52 54 53 0d 16 1c 16 2e 6f 74 |LI....RTS.....ot| 00001ff0 68 65 72 5f 6d 6f 64 65 20 4c 44 41 23 26 44 0d |her_mode LDA#&D.| 00002000 16 26 0c 53 54 41 26 46 45 30 30 0d 16 30 07 50 |.&.STA&FE00..0.P| 00002010 4c 41 0d 16 3a 0b 53 54 41 26 33 35 30 0d 16 44 |LA..:.STA&350..D| 00002020 15 4c 53 52 20 41 3a 4c 53 52 20 41 3a 4c 53 52 |.LSR A:LSR A:LSR| 00002030 20 41 0d 16 4e 0c 53 54 41 26 46 45 30 31 0d 16 | A..N.STA&FE01..| 00002040 58 0a 4c 44 41 23 26 43 0d 16 62 0c 53 54 41 26 |X.LDA#&C..b.STA&| 00002050 46 45 30 30 0d 16 6c 07 50 4c 41 0d 16 76 0b 53 |FE00..l.PLA..v.S| 00002060 54 41 26 33 35 31 0d 16 80 15 4c 53 52 20 41 3a |TA&351....LSR A:| 00002070 4c 53 52 20 41 3a 4c 53 52 20 41 0d 16 8a 0c 53 |LSR A:LSR A....S| 00002080 54 41 26 46 45 30 31 0d 16 94 07 52 54 53 0d 16 |TA&FE01....RTS..| 00002090 9e 0d 2e 6d 6f 64 65 20 42 52 4b 0d 16 a8 0c 2e |...mode BRK.....| 000020a0 72 31 32 20 42 52 4b 0d 16 b2 0c 2e 72 31 33 20 |r12 BRK.....r13 | 000020b0 42 52 4b 0d 16 bc 14 2e 73 74 20 4f 50 54 20 a4 |BRK.....st OPT .| 000020c0 65 71 75 64 28 30 29 0d 16 c6 12 2e 74 6f 6f 5f |equd(0).....too_| 000020d0 62 69 67 20 4c 44 59 23 30 0d 16 d0 1a 2e 74 62 |big LDY#0.....tb| 000020e0 62 61 20 4c 44 41 65 72 72 6f 72 2b 26 32 30 30 |ba LDAerror+&200| 000020f0 30 2c 59 0d 16 da 0d 53 54 41 26 31 30 30 2c 59 |0,Y....STA&100,Y| 00002100 0d 16 e4 07 49 4e 59 0d 16 ee 0a 43 50 59 23 31 |....INY....CPY#1| 00002110 31 0d 16 f8 0b 4a 4d 50 26 31 30 30 0d 17 02 0e |1....JMP&100....| 00002120 2e 65 72 72 6f 72 20 42 52 4b 0d 17 0c 11 4f 50 |.error BRK....OP| 00002130 54 20 a4 65 71 75 62 28 32 35 29 0d 17 16 19 4f |T .equb(25)....O| 00002140 50 54 20 a4 65 71 75 73 28 22 42 61 64 20 4d 6f |PT .equs("Bad Mo| 00002150 64 65 22 29 0d 17 20 07 42 52 4b 0d 17 2a 14 2e |de").. .BRK..*..| 00002160 73 65 74 5f 73 70 61 63 69 6e 67 20 49 4e 59 0d |set_spacing INY.| 00002170 17 34 0d 2e 63 62 61 33 20 49 4e 59 0d 17 3e 0e |.4..cba3 INY..>.| 00002180 4c 44 41 28 26 46 32 29 2c 59 0d 17 48 17 4a 53 |LDA(&F2),Y..H.JS| 00002190 52 20 76 61 6c 69 64 5f 61 73 63 2b 26 32 30 30 |R valid_asc+&200| 000021a0 30 0d 17 52 0c 42 43 53 20 63 62 61 33 0d 17 5c |0..R.BCS cba3..\| 000021b0 15 4a 53 52 20 61 73 63 5f 68 65 78 2b 26 32 30 |.JSR asc_hex+&20| 000021c0 30 30 0d 17 66 10 53 54 41 20 73 61 2b 26 32 30 |00..f.STA sa+&20| 000021d0 30 30 0d 17 70 07 49 4e 59 0d 17 7a 0e 4c 44 41 |00..p.INY..z.LDA| 000021e0 28 26 46 32 29 2c 59 0d 17 84 17 4a 53 52 20 76 |(&F2),Y....JSR v| 000021f0 61 6c 69 64 5f 61 73 63 2b 26 32 30 30 30 0d 17 |alid_asc+&2000..| 00002200 8e 0b 42 43 53 20 77 61 73 0d 17 98 1d 41 53 4c |..BCS was....ASL| 00002210 20 73 61 2b 26 32 30 30 30 3a 41 53 4c 20 73 61 | sa+&2000:ASL sa| 00002220 2b 26 32 30 30 30 0d 17 a2 1d 41 53 4c 20 73 61 |+&2000....ASL sa| 00002230 2b 26 32 30 30 30 3a 41 53 4c 20 73 61 2b 26 32 |+&2000:ASL sa+&2| 00002240 30 30 30 0d 17 ac 0f 84 41 20 73 61 2b 26 32 30 |000.....A sa+&20| 00002250 30 30 0d 17 b6 13 53 54 41 20 73 70 61 63 65 2b |00....STA space+| 00002260 26 32 30 30 30 0d 17 c0 09 4c 44 41 23 30 0d 17 |&2000....LDA#0..| 00002270 ca 13 53 54 41 20 70 64 70 5f 72 75 6e 6e 69 6e |..STA pdp_runnin| 00002280 67 0d 17 d4 07 52 54 53 0d 17 de 15 2e 77 61 73 |g....RTS.....was| 00002290 20 4c 44 41 20 73 61 2b 26 32 30 30 30 0d 17 e8 | LDA sa+&2000...| 000022a0 13 53 54 41 20 73 70 61 63 65 2b 26 32 30 30 30 |.STA space+&2000| 000022b0 0d 17 f2 09 4c 44 41 23 30 0d 17 fc 07 52 54 53 |....LDA#0....RTS| 000022c0 0d 18 06 10 2e 61 73 63 5f 68 65 78 20 53 45 43 |.....asc_hex SEC| 000022d0 0d 18 10 0b 53 42 43 23 26 33 30 0d 18 1a 0a 43 |....SBC#&30....C| 000022e0 4d 50 23 31 30 0d 18 24 0c 42 43 43 20 63 66 6f |MP#10..$.BCC cfo| 000022f0 32 0d 18 2e 07 53 45 43 0d 18 38 09 53 42 43 23 |2....SEC..8.SBC#| 00002300 37 0d 18 42 0d 2e 63 66 6f 32 20 52 54 53 0d 18 |7..B..cfo2 RTS..| 00002310 4c 16 2e 76 61 6c 69 64 5f 61 73 63 20 43 4d 50 |L..valid_asc CMP| 00002320 23 26 33 30 0d 18 56 0c 42 4d 49 20 63 73 65 74 |#&30..V.BMI cset| 00002330 0d 18 60 0b 43 4d 50 23 26 34 37 0d 18 6a 0c 42 |..`.CMP#&47..j.B| 00002340 43 53 20 63 73 65 74 0d 18 74 0b 43 4d 50 23 26 |CS cset..t.CMP#&| 00002350 33 41 0d 18 7e 0e 42 4d 49 20 63 63 6c 65 61 72 |3A..~.BMI cclear| 00002360 0d 18 88 0b 43 4d 50 23 26 34 30 0d 18 92 0c 42 |....CMP#&40....B| 00002370 4d 49 20 63 73 65 74 0d 18 9c 0f 2e 63 63 6c 65 |MI cset.....ccle| 00002380 61 72 20 43 4c 43 0d 18 a6 07 52 54 53 0d 18 b0 |ar CLC....RTS...| 00002390 0d 2e 63 73 65 74 20 53 45 43 0d 18 ba 07 52 54 |..cset SEC....RT| 000023a0 53 0d 18 c4 05 20 0d 18 ce 0f 2e 77 61 69 74 20 |S.... .....wait | 000023b0 4c 44 58 23 38 0d 18 d8 0f 2e 6c 32 20 4c 44 59 |LDX#8.....l2 LDY| 000023c0 23 26 46 46 0d 18 e2 0a 2e 6c 20 4e 4f 50 0d 18 |#&FF.....l NOP..| 000023d0 ec 07 44 45 59 0d 18 f6 09 42 4e 45 20 6c 0d 19 |..DEY....BNE l..| 000023e0 00 07 44 45 58 0d 19 0a 0a 42 4e 45 20 6c 32 0d |..DEX....BNE l2.| 000023f0 19 14 07 43 4c 49 0d 19 1e 0b 4c 44 41 23 26 46 |...CLI....LDA#&F| 00002400 46 0d 19 28 0e 82 20 6f 6b 2b 26 32 30 30 30 0d |F..(.. ok+&2000.| 00002410 19 32 10 53 54 41 20 6f 6b 2b 26 32 30 30 30 0d |.2.STA ok+&2000.| 00002420 19 3c 19 2e 77 61 69 74 69 6e 67 20 4c 44 41 20 |.<..waiting LDA | 00002430 6f 6b 2b 26 32 30 30 30 0d 19 46 0b 43 4d 50 23 |ok+&2000..F.CMP#| 00002440 26 46 46 0d 19 50 0f 42 45 51 20 77 61 69 74 69 |&FF..P.BEQ waiti| 00002450 6e 67 0d 19 5a 14 4a 4d 50 20 62 61 63 6b 6f 73 |ng..Z.JMP backos| 00002460 2b 26 32 30 30 30 0d 19 64 0b 2e 6f 6b 20 42 52 |+&2000..d..ok BR| 00002470 4b 0d 19 6e 05 5d 0d 19 78 05 ed 0d 19 82 13 f1 |K..n.]..x.......| 00002480 27 22 2a 52 55 4e 20 55 50 20 6e 6f 77 22 0d 19 |'"*RUN UP now"..| 00002490 8c 21 f1 22 54 68 65 6e 20 70 72 65 73 73 20 42 |.!."Then press B| 000024a0 72 65 61 6b 20 61 6e 64 20 2a 48 45 4c 50 22 0d |reak and *HELP".| 000024b0 19 96 05 e0 0d 19 a0 0d dd a4 65 71 75 62 28 78 |..........equb(x| 000024c0 29 0d 19 aa 09 3f 50 25 3d 78 0d 19 b4 0b 50 25 |)....?P%=x....P%| 000024d0 3d 50 25 2b 31 0d 19 be 0a 3a 3d 70 61 73 73 0d |=P%+1....:=pass.| 000024e0 19 c8 0d dd a4 65 71 75 77 28 78 29 0d 19 d2 09 |.....equw(x)....| 000024f0 21 50 25 3d 78 0d 19 dc 0b 50 25 3d 50 25 2b 32 |!P%=x....P%=P%+2| 00002500 0d 19 e6 0a 3a 3d 70 61 73 73 0d 19 f0 0d dd a4 |....:=pass......| 00002510 65 71 75 64 28 78 29 0d 19 fa 09 21 50 25 3d 78 |equd(x)....!P%=x| 00002520 0d 1a 04 0b 50 25 3d 50 25 2b 34 0d 1a 0e 0a 3a |....P%=P%+4....:| 00002530 3d 70 61 73 73 0d 1a 18 0e dd a4 65 71 75 73 28 |=pass......equs(| 00002540 78 24 29 0d 1a 22 0a 24 50 25 3d 78 24 0d 1a 2c |x$)..".$P%=x$..,| 00002550 0f 50 25 3d 50 25 2b a9 28 78 24 29 0d 1a 36 0a |.P%=P%+.(x$)..6.| 00002560 3a 3d 70 61 73 73 0d 1a 40 10 dd a4 62 79 74 65 |:=pass..@...byte| 00002570 73 33 32 28 78 29 0d 1a 4a 13 e3 20 78 25 3d 50 |s32(x)..J.. x%=P| 00002580 25 20 b8 20 50 25 2b 33 32 0d 1a 54 09 3f 78 25 |% . P%+32..T.?x%| 00002590 3d 78 0d 1a 5e 05 ed 0d 1a 68 0c 50 25 3d 50 25 |=x..^....h.P%=P%| 000025a0 2b 33 32 0d 1a 72 0a 3a 3d 70 61 73 73 0d ff |+32..r.:=pass..| 000025af