Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape10a_acorn_eu_1990_april.wav » CASE
CASE
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape10a_acorn_eu_1990_april.wav |
Filename: | CASE |
Read OK: | ✔ |
File size: | 0D26 bytes |
Load address: | 2000 |
Exec address: | 1900 |
Duplicates
There are 3 duplicate copies of this file in the archive:
- AEW website » database » database_5_25_discs_Electron-User-7-07_D-E707.ssd » CASE
- AEW website » database » database_tapes_Electron-User-7-07_EU7-7_E.uef » CASE
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape10b_acorn_eu_1990_april.wav » CASE
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape10a_acorn_eu_1990_april.wav » CASE
File contents
10REM On the CASE 20REM By Stephen J. Ramplin 30REM (c) Electron User 40MODE6 50PROCassembler 60PRINT"Press <RETURN> to save code" 70REPEATUNTILGET=13 80OSCLI"SAVE CASE B00 "+STR$~P% 90END 100DEFPROCassembler 110brk=!&202 AND&FFFF 120offsetA=&0A 130ptrA=&0B 140page=&18 150ptrB=&19 160offsetB=&1B 170intA=&2A 180error=&FD 190brkv=&202 200string=&700 210cont=&8B9B 220checkend=&985A 230addY=&986D 240syntax=&982B 250eval=&9B29 260pointer=&90 270caseflag=&92 280trueflag=&93 290action=&94 300temp=&96 310strptr=&97 320quote=&98 330address=&99 340code%=&B00 350FORpass%=0TO2STEP2 360P%=code% 370[OPTpass% 380EQUD&FB00000D 390EQUW&15F4 400NOP 410.case 420LDXcaseflag 430BMIbadcase 440DEX 450STXcaseflag 460CLC 470TYA 480ADCptrA 490STAaddress 500LDAptrA+1 510ADC#0 520STAaddress+1 530LDY#0 540.cloop 550LDA(address),Y 560BMIbadcase 570CMP#ASC":" 580BEQdone 590CMP&801D 600BEQdone 610INY 620BNEcloop 630.done 640INY 650STYstrptr 660INY 670INY 680INY 690BNEquit 700.badcase 710BRK 720EQUB46 730EQUS"Bad CASE" 740BRK 750.when 760LDAcaseflag 770BPLnocase 780LDAtrueflag 790BMInewline 800LDY#0 810.wloop 820LDA(address),Y 830STAstring,Y 840INY 850CPYstrptr 860BNEwloop 870DEY 880LDA#ASC"=" 890STAstring,Y 900LDY#4 910.wloopB 920LDXstrptr 930.wloopC 940LDA(ptrA),Y 950PHA 960CMP#34 970BNEnotquote 980EORquote 990STAquote 1000.notquote 1010CMP#ASC"," 1020BNEnotcomma 1030LDAquote 1040BEQtest 1050.notcomma 1060CMP#ASC":" 1070BNEstore 1080LDAquote 1090BEQtest 1100.store 1110PLA 1120STAstring,X 1130INY 1140INX 1150BNEwloopC 1160JMPsyntax 1170.test 1180LDA&801D 1190STAstring,X 1200LDA#7 1210STAptrB+1 1220LDA#0 1230STAptrB 1240STAoffsetB 1250STYtemp 1260JSReval 1270LDYtemp 1280LDAintA 1290BMItrue 1300.false 1310PLA 1320INY 1330CMP#ASC"," 1340BEQwloopB 1350DEY 1360.newline 1370INY 1380LDA(ptrA),Y 1390CMP&801D 1400BNEnewline 1410.quit 1420BEQquitB 1430BNEquitB 1440.nocase 1450BRK 1460EQUB47 1470EQUS"No CASE" 1480BRK 1490.true 1500STAtrueflag 1510PLA 1520CMP#ASC":" 1530BEQatcolon 1540.tloop 1550INY 1560.tloopB 1570LDA(ptrA),Y 1580CMP#34 1590BNEnotquoteB 1600EORquote 1610STAquote 1620.notquoteB 1630CMP#ASC":" 1640BNEback 1650LDAquote 1660BEQatcolon 1670.back 1680INY 1690BNEtloopB 1700.atcolon 1710BEQquitB 1720.otherwise 1730LDAcaseflag 1740BPLnocase 1750LDAtrueflag 1760BMInewline 1770BPLquitB 1780.endcase 1790LDXcaseflag 1800BPLnocase 1810INX 1820STXcaseflag 1830STXtrueflag 1840.quitB 1850DEY 1860JSRcheckend 1870LDY#9 1880.loop 1890PLA 1900DEY 1910BNEloop 1920JMPcont 1930EQUD&01000D06 1940EQUB&98 1950EQUW&90D6 1960EQUS"+264:" 1970EQUW&15F4 1980.intercept 1990LDX#main MOD256 2000SEI 2010STXbrkv 2020LDXpage 2030INX 2040STXbrkv+1 2050CLI 2060LDY#0 2070STYcaseflag 2080STYtrueflag 2090STYquote 2100RTS 2110.main 2120PHP:PHA 2130TYA:PHA 2140TXA:PHA 2150LDY#0 2160LDA(error),Y 2170CMP#4 2180BEQcheck 2190.out 2200PLA:TAX 2210PLA:TAY 2220PLA:PLP 2230JMPbrk 2240.check 2250LDYoffsetA 2260DEY 2270JSRaddY 2280LDA#keytable MOD256 2290STApointer 2300LDXpage 2310INX 2320STXpointer+1 2330.compare 2340LDY#0 2350.cmploop 2360LDA(pointer),Y 2370BEQfound 2380BMIout 2390CMP(ptrA),Y 2400BNEnext 2410INY 2420BNEcmploop 2430.next 2440LDY#0 2450.nloop 2460INCpointer 2470BNEnocarry 2480INCpointer+1 2490.nocarry 2500LDA(pointer),Y 2510BNEnloop 2520INCpointer 2530INCpointer 2540BNEcompare 2550.found 2560INY 2570LDA(pointer),Y 2580DEY 2590STAaction 2600DEX 2610STXaction+1 2620JMP(action) 2630.keytable 2640EQUS"CASE":BRK 2650EQUBcase MOD256 2660EQUS"WHEN":BRK 2670EQUBwhen MOD256 2680EQUS"OTHERWISE":BRK 2690EQUBotherwise MOD256 2700EQUS"ENDCASE":BRK 2710EQUBendcase MOD256 2720EQUB128 2730EQUD&FF0D06 2740] 2750NEXTpass% 2760ENDPROC
� On the CASE � By Stephen J. Ramplin � (c) Electron User (�6 2�assembler <"�"Press <RETURN> to save code" F ���=13 P�"SAVE CASE B00 "+�~P% Z� d��assembler nbrk=!&202 �&FFFF xoffsetA=&0A �ptrA=&0B �page=&18 �ptrB=&19 �offsetB=&1B �intA=&2A � error=&FD � brkv=&202 �string=&700 �cont=&8B9B �checkend=&985A �addY=&986D �syntax=&982B �eval=&9B29 pointer=&90 caseflag=&92 trueflag=&93 "action=&94 ,temp=&96 6strptr=&97 @ quote=&98 Jaddress=&99 Tcode%=&B00 ^�pass%=0�2�2 hP%=code% r [OPTpass% |EQUD&FB00000D � EQUW&15F4 �NOP � .case �LDXcaseflag �BMIbadcase �DEX �STXcaseflag �CLC �TYA �ADCptrA �STAaddress � LDAptrA+1 � ADC#0 STAaddress+1 LDY#0 .cloop &LDA(address),Y 0BMIbadcase :CMP#�":" DBEQdone NCMP&801D XBEQdone bINY lBNEcloop v .done �INY � STYstrptr �INY �INY �INY �BNEquit �.badcase �BRK � EQUB46 �EQUS"Bad CASE" �BRK � .when �LDAcaseflag BPLnocase LDAtrueflag BMInewline LDY#0 * .wloop 4LDA(address),Y >STAstring,Y HINY R CPYstrptr \BNEwloop fDEY pLDA#�"=" zSTAstring,Y � LDY#4 �.wloopB � LDXstrptr �.wloopC �LDA(ptrA),Y �PHA � CMP#34 �BNEnotquote � �quote �STAquote � .notquote �CMP#�"," �BNEnotcomma LDAquote BEQtest .notcomma $CMP#�":" .BNEstore 8LDAquote BBEQtest L .store VPLA `STAstring,X jINY tINX ~ BNEwloopC � JMPsyntax � .test �LDA&801D �STAstring,X � LDA#7 � STAptrB+1 � LDA#0 �STAptrB �STAoffsetB �STYtemp �JSReval �LDYtemp LDAintA BMItrue .false PLA (INY 2CMP#�"," < BEQwloopB FDEY P.newline ZINY dLDA(ptrA),Y nCMP&801D xBNEnewline � .quit �BEQquitB �BNEquitB �.nocase �BRK � EQUB47 �EQUS"No CASE" �BRK � .true �STAtrueflag �PLA �CMP#�":" �BEQatcolon .tloop INY .tloopB "LDA(ptrA),Y , CMP#34 6BNEnotquoteB @ �quote JSTAquote T.notquoteB ^CMP#�":" hBNEback rLDAquote |BEQatcolon � .back �INY � BNEtloopB �.atcolon �BEQquitB �.otherwise �LDAcaseflag � BPLnocase �LDAtrueflag �BMInewline �BPLquitB �.endcase �LDXcaseflag BPLnocase INX STXcaseflag &STXtrueflag 0 .quitB :DEY DJSRcheckend N LDY#9 X .loop bPLA lDEY vBNEloop �JMPcont �EQUD&01000D06 �EQUB&98 � EQUW&90D6 �EQUS"+264:" � EQUW&15F4 �.intercept �LDX#main �256 �SEI �STXbrkv �LDXpage �INX � STXbrkv+1 CLI LDY#0 STYcaseflag STYtrueflag *STYquote 4RTS > .main HPHP:PHA RTYA:PHA \TXA:PHA f LDY#0 pLDA(error),Y z CMP#4 �BEQcheck �.out �PLA:TAX �PLA:TAY �PLA:PLP � JMPbrk � .check �LDYoffsetA �DEY �JSRaddY �LDA#keytable �256 �STApointer �LDXpage INX STXpointer+1 .compare $ LDY#0 ..cmploop 8LDA(pointer),Y BBEQfound L BMIout VCMP(ptrA),Y `BNEnext jINY tBNEcmploop ~ .next � LDY#0 � .nloop �INCpointer �BNEnocarry �INCpointer+1 �.nocarry �LDA(pointer),Y �BNEnloop �INCpointer �INCpointer �BNEcompare � .found INY LDA(pointer),Y DEY STAaction (DEX 2STXaction+1 <JMP(action) F .keytable PEQUS"CASE":BRK ZEQUBcase �256 dEQUS"WHEN":BRK nEQUBwhen �256 xEQUS"OTHERWISE":BRK �EQUBotherwise �256 �EQUS"ENDCASE":BRK �EQUBendcase �256 �EQUB128 �EQUD&FF0D06 �] � �pass% �� �
00000000 0d 00 0a 11 f4 20 4f 6e 20 74 68 65 20 43 41 53 |..... On the CAS| 00000010 45 0d 00 14 1b f4 20 42 79 20 53 74 65 70 68 65 |E..... By Stephe| 00000020 6e 20 4a 2e 20 52 61 6d 70 6c 69 6e 0d 00 1e 17 |n J. Ramplin....| 00000030 f4 20 28 63 29 20 45 6c 65 63 74 72 6f 6e 20 55 |. (c) Electron U| 00000040 73 65 72 0d 00 28 06 eb 36 0d 00 32 0e f2 61 73 |ser..(..6..2..as| 00000050 73 65 6d 62 6c 65 72 0d 00 3c 22 f1 22 50 72 65 |sembler..<"."Pre| 00000060 73 73 20 3c 52 45 54 55 52 4e 3e 20 74 6f 20 73 |ss <RETURN> to s| 00000070 61 76 65 20 63 6f 64 65 22 0d 00 46 0a f5 fd a5 |ave code"..F....| 00000080 3d 31 33 0d 00 50 1a ff 22 53 41 56 45 20 43 41 |=13..P.."SAVE CA| 00000090 53 45 20 42 30 30 20 22 2b c3 7e 50 25 0d 00 5a |SE B00 "+.~P%..Z| 000000a0 05 e0 0d 00 64 0f dd f2 61 73 73 65 6d 62 6c 65 |....d...assemble| 000000b0 72 0d 00 6e 14 62 72 6b 3d 21 26 32 30 32 20 80 |r..n.brk=!&202 .| 000000c0 26 46 46 46 46 0d 00 78 0f 6f 66 66 73 65 74 41 |&FFFF..x.offsetA| 000000d0 3d 26 30 41 0d 00 82 0c 70 74 72 41 3d 26 30 42 |=&0A....ptrA=&0B| 000000e0 0d 00 8c 0c 70 61 67 65 3d 26 31 38 0d 00 96 0c |....page=&18....| 000000f0 70 74 72 42 3d 26 31 39 0d 00 a0 0f 6f 66 66 73 |ptrB=&19....offs| 00000100 65 74 42 3d 26 31 42 0d 00 aa 0c 69 6e 74 41 3d |etB=&1B....intA=| 00000110 26 32 41 0d 00 b4 0d 65 72 72 6f 72 3d 26 46 44 |&2A....error=&FD| 00000120 0d 00 be 0d 62 72 6b 76 3d 26 32 30 32 0d 00 c8 |....brkv=&202...| 00000130 0f 73 74 72 69 6e 67 3d 26 37 30 30 0d 00 d2 0e |.string=&700....| 00000140 63 6f 6e 74 3d 26 38 42 39 42 0d 00 dc 12 63 68 |cont=&8B9B....ch| 00000150 65 63 6b 65 6e 64 3d 26 39 38 35 41 0d 00 e6 0e |eckend=&985A....| 00000160 61 64 64 59 3d 26 39 38 36 44 0d 00 f0 10 73 79 |addY=&986D....sy| 00000170 6e 74 61 78 3d 26 39 38 32 42 0d 00 fa 0e 65 76 |ntax=&982B....ev| 00000180 61 6c 3d 26 39 42 32 39 0d 01 04 0f 70 6f 69 6e |al=&9B29....poin| 00000190 74 65 72 3d 26 39 30 0d 01 0e 10 63 61 73 65 66 |ter=&90....casef| 000001a0 6c 61 67 3d 26 39 32 0d 01 18 10 74 72 75 65 66 |lag=&92....truef| 000001b0 6c 61 67 3d 26 39 33 0d 01 22 0e 61 63 74 69 6f |lag=&93..".actio| 000001c0 6e 3d 26 39 34 0d 01 2c 0c 74 65 6d 70 3d 26 39 |n=&94..,.temp=&9| 000001d0 36 0d 01 36 0e 73 74 72 70 74 72 3d 26 39 37 0d |6..6.strptr=&97.| 000001e0 01 40 0d 71 75 6f 74 65 3d 26 39 38 0d 01 4a 0f |.@.quote=&98..J.| 000001f0 61 64 64 72 65 73 73 3d 26 39 39 0d 01 54 0e 63 |address=&99..T.c| 00000200 6f 64 65 25 3d 26 42 30 30 0d 01 5e 10 e3 70 61 |ode%=&B00..^..pa| 00000210 73 73 25 3d 30 b8 32 88 32 0d 01 68 0c 50 25 3d |ss%=0.2.2..h.P%=| 00000220 63 6f 64 65 25 0d 01 72 0d 5b 4f 50 54 70 61 73 |code%..r.[OPTpas| 00000230 73 25 0d 01 7c 11 45 51 55 44 26 46 42 30 30 30 |s%..|.EQUD&FB000| 00000240 30 30 44 0d 01 86 0d 45 51 55 57 26 31 35 46 34 |00D....EQUW&15F4| 00000250 0d 01 90 07 4e 4f 50 0d 01 9a 09 2e 63 61 73 65 |....NOP.....case| 00000260 0d 01 a4 0f 4c 44 58 63 61 73 65 66 6c 61 67 0d |....LDXcaseflag.| 00000270 01 ae 0e 42 4d 49 62 61 64 63 61 73 65 0d 01 b8 |...BMIbadcase...| 00000280 07 44 45 58 0d 01 c2 0f 53 54 58 63 61 73 65 66 |.DEX....STXcasef| 00000290 6c 61 67 0d 01 cc 07 43 4c 43 0d 01 d6 07 54 59 |lag....CLC....TY| 000002a0 41 0d 01 e0 0b 41 44 43 70 74 72 41 0d 01 ea 0e |A....ADCptrA....| 000002b0 53 54 41 61 64 64 72 65 73 73 0d 01 f4 0d 4c 44 |STAaddress....LD| 000002c0 41 70 74 72 41 2b 31 0d 01 fe 09 41 44 43 23 30 |AptrA+1....ADC#0| 000002d0 0d 02 08 10 53 54 41 61 64 64 72 65 73 73 2b 31 |....STAaddress+1| 000002e0 0d 02 12 09 4c 44 59 23 30 0d 02 1c 0a 2e 63 6c |....LDY#0.....cl| 000002f0 6f 6f 70 0d 02 26 12 4c 44 41 28 61 64 64 72 65 |oop..&.LDA(addre| 00000300 73 73 29 2c 59 0d 02 30 0e 42 4d 49 62 61 64 63 |ss),Y..0.BMIbadc| 00000310 61 73 65 0d 02 3a 0c 43 4d 50 23 97 22 3a 22 0d |ase..:.CMP#.":".| 00000320 02 44 0b 42 45 51 64 6f 6e 65 0d 02 4e 0c 43 4d |.D.BEQdone..N.CM| 00000330 50 26 38 30 31 44 0d 02 58 0b 42 45 51 64 6f 6e |P&801D..X.BEQdon| 00000340 65 0d 02 62 07 49 4e 59 0d 02 6c 0c 42 4e 45 63 |e..b.INY..l.BNEc| 00000350 6c 6f 6f 70 0d 02 76 09 2e 64 6f 6e 65 0d 02 80 |loop..v..done...| 00000360 07 49 4e 59 0d 02 8a 0d 53 54 59 73 74 72 70 74 |.INY....STYstrpt| 00000370 72 0d 02 94 07 49 4e 59 0d 02 9e 07 49 4e 59 0d |r....INY....INY.| 00000380 02 a8 07 49 4e 59 0d 02 b2 0b 42 4e 45 71 75 69 |...INY....BNEqui| 00000390 74 0d 02 bc 0c 2e 62 61 64 63 61 73 65 0d 02 c6 |t.....badcase...| 000003a0 07 42 52 4b 0d 02 d0 0a 45 51 55 42 34 36 0d 02 |.BRK....EQUB46..| 000003b0 da 12 45 51 55 53 22 42 61 64 20 43 41 53 45 22 |..EQUS"Bad CASE"| 000003c0 0d 02 e4 07 42 52 4b 0d 02 ee 09 2e 77 68 65 6e |....BRK.....when| 000003d0 0d 02 f8 0f 4c 44 41 63 61 73 65 66 6c 61 67 0d |....LDAcaseflag.| 000003e0 03 02 0d 42 50 4c 6e 6f 63 61 73 65 0d 03 0c 0f |...BPLnocase....| 000003f0 4c 44 41 74 72 75 65 66 6c 61 67 0d 03 16 0e 42 |LDAtrueflag....B| 00000400 4d 49 6e 65 77 6c 69 6e 65 0d 03 20 09 4c 44 59 |MInewline.. .LDY| 00000410 23 30 0d 03 2a 0a 2e 77 6c 6f 6f 70 0d 03 34 12 |#0..*..wloop..4.| 00000420 4c 44 41 28 61 64 64 72 65 73 73 29 2c 59 0d 03 |LDA(address),Y..| 00000430 3e 0f 53 54 41 73 74 72 69 6e 67 2c 59 0d 03 48 |>.STAstring,Y..H| 00000440 07 49 4e 59 0d 03 52 0d 43 50 59 73 74 72 70 74 |.INY..R.CPYstrpt| 00000450 72 0d 03 5c 0c 42 4e 45 77 6c 6f 6f 70 0d 03 66 |r..\.BNEwloop..f| 00000460 07 44 45 59 0d 03 70 0c 4c 44 41 23 97 22 3d 22 |.DEY..p.LDA#."="| 00000470 0d 03 7a 0f 53 54 41 73 74 72 69 6e 67 2c 59 0d |..z.STAstring,Y.| 00000480 03 84 09 4c 44 59 23 34 0d 03 8e 0b 2e 77 6c 6f |...LDY#4.....wlo| 00000490 6f 70 42 0d 03 98 0d 4c 44 58 73 74 72 70 74 72 |opB....LDXstrptr| 000004a0 0d 03 a2 0b 2e 77 6c 6f 6f 70 43 0d 03 ac 0f 4c |.....wloopC....L| 000004b0 44 41 28 70 74 72 41 29 2c 59 0d 03 b6 07 50 48 |DA(ptrA),Y....PH| 000004c0 41 0d 03 c0 0a 43 4d 50 23 33 34 0d 03 ca 0f 42 |A....CMP#34....B| 000004d0 4e 45 6e 6f 74 71 75 6f 74 65 0d 03 d4 0a 82 71 |NEnotquote.....q| 000004e0 75 6f 74 65 0d 03 de 0c 53 54 41 71 75 6f 74 65 |uote....STAquote| 000004f0 0d 03 e8 0d 2e 6e 6f 74 71 75 6f 74 65 0d 03 f2 |.....notquote...| 00000500 0c 43 4d 50 23 97 22 2c 22 0d 03 fc 0f 42 4e 45 |.CMP#.","....BNE| 00000510 6e 6f 74 63 6f 6d 6d 61 0d 04 06 0c 4c 44 41 71 |notcomma....LDAq| 00000520 75 6f 74 65 0d 04 10 0b 42 45 51 74 65 73 74 0d |uote....BEQtest.| 00000530 04 1a 0d 2e 6e 6f 74 63 6f 6d 6d 61 0d 04 24 0c |....notcomma..$.| 00000540 43 4d 50 23 97 22 3a 22 0d 04 2e 0c 42 4e 45 73 |CMP#.":"....BNEs| 00000550 74 6f 72 65 0d 04 38 0c 4c 44 41 71 75 6f 74 65 |tore..8.LDAquote| 00000560 0d 04 42 0b 42 45 51 74 65 73 74 0d 04 4c 0a 2e |..B.BEQtest..L..| 00000570 73 74 6f 72 65 0d 04 56 07 50 4c 41 0d 04 60 0f |store..V.PLA..`.| 00000580 53 54 41 73 74 72 69 6e 67 2c 58 0d 04 6a 07 49 |STAstring,X..j.I| 00000590 4e 59 0d 04 74 07 49 4e 58 0d 04 7e 0d 42 4e 45 |NY..t.INX..~.BNE| 000005a0 77 6c 6f 6f 70 43 0d 04 88 0d 4a 4d 50 73 79 6e |wloopC....JMPsyn| 000005b0 74 61 78 0d 04 92 09 2e 74 65 73 74 0d 04 9c 0c |tax.....test....| 000005c0 4c 44 41 26 38 30 31 44 0d 04 a6 0f 53 54 41 73 |LDA&801D....STAs| 000005d0 74 72 69 6e 67 2c 58 0d 04 b0 09 4c 44 41 23 37 |tring,X....LDA#7| 000005e0 0d 04 ba 0d 53 54 41 70 74 72 42 2b 31 0d 04 c4 |....STAptrB+1...| 000005f0 09 4c 44 41 23 30 0d 04 ce 0b 53 54 41 70 74 72 |.LDA#0....STAptr| 00000600 42 0d 04 d8 0e 53 54 41 6f 66 66 73 65 74 42 0d |B....STAoffsetB.| 00000610 04 e2 0b 53 54 59 74 65 6d 70 0d 04 ec 0b 4a 53 |...STYtemp....JS| 00000620 52 65 76 61 6c 0d 04 f6 0b 4c 44 59 74 65 6d 70 |Reval....LDYtemp| 00000630 0d 05 00 0b 4c 44 41 69 6e 74 41 0d 05 0a 0b 42 |....LDAintA....B| 00000640 4d 49 74 72 75 65 0d 05 14 0a 2e 66 61 6c 73 65 |MItrue.....false| 00000650 0d 05 1e 07 50 4c 41 0d 05 28 07 49 4e 59 0d 05 |....PLA..(.INY..| 00000660 32 0c 43 4d 50 23 97 22 2c 22 0d 05 3c 0d 42 45 |2.CMP#.","..<.BE| 00000670 51 77 6c 6f 6f 70 42 0d 05 46 07 44 45 59 0d 05 |QwloopB..F.DEY..| 00000680 50 0c 2e 6e 65 77 6c 69 6e 65 0d 05 5a 07 49 4e |P..newline..Z.IN| 00000690 59 0d 05 64 0f 4c 44 41 28 70 74 72 41 29 2c 59 |Y..d.LDA(ptrA),Y| 000006a0 0d 05 6e 0c 43 4d 50 26 38 30 31 44 0d 05 78 0e |..n.CMP&801D..x.| 000006b0 42 4e 45 6e 65 77 6c 69 6e 65 0d 05 82 09 2e 71 |BNEnewline.....q| 000006c0 75 69 74 0d 05 8c 0c 42 45 51 71 75 69 74 42 0d |uit....BEQquitB.| 000006d0 05 96 0c 42 4e 45 71 75 69 74 42 0d 05 a0 0b 2e |...BNEquitB.....| 000006e0 6e 6f 63 61 73 65 0d 05 aa 07 42 52 4b 0d 05 b4 |nocase....BRK...| 000006f0 0a 45 51 55 42 34 37 0d 05 be 11 45 51 55 53 22 |.EQUB47....EQUS"| 00000700 4e 6f 20 43 41 53 45 22 0d 05 c8 07 42 52 4b 0d |No CASE"....BRK.| 00000710 05 d2 09 2e 74 72 75 65 0d 05 dc 0f 53 54 41 74 |....true....STAt| 00000720 72 75 65 66 6c 61 67 0d 05 e6 07 50 4c 41 0d 05 |rueflag....PLA..| 00000730 f0 0c 43 4d 50 23 97 22 3a 22 0d 05 fa 0e 42 45 |..CMP#.":"....BE| 00000740 51 61 74 63 6f 6c 6f 6e 0d 06 04 0a 2e 74 6c 6f |Qatcolon.....tlo| 00000750 6f 70 0d 06 0e 07 49 4e 59 0d 06 18 0b 2e 74 6c |op....INY.....tl| 00000760 6f 6f 70 42 0d 06 22 0f 4c 44 41 28 70 74 72 41 |oopB..".LDA(ptrA| 00000770 29 2c 59 0d 06 2c 0a 43 4d 50 23 33 34 0d 06 36 |),Y..,.CMP#34..6| 00000780 10 42 4e 45 6e 6f 74 71 75 6f 74 65 42 0d 06 40 |.BNEnotquoteB..@| 00000790 0a 82 71 75 6f 74 65 0d 06 4a 0c 53 54 41 71 75 |..quote..J.STAqu| 000007a0 6f 74 65 0d 06 54 0e 2e 6e 6f 74 71 75 6f 74 65 |ote..T..notquote| 000007b0 42 0d 06 5e 0c 43 4d 50 23 97 22 3a 22 0d 06 68 |B..^.CMP#.":"..h| 000007c0 0b 42 4e 45 62 61 63 6b 0d 06 72 0c 4c 44 41 71 |.BNEback..r.LDAq| 000007d0 75 6f 74 65 0d 06 7c 0e 42 45 51 61 74 63 6f 6c |uote..|.BEQatcol| 000007e0 6f 6e 0d 06 86 09 2e 62 61 63 6b 0d 06 90 07 49 |on.....back....I| 000007f0 4e 59 0d 06 9a 0d 42 4e 45 74 6c 6f 6f 70 42 0d |NY....BNEtloopB.| 00000800 06 a4 0c 2e 61 74 63 6f 6c 6f 6e 0d 06 ae 0c 42 |....atcolon....B| 00000810 45 51 71 75 69 74 42 0d 06 b8 0e 2e 6f 74 68 65 |EQquitB.....othe| 00000820 72 77 69 73 65 0d 06 c2 0f 4c 44 41 63 61 73 65 |rwise....LDAcase| 00000830 66 6c 61 67 0d 06 cc 0d 42 50 4c 6e 6f 63 61 73 |flag....BPLnocas| 00000840 65 0d 06 d6 0f 4c 44 41 74 72 75 65 66 6c 61 67 |e....LDAtrueflag| 00000850 0d 06 e0 0e 42 4d 49 6e 65 77 6c 69 6e 65 0d 06 |....BMInewline..| 00000860 ea 0c 42 50 4c 71 75 69 74 42 0d 06 f4 0c 2e 65 |..BPLquitB.....e| 00000870 6e 64 63 61 73 65 0d 06 fe 0f 4c 44 58 63 61 73 |ndcase....LDXcas| 00000880 65 66 6c 61 67 0d 07 08 0d 42 50 4c 6e 6f 63 61 |eflag....BPLnoca| 00000890 73 65 0d 07 12 07 49 4e 58 0d 07 1c 0f 53 54 58 |se....INX....STX| 000008a0 63 61 73 65 66 6c 61 67 0d 07 26 0f 53 54 58 74 |caseflag..&.STXt| 000008b0 72 75 65 66 6c 61 67 0d 07 30 0a 2e 71 75 69 74 |rueflag..0..quit| 000008c0 42 0d 07 3a 07 44 45 59 0d 07 44 0f 4a 53 52 63 |B..:.DEY..D.JSRc| 000008d0 68 65 63 6b 65 6e 64 0d 07 4e 09 4c 44 59 23 39 |heckend..N.LDY#9| 000008e0 0d 07 58 09 2e 6c 6f 6f 70 0d 07 62 07 50 4c 41 |..X..loop..b.PLA| 000008f0 0d 07 6c 07 44 45 59 0d 07 76 0b 42 4e 45 6c 6f |..l.DEY..v.BNElo| 00000900 6f 70 0d 07 80 0b 4a 4d 50 63 6f 6e 74 0d 07 8a |op....JMPcont...| 00000910 11 45 51 55 44 26 30 31 30 30 30 44 30 36 0d 07 |.EQUD&01000D06..| 00000920 94 0b 45 51 55 42 26 39 38 0d 07 9e 0d 45 51 55 |..EQUB&98....EQU| 00000930 57 26 39 30 44 36 0d 07 a8 0f 45 51 55 53 22 2b |W&90D6....EQUS"+| 00000940 32 36 34 3a 22 0d 07 b2 0d 45 51 55 57 26 31 35 |264:"....EQUW&15| 00000950 46 34 0d 07 bc 0e 2e 69 6e 74 65 72 63 65 70 74 |F4.....intercept| 00000960 0d 07 c6 11 4c 44 58 23 6d 61 69 6e 20 83 32 35 |....LDX#main .25| 00000970 36 0d 07 d0 07 53 45 49 0d 07 da 0b 53 54 58 62 |6....SEI....STXb| 00000980 72 6b 76 0d 07 e4 0b 4c 44 58 70 61 67 65 0d 07 |rkv....LDXpage..| 00000990 ee 07 49 4e 58 0d 07 f8 0d 53 54 58 62 72 6b 76 |..INX....STXbrkv| 000009a0 2b 31 0d 08 02 07 43 4c 49 0d 08 0c 09 4c 44 59 |+1....CLI....LDY| 000009b0 23 30 0d 08 16 0f 53 54 59 63 61 73 65 66 6c 61 |#0....STYcasefla| 000009c0 67 0d 08 20 0f 53 54 59 74 72 75 65 66 6c 61 67 |g.. .STYtrueflag| 000009d0 0d 08 2a 0c 53 54 59 71 75 6f 74 65 0d 08 34 07 |..*.STYquote..4.| 000009e0 52 54 53 0d 08 3e 09 2e 6d 61 69 6e 0d 08 48 0b |RTS..>..main..H.| 000009f0 50 48 50 3a 50 48 41 0d 08 52 0b 54 59 41 3a 50 |PHP:PHA..R.TYA:P| 00000a00 48 41 0d 08 5c 0b 54 58 41 3a 50 48 41 0d 08 66 |HA..\.TXA:PHA..f| 00000a10 09 4c 44 59 23 30 0d 08 70 10 4c 44 41 28 65 72 |.LDY#0..p.LDA(er| 00000a20 72 6f 72 29 2c 59 0d 08 7a 09 43 4d 50 23 34 0d |ror),Y..z.CMP#4.| 00000a30 08 84 0c 42 45 51 63 68 65 63 6b 0d 08 8e 08 2e |...BEQcheck.....| 00000a40 6f 75 74 0d 08 98 0b 50 4c 41 3a 54 41 58 0d 08 |out....PLA:TAX..| 00000a50 a2 0b 50 4c 41 3a 54 41 59 0d 08 ac 0b 50 4c 41 |..PLA:TAY....PLA| 00000a60 3a 50 4c 50 0d 08 b6 0a 4a 4d 50 62 72 6b 0d 08 |:PLP....JMPbrk..| 00000a70 c0 0a 2e 63 68 65 63 6b 0d 08 ca 0e 4c 44 59 6f |...check....LDYo| 00000a80 66 66 73 65 74 41 0d 08 d4 07 44 45 59 0d 08 de |ffsetA....DEY...| 00000a90 0b 4a 53 52 61 64 64 59 0d 08 e8 15 4c 44 41 23 |.JSRaddY....LDA#| 00000aa0 6b 65 79 74 61 62 6c 65 20 83 32 35 36 0d 08 f2 |keytable .256...| 00000ab0 0e 53 54 41 70 6f 69 6e 74 65 72 0d 08 fc 0b 4c |.STApointer....L| 00000ac0 44 58 70 61 67 65 0d 09 06 07 49 4e 58 0d 09 10 |DXpage....INX...| 00000ad0 10 53 54 58 70 6f 69 6e 74 65 72 2b 31 0d 09 1a |.STXpointer+1...| 00000ae0 0c 2e 63 6f 6d 70 61 72 65 0d 09 24 09 4c 44 59 |..compare..$.LDY| 00000af0 23 30 0d 09 2e 0c 2e 63 6d 70 6c 6f 6f 70 0d 09 |#0.....cmploop..| 00000b00 38 12 4c 44 41 28 70 6f 69 6e 74 65 72 29 2c 59 |8.LDA(pointer),Y| 00000b10 0d 09 42 0c 42 45 51 66 6f 75 6e 64 0d 09 4c 0a |..B.BEQfound..L.| 00000b20 42 4d 49 6f 75 74 0d 09 56 0f 43 4d 50 28 70 74 |BMIout..V.CMP(pt| 00000b30 72 41 29 2c 59 0d 09 60 0b 42 4e 45 6e 65 78 74 |rA),Y..`.BNEnext| 00000b40 0d 09 6a 07 49 4e 59 0d 09 74 0e 42 4e 45 63 6d |..j.INY..t.BNEcm| 00000b50 70 6c 6f 6f 70 0d 09 7e 09 2e 6e 65 78 74 0d 09 |ploop..~..next..| 00000b60 88 09 4c 44 59 23 30 0d 09 92 0a 2e 6e 6c 6f 6f |..LDY#0.....nloo| 00000b70 70 0d 09 9c 0e 49 4e 43 70 6f 69 6e 74 65 72 0d |p....INCpointer.| 00000b80 09 a6 0e 42 4e 45 6e 6f 63 61 72 72 79 0d 09 b0 |...BNEnocarry...| 00000b90 10 49 4e 43 70 6f 69 6e 74 65 72 2b 31 0d 09 ba |.INCpointer+1...| 00000ba0 0c 2e 6e 6f 63 61 72 72 79 0d 09 c4 12 4c 44 41 |..nocarry....LDA| 00000bb0 28 70 6f 69 6e 74 65 72 29 2c 59 0d 09 ce 0c 42 |(pointer),Y....B| 00000bc0 4e 45 6e 6c 6f 6f 70 0d 09 d8 0e 49 4e 43 70 6f |NEnloop....INCpo| 00000bd0 69 6e 74 65 72 0d 09 e2 0e 49 4e 43 70 6f 69 6e |inter....INCpoin| 00000be0 74 65 72 0d 09 ec 0e 42 4e 45 63 6f 6d 70 61 72 |ter....BNEcompar| 00000bf0 65 0d 09 f6 0a 2e 66 6f 75 6e 64 0d 0a 00 07 49 |e.....found....I| 00000c00 4e 59 0d 0a 0a 12 4c 44 41 28 70 6f 69 6e 74 65 |NY....LDA(pointe| 00000c10 72 29 2c 59 0d 0a 14 07 44 45 59 0d 0a 1e 0d 53 |r),Y....DEY....S| 00000c20 54 41 61 63 74 69 6f 6e 0d 0a 28 07 44 45 58 0d |TAaction..(.DEX.| 00000c30 0a 32 0f 53 54 58 61 63 74 69 6f 6e 2b 31 0d 0a |.2.STXaction+1..| 00000c40 3c 0f 4a 4d 50 28 61 63 74 69 6f 6e 29 0d 0a 46 |<.JMP(action)..F| 00000c50 0d 2e 6b 65 79 74 61 62 6c 65 0d 0a 50 12 45 51 |..keytable..P.EQ| 00000c60 55 53 22 43 41 53 45 22 3a 42 52 4b 0d 0a 5a 11 |US"CASE":BRK..Z.| 00000c70 45 51 55 42 63 61 73 65 20 83 32 35 36 0d 0a 64 |EQUBcase .256..d| 00000c80 12 45 51 55 53 22 57 48 45 4e 22 3a 42 52 4b 0d |.EQUS"WHEN":BRK.| 00000c90 0a 6e 11 45 51 55 42 77 68 65 6e 20 83 32 35 36 |.n.EQUBwhen .256| 00000ca0 0d 0a 78 17 45 51 55 53 22 4f 54 48 45 52 57 49 |..x.EQUS"OTHERWI| 00000cb0 53 45 22 3a 42 52 4b 0d 0a 82 16 45 51 55 42 6f |SE":BRK....EQUBo| 00000cc0 74 68 65 72 77 69 73 65 20 83 32 35 36 0d 0a 8c |therwise .256...| 00000cd0 15 45 51 55 53 22 45 4e 44 43 41 53 45 22 3a 42 |.EQUS"ENDCASE":B| 00000ce0 52 4b 0d 0a 96 14 45 51 55 42 65 6e 64 63 61 73 |RK....EQUBendcas| 00000cf0 65 20 83 32 35 36 0d 0a a0 0b 45 51 55 42 31 32 |e .256....EQUB12| 00000d00 38 0d 0a aa 0f 45 51 55 44 26 46 46 30 44 30 36 |8....EQUD&FF0D06| 00000d10 0d 0a b4 05 5d 0d 0a be 0a ed 70 61 73 73 25 0d |....].....pass%.| 00000d20 0a c8 05 e1 0d ff |......| 00000d26