Home » Archimedes archive » Zipped Apps » 6502em » !6502Em/src/Opcodes

!6502Em/src/Opcodes

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 » Archimedes archive » Zipped Apps » 6502em
Filename: !6502Em/src/Opcodes
Read OK:
File size: 77D5 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > Opcodes
   20
   30DEFFNopcodes
   40
   50FOR bcd_loop%=0 TO 1
   60opcode%=0
   70IF bcd_loop%=0 THEN [OPTp:.opcode(&0):] ELSE [OPTp:.bcd(0):]
   80
   90[OPTp
  100
  110;.opcode(&0) ; BRK
  120ADD zpc,zpc,#2 << 16
  130MOV R0,zpc,LSR#24
  140FNpush(0)
  150MOV R0,zpc,LSR#16
  160FNpush(0)
  170ORR F,F,#%10000 ; set BRK flag
  180FNpush(F)
  190ORR F,F,#%00100 ; set I flag
  200BIC F,F,#%10000 ; clear BRK flag..... seems to work!
  210MOV R0,#&10000 : SUB R0,R0,#2
  220LDRB zpc,[mem,R0]
  230ADD R0,R0,#1
  240LDRB R0,[mem,R0]
  250ADD zpc,zpc,R0,LSL#8
  260MOV zpc,zpc,LSL#16
  270FNfetch(0,7)
  280;
  290.opcode(&1) ; ORA (n,X)
  300FNgetpre(0,1)
  310FNora(0,2,6)
  320;
  330.opcode(&2) ; ?
  340;FNprint(zpc)
  350;MOV R0,#66
  360;B raw_exit
  370FNundoc(&2)
  380FNfetch(1,2)
  390;
  400.opcode(&3) ; ?
  410;ADDS R0,zpc,#(&10000-&FFF4) << 16
  420;CMPEQ A,#&81 << 24
  430ADD R0,zpc,#1 << 16
  440LDRB R0,[mem,R0,LSR#16]
  450CMP R0,#3
  460BEQ osbput
  470CMP R0,#4
  480BEQ osbget
  490MOV R0,#3
  500B raw_exit
  510FNfetch(1,2)
  520;
  530.opcode(&4) ; TSB n
  540FNgetzero(0,1)
  550FNtsb(0)
  560STRB R0,[mem,R1] ; zero page STRB
  570FNfetch(2,5)
  580;
  590.opcode(&5) ; ORA n
  600FNgetzero(0,1)
  610FNora(0,2,3)
  620;
  630.opcode(&6) ; ASL n
  640FNgetzero(0,1)
  650FNasl(0)
  660STRB R0,[mem,R1] ; zero page STRB
  670FNfetch(2,5)
  680;
  690.opcode(&7) ; (SLO n - ASL n, ORA n)
  700CMP zpc,#&8000 << 16
  710;BHS opcode7
  720MOVHS R0,#7
  730BHS raw_exit
  740FNgetzero(0,1)
  750FNasl(0)
  760ORRS A,A,R0,LSL#24 ; ORA zp
  770STRB R0,[mem,R1]
  780FNfetch(2,0)
  790;
  800.opcode(&8) ; PHP
  810FNpush(F)
  820FNfetch(1,3)
  830;
  840.opcode(&9) ; ORA #N
  850FNgetbyte1(0)
  860FNora(0,2,2)
  870;
  880.opcode(&A) ; ASL A
  890MOVS A,A,LSL#1
  900FNsetupNZC
  910FNfetch(1,2)
  920;
  930.opcode(&B) ; ANC (undocumented - Repton 2)
  940            ; AND #N, ASL A
  950FNgetbyte1(0)
  960AND R0,A,R0,LSL#24
  970MOVS A,A,LSL#1
  980FNsetupNZC
  990FNfetch(2,2)
 1000;
 1010.opcode(&C) ; TSB nn
 1020FNgetabs(0,1)
 1030FNtsb(0)
 1040FNstrb(0,1)
 1050FNfetch(3,6)
 1060;
 1070.opcode(&D) ; ORA nn
 1080FNgetabs(0,1)
 1090FNora(0,3,4)
 1100;
 1110.opcode(&E) ; ASL nn
 1120FNgetabs(0,1)
 1130FNasl(0)
 1140FNstrb(0,1)
 1150FNfetch(3,6)
 1160;
 1170.opcode(&F) ; ?
 1180FNundoc(&F)
 1190FNfetch(1,2)
 1200;
 1210.opcode(&10) ; BPL r
 1220TST F,#%10000000
 1230BNE branch_fetch
 1240FNbranch
 1250;
 1260.opcode(&11) ; ORA (n),Y
 1270FNgetpost(0,1)
 1280FNora(0,2,5)
 1290;
 1300.opcode(&12) ; ORA (n)
 1310FNgetzeroindir(0,1)
 1320FNora(0,2,5)
 1330;
 1340.opcode(&13) ; OSBYTE
 1350FNundoc(&13)
 1360FNfetch(1,2)
 1370;
 1380; ;FNprint(A)
 1390; ;SWI &100+ASC"O"
 1400; CMP A,#19 << 24
 1410; BEQ opcode(&60)
 1420; CMP A,#&81 << 24
 1430; BEQ osbyte81
 1440; CMP A,#&7A << 24
 1450; BEQ generic_osbyte
 1460; CMP A,#&79 << 24
 1470; BEQ generic_osbyte
 1480; CMP A,#&80 << 24
 1490; BEQ osbyte80
 1500; MOV R0,#&200
 1510; ADD R0,R0,#&A
 1520; LDR zpc,[mem,R0]
 1530; MOV zpc,zpc,LSL#16
 1540; FNfetch(0,0)
 1550; .osbyte81
 1560; ;MOVS R0,X,LSR#24
 1570; ;BEQ skip55
 1580; ;FNprint2(0)
 1590; ;SWI "OS_ReadC"
 1600; ;.skip55
 1610; CMP Y,#&80 << 24
 1620; BHS os2
 1630; CMP X,#&20 << 24
 1640; SWIHI "6502_UpdateScreen"
 1650; .os2
 1660; MOV R0,A,LSR#24
 1670; MOV R1,X,LSR#24
 1680; MOV R2,Y,LSR#24
 1690; SWI "OS_Byte"
 1700; CMP Y,#&FF << 24
 1710; BNE os3
 1720; BIC F,F,#%1
 1730; CMP R2,#&FF
 1740; ORREQ F,F,#1
 1750; .os3
 1760; CMP Y,#&80 << 16
 1770; BHS os4
 1780; CMP R2,#0 ; key detected
 1790; CMPEQ R1,#ASC"'"
 1800; MOVEQ R1,#ASC":
 1810; CMP R2,#&FF
 1820; MOVEQ R1,#0
 1830; CMP R1,#&1B
 1840; MOVEQ R2,R1
 1850; ORREQ F,F,#%1
 1860; .os4
 1870; MOV A,R0,LSL#24
 1880; MOV X,R1,LSL#24
 1890; MOV Y,R2,LSL#24
 1900; MOVEQ R0,#&FF
 1910; LDREQB R1,[mem,R0]
 1920; ORR R1,R1,#&80
 1930; STREQB R1,[mem,R0]
 1940; B opcode(&60)
 1950; .generic_osbyte
 1960; MOV R0,A,LSR#24
 1970; MOV R1,X,LSR#24
 1980; MOV R2,Y,LSR#24
 1990; SWI "OS_Byte"
 2000; MOV A,R0,LSL#24
 2010; MOV X,R1,LSL#24
 2020; MOV Y,R2,LSL#24
 2030; B opcode(&60)
 2040; .osbyte80
 2050; MOV X,#0
 2060; B opcode(&60)
 2070
 2080;
 2090.opcode(&14) ; TRB n
 2100FNgetzero(0,1)
 2110FNtrb(0)
 2120STRB R0,[mem,R1] ; zero page STRB
 2130FNfetch(2,5)
 2140;
 2150.opcode(&15) ; ORA n,X
 2160FNgetzeroindex(0,1)
 2170FNora(0,2,4)
 2180;
 2190.opcode(&16) ; ASL n,X
 2200FNgetzeroindex(0,1)
 2210FNasl(0)
 2220STRB R0,[mem,R1,LSR#24] ; zero page STRB
 2230FNfetch(2,6)
 2240;
 2250.opcode(&17) ; ?
 2260FNundoc(&17)
 2270FNfetch(1,2)
 2280;
 2290.opcode(&18) ; CLC
 2300BIC F,F,#%1
 2310FNfetch(1,2)
 2320;
 2330.opcode(&19) ; ORA nn,Y
 2340FNgetabsindex(0,1,Y)
 2350FNora(0,3,4)
 2360;
 2370.opcode(&1A) ; INA
 2380FNinc(A)
 2390FNfetch(1,2)
 2400;
 2410.opcode(&1B) ; ?
 2420FNundoc(&1B)
 2430FNfetch(1,2)
 2440;
 2450.opcode(&1C) ; TRB nn
 2460FNgetabs(0,1)
 2470FNtrb(0)
 2480FNstrb(0,1)
 2490FNfetch(3,6)
 2500;
 2510.opcode(&1D) ; ORA nn,X
 2520FNgetabsindex(0,1,X)
 2530FNora(0,3,4)
 2540;
 2550.opcode(&1E) ; ASL nn,X
 2560FNgetabsindex(0,1,X)
 2570FNasl(0)
 2580FNstrb16(0,1)
 2590FNfetch(3,7)
 2600;
 2610.opcode(&1F) ; ?
 2620FNundoc(&1F)
 2630FNfetch(1,2)
 2640;
 2650.opcode(&20) ; JSR nn
 2660FNgetabs(0,1)
 2670ADD zpc,zpc,#2 << 16
 2680MOV R0,zpc,LSR#24
 2690FNpush(0)
 2700MOV R0,zpc,LSR#16
 2710FNpush(0)
 2720MOV zpc,R1,LSL#16
 2730FNfetch(0,6)
 2740;
 2750.opcode(&21) ; AND (n,X)
 2760FNgetpre(0,1)
 2770FNand(0,2,6)
 2780;
 2790.opcode(&22) ; ?
 2800FNundoc(&22)
 2810FNfetch(1,2)
 2820;
 2830.opcode(&23) ; ?
 2840;MOV R0,#255
 2850;STRB R0,[mem,#lastmode]
 2860BL updatescreen
 2870;BL force_update_pal
 2880;SWI "6502_UpdateScreen"
 2890MOV R0,#229 : MOV R1,#0 : SWI "OS_Byte"
 2900SWI "OS_ReadC"
 2910MOV A,R0,LSL#24
 2920CMP R0,#&1B : ORREQ F,F,#%1
 2930LDREQB R0,[mem,#&FF]
 2940ORREQ R0,R0,#&80
 2950STREQB R0,[mem,#&FF]
 2960MOV R0,#229 : MOV R1,#1 : SWI "OS_Byte"
 2970B opcode(&60)
 2980FNfetch(1,2)
 2990;
 3000.opcode(&24) ; BIT n
 3010FNgetzero(0,1)
 3020FNbit(0,2,3)
 3030;
 3040.opcode(&25) ; AND n
 3050FNgetzero(0,1)
 3060FNand(0,2,3)
 3070;
 3080.opcode(&26) ; ROL n
 3090FNgetzero(0,1)
 3100FNrol(0)
 3110STRB R0,[mem,R1] ; zero page STRB
 3120FNfetch(2,5)
 3130;
 3140.opcode(&27) ; ?
 3150FNundoc(&27)
 3160FNfetch(1,2)
 3170;
 3180.opcode(&28) ; PLP
 3190FNpull(F)
 3200FNfetch(1,4)
 3210;
 3220.opcode(&29) ; AND #N
 3230FNgetbyte1(0)
 3240FNand(0,2,2)
 3250;
 3260.opcode(&2A) ; ROL A
 3270MOV R0,A,LSR#24
 3280FNrol(0)
 3290MOV A,R0,LSL#24
 3300FNfetch(1,2)
 3310;
 3320.opcode(&2B) ; ?
 3330FNundoc(&2B)
 3340FNfetch(1,2)
 3350;
 3360.opcode(&2C) ; BIT nn
 3370FNgetabs(0,1)
 3380FNbit(0,3,4)
 3390;
 3400.opcode(&2D) ; AND nn
 3410FNgetabs(0,1)
 3420FNand(0,3,4)
 3430;
 3440.opcode(&2E) ; ROL nn
 3450FNgetabs(0,1)
 3460FNrol(0)
 3470FNstrb(0,1)
 3480FNfetch(3,6)
 3490;
 3500.opcode(&2F) ; ?
 3510FNundoc(&2F)
 3520FNfetch(1,2)
 3530;
 3540.opcode(&30) ; BMI r
 3550TST F,#%10000000
 3560BEQ branch_fetch
 3570FNbranch
 3580;
 3590.opcode(&31) ; AND (n),Y
 3600FNgetpost(0,1)
 3610FNand(0,2,5)
 3620;
 3630.opcode(&32) ; AND (n)
 3640FNgetzeroindir(0,1)
 3650FNand(0,2,5)
 3660;
 3670.opcode(&33) ; ?
 3680FNundoc(&33)
 3690FNfetch(1,2)
 3700;
 3710.opcode(&34) ; BIT n,X
 3720FNgetzeroindex(0,1)
 3730FNbit(0,2,4)
 3740;
 3750.opcode(&35) ; AND n,X
 3760FNgetzeroindex(0,1)
 3770FNand(0,2,4)
 3780;
 3790.opcode(&36) ; ROL n,X
 3800FNgetzeroindex(0,1)
 3810FNrol(0)
 3820STRB R0,[mem,R1,LSR#24]
 3830FNfetch(2,6)
 3840;
 3850.opcode(&37) ; ?
 3860FNundoc(&37)
 3870FNfetch(1,2)
 3880;
 3890.opcode(&38) ; SEC
 3900ORR F,F,#%1
 3910FNfetch(1,2)
 3920;
 3930.opcode(&39) ; AND nn,Y
 3940FNgetabsindex(0,1,Y)
 3950FNand(0,3,4)
 3960;
 3970.opcode(&3A) ; DEA
 3980FNdec(A)
 3990FNfetch(1,2)
 4000;
 4010.opcode(&3B) ; ?
 4020FNundoc(&3B)
 4030FNfetch(1,2)
 4040;
 4050.opcode(&3C) ; BIT nn,X
 4060FNgetabsindex(0,1,X)
 4070FNbit(0,3,4)
 4080;
 4090.opcode(&3D) ; AND nn,X
 4100FNgetabsindex(0,1,X)
 4110FNand(0,3,4)
 4120;
 4130.opcode(&3E) ; ROL nn,X
 4140FNgetabsindex(0,1,X)
 4150FNrol(0)
 4160FNstrb16(0,1)
 4170FNfetch(3,7)
 4180;
 4190.opcode(&3F) ; ?
 4200FNundoc(&3F)
 4210FNfetch(1,2)
 4220;
 4230.opcode(&40) ; RTI
 4240FNpull(F)
 4250FNpull(1)
 4260FNpull(zpc)
 4270ADD zpc,zpc,R1,LSR#8
 4280BL interrupt
 4290
 4300FNfetch(0,6) ; yes, that should be 0!
 4310;
 4320.opcode(&41) ; EOR (n,X)
 4330FNgetpre(0,1)
 4340FNeor(0,2,6)
 4350;
 4360.opcode(&42) ; ?
 4370FNundoc(&42)
 4380FNfetch(1,2)
 4390;
 4400.opcode(&43) ; ?
 4410FNundoc(&43)
 4420FNfetch(1,2)
 4430;
 4440.opcode(&44) ; ?
 4450FNundoc(&44)
 4460FNfetch(1,2)
 4470;
 4480.opcode(&45) ; EOR n
 4490FNgetzero(0,1)
 4500FNeor(0,2,3)
 4510;
 4520.opcode(&46) ; LSR n
 4530FNgetzero(0,1)
 4540FNlsr(0)
 4550STRB R0,[mem,R1]
 4560FNfetch(2,5)
 4570;
 4580.opcode(&47) ; ?
 4590FNundoc(&47)
 4600FNfetch(1,2)
 4610;
 4620.opcode(&48) ; PHA
 4630FNpush(A)
 4640FNfetch(1,3)
 4650;
 4660.opcode(&49) ; EOR #N
 4670FNgetbyte1(0)
 4680FNeor(0,2,2)
 4690;
 4700.opcode(&4A) ; LSR A
 4710MOVS A,A,LSR#25
 4720MOV A,A,LSL#24
 4730FNsetupNZC
 4740FNfetch(1,2)
 4750;
 4760.opcode(&4B) ; (ASR #N - AND #N, LSR A)
 4770FNgetbyte1(0)      ;
 4780ANDS A,A,R0,LSL#24 ;
 4790;FNsetupNZ         ; FNand
 4800
 4810MOVS A,A,LSR#25    ;
 4820FNsetupC           ;
 4830MOVS A,A,LSL#24    ;
 4840FNsetupNZ          ; LSR A
 4850FNfetch(2,0)
 4860
 4870;SWI &100+ASC"4"
 4880;SWI &100+ASC"B"
 4890;FNfetch(1,2)
 4900;
 4910.opcode(&4C) ; JMP nn
 4920FNgetabs(0,1)
 4930MOV zpc,R1,LSL#16
 4940FNfetch(0,3)
 4950;
 4960.opcode(&4D) ; EOR nn
 4970FNgetabs(0,1)
 4980FNeor(0,3,4)
 4990;
 5000.opcode(&4E) ; LSR nn
 5010FNgetabs(0,1)
 5020FNlsr(0)
 5030FNstrb(0,1)
 5040FNfetch(3,6)
 5050;
 5060.opcode(&4F) ; ?
 5070FNundoc(&4F)
 5080FNfetch(1,2)
 5090;
 5100.opcode(&50) ; BVC r
 5110TST F,#%1000000
 5120BNE branch_fetch
 5130FNbranch
 5140;
 5150.opcode(&51) ; EOR (n),Y
 5160FNgetpost(0,1)
 5170FNeor(0,2,5)
 5180;
 5190.opcode(&52) ; EOR (n)
 5200FNgetzeroindir(0,1)
 5210FNeor(0,2,5)
 5220;
 5230.opcode(&53) ; ?
 5240FNundoc(&53)
 5250FNfetch(1,2)
 5260;
 5270.opcode(&54) ; ?
 5280FNundoc(&54)
 5290FNfetch(1,2)
 5300;
 5310.opcode(&55) ; EOR n,X
 5320FNgetzeroindex(0,1)
 5330FNeor(0,2,4)
 5340;
 5350.opcode(&56) ; LSR n,X
 5360FNgetzeroindex(0,1)
 5370FNlsr(0)
 5380STRB R0,[mem,R1,LSR#24] ; zero page STRB
 5390FNfetch(2,6)
 5400;
 5410.opcode(&57) ; ?
 5420FNundoc(&57)
 5430FNfetch(1,2)
 5440;
 5450.opcode(&58) ; CLI
 5460;B CLI
 5470BIC F,F,#%100
 5480ADD zpc,zpc,#1 << 16
 5490;LDRB R0,keychk
 5500;CMP R0,#0
 5510;BLEQ keyboard
 5520BL keyboard
 5530BL interrupt
 5540FNfetch(0,2)
 5550;
 5560.opcode(&59) ; EOR nn,Y
 5570FNgetabsindex(0,1,Y)
 5580FNeor(0,3,4)
 5590;
 5600.opcode(&5A) ; PHY
 5610FNpush(Y)
 5620FNfetch(1,3)
 5630;
 5640.opcode(&5B) ; ?
 5650FNundoc(&5B)
 5660FNfetch(1,2)
 5670;
 5680.opcode(&5C) ; ?
 5690FNundoc(&5C)
 5700FNfetch(1,2)
 5710;
 5720.opcode(&5D) ; EOR nn,X
 5730FNgetabsindex(0,1,X)
 5740FNeor(0,3,4)
 5750;
 5760.opcode(&5E) ; LSR nn,X
 5770FNgetabsindex(0,1,X)
 5780FNlsr(0)
 5790FNstrb16(0,1)
 5800FNfetch(3,7)
 5810;
 5820.opcode(&5F) ; ?
 5830FNundoc(&5F)
 5840FNfetch(1,2)
 5850;
 5860.opcode(&60) ; RTS
 5870FNpull(1)
 5880FNpull(zpc)
 5890ADD zpc,zpc,R1,LSR#8
 5900FNfetch(1,6) ; yes, that should be 1!
 5910;
 5920.opcode(&61) ; ADC (n,X)
 5930FNgetpre(0,1)
 5940FNadc(0,2,6)
 5950;
 5960.opcode(&62) ; ?
 5970FNundoc(&62)
 5980FNfetch(1,2)
 5990;
 6000.opcode(&63) ; ?
 6010FNundoc(&63)
 6020FNfetch(1,2)
 6030;
 6040.opcode(&64) ; STZ n
 6050FNgetbyte1(0)
 6060MOV R1,#0
 6070STRB R1,[mem,R0] ; zero page STRB
 6080FNfetch(2,3)
 6090;
 6100.opcode(&65) ; ADC n
 6110FNgetzero(0,1)
 6120FNadc(0,2,3)
 6130;
 6140.opcode(&66) ; ROR n
 6150FNgetzero(0,1)
 6160FNror(0)
 6170STRB R0,[mem,R1] ; zero page STRB
 6180FNfetch(2,5)
 6190;
 6200.opcode(&67) ; ?
 6210FNundoc(&67)
 6220FNfetch(1,2)
 6230;
 6240.opcode(&68) ; PLA
 6250FNpull(A)
 6260FNfetch(1,4)
 6270;
 6280.opcode(&69) ; ADC #N
 6290FNgetbyte1(0)
 6300FNadc(0,2,2)
 6310;
 6320.opcode(&6A) ; ROR A
 6330MOV R0,A,LSR#24
 6340FNror(0)
 6350MOV A,R0,LSL#24
 6360FNfetch(1,2)
 6370;
 6380.opcode(&6B) ; ?
 6390FNundoc(&6B)
 6400FNfetch(1,2)
 6410;
 6420.opcode(&6C) ; JMP (nn)
 6430FNgetabs(0,1)
 6440ADD R1,R1,#1
 6450]
 6460
 6470REM JMP (&xxFF) bug
 6480IF NOTmaster OR electron% THEN
 6490[OPTp
 6500TST R1,#&FF
 6510SUBEQ R1,R1,#&100
 6520MOVEQ R1,R1,LSL#16
 6530MOVEQ R1,R1,LSR#16
 6540]
 6550ENDIF
 6560
 6561[OPTp
 6570LDRB R1,[mem,R1]
 6580ADD R0,R0,R1,LSL#8
 6590MOV zpc,R0,LSL#16
 6600FNfetch(0,5)
 6610;
 6620.opcode(&6D) ; ADC nn
 6630FNgetabs(0,1)
 6640FNadc(0,3,4)
 6650;
 6660.opcode(&6E) ; ROR nn
 6670FNgetabs(0,1)
 6680FNror(0)
 6690FNstrb(0,1)
 6700FNfetch(3,6)
 6710;
 6720.opcode(&6F) ; ?
 6730FNundoc(&6F)
 6740FNfetch(1,2)
 6750;
 6760.opcode(&70) ; BVS r
 6770TST F,#%1000000
 6780BEQ branch_fetch
 6790FNbranch
 6800;
 6810.opcode(&71) ; ADC (n),Y
 6820FNgetpost(0,1)
 6830FNadc(0,2,5)
 6840;
 6850.opcode(&72) ; ADC (n)
 6860FNgetzeroindir(0,1)
 6870FNadc(0,2,5)
 6880;
 6890.opcode(&73) ; ?
 6900FNundoc(&73)
 6910FNfetch(1,2)
 6920;
 6930.opcode(&74) ; STZ n,X
 6940FNzeroindex(0,1)
 6950MOV R0,#0
 6960STRB R0,[mem,R1,LSR#24]
 6970FNfetch(2,4)
 6980;
 6990.opcode(&75) ; ADC n,X
 7000FNgetzeroindex(0,1)
 7010FNadc(0,2,4)
 7020;
 7030.opcode(&76) ; ROR n,X
 7040FNgetzeroindex(0,1)
 7050FNror(0)
 7060STRB R0,[mem,R1,LSR#24] ; zero page STRB
 7070FNfetch(2,6)
 7080;
 7090.opcode(&77) ; ?
 7100FNundoc(&77)
 7110FNfetch(1,2)
 7120;
 7130.opcode(&78) ; SEI
 7140ORR F,F,#%100
 7150FNfetch(1,2)
 7160;
 7170.opcode(&79) ; ADC nn,Y
 7180FNgetabsindex(0,1,Y)
 7190FNadc(0,3,4)
 7200;
 7210.opcode(&7A) ; PLY
 7220FNpull(Y)
 7230FNfetch(1,4)
 7240;
 7250.opcode(&7B) ; ?
 7260FNundoc(&7B)
 7270FNfetch(1,2)
 7280;
 7290.opcode(&7C) ; JMP (nn,X)
 7300FNabs(0,1)
 7310MOV R0,R1,LSL#16
 7320ADD R0,R0,X,LSR#8
 7330LDRB R1,[mem,R0,LSR#16]
 7340ADD R0,R0,#1 << 16
 7350LDRB R0,[mem,R0,LSR#16]
 7360ADD R0,R1,R0,LSL#8
 7370MOV zpc,R0,LSL#16
 7380FNfetch(0,6)
 7390;
 7400.opcode(&7D) ; ADC nn,X
 7410FNgetabsindex(0,1,X)
 7420FNadc(0,3,4)
 7430;
 7440.opcode(&7E) ; ROR nn,X
 7450FNgetabsindex(0,1,X)
 7460FNror(0)
 7470FNstrb16(0,1)
 7480FNfetch(3,7)
 7490;
 7500.opcode(&7F) ; ?
 7510FNundoc(&7F)
 7520FNfetch(1,2)
 7530;
 7540.opcode(&80) ; BRA r
 7550FNbranch
 7560;
 7570.opcode(&81) ; STA (n,X)
 7580FNpre(0,1)
 7590MOV R0,A,LSR#24
 7600FNstrb(0,1)
 7610FNfetch(2,6)
 7620;
 7630.opcode(&82) ; ?
 7640FNundoc(&82)
 7650FNfetch(1,2)
 7660;
 7670.opcode(&83) ; ?
 7680FNundoc(&83)
 7690FNfetch(1,2)
 7700;
 7710.opcode(&84) ; STY n
 7720FNgetbyte1(1)
 7730MOV R0,Y,LSR#24
 7740STRB R0,[mem,R1] ; zero page STRB
 7750FNfetch(2,3)
 7760;
 7770.opcode(&85) ; STA n
 7780FNgetbyte1(1)
 7790MOV R0,A,LSR#24
 7800STRB R0,[mem,R1] ; zero page STRB
 7810FNfetch(2,3)
 7820;
 7830.opcode(&86) ; STX n
 7840FNgetbyte1(1)
 7850MOV R0,X,LSR#24
 7860STRB R0,[mem,R1] ; zero page STRB
 7870FNfetch(2,3)
 7880;
 7890.opcode(&87) ; (SAX n - store (A AND X) in zero page)
 7900FNgetbyte1(1)
 7910ANDS R0,X,A
 7920FNsetupNZ
 7930MOV R0,R0,LSR#24
 7940STRB R0,[mem,R1] ; zero page STRB
 7950FNfetch(2,0)
 7960;SWI &100+ASC"8"
 7970;SWI &100+ASC"7"
 7980;FNfetch(1,2)
 7990;
 8000.opcode(&88) ; DEY
 8010FNdec(Y)
 8020FNfetch(1,2)
 8030;
 8040.opcode(&89) ; BIT #N
 8050FNgetbyte1(0)
 8060TST R0,A,LSR#24
 8070BIC F,F,#%10 ; N and V unchanged in immediate mode
 8080ORREQ F,F,#%10
 8090.branch_fetch
 8100FNfetch(2,2)
 8110;
 8120.opcode(&8A) ; TXA
 8130MOVS A,X
 8140FNsetupNZ
 8150FNfetch(1,2)
 8160;
 8170.opcode(&8B) ; ?
 8180FNundoc(&8B)
 8190FNfetch(1,2)
 8200;
 8210.opcode(&8C) ; STY nn
 8220FNabs(0,1)
 8230MOV R0,Y,LSR#24
 8240FNstrb(0,1)
 8250FNfetch(3,4)
 8260;
 8270.opcode(&8D) ; STA nn
 8280FNabs(0,1)
 8290MOV R0,A,LSR#24
 8300FNstrb(0,1)
 8310FNfetch(3,4)
 8320;
 8330.opcode(&8E) ; STX nn
 8340FNabs(0,1)
 8350MOV R0,X,LSR#24
 8360FNstrb(0,1)
 8370FNfetch(3,4)
 8380;
 8390.opcode(&8F) ; ?
 8400FNundoc(&8F)
 8410FNfetch(1,2)
 8420;
 8430.opcode(&90) ; BCC r
 8440TST F,#%1
 8450BNE branch_fetch
 8460FNbranch
 8470;
 8480.opcode(&91) ; STA (n),Y
 8490FNpost(0,1)
 8500MOV R0,A,LSR#24
 8510FNstrb16(0,1)
 8520FNfetch(2,6)
 8530;
 8540.opcode(&92) ; STA (n)
 8550FNzeroindir(0,1)
 8560MOV R0,A,LSR#24
 8570FNstrb(0,1)
 8580FNfetch(2,5)
 8590;
 8600.opcode(&93) ; ?
 8610FNundoc(&93)
 8620FNfetch(1,2)
 8630;
 8640.opcode(&94) ; STY n,X
 8650FNgetzeroindex(0,1)
 8660MOV R0,Y,LSR#24
 8670STRB R0,[mem,R1,LSR#24] ; zero page STRB
 8680FNfetch(2,4)
 8690;
 8700.opcode(&95) ; STA n,X
 8710FNzeroindex(0,1)
 8720MOV R0,A,LSR#24
 8730STRB R0,[mem,R1,LSR#24] ; zero page STRB
 8740FNfetch(2,4)
 8750;
 8760.opcode(&96) ; STX n,Y
 8770FNzeroindexY(0,1)
 8780MOV R0,X,LSR#24
 8790STRB R0,[mem,R1,LSR#24] ; zero page STRB
 8800 
 8810FNfetch(2,4)
 8820;
 8830.opcode(&97) ; ?
 8840FNundoc(&97)
 8850FNfetch(1,2)
 8860;
 8870.opcode(&98) ; TYA
 8880MOVS A,Y
 8890FNsetupNZ
 8900FNfetch(1,2)
 8910;
 8920.opcode(&99) ; STA nn,Y
 8930FNabsindex(0,1,Y)
 8940MOV R0,A,LSR#24
 8950FNstrb16(0,1)
 8960FNfetch(3,5)
 8970;
 8980.opcode(&9A) ; TXS
 8990MOVS SP,X ; flags not affected
 9000ORR SP,SP,#1
 9010FNsetupNZ
 9020FNfetch(1,2)
 9030;
 9040.opcode(&9B) ; ?
 9050FNundoc(&9B)
 9060FNfetch(1,2)
 9070;
 9080.opcode(&9C) ; STZ nn
 9090FNabs(0,1)
 9100MOV R0,#0
 9110FNstrb(0,1)
 9120FNfetch(3,4)
 9130;
 9140.opcode(&9D) ; STA nn,X
 9150FNabsindex(0,1,X)
 9160MOV R0,A,LSR#24
 9170FNstrb16(0,1)
 9180FNfetch(3,5)
 9190;
 9200.opcode(&9E) ; STZ nn,X
 9210FNabsindex(0,1,X)
 9220MOV R0,#0
 9230FNstrb16(0,1)
 9240FNfetch(3,5)
 9250;
 9260.opcode(&9F) ; ?
 9270FNundoc(&9F)
 9280FNfetch(1,2)
 9290;
 9300.opcode(&A0) ; LDY #N
 9310FNgetbyte1(0)
 9320FNldy(0,2,2)
 9330;
 9340.opcode(&A1) ; LDA  (n,X)
 9350FNgetpre(0,1)
 9360FNlda(0,2,6)
 9370;
 9380.opcode(&A2) ; LDX #N
 9390FNgetbyte1(0)
 9400FNldx(0,2,2)
 9410;
 9420.opcode(&A3) ; ?
 9430FNundoc(&A3)
 9440FNfetch(1,2)
 9450;
 9460.opcode(&A4) ; LDY n
 9470FNgetzero(0,1)
 9480FNldy(0,2,3)
 9490;
 9500.opcode(&A5) ; LDA n
 9510FNgetzero(0,1)
 9520FNlda(0,2,3)
 9530;
 9540.opcode(&A6) ; LDX n
 9550FNgetzero(0,1)
 9560FNldx(0,2,3)
 9570;
 9580.opcode(&A7) ; ?
 9590FNundoc(&A7)
 9600FNfetch(1,2)
 9610;
 9620.opcode(&A8) ; TAY
 9630MOVS Y,A
 9640FNsetupNZ
 9650FNfetch(1,2)
 9660;
 9670.opcode(&A9) ; LDA #N
 9680FNgetbyte1(0)
 9690FNlda(0,2,2)
 9700;
 9710.opcode(&AA) ; TAX
 9720MOVS X,A
 9730FNsetupNZ
 9740FNfetch(1,2)
 9750;
 9760.opcode(&AB) ; ?
 9770FNundoc(&AB)
 9780FNfetch(1,2)
 9790;
 9800.opcode(&AC) ; LDY nn
 9810FNgetabs(0,1)
 9820FNldy(0,3,4)
 9830;
 9840.opcode(&AD) ; LDA nn
 9850FNgetabs(0,1)
 9860FNlda(0,3,4)
 9870;
 9880.opcode(&AE) ; LDX nn
 9890FNgetabs(0,1)
 9900FNldx(0,3,4)
 9910;
 9920.opcode(&AF) ; ?
 9930FNundoc(&AF)
 9940FNfetch(1,2)
 9950;
 9960.opcode(&B0) ; BCS r
 9970TST F,#%1
 9980BEQ branch_fetch
 9990FNbranch
10000;
10010.opcode(&B1) ; LDA (n),Y
10020FNgetpost(0,1)
10030FNlda(0,2,5)
10040;
10050.opcode(&B2) ; LDA (n)
10060FNgetzeroindir(0,1)
10070FNlda(0,2,5)
10080;
10090.opcode(&B3) ; ?
10100FNundoc(&B3)
10110FNfetch(1,2)
10120;
10130.opcode(&B4) ; LDY n,X
10140FNgetzeroindex(0,1)
10150FNldy(0,2,4)
10160;
10170.opcode(&B5) ; LDA n,X
10180FNgetzeroindex(0,1)
10190FNlda(0,2,4)
10200;
10210.opcode(&B6) ; LDX n,Y
10220FNgetzeroindexY(0,1)
10230FNldx(0,2,4)
10240;
10250.opcode(&B7) ; ?
10260FNundoc(&B7)
10270FNfetch(1,2)
10280;
10290.opcode(&B8) ; CLV
10300BIC F,F,#%1000000
10310FNfetch(1,2)
10320;
10330.opcode(&B9) ; LDA nn,Y
10340FNgetabsindex(0,1,Y)
10350FNlda(0,3,4)
10360;
10370.opcode(&BA) ; TSX
10380ANDS X,SP,#&FF000000
10390FNsetupNZ
10400FNfetch(1,2)
10410;
10420.opcode(&BB) ; ?
10430FNundoc(&BB)
10440FNfetch(1,2)
10450;
10460.opcode(&BC) ; LDY nn,X
10470FNgetabsindex(0,1,X)
10480FNldy(0,3,4)
10490;
10500.opcode(&BD) ; LDA nn,X
10510FNgetabsindex(0,1,X)
10520FNlda(0,3,4)
10530;
10540.opcode(&BE) ; LDX nn,Y
10550FNgetabsindex(0,1,Y)
10560FNldx(0,3,4)
10570;
10580.opcode(&BF) ; ?
10590FNundoc(&BF)
10600FNfetch(1,2)
10610;
10620.opcode(&C0) ; CPY #N
10630FNgetbyte1(0)
10640FNcpy(0,2,2)
10650;
10660.opcode(&C1) ; CMP (n,X)
10670FNgetpre(0,1)
10680FNcmp(0,2,6)
10690;
10700.opcode(&C2) ; ?
10710FNundoc(&C2)
10720FNfetch(1,2)
10730;
10740.opcode(&C3) ; ?
10750FNundoc(&C3)
10760FNfetch(1,2)
10770;
10780.opcode(&C4) ; CPY n
10790FNgetzero(0,1)
10800FNcpy(0,2,3)
10810;
10820.opcode(&C5) ; CMP n
10830FNgetzero(0,1)
10840FNcmp(0,2,3)
10850;
10860.opcode(&C6) ; DEC n
10870FNgetzero(0,1)
10880FNdec(0)
10890STRB R0,[mem,R1] ; zero page STRB
10900FNfetch(2,5)
10910;
10920.opcode(&C7) ; ?
10930FNundoc(&C7)
10940FNfetch(1,2)
10950;
10960.opcode(&C8) ; INY
10970FNinc(Y)
10980FNfetch(1,2)
10990;
11000.opcode(&C9) ; CMP #N
11010FNgetbyte1(0)
11020FNcmp(0,2,2)
11030;
11040.opcode(&CA) ; DEX
11050FNdec(X)
11060FNfetch(1,2)
11070;
11080.opcode(&CB) ; ?
11090FNundoc(&CB)
11100FNfetch(1,2)
11110;
11120.opcode(&CC) ; CPY nn
11130FNgetabs(0,1)
11140FNcpy(0,3,4)
11150;
11160.opcode(&CD) ; CMP nn
11170FNgetabs(0,1)
11180FNcmp(0,3,4)
11190;
11200.opcode(&CE) ; DEC nn
11210FNgetabs(0,1)
11220FNdec(0)
11230FNstrb(0,1)
11240FNfetch(3,6)
11250;
11260.opcode(&CF) ; ?
11270FNundoc(&CF)
11280FNfetch(1,2)
11290;
11300.opcode(&D0) ; BNE r
11310TST F,#%10
11320BNE branch_fetch
11330FNbranch
11340;
11350.opcode(&D1) ; CMP (n),Y
11360FNgetpost(0,1)
11370FNcmp(0,2,5)
11380;
11390.opcode(&D2) ; CMP (n)
11400FNgetzeroindir(0,1)
11410FNcmp(0,2,5)
11420;
11430.opcode(&D3) ; ?
11440FNundoc(&D3)
11450FNfetch(1,2)
11460;
11470.opcode(&D4) ; ?
11480FNundoc(&D4)
11490FNfetch(1,2)
11500;
11510.opcode(&D5) ; CMP n,X
11520FNgetzeroindex(0,1)
11530FNcmp(0,2,4)
11540;
11550.opcode(&D6) ; DEC n,X
11560FNgetzeroindex(0,1)
11570FNdec(0)
11580STRB R0,[mem,R1,LSR#24]
11590FNfetch(2,6)
11600;
11610.opcode(&D7) ; ?
11620FNundoc(&D7)
11630FNfetch(1,2)
11640;
11650.opcode(&D8) ; CLD
11660TST F,#%1000
11670SUBNE table,table,#256*64*4
11680BICNE F,F,#%1000
11690;ADR table,opcodetable
11700FNfetch(1,2)
11710;
11720.opcode(&D9) ; CMP nn,Y
11730FNgetabsindex(0,1,Y)
11740FNcmp(0,3,4)
11750;
11760.opcode(&DA) ; PHX
11770FNpush(X)
11780FNfetch(1,3)
11790;
11800.opcode(&DB) ; ?
11810FNundoc(&DB)
11820FNfetch(1,2)
11830;
11840.opcode(&DC) ; (NOP nn,X)
11850;SWI &100+ASC"D"
11860;SWI &100+ASC"C"
11870 
11880FNfetch(3,0)
11890;
11900.opcode(&DD) ; CMP nn,X
11910FNgetabsindex(0,1,X)
11920FNcmp(0,3,4)
11930;
11940.opcode(&DE) ; DEC nn,X
11950FNgetabsindex(0,1,X)
11960FNdec(0)
11970FNstrb16(0,1)
11980FNfetch(3,7)
11990;
12000.opcode(&DF) ; ?
12010FNundoc(&DF)
12020FNfetch(1,2)
12030;
12040.opcode(&E0) ; CPX #N
12050FNgetbyte1(0)
12060FNcpx(0,2,2)
12070;
12080.opcode(&E1) ; SBC (n,X)
12090FNgetpre(0,1)
12100FNsbc(0,2,6)
12110;
12120.opcode(&E2) ; ?
12130FNundoc(&E2)
12140FNfetch(1,2)
12150;
12160.opcode(&E3) ; ?
12170FNundoc(&E3)
12180FNfetch(1,2)
12190;
12200.opcode(&E4) ; CPX n
12210FNgetzero(0,1)
12220FNcpx(0,2,3)
12230;
12240.opcode(&E5) ; SBC n
12250FNgetzero(0,1)
12260FNsbc(0,2,3)
12270;
12280.opcode(&E6) ; INC n
12290FNgetzero(0,1)
12300FNinc(0)
12310STRB R0,[mem,R1] ; zero page STRB
12320FNfetch(2,5)
12330;
12340.opcode(&E7) ; ?
12350FNundoc(&E7)
12360FNfetch(1,2)
12370;
12380.opcode(&E8) ; INX
12390FNinc(X)
12400FNfetch(1,2)
12410;
12420.opcode(&E9) ; SBC #N
12430FNgetbyte1(0)
12440FNsbc(0,2,2)
12450;
12460.opcode(&EA) ; NOP
12470 
12480FNfetch(1,2)
12490;
12500.opcode(&EB) ; ?
12510FNundoc(&EB)
12520FNfetch(1,2)
12530;
12540.opcode(&EC) ; CPX nn
12550FNgetabs(0,1)
12560FNcpx(0,3,4)
12570;
12580.opcode(&ED) ; SBC nn
12590FNgetabs(0,1)
12600FNsbc(0,3,4)
12610;
12620.opcode(&EE) ; INC nn
12630FNgetabs(0,1)
12640FNinc(0)
12650FNstrb(0,1)
12660FNfetch(3,6)
12670;
12680.opcode(&EF) ; ?
12690FNundoc(&EF)
12700FNfetch(1,2)
12710;
12720.opcode(&F0) ; BEQ r
12730TST F,#%10
12740BEQ branch_fetch
12750FNbranch
12760;
12770.opcode(&F1) ; SBC (n),Y
12780FNgetpost(0,1)
12790FNsbc(0,2,5)
12800;
12810.opcode(&F2) ; SBC (n)
12820FNgetzeroindir(0,1)
12830FNsbc(0,2,5)
12840;
12850.opcode(&F3) ; ?
12860FNundoc(&F3)
12870FNfetch(1,2)
12880;
12890.opcode(&F4) ; ?
12900FNundoc(&F4)
12910FNfetch(1,2)
12920;
12930.opcode(&F5) ; SBC n,X
12940FNgetzeroindex(0,1)
12950FNsbc(0,2,4)
12960;
12970.opcode(&F6) ; INC n,X
12980FNgetzeroindex(0,1)
12990FNinc(0)
13000STRB R0,[mem,R1,LSR#24] ; zero page STRB
13010FNfetch(2,6)
13020;
13030.opcode(&F7) ; ?
13040FNundoc(&F7)
13050FNfetch(1,2)
13060;
13070.opcode(&F8) ; SED
13080TST F,#%1000
13090ADDEQ table,table,#256*64*4
13100ORREQ F,F,#%1000
13110;ADR table,bcdtable
13120FNfetch(1,2)
13130;
13140.opcode(&F9) ; SBC nn,Y
13150FNgetabsindex(0,1,Y)
13160FNsbc(0,3,4)
13170;
13180.opcode(&FA) ; PLX
13190FNpull(X)
13200FNfetch(1,4)
13210;
13220.opcode(&FB) ; ?
13230FNundoc(&FB)
13240FNfetch(1,2)
13250;
13260.opcode(&FC) ; ?
13270FNundoc(&FC)
13280FNfetch(1,2)
13290;
13300.opcode(&FD) ; SBC nn,X
13310FNgetabsindex(0,1,X)
13320FNsbc(0,3,4)
13330;
13340.opcode(&FE) ; INC nn,X
13350FNgetabsindex(0,1,X)
13360FNinc(0)
13370FNstrb16(0,1)
13380FNfetch(3,7)
13390;
13400.opcode(&FF) ; ?
13410FNundoc(&FF)
13420FNfetch(1,2)
13430;
13440]
13450NEXT bcd_loop%
13460
13470REMFOR I%=code+0 TO code+255*4*64 STEP 4
13480REMbcd(0)!I%=opcode(0)!I%
13490REMNEXT
13500P%=bcd(0)
13510O%=P%+code
13520[OPTp
13530FNbcd(&61)
13540.bcd(&61) ; ADC (n,X)
13550FNgetpre(0,1)
13560FNadcBCD(0,2,6)
13570
13580FNbcd(&65)
13590.bcd(&65) ; ADC n
13600FNgetzero(0,1)
13610FNadcBCD(0,2,3)
13620
13630FNbcd(&69)
13640.bcd(&69) ; ADC #N
13650FNgetbyte1(0)
13660FNadcBCD(0,2,2)
13670
13680FNbcd(&6D)
13690.bcd(&6D) ; ADC nn
13700FNgetabs(0,1)
13710FNadcBCD(0,3,4)
13720
13730FNbcd(&71)
13740.bcd(&71) ; ADC (n),Y
13750FNgetpost(0,1)
13760FNadcBCD(0,2,5)
13770
13780FNbcd(&72)
13790.bcd(&72) ; ADC (n)
13800FNgetzeroindir(0,1)
13810FNadcBCD(0,2,5)
13820
13830FNbcd(&75)
13840.bcd(&75) ; ADC n,X
13850FNgetzeroindex(0,1)
13860FNadcBCD(0,2,4)
13870
13880FNbcd(&79)
13890.bcd(&79) ; ADC nn,Y
13900FNgetabsindex(0,1,Y)
13910FNadcBCD(0,3,4)
13920
13930FNbcd(&7D)
13940.bcd(&7D) ; ADC nn,X
13950FNgetabsindex(0,1,X)
13960FNadcBCD(0,3,4)
13970
13980FNbcd(&E1)
13990.bcd(&E1) ; SBC (n,X)
14000FNgetpre(0,1)
14010FNsbcBCD(0,2,6)
14020
14030FNbcd(&E5)
14040.bcd(&E5) ; SBC n
14050FNgetzero(0,1)
14060FNsbcBCD(0,2,3)
14070FNbcd(&E6)
14080
14090FNbcd(&E9)
14100.bcd(&E9) ; SBC #N
14110FNgetbyte1(0)
14120FNsbcBCD(0,2,2)
14130
14140FNbcd(&ED)
14150.bcd(&ED) ; SBC nn
14160FNgetabs(0,1)
14170FNsbcBCD(0,3,4)
14180
14190FNbcd(&F1)
14200.bcd(&F1) ; SBC (n),Y
14210FNgetpost(0,1)
14220FNsbcBCD(0,2,5)
14230
14240FNbcd(&F2)
14250.bcd(&F2) ; SBC (n)
14260FNgetzeroindir(0,1)
14270FNsbcBCD(0,2,5)
14280
14290FNbcd(&F5)
14300.bcd(&F5) ; SBC n,X
14310FNgetzeroindex(0,1)
14320FNsbcBCD(0,2,4)
14330
14340FNbcd(&F9)
14350.bcd(&F9) ; SBC nn,Y
14360FNgetabsindex(0,1,Y)
14370FNsbcBCD(0,3,4)
14380
14390FNbcd(&FD)
14400.bcd(&FD) ; SBC nn,X
14410FNgetabsindex(0,1,X)
14420FNsbcBCD(0,3,4)
14430
14440FNbcd(&100)
14450]
14460
14470=""
14480
14490DEFFNbranch
14500[OPTp
14510MOV R12,zpc,LSR#24
14520FNgetbyte1(0)
14530ADD zpc,zpc,R0,LSL#16
14540CMP R0,#&80
14550SUBGE zpc,zpc,#254 << 16
14560ADDLT zpc,zpc,#2 << 16
14570CMP R12,zpc,LSR#24
14580SUBEQ time,time,#1 ; page boundary not crossed
14590SUBNE time,time,#2 ; page boundary crossed
14600FNfetch(0,2)
14610]
14620=""
14630
14640DEFFNtrb(R)
14650[OPTp
14660TST R,A,LSR#24
14670FNsetupZ
14680BIC R,R,A,LSR#24
14690]
14700=""
14710
14720DEFFNtsb(R)
14730[OPTp
14740TST R,A,LSR#24
14750FNsetupZ
14760ORR R,R,A,LSR#24
14770]
14780=""
14790
14800DEFFNasl(R)
14810[OPTp
14820MOVS R,R,LSL#25
14830MOV R,R,LSR#24
14840FNsetupNZC
14850]
14860=""
14870
14880DEFFNlsr(R)
14890[OPTp
14900BIC F,F,#%10000011
14910MOVS R,R,LSR#1
14920ORRCS F,F,#%1
14930MOVS R2,R,LSL#24
14940ORRMI F,F,#%10000000
14950ORREQ F,F,#%10
14960]
14970=""
14980
14990DEFFNrol(R)
15000IF R=1 STOP
15010[OPTp
15020;MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
15030AND R2,F,#%1
15040BIC F,F,#%10000011
15050MOVS R,R,LSL#24
15060ORR R,R,R2,LSL#23
15070MOVS R,R,LSL#1
15080MOV R,R,LSR#24
15090FNsetupNZC
15100]
15110=""
15120
15130DEFFNror(R)
15140IF R=1 STOP
15150[OPTp
15160MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
15170BIC F,F,#%10000011
15180ORRCS F,F,#%10000000 ; N -> what C was
15190ADD R,R,R,LSL#24
15200MOVS R,R,RRX
15210ORRCS F,F,#%1
15220MOVS R,R,LSR#24
15230ORREQ F,F,#%10
15240]
15250=""
15260
15270
15280DEFFNcmp(R,F%,T%)
15290[OPTp
15300SUBS R0,A,R,LSL#24
15310FNsetupNZC
15320FNfetch(F%,T%)
15330]
15340=""
15350
15360DEFFNcpx(R,F%,T%)
15370[OPTp
15380SUBS R0,X,R,LSL#24
15390FNsetupNZC
15400FNfetch(F%,T%)
15410]
15420=""
15430
15440DEFFNcpy(R,F%,T%)
15450[OPTp
15460SUBS R0,Y,R,LSL#24
15470FNsetupNZC
15480FNfetch(F%,T%)
15490]
15500=""
15510
15520REMDEFFNadc(R,F%,T%)
15530[OPTp
15540MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
15550MVN R2,#0 ; R2=-1
15560BIC R2,R2,#&FF << 24
15570ADD R2,R2,A
15580ADCS R2,R2,R,LSL#24
15590ANDS A,R2,#&FF << 24 ; only affects Z,N!
15600FNsetupCZVN
15610FNfetch(F%,T%)
15620]
15630=""
15640
15650DEFFNadc(R,F%,T%)
15660[OPTp
15670AND R2,F,#%1
15680ADD R2,R2,R
15690ADDS A,A,R2,LSL#24
15700FNsetupCZVN
15710CMP R2,#&100 : ORREQ F,F,#%1
15720FNfetch(F%,T%)
15730]
15740=""
15750
15760DEFFNadcBCD(R,F%,T%)
15770[OPTp
15780MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
15790AND R2,A,#&0F << 24
15800AND R13,R,#&F
15810;ADDCS R2,R2,#1 << 24
15820ADC R13,R13,R2,LSR#24
15830CMP R13,#&A
15840ADDGE R13,R13,#&06
15850
15860CMP R13,#&20
15870SUBGE R13,R13,#&10
15880
15890MOV R,R,LSR#4
15900ADD R,R,A,LSR#28
15910ADD A,R13,R,LSL#4
15920CMP A,#&A0
15930ADDGE A,A,#&60
15940ANDS R2,A,#&300
15950ORRNE F,F,#%1
15960BICEQ F,F,#%1
15970MOVS A,A,LSL#24
15980FNsetupNZ ; Master elite needs N flag?
15990FNfetch3(F%,T%)
16000]
16010=""
16020
16030DEFFNsbcBCD(R,F%,T%)
16040[OPTp
16050
16060MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
16070AND R2,A,#&0F << 24
16080AND R13,R,#&F
16090RSCS R13,R13,R2,LSR#24
16100SUBCC R13,R13,#6
16110AND R13,R13,#&F
16120MOV R,R,LSR#4
16130RSCS R,R,A,LSR#28
16140SUBCC R,R,#6
16150FNsetupC
16160
16170AND R,R,#&F
16180ADD A,R13,R,LSL#4
16190MOVS A,A,LSL#24
16200FNsetupNZ
16210FNfetch3(F%,T%)
16220]
16230=""
16240
16250DEFFNsbc(R,F%,T%)
16260[OPTp
16270MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
16280SBCS A,A,R,LSL#24
16290FNsetupCZVN
16300ANDS A,A,#&FF << 24
16310BICNE F,F,#%10
16320ORREQ F,F,#%10 ; FNsetupZ
16330FNfetch(F%,T%)
16340]
16350=""
16360
16370
16380MOVS R2,F,RRX ; MOVE 6502 CARRY INTO ARM CARRY
16390MOV A,A,ASR#24
16400MOV R,R,LSL#24
16410MOV R,R,ASR#24
16420EOR R,R,#&FF << 24
16430EOR R,R,#&FF << 16
16440EOR R,R,#&FF << 8
16450EOR A,A,#&FF << 24
16460EOR A,A,#&FF << 16
16470EOR A,A,#&FF << 8
16480SBCS A,A,R
16490MOV A,A,LSL#24
16500FNsetupCZVN
16510FNfetch(F%,T%)
16520]
16530=""
16540
16550DEFFNbit(R,F%,T%)
16560[OPTp
16570AND R2,R,#%11000000
16580ANDS R,R,A,LSR#24
16590BIC F,F,#%11000010
16600ADD F,F,R2
16610ORREQ F,F,#%10
16620FNfetch(F%,T%)
16630]
16640=""
16650
16660DEFFNeor(R,F%,T%)
16670[OPTp
16680EORS A,A,R,LSL#24
16690FNsetupNZ
16700FNfetch(F%,T%)
16710]
16720=""
16730
16740DEFFNand(R,F%,T%)
16750[OPTp
16760ANDS A,A,R,LSL#24
16770FNsetupNZ
16780FNfetch(F%,T%)
16790]
16800=""
16810
16820DEFFNora(R,F%,T%)
16830[OPTp
16840ORRS A,A,R,LSL#24
16850FNsetupNZ
16860FNfetch(F%,T%)
16870]
16880=""
16890
16900DEFFNlda(R,F%,T%)
16910[OPTp
16920MOVS A,R,LSL#24
16930FNsetupNZ
16940FNfetch(F%,T%)
16950]
16960=""
16970
16980DEFFNldx(R,F%,T%)
16990[OPTp
17000MOVS X,R,LSL#24
17010FNsetupNZ
17020FNfetch(F%,T%)
17030]
17040=""
17050
17060DEFFNldy(R,F%,T%)
17070[OPTp
17080MOVS Y,R,LSL#24
17090FNsetupNZ
17100FNfetch(F%,T%)
17110]
17120=""
17130
17140DEFFNinc(R)
17150IF R=X OR R=Y OR R=A THEN
17160[OPTp
17170ADDS R,R,#1 << 24
17180]
17190ELSE
17200[OPTp
17210ADD R,R,#1
17220MOVS R2,R,LSL#24
17230]
17240ENDIF
17250[OPTp
17260FNsetupNZ
17270]
17280=""
17290
17300DEFFNdec(R)
17310IF R=X OR R=Y OR R=A THEN
17320[OPTp
17330SUBS R,R,#1 << 24
17340]
17350ELSE
17360[OPTp
17370SUB R,R,#1
17380MOVS R2,R,LSL#24
17390]
17400ENDIF
17410[OPTp
17420FNsetupNZ
17430]
17440=""
17450
17460DEFFNsetupNZ
17470[OPTp
17480BIC F,F,#%10000010
17490ORREQ F,F,#%10
17500ORRMI F,F,#%10000000
17510]
17520=""
17530
17540DEFFNsetupZ
17550[OPTp
17560BIC F,F,#%10
17570ORREQ F,F,#%10
17580]
17590=""
17600
17610DEFFNsetupC
17620[OPTp
17630BIC F,F,#%1
17640ORRCS F,F,#%1
17650]
17660=""
17670
17680DEFFNsetupNZC
17690[OPTp
17700BIC F,F,#%10000011
17710ORRCS F,F,#%1
17720ORREQ F,F,#%10
17730ORRMI F,F,#%10000000
17740]
17750=""
17760
17770DEFFNsetupCZVN
17780[OPTp
17790BIC F,F,#%11000011
17800ORRCS F,F,#%1
17810ORREQ F,F,#%10
17820ORRVS F,F,#%1000000
17830ORRMI F,F,#%10000000
17840]
17850=""
17860
17870DEFFNsetupCzVN
17880[OPTp
17890BIC F,F,#%11000011
17900ORRCS F,F,#%1
17910ORRVS F,F,#%1000000
17920ORRMI F,F,#%10000000
17930]
17940=""
17950
17960DEFFNgetpre(R,S)
17970[OPTp
17980FNpre(R,S)
17990;LDRB R,[mem,R]
18000FNldrb2(R,S)
18010]
18020=""
18030
18040DEFFNpre(R,S)
18050[OPTp
18060FNgetbyte1(R)
18070ADD R,X,R,LSL#24
18080LDRB S,[mem,R,LSR#24] ; zero page LDRB
18090ADD R,R,#1 << 24
18100LDRB R,[mem,R,LSR#24] ; zero page LDRB
18110ADD S,S,R,LSL#8
18120]
18130=""
18140
18150DEFFNgetzero(R,S)
18160[OPTp
18170FNgetbyte1(S)
18180LDRB R,[mem,S] ; zero page LDRB
18190]
18200=""
18210
18220DEFFNgetabs(R,S)
18230[OPTp
18240FNabs(R,S)
18250;LDRB R,[mem,S]
18260FNldrb2(R,S)
18270]
18280=""
18290
18300DEFFNabs(R,S)
18310[OPTp
18320FNgetbyte2(R,S)
18330ADD S,R,S,LSL#8
18340;FNstrb
18350]
18360=""
18370
18380DEFFNgetpost(R,S)
18390[OPTp
18400FNpost(R,S)
18410;LDRB R,[mem,R,LSR#16]
18420FNldrb16(R,S)
18430]
18440=""
18450
18460DEFFNpost(R,S)
18470[OPTp
18480FNgetbyte1(R)
18490MOV R,R,LSL#24
18500LDRB S,[mem,R,LSR#24] ; zero page LDRB
18510ADD R,R,#1 << 24
18520LDRB R,[mem,R,LSR#24] ; zero page LDRB
18530ADD R,S,R,LSL#8
18540MOV R,R,LSL#16
18550ADD S,R,Y,LSR#8
18560;FNstrb16
18570]
18580=""
18590
18600DEFFNgetzeroindir(R,S)
18610[OPTp
18620FNzeroindir(R,S)
18630;LDRB R,[mem,S]
18640FNldrb2(R,S)
18650]
18660=""
18670
18680DEFFNzeroindir(R,S)
18690[OPTp
18700FNgetbyte1(R)
18710MOV R,R,LSL#24
18720LDRB S,[mem,R,LSR#24] ; zero page LDRB
18730ADD R,R,#1 << 24
18740LDRB R,[mem,R,LSR#24] ; zero page LDRB
18750ADD S,S,R,LSL#8
18760]
18770=""
18780
18790DEFFNgetabsindex(R,S,T) REM T=X or Y
18800[OPTp
18810FNabsindex(R,S,T)
18820;LDRB R,[mem,S,LSR#16]
18830FNldrb16(R,S)
18840]
18850=""
18860
18870DEFFNabsindex(R,S,T) REM T=X or Y
18880[OPTp
18890FNgetbyte2(R,S)
18900ADD R,R,S,LSL#8
18910MOV R,R,LSL#16
18920ADD S,R,T,LSR#8
18930]
18940=""
18950
18960DEFFNgetzeroindex(R,S)
18970[OPTp
18980FNzeroindex(R,S)
18990LDRB R,[mem,S,LSR#24] ; zero page LDRB
19000]
19010=""
19020
19030DEFFNzeroindex(R,S)
19040[OPTp
19050FNgetbyte1(R)
19060ADD S,X,R,LSL#24
19070]
19080=""
19090
19100DEFFNgetzeroindexY(R,S)
19110[OPTp
19120FNzeroindexY(R,S)
19130LDRB R,[mem,S,LSR#24] ; zero page LDRB
19140]
19150=""
19160
19170DEFFNzeroindexY(R,S)
19180[OPTp
19190FNgetbyte1(R)
19200ADD S,Y,R,LSL#24
19210]
19220=""
19230
19240DEFFNgetbyte1(R)
19250[OPTp
19260ADD R,zpc,#1 << 16
19270LDRB R,[mem,R,LSR#16] ; instuction fetch
19280]
19290=""
19300
19310DEFFNgetbyte2(R,S)
19320[OPTp
19330ADD S,mem,zpc,LSR#16
19340LDRB R,[S,#1]
19350LDRB S,[S,#2] ; instuction fetches
19360]
19370=""
19380
19390DEFFNpull(R)
19400CASE R OF
19410WHEN F
19420[OPTp
19430ADD SP,SP,#1 << 24
19440LDRB R1,[mem,SP,ROR#24]
19450BIC F,F,#&FF
19460ORR F,F,R1
19470BL reset_bcdflag
19480]
19490WHEN A,X,Y
19500[OPTp
19510ADD SP,SP,#1 << 24
19520LDRB R0,[mem,SP,ROR#24]
19530MOVS R,R0,LSL#24
19540FNsetupNZ
19550]
19560OTHERWISE
19570[OPTp
19580ADD SP,SP,#1 << 24
19590LDRB R0,[mem,SP,ROR#24]
19600MOV R,R0,LSL#24
19610]
19620ENDCASE
19630=""
19640
19650DEFFNpush(R)
19660IF R=F OR R=0 OR R=1 THEN
19670[OPTp
19680STRB R,[mem,SP,ROR#24]
19690SUB SP,SP,#1 << 24
19700]
19710ELSE
19720[OPTp
19730MOV R0,R,LSR#24
19740STRB R0,[mem,SP,ROR#24]
19750SUB SP,SP,#1 << 24
19760]
19770ENDIF
19780=""
19790

� > Opcodes


ݤopcodes
(
2� bcd_loop%=0 � 1
<
opcode%=0
F9� bcd_loop%=0 � [OPTp:.opcode(&0):] � [OPTp:.bcd(0):]
P
Z	[OPTp
d
n;.opcode(&0) ; BRK
xADD zpc,zpc,#2 << 16
�MOV R0,zpc,LSR#24
��push(0)
�MOV R0,zpc,LSR#16
��push(0)
�!�R F,F,#%10000 ; set BRK flag
��push(F)
��R F,F,#%00100 ; set I flag
�8BIC F,F,#%10000 ; clear BRK flag..... seems to work!
�!MOV R0,#&10000 : SUB R0,R0,#2
�LDRB zpc,[mem,R0]
�ADD R0,R0,#1
�LDRB R0,[mem,R0]
�ADD zpc,zpc,R0,LSL#8
MOV zpc,zpc,LSL#16
�fetch(0,7)
;
".opcode(&1) ; �A (n,X)
,�getpre(0,1)
6�ora(0,2,6)
@;
J.opcode(&2) ; ?
T;�print(zpc)
^;MOV R0,#66
h;B raw_exit
r�undoc(&2)
|�fetch(1,2)
�;
�.opcode(&3) ; ?
�&;ADDS R0,zpc,#(&10000-&FFF4) << 16
�;CMPEQ A,#&81 << 24
�ADD R0,zpc,#1 << 16
�LDRB R0,[mem,R0,LSR#16]
�
CMP R0,#3
�BEQ osbput
�
CMP R0,#4
�BEQ osbget
�
MOV R0,#3
�B raw_exit
��fetch(1,2)
;
.opcode(&4) ; TSB n
�getzero(0,1)
&�tsb(0)
0%STRB R0,[mem,R1] ; zero page STRB
:�fetch(2,5)
D;
N.opcode(&5) ; �A n
X�getzero(0,1)
b�ora(0,2,3)
l;
v.opcode(&6) ; ASL n
��getzero(0,1)
��asl(0)
�%STRB R0,[mem,R1] ; zero page STRB
��fetch(2,5)
�;
�'.opcode(&7) ; (SLO n - ASL n, �A n)
�CMP zpc,#&8000 << 16
�;BHS opcode7
�MOVHS R0,#7
�BHS raw_exit
��getzero(0,1)
��asl(0)
��RS A,A,R0,LSL#24 ; �A zp
STRB R0,[mem,R1]
�fetch(2,0)
;
 .opcode(&8) ; PHP
*�push(F)
4�fetch(1,3)
>;
H.opcode(&9) ; �A #N
R�getbyte1(0)
\�ora(0,2,2)
f;
p.opcode(&A) ; ASL A
zMOVS A,A,LSL#1
�
�setupNZC
��fetch(1,2)
�;
�/.opcode(&B) ; ANC (undocumented - Repton 2)
�            ; � #N, ASL A
��getbyte1(0)
�� R0,A,R0,LSL#24
�MOVS A,A,LSL#1
�
�setupNZC
��fetch(2,2)
�;
�.opcode(&C) ; TSB nn
��getabs(0,1)
�tsb(0)
�strb(0,1)
�fetch(3,6)
$;
..opcode(&D) ; �A nn
8�getabs(0,1)
B�ora(0,3,4)
L;
V.opcode(&E) ; ASL nn
`�getabs(0,1)
j�asl(0)
t�strb(0,1)
~�fetch(3,6)
�;
�.opcode(&F) ; ?
��undoc(&F)
��fetch(1,2)
�;
�.opcode(&10) ; BPL r
�TST F,#%10000000
�BNE branch_fetch
��branch
�;
�.opcode(&11) ; �A (n),Y
��getpost(0,1)
�ora(0,2,5)

;
.opcode(&12) ; �A (n)
�getzeroindir(0,1)
(�ora(0,2,5)
2;
<.opcode(&13) ; OSBYTE
F�undoc(&13)
P�fetch(1,2)
Z;
d; ;�print(A)
n; ;SWI &100+�"O"
x; CMP A,#19 << 24
�; BEQ opcode(&60)
�; CMP A,#&81 << 24
�; BEQ osbyte81
�; CMP A,#&7A << 24
�; BEQ generic_osbyte
�; CMP A,#&79 << 24
�; BEQ generic_osbyte
�; CMP A,#&80 << 24
�; BEQ osbyte80
�; MOV R0,#&200
�; ADD R0,R0,#&A
�; LDR zpc,[mem,R0]
�; MOV zpc,zpc,LSL#16
; �fetch(0,0)
; .osbyte81
; ;MOVS R0,X,LSR#24
"; ;BEQ skip55
,; ;�print2(0)
6; ;SWI "OS_ReadC"
@; ;.skip55
J; CMP Y,#&80 << 24
T
; BHS os2
^; CMP X,#&20 << 24
h; SWIHI "6502_UpdateScreen"
r
; .os2
|; MOV R0,A,LSR#24
�; MOV R1,X,LSR#24
�; MOV R2,Y,LSR#24
�; SWI "OS_Byte"
�; CMP Y,#&FF << 24
�
; BNE os3
�; BIC F,F,#%1
�; CMP R2,#&FF
�; �REQ F,F,#1
�
; .os3
�; CMP Y,#&80 << 16
�
; BHS os4
�; CMP R2,#0 ; key detected
�; CMPEQ R1,#�"'"
; �Q R1,#�":
; CMP R2,#&FF
; �Q R1,#0
&; CMP R1,#&1B
0; �Q R2,R1
:; �REQ F,F,#%1
D
; .os4
N; MOV A,R0,LSL#24
X; MOV X,R1,LSL#24
b; MOV Y,R2,LSL#24
l; �Q R0,#&FF
v; LDREQB R1,[mem,R0]
�; �R R1,R1,#&80
�; STREQB R1,[mem,R0]
�; B opcode(&60)
�; .generic_osbyte
�; MOV R0,A,LSR#24
�; MOV R1,X,LSR#24
�; MOV R2,Y,LSR#24
�; SWI "OS_Byte"
�; MOV A,R0,LSL#24
�; MOV X,R1,LSL#24
�; MOV Y,R2,LSL#24
�; B opcode(&60)
�; .osbyte80
; MOV X,#0
; B opcode(&60)

 ;
*.opcode(&14) ; TRB n
4�getzero(0,1)
>�trb(0)
H%STRB R0,[mem,R1] ; zero page STRB
R�fetch(2,5)
\;
f.opcode(&15) ; �A n,X
p�getzeroindex(0,1)
z�ora(0,2,4)
�;
�.opcode(&16) ; ASL n,X
��getzeroindex(0,1)
��asl(0)
�,STRB R0,[mem,R1,LSR#24] ; zero page STRB
��fetch(2,6)
�;
�.opcode(&17) ; ?
��undoc(&17)
��fetch(1,2)
�;
�.opcode(&18) ; CLC
�BIC F,F,#%1
	�fetch(1,2)
	;
	.opcode(&19) ; �A nn,Y
	$�getabsindex(0,1,Y)
	.�ora(0,3,4)
	8;
	B.opcode(&1A) ; INA
	L�inc(A)
	V�fetch(1,2)
	`;
	j.opcode(&1B) ; ?
	t�undoc(&1B)
	~�fetch(1,2)
	�;
	�.opcode(&1C) ; TRB nn
	��getabs(0,1)
	��trb(0)
	��strb(0,1)
	��fetch(3,6)
	�;
	�.opcode(&1D) ; �A nn,X
	��getabsindex(0,1,X)
	��ora(0,3,4)
	�;
	�.opcode(&1E) ; ASL nn,X
�getabsindex(0,1,X)

�asl(0)
�strb16(0,1)
�fetch(3,7)
(;
2.opcode(&1F) ; ?
<�undoc(&1F)
F�fetch(1,2)
P;
Z.opcode(&20) ; JSR nn
d�getabs(0,1)
nADD zpc,zpc,#2 << 16
xMOV R0,zpc,LSR#24
��push(0)
�MOV R0,zpc,LSR#16
��push(0)
�MOV zpc,R1,LSL#16
��fetch(0,6)
�;
�.opcode(&21) ; � (n,X)
��getpre(0,1)
��and(0,2,6)
�;
�.opcode(&22) ; ?
��undoc(&22)
��fetch(1,2)
;
.opcode(&23) ; ?
;MOV R0,#255
";STRB R0,[mem,#lastmode]
,BL updatescreen
6;BL force_update_pal
@;SWI "6502_UpdateScreen"
J+MOV R0,#229 : MOV R1,#0 : SWI "OS_Byte"
TSWI "OS_ReadC"
^MOV A,R0,LSL#24
hCMP R0,#&1B : �REQ F,F,#%1
rLDREQB R0,[mem,#&FF]
|�REQ R0,R0,#&80
�STREQB R0,[mem,#&FF]
�+MOV R0,#229 : MOV R1,#1 : SWI "OS_Byte"
�B opcode(&60)
��fetch(1,2)
�;
�.opcode(&24) ; BIT n
��getzero(0,1)
��bit(0,2,3)
�;
�.opcode(&25) ; � n
��getzero(0,1)
��and(0,2,3)
�;
.opcode(&26) ; ROL n
�getzero(0,1)
�rol(0)
&%STRB R0,[mem,R1] ; zero page STRB
0�fetch(2,5)
:;
D.opcode(&27) ; ?
N�undoc(&27)
X�fetch(1,2)
b;
l.opcode(&28) ; PLP
v�pull(F)
��fetch(1,4)
�;
�.opcode(&29) ; � #N
��getbyte1(0)
��and(0,2,2)
�;
�.opcode(&2A) ; ROL A
�MOV R0,A,LSR#24
��rol(0)
�MOV A,R0,LSL#24
��fetch(1,2)
�;
�.opcode(&2B) ; ?

�undoc(&2B)

�fetch(1,2)

;

 .opcode(&2C) ; BIT nn

*�getabs(0,1)

4�bit(0,3,4)

>;

H.opcode(&2D) ; � nn

R�getabs(0,1)

\�and(0,3,4)

f;

p.opcode(&2E) ; ROL nn

z�getabs(0,1)

��rol(0)

��strb(0,1)

��fetch(3,6)

�;

�.opcode(&2F) ; ?

��undoc(&2F)

��fetch(1,2)

�;

�.opcode(&30) ; BMI r

�TST F,#%10000000

�BEQ branch_fetch

��branch

�;
.opcode(&31) ; � (n),Y
�getpost(0,1)
�and(0,2,5)
$;
..opcode(&32) ; � (n)
8�getzeroindir(0,1)
B�and(0,2,5)
L;
V.opcode(&33) ; ?
`�undoc(&33)
j�fetch(1,2)
t;
~.opcode(&34) ; BIT n,X
��getzeroindex(0,1)
��bit(0,2,4)
�;
�.opcode(&35) ; � n,X
��getzeroindex(0,1)
��and(0,2,4)
�;
�.opcode(&36) ; ROL n,X
��getzeroindex(0,1)
��rol(0)
�STRB R0,[mem,R1,LSR#24]
��fetch(2,6)
;

.opcode(&37) ; ?
�undoc(&37)
�fetch(1,2)
(;
2.opcode(&38) ; SEC
<�R F,F,#%1
F�fetch(1,2)
P;
Z.opcode(&39) ; � nn,Y
d�getabsindex(0,1,Y)
n�and(0,3,4)
x;
�.opcode(&3A) ; DEA
��dec(A)
��fetch(1,2)
�;
�.opcode(&3B) ; ?
��undoc(&3B)
��fetch(1,2)
�;
�.opcode(&3C) ; BIT nn,X
��getabsindex(0,1,X)
��bit(0,3,4)
�;
�.opcode(&3D) ; � nn,X
�getabsindex(0,1,X)
�and(0,3,4)
;
".opcode(&3E) ; ROL nn,X
,�getabsindex(0,1,X)
6�rol(0)
@�strb16(0,1)
J�fetch(3,7)
T;
^.opcode(&3F) ; ?
h�undoc(&3F)
r�fetch(1,2)
|;
�.opcode(&40) ; RTI
��pull(F)
��pull(1)
��pull(zpc)
�ADD zpc,zpc,R1,LSR#8
�BL interrupt
�
�(�fetch(0,6) ; yes, that should be 0!
�;
�.opcode(&41) ; � (n,X)
��getpre(0,1)
��eor(0,2,6)
�;
.opcode(&42) ; ?
�undoc(&42)
�fetch(1,2)
&;
0.opcode(&43) ; ?
:�undoc(&43)
D�fetch(1,2)
N;
X.opcode(&44) ; ?
b�undoc(&44)
l�fetch(1,2)
v;
�.opcode(&45) ; � n
��getzero(0,1)
��eor(0,2,3)
�;
�.opcode(&46) ; LSR n
��getzero(0,1)
��lsr(0)
�STRB R0,[mem,R1]
��fetch(2,5)
�;
�.opcode(&47) ; ?
��undoc(&47)
��fetch(1,2)
;
.opcode(&48) ; PHA
�push(A)
 �fetch(1,3)
*;
4.opcode(&49) ; � #N
>�getbyte1(0)
H�eor(0,2,2)
R;
\.opcode(&4A) ; LSR A
fMOVS A,A,LSR#25
pMOV A,A,LSL#24
z
�setupNZC
��fetch(1,2)
�;
�).opcode(&4B) ; (ASR #N - � #N, LSR A)
��getbyte1(0)      ;
��S A,A,R0,LSL#24 ;
�;�setupNZ         ; �and
�
�MOVS A,A,LSR#25    ;
��setupC           ;
�MOVS A,A,LSL#24    ;
��setupNZ          ; LSR A
��fetch(2,0)
�
;SWI &100+�"4"
;SWI &100+�"B"
;�fetch(1,2)
$;
..opcode(&4C) ; JMP nn
8�getabs(0,1)
BMOV zpc,R1,LSL#16
L�fetch(0,3)
V;
`.opcode(&4D) ; � nn
j�getabs(0,1)
t�eor(0,3,4)
~;
�.opcode(&4E) ; LSR nn
��getabs(0,1)
��lsr(0)
��strb(0,1)
��fetch(3,6)
�;
�.opcode(&4F) ; ?
��undoc(&4F)
��fetch(1,2)
�;
�.opcode(&50) ; BVC r
�TST F,#%1000000
BNE branch_fetch

�branch
;
.opcode(&51) ; � (n),Y
(�getpost(0,1)
2�eor(0,2,5)
<;
F.opcode(&52) ; � (n)
P�getzeroindir(0,1)
Z�eor(0,2,5)
d;
n.opcode(&53) ; ?
x�undoc(&53)
��fetch(1,2)
�;
�.opcode(&54) ; ?
��undoc(&54)
��fetch(1,2)
�;
�.opcode(&55) ; � n,X
��getzeroindex(0,1)
��eor(0,2,4)
�;
�.opcode(&56) ; LSR n,X
��getzeroindex(0,1)
��lsr(0)
,STRB R0,[mem,R1,LSR#24] ; zero page STRB
�fetch(2,6)
;
".opcode(&57) ; ?
,�undoc(&57)
6�fetch(1,2)
@;
J.opcode(&58) ; CLI
T
;B CLI
^BIC F,F,#%100
hADD zpc,zpc,#1 << 16
r;LDRB R0,keychk
|;CMP R0,#0
�;BLEQ keyboard
�BL keyboard
�BL interrupt
��fetch(0,2)
�;
�.opcode(&59) ; � nn,Y
��getabsindex(0,1,Y)
��eor(0,3,4)
�;
�.opcode(&5A) ; PHY
��push(Y)
��fetch(1,3)
�;
.opcode(&5B) ; ?
�undoc(&5B)
�fetch(1,2)
&;
0.opcode(&5C) ; ?
:�undoc(&5C)
D�fetch(1,2)
N;
X.opcode(&5D) ; � nn,X
b�getabsindex(0,1,X)
l�eor(0,3,4)
v;
�.opcode(&5E) ; LSR nn,X
��getabsindex(0,1,X)
��lsr(0)
��strb16(0,1)
��fetch(3,7)
�;
�.opcode(&5F) ; ?
��undoc(&5F)
��fetch(1,2)
�;
�.opcode(&60) ; RTS
��pull(1)
��pull(zpc)
ADD zpc,zpc,R1,LSR#8
(�fetch(1,6) ; yes, that should be 1!
;
 .opcode(&61) ; ADC (n,X)
*�getpre(0,1)
4�adc(0,2,6)
>;
H.opcode(&62) ; ?
R�undoc(&62)
\�fetch(1,2)
f;
p.opcode(&63) ; ?
z�undoc(&63)
��fetch(1,2)
�;
�.opcode(&64) ; STZ n
��getbyte1(0)
�
MOV R1,#0
�%STRB R1,[mem,R0] ; zero page STRB
��fetch(2,3)
�;
�.opcode(&65) ; ADC n
��getzero(0,1)
��adc(0,2,3)
�;
�.opcode(&66) ; ROR n
�getzero(0,1)
�ror(0)
%STRB R0,[mem,R1] ; zero page STRB
$�fetch(2,5)
.;
8.opcode(&67) ; ?
B�undoc(&67)
L�fetch(1,2)
V;
`.opcode(&68) ; PLA
j�pull(A)
t�fetch(1,4)
~;
�.opcode(&69) ; ADC #N
��getbyte1(0)
��adc(0,2,2)
�;
�.opcode(&6A) ; ROR A
�MOV R0,A,LSR#24
��ror(0)
�MOV A,R0,LSL#24
��fetch(1,2)
�;
�.opcode(&6B) ; ?
��undoc(&6B)
�fetch(1,2)

;
.opcode(&6C) ; JMP (nn)
�getabs(0,1)
(ADD R1,R1,#1
2]
<
F� JMP (&xxFF) bug
P� �master � electron% �
Z	[OPTp
dTST R1,#&FF
nSUBEQ R1,R1,#&100
x�Q R1,R1,LSL#16
��Q R1,R1,LSR#16
�]
��
�
�	[OPTp
�LDRB R1,[mem,R1]
�ADD R0,R0,R1,LSL#8
�MOV zpc,R0,LSL#16
��fetch(0,5)
�;
�.opcode(&6D) ; ADC nn
��getabs(0,1)
��adc(0,3,4)
�;
.opcode(&6E) ; ROR nn
�getabs(0,1)
�ror(0)
"�strb(0,1)
,�fetch(3,6)
6;
@.opcode(&6F) ; ?
J�undoc(&6F)
T�fetch(1,2)
^;
h.opcode(&70) ; BVS r
rTST F,#%1000000
|BEQ branch_fetch
��branch
�;
�.opcode(&71) ; ADC (n),Y
��getpost(0,1)
��adc(0,2,5)
�;
�.opcode(&72) ; ADC (n)
��getzeroindir(0,1)
��adc(0,2,5)
�;
�.opcode(&73) ; ?
��undoc(&73)
��fetch(1,2)
;
.opcode(&74) ; STZ n,X
�zeroindex(0,1)
&
MOV R0,#0
0STRB R0,[mem,R1,LSR#24]
:�fetch(2,4)
D;
N.opcode(&75) ; ADC n,X
X�getzeroindex(0,1)
b�adc(0,2,4)
l;
v.opcode(&76) ; ROR n,X
��getzeroindex(0,1)
��ror(0)
�,STRB R0,[mem,R1,LSR#24] ; zero page STRB
��fetch(2,6)
�;
�.opcode(&77) ; ?
��undoc(&77)
��fetch(1,2)
�;
�.opcode(&78) ; SEI
��R F,F,#%100
��fetch(1,2)
�;
.opcode(&79) ; ADC nn,Y
�getabsindex(0,1,Y)
�adc(0,3,4)
 ;
*.opcode(&7A) ; PLY
4�pull(Y)
>�fetch(1,4)
H;
R.opcode(&7B) ; ?
\�undoc(&7B)
f�fetch(1,2)
p;
z.opcode(&7C) ; JMP (nn,X)
�
�abs(0,1)
�MOV R0,R1,LSL#16
�ADD R0,R0,X,LSR#8
�LDRB R1,[mem,R0,LSR#16]
�ADD R0,R0,#1 << 16
�LDRB R0,[mem,R0,LSR#16]
�ADD R0,R1,R0,LSL#8
�MOV zpc,R0,LSL#16
��fetch(0,6)
�;
�.opcode(&7D) ; ADC nn,X
��getabsindex(0,1,X)
��adc(0,3,4)
;
.opcode(&7E) ; ROR nn,X
�getabsindex(0,1,X)
$�ror(0)
.�strb16(0,1)
8�fetch(3,7)
B;
L.opcode(&7F) ; ?
V�undoc(&7F)
`�fetch(1,2)
j;
t.opcode(&80) ; BRA r
~�branch
�;
�.opcode(&81) ; STA (n,X)
�
�pre(0,1)
�MOV R0,A,LSR#24
��strb(0,1)
��fetch(2,6)
�;
�.opcode(&82) ; ?
��undoc(&82)
��fetch(1,2)
�;
�.opcode(&83) ; ?
�undoc(&83)

�fetch(1,2)
;
.opcode(&84) ; STY n
(�getbyte1(1)
2MOV R0,Y,LSR#24
<%STRB R0,[mem,R1] ; zero page STRB
F�fetch(2,3)
P;
Z.opcode(&85) ; STA n
d�getbyte1(1)
nMOV R0,A,LSR#24
x%STRB R0,[mem,R1] ; zero page STRB
��fetch(2,3)
�;
�.opcode(&86) ; STX n
��getbyte1(1)
�MOV R0,X,LSR#24
�%STRB R0,[mem,R1] ; zero page STRB
��fetch(2,3)
�;
�7.opcode(&87) ; (SAX n - store (A � X) in zero page)
��getbyte1(1)
�
�S R0,X,A
��setupNZ
�MOV R0,R0,LSR#24
%STRB R0,[mem,R1] ; zero page STRB
�fetch(2,0)
;SWI &100+�"8"
";SWI &100+�"7"
,;�fetch(1,2)
6;
@.opcode(&88) ; DEY
J�dec(Y)
T�fetch(1,2)
^;
h.opcode(&89) ; BIT #N
r�getbyte1(0)
|TST R0,A,LSR#24
�6BIC F,F,#%10 ; N and V unchanged in immediate mode
��REQ F,F,#%10
�.branch_fetch
��fetch(2,2)
�;
�.opcode(&8A) ; TXA
�MOVS A,X
��setupNZ
��fetch(1,2)
�;
�.opcode(&8B) ; ?
��undoc(&8B)
��fetch(1,2)
 ;
 .opcode(&8C) ; STY nn
 
�abs(0,1)
 &MOV R0,Y,LSR#24
 0�strb(0,1)
 :�fetch(3,4)
 D;
 N.opcode(&8D) ; STA nn
 X
�abs(0,1)
 bMOV R0,A,LSR#24
 l�strb(0,1)
 v�fetch(3,4)
 �;
 �.opcode(&8E) ; STX nn
 �
�abs(0,1)
 �MOV R0,X,LSR#24
 ��strb(0,1)
 ��fetch(3,4)
 �;
 �.opcode(&8F) ; ?
 ��undoc(&8F)
 ��fetch(1,2)
 �;
 �.opcode(&90) ; BCC r
 �
TST F,#%1
!BNE branch_fetch
!�branch
!;
! .opcode(&91) ; STA (n),Y
!*�post(0,1)
!4MOV R0,A,LSR#24
!>�strb16(0,1)
!H�fetch(2,6)
!R;
!\.opcode(&92) ; STA (n)
!f�zeroindir(0,1)
!pMOV R0,A,LSR#24
!z�strb(0,1)
!��fetch(2,5)
!�;
!�.opcode(&93) ; ?
!��undoc(&93)
!��fetch(1,2)
!�;
!�.opcode(&94) ; STY n,X
!��getzeroindex(0,1)
!�MOV R0,Y,LSR#24
!�,STRB R0,[mem,R1,LSR#24] ; zero page STRB
!��fetch(2,4)
!�;
!�.opcode(&95) ; STA n,X
"�zeroindex(0,1)
"MOV R0,A,LSR#24
",STRB R0,[mem,R1,LSR#24] ; zero page STRB
"$�fetch(2,4)
".;
"8.opcode(&96) ; STX n,Y
"B�zeroindexY(0,1)
"LMOV R0,X,LSR#24
"V,STRB R0,[mem,R1,LSR#24] ; zero page STRB
"` 
"j�fetch(2,4)
"t;
"~.opcode(&97) ; ?
"��undoc(&97)
"��fetch(1,2)
"�;
"�.opcode(&98) ; TYA
"�MOVS A,Y
"��setupNZ
"��fetch(1,2)
"�;
"�.opcode(&99) ; STA nn,Y
"��absindex(0,1,Y)
"�MOV R0,A,LSR#24
"��strb16(0,1)
#�fetch(3,5)
#
;
#.opcode(&9A) ; TXS
#"MOVS SP,X ; flags not affected
#(�R SP,SP,#1
#2�setupNZ
#<�fetch(1,2)
#F;
#P.opcode(&9B) ; ?
#Z�undoc(&9B)
#d�fetch(1,2)
#n;
#x.opcode(&9C) ; STZ nn
#�
�abs(0,1)
#�
MOV R0,#0
#��strb(0,1)
#��fetch(3,4)
#�;
#�.opcode(&9D) ; STA nn,X
#��absindex(0,1,X)
#�MOV R0,A,LSR#24
#��strb16(0,1)
#��fetch(3,5)
#�;
#�.opcode(&9E) ; STZ nn,X
#��absindex(0,1,X)
$
MOV R0,#0
$�strb16(0,1)
$�fetch(3,5)
$";
$,.opcode(&9F) ; ?
$6�undoc(&9F)
$@�fetch(1,2)
$J;
$T.opcode(&A0) ; LDY #N
$^�getbyte1(0)
$h�ldy(0,2,2)
$r;
$|.opcode(&A1) ; LDA  (n,X)
$��getpre(0,1)
$��lda(0,2,6)
$�;
$�.opcode(&A2) ; LDX #N
$��getbyte1(0)
$��ldx(0,2,2)
$�;
$�.opcode(&A3) ; ?
$��undoc(&A3)
$��fetch(1,2)
$�;
$�.opcode(&A4) ; LDY n
$��getzero(0,1)
%�ldy(0,2,3)
%;
%.opcode(&A5) ; LDA n
%&�getzero(0,1)
%0�lda(0,2,3)
%:;
%D.opcode(&A6) ; LDX n
%N�getzero(0,1)
%X�ldx(0,2,3)
%b;
%l.opcode(&A7) ; ?
%v�undoc(&A7)
%��fetch(1,2)
%�;
%�.opcode(&A8) ; TAY
%�MOVS Y,A
%��setupNZ
%��fetch(1,2)
%�;
%�.opcode(&A9) ; LDA #N
%��getbyte1(0)
%��lda(0,2,2)
%�;
%�.opcode(&AA) ; TAX
%�MOVS X,A
&�setupNZ
&�fetch(1,2)
&;
& .opcode(&AB) ; ?
&*�undoc(&AB)
&4�fetch(1,2)
&>;
&H.opcode(&AC) ; LDY nn
&R�getabs(0,1)
&\�ldy(0,3,4)
&f;
&p.opcode(&AD) ; LDA nn
&z�getabs(0,1)
&��lda(0,3,4)
&�;
&�.opcode(&AE) ; LDX nn
&��getabs(0,1)
&��ldx(0,3,4)
&�;
&�.opcode(&AF) ; ?
&��undoc(&AF)
&��fetch(1,2)
&�;
&�.opcode(&B0) ; BCS r
&�
TST F,#%1
&�BEQ branch_fetch
'�branch
';
'.opcode(&B1) ; LDA (n),Y
'$�getpost(0,1)
'.�lda(0,2,5)
'8;
'B.opcode(&B2) ; LDA (n)
'L�getzeroindir(0,1)
'V�lda(0,2,5)
'`;
'j.opcode(&B3) ; ?
't�undoc(&B3)
'~�fetch(1,2)
'�;
'�.opcode(&B4) ; LDY n,X
'��getzeroindex(0,1)
'��ldy(0,2,4)
'�;
'�.opcode(&B5) ; LDA n,X
'��getzeroindex(0,1)
'��lda(0,2,4)
'�;
'�.opcode(&B6) ; LDX n,Y
'��getzeroindexY(0,1)
'��ldx(0,2,4)
(;
(
.opcode(&B7) ; ?
(�undoc(&B7)
(�fetch(1,2)
((;
(2.opcode(&B8) ; CLV
(<BIC F,F,#%1000000
(F�fetch(1,2)
(P;
(Z.opcode(&B9) ; LDA nn,Y
(d�getabsindex(0,1,Y)
(n�lda(0,3,4)
(x;
(�.opcode(&BA) ; TSX
(��S X,SP,#&FF000000
(��setupNZ
(��fetch(1,2)
(�;
(�.opcode(&BB) ; ?
(��undoc(&BB)
(��fetch(1,2)
(�;
(�.opcode(&BC) ; LDY nn,X
(��getabsindex(0,1,X)
(��ldy(0,3,4)
(�;
).opcode(&BD) ; LDA nn,X
)�getabsindex(0,1,X)
)�lda(0,3,4)
)";
),.opcode(&BE) ; LDX nn,Y
)6�getabsindex(0,1,Y)
)@�ldx(0,3,4)
)J;
)T.opcode(&BF) ; ?
)^�undoc(&BF)
)h�fetch(1,2)
)r;
)|.opcode(&C0) ; CPY #N
)��getbyte1(0)
)��cpy(0,2,2)
)�;
)�.opcode(&C1) ; CMP (n,X)
)��getpre(0,1)
)��cmp(0,2,6)
)�;
)�.opcode(&C2) ; ?
)��undoc(&C2)
)��fetch(1,2)
)�;
)�.opcode(&C3) ; ?
)��undoc(&C3)
*�fetch(1,2)
*;
*.opcode(&C4) ; CPY n
*&�getzero(0,1)
*0�cpy(0,2,3)
*:;
*D.opcode(&C5) ; CMP n
*N�getzero(0,1)
*X�cmp(0,2,3)
*b;
*l.opcode(&C6) ; DEC n
*v�getzero(0,1)
*��dec(0)
*�%STRB R0,[mem,R1] ; zero page STRB
*��fetch(2,5)
*�;
*�.opcode(&C7) ; ?
*��undoc(&C7)
*��fetch(1,2)
*�;
*�.opcode(&C8) ; INY
*��inc(Y)
*��fetch(1,2)
*�;
*�.opcode(&C9) ; CMP #N
+�getbyte1(0)
+�cmp(0,2,2)
+;
+ .opcode(&CA) ; DEX
+*�dec(X)
+4�fetch(1,2)
+>;
+H.opcode(&CB) ; ?
+R�undoc(&CB)
+\�fetch(1,2)
+f;
+p.opcode(&CC) ; CPY nn
+z�getabs(0,1)
+��cpy(0,3,4)
+�;
+�.opcode(&CD) ; CMP nn
+��getabs(0,1)
+��cmp(0,3,4)
+�;
+�.opcode(&CE) ; DEC nn
+��getabs(0,1)
+��dec(0)
+��strb(0,1)
+��fetch(3,6)
+�;
+�.opcode(&CF) ; ?
,�undoc(&CF)
,�fetch(1,2)
,;
,$.opcode(&D0) ; BNE r
,.TST F,#%10
,8BNE branch_fetch
,B�branch
,L;
,V.opcode(&D1) ; CMP (n),Y
,`�getpost(0,1)
,j�cmp(0,2,5)
,t;
,~.opcode(&D2) ; CMP (n)
,��getzeroindir(0,1)
,��cmp(0,2,5)
,�;
,�.opcode(&D3) ; ?
,��undoc(&D3)
,��fetch(1,2)
,�;
,�.opcode(&D4) ; ?
,��undoc(&D4)
,��fetch(1,2)
,�;
,�.opcode(&D5) ; CMP n,X
-�getzeroindex(0,1)
-
�cmp(0,2,4)
-;
-.opcode(&D6) ; DEC n,X
-(�getzeroindex(0,1)
-2�dec(0)
-<STRB R0,[mem,R1,LSR#24]
-F�fetch(2,6)
-P;
-Z.opcode(&D7) ; ?
-d�undoc(&D7)
-n�fetch(1,2)
-x;
-�.opcode(&D8) ; CLD
-�TST F,#%1000
-�SUBNE table,table,#256*64*4
-�BICNE F,F,#%1000
-�;ADR table,opcodetable
-��fetch(1,2)
-�;
-�.opcode(&D9) ; CMP nn,Y
-��getabsindex(0,1,Y)
-��cmp(0,3,4)
-�;
-�.opcode(&DA) ; PHX
-��push(X)
.�fetch(1,3)
.;
..opcode(&DB) ; ?
."�undoc(&DB)
.,�fetch(1,2)
.6;
.@.opcode(&DC) ; (NOP nn,X)
.J;SWI &100+�"D"
.T;SWI &100+�"C"
.^ 
.h�fetch(3,0)
.r;
.|.opcode(&DD) ; CMP nn,X
.��getabsindex(0,1,X)
.��cmp(0,3,4)
.�;
.�.opcode(&DE) ; DEC nn,X
.��getabsindex(0,1,X)
.��dec(0)
.��strb16(0,1)
.��fetch(3,7)
.�;
.�.opcode(&DF) ; ?
.��undoc(&DF)
.��fetch(1,2)
.�;
/.opcode(&E0) ; CPX #N
/�getbyte1(0)
/�cpx(0,2,2)
/&;
/0.opcode(&E1) ; SBC (n,X)
/:�getpre(0,1)
/D�sbc(0,2,6)
/N;
/X.opcode(&E2) ; ?
/b�undoc(&E2)
/l�fetch(1,2)
/v;
/�.opcode(&E3) ; ?
/��undoc(&E3)
/��fetch(1,2)
/�;
/�.opcode(&E4) ; CPX n
/��getzero(0,1)
/��cpx(0,2,3)
/�;
/�.opcode(&E5) ; SBC n
/��getzero(0,1)
/��sbc(0,2,3)
/�;
/�.opcode(&E6) ; INC n
0�getzero(0,1)
0�inc(0)
0%STRB R0,[mem,R1] ; zero page STRB
0 �fetch(2,5)
0*;
04.opcode(&E7) ; ?
0>�undoc(&E7)
0H�fetch(1,2)
0R;
0\.opcode(&E8) ; INX
0f�inc(X)
0p�fetch(1,2)
0z;
0�.opcode(&E9) ; SBC #N
0��getbyte1(0)
0��sbc(0,2,2)
0�;
0�.opcode(&EA) ; NOP
0� 
0��fetch(1,2)
0�;
0�.opcode(&EB) ; ?
0��undoc(&EB)
0��fetch(1,2)
0�;
0�.opcode(&EC) ; CPX nn
1�getabs(0,1)
1�cpx(0,3,4)
1;
1$.opcode(&ED) ; SBC nn
1.�getabs(0,1)
18�sbc(0,3,4)
1B;
1L.opcode(&EE) ; INC nn
1V�getabs(0,1)
1`�inc(0)
1j�strb(0,1)
1t�fetch(3,6)
1~;
1�.opcode(&EF) ; ?
1��undoc(&EF)
1��fetch(1,2)
1�;
1�.opcode(&F0) ; BEQ r
1�TST F,#%10
1�BEQ branch_fetch
1��branch
1�;
1�.opcode(&F1) ; SBC (n),Y
1��getpost(0,1)
1��sbc(0,2,5)
2;
2
.opcode(&F2) ; SBC (n)
2�getzeroindir(0,1)
2�sbc(0,2,5)
2(;
22.opcode(&F3) ; ?
2<�undoc(&F3)
2F�fetch(1,2)
2P;
2Z.opcode(&F4) ; ?
2d�undoc(&F4)
2n�fetch(1,2)
2x;
2�.opcode(&F5) ; SBC n,X
2��getzeroindex(0,1)
2��sbc(0,2,4)
2�;
2�.opcode(&F6) ; INC n,X
2��getzeroindex(0,1)
2��inc(0)
2�,STRB R0,[mem,R1,LSR#24] ; zero page STRB
2��fetch(2,6)
2�;
2�.opcode(&F7) ; ?
2��undoc(&F7)
2��fetch(1,2)
3;
3.opcode(&F8) ; SED
3TST F,#%1000
3"ADDEQ table,table,#256*64*4
3,�REQ F,F,#%1000
36;ADR table,bcdtable
3@�fetch(1,2)
3J;
3T.opcode(&F9) ; SBC nn,Y
3^�getabsindex(0,1,Y)
3h�sbc(0,3,4)
3r;
3|.opcode(&FA) ; PLX
3��pull(X)
3��fetch(1,4)
3�;
3�.opcode(&FB) ; ?
3��undoc(&FB)
3��fetch(1,2)
3�;
3�.opcode(&FC) ; ?
3��undoc(&FC)
3��fetch(1,2)
3�;
3�.opcode(&FD) ; SBC nn,X
3��getabsindex(0,1,X)
4�sbc(0,3,4)
4;
4.opcode(&FE) ; INC nn,X
4&�getabsindex(0,1,X)
40�inc(0)
4:�strb16(0,1)
4D�fetch(3,7)
4N;
4X.opcode(&FF) ; ?
4b�undoc(&FF)
4l�fetch(1,2)
4v;
4�]
4�� bcd_loop%
4�
4�*�FOR I%=code+0 TO code+255*4*64 STEP 4
4��bcd(0)!I%=opcode(0)!I%
4�	�NEXT
4�
P%=bcd(0)
4�O%=P%+code
4�	[OPTp
4�
�bcd(&61)
4�.bcd(&61) ; ADC (n,X)
4��getpre(0,1)
4��adcBCD(0,2,6)
5
5
�bcd(&65)
5.bcd(&65) ; ADC n
5 �getzero(0,1)
5*�adcBCD(0,2,3)
54
5>
�bcd(&69)
5H.bcd(&69) ; ADC #N
5R�getbyte1(0)
5\�adcBCD(0,2,2)
5f
5p
�bcd(&6D)
5z.bcd(&6D) ; ADC nn
5��getabs(0,1)
5��adcBCD(0,3,4)
5�
5�
�bcd(&71)
5�.bcd(&71) ; ADC (n),Y
5��getpost(0,1)
5��adcBCD(0,2,5)
5�
5�
�bcd(&72)
5�.bcd(&72) ; ADC (n)
5��getzeroindir(0,1)
5��adcBCD(0,2,5)
5�
6
�bcd(&75)
6.bcd(&75) ; ADC n,X
6�getzeroindex(0,1)
6$�adcBCD(0,2,4)
6.
68
�bcd(&79)
6B.bcd(&79) ; ADC nn,Y
6L�getabsindex(0,1,Y)
6V�adcBCD(0,3,4)
6`
6j
�bcd(&7D)
6t.bcd(&7D) ; ADC nn,X
6~�getabsindex(0,1,X)
6��adcBCD(0,3,4)
6�
6�
�bcd(&E1)
6�.bcd(&E1) ; SBC (n,X)
6��getpre(0,1)
6��sbcBCD(0,2,6)
6�
6�
�bcd(&E5)
6�.bcd(&E5) ; SBC n
6��getzero(0,1)
6��sbcBCD(0,2,3)
6�
�bcd(&E6)
7
7

�bcd(&E9)
7.bcd(&E9) ; SBC #N
7�getbyte1(0)
7(�sbcBCD(0,2,2)
72
7<
�bcd(&ED)
7F.bcd(&ED) ; SBC nn
7P�getabs(0,1)
7Z�sbcBCD(0,3,4)
7d
7n
�bcd(&F1)
7x.bcd(&F1) ; SBC (n),Y
7��getpost(0,1)
7��sbcBCD(0,2,5)
7�
7�
�bcd(&F2)
7�.bcd(&F2) ; SBC (n)
7��getzeroindir(0,1)
7��sbcBCD(0,2,5)
7�
7�
�bcd(&F5)
7�.bcd(&F5) ; SBC n,X
7��getzeroindex(0,1)
7��sbcBCD(0,2,4)
7�
8
�bcd(&F9)
8.bcd(&F9) ; SBC nn,Y
8�getabsindex(0,1,Y)
8"�sbcBCD(0,3,4)
8,
86
�bcd(&FD)
8@.bcd(&FD) ; SBC nn,X
8J�getabsindex(0,1,X)
8T�sbcBCD(0,3,4)
8^
8h�bcd(&100)
8r]
8|
8�=""
8�
8�ݤbranch
8�	[OPTp
8�MOV R12,zpc,LSR#24
8��getbyte1(0)
8�ADD zpc,zpc,R0,LSL#16
8�CMP R0,#&80
8�SUBGE zpc,zpc,#254 << 16
8�ADDLT zpc,zpc,#2 << 16
8�CMP R12,zpc,LSR#24
8�2SUBEQ time,time,#1 ; page boundary not crossed
8�.SUBNE time,time,#2 ; page boundary crossed
9�fetch(0,2)
9]
9=""
9&
90ݤtrb(R)
9:	[OPTp
9DTST R,A,LSR#24
9N�setupZ
9XBIC R,R,A,LSR#24
9b]
9l=""
9v
9�ݤtsb(R)
9�	[OPTp
9�TST R,A,LSR#24
9��setupZ
9��R R,R,A,LSR#24
9�]
9�=""
9�
9�ݤasl(R)
9�	[OPTp
9�MOVS R,R,LSL#25
9�MOV R,R,LSR#24
9�
�setupNZC
:]
:=""
:
: ݤlsr(R)
:*	[OPTp
:4BIC F,F,#%10000011
:>MOVS R,R,LSR#1
:H�RCS F,F,#%1
:RMOVS R2,R,LSL#24
:\�RMI F,F,#%10000000
:f�REQ F,F,#%10
:p]
:z=""
:�
:�ݤrol(R)
:�� R=1 �
:�	[OPTp
:�.;MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
:�� R2,F,#%1
:�BIC F,F,#%10000011
:�MOVS R,R,LSL#24
:��R R,R,R2,LSL#23
:�MOVS R,R,LSL#1
:�MOV R,R,LSR#24
:�
�setupNZC
:�]
;=""
;
;ݤror(R)
;$� R=1 �
;.	[OPTp
;8-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
;BBIC F,F,#%10000011
;L)�RCS F,F,#%10000000 ; N -> what C was
;VADD R,R,R,LSL#24
;`MOVS R,R,RRX
;j�RCS F,F,#%1
;tMOVS R,R,LSR#24
;~�REQ F,F,#%10
;�]
;�=""
;�
;�
;�ݤcmp(R,F%,T%)
;�	[OPTp
;�SUBS R0,A,R,LSL#24
;�
�setupNZC
;��fetch(F%,T%)
;�]
;�=""
;�
<ݤcpx(R,F%,T%)
<
	[OPTp
<SUBS R0,X,R,LSL#24
<
�setupNZC
<(�fetch(F%,T%)
<2]
<<=""
<F
<Pݤcpy(R,F%,T%)
<Z	[OPTp
<dSUBS R0,Y,R,LSL#24
<n
�setupNZC
<x�fetch(F%,T%)
<�]
<�=""
<�
<��DEFFNadc(R,F%,T%)
<�	[OPTp
<�-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
<�MVN R2,#0 ; R2=-1
<�BIC R2,R2,#&FF << 24
<�ADD R2,R2,A
<�ADCS R2,R2,R,LSL#24
<�*�S A,R2,#&FF << 24 ; only affects Z,N!
<��setupCZVN
<��fetch(F%,T%)
=]
==""
=
="ݤadc(R,F%,T%)
=,	[OPTp
=6� R2,F,#%1
=@ADD R2,R2,R
=JADDS A,A,R2,LSL#24
=T�setupCZVN
=^CMP R2,#&100 : �REQ F,F,#%1
=h�fetch(F%,T%)
=r]
=|=""
=�
=�ݤadcBCD(R,F%,T%)
=�	[OPTp
=�-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
=�� R2,A,#&0F << 24
=�� R13,R,#&F
=�;ADDCS R2,R2,#1 << 24
=�ADC R13,R13,R2,LSR#24
=�CMP R13,#&A
=�ADDGE R13,R13,#&06
=�
=�CMP R13,#&20
=�SUBGE R13,R13,#&10
>
>MOV R,R,LSR#4
>ADD R,R,A,LSR#28
>&ADD A,R13,R,LSL#4
>0CMP A,#&A0
>:ADDGE A,A,#&60
>D�S R2,A,#&300
>N�RNE F,F,#%1
>XBICEQ F,F,#%1
>bMOVS A,A,LSL#24
>l)�setupNZ ; Master elite needs N flag?
>v�fetch3(F%,T%)
>�]
>�=""
>�
>�ݤsbcBCD(R,F%,T%)
>�	[OPTp
>�
>�-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
>�� R2,A,#&0F << 24
>�� R13,R,#&F
>�RSCS R13,R13,R2,LSR#24
>�SUBCC R13,R13,#6
>�� R13,R13,#&F
>�MOV R,R,LSR#4
?RSCS R,R,A,LSR#28
?SUBCC R,R,#6
?�setupC
? 
?*
� R,R,#&F
?4ADD A,R13,R,LSL#4
?>MOVS A,A,LSL#24
?H�setupNZ
?R�fetch3(F%,T%)
?\]
?f=""
?p
?zݤsbc(R,F%,T%)
?�	[OPTp
?�-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
?�SBCS A,A,R,LSL#24
?��setupCZVN
?��S A,A,#&FF << 24
?�BICNE F,F,#%10
?��REQ F,F,#%10 ; �setupZ
?��fetch(F%,T%)
?�]
?�=""
?�
?�
?�-MOVS R2,F,RRX ; � 6502 CARRY �O ARM CARRY
@MOV A,A,ASR#24
@MOV R,R,LSL#24
@MOV R,R,ASR#24
@$� R,R,#&FF << 24
@.� R,R,#&FF << 16
@8� R,R,#&FF << 8
@B� A,A,#&FF << 24
@L� A,A,#&FF << 16
@V� A,A,#&FF << 8
@`SBCS A,A,R
@jMOV A,A,LSL#24
@t�setupCZVN
@~�fetch(F%,T%)
@�]
@�=""
@�
@�ݤbit(R,F%,T%)
@�	[OPTp
@�� R2,R,#%11000000
@��S R,R,A,LSR#24
@�BIC F,F,#%11000010
@�ADD F,F,R2
@��REQ F,F,#%10
@��fetch(F%,T%)
@�]
A=""
A

Aݤeor(R,F%,T%)
A	[OPTp
A(�S A,A,R,LSL#24
A2�setupNZ
A<�fetch(F%,T%)
AF]
AP=""
AZ
Adݤand(R,F%,T%)
An	[OPTp
Ax�S A,A,R,LSL#24
A��setupNZ
A��fetch(F%,T%)
A�]
A�=""
A�
A�ݤora(R,F%,T%)
A�	[OPTp
A��RS A,A,R,LSL#24
A��setupNZ
A��fetch(F%,T%)
A�]
A�=""
A�
Bݤlda(R,F%,T%)
B	[OPTp
BMOVS A,R,LSL#24
B"�setupNZ
B,�fetch(F%,T%)
B6]
B@=""
BJ
BTݤldx(R,F%,T%)
B^	[OPTp
BhMOVS X,R,LSL#24
Br�setupNZ
B|�fetch(F%,T%)
B�]
B�=""
B�
B�ݤldy(R,F%,T%)
B�	[OPTp
B�MOVS Y,R,LSL#24
B��setupNZ
B��fetch(F%,T%)
B�]
B�=""
B�
B�ݤinc(R)
B�� R=X � R=Y � R=A �
C	[OPTp
CADDS R,R,#1 << 24
C]
C&�
C0	[OPTp
C:ADD R,R,#1
CDMOVS R2,R,LSL#24
CN]
CX�
Cb	[OPTp
Cl�setupNZ
Cv]
C�=""
C�
C�ݤdec(R)
C�� R=X � R=Y � R=A �
C�	[OPTp
C�SUBS R,R,#1 << 24
C�]
C��
C�	[OPTp
C�SUB R,R,#1
C�MOVS R2,R,LSL#24
C�]
C��
D	[OPTp
D�setupNZ
D]
D =""
D*
D4
ݤsetupNZ
D>	[OPTp
DHBIC F,F,#%10000010
DR�REQ F,F,#%10
D\�RMI F,F,#%10000000
Df]
Dp=""
Dz
D�ݤsetupZ
D�	[OPTp
D�BIC F,F,#%10
D��REQ F,F,#%10
D�]
D�=""
D�
D�ݤsetupC
D�	[OPTp
D�BIC F,F,#%1
D��RCS F,F,#%1
D�]
D�=""
E
EݤsetupNZC
E	[OPTp
E$BIC F,F,#%10000011
E.�RCS F,F,#%1
E8�REQ F,F,#%10
EB�RMI F,F,#%10000000
EL]
EV=""
E`
EjݤsetupCZVN
Et	[OPTp
E~BIC F,F,#%11000011
E��RCS F,F,#%1
E��REQ F,F,#%10
E��RVS F,F,#%1000000
E��RMI F,F,#%10000000
E�]
E�=""
E�
E�ݤsetupCzVN
E�	[OPTp
E�BIC F,F,#%11000011
E��RCS F,F,#%1
E��RVS F,F,#%1000000
F�RMI F,F,#%10000000
F
]
F=""
F
F(ݤgetpre(R,S)
F2	[OPTp
F<
�pre(R,S)
FF;LDRB R,[mem,R]
FP�ldrb2(R,S)
FZ]
Fd=""
Fn
Fxݤpre(R,S)
F�	[OPTp
F��getbyte1(R)
F�ADD R,X,R,LSL#24
F�*LDRB S,[mem,R,LSR#24] ; zero page LDRB
F�ADD R,R,#1 << 24
F�*LDRB R,[mem,R,LSR#24] ; zero page LDRB
F�ADD S,S,R,LSL#8
F�]
F�=""
F�
F�ݤgetzero(R,S)
F�	[OPTp
F��getbyte1(S)
G#LDRB R,[mem,S] ; zero page LDRB
G]
G=""
G"
G,ݤgetabs(R,S)
G6	[OPTp
G@
�abs(R,S)
GJ;LDRB R,[mem,S]
GT�ldrb2(R,S)
G^]
Gh=""
Gr
G|ݤabs(R,S)
G�	[OPTp
G��getbyte2(R,S)
G�ADD S,R,S,LSL#8
G�
;�strb
G�]
G�=""
G�
G�ݤgetpost(R,S)
G�	[OPTp
G��post(R,S)
G�;LDRB R,[mem,R,LSR#16]
G��ldrb16(R,S)
G�]
H=""
H
Hݤpost(R,S)
H&	[OPTp
H0�getbyte1(R)
H:MOV R,R,LSL#24
HD*LDRB S,[mem,R,LSR#24] ; zero page LDRB
HNADD R,R,#1 << 24
HX*LDRB R,[mem,R,LSR#24] ; zero page LDRB
HbADD R,S,R,LSL#8
HlMOV R,R,LSL#16
HvADD S,R,Y,LSR#8
H�;�strb16
H�]
H�=""
H�
H�ݤgetzeroindir(R,S)
H�	[OPTp
H��zeroindir(R,S)
H�;LDRB R,[mem,S]
H��ldrb2(R,S)
H�]
H�=""
H�
H�ݤzeroindir(R,S)
I	[OPTp
I�getbyte1(R)
IMOV R,R,LSL#24
I *LDRB S,[mem,R,LSR#24] ; zero page LDRB
I*ADD R,R,#1 << 24
I4*LDRB R,[mem,R,LSR#24] ; zero page LDRB
I>ADD S,S,R,LSL#8
IH]
IR=""
I\
If#ݤgetabsindex(R,S,T) � T=X or Y
Ip	[OPTp
Iz�absindex(R,S,T)
I�;LDRB R,[mem,S,LSR#16]
I��ldrb16(R,S)
I�]
I�=""
I�
I� ݤabsindex(R,S,T) � T=X or Y
I�	[OPTp
I��getbyte2(R,S)
I�ADD R,R,S,LSL#8
I�MOV R,R,LSL#16
I�ADD S,R,T,LSR#8
I�]
I�=""
J
Jݤgetzeroindex(R,S)
J	[OPTp
J$�zeroindex(R,S)
J.*LDRB R,[mem,S,LSR#24] ; zero page LDRB
J8]
JB=""
JL
JVݤzeroindex(R,S)
J`	[OPTp
Jj�getbyte1(R)
JtADD S,X,R,LSL#24
J~]
J�=""
J�
J�ݤgetzeroindexY(R,S)
J�	[OPTp
J��zeroindexY(R,S)
J�*LDRB R,[mem,S,LSR#24] ; zero page LDRB
J�]
J�=""
J�
J�ݤzeroindexY(R,S)
J�	[OPTp
J��getbyte1(R)
KADD S,Y,R,LSL#24
K
]
K=""
K
K(ݤgetbyte1(R)
K2	[OPTp
K<ADD R,zpc,#1 << 16
KF,LDRB R,[mem,R,LSR#16] ; instuction fetch
KP]
KZ=""
Kd
Knݤgetbyte2(R,S)
Kx	[OPTp
K�ADD S,mem,zpc,LSR#16
K�LDRB R,[S,#1]
K�&LDRB S,[S,#2] ; instuction fetches
K�]
K�=""
K�
K�
ݤpull(R)
K�
Ȏ R �
K�� F
K�	[OPTp
K�ADD SP,SP,#1 << 24
K�LDRB R1,[mem,SP,ROR#24]
K�BIC F,F,#&FF
L
�R F,F,R1
LBL reset_bcdflag
L]
L"� A,X,Y
L,	[OPTp
L6ADD SP,SP,#1 << 24
L@LDRB R0,[mem,SP,ROR#24]
LJMOVS R,R0,LSL#24
LT�setupNZ
L^]
Lh
Lr	[OPTp
L|ADD SP,SP,#1 << 24
L�LDRB R0,[mem,SP,ROR#24]
L�MOV R,R0,LSL#24
L�]
L��
L�=""
L�
L�
ݤpush(R)
L�� R=F � R=0 � R=1 �
L�	[OPTp
L�STRB R,[mem,SP,ROR#24]
L�SUB SP,SP,#1 << 24
L�]
L��
M	[OPTp
MMOV R0,R,LSR#24
MSTRB R0,[mem,SP,ROR#24]
M&SUB SP,SP,#1 << 24
M0]
M:�
MD=""
MN
�
00000000  0d 00 0a 0f f4 20 3e 20  4f 70 63 6f 64 65 73 0d  |..... > Opcodes.|
00000010  00 14 04 0d 00 1e 0d dd  a4 6f 70 63 6f 64 65 73  |.........opcodes|
00000020  0d 00 28 04 0d 00 32 15  e3 20 62 63 64 5f 6c 6f  |..(...2.. bcd_lo|
00000030  6f 70 25 3d 30 20 b8 20  31 0d 00 3c 0d 6f 70 63  |op%=0 . 1..<.opc|
00000040  6f 64 65 25 3d 30 0d 00  46 39 e7 20 62 63 64 5f  |ode%=0..F9. bcd_|
00000050  6c 6f 6f 70 25 3d 30 20  8c 20 5b 4f 50 54 70 3a  |loop%=0 . [OPTp:|
00000060  2e 6f 70 63 6f 64 65 28  26 30 29 3a 5d 20 8b 20  |.opcode(&0):] . |
00000070  5b 4f 50 54 70 3a 2e 62  63 64 28 30 29 3a 5d 0d  |[OPTp:.bcd(0):].|
00000080  00 50 04 0d 00 5a 09 5b  4f 50 54 70 0d 00 64 04  |.P...Z.[OPTp..d.|
00000090  0d 00 6e 16 3b 2e 6f 70  63 6f 64 65 28 26 30 29  |..n.;.opcode(&0)|
000000a0  20 3b 20 42 52 4b 0d 00  78 18 41 44 44 20 7a 70  | ; BRK..x.ADD zp|
000000b0  63 2c 7a 70 63 2c 23 32  20 3c 3c 20 31 36 0d 00  |c,zpc,#2 << 16..|
000000c0  82 15 4d 4f 56 20 52 30  2c 7a 70 63 2c 4c 53 52  |..MOV R0,zpc,LSR|
000000d0  23 32 34 0d 00 8c 0c a4  70 75 73 68 28 30 29 0d  |#24.....push(0).|
000000e0  00 96 15 4d 4f 56 20 52  30 2c 7a 70 63 2c 4c 53  |...MOV R0,zpc,LS|
000000f0  52 23 31 36 0d 00 a0 0c  a4 70 75 73 68 28 30 29  |R#16.....push(0)|
00000100  0d 00 aa 21 84 52 20 46  2c 46 2c 23 25 31 30 30  |...!.R F,F,#%100|
00000110  30 30 20 3b 20 73 65 74  20 42 52 4b 20 66 6c 61  |00 ; set BRK fla|
00000120  67 0d 00 b4 0c a4 70 75  73 68 28 46 29 0d 00 be  |g.....push(F)...|
00000130  1f 84 52 20 46 2c 46 2c  23 25 30 30 31 30 30 20  |..R F,F,#%00100 |
00000140  3b 20 73 65 74 20 49 20  66 6c 61 67 0d 00 c8 38  |; set I flag...8|
00000150  42 49 43 20 46 2c 46 2c  23 25 31 30 30 30 30 20  |BIC F,F,#%10000 |
00000160  3b 20 63 6c 65 61 72 20  42 52 4b 20 66 6c 61 67  |; clear BRK flag|
00000170  2e 2e 2e 2e 2e 20 73 65  65 6d 73 20 74 6f 20 77  |..... seems to w|
00000180  6f 72 6b 21 0d 00 d2 21  4d 4f 56 20 52 30 2c 23  |ork!...!MOV R0,#|
00000190  26 31 30 30 30 30 20 3a  20 53 55 42 20 52 30 2c  |&10000 : SUB R0,|
000001a0  52 30 2c 23 32 0d 00 dc  15 4c 44 52 42 20 7a 70  |R0,#2....LDRB zp|
000001b0  63 2c 5b 6d 65 6d 2c 52  30 5d 0d 00 e6 10 41 44  |c,[mem,R0]....AD|
000001c0  44 20 52 30 2c 52 30 2c  23 31 0d 00 f0 14 4c 44  |D R0,R0,#1....LD|
000001d0  52 42 20 52 30 2c 5b 6d  65 6d 2c 52 30 5d 0d 00  |RB R0,[mem,R0]..|
000001e0  fa 18 41 44 44 20 7a 70  63 2c 7a 70 63 2c 52 30  |..ADD zpc,zpc,R0|
000001f0  2c 4c 53 4c 23 38 0d 01  04 16 4d 4f 56 20 7a 70  |,LSL#8....MOV zp|
00000200  63 2c 7a 70 63 2c 4c 53  4c 23 31 36 0d 01 0e 0f  |c,zpc,LSL#16....|
00000210  a4 66 65 74 63 68 28 30  2c 37 29 0d 01 18 05 3b  |.fetch(0,7)....;|
00000220  0d 01 22 1a 2e 6f 70 63  6f 64 65 28 26 31 29 20  |.."..opcode(&1) |
00000230  3b 20 84 41 20 28 6e 2c  58 29 0d 01 2c 10 a4 67  |; .A (n,X)..,..g|
00000240  65 74 70 72 65 28 30 2c  31 29 0d 01 36 0f a4 6f  |etpre(0,1)..6..o|
00000250  72 61 28 30 2c 32 2c 36  29 0d 01 40 05 3b 0d 01  |ra(0,2,6)..@.;..|
00000260  4a 13 2e 6f 70 63 6f 64  65 28 26 32 29 20 3b 20  |J..opcode(&2) ; |
00000270  3f 0d 01 54 10 3b a4 70  72 69 6e 74 28 7a 70 63  |?..T.;.print(zpc|
00000280  29 0d 01 5e 0f 3b 4d 4f  56 20 52 30 2c 23 36 36  |)..^.;MOV R0,#66|
00000290  0d 01 68 0f 3b 42 20 72  61 77 5f 65 78 69 74 0d  |..h.;B raw_exit.|
000002a0  01 72 0e a4 75 6e 64 6f  63 28 26 32 29 0d 01 7c  |.r..undoc(&2)..||
000002b0  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 01 86 05  |..fetch(1,2)....|
000002c0  3b 0d 01 90 13 2e 6f 70  63 6f 64 65 28 26 33 29  |;.....opcode(&3)|
000002d0  20 3b 20 3f 0d 01 9a 26  3b 41 44 44 53 20 52 30  | ; ?...&;ADDS R0|
000002e0  2c 7a 70 63 2c 23 28 26  31 30 30 30 30 2d 26 46  |,zpc,#(&10000-&F|
000002f0  46 46 34 29 20 3c 3c 20  31 36 0d 01 a4 17 3b 43  |FF4) << 16....;C|
00000300  4d 50 45 51 20 41 2c 23  26 38 31 20 3c 3c 20 32  |MPEQ A,#&81 << 2|
00000310  34 0d 01 ae 17 41 44 44  20 52 30 2c 7a 70 63 2c  |4....ADD R0,zpc,|
00000320  23 31 20 3c 3c 20 31 36  0d 01 b8 1b 4c 44 52 42  |#1 << 16....LDRB|
00000330  20 52 30 2c 5b 6d 65 6d  2c 52 30 2c 4c 53 52 23  | R0,[mem,R0,LSR#|
00000340  31 36 5d 0d 01 c2 0d 43  4d 50 20 52 30 2c 23 33  |16]....CMP R0,#3|
00000350  0d 01 cc 0e 42 45 51 20  6f 73 62 70 75 74 0d 01  |....BEQ osbput..|
00000360  d6 0d 43 4d 50 20 52 30  2c 23 34 0d 01 e0 0e 42  |..CMP R0,#4....B|
00000370  45 51 20 6f 73 62 67 65  74 0d 01 ea 0d 4d 4f 56  |EQ osbget....MOV|
00000380  20 52 30 2c 23 33 0d 01  f4 0e 42 20 72 61 77 5f  | R0,#3....B raw_|
00000390  65 78 69 74 0d 01 fe 0f  a4 66 65 74 63 68 28 31  |exit.....fetch(1|
000003a0  2c 32 29 0d 02 08 05 3b  0d 02 12 17 2e 6f 70 63  |,2)....;.....opc|
000003b0  6f 64 65 28 26 34 29 20  3b 20 54 53 42 20 6e 0d  |ode(&4) ; TSB n.|
000003c0  02 1c 11 a4 67 65 74 7a  65 72 6f 28 30 2c 31 29  |....getzero(0,1)|
000003d0  0d 02 26 0b a4 74 73 62  28 30 29 0d 02 30 25 53  |..&..tsb(0)..0%S|
000003e0  54 52 42 20 52 30 2c 5b  6d 65 6d 2c 52 31 5d 20  |TRB R0,[mem,R1] |
000003f0  3b 20 7a 65 72 6f 20 70  61 67 65 20 53 54 52 42  |; zero page STRB|
00000400  0d 02 3a 0f a4 66 65 74  63 68 28 32 2c 35 29 0d  |..:..fetch(2,5).|
00000410  02 44 05 3b 0d 02 4e 16  2e 6f 70 63 6f 64 65 28  |.D.;..N..opcode(|
00000420  26 35 29 20 3b 20 84 41  20 6e 0d 02 58 11 a4 67  |&5) ; .A n..X..g|
00000430  65 74 7a 65 72 6f 28 30  2c 31 29 0d 02 62 0f a4  |etzero(0,1)..b..|
00000440  6f 72 61 28 30 2c 32 2c  33 29 0d 02 6c 05 3b 0d  |ora(0,2,3)..l.;.|
00000450  02 76 17 2e 6f 70 63 6f  64 65 28 26 36 29 20 3b  |.v..opcode(&6) ;|
00000460  20 41 53 4c 20 6e 0d 02  80 11 a4 67 65 74 7a 65  | ASL n.....getze|
00000470  72 6f 28 30 2c 31 29 0d  02 8a 0b a4 61 73 6c 28  |ro(0,1).....asl(|
00000480  30 29 0d 02 94 25 53 54  52 42 20 52 30 2c 5b 6d  |0)...%STRB R0,[m|
00000490  65 6d 2c 52 31 5d 20 3b  20 7a 65 72 6f 20 70 61  |em,R1] ; zero pa|
000004a0  67 65 20 53 54 52 42 0d  02 9e 0f a4 66 65 74 63  |ge STRB.....fetc|
000004b0  68 28 32 2c 35 29 0d 02  a8 05 3b 0d 02 b2 27 2e  |h(2,5)....;...'.|
000004c0  6f 70 63 6f 64 65 28 26  37 29 20 3b 20 28 53 4c  |opcode(&7) ; (SL|
000004d0  4f 20 6e 20 2d 20 41 53  4c 20 6e 2c 20 84 41 20  |O n - ASL n, .A |
000004e0  6e 29 0d 02 bc 18 43 4d  50 20 7a 70 63 2c 23 26  |n)....CMP zpc,#&|
000004f0  38 30 30 30 20 3c 3c 20  31 36 0d 02 c6 10 3b 42  |8000 << 16....;B|
00000500  48 53 20 6f 70 63 6f 64  65 37 0d 02 d0 0f 4d 4f  |HS opcode7....MO|
00000510  56 48 53 20 52 30 2c 23  37 0d 02 da 10 42 48 53  |VHS R0,#7....BHS|
00000520  20 72 61 77 5f 65 78 69  74 0d 02 e4 11 a4 67 65  | raw_exit.....ge|
00000530  74 7a 65 72 6f 28 30 2c  31 29 0d 02 ee 0b a4 61  |tzero(0,1).....a|
00000540  73 6c 28 30 29 0d 02 f8  1d 84 52 53 20 41 2c 41  |sl(0).....RS A,A|
00000550  2c 52 30 2c 4c 53 4c 23  32 34 20 3b 20 84 41 20  |,R0,LSL#24 ; .A |
00000560  7a 70 0d 03 02 14 53 54  52 42 20 52 30 2c 5b 6d  |zp....STRB R0,[m|
00000570  65 6d 2c 52 31 5d 0d 03  0c 0f a4 66 65 74 63 68  |em,R1].....fetch|
00000580  28 32 2c 30 29 0d 03 16  05 3b 0d 03 20 15 2e 6f  |(2,0)....;.. ..o|
00000590  70 63 6f 64 65 28 26 38  29 20 3b 20 50 48 50 0d  |pcode(&8) ; PHP.|
000005a0  03 2a 0c a4 70 75 73 68  28 46 29 0d 03 34 0f a4  |.*..push(F)..4..|
000005b0  66 65 74 63 68 28 31 2c  33 29 0d 03 3e 05 3b 0d  |fetch(1,3)..>.;.|
000005c0  03 48 17 2e 6f 70 63 6f  64 65 28 26 39 29 20 3b  |.H..opcode(&9) ;|
000005d0  20 84 41 20 23 4e 0d 03  52 10 a4 67 65 74 62 79  | .A #N..R..getby|
000005e0  74 65 31 28 30 29 0d 03  5c 0f a4 6f 72 61 28 30  |te1(0)..\..ora(0|
000005f0  2c 32 2c 32 29 0d 03 66  05 3b 0d 03 70 17 2e 6f  |,2,2)..f.;..p..o|
00000600  70 63 6f 64 65 28 26 41  29 20 3b 20 41 53 4c 20  |pcode(&A) ; ASL |
00000610  41 0d 03 7a 12 4d 4f 56  53 20 41 2c 41 2c 4c 53  |A..z.MOVS A,A,LS|
00000620  4c 23 31 0d 03 84 0d a4  73 65 74 75 70 4e 5a 43  |L#1.....setupNZC|
00000630  0d 03 8e 0f a4 66 65 74  63 68 28 31 2c 32 29 0d  |.....fetch(1,2).|
00000640  03 98 05 3b 0d 03 a2 2f  2e 6f 70 63 6f 64 65 28  |...;.../.opcode(|
00000650  26 42 29 20 3b 20 41 4e  43 20 28 75 6e 64 6f 63  |&B) ; ANC (undoc|
00000660  75 6d 65 6e 74 65 64 20  2d 20 52 65 70 74 6f 6e  |umented - Repton|
00000670  20 32 29 0d 03 ac 1d 20  20 20 20 20 20 20 20 20  | 2)....         |
00000680  20 20 20 3b 20 80 20 23  4e 2c 20 41 53 4c 20 41  |   ; . #N, ASL A|
00000690  0d 03 b6 10 a4 67 65 74  62 79 74 65 31 28 30 29  |.....getbyte1(0)|
000006a0  0d 03 c0 14 80 20 52 30  2c 41 2c 52 30 2c 4c 53  |..... R0,A,R0,LS|
000006b0  4c 23 32 34 0d 03 ca 12  4d 4f 56 53 20 41 2c 41  |L#24....MOVS A,A|
000006c0  2c 4c 53 4c 23 31 0d 03  d4 0d a4 73 65 74 75 70  |,LSL#1.....setup|
000006d0  4e 5a 43 0d 03 de 0f a4  66 65 74 63 68 28 32 2c  |NZC.....fetch(2,|
000006e0  32 29 0d 03 e8 05 3b 0d  03 f2 18 2e 6f 70 63 6f  |2)....;.....opco|
000006f0  64 65 28 26 43 29 20 3b  20 54 53 42 20 6e 6e 0d  |de(&C) ; TSB nn.|
00000700  03 fc 10 a4 67 65 74 61  62 73 28 30 2c 31 29 0d  |....getabs(0,1).|
00000710  04 06 0b a4 74 73 62 28  30 29 0d 04 10 0e a4 73  |....tsb(0).....s|
00000720  74 72 62 28 30 2c 31 29  0d 04 1a 0f a4 66 65 74  |trb(0,1).....fet|
00000730  63 68 28 33 2c 36 29 0d  04 24 05 3b 0d 04 2e 17  |ch(3,6)..$.;....|
00000740  2e 6f 70 63 6f 64 65 28  26 44 29 20 3b 20 84 41  |.opcode(&D) ; .A|
00000750  20 6e 6e 0d 04 38 10 a4  67 65 74 61 62 73 28 30  | nn..8..getabs(0|
00000760  2c 31 29 0d 04 42 0f a4  6f 72 61 28 30 2c 33 2c  |,1)..B..ora(0,3,|
00000770  34 29 0d 04 4c 05 3b 0d  04 56 18 2e 6f 70 63 6f  |4)..L.;..V..opco|
00000780  64 65 28 26 45 29 20 3b  20 41 53 4c 20 6e 6e 0d  |de(&E) ; ASL nn.|
00000790  04 60 10 a4 67 65 74 61  62 73 28 30 2c 31 29 0d  |.`..getabs(0,1).|
000007a0  04 6a 0b a4 61 73 6c 28  30 29 0d 04 74 0e a4 73  |.j..asl(0)..t..s|
000007b0  74 72 62 28 30 2c 31 29  0d 04 7e 0f a4 66 65 74  |trb(0,1)..~..fet|
000007c0  63 68 28 33 2c 36 29 0d  04 88 05 3b 0d 04 92 13  |ch(3,6)....;....|
000007d0  2e 6f 70 63 6f 64 65 28  26 46 29 20 3b 20 3f 0d  |.opcode(&F) ; ?.|
000007e0  04 9c 0e a4 75 6e 64 6f  63 28 26 46 29 0d 04 a6  |....undoc(&F)...|
000007f0  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 04 b0 05  |..fetch(1,2)....|
00000800  3b 0d 04 ba 18 2e 6f 70  63 6f 64 65 28 26 31 30  |;.....opcode(&10|
00000810  29 20 3b 20 42 50 4c 20  72 0d 04 c4 14 54 53 54  |) ; BPL r....TST|
00000820  20 46 2c 23 25 31 30 30  30 30 30 30 30 0d 04 ce  | F,#%10000000...|
00000830  14 42 4e 45 20 62 72 61  6e 63 68 5f 66 65 74 63  |.BNE branch_fetc|
00000840  68 0d 04 d8 0b a4 62 72  61 6e 63 68 0d 04 e2 05  |h.....branch....|
00000850  3b 0d 04 ec 1b 2e 6f 70  63 6f 64 65 28 26 31 31  |;.....opcode(&11|
00000860  29 20 3b 20 84 41 20 28  6e 29 2c 59 0d 04 f6 11  |) ; .A (n),Y....|
00000870  a4 67 65 74 70 6f 73 74  28 30 2c 31 29 0d 05 00  |.getpost(0,1)...|
00000880  0f a4 6f 72 61 28 30 2c  32 2c 35 29 0d 05 0a 05  |..ora(0,2,5)....|
00000890  3b 0d 05 14 19 2e 6f 70  63 6f 64 65 28 26 31 32  |;.....opcode(&12|
000008a0  29 20 3b 20 84 41 20 28  6e 29 0d 05 1e 16 a4 67  |) ; .A (n).....g|
000008b0  65 74 7a 65 72 6f 69 6e  64 69 72 28 30 2c 31 29  |etzeroindir(0,1)|
000008c0  0d 05 28 0f a4 6f 72 61  28 30 2c 32 2c 35 29 0d  |..(..ora(0,2,5).|
000008d0  05 32 05 3b 0d 05 3c 19  2e 6f 70 63 6f 64 65 28  |.2.;..<..opcode(|
000008e0  26 31 33 29 20 3b 20 4f  53 42 59 54 45 0d 05 46  |&13) ; OSBYTE..F|
000008f0  0f a4 75 6e 64 6f 63 28  26 31 33 29 0d 05 50 0f  |..undoc(&13)..P.|
00000900  a4 66 65 74 63 68 28 31  2c 32 29 0d 05 5a 05 3b  |.fetch(1,2)..Z.;|
00000910  0d 05 64 10 3b 20 3b a4  70 72 69 6e 74 28 41 29  |..d.; ;.print(A)|
00000920  0d 05 6e 14 3b 20 3b 53  57 49 20 26 31 30 30 2b  |..n.; ;SWI &100+|
00000930  97 22 4f 22 0d 05 78 15  3b 20 43 4d 50 20 41 2c  |."O"..x.; CMP A,|
00000940  23 31 39 20 3c 3c 20 32  34 0d 05 82 15 3b 20 42  |#19 << 24....; B|
00000950  45 51 20 6f 70 63 6f 64  65 28 26 36 30 29 0d 05  |EQ opcode(&60)..|
00000960  8c 16 3b 20 43 4d 50 20  41 2c 23 26 38 31 20 3c  |..; CMP A,#&81 <|
00000970  3c 20 32 34 0d 05 96 12  3b 20 42 45 51 20 6f 73  |< 24....; BEQ os|
00000980  62 79 74 65 38 31 0d 05  a0 16 3b 20 43 4d 50 20  |byte81....; CMP |
00000990  41 2c 23 26 37 41 20 3c  3c 20 32 34 0d 05 aa 18  |A,#&7A << 24....|
000009a0  3b 20 42 45 51 20 67 65  6e 65 72 69 63 5f 6f 73  |; BEQ generic_os|
000009b0  62 79 74 65 0d 05 b4 16  3b 20 43 4d 50 20 41 2c  |byte....; CMP A,|
000009c0  23 26 37 39 20 3c 3c 20  32 34 0d 05 be 18 3b 20  |#&79 << 24....; |
000009d0  42 45 51 20 67 65 6e 65  72 69 63 5f 6f 73 62 79  |BEQ generic_osby|
000009e0  74 65 0d 05 c8 16 3b 20  43 4d 50 20 41 2c 23 26  |te....; CMP A,#&|
000009f0  38 30 20 3c 3c 20 32 34  0d 05 d2 12 3b 20 42 45  |80 << 24....; BE|
00000a00  51 20 6f 73 62 79 74 65  38 30 0d 05 dc 12 3b 20  |Q osbyte80....; |
00000a10  4d 4f 56 20 52 30 2c 23  26 32 30 30 0d 05 e6 13  |MOV R0,#&200....|
00000a20  3b 20 41 44 44 20 52 30  2c 52 30 2c 23 26 41 0d  |; ADD R0,R0,#&A.|
00000a30  05 f0 16 3b 20 4c 44 52  20 7a 70 63 2c 5b 6d 65  |...; LDR zpc,[me|
00000a40  6d 2c 52 30 5d 0d 05 fa  18 3b 20 4d 4f 56 20 7a  |m,R0]....; MOV z|
00000a50  70 63 2c 7a 70 63 2c 4c  53 4c 23 31 36 0d 06 04  |pc,zpc,LSL#16...|
00000a60  11 3b 20 a4 66 65 74 63  68 28 30 2c 30 29 0d 06  |.; .fetch(0,0)..|
00000a70  0e 0f 3b 20 2e 6f 73 62  79 74 65 38 31 0d 06 18  |..; .osbyte81...|
00000a80  17 3b 20 3b 4d 4f 56 53  20 52 30 2c 58 2c 4c 53  |.; ;MOVS R0,X,LS|
00000a90  52 23 32 34 0d 06 22 11  3b 20 3b 42 45 51 20 73  |R#24..".; ;BEQ s|
00000aa0  6b 69 70 35 35 0d 06 2c  11 3b 20 3b a4 70 72 69  |kip55..,.; ;.pri|
00000ab0  6e 74 32 28 30 29 0d 06  36 15 3b 20 3b 53 57 49  |nt2(0)..6.; ;SWI|
00000ac0  20 22 4f 53 5f 52 65 61  64 43 22 0d 06 40 0e 3b  | "OS_ReadC"..@.;|
00000ad0  20 3b 2e 73 6b 69 70 35  35 0d 06 4a 16 3b 20 43  | ;.skip55..J.; C|
00000ae0  4d 50 20 59 2c 23 26 38  30 20 3c 3c 20 32 34 0d  |MP Y,#&80 << 24.|
00000af0  06 54 0d 3b 20 42 48 53  20 6f 73 32 0d 06 5e 16  |.T.; BHS os2..^.|
00000b00  3b 20 43 4d 50 20 58 2c  23 26 32 30 20 3c 3c 20  |; CMP X,#&20 << |
00000b10  32 34 0d 06 68 1f 3b 20  53 57 49 48 49 20 22 36  |24..h.; SWIHI "6|
00000b20  35 30 32 5f 55 70 64 61  74 65 53 63 72 65 65 6e  |502_UpdateScreen|
00000b30  22 0d 06 72 0a 3b 20 2e  6f 73 32 0d 06 7c 15 3b  |"..r.; .os2..|.;|
00000b40  20 4d 4f 56 20 52 30 2c  41 2c 4c 53 52 23 32 34  | MOV R0,A,LSR#24|
00000b50  0d 06 86 15 3b 20 4d 4f  56 20 52 31 2c 58 2c 4c  |....; MOV R1,X,L|
00000b60  53 52 23 32 34 0d 06 90  15 3b 20 4d 4f 56 20 52  |SR#24....; MOV R|
00000b70  32 2c 59 2c 4c 53 52 23  32 34 0d 06 9a 13 3b 20  |2,Y,LSR#24....; |
00000b80  53 57 49 20 22 4f 53 5f  42 79 74 65 22 0d 06 a4  |SWI "OS_Byte"...|
00000b90  16 3b 20 43 4d 50 20 59  2c 23 26 46 46 20 3c 3c  |.; CMP Y,#&FF <<|
00000ba0  20 32 34 0d 06 ae 0d 3b  20 42 4e 45 20 6f 73 33  | 24....; BNE os3|
00000bb0  0d 06 b8 11 3b 20 42 49  43 20 46 2c 46 2c 23 25  |....; BIC F,F,#%|
00000bc0  31 0d 06 c2 11 3b 20 43  4d 50 20 52 32 2c 23 26  |1....; CMP R2,#&|
00000bd0  46 46 0d 06 cc 11 3b 20  84 52 45 51 20 46 2c 46  |FF....; .REQ F,F|
00000be0  2c 23 31 0d 06 d6 0a 3b  20 2e 6f 73 33 0d 06 e0  |,#1....; .os3...|
00000bf0  16 3b 20 43 4d 50 20 59  2c 23 26 38 30 20 3c 3c  |.; CMP Y,#&80 <<|
00000c00  20 31 36 0d 06 ea 0d 3b  20 42 48 53 20 6f 73 34  | 16....; BHS os4|
00000c10  0d 06 f4 1e 3b 20 43 4d  50 20 52 32 2c 23 30 20  |....; CMP R2,#0 |
00000c20  3b 20 6b 65 79 20 64 65  74 65 63 74 65 64 0d 06  |; key detected..|
00000c30  fe 14 3b 20 43 4d 50 45  51 20 52 31 2c 23 97 22  |..; CMPEQ R1,#."|
00000c40  27 22 0d 07 08 10 3b 20  ec 51 20 52 31 2c 23 97  |'"....; .Q R1,#.|
00000c50  22 3a 0d 07 12 11 3b 20  43 4d 50 20 52 32 2c 23  |":....; CMP R2,#|
00000c60  26 46 46 0d 07 1c 0e 3b  20 ec 51 20 52 31 2c 23  |&FF....; .Q R1,#|
00000c70  30 0d 07 26 11 3b 20 43  4d 50 20 52 31 2c 23 26  |0..&.; CMP R1,#&|
00000c80  31 42 0d 07 30 0e 3b 20  ec 51 20 52 32 2c 52 31  |1B..0.; .Q R2,R1|
00000c90  0d 07 3a 12 3b 20 84 52  45 51 20 46 2c 46 2c 23  |..:.; .REQ F,F,#|
00000ca0  25 31 0d 07 44 0a 3b 20  2e 6f 73 34 0d 07 4e 15  |%1..D.; .os4..N.|
00000cb0  3b 20 4d 4f 56 20 41 2c  52 30 2c 4c 53 4c 23 32  |; MOV A,R0,LSL#2|
00000cc0  34 0d 07 58 15 3b 20 4d  4f 56 20 58 2c 52 31 2c  |4..X.; MOV X,R1,|
00000cd0  4c 53 4c 23 32 34 0d 07  62 15 3b 20 4d 4f 56 20  |LSL#24..b.; MOV |
00000ce0  59 2c 52 32 2c 4c 53 4c  23 32 34 0d 07 6c 10 3b  |Y,R2,LSL#24..l.;|
00000cf0  20 ec 51 20 52 30 2c 23  26 46 46 0d 07 76 18 3b  | .Q R0,#&FF..v.;|
00000d00  20 4c 44 52 45 51 42 20  52 31 2c 5b 6d 65 6d 2c  | LDREQB R1,[mem,|
00000d10  52 30 5d 0d 07 80 13 3b  20 84 52 20 52 31 2c 52  |R0]....; .R R1,R|
00000d20  31 2c 23 26 38 30 0d 07  8a 18 3b 20 53 54 52 45  |1,#&80....; STRE|
00000d30  51 42 20 52 31 2c 5b 6d  65 6d 2c 52 30 5d 0d 07  |QB R1,[mem,R0]..|
00000d40  94 13 3b 20 42 20 6f 70  63 6f 64 65 28 26 36 30  |..; B opcode(&60|
00000d50  29 0d 07 9e 15 3b 20 2e  67 65 6e 65 72 69 63 5f  |)....; .generic_|
00000d60  6f 73 62 79 74 65 0d 07  a8 15 3b 20 4d 4f 56 20  |osbyte....; MOV |
00000d70  52 30 2c 41 2c 4c 53 52  23 32 34 0d 07 b2 15 3b  |R0,A,LSR#24....;|
00000d80  20 4d 4f 56 20 52 31 2c  58 2c 4c 53 52 23 32 34  | MOV R1,X,LSR#24|
00000d90  0d 07 bc 15 3b 20 4d 4f  56 20 52 32 2c 59 2c 4c  |....; MOV R2,Y,L|
00000da0  53 52 23 32 34 0d 07 c6  13 3b 20 53 57 49 20 22  |SR#24....; SWI "|
00000db0  4f 53 5f 42 79 74 65 22  0d 07 d0 15 3b 20 4d 4f  |OS_Byte"....; MO|
00000dc0  56 20 41 2c 52 30 2c 4c  53 4c 23 32 34 0d 07 da  |V A,R0,LSL#24...|
00000dd0  15 3b 20 4d 4f 56 20 58  2c 52 31 2c 4c 53 4c 23  |.; MOV X,R1,LSL#|
00000de0  32 34 0d 07 e4 15 3b 20  4d 4f 56 20 59 2c 52 32  |24....; MOV Y,R2|
00000df0  2c 4c 53 4c 23 32 34 0d  07 ee 13 3b 20 42 20 6f  |,LSL#24....; B o|
00000e00  70 63 6f 64 65 28 26 36  30 29 0d 07 f8 0f 3b 20  |pcode(&60)....; |
00000e10  2e 6f 73 62 79 74 65 38  30 0d 08 02 0e 3b 20 4d  |.osbyte80....; M|
00000e20  4f 56 20 58 2c 23 30 0d  08 0c 13 3b 20 42 20 6f  |OV X,#0....; B o|
00000e30  70 63 6f 64 65 28 26 36  30 29 0d 08 16 04 0d 08  |pcode(&60)......|
00000e40  20 05 3b 0d 08 2a 18 2e  6f 70 63 6f 64 65 28 26  | .;..*..opcode(&|
00000e50  31 34 29 20 3b 20 54 52  42 20 6e 0d 08 34 11 a4  |14) ; TRB n..4..|
00000e60  67 65 74 7a 65 72 6f 28  30 2c 31 29 0d 08 3e 0b  |getzero(0,1)..>.|
00000e70  a4 74 72 62 28 30 29 0d  08 48 25 53 54 52 42 20  |.trb(0)..H%STRB |
00000e80  52 30 2c 5b 6d 65 6d 2c  52 31 5d 20 3b 20 7a 65  |R0,[mem,R1] ; ze|
00000e90  72 6f 20 70 61 67 65 20  53 54 52 42 0d 08 52 0f  |ro page STRB..R.|
00000ea0  a4 66 65 74 63 68 28 32  2c 35 29 0d 08 5c 05 3b  |.fetch(2,5)..\.;|
00000eb0  0d 08 66 19 2e 6f 70 63  6f 64 65 28 26 31 35 29  |..f..opcode(&15)|
00000ec0  20 3b 20 84 41 20 6e 2c  58 0d 08 70 16 a4 67 65  | ; .A n,X..p..ge|
00000ed0  74 7a 65 72 6f 69 6e 64  65 78 28 30 2c 31 29 0d  |tzeroindex(0,1).|
00000ee0  08 7a 0f a4 6f 72 61 28  30 2c 32 2c 34 29 0d 08  |.z..ora(0,2,4)..|
00000ef0  84 05 3b 0d 08 8e 1a 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
00000f00  31 36 29 20 3b 20 41 53  4c 20 6e 2c 58 0d 08 98  |16) ; ASL n,X...|
00000f10  16 a4 67 65 74 7a 65 72  6f 69 6e 64 65 78 28 30  |..getzeroindex(0|
00000f20  2c 31 29 0d 08 a2 0b a4  61 73 6c 28 30 29 0d 08  |,1).....asl(0)..|
00000f30  ac 2c 53 54 52 42 20 52  30 2c 5b 6d 65 6d 2c 52  |.,STRB R0,[mem,R|
00000f40  31 2c 4c 53 52 23 32 34  5d 20 3b 20 7a 65 72 6f  |1,LSR#24] ; zero|
00000f50  20 70 61 67 65 20 53 54  52 42 0d 08 b6 0f a4 66  | page STRB.....f|
00000f60  65 74 63 68 28 32 2c 36  29 0d 08 c0 05 3b 0d 08  |etch(2,6)....;..|
00000f70  ca 14 2e 6f 70 63 6f 64  65 28 26 31 37 29 20 3b  |...opcode(&17) ;|
00000f80  20 3f 0d 08 d4 0f a4 75  6e 64 6f 63 28 26 31 37  | ?.....undoc(&17|
00000f90  29 0d 08 de 0f a4 66 65  74 63 68 28 31 2c 32 29  |).....fetch(1,2)|
00000fa0  0d 08 e8 05 3b 0d 08 f2  16 2e 6f 70 63 6f 64 65  |....;.....opcode|
00000fb0  28 26 31 38 29 20 3b 20  43 4c 43 0d 08 fc 0f 42  |(&18) ; CLC....B|
00000fc0  49 43 20 46 2c 46 2c 23  25 31 0d 09 06 0f a4 66  |IC F,F,#%1.....f|
00000fd0  65 74 63 68 28 31 2c 32  29 0d 09 10 05 3b 0d 09  |etch(1,2)....;..|
00000fe0  1a 1a 2e 6f 70 63 6f 64  65 28 26 31 39 29 20 3b  |...opcode(&19) ;|
00000ff0  20 84 41 20 6e 6e 2c 59  0d 09 24 17 a4 67 65 74  | .A nn,Y..$..get|
00001000  61 62 73 69 6e 64 65 78  28 30 2c 31 2c 59 29 0d  |absindex(0,1,Y).|
00001010  09 2e 0f a4 6f 72 61 28  30 2c 33 2c 34 29 0d 09  |....ora(0,3,4)..|
00001020  38 05 3b 0d 09 42 16 2e  6f 70 63 6f 64 65 28 26  |8.;..B..opcode(&|
00001030  31 41 29 20 3b 20 49 4e  41 0d 09 4c 0b a4 69 6e  |1A) ; INA..L..in|
00001040  63 28 41 29 0d 09 56 0f  a4 66 65 74 63 68 28 31  |c(A)..V..fetch(1|
00001050  2c 32 29 0d 09 60 05 3b  0d 09 6a 14 2e 6f 70 63  |,2)..`.;..j..opc|
00001060  6f 64 65 28 26 31 42 29  20 3b 20 3f 0d 09 74 0f  |ode(&1B) ; ?..t.|
00001070  a4 75 6e 64 6f 63 28 26  31 42 29 0d 09 7e 0f a4  |.undoc(&1B)..~..|
00001080  66 65 74 63 68 28 31 2c  32 29 0d 09 88 05 3b 0d  |fetch(1,2)....;.|
00001090  09 92 19 2e 6f 70 63 6f  64 65 28 26 31 43 29 20  |....opcode(&1C) |
000010a0  3b 20 54 52 42 20 6e 6e  0d 09 9c 10 a4 67 65 74  |; TRB nn.....get|
000010b0  61 62 73 28 30 2c 31 29  0d 09 a6 0b a4 74 72 62  |abs(0,1).....trb|
000010c0  28 30 29 0d 09 b0 0e a4  73 74 72 62 28 30 2c 31  |(0).....strb(0,1|
000010d0  29 0d 09 ba 0f a4 66 65  74 63 68 28 33 2c 36 29  |).....fetch(3,6)|
000010e0  0d 09 c4 05 3b 0d 09 ce  1a 2e 6f 70 63 6f 64 65  |....;.....opcode|
000010f0  28 26 31 44 29 20 3b 20  84 41 20 6e 6e 2c 58 0d  |(&1D) ; .A nn,X.|
00001100  09 d8 17 a4 67 65 74 61  62 73 69 6e 64 65 78 28  |....getabsindex(|
00001110  30 2c 31 2c 58 29 0d 09  e2 0f a4 6f 72 61 28 30  |0,1,X).....ora(0|
00001120  2c 33 2c 34 29 0d 09 ec  05 3b 0d 09 f6 1b 2e 6f  |,3,4)....;.....o|
00001130  70 63 6f 64 65 28 26 31  45 29 20 3b 20 41 53 4c  |pcode(&1E) ; ASL|
00001140  20 6e 6e 2c 58 0d 0a 00  17 a4 67 65 74 61 62 73  | nn,X.....getabs|
00001150  69 6e 64 65 78 28 30 2c  31 2c 58 29 0d 0a 0a 0b  |index(0,1,X)....|
00001160  a4 61 73 6c 28 30 29 0d  0a 14 10 a4 73 74 72 62  |.asl(0).....strb|
00001170  31 36 28 30 2c 31 29 0d  0a 1e 0f a4 66 65 74 63  |16(0,1).....fetc|
00001180  68 28 33 2c 37 29 0d 0a  28 05 3b 0d 0a 32 14 2e  |h(3,7)..(.;..2..|
00001190  6f 70 63 6f 64 65 28 26  31 46 29 20 3b 20 3f 0d  |opcode(&1F) ; ?.|
000011a0  0a 3c 0f a4 75 6e 64 6f  63 28 26 31 46 29 0d 0a  |.<..undoc(&1F)..|
000011b0  46 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 0a 50  |F..fetch(1,2)..P|
000011c0  05 3b 0d 0a 5a 19 2e 6f  70 63 6f 64 65 28 26 32  |.;..Z..opcode(&2|
000011d0  30 29 20 3b 20 4a 53 52  20 6e 6e 0d 0a 64 10 a4  |0) ; JSR nn..d..|
000011e0  67 65 74 61 62 73 28 30  2c 31 29 0d 0a 6e 18 41  |getabs(0,1)..n.A|
000011f0  44 44 20 7a 70 63 2c 7a  70 63 2c 23 32 20 3c 3c  |DD zpc,zpc,#2 <<|
00001200  20 31 36 0d 0a 78 15 4d  4f 56 20 52 30 2c 7a 70  | 16..x.MOV R0,zp|
00001210  63 2c 4c 53 52 23 32 34  0d 0a 82 0c a4 70 75 73  |c,LSR#24.....pus|
00001220  68 28 30 29 0d 0a 8c 15  4d 4f 56 20 52 30 2c 7a  |h(0)....MOV R0,z|
00001230  70 63 2c 4c 53 52 23 31  36 0d 0a 96 0c a4 70 75  |pc,LSR#16.....pu|
00001240  73 68 28 30 29 0d 0a a0  15 4d 4f 56 20 7a 70 63  |sh(0)....MOV zpc|
00001250  2c 52 31 2c 4c 53 4c 23  31 36 0d 0a aa 0f a4 66  |,R1,LSL#16.....f|
00001260  65 74 63 68 28 30 2c 36  29 0d 0a b4 05 3b 0d 0a  |etch(0,6)....;..|
00001270  be 1a 2e 6f 70 63 6f 64  65 28 26 32 31 29 20 3b  |...opcode(&21) ;|
00001280  20 80 20 28 6e 2c 58 29  0d 0a c8 10 a4 67 65 74  | . (n,X).....get|
00001290  70 72 65 28 30 2c 31 29  0d 0a d2 0f a4 61 6e 64  |pre(0,1).....and|
000012a0  28 30 2c 32 2c 36 29 0d  0a dc 05 3b 0d 0a e6 14  |(0,2,6)....;....|
000012b0  2e 6f 70 63 6f 64 65 28  26 32 32 29 20 3b 20 3f  |.opcode(&22) ; ?|
000012c0  0d 0a f0 0f a4 75 6e 64  6f 63 28 26 32 32 29 0d  |.....undoc(&22).|
000012d0  0a fa 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 0b  |....fetch(1,2)..|
000012e0  04 05 3b 0d 0b 0e 14 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
000012f0  32 33 29 20 3b 20 3f 0d  0b 18 10 3b 4d 4f 56 20  |23) ; ?....;MOV |
00001300  52 30 2c 23 32 35 35 0d  0b 22 1c 3b 53 54 52 42  |R0,#255..".;STRB|
00001310  20 52 30 2c 5b 6d 65 6d  2c 23 6c 61 73 74 6d 6f  | R0,[mem,#lastmo|
00001320  64 65 5d 0d 0b 2c 13 42  4c 20 75 70 64 61 74 65  |de]..,.BL update|
00001330  73 63 72 65 65 6e 0d 0b  36 18 3b 42 4c 20 66 6f  |screen..6.;BL fo|
00001340  72 63 65 5f 75 70 64 61  74 65 5f 70 61 6c 0d 0b  |rce_update_pal..|
00001350  40 1c 3b 53 57 49 20 22  36 35 30 32 5f 55 70 64  |@.;SWI "6502_Upd|
00001360  61 74 65 53 63 72 65 65  6e 22 0d 0b 4a 2b 4d 4f  |ateScreen"..J+MO|
00001370  56 20 52 30 2c 23 32 32  39 20 3a 20 4d 4f 56 20  |V R0,#229 : MOV |
00001380  52 31 2c 23 30 20 3a 20  53 57 49 20 22 4f 53 5f  |R1,#0 : SWI "OS_|
00001390  42 79 74 65 22 0d 0b 54  12 53 57 49 20 22 4f 53  |Byte"..T.SWI "OS|
000013a0  5f 52 65 61 64 43 22 0d  0b 5e 13 4d 4f 56 20 41  |_ReadC"..^.MOV A|
000013b0  2c 52 30 2c 4c 53 4c 23  32 34 0d 0b 68 1e 43 4d  |,R0,LSL#24..h.CM|
000013c0  50 20 52 30 2c 23 26 31  42 20 3a 20 84 52 45 51  |P R0,#&1B : .REQ|
000013d0  20 46 2c 46 2c 23 25 31  0d 0b 72 18 4c 44 52 45  | F,F,#%1..r.LDRE|
000013e0  51 42 20 52 30 2c 5b 6d  65 6d 2c 23 26 46 46 5d  |QB R0,[mem,#&FF]|
000013f0  0d 0b 7c 13 84 52 45 51  20 52 30 2c 52 30 2c 23  |..|..REQ R0,R0,#|
00001400  26 38 30 0d 0b 86 18 53  54 52 45 51 42 20 52 30  |&80....STREQB R0|
00001410  2c 5b 6d 65 6d 2c 23 26  46 46 5d 0d 0b 90 2b 4d  |,[mem,#&FF]...+M|
00001420  4f 56 20 52 30 2c 23 32  32 39 20 3a 20 4d 4f 56  |OV R0,#229 : MOV|
00001430  20 52 31 2c 23 31 20 3a  20 53 57 49 20 22 4f 53  | R1,#1 : SWI "OS|
00001440  5f 42 79 74 65 22 0d 0b  9a 11 42 20 6f 70 63 6f  |_Byte"....B opco|
00001450  64 65 28 26 36 30 29 0d  0b a4 0f a4 66 65 74 63  |de(&60).....fetc|
00001460  68 28 31 2c 32 29 0d 0b  ae 05 3b 0d 0b b8 18 2e  |h(1,2)....;.....|
00001470  6f 70 63 6f 64 65 28 26  32 34 29 20 3b 20 42 49  |opcode(&24) ; BI|
00001480  54 20 6e 0d 0b c2 11 a4  67 65 74 7a 65 72 6f 28  |T n.....getzero(|
00001490  30 2c 31 29 0d 0b cc 0f  a4 62 69 74 28 30 2c 32  |0,1).....bit(0,2|
000014a0  2c 33 29 0d 0b d6 05 3b  0d 0b e0 16 2e 6f 70 63  |,3)....;.....opc|
000014b0  6f 64 65 28 26 32 35 29  20 3b 20 80 20 6e 0d 0b  |ode(&25) ; . n..|
000014c0  ea 11 a4 67 65 74 7a 65  72 6f 28 30 2c 31 29 0d  |...getzero(0,1).|
000014d0  0b f4 0f a4 61 6e 64 28  30 2c 32 2c 33 29 0d 0b  |....and(0,2,3)..|
000014e0  fe 05 3b 0d 0c 08 18 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
000014f0  32 36 29 20 3b 20 52 4f  4c 20 6e 0d 0c 12 11 a4  |26) ; ROL n.....|
00001500  67 65 74 7a 65 72 6f 28  30 2c 31 29 0d 0c 1c 0b  |getzero(0,1)....|
00001510  a4 72 6f 6c 28 30 29 0d  0c 26 25 53 54 52 42 20  |.rol(0)..&%STRB |
00001520  52 30 2c 5b 6d 65 6d 2c  52 31 5d 20 3b 20 7a 65  |R0,[mem,R1] ; ze|
00001530  72 6f 20 70 61 67 65 20  53 54 52 42 0d 0c 30 0f  |ro page STRB..0.|
00001540  a4 66 65 74 63 68 28 32  2c 35 29 0d 0c 3a 05 3b  |.fetch(2,5)..:.;|
00001550  0d 0c 44 14 2e 6f 70 63  6f 64 65 28 26 32 37 29  |..D..opcode(&27)|
00001560  20 3b 20 3f 0d 0c 4e 0f  a4 75 6e 64 6f 63 28 26  | ; ?..N..undoc(&|
00001570  32 37 29 0d 0c 58 0f a4  66 65 74 63 68 28 31 2c  |27)..X..fetch(1,|
00001580  32 29 0d 0c 62 05 3b 0d  0c 6c 16 2e 6f 70 63 6f  |2)..b.;..l..opco|
00001590  64 65 28 26 32 38 29 20  3b 20 50 4c 50 0d 0c 76  |de(&28) ; PLP..v|
000015a0  0c a4 70 75 6c 6c 28 46  29 0d 0c 80 0f a4 66 65  |..pull(F).....fe|
000015b0  74 63 68 28 31 2c 34 29  0d 0c 8a 05 3b 0d 0c 94  |tch(1,4)....;...|
000015c0  17 2e 6f 70 63 6f 64 65  28 26 32 39 29 20 3b 20  |..opcode(&29) ; |
000015d0  80 20 23 4e 0d 0c 9e 10  a4 67 65 74 62 79 74 65  |. #N.....getbyte|
000015e0  31 28 30 29 0d 0c a8 0f  a4 61 6e 64 28 30 2c 32  |1(0).....and(0,2|
000015f0  2c 32 29 0d 0c b2 05 3b  0d 0c bc 18 2e 6f 70 63  |,2)....;.....opc|
00001600  6f 64 65 28 26 32 41 29  20 3b 20 52 4f 4c 20 41  |ode(&2A) ; ROL A|
00001610  0d 0c c6 13 4d 4f 56 20  52 30 2c 41 2c 4c 53 52  |....MOV R0,A,LSR|
00001620  23 32 34 0d 0c d0 0b a4  72 6f 6c 28 30 29 0d 0c  |#24.....rol(0)..|
00001630  da 13 4d 4f 56 20 41 2c  52 30 2c 4c 53 4c 23 32  |..MOV A,R0,LSL#2|
00001640  34 0d 0c e4 0f a4 66 65  74 63 68 28 31 2c 32 29  |4.....fetch(1,2)|
00001650  0d 0c ee 05 3b 0d 0c f8  14 2e 6f 70 63 6f 64 65  |....;.....opcode|
00001660  28 26 32 42 29 20 3b 20  3f 0d 0d 02 0f a4 75 6e  |(&2B) ; ?.....un|
00001670  64 6f 63 28 26 32 42 29  0d 0d 0c 0f a4 66 65 74  |doc(&2B).....fet|
00001680  63 68 28 31 2c 32 29 0d  0d 16 05 3b 0d 0d 20 19  |ch(1,2)....;.. .|
00001690  2e 6f 70 63 6f 64 65 28  26 32 43 29 20 3b 20 42  |.opcode(&2C) ; B|
000016a0  49 54 20 6e 6e 0d 0d 2a  10 a4 67 65 74 61 62 73  |IT nn..*..getabs|
000016b0  28 30 2c 31 29 0d 0d 34  0f a4 62 69 74 28 30 2c  |(0,1)..4..bit(0,|
000016c0  33 2c 34 29 0d 0d 3e 05  3b 0d 0d 48 17 2e 6f 70  |3,4)..>.;..H..op|
000016d0  63 6f 64 65 28 26 32 44  29 20 3b 20 80 20 6e 6e  |code(&2D) ; . nn|
000016e0  0d 0d 52 10 a4 67 65 74  61 62 73 28 30 2c 31 29  |..R..getabs(0,1)|
000016f0  0d 0d 5c 0f a4 61 6e 64  28 30 2c 33 2c 34 29 0d  |..\..and(0,3,4).|
00001700  0d 66 05 3b 0d 0d 70 19  2e 6f 70 63 6f 64 65 28  |.f.;..p..opcode(|
00001710  26 32 45 29 20 3b 20 52  4f 4c 20 6e 6e 0d 0d 7a  |&2E) ; ROL nn..z|
00001720  10 a4 67 65 74 61 62 73  28 30 2c 31 29 0d 0d 84  |..getabs(0,1)...|
00001730  0b a4 72 6f 6c 28 30 29  0d 0d 8e 0e a4 73 74 72  |..rol(0).....str|
00001740  62 28 30 2c 31 29 0d 0d  98 0f a4 66 65 74 63 68  |b(0,1).....fetch|
00001750  28 33 2c 36 29 0d 0d a2  05 3b 0d 0d ac 14 2e 6f  |(3,6)....;.....o|
00001760  70 63 6f 64 65 28 26 32  46 29 20 3b 20 3f 0d 0d  |pcode(&2F) ; ?..|
00001770  b6 0f a4 75 6e 64 6f 63  28 26 32 46 29 0d 0d c0  |...undoc(&2F)...|
00001780  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 0d ca 05  |..fetch(1,2)....|
00001790  3b 0d 0d d4 18 2e 6f 70  63 6f 64 65 28 26 33 30  |;.....opcode(&30|
000017a0  29 20 3b 20 42 4d 49 20  72 0d 0d de 14 54 53 54  |) ; BMI r....TST|
000017b0  20 46 2c 23 25 31 30 30  30 30 30 30 30 0d 0d e8  | F,#%10000000...|
000017c0  14 42 45 51 20 62 72 61  6e 63 68 5f 66 65 74 63  |.BEQ branch_fetc|
000017d0  68 0d 0d f2 0b a4 62 72  61 6e 63 68 0d 0d fc 05  |h.....branch....|
000017e0  3b 0d 0e 06 1a 2e 6f 70  63 6f 64 65 28 26 33 31  |;.....opcode(&31|
000017f0  29 20 3b 20 80 20 28 6e  29 2c 59 0d 0e 10 11 a4  |) ; . (n),Y.....|
00001800  67 65 74 70 6f 73 74 28  30 2c 31 29 0d 0e 1a 0f  |getpost(0,1)....|
00001810  a4 61 6e 64 28 30 2c 32  2c 35 29 0d 0e 24 05 3b  |.and(0,2,5)..$.;|
00001820  0d 0e 2e 18 2e 6f 70 63  6f 64 65 28 26 33 32 29  |.....opcode(&32)|
00001830  20 3b 20 80 20 28 6e 29  0d 0e 38 16 a4 67 65 74  | ; . (n)..8..get|
00001840  7a 65 72 6f 69 6e 64 69  72 28 30 2c 31 29 0d 0e  |zeroindir(0,1)..|
00001850  42 0f a4 61 6e 64 28 30  2c 32 2c 35 29 0d 0e 4c  |B..and(0,2,5)..L|
00001860  05 3b 0d 0e 56 14 2e 6f  70 63 6f 64 65 28 26 33  |.;..V..opcode(&3|
00001870  33 29 20 3b 20 3f 0d 0e  60 0f a4 75 6e 64 6f 63  |3) ; ?..`..undoc|
00001880  28 26 33 33 29 0d 0e 6a  0f a4 66 65 74 63 68 28  |(&33)..j..fetch(|
00001890  31 2c 32 29 0d 0e 74 05  3b 0d 0e 7e 1a 2e 6f 70  |1,2)..t.;..~..op|
000018a0  63 6f 64 65 28 26 33 34  29 20 3b 20 42 49 54 20  |code(&34) ; BIT |
000018b0  6e 2c 58 0d 0e 88 16 a4  67 65 74 7a 65 72 6f 69  |n,X.....getzeroi|
000018c0  6e 64 65 78 28 30 2c 31  29 0d 0e 92 0f a4 62 69  |ndex(0,1).....bi|
000018d0  74 28 30 2c 32 2c 34 29  0d 0e 9c 05 3b 0d 0e a6  |t(0,2,4)....;...|
000018e0  18 2e 6f 70 63 6f 64 65  28 26 33 35 29 20 3b 20  |..opcode(&35) ; |
000018f0  80 20 6e 2c 58 0d 0e b0  16 a4 67 65 74 7a 65 72  |. n,X.....getzer|
00001900  6f 69 6e 64 65 78 28 30  2c 31 29 0d 0e ba 0f a4  |oindex(0,1).....|
00001910  61 6e 64 28 30 2c 32 2c  34 29 0d 0e c4 05 3b 0d  |and(0,2,4)....;.|
00001920  0e ce 1a 2e 6f 70 63 6f  64 65 28 26 33 36 29 20  |....opcode(&36) |
00001930  3b 20 52 4f 4c 20 6e 2c  58 0d 0e d8 16 a4 67 65  |; ROL n,X.....ge|
00001940  74 7a 65 72 6f 69 6e 64  65 78 28 30 2c 31 29 0d  |tzeroindex(0,1).|
00001950  0e e2 0b a4 72 6f 6c 28  30 29 0d 0e ec 1b 53 54  |....rol(0)....ST|
00001960  52 42 20 52 30 2c 5b 6d  65 6d 2c 52 31 2c 4c 53  |RB R0,[mem,R1,LS|
00001970  52 23 32 34 5d 0d 0e f6  0f a4 66 65 74 63 68 28  |R#24].....fetch(|
00001980  32 2c 36 29 0d 0f 00 05  3b 0d 0f 0a 14 2e 6f 70  |2,6)....;.....op|
00001990  63 6f 64 65 28 26 33 37  29 20 3b 20 3f 0d 0f 14  |code(&37) ; ?...|
000019a0  0f a4 75 6e 64 6f 63 28  26 33 37 29 0d 0f 1e 0f  |..undoc(&37)....|
000019b0  a4 66 65 74 63 68 28 31  2c 32 29 0d 0f 28 05 3b  |.fetch(1,2)..(.;|
000019c0  0d 0f 32 16 2e 6f 70 63  6f 64 65 28 26 33 38 29  |..2..opcode(&38)|
000019d0  20 3b 20 53 45 43 0d 0f  3c 0e 84 52 20 46 2c 46  | ; SEC..<..R F,F|
000019e0  2c 23 25 31 0d 0f 46 0f  a4 66 65 74 63 68 28 31  |,#%1..F..fetch(1|
000019f0  2c 32 29 0d 0f 50 05 3b  0d 0f 5a 19 2e 6f 70 63  |,2)..P.;..Z..opc|
00001a00  6f 64 65 28 26 33 39 29  20 3b 20 80 20 6e 6e 2c  |ode(&39) ; . nn,|
00001a10  59 0d 0f 64 17 a4 67 65  74 61 62 73 69 6e 64 65  |Y..d..getabsinde|
00001a20  78 28 30 2c 31 2c 59 29  0d 0f 6e 0f a4 61 6e 64  |x(0,1,Y)..n..and|
00001a30  28 30 2c 33 2c 34 29 0d  0f 78 05 3b 0d 0f 82 16  |(0,3,4)..x.;....|
00001a40  2e 6f 70 63 6f 64 65 28  26 33 41 29 20 3b 20 44  |.opcode(&3A) ; D|
00001a50  45 41 0d 0f 8c 0b a4 64  65 63 28 41 29 0d 0f 96  |EA.....dec(A)...|
00001a60  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 0f a0 05  |..fetch(1,2)....|
00001a70  3b 0d 0f aa 14 2e 6f 70  63 6f 64 65 28 26 33 42  |;.....opcode(&3B|
00001a80  29 20 3b 20 3f 0d 0f b4  0f a4 75 6e 64 6f 63 28  |) ; ?.....undoc(|
00001a90  26 33 42 29 0d 0f be 0f  a4 66 65 74 63 68 28 31  |&3B).....fetch(1|
00001aa0  2c 32 29 0d 0f c8 05 3b  0d 0f d2 1b 2e 6f 70 63  |,2)....;.....opc|
00001ab0  6f 64 65 28 26 33 43 29  20 3b 20 42 49 54 20 6e  |ode(&3C) ; BIT n|
00001ac0  6e 2c 58 0d 0f dc 17 a4  67 65 74 61 62 73 69 6e  |n,X.....getabsin|
00001ad0  64 65 78 28 30 2c 31 2c  58 29 0d 0f e6 0f a4 62  |dex(0,1,X).....b|
00001ae0  69 74 28 30 2c 33 2c 34  29 0d 0f f0 05 3b 0d 0f  |it(0,3,4)....;..|
00001af0  fa 19 2e 6f 70 63 6f 64  65 28 26 33 44 29 20 3b  |...opcode(&3D) ;|
00001b00  20 80 20 6e 6e 2c 58 0d  10 04 17 a4 67 65 74 61  | . nn,X.....geta|
00001b10  62 73 69 6e 64 65 78 28  30 2c 31 2c 58 29 0d 10  |bsindex(0,1,X)..|
00001b20  0e 0f a4 61 6e 64 28 30  2c 33 2c 34 29 0d 10 18  |...and(0,3,4)...|
00001b30  05 3b 0d 10 22 1b 2e 6f  70 63 6f 64 65 28 26 33  |.;.."..opcode(&3|
00001b40  45 29 20 3b 20 52 4f 4c  20 6e 6e 2c 58 0d 10 2c  |E) ; ROL nn,X..,|
00001b50  17 a4 67 65 74 61 62 73  69 6e 64 65 78 28 30 2c  |..getabsindex(0,|
00001b60  31 2c 58 29 0d 10 36 0b  a4 72 6f 6c 28 30 29 0d  |1,X)..6..rol(0).|
00001b70  10 40 10 a4 73 74 72 62  31 36 28 30 2c 31 29 0d  |.@..strb16(0,1).|
00001b80  10 4a 0f a4 66 65 74 63  68 28 33 2c 37 29 0d 10  |.J..fetch(3,7)..|
00001b90  54 05 3b 0d 10 5e 14 2e  6f 70 63 6f 64 65 28 26  |T.;..^..opcode(&|
00001ba0  33 46 29 20 3b 20 3f 0d  10 68 0f a4 75 6e 64 6f  |3F) ; ?..h..undo|
00001bb0  63 28 26 33 46 29 0d 10  72 0f a4 66 65 74 63 68  |c(&3F)..r..fetch|
00001bc0  28 31 2c 32 29 0d 10 7c  05 3b 0d 10 86 16 2e 6f  |(1,2)..|.;.....o|
00001bd0  70 63 6f 64 65 28 26 34  30 29 20 3b 20 52 54 49  |pcode(&40) ; RTI|
00001be0  0d 10 90 0c a4 70 75 6c  6c 28 46 29 0d 10 9a 0c  |.....pull(F)....|
00001bf0  a4 70 75 6c 6c 28 31 29  0d 10 a4 0e a4 70 75 6c  |.pull(1).....pul|
00001c00  6c 28 7a 70 63 29 0d 10  ae 18 41 44 44 20 7a 70  |l(zpc)....ADD zp|
00001c10  63 2c 7a 70 63 2c 52 31  2c 4c 53 52 23 38 0d 10  |c,zpc,R1,LSR#8..|
00001c20  b8 10 42 4c 20 69 6e 74  65 72 72 75 70 74 0d 10  |..BL interrupt..|
00001c30  c2 04 0d 10 cc 28 a4 66  65 74 63 68 28 30 2c 36  |.....(.fetch(0,6|
00001c40  29 20 3b 20 79 65 73 2c  20 74 68 61 74 20 73 68  |) ; yes, that sh|
00001c50  6f 75 6c 64 20 62 65 20  30 21 0d 10 d6 05 3b 0d  |ould be 0!....;.|
00001c60  10 e0 1a 2e 6f 70 63 6f  64 65 28 26 34 31 29 20  |....opcode(&41) |
00001c70  3b 20 82 20 28 6e 2c 58  29 0d 10 ea 10 a4 67 65  |; . (n,X).....ge|
00001c80  74 70 72 65 28 30 2c 31  29 0d 10 f4 0f a4 65 6f  |tpre(0,1).....eo|
00001c90  72 28 30 2c 32 2c 36 29  0d 10 fe 05 3b 0d 11 08  |r(0,2,6)....;...|
00001ca0  14 2e 6f 70 63 6f 64 65  28 26 34 32 29 20 3b 20  |..opcode(&42) ; |
00001cb0  3f 0d 11 12 0f a4 75 6e  64 6f 63 28 26 34 32 29  |?.....undoc(&42)|
00001cc0  0d 11 1c 0f a4 66 65 74  63 68 28 31 2c 32 29 0d  |.....fetch(1,2).|
00001cd0  11 26 05 3b 0d 11 30 14  2e 6f 70 63 6f 64 65 28  |.&.;..0..opcode(|
00001ce0  26 34 33 29 20 3b 20 3f  0d 11 3a 0f a4 75 6e 64  |&43) ; ?..:..und|
00001cf0  6f 63 28 26 34 33 29 0d  11 44 0f a4 66 65 74 63  |oc(&43)..D..fetc|
00001d00  68 28 31 2c 32 29 0d 11  4e 05 3b 0d 11 58 14 2e  |h(1,2)..N.;..X..|
00001d10  6f 70 63 6f 64 65 28 26  34 34 29 20 3b 20 3f 0d  |opcode(&44) ; ?.|
00001d20  11 62 0f a4 75 6e 64 6f  63 28 26 34 34 29 0d 11  |.b..undoc(&44)..|
00001d30  6c 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 11 76  |l..fetch(1,2)..v|
00001d40  05 3b 0d 11 80 16 2e 6f  70 63 6f 64 65 28 26 34  |.;.....opcode(&4|
00001d50  35 29 20 3b 20 82 20 6e  0d 11 8a 11 a4 67 65 74  |5) ; . n.....get|
00001d60  7a 65 72 6f 28 30 2c 31  29 0d 11 94 0f a4 65 6f  |zero(0,1).....eo|
00001d70  72 28 30 2c 32 2c 33 29  0d 11 9e 05 3b 0d 11 a8  |r(0,2,3)....;...|
00001d80  18 2e 6f 70 63 6f 64 65  28 26 34 36 29 20 3b 20  |..opcode(&46) ; |
00001d90  4c 53 52 20 6e 0d 11 b2  11 a4 67 65 74 7a 65 72  |LSR n.....getzer|
00001da0  6f 28 30 2c 31 29 0d 11  bc 0b a4 6c 73 72 28 30  |o(0,1).....lsr(0|
00001db0  29 0d 11 c6 14 53 54 52  42 20 52 30 2c 5b 6d 65  |)....STRB R0,[me|
00001dc0  6d 2c 52 31 5d 0d 11 d0  0f a4 66 65 74 63 68 28  |m,R1].....fetch(|
00001dd0  32 2c 35 29 0d 11 da 05  3b 0d 11 e4 14 2e 6f 70  |2,5)....;.....op|
00001de0  63 6f 64 65 28 26 34 37  29 20 3b 20 3f 0d 11 ee  |code(&47) ; ?...|
00001df0  0f a4 75 6e 64 6f 63 28  26 34 37 29 0d 11 f8 0f  |..undoc(&47)....|
00001e00  a4 66 65 74 63 68 28 31  2c 32 29 0d 12 02 05 3b  |.fetch(1,2)....;|
00001e10  0d 12 0c 16 2e 6f 70 63  6f 64 65 28 26 34 38 29  |.....opcode(&48)|
00001e20  20 3b 20 50 48 41 0d 12  16 0c a4 70 75 73 68 28  | ; PHA.....push(|
00001e30  41 29 0d 12 20 0f a4 66  65 74 63 68 28 31 2c 33  |A).. ..fetch(1,3|
00001e40  29 0d 12 2a 05 3b 0d 12  34 17 2e 6f 70 63 6f 64  |)..*.;..4..opcod|
00001e50  65 28 26 34 39 29 20 3b  20 82 20 23 4e 0d 12 3e  |e(&49) ; . #N..>|
00001e60  10 a4 67 65 74 62 79 74  65 31 28 30 29 0d 12 48  |..getbyte1(0)..H|
00001e70  0f a4 65 6f 72 28 30 2c  32 2c 32 29 0d 12 52 05  |..eor(0,2,2)..R.|
00001e80  3b 0d 12 5c 18 2e 6f 70  63 6f 64 65 28 26 34 41  |;..\..opcode(&4A|
00001e90  29 20 3b 20 4c 53 52 20  41 0d 12 66 13 4d 4f 56  |) ; LSR A..f.MOV|
00001ea0  53 20 41 2c 41 2c 4c 53  52 23 32 35 0d 12 70 12  |S A,A,LSR#25..p.|
00001eb0  4d 4f 56 20 41 2c 41 2c  4c 53 4c 23 32 34 0d 12  |MOV A,A,LSL#24..|
00001ec0  7a 0d a4 73 65 74 75 70  4e 5a 43 0d 12 84 0f a4  |z..setupNZC.....|
00001ed0  66 65 74 63 68 28 31 2c  32 29 0d 12 8e 05 3b 0d  |fetch(1,2)....;.|
00001ee0  12 98 29 2e 6f 70 63 6f  64 65 28 26 34 42 29 20  |..).opcode(&4B) |
00001ef0  3b 20 28 41 53 52 20 23  4e 20 2d 20 80 20 23 4e  |; (ASR #N - . #N|
00001f00  2c 20 4c 53 52 20 41 29  0d 12 a2 17 a4 67 65 74  |, LSR A).....get|
00001f10  62 79 74 65 31 28 30 29  20 20 20 20 20 20 3b 0d  |byte1(0)      ;.|
00001f20  12 ac 16 80 53 20 41 2c  41 2c 52 30 2c 4c 53 4c  |....S A,A,R0,LSL|
00001f30  23 32 34 20 3b 0d 12 b6  1c 3b a4 73 65 74 75 70  |#24 ;....;.setup|
00001f40  4e 5a 20 20 20 20 20 20  20 20 20 3b 20 a4 61 6e  |NZ         ; .an|
00001f50  64 0d 12 c0 04 0d 12 ca  18 4d 4f 56 53 20 41 2c  |d........MOVS A,|
00001f60  41 2c 4c 53 52 23 32 35  20 20 20 20 3b 0d 12 d4  |A,LSR#25    ;...|
00001f70  17 a4 73 65 74 75 70 43  20 20 20 20 20 20 20 20  |..setupC        |
00001f80  20 20 20 3b 0d 12 de 18  4d 4f 56 53 20 41 2c 41  |   ;....MOVS A,A|
00001f90  2c 4c 53 4c 23 32 34 20  20 20 20 3b 0d 12 e8 1d  |,LSL#24    ;....|
00001fa0  a4 73 65 74 75 70 4e 5a  20 20 20 20 20 20 20 20  |.setupNZ        |
00001fb0  20 20 3b 20 4c 53 52 20  41 0d 12 f2 0f a4 66 65  |  ; LSR A.....fe|
00001fc0  74 63 68 28 32 2c 30 29  0d 12 fc 04 0d 13 06 12  |tch(2,0)........|
00001fd0  3b 53 57 49 20 26 31 30  30 2b 97 22 34 22 0d 13  |;SWI &100+."4"..|
00001fe0  10 12 3b 53 57 49 20 26  31 30 30 2b 97 22 42 22  |..;SWI &100+."B"|
00001ff0  0d 13 1a 10 3b a4 66 65  74 63 68 28 31 2c 32 29  |....;.fetch(1,2)|
00002000  0d 13 24 05 3b 0d 13 2e  19 2e 6f 70 63 6f 64 65  |..$.;.....opcode|
00002010  28 26 34 43 29 20 3b 20  4a 4d 50 20 6e 6e 0d 13  |(&4C) ; JMP nn..|
00002020  38 10 a4 67 65 74 61 62  73 28 30 2c 31 29 0d 13  |8..getabs(0,1)..|
00002030  42 15 4d 4f 56 20 7a 70  63 2c 52 31 2c 4c 53 4c  |B.MOV zpc,R1,LSL|
00002040  23 31 36 0d 13 4c 0f a4  66 65 74 63 68 28 30 2c  |#16..L..fetch(0,|
00002050  33 29 0d 13 56 05 3b 0d  13 60 17 2e 6f 70 63 6f  |3)..V.;..`..opco|
00002060  64 65 28 26 34 44 29 20  3b 20 82 20 6e 6e 0d 13  |de(&4D) ; . nn..|
00002070  6a 10 a4 67 65 74 61 62  73 28 30 2c 31 29 0d 13  |j..getabs(0,1)..|
00002080  74 0f a4 65 6f 72 28 30  2c 33 2c 34 29 0d 13 7e  |t..eor(0,3,4)..~|
00002090  05 3b 0d 13 88 19 2e 6f  70 63 6f 64 65 28 26 34  |.;.....opcode(&4|
000020a0  45 29 20 3b 20 4c 53 52  20 6e 6e 0d 13 92 10 a4  |E) ; LSR nn.....|
000020b0  67 65 74 61 62 73 28 30  2c 31 29 0d 13 9c 0b a4  |getabs(0,1).....|
000020c0  6c 73 72 28 30 29 0d 13  a6 0e a4 73 74 72 62 28  |lsr(0).....strb(|
000020d0  30 2c 31 29 0d 13 b0 0f  a4 66 65 74 63 68 28 33  |0,1).....fetch(3|
000020e0  2c 36 29 0d 13 ba 05 3b  0d 13 c4 14 2e 6f 70 63  |,6)....;.....opc|
000020f0  6f 64 65 28 26 34 46 29  20 3b 20 3f 0d 13 ce 0f  |ode(&4F) ; ?....|
00002100  a4 75 6e 64 6f 63 28 26  34 46 29 0d 13 d8 0f a4  |.undoc(&4F).....|
00002110  66 65 74 63 68 28 31 2c  32 29 0d 13 e2 05 3b 0d  |fetch(1,2)....;.|
00002120  13 ec 18 2e 6f 70 63 6f  64 65 28 26 35 30 29 20  |....opcode(&50) |
00002130  3b 20 42 56 43 20 72 0d  13 f6 13 54 53 54 20 46  |; BVC r....TST F|
00002140  2c 23 25 31 30 30 30 30  30 30 0d 14 00 14 42 4e  |,#%1000000....BN|
00002150  45 20 62 72 61 6e 63 68  5f 66 65 74 63 68 0d 14  |E branch_fetch..|
00002160  0a 0b a4 62 72 61 6e 63  68 0d 14 14 05 3b 0d 14  |...branch....;..|
00002170  1e 1a 2e 6f 70 63 6f 64  65 28 26 35 31 29 20 3b  |...opcode(&51) ;|
00002180  20 82 20 28 6e 29 2c 59  0d 14 28 11 a4 67 65 74  | . (n),Y..(..get|
00002190  70 6f 73 74 28 30 2c 31  29 0d 14 32 0f a4 65 6f  |post(0,1)..2..eo|
000021a0  72 28 30 2c 32 2c 35 29  0d 14 3c 05 3b 0d 14 46  |r(0,2,5)..<.;..F|
000021b0  18 2e 6f 70 63 6f 64 65  28 26 35 32 29 20 3b 20  |..opcode(&52) ; |
000021c0  82 20 28 6e 29 0d 14 50  16 a4 67 65 74 7a 65 72  |. (n)..P..getzer|
000021d0  6f 69 6e 64 69 72 28 30  2c 31 29 0d 14 5a 0f a4  |oindir(0,1)..Z..|
000021e0  65 6f 72 28 30 2c 32 2c  35 29 0d 14 64 05 3b 0d  |eor(0,2,5)..d.;.|
000021f0  14 6e 14 2e 6f 70 63 6f  64 65 28 26 35 33 29 20  |.n..opcode(&53) |
00002200  3b 20 3f 0d 14 78 0f a4  75 6e 64 6f 63 28 26 35  |; ?..x..undoc(&5|
00002210  33 29 0d 14 82 0f a4 66  65 74 63 68 28 31 2c 32  |3).....fetch(1,2|
00002220  29 0d 14 8c 05 3b 0d 14  96 14 2e 6f 70 63 6f 64  |)....;.....opcod|
00002230  65 28 26 35 34 29 20 3b  20 3f 0d 14 a0 0f a4 75  |e(&54) ; ?.....u|
00002240  6e 64 6f 63 28 26 35 34  29 0d 14 aa 0f a4 66 65  |ndoc(&54).....fe|
00002250  74 63 68 28 31 2c 32 29  0d 14 b4 05 3b 0d 14 be  |tch(1,2)....;...|
00002260  18 2e 6f 70 63 6f 64 65  28 26 35 35 29 20 3b 20  |..opcode(&55) ; |
00002270  82 20 6e 2c 58 0d 14 c8  16 a4 67 65 74 7a 65 72  |. n,X.....getzer|
00002280  6f 69 6e 64 65 78 28 30  2c 31 29 0d 14 d2 0f a4  |oindex(0,1).....|
00002290  65 6f 72 28 30 2c 32 2c  34 29 0d 14 dc 05 3b 0d  |eor(0,2,4)....;.|
000022a0  14 e6 1a 2e 6f 70 63 6f  64 65 28 26 35 36 29 20  |....opcode(&56) |
000022b0  3b 20 4c 53 52 20 6e 2c  58 0d 14 f0 16 a4 67 65  |; LSR n,X.....ge|
000022c0  74 7a 65 72 6f 69 6e 64  65 78 28 30 2c 31 29 0d  |tzeroindex(0,1).|
000022d0  14 fa 0b a4 6c 73 72 28  30 29 0d 15 04 2c 53 54  |....lsr(0)...,ST|
000022e0  52 42 20 52 30 2c 5b 6d  65 6d 2c 52 31 2c 4c 53  |RB R0,[mem,R1,LS|
000022f0  52 23 32 34 5d 20 3b 20  7a 65 72 6f 20 70 61 67  |R#24] ; zero pag|
00002300  65 20 53 54 52 42 0d 15  0e 0f a4 66 65 74 63 68  |e STRB.....fetch|
00002310  28 32 2c 36 29 0d 15 18  05 3b 0d 15 22 14 2e 6f  |(2,6)....;.."..o|
00002320  70 63 6f 64 65 28 26 35  37 29 20 3b 20 3f 0d 15  |pcode(&57) ; ?..|
00002330  2c 0f a4 75 6e 64 6f 63  28 26 35 37 29 0d 15 36  |,..undoc(&57)..6|
00002340  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 15 40 05  |..fetch(1,2)..@.|
00002350  3b 0d 15 4a 16 2e 6f 70  63 6f 64 65 28 26 35 38  |;..J..opcode(&58|
00002360  29 20 3b 20 43 4c 49 0d  15 54 0a 3b 42 20 43 4c  |) ; CLI..T.;B CL|
00002370  49 0d 15 5e 11 42 49 43  20 46 2c 46 2c 23 25 31  |I..^.BIC F,F,#%1|
00002380  30 30 0d 15 68 18 41 44  44 20 7a 70 63 2c 7a 70  |00..h.ADD zpc,zp|
00002390  63 2c 23 31 20 3c 3c 20  31 36 0d 15 72 13 3b 4c  |c,#1 << 16..r.;L|
000023a0  44 52 42 20 52 30 2c 6b  65 79 63 68 6b 0d 15 7c  |DRB R0,keychk..||
000023b0  0e 3b 43 4d 50 20 52 30  2c 23 30 0d 15 86 12 3b  |.;CMP R0,#0....;|
000023c0  42 4c 45 51 20 6b 65 79  62 6f 61 72 64 0d 15 90  |BLEQ keyboard...|
000023d0  0f 42 4c 20 6b 65 79 62  6f 61 72 64 0d 15 9a 10  |.BL keyboard....|
000023e0  42 4c 20 69 6e 74 65 72  72 75 70 74 0d 15 a4 0f  |BL interrupt....|
000023f0  a4 66 65 74 63 68 28 30  2c 32 29 0d 15 ae 05 3b  |.fetch(0,2)....;|
00002400  0d 15 b8 19 2e 6f 70 63  6f 64 65 28 26 35 39 29  |.....opcode(&59)|
00002410  20 3b 20 82 20 6e 6e 2c  59 0d 15 c2 17 a4 67 65  | ; . nn,Y.....ge|
00002420  74 61 62 73 69 6e 64 65  78 28 30 2c 31 2c 59 29  |tabsindex(0,1,Y)|
00002430  0d 15 cc 0f a4 65 6f 72  28 30 2c 33 2c 34 29 0d  |.....eor(0,3,4).|
00002440  15 d6 05 3b 0d 15 e0 16  2e 6f 70 63 6f 64 65 28  |...;.....opcode(|
00002450  26 35 41 29 20 3b 20 50  48 59 0d 15 ea 0c a4 70  |&5A) ; PHY.....p|
00002460  75 73 68 28 59 29 0d 15  f4 0f a4 66 65 74 63 68  |ush(Y).....fetch|
00002470  28 31 2c 33 29 0d 15 fe  05 3b 0d 16 08 14 2e 6f  |(1,3)....;.....o|
00002480  70 63 6f 64 65 28 26 35  42 29 20 3b 20 3f 0d 16  |pcode(&5B) ; ?..|
00002490  12 0f a4 75 6e 64 6f 63  28 26 35 42 29 0d 16 1c  |...undoc(&5B)...|
000024a0  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 16 26 05  |..fetch(1,2)..&.|
000024b0  3b 0d 16 30 14 2e 6f 70  63 6f 64 65 28 26 35 43  |;..0..opcode(&5C|
000024c0  29 20 3b 20 3f 0d 16 3a  0f a4 75 6e 64 6f 63 28  |) ; ?..:..undoc(|
000024d0  26 35 43 29 0d 16 44 0f  a4 66 65 74 63 68 28 31  |&5C)..D..fetch(1|
000024e0  2c 32 29 0d 16 4e 05 3b  0d 16 58 19 2e 6f 70 63  |,2)..N.;..X..opc|
000024f0  6f 64 65 28 26 35 44 29  20 3b 20 82 20 6e 6e 2c  |ode(&5D) ; . nn,|
00002500  58 0d 16 62 17 a4 67 65  74 61 62 73 69 6e 64 65  |X..b..getabsinde|
00002510  78 28 30 2c 31 2c 58 29  0d 16 6c 0f a4 65 6f 72  |x(0,1,X)..l..eor|
00002520  28 30 2c 33 2c 34 29 0d  16 76 05 3b 0d 16 80 1b  |(0,3,4)..v.;....|
00002530  2e 6f 70 63 6f 64 65 28  26 35 45 29 20 3b 20 4c  |.opcode(&5E) ; L|
00002540  53 52 20 6e 6e 2c 58 0d  16 8a 17 a4 67 65 74 61  |SR nn,X.....geta|
00002550  62 73 69 6e 64 65 78 28  30 2c 31 2c 58 29 0d 16  |bsindex(0,1,X)..|
00002560  94 0b a4 6c 73 72 28 30  29 0d 16 9e 10 a4 73 74  |...lsr(0).....st|
00002570  72 62 31 36 28 30 2c 31  29 0d 16 a8 0f a4 66 65  |rb16(0,1).....fe|
00002580  74 63 68 28 33 2c 37 29  0d 16 b2 05 3b 0d 16 bc  |tch(3,7)....;...|
00002590  14 2e 6f 70 63 6f 64 65  28 26 35 46 29 20 3b 20  |..opcode(&5F) ; |
000025a0  3f 0d 16 c6 0f a4 75 6e  64 6f 63 28 26 35 46 29  |?.....undoc(&5F)|
000025b0  0d 16 d0 0f a4 66 65 74  63 68 28 31 2c 32 29 0d  |.....fetch(1,2).|
000025c0  16 da 05 3b 0d 16 e4 16  2e 6f 70 63 6f 64 65 28  |...;.....opcode(|
000025d0  26 36 30 29 20 3b 20 52  54 53 0d 16 ee 0c a4 70  |&60) ; RTS.....p|
000025e0  75 6c 6c 28 31 29 0d 16  f8 0e a4 70 75 6c 6c 28  |ull(1).....pull(|
000025f0  7a 70 63 29 0d 17 02 18  41 44 44 20 7a 70 63 2c  |zpc)....ADD zpc,|
00002600  7a 70 63 2c 52 31 2c 4c  53 52 23 38 0d 17 0c 28  |zpc,R1,LSR#8...(|
00002610  a4 66 65 74 63 68 28 31  2c 36 29 20 3b 20 79 65  |.fetch(1,6) ; ye|
00002620  73 2c 20 74 68 61 74 20  73 68 6f 75 6c 64 20 62  |s, that should b|
00002630  65 20 31 21 0d 17 16 05  3b 0d 17 20 1c 2e 6f 70  |e 1!....;.. ..op|
00002640  63 6f 64 65 28 26 36 31  29 20 3b 20 41 44 43 20  |code(&61) ; ADC |
00002650  28 6e 2c 58 29 0d 17 2a  10 a4 67 65 74 70 72 65  |(n,X)..*..getpre|
00002660  28 30 2c 31 29 0d 17 34  0f a4 61 64 63 28 30 2c  |(0,1)..4..adc(0,|
00002670  32 2c 36 29 0d 17 3e 05  3b 0d 17 48 14 2e 6f 70  |2,6)..>.;..H..op|
00002680  63 6f 64 65 28 26 36 32  29 20 3b 20 3f 0d 17 52  |code(&62) ; ?..R|
00002690  0f a4 75 6e 64 6f 63 28  26 36 32 29 0d 17 5c 0f  |..undoc(&62)..\.|
000026a0  a4 66 65 74 63 68 28 31  2c 32 29 0d 17 66 05 3b  |.fetch(1,2)..f.;|
000026b0  0d 17 70 14 2e 6f 70 63  6f 64 65 28 26 36 33 29  |..p..opcode(&63)|
000026c0  20 3b 20 3f 0d 17 7a 0f  a4 75 6e 64 6f 63 28 26  | ; ?..z..undoc(&|
000026d0  36 33 29 0d 17 84 0f a4  66 65 74 63 68 28 31 2c  |63).....fetch(1,|
000026e0  32 29 0d 17 8e 05 3b 0d  17 98 18 2e 6f 70 63 6f  |2)....;.....opco|
000026f0  64 65 28 26 36 34 29 20  3b 20 53 54 5a 20 6e 0d  |de(&64) ; STZ n.|
00002700  17 a2 10 a4 67 65 74 62  79 74 65 31 28 30 29 0d  |....getbyte1(0).|
00002710  17 ac 0d 4d 4f 56 20 52  31 2c 23 30 0d 17 b6 25  |...MOV R1,#0...%|
00002720  53 54 52 42 20 52 31 2c  5b 6d 65 6d 2c 52 30 5d  |STRB R1,[mem,R0]|
00002730  20 3b 20 7a 65 72 6f 20  70 61 67 65 20 53 54 52  | ; zero page STR|
00002740  42 0d 17 c0 0f a4 66 65  74 63 68 28 32 2c 33 29  |B.....fetch(2,3)|
00002750  0d 17 ca 05 3b 0d 17 d4  18 2e 6f 70 63 6f 64 65  |....;.....opcode|
00002760  28 26 36 35 29 20 3b 20  41 44 43 20 6e 0d 17 de  |(&65) ; ADC n...|
00002770  11 a4 67 65 74 7a 65 72  6f 28 30 2c 31 29 0d 17  |..getzero(0,1)..|
00002780  e8 0f a4 61 64 63 28 30  2c 32 2c 33 29 0d 17 f2  |...adc(0,2,3)...|
00002790  05 3b 0d 17 fc 18 2e 6f  70 63 6f 64 65 28 26 36  |.;.....opcode(&6|
000027a0  36 29 20 3b 20 52 4f 52  20 6e 0d 18 06 11 a4 67  |6) ; ROR n.....g|
000027b0  65 74 7a 65 72 6f 28 30  2c 31 29 0d 18 10 0b a4  |etzero(0,1).....|
000027c0  72 6f 72 28 30 29 0d 18  1a 25 53 54 52 42 20 52  |ror(0)...%STRB R|
000027d0  30 2c 5b 6d 65 6d 2c 52  31 5d 20 3b 20 7a 65 72  |0,[mem,R1] ; zer|
000027e0  6f 20 70 61 67 65 20 53  54 52 42 0d 18 24 0f a4  |o page STRB..$..|
000027f0  66 65 74 63 68 28 32 2c  35 29 0d 18 2e 05 3b 0d  |fetch(2,5)....;.|
00002800  18 38 14 2e 6f 70 63 6f  64 65 28 26 36 37 29 20  |.8..opcode(&67) |
00002810  3b 20 3f 0d 18 42 0f a4  75 6e 64 6f 63 28 26 36  |; ?..B..undoc(&6|
00002820  37 29 0d 18 4c 0f a4 66  65 74 63 68 28 31 2c 32  |7)..L..fetch(1,2|
00002830  29 0d 18 56 05 3b 0d 18  60 16 2e 6f 70 63 6f 64  |)..V.;..`..opcod|
00002840  65 28 26 36 38 29 20 3b  20 50 4c 41 0d 18 6a 0c  |e(&68) ; PLA..j.|
00002850  a4 70 75 6c 6c 28 41 29  0d 18 74 0f a4 66 65 74  |.pull(A)..t..fet|
00002860  63 68 28 31 2c 34 29 0d  18 7e 05 3b 0d 18 88 19  |ch(1,4)..~.;....|
00002870  2e 6f 70 63 6f 64 65 28  26 36 39 29 20 3b 20 41  |.opcode(&69) ; A|
00002880  44 43 20 23 4e 0d 18 92  10 a4 67 65 74 62 79 74  |DC #N.....getbyt|
00002890  65 31 28 30 29 0d 18 9c  0f a4 61 64 63 28 30 2c  |e1(0).....adc(0,|
000028a0  32 2c 32 29 0d 18 a6 05  3b 0d 18 b0 18 2e 6f 70  |2,2)....;.....op|
000028b0  63 6f 64 65 28 26 36 41  29 20 3b 20 52 4f 52 20  |code(&6A) ; ROR |
000028c0  41 0d 18 ba 13 4d 4f 56  20 52 30 2c 41 2c 4c 53  |A....MOV R0,A,LS|
000028d0  52 23 32 34 0d 18 c4 0b  a4 72 6f 72 28 30 29 0d  |R#24.....ror(0).|
000028e0  18 ce 13 4d 4f 56 20 41  2c 52 30 2c 4c 53 4c 23  |...MOV A,R0,LSL#|
000028f0  32 34 0d 18 d8 0f a4 66  65 74 63 68 28 31 2c 32  |24.....fetch(1,2|
00002900  29 0d 18 e2 05 3b 0d 18  ec 14 2e 6f 70 63 6f 64  |)....;.....opcod|
00002910  65 28 26 36 42 29 20 3b  20 3f 0d 18 f6 0f a4 75  |e(&6B) ; ?.....u|
00002920  6e 64 6f 63 28 26 36 42  29 0d 19 00 0f a4 66 65  |ndoc(&6B).....fe|
00002930  74 63 68 28 31 2c 32 29  0d 19 0a 05 3b 0d 19 14  |tch(1,2)....;...|
00002940  1b 2e 6f 70 63 6f 64 65  28 26 36 43 29 20 3b 20  |..opcode(&6C) ; |
00002950  4a 4d 50 20 28 6e 6e 29  0d 19 1e 10 a4 67 65 74  |JMP (nn).....get|
00002960  61 62 73 28 30 2c 31 29  0d 19 28 10 41 44 44 20  |abs(0,1)..(.ADD |
00002970  52 31 2c 52 31 2c 23 31  0d 19 32 05 5d 0d 19 3c  |R1,R1,#1..2.]..<|
00002980  04 0d 19 46 15 f4 20 4a  4d 50 20 28 26 78 78 46  |...F.. JMP (&xxF|
00002990  46 29 20 62 75 67 0d 19  50 1b e7 20 ac 6d 61 73  |F) bug..P.. .mas|
000029a0  74 65 72 20 84 20 65 6c  65 63 74 72 6f 6e 25 20  |ter . electron% |
000029b0  8c 0d 19 5a 09 5b 4f 50  54 70 0d 19 64 0f 54 53  |...Z.[OPTp..d.TS|
000029c0  54 20 52 31 2c 23 26 46  46 0d 19 6e 15 53 55 42  |T R1,#&FF..n.SUB|
000029d0  45 51 20 52 31 2c 52 31  2c 23 26 31 30 30 0d 19  |EQ R1,R1,#&100..|
000029e0  78 13 ec 51 20 52 31 2c  52 31 2c 4c 53 4c 23 31  |x..Q R1,R1,LSL#1|
000029f0  36 0d 19 82 13 ec 51 20  52 31 2c 52 31 2c 4c 53  |6.....Q R1,R1,LS|
00002a00  52 23 31 36 0d 19 8c 05  5d 0d 19 96 05 cd 0d 19  |R#16....].......|
00002a10  a0 04 0d 19 a1 09 5b 4f  50 54 70 0d 19 aa 14 4c  |......[OPTp....L|
00002a20  44 52 42 20 52 31 2c 5b  6d 65 6d 2c 52 31 5d 0d  |DRB R1,[mem,R1].|
00002a30  19 b4 16 41 44 44 20 52  30 2c 52 30 2c 52 31 2c  |...ADD R0,R0,R1,|
00002a40  4c 53 4c 23 38 0d 19 be  15 4d 4f 56 20 7a 70 63  |LSL#8....MOV zpc|
00002a50  2c 52 30 2c 4c 53 4c 23  31 36 0d 19 c8 0f a4 66  |,R0,LSL#16.....f|
00002a60  65 74 63 68 28 30 2c 35  29 0d 19 d2 05 3b 0d 19  |etch(0,5)....;..|
00002a70  dc 19 2e 6f 70 63 6f 64  65 28 26 36 44 29 20 3b  |...opcode(&6D) ;|
00002a80  20 41 44 43 20 6e 6e 0d  19 e6 10 a4 67 65 74 61  | ADC nn.....geta|
00002a90  62 73 28 30 2c 31 29 0d  19 f0 0f a4 61 64 63 28  |bs(0,1).....adc(|
00002aa0  30 2c 33 2c 34 29 0d 19  fa 05 3b 0d 1a 04 19 2e  |0,3,4)....;.....|
00002ab0  6f 70 63 6f 64 65 28 26  36 45 29 20 3b 20 52 4f  |opcode(&6E) ; RO|
00002ac0  52 20 6e 6e 0d 1a 0e 10  a4 67 65 74 61 62 73 28  |R nn.....getabs(|
00002ad0  30 2c 31 29 0d 1a 18 0b  a4 72 6f 72 28 30 29 0d  |0,1).....ror(0).|
00002ae0  1a 22 0e a4 73 74 72 62  28 30 2c 31 29 0d 1a 2c  |."..strb(0,1)..,|
00002af0  0f a4 66 65 74 63 68 28  33 2c 36 29 0d 1a 36 05  |..fetch(3,6)..6.|
00002b00  3b 0d 1a 40 14 2e 6f 70  63 6f 64 65 28 26 36 46  |;..@..opcode(&6F|
00002b10  29 20 3b 20 3f 0d 1a 4a  0f a4 75 6e 64 6f 63 28  |) ; ?..J..undoc(|
00002b20  26 36 46 29 0d 1a 54 0f  a4 66 65 74 63 68 28 31  |&6F)..T..fetch(1|
00002b30  2c 32 29 0d 1a 5e 05 3b  0d 1a 68 18 2e 6f 70 63  |,2)..^.;..h..opc|
00002b40  6f 64 65 28 26 37 30 29  20 3b 20 42 56 53 20 72  |ode(&70) ; BVS r|
00002b50  0d 1a 72 13 54 53 54 20  46 2c 23 25 31 30 30 30  |..r.TST F,#%1000|
00002b60  30 30 30 0d 1a 7c 14 42  45 51 20 62 72 61 6e 63  |000..|.BEQ branc|
00002b70  68 5f 66 65 74 63 68 0d  1a 86 0b a4 62 72 61 6e  |h_fetch.....bran|
00002b80  63 68 0d 1a 90 05 3b 0d  1a 9a 1c 2e 6f 70 63 6f  |ch....;.....opco|
00002b90  64 65 28 26 37 31 29 20  3b 20 41 44 43 20 28 6e  |de(&71) ; ADC (n|
00002ba0  29 2c 59 0d 1a a4 11 a4  67 65 74 70 6f 73 74 28  |),Y.....getpost(|
00002bb0  30 2c 31 29 0d 1a ae 0f  a4 61 64 63 28 30 2c 32  |0,1).....adc(0,2|
00002bc0  2c 35 29 0d 1a b8 05 3b  0d 1a c2 1a 2e 6f 70 63  |,5)....;.....opc|
00002bd0  6f 64 65 28 26 37 32 29  20 3b 20 41 44 43 20 28  |ode(&72) ; ADC (|
00002be0  6e 29 0d 1a cc 16 a4 67  65 74 7a 65 72 6f 69 6e  |n).....getzeroin|
00002bf0  64 69 72 28 30 2c 31 29  0d 1a d6 0f a4 61 64 63  |dir(0,1).....adc|
00002c00  28 30 2c 32 2c 35 29 0d  1a e0 05 3b 0d 1a ea 14  |(0,2,5)....;....|
00002c10  2e 6f 70 63 6f 64 65 28  26 37 33 29 20 3b 20 3f  |.opcode(&73) ; ?|
00002c20  0d 1a f4 0f a4 75 6e 64  6f 63 28 26 37 33 29 0d  |.....undoc(&73).|
00002c30  1a fe 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 1b  |....fetch(1,2)..|
00002c40  08 05 3b 0d 1b 12 1a 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
00002c50  37 34 29 20 3b 20 53 54  5a 20 6e 2c 58 0d 1b 1c  |74) ; STZ n,X...|
00002c60  13 a4 7a 65 72 6f 69 6e  64 65 78 28 30 2c 31 29  |..zeroindex(0,1)|
00002c70  0d 1b 26 0d 4d 4f 56 20  52 30 2c 23 30 0d 1b 30  |..&.MOV R0,#0..0|
00002c80  1b 53 54 52 42 20 52 30  2c 5b 6d 65 6d 2c 52 31  |.STRB R0,[mem,R1|
00002c90  2c 4c 53 52 23 32 34 5d  0d 1b 3a 0f a4 66 65 74  |,LSR#24]..:..fet|
00002ca0  63 68 28 32 2c 34 29 0d  1b 44 05 3b 0d 1b 4e 1a  |ch(2,4)..D.;..N.|
00002cb0  2e 6f 70 63 6f 64 65 28  26 37 35 29 20 3b 20 41  |.opcode(&75) ; A|
00002cc0  44 43 20 6e 2c 58 0d 1b  58 16 a4 67 65 74 7a 65  |DC n,X..X..getze|
00002cd0  72 6f 69 6e 64 65 78 28  30 2c 31 29 0d 1b 62 0f  |roindex(0,1)..b.|
00002ce0  a4 61 64 63 28 30 2c 32  2c 34 29 0d 1b 6c 05 3b  |.adc(0,2,4)..l.;|
00002cf0  0d 1b 76 1a 2e 6f 70 63  6f 64 65 28 26 37 36 29  |..v..opcode(&76)|
00002d00  20 3b 20 52 4f 52 20 6e  2c 58 0d 1b 80 16 a4 67  | ; ROR n,X.....g|
00002d10  65 74 7a 65 72 6f 69 6e  64 65 78 28 30 2c 31 29  |etzeroindex(0,1)|
00002d20  0d 1b 8a 0b a4 72 6f 72  28 30 29 0d 1b 94 2c 53  |.....ror(0)...,S|
00002d30  54 52 42 20 52 30 2c 5b  6d 65 6d 2c 52 31 2c 4c  |TRB R0,[mem,R1,L|
00002d40  53 52 23 32 34 5d 20 3b  20 7a 65 72 6f 20 70 61  |SR#24] ; zero pa|
00002d50  67 65 20 53 54 52 42 0d  1b 9e 0f a4 66 65 74 63  |ge STRB.....fetc|
00002d60  68 28 32 2c 36 29 0d 1b  a8 05 3b 0d 1b b2 14 2e  |h(2,6)....;.....|
00002d70  6f 70 63 6f 64 65 28 26  37 37 29 20 3b 20 3f 0d  |opcode(&77) ; ?.|
00002d80  1b bc 0f a4 75 6e 64 6f  63 28 26 37 37 29 0d 1b  |....undoc(&77)..|
00002d90  c6 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 1b d0  |...fetch(1,2)...|
00002da0  05 3b 0d 1b da 16 2e 6f  70 63 6f 64 65 28 26 37  |.;.....opcode(&7|
00002db0  38 29 20 3b 20 53 45 49  0d 1b e4 10 84 52 20 46  |8) ; SEI.....R F|
00002dc0  2c 46 2c 23 25 31 30 30  0d 1b ee 0f a4 66 65 74  |,F,#%100.....fet|
00002dd0  63 68 28 31 2c 32 29 0d  1b f8 05 3b 0d 1c 02 1b  |ch(1,2)....;....|
00002de0  2e 6f 70 63 6f 64 65 28  26 37 39 29 20 3b 20 41  |.opcode(&79) ; A|
00002df0  44 43 20 6e 6e 2c 59 0d  1c 0c 17 a4 67 65 74 61  |DC nn,Y.....geta|
00002e00  62 73 69 6e 64 65 78 28  30 2c 31 2c 59 29 0d 1c  |bsindex(0,1,Y)..|
00002e10  16 0f a4 61 64 63 28 30  2c 33 2c 34 29 0d 1c 20  |...adc(0,3,4).. |
00002e20  05 3b 0d 1c 2a 16 2e 6f  70 63 6f 64 65 28 26 37  |.;..*..opcode(&7|
00002e30  41 29 20 3b 20 50 4c 59  0d 1c 34 0c a4 70 75 6c  |A) ; PLY..4..pul|
00002e40  6c 28 59 29 0d 1c 3e 0f  a4 66 65 74 63 68 28 31  |l(Y)..>..fetch(1|
00002e50  2c 34 29 0d 1c 48 05 3b  0d 1c 52 14 2e 6f 70 63  |,4)..H.;..R..opc|
00002e60  6f 64 65 28 26 37 42 29  20 3b 20 3f 0d 1c 5c 0f  |ode(&7B) ; ?..\.|
00002e70  a4 75 6e 64 6f 63 28 26  37 42 29 0d 1c 66 0f a4  |.undoc(&7B)..f..|
00002e80  66 65 74 63 68 28 31 2c  32 29 0d 1c 70 05 3b 0d  |fetch(1,2)..p.;.|
00002e90  1c 7a 1d 2e 6f 70 63 6f  64 65 28 26 37 43 29 20  |.z..opcode(&7C) |
00002ea0  3b 20 4a 4d 50 20 28 6e  6e 2c 58 29 0d 1c 84 0d  |; JMP (nn,X)....|
00002eb0  a4 61 62 73 28 30 2c 31  29 0d 1c 8e 14 4d 4f 56  |.abs(0,1)....MOV|
00002ec0  20 52 30 2c 52 31 2c 4c  53 4c 23 31 36 0d 1c 98  | R0,R1,LSL#16...|
00002ed0  15 41 44 44 20 52 30 2c  52 30 2c 58 2c 4c 53 52  |.ADD R0,R0,X,LSR|
00002ee0  23 38 0d 1c a2 1b 4c 44  52 42 20 52 31 2c 5b 6d  |#8....LDRB R1,[m|
00002ef0  65 6d 2c 52 30 2c 4c 53  52 23 31 36 5d 0d 1c ac  |em,R0,LSR#16]...|
00002f00  16 41 44 44 20 52 30 2c  52 30 2c 23 31 20 3c 3c  |.ADD R0,R0,#1 <<|
00002f10  20 31 36 0d 1c b6 1b 4c  44 52 42 20 52 30 2c 5b  | 16....LDRB R0,[|
00002f20  6d 65 6d 2c 52 30 2c 4c  53 52 23 31 36 5d 0d 1c  |mem,R0,LSR#16]..|
00002f30  c0 16 41 44 44 20 52 30  2c 52 31 2c 52 30 2c 4c  |..ADD R0,R1,R0,L|
00002f40  53 4c 23 38 0d 1c ca 15  4d 4f 56 20 7a 70 63 2c  |SL#8....MOV zpc,|
00002f50  52 30 2c 4c 53 4c 23 31  36 0d 1c d4 0f a4 66 65  |R0,LSL#16.....fe|
00002f60  74 63 68 28 30 2c 36 29  0d 1c de 05 3b 0d 1c e8  |tch(0,6)....;...|
00002f70  1b 2e 6f 70 63 6f 64 65  28 26 37 44 29 20 3b 20  |..opcode(&7D) ; |
00002f80  41 44 43 20 6e 6e 2c 58  0d 1c f2 17 a4 67 65 74  |ADC nn,X.....get|
00002f90  61 62 73 69 6e 64 65 78  28 30 2c 31 2c 58 29 0d  |absindex(0,1,X).|
00002fa0  1c fc 0f a4 61 64 63 28  30 2c 33 2c 34 29 0d 1d  |....adc(0,3,4)..|
00002fb0  06 05 3b 0d 1d 10 1b 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
00002fc0  37 45 29 20 3b 20 52 4f  52 20 6e 6e 2c 58 0d 1d  |7E) ; ROR nn,X..|
00002fd0  1a 17 a4 67 65 74 61 62  73 69 6e 64 65 78 28 30  |...getabsindex(0|
00002fe0  2c 31 2c 58 29 0d 1d 24  0b a4 72 6f 72 28 30 29  |,1,X)..$..ror(0)|
00002ff0  0d 1d 2e 10 a4 73 74 72  62 31 36 28 30 2c 31 29  |.....strb16(0,1)|
00003000  0d 1d 38 0f a4 66 65 74  63 68 28 33 2c 37 29 0d  |..8..fetch(3,7).|
00003010  1d 42 05 3b 0d 1d 4c 14  2e 6f 70 63 6f 64 65 28  |.B.;..L..opcode(|
00003020  26 37 46 29 20 3b 20 3f  0d 1d 56 0f a4 75 6e 64  |&7F) ; ?..V..und|
00003030  6f 63 28 26 37 46 29 0d  1d 60 0f a4 66 65 74 63  |oc(&7F)..`..fetc|
00003040  68 28 31 2c 32 29 0d 1d  6a 05 3b 0d 1d 74 18 2e  |h(1,2)..j.;..t..|
00003050  6f 70 63 6f 64 65 28 26  38 30 29 20 3b 20 42 52  |opcode(&80) ; BR|
00003060  41 20 72 0d 1d 7e 0b a4  62 72 61 6e 63 68 0d 1d  |A r..~..branch..|
00003070  88 05 3b 0d 1d 92 1c 2e  6f 70 63 6f 64 65 28 26  |..;.....opcode(&|
00003080  38 31 29 20 3b 20 53 54  41 20 28 6e 2c 58 29 0d  |81) ; STA (n,X).|
00003090  1d 9c 0d a4 70 72 65 28  30 2c 31 29 0d 1d a6 13  |....pre(0,1)....|
000030a0  4d 4f 56 20 52 30 2c 41  2c 4c 53 52 23 32 34 0d  |MOV R0,A,LSR#24.|
000030b0  1d b0 0e a4 73 74 72 62  28 30 2c 31 29 0d 1d ba  |....strb(0,1)...|
000030c0  0f a4 66 65 74 63 68 28  32 2c 36 29 0d 1d c4 05  |..fetch(2,6)....|
000030d0  3b 0d 1d ce 14 2e 6f 70  63 6f 64 65 28 26 38 32  |;.....opcode(&82|
000030e0  29 20 3b 20 3f 0d 1d d8  0f a4 75 6e 64 6f 63 28  |) ; ?.....undoc(|
000030f0  26 38 32 29 0d 1d e2 0f  a4 66 65 74 63 68 28 31  |&82).....fetch(1|
00003100  2c 32 29 0d 1d ec 05 3b  0d 1d f6 14 2e 6f 70 63  |,2)....;.....opc|
00003110  6f 64 65 28 26 38 33 29  20 3b 20 3f 0d 1e 00 0f  |ode(&83) ; ?....|
00003120  a4 75 6e 64 6f 63 28 26  38 33 29 0d 1e 0a 0f a4  |.undoc(&83).....|
00003130  66 65 74 63 68 28 31 2c  32 29 0d 1e 14 05 3b 0d  |fetch(1,2)....;.|
00003140  1e 1e 18 2e 6f 70 63 6f  64 65 28 26 38 34 29 20  |....opcode(&84) |
00003150  3b 20 53 54 59 20 6e 0d  1e 28 10 a4 67 65 74 62  |; STY n..(..getb|
00003160  79 74 65 31 28 31 29 0d  1e 32 13 4d 4f 56 20 52  |yte1(1)..2.MOV R|
00003170  30 2c 59 2c 4c 53 52 23  32 34 0d 1e 3c 25 53 54  |0,Y,LSR#24..<%ST|
00003180  52 42 20 52 30 2c 5b 6d  65 6d 2c 52 31 5d 20 3b  |RB R0,[mem,R1] ;|
00003190  20 7a 65 72 6f 20 70 61  67 65 20 53 54 52 42 0d  | zero page STRB.|
000031a0  1e 46 0f a4 66 65 74 63  68 28 32 2c 33 29 0d 1e  |.F..fetch(2,3)..|
000031b0  50 05 3b 0d 1e 5a 18 2e  6f 70 63 6f 64 65 28 26  |P.;..Z..opcode(&|
000031c0  38 35 29 20 3b 20 53 54  41 20 6e 0d 1e 64 10 a4  |85) ; STA n..d..|
000031d0  67 65 74 62 79 74 65 31  28 31 29 0d 1e 6e 13 4d  |getbyte1(1)..n.M|
000031e0  4f 56 20 52 30 2c 41 2c  4c 53 52 23 32 34 0d 1e  |OV R0,A,LSR#24..|
000031f0  78 25 53 54 52 42 20 52  30 2c 5b 6d 65 6d 2c 52  |x%STRB R0,[mem,R|
00003200  31 5d 20 3b 20 7a 65 72  6f 20 70 61 67 65 20 53  |1] ; zero page S|
00003210  54 52 42 0d 1e 82 0f a4  66 65 74 63 68 28 32 2c  |TRB.....fetch(2,|
00003220  33 29 0d 1e 8c 05 3b 0d  1e 96 18 2e 6f 70 63 6f  |3)....;.....opco|
00003230  64 65 28 26 38 36 29 20  3b 20 53 54 58 20 6e 0d  |de(&86) ; STX n.|
00003240  1e a0 10 a4 67 65 74 62  79 74 65 31 28 31 29 0d  |....getbyte1(1).|
00003250  1e aa 13 4d 4f 56 20 52  30 2c 58 2c 4c 53 52 23  |...MOV R0,X,LSR#|
00003260  32 34 0d 1e b4 25 53 54  52 42 20 52 30 2c 5b 6d  |24...%STRB R0,[m|
00003270  65 6d 2c 52 31 5d 20 3b  20 7a 65 72 6f 20 70 61  |em,R1] ; zero pa|
00003280  67 65 20 53 54 52 42 0d  1e be 0f a4 66 65 74 63  |ge STRB.....fetc|
00003290  68 28 32 2c 33 29 0d 1e  c8 05 3b 0d 1e d2 37 2e  |h(2,3)....;...7.|
000032a0  6f 70 63 6f 64 65 28 26  38 37 29 20 3b 20 28 53  |opcode(&87) ; (S|
000032b0  41 58 20 6e 20 2d 20 73  74 6f 72 65 20 28 41 20  |AX n - store (A |
000032c0  80 20 58 29 20 69 6e 20  7a 65 72 6f 20 70 61 67  |. X) in zero pag|
000032d0  65 29 0d 1e dc 10 a4 67  65 74 62 79 74 65 31 28  |e).....getbyte1(|
000032e0  31 29 0d 1e e6 0d 80 53  20 52 30 2c 58 2c 41 0d  |1).....S R0,X,A.|
000032f0  1e f0 0c a4 73 65 74 75  70 4e 5a 0d 1e fa 14 4d  |....setupNZ....M|
00003300  4f 56 20 52 30 2c 52 30  2c 4c 53 52 23 32 34 0d  |OV R0,R0,LSR#24.|
00003310  1f 04 25 53 54 52 42 20  52 30 2c 5b 6d 65 6d 2c  |..%STRB R0,[mem,|
00003320  52 31 5d 20 3b 20 7a 65  72 6f 20 70 61 67 65 20  |R1] ; zero page |
00003330  53 54 52 42 0d 1f 0e 0f  a4 66 65 74 63 68 28 32  |STRB.....fetch(2|
00003340  2c 30 29 0d 1f 18 12 3b  53 57 49 20 26 31 30 30  |,0)....;SWI &100|
00003350  2b 97 22 38 22 0d 1f 22  12 3b 53 57 49 20 26 31  |+."8"..".;SWI &1|
00003360  30 30 2b 97 22 37 22 0d  1f 2c 10 3b a4 66 65 74  |00+."7"..,.;.fet|
00003370  63 68 28 31 2c 32 29 0d  1f 36 05 3b 0d 1f 40 16  |ch(1,2)..6.;..@.|
00003380  2e 6f 70 63 6f 64 65 28  26 38 38 29 20 3b 20 44  |.opcode(&88) ; D|
00003390  45 59 0d 1f 4a 0b a4 64  65 63 28 59 29 0d 1f 54  |EY..J..dec(Y)..T|
000033a0  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 1f 5e 05  |..fetch(1,2)..^.|
000033b0  3b 0d 1f 68 19 2e 6f 70  63 6f 64 65 28 26 38 39  |;..h..opcode(&89|
000033c0  29 20 3b 20 42 49 54 20  23 4e 0d 1f 72 10 a4 67  |) ; BIT #N..r..g|
000033d0  65 74 62 79 74 65 31 28  30 29 0d 1f 7c 13 54 53  |etbyte1(0)..|.TS|
000033e0  54 20 52 30 2c 41 2c 4c  53 52 23 32 34 0d 1f 86  |T R0,A,LSR#24...|
000033f0  36 42 49 43 20 46 2c 46  2c 23 25 31 30 20 3b 20  |6BIC F,F,#%10 ; |
00003400  4e 20 61 6e 64 20 56 20  75 6e 63 68 61 6e 67 65  |N and V unchange|
00003410  64 20 69 6e 20 69 6d 6d  65 64 69 61 74 65 20 6d  |d in immediate m|
00003420  6f 64 65 0d 1f 90 11 84  52 45 51 20 46 2c 46 2c  |ode.....REQ F,F,|
00003430  23 25 31 30 0d 1f 9a 11  2e 62 72 61 6e 63 68 5f  |#%10.....branch_|
00003440  66 65 74 63 68 0d 1f a4  0f a4 66 65 74 63 68 28  |fetch.....fetch(|
00003450  32 2c 32 29 0d 1f ae 05  3b 0d 1f b8 16 2e 6f 70  |2,2)....;.....op|
00003460  63 6f 64 65 28 26 38 41  29 20 3b 20 54 58 41 0d  |code(&8A) ; TXA.|
00003470  1f c2 0c 4d 4f 56 53 20  41 2c 58 0d 1f cc 0c a4  |...MOVS A,X.....|
00003480  73 65 74 75 70 4e 5a 0d  1f d6 0f a4 66 65 74 63  |setupNZ.....fetc|
00003490  68 28 31 2c 32 29 0d 1f  e0 05 3b 0d 1f ea 14 2e  |h(1,2)....;.....|
000034a0  6f 70 63 6f 64 65 28 26  38 42 29 20 3b 20 3f 0d  |opcode(&8B) ; ?.|
000034b0  1f f4 0f a4 75 6e 64 6f  63 28 26 38 42 29 0d 1f  |....undoc(&8B)..|
000034c0  fe 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 20 08  |...fetch(1,2). .|
000034d0  05 3b 0d 20 12 19 2e 6f  70 63 6f 64 65 28 26 38  |.;. ...opcode(&8|
000034e0  43 29 20 3b 20 53 54 59  20 6e 6e 0d 20 1c 0d a4  |C) ; STY nn. ...|
000034f0  61 62 73 28 30 2c 31 29  0d 20 26 13 4d 4f 56 20  |abs(0,1). &.MOV |
00003500  52 30 2c 59 2c 4c 53 52  23 32 34 0d 20 30 0e a4  |R0,Y,LSR#24. 0..|
00003510  73 74 72 62 28 30 2c 31  29 0d 20 3a 0f a4 66 65  |strb(0,1). :..fe|
00003520  74 63 68 28 33 2c 34 29  0d 20 44 05 3b 0d 20 4e  |tch(3,4). D.;. N|
00003530  19 2e 6f 70 63 6f 64 65  28 26 38 44 29 20 3b 20  |..opcode(&8D) ; |
00003540  53 54 41 20 6e 6e 0d 20  58 0d a4 61 62 73 28 30  |STA nn. X..abs(0|
00003550  2c 31 29 0d 20 62 13 4d  4f 56 20 52 30 2c 41 2c  |,1). b.MOV R0,A,|
00003560  4c 53 52 23 32 34 0d 20  6c 0e a4 73 74 72 62 28  |LSR#24. l..strb(|
00003570  30 2c 31 29 0d 20 76 0f  a4 66 65 74 63 68 28 33  |0,1). v..fetch(3|
00003580  2c 34 29 0d 20 80 05 3b  0d 20 8a 19 2e 6f 70 63  |,4). ..;. ...opc|
00003590  6f 64 65 28 26 38 45 29  20 3b 20 53 54 58 20 6e  |ode(&8E) ; STX n|
000035a0  6e 0d 20 94 0d a4 61 62  73 28 30 2c 31 29 0d 20  |n. ...abs(0,1). |
000035b0  9e 13 4d 4f 56 20 52 30  2c 58 2c 4c 53 52 23 32  |..MOV R0,X,LSR#2|
000035c0  34 0d 20 a8 0e a4 73 74  72 62 28 30 2c 31 29 0d  |4. ...strb(0,1).|
000035d0  20 b2 0f a4 66 65 74 63  68 28 33 2c 34 29 0d 20  | ...fetch(3,4). |
000035e0  bc 05 3b 0d 20 c6 14 2e  6f 70 63 6f 64 65 28 26  |..;. ...opcode(&|
000035f0  38 46 29 20 3b 20 3f 0d  20 d0 0f a4 75 6e 64 6f  |8F) ; ?. ...undo|
00003600  63 28 26 38 46 29 0d 20  da 0f a4 66 65 74 63 68  |c(&8F). ...fetch|
00003610  28 31 2c 32 29 0d 20 e4  05 3b 0d 20 ee 18 2e 6f  |(1,2). ..;. ...o|
00003620  70 63 6f 64 65 28 26 39  30 29 20 3b 20 42 43 43  |pcode(&90) ; BCC|
00003630  20 72 0d 20 f8 0d 54 53  54 20 46 2c 23 25 31 0d  | r. ..TST F,#%1.|
00003640  21 02 14 42 4e 45 20 62  72 61 6e 63 68 5f 66 65  |!..BNE branch_fe|
00003650  74 63 68 0d 21 0c 0b a4  62 72 61 6e 63 68 0d 21  |tch.!...branch.!|
00003660  16 05 3b 0d 21 20 1c 2e  6f 70 63 6f 64 65 28 26  |..;.! ..opcode(&|
00003670  39 31 29 20 3b 20 53 54  41 20 28 6e 29 2c 59 0d  |91) ; STA (n),Y.|
00003680  21 2a 0e a4 70 6f 73 74  28 30 2c 31 29 0d 21 34  |!*..post(0,1).!4|
00003690  13 4d 4f 56 20 52 30 2c  41 2c 4c 53 52 23 32 34  |.MOV R0,A,LSR#24|
000036a0  0d 21 3e 10 a4 73 74 72  62 31 36 28 30 2c 31 29  |.!>..strb16(0,1)|
000036b0  0d 21 48 0f a4 66 65 74  63 68 28 32 2c 36 29 0d  |.!H..fetch(2,6).|
000036c0  21 52 05 3b 0d 21 5c 1a  2e 6f 70 63 6f 64 65 28  |!R.;.!\..opcode(|
000036d0  26 39 32 29 20 3b 20 53  54 41 20 28 6e 29 0d 21  |&92) ; STA (n).!|
000036e0  66 13 a4 7a 65 72 6f 69  6e 64 69 72 28 30 2c 31  |f..zeroindir(0,1|
000036f0  29 0d 21 70 13 4d 4f 56  20 52 30 2c 41 2c 4c 53  |).!p.MOV R0,A,LS|
00003700  52 23 32 34 0d 21 7a 0e  a4 73 74 72 62 28 30 2c  |R#24.!z..strb(0,|
00003710  31 29 0d 21 84 0f a4 66  65 74 63 68 28 32 2c 35  |1).!...fetch(2,5|
00003720  29 0d 21 8e 05 3b 0d 21  98 14 2e 6f 70 63 6f 64  |).!..;.!...opcod|
00003730  65 28 26 39 33 29 20 3b  20 3f 0d 21 a2 0f a4 75  |e(&93) ; ?.!...u|
00003740  6e 64 6f 63 28 26 39 33  29 0d 21 ac 0f a4 66 65  |ndoc(&93).!...fe|
00003750  74 63 68 28 31 2c 32 29  0d 21 b6 05 3b 0d 21 c0  |tch(1,2).!..;.!.|
00003760  1a 2e 6f 70 63 6f 64 65  28 26 39 34 29 20 3b 20  |..opcode(&94) ; |
00003770  53 54 59 20 6e 2c 58 0d  21 ca 16 a4 67 65 74 7a  |STY n,X.!...getz|
00003780  65 72 6f 69 6e 64 65 78  28 30 2c 31 29 0d 21 d4  |eroindex(0,1).!.|
00003790  13 4d 4f 56 20 52 30 2c  59 2c 4c 53 52 23 32 34  |.MOV R0,Y,LSR#24|
000037a0  0d 21 de 2c 53 54 52 42  20 52 30 2c 5b 6d 65 6d  |.!.,STRB R0,[mem|
000037b0  2c 52 31 2c 4c 53 52 23  32 34 5d 20 3b 20 7a 65  |,R1,LSR#24] ; ze|
000037c0  72 6f 20 70 61 67 65 20  53 54 52 42 0d 21 e8 0f  |ro page STRB.!..|
000037d0  a4 66 65 74 63 68 28 32  2c 34 29 0d 21 f2 05 3b  |.fetch(2,4).!..;|
000037e0  0d 21 fc 1a 2e 6f 70 63  6f 64 65 28 26 39 35 29  |.!...opcode(&95)|
000037f0  20 3b 20 53 54 41 20 6e  2c 58 0d 22 06 13 a4 7a  | ; STA n,X."...z|
00003800  65 72 6f 69 6e 64 65 78  28 30 2c 31 29 0d 22 10  |eroindex(0,1).".|
00003810  13 4d 4f 56 20 52 30 2c  41 2c 4c 53 52 23 32 34  |.MOV R0,A,LSR#24|
00003820  0d 22 1a 2c 53 54 52 42  20 52 30 2c 5b 6d 65 6d  |.".,STRB R0,[mem|
00003830  2c 52 31 2c 4c 53 52 23  32 34 5d 20 3b 20 7a 65  |,R1,LSR#24] ; ze|
00003840  72 6f 20 70 61 67 65 20  53 54 52 42 0d 22 24 0f  |ro page STRB."$.|
00003850  a4 66 65 74 63 68 28 32  2c 34 29 0d 22 2e 05 3b  |.fetch(2,4)."..;|
00003860  0d 22 38 1a 2e 6f 70 63  6f 64 65 28 26 39 36 29  |."8..opcode(&96)|
00003870  20 3b 20 53 54 58 20 6e  2c 59 0d 22 42 14 a4 7a  | ; STX n,Y."B..z|
00003880  65 72 6f 69 6e 64 65 78  59 28 30 2c 31 29 0d 22  |eroindexY(0,1)."|
00003890  4c 13 4d 4f 56 20 52 30  2c 58 2c 4c 53 52 23 32  |L.MOV R0,X,LSR#2|
000038a0  34 0d 22 56 2c 53 54 52  42 20 52 30 2c 5b 6d 65  |4."V,STRB R0,[me|
000038b0  6d 2c 52 31 2c 4c 53 52  23 32 34 5d 20 3b 20 7a  |m,R1,LSR#24] ; z|
000038c0  65 72 6f 20 70 61 67 65  20 53 54 52 42 0d 22 60  |ero page STRB."`|
000038d0  05 20 0d 22 6a 0f a4 66  65 74 63 68 28 32 2c 34  |. ."j..fetch(2,4|
000038e0  29 0d 22 74 05 3b 0d 22  7e 14 2e 6f 70 63 6f 64  |)."t.;."~..opcod|
000038f0  65 28 26 39 37 29 20 3b  20 3f 0d 22 88 0f a4 75  |e(&97) ; ?."...u|
00003900  6e 64 6f 63 28 26 39 37  29 0d 22 92 0f a4 66 65  |ndoc(&97)."...fe|
00003910  74 63 68 28 31 2c 32 29  0d 22 9c 05 3b 0d 22 a6  |tch(1,2)."..;.".|
00003920  16 2e 6f 70 63 6f 64 65  28 26 39 38 29 20 3b 20  |..opcode(&98) ; |
00003930  54 59 41 0d 22 b0 0c 4d  4f 56 53 20 41 2c 59 0d  |TYA."..MOVS A,Y.|
00003940  22 ba 0c a4 73 65 74 75  70 4e 5a 0d 22 c4 0f a4  |"...setupNZ."...|
00003950  66 65 74 63 68 28 31 2c  32 29 0d 22 ce 05 3b 0d  |fetch(1,2)."..;.|
00003960  22 d8 1b 2e 6f 70 63 6f  64 65 28 26 39 39 29 20  |"...opcode(&99) |
00003970  3b 20 53 54 41 20 6e 6e  2c 59 0d 22 e2 14 a4 61  |; STA nn,Y."...a|
00003980  62 73 69 6e 64 65 78 28  30 2c 31 2c 59 29 0d 22  |bsindex(0,1,Y)."|
00003990  ec 13 4d 4f 56 20 52 30  2c 41 2c 4c 53 52 23 32  |..MOV R0,A,LSR#2|
000039a0  34 0d 22 f6 10 a4 73 74  72 62 31 36 28 30 2c 31  |4."...strb16(0,1|
000039b0  29 0d 23 00 0f a4 66 65  74 63 68 28 33 2c 35 29  |).#...fetch(3,5)|
000039c0  0d 23 0a 05 3b 0d 23 14  16 2e 6f 70 63 6f 64 65  |.#..;.#...opcode|
000039d0  28 26 39 41 29 20 3b 20  54 58 53 0d 23 1e 22 4d  |(&9A) ; TXS.#."M|
000039e0  4f 56 53 20 53 50 2c 58  20 3b 20 66 6c 61 67 73  |OVS SP,X ; flags|
000039f0  20 6e 6f 74 20 61 66 66  65 63 74 65 64 0d 23 28  | not affected.#(|
00003a00  0f 84 52 20 53 50 2c 53  50 2c 23 31 0d 23 32 0c  |..R SP,SP,#1.#2.|
00003a10  a4 73 65 74 75 70 4e 5a  0d 23 3c 0f a4 66 65 74  |.setupNZ.#<..fet|
00003a20  63 68 28 31 2c 32 29 0d  23 46 05 3b 0d 23 50 14  |ch(1,2).#F.;.#P.|
00003a30  2e 6f 70 63 6f 64 65 28  26 39 42 29 20 3b 20 3f  |.opcode(&9B) ; ?|
00003a40  0d 23 5a 0f a4 75 6e 64  6f 63 28 26 39 42 29 0d  |.#Z..undoc(&9B).|
00003a50  23 64 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 23  |#d..fetch(1,2).#|
00003a60  6e 05 3b 0d 23 78 19 2e  6f 70 63 6f 64 65 28 26  |n.;.#x..opcode(&|
00003a70  39 43 29 20 3b 20 53 54  5a 20 6e 6e 0d 23 82 0d  |9C) ; STZ nn.#..|
00003a80  a4 61 62 73 28 30 2c 31  29 0d 23 8c 0d 4d 4f 56  |.abs(0,1).#..MOV|
00003a90  20 52 30 2c 23 30 0d 23  96 0e a4 73 74 72 62 28  | R0,#0.#...strb(|
00003aa0  30 2c 31 29 0d 23 a0 0f  a4 66 65 74 63 68 28 33  |0,1).#...fetch(3|
00003ab0  2c 34 29 0d 23 aa 05 3b  0d 23 b4 1b 2e 6f 70 63  |,4).#..;.#...opc|
00003ac0  6f 64 65 28 26 39 44 29  20 3b 20 53 54 41 20 6e  |ode(&9D) ; STA n|
00003ad0  6e 2c 58 0d 23 be 14 a4  61 62 73 69 6e 64 65 78  |n,X.#...absindex|
00003ae0  28 30 2c 31 2c 58 29 0d  23 c8 13 4d 4f 56 20 52  |(0,1,X).#..MOV R|
00003af0  30 2c 41 2c 4c 53 52 23  32 34 0d 23 d2 10 a4 73  |0,A,LSR#24.#...s|
00003b00  74 72 62 31 36 28 30 2c  31 29 0d 23 dc 0f a4 66  |trb16(0,1).#...f|
00003b10  65 74 63 68 28 33 2c 35  29 0d 23 e6 05 3b 0d 23  |etch(3,5).#..;.#|
00003b20  f0 1b 2e 6f 70 63 6f 64  65 28 26 39 45 29 20 3b  |...opcode(&9E) ;|
00003b30  20 53 54 5a 20 6e 6e 2c  58 0d 23 fa 14 a4 61 62  | STZ nn,X.#...ab|
00003b40  73 69 6e 64 65 78 28 30  2c 31 2c 58 29 0d 24 04  |sindex(0,1,X).$.|
00003b50  0d 4d 4f 56 20 52 30 2c  23 30 0d 24 0e 10 a4 73  |.MOV R0,#0.$...s|
00003b60  74 72 62 31 36 28 30 2c  31 29 0d 24 18 0f a4 66  |trb16(0,1).$...f|
00003b70  65 74 63 68 28 33 2c 35  29 0d 24 22 05 3b 0d 24  |etch(3,5).$".;.$|
00003b80  2c 14 2e 6f 70 63 6f 64  65 28 26 39 46 29 20 3b  |,..opcode(&9F) ;|
00003b90  20 3f 0d 24 36 0f a4 75  6e 64 6f 63 28 26 39 46  | ?.$6..undoc(&9F|
00003ba0  29 0d 24 40 0f a4 66 65  74 63 68 28 31 2c 32 29  |).$@..fetch(1,2)|
00003bb0  0d 24 4a 05 3b 0d 24 54  19 2e 6f 70 63 6f 64 65  |.$J.;.$T..opcode|
00003bc0  28 26 41 30 29 20 3b 20  4c 44 59 20 23 4e 0d 24  |(&A0) ; LDY #N.$|
00003bd0  5e 10 a4 67 65 74 62 79  74 65 31 28 30 29 0d 24  |^..getbyte1(0).$|
00003be0  68 0f a4 6c 64 79 28 30  2c 32 2c 32 29 0d 24 72  |h..ldy(0,2,2).$r|
00003bf0  05 3b 0d 24 7c 1d 2e 6f  70 63 6f 64 65 28 26 41  |.;.$|..opcode(&A|
00003c00  31 29 20 3b 20 4c 44 41  20 20 28 6e 2c 58 29 0d  |1) ; LDA  (n,X).|
00003c10  24 86 10 a4 67 65 74 70  72 65 28 30 2c 31 29 0d  |$...getpre(0,1).|
00003c20  24 90 0f a4 6c 64 61 28  30 2c 32 2c 36 29 0d 24  |$...lda(0,2,6).$|
00003c30  9a 05 3b 0d 24 a4 19 2e  6f 70 63 6f 64 65 28 26  |..;.$...opcode(&|
00003c40  41 32 29 20 3b 20 4c 44  58 20 23 4e 0d 24 ae 10  |A2) ; LDX #N.$..|
00003c50  a4 67 65 74 62 79 74 65  31 28 30 29 0d 24 b8 0f  |.getbyte1(0).$..|
00003c60  a4 6c 64 78 28 30 2c 32  2c 32 29 0d 24 c2 05 3b  |.ldx(0,2,2).$..;|
00003c70  0d 24 cc 14 2e 6f 70 63  6f 64 65 28 26 41 33 29  |.$...opcode(&A3)|
00003c80  20 3b 20 3f 0d 24 d6 0f  a4 75 6e 64 6f 63 28 26  | ; ?.$...undoc(&|
00003c90  41 33 29 0d 24 e0 0f a4  66 65 74 63 68 28 31 2c  |A3).$...fetch(1,|
00003ca0  32 29 0d 24 ea 05 3b 0d  24 f4 18 2e 6f 70 63 6f  |2).$..;.$...opco|
00003cb0  64 65 28 26 41 34 29 20  3b 20 4c 44 59 20 6e 0d  |de(&A4) ; LDY n.|
00003cc0  24 fe 11 a4 67 65 74 7a  65 72 6f 28 30 2c 31 29  |$...getzero(0,1)|
00003cd0  0d 25 08 0f a4 6c 64 79  28 30 2c 32 2c 33 29 0d  |.%...ldy(0,2,3).|
00003ce0  25 12 05 3b 0d 25 1c 18  2e 6f 70 63 6f 64 65 28  |%..;.%...opcode(|
00003cf0  26 41 35 29 20 3b 20 4c  44 41 20 6e 0d 25 26 11  |&A5) ; LDA n.%&.|
00003d00  a4 67 65 74 7a 65 72 6f  28 30 2c 31 29 0d 25 30  |.getzero(0,1).%0|
00003d10  0f a4 6c 64 61 28 30 2c  32 2c 33 29 0d 25 3a 05  |..lda(0,2,3).%:.|
00003d20  3b 0d 25 44 18 2e 6f 70  63 6f 64 65 28 26 41 36  |;.%D..opcode(&A6|
00003d30  29 20 3b 20 4c 44 58 20  6e 0d 25 4e 11 a4 67 65  |) ; LDX n.%N..ge|
00003d40  74 7a 65 72 6f 28 30 2c  31 29 0d 25 58 0f a4 6c  |tzero(0,1).%X..l|
00003d50  64 78 28 30 2c 32 2c 33  29 0d 25 62 05 3b 0d 25  |dx(0,2,3).%b.;.%|
00003d60  6c 14 2e 6f 70 63 6f 64  65 28 26 41 37 29 20 3b  |l..opcode(&A7) ;|
00003d70  20 3f 0d 25 76 0f a4 75  6e 64 6f 63 28 26 41 37  | ?.%v..undoc(&A7|
00003d80  29 0d 25 80 0f a4 66 65  74 63 68 28 31 2c 32 29  |).%...fetch(1,2)|
00003d90  0d 25 8a 05 3b 0d 25 94  16 2e 6f 70 63 6f 64 65  |.%..;.%...opcode|
00003da0  28 26 41 38 29 20 3b 20  54 41 59 0d 25 9e 0c 4d  |(&A8) ; TAY.%..M|
00003db0  4f 56 53 20 59 2c 41 0d  25 a8 0c a4 73 65 74 75  |OVS Y,A.%...setu|
00003dc0  70 4e 5a 0d 25 b2 0f a4  66 65 74 63 68 28 31 2c  |pNZ.%...fetch(1,|
00003dd0  32 29 0d 25 bc 05 3b 0d  25 c6 19 2e 6f 70 63 6f  |2).%..;.%...opco|
00003de0  64 65 28 26 41 39 29 20  3b 20 4c 44 41 20 23 4e  |de(&A9) ; LDA #N|
00003df0  0d 25 d0 10 a4 67 65 74  62 79 74 65 31 28 30 29  |.%...getbyte1(0)|
00003e00  0d 25 da 0f a4 6c 64 61  28 30 2c 32 2c 32 29 0d  |.%...lda(0,2,2).|
00003e10  25 e4 05 3b 0d 25 ee 16  2e 6f 70 63 6f 64 65 28  |%..;.%...opcode(|
00003e20  26 41 41 29 20 3b 20 54  41 58 0d 25 f8 0c 4d 4f  |&AA) ; TAX.%..MO|
00003e30  56 53 20 58 2c 41 0d 26  02 0c a4 73 65 74 75 70  |VS X,A.&...setup|
00003e40  4e 5a 0d 26 0c 0f a4 66  65 74 63 68 28 31 2c 32  |NZ.&...fetch(1,2|
00003e50  29 0d 26 16 05 3b 0d 26  20 14 2e 6f 70 63 6f 64  |).&..;.& ..opcod|
00003e60  65 28 26 41 42 29 20 3b  20 3f 0d 26 2a 0f a4 75  |e(&AB) ; ?.&*..u|
00003e70  6e 64 6f 63 28 26 41 42  29 0d 26 34 0f a4 66 65  |ndoc(&AB).&4..fe|
00003e80  74 63 68 28 31 2c 32 29  0d 26 3e 05 3b 0d 26 48  |tch(1,2).&>.;.&H|
00003e90  19 2e 6f 70 63 6f 64 65  28 26 41 43 29 20 3b 20  |..opcode(&AC) ; |
00003ea0  4c 44 59 20 6e 6e 0d 26  52 10 a4 67 65 74 61 62  |LDY nn.&R..getab|
00003eb0  73 28 30 2c 31 29 0d 26  5c 0f a4 6c 64 79 28 30  |s(0,1).&\..ldy(0|
00003ec0  2c 33 2c 34 29 0d 26 66  05 3b 0d 26 70 19 2e 6f  |,3,4).&f.;.&p..o|
00003ed0  70 63 6f 64 65 28 26 41  44 29 20 3b 20 4c 44 41  |pcode(&AD) ; LDA|
00003ee0  20 6e 6e 0d 26 7a 10 a4  67 65 74 61 62 73 28 30  | nn.&z..getabs(0|
00003ef0  2c 31 29 0d 26 84 0f a4  6c 64 61 28 30 2c 33 2c  |,1).&...lda(0,3,|
00003f00  34 29 0d 26 8e 05 3b 0d  26 98 19 2e 6f 70 63 6f  |4).&..;.&...opco|
00003f10  64 65 28 26 41 45 29 20  3b 20 4c 44 58 20 6e 6e  |de(&AE) ; LDX nn|
00003f20  0d 26 a2 10 a4 67 65 74  61 62 73 28 30 2c 31 29  |.&...getabs(0,1)|
00003f30  0d 26 ac 0f a4 6c 64 78  28 30 2c 33 2c 34 29 0d  |.&...ldx(0,3,4).|
00003f40  26 b6 05 3b 0d 26 c0 14  2e 6f 70 63 6f 64 65 28  |&..;.&...opcode(|
00003f50  26 41 46 29 20 3b 20 3f  0d 26 ca 0f a4 75 6e 64  |&AF) ; ?.&...und|
00003f60  6f 63 28 26 41 46 29 0d  26 d4 0f a4 66 65 74 63  |oc(&AF).&...fetc|
00003f70  68 28 31 2c 32 29 0d 26  de 05 3b 0d 26 e8 18 2e  |h(1,2).&..;.&...|
00003f80  6f 70 63 6f 64 65 28 26  42 30 29 20 3b 20 42 43  |opcode(&B0) ; BC|
00003f90  53 20 72 0d 26 f2 0d 54  53 54 20 46 2c 23 25 31  |S r.&..TST F,#%1|
00003fa0  0d 26 fc 14 42 45 51 20  62 72 61 6e 63 68 5f 66  |.&..BEQ branch_f|
00003fb0  65 74 63 68 0d 27 06 0b  a4 62 72 61 6e 63 68 0d  |etch.'...branch.|
00003fc0  27 10 05 3b 0d 27 1a 1c  2e 6f 70 63 6f 64 65 28  |'..;.'...opcode(|
00003fd0  26 42 31 29 20 3b 20 4c  44 41 20 28 6e 29 2c 59  |&B1) ; LDA (n),Y|
00003fe0  0d 27 24 11 a4 67 65 74  70 6f 73 74 28 30 2c 31  |.'$..getpost(0,1|
00003ff0  29 0d 27 2e 0f a4 6c 64  61 28 30 2c 32 2c 35 29  |).'...lda(0,2,5)|
00004000  0d 27 38 05 3b 0d 27 42  1a 2e 6f 70 63 6f 64 65  |.'8.;.'B..opcode|
00004010  28 26 42 32 29 20 3b 20  4c 44 41 20 28 6e 29 0d  |(&B2) ; LDA (n).|
00004020  27 4c 16 a4 67 65 74 7a  65 72 6f 69 6e 64 69 72  |'L..getzeroindir|
00004030  28 30 2c 31 29 0d 27 56  0f a4 6c 64 61 28 30 2c  |(0,1).'V..lda(0,|
00004040  32 2c 35 29 0d 27 60 05  3b 0d 27 6a 14 2e 6f 70  |2,5).'`.;.'j..op|
00004050  63 6f 64 65 28 26 42 33  29 20 3b 20 3f 0d 27 74  |code(&B3) ; ?.'t|
00004060  0f a4 75 6e 64 6f 63 28  26 42 33 29 0d 27 7e 0f  |..undoc(&B3).'~.|
00004070  a4 66 65 74 63 68 28 31  2c 32 29 0d 27 88 05 3b  |.fetch(1,2).'..;|
00004080  0d 27 92 1a 2e 6f 70 63  6f 64 65 28 26 42 34 29  |.'...opcode(&B4)|
00004090  20 3b 20 4c 44 59 20 6e  2c 58 0d 27 9c 16 a4 67  | ; LDY n,X.'...g|
000040a0  65 74 7a 65 72 6f 69 6e  64 65 78 28 30 2c 31 29  |etzeroindex(0,1)|
000040b0  0d 27 a6 0f a4 6c 64 79  28 30 2c 32 2c 34 29 0d  |.'...ldy(0,2,4).|
000040c0  27 b0 05 3b 0d 27 ba 1a  2e 6f 70 63 6f 64 65 28  |'..;.'...opcode(|
000040d0  26 42 35 29 20 3b 20 4c  44 41 20 6e 2c 58 0d 27  |&B5) ; LDA n,X.'|
000040e0  c4 16 a4 67 65 74 7a 65  72 6f 69 6e 64 65 78 28  |...getzeroindex(|
000040f0  30 2c 31 29 0d 27 ce 0f  a4 6c 64 61 28 30 2c 32  |0,1).'...lda(0,2|
00004100  2c 34 29 0d 27 d8 05 3b  0d 27 e2 1a 2e 6f 70 63  |,4).'..;.'...opc|
00004110  6f 64 65 28 26 42 36 29  20 3b 20 4c 44 58 20 6e  |ode(&B6) ; LDX n|
00004120  2c 59 0d 27 ec 17 a4 67  65 74 7a 65 72 6f 69 6e  |,Y.'...getzeroin|
00004130  64 65 78 59 28 30 2c 31  29 0d 27 f6 0f a4 6c 64  |dexY(0,1).'...ld|
00004140  78 28 30 2c 32 2c 34 29  0d 28 00 05 3b 0d 28 0a  |x(0,2,4).(..;.(.|
00004150  14 2e 6f 70 63 6f 64 65  28 26 42 37 29 20 3b 20  |..opcode(&B7) ; |
00004160  3f 0d 28 14 0f a4 75 6e  64 6f 63 28 26 42 37 29  |?.(...undoc(&B7)|
00004170  0d 28 1e 0f a4 66 65 74  63 68 28 31 2c 32 29 0d  |.(...fetch(1,2).|
00004180  28 28 05 3b 0d 28 32 16  2e 6f 70 63 6f 64 65 28  |((.;.(2..opcode(|
00004190  26 42 38 29 20 3b 20 43  4c 56 0d 28 3c 15 42 49  |&B8) ; CLV.(<.BI|
000041a0  43 20 46 2c 46 2c 23 25  31 30 30 30 30 30 30 0d  |C F,F,#%1000000.|
000041b0  28 46 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 28  |(F..fetch(1,2).(|
000041c0  50 05 3b 0d 28 5a 1b 2e  6f 70 63 6f 64 65 28 26  |P.;.(Z..opcode(&|
000041d0  42 39 29 20 3b 20 4c 44  41 20 6e 6e 2c 59 0d 28  |B9) ; LDA nn,Y.(|
000041e0  64 17 a4 67 65 74 61 62  73 69 6e 64 65 78 28 30  |d..getabsindex(0|
000041f0  2c 31 2c 59 29 0d 28 6e  0f a4 6c 64 61 28 30 2c  |,1,Y).(n..lda(0,|
00004200  33 2c 34 29 0d 28 78 05  3b 0d 28 82 16 2e 6f 70  |3,4).(x.;.(...op|
00004210  63 6f 64 65 28 26 42 41  29 20 3b 20 54 53 58 0d  |code(&BA) ; TSX.|
00004220  28 8c 16 80 53 20 58 2c  53 50 2c 23 26 46 46 30  |(...S X,SP,#&FF0|
00004230  30 30 30 30 30 0d 28 96  0c a4 73 65 74 75 70 4e  |00000.(...setupN|
00004240  5a 0d 28 a0 0f a4 66 65  74 63 68 28 31 2c 32 29  |Z.(...fetch(1,2)|
00004250  0d 28 aa 05 3b 0d 28 b4  14 2e 6f 70 63 6f 64 65  |.(..;.(...opcode|
00004260  28 26 42 42 29 20 3b 20  3f 0d 28 be 0f a4 75 6e  |(&BB) ; ?.(...un|
00004270  64 6f 63 28 26 42 42 29  0d 28 c8 0f a4 66 65 74  |doc(&BB).(...fet|
00004280  63 68 28 31 2c 32 29 0d  28 d2 05 3b 0d 28 dc 1b  |ch(1,2).(..;.(..|
00004290  2e 6f 70 63 6f 64 65 28  26 42 43 29 20 3b 20 4c  |.opcode(&BC) ; L|
000042a0  44 59 20 6e 6e 2c 58 0d  28 e6 17 a4 67 65 74 61  |DY nn,X.(...geta|
000042b0  62 73 69 6e 64 65 78 28  30 2c 31 2c 58 29 0d 28  |bsindex(0,1,X).(|
000042c0  f0 0f a4 6c 64 79 28 30  2c 33 2c 34 29 0d 28 fa  |...ldy(0,3,4).(.|
000042d0  05 3b 0d 29 04 1b 2e 6f  70 63 6f 64 65 28 26 42  |.;.)...opcode(&B|
000042e0  44 29 20 3b 20 4c 44 41  20 6e 6e 2c 58 0d 29 0e  |D) ; LDA nn,X.).|
000042f0  17 a4 67 65 74 61 62 73  69 6e 64 65 78 28 30 2c  |..getabsindex(0,|
00004300  31 2c 58 29 0d 29 18 0f  a4 6c 64 61 28 30 2c 33  |1,X).)...lda(0,3|
00004310  2c 34 29 0d 29 22 05 3b  0d 29 2c 1b 2e 6f 70 63  |,4).)".;.),..opc|
00004320  6f 64 65 28 26 42 45 29  20 3b 20 4c 44 58 20 6e  |ode(&BE) ; LDX n|
00004330  6e 2c 59 0d 29 36 17 a4  67 65 74 61 62 73 69 6e  |n,Y.)6..getabsin|
00004340  64 65 78 28 30 2c 31 2c  59 29 0d 29 40 0f a4 6c  |dex(0,1,Y).)@..l|
00004350  64 78 28 30 2c 33 2c 34  29 0d 29 4a 05 3b 0d 29  |dx(0,3,4).)J.;.)|
00004360  54 14 2e 6f 70 63 6f 64  65 28 26 42 46 29 20 3b  |T..opcode(&BF) ;|
00004370  20 3f 0d 29 5e 0f a4 75  6e 64 6f 63 28 26 42 46  | ?.)^..undoc(&BF|
00004380  29 0d 29 68 0f a4 66 65  74 63 68 28 31 2c 32 29  |).)h..fetch(1,2)|
00004390  0d 29 72 05 3b 0d 29 7c  19 2e 6f 70 63 6f 64 65  |.)r.;.)|..opcode|
000043a0  28 26 43 30 29 20 3b 20  43 50 59 20 23 4e 0d 29  |(&C0) ; CPY #N.)|
000043b0  86 10 a4 67 65 74 62 79  74 65 31 28 30 29 0d 29  |...getbyte1(0).)|
000043c0  90 0f a4 63 70 79 28 30  2c 32 2c 32 29 0d 29 9a  |...cpy(0,2,2).).|
000043d0  05 3b 0d 29 a4 1c 2e 6f  70 63 6f 64 65 28 26 43  |.;.)...opcode(&C|
000043e0  31 29 20 3b 20 43 4d 50  20 28 6e 2c 58 29 0d 29  |1) ; CMP (n,X).)|
000043f0  ae 10 a4 67 65 74 70 72  65 28 30 2c 31 29 0d 29  |...getpre(0,1).)|
00004400  b8 0f a4 63 6d 70 28 30  2c 32 2c 36 29 0d 29 c2  |...cmp(0,2,6).).|
00004410  05 3b 0d 29 cc 14 2e 6f  70 63 6f 64 65 28 26 43  |.;.)...opcode(&C|
00004420  32 29 20 3b 20 3f 0d 29  d6 0f a4 75 6e 64 6f 63  |2) ; ?.)...undoc|
00004430  28 26 43 32 29 0d 29 e0  0f a4 66 65 74 63 68 28  |(&C2).)...fetch(|
00004440  31 2c 32 29 0d 29 ea 05  3b 0d 29 f4 14 2e 6f 70  |1,2).)..;.)...op|
00004450  63 6f 64 65 28 26 43 33  29 20 3b 20 3f 0d 29 fe  |code(&C3) ; ?.).|
00004460  0f a4 75 6e 64 6f 63 28  26 43 33 29 0d 2a 08 0f  |..undoc(&C3).*..|
00004470  a4 66 65 74 63 68 28 31  2c 32 29 0d 2a 12 05 3b  |.fetch(1,2).*..;|
00004480  0d 2a 1c 18 2e 6f 70 63  6f 64 65 28 26 43 34 29  |.*...opcode(&C4)|
00004490  20 3b 20 43 50 59 20 6e  0d 2a 26 11 a4 67 65 74  | ; CPY n.*&..get|
000044a0  7a 65 72 6f 28 30 2c 31  29 0d 2a 30 0f a4 63 70  |zero(0,1).*0..cp|
000044b0  79 28 30 2c 32 2c 33 29  0d 2a 3a 05 3b 0d 2a 44  |y(0,2,3).*:.;.*D|
000044c0  18 2e 6f 70 63 6f 64 65  28 26 43 35 29 20 3b 20  |..opcode(&C5) ; |
000044d0  43 4d 50 20 6e 0d 2a 4e  11 a4 67 65 74 7a 65 72  |CMP n.*N..getzer|
000044e0  6f 28 30 2c 31 29 0d 2a  58 0f a4 63 6d 70 28 30  |o(0,1).*X..cmp(0|
000044f0  2c 32 2c 33 29 0d 2a 62  05 3b 0d 2a 6c 18 2e 6f  |,2,3).*b.;.*l..o|
00004500  70 63 6f 64 65 28 26 43  36 29 20 3b 20 44 45 43  |pcode(&C6) ; DEC|
00004510  20 6e 0d 2a 76 11 a4 67  65 74 7a 65 72 6f 28 30  | n.*v..getzero(0|
00004520  2c 31 29 0d 2a 80 0b a4  64 65 63 28 30 29 0d 2a  |,1).*...dec(0).*|
00004530  8a 25 53 54 52 42 20 52  30 2c 5b 6d 65 6d 2c 52  |.%STRB R0,[mem,R|
00004540  31 5d 20 3b 20 7a 65 72  6f 20 70 61 67 65 20 53  |1] ; zero page S|
00004550  54 52 42 0d 2a 94 0f a4  66 65 74 63 68 28 32 2c  |TRB.*...fetch(2,|
00004560  35 29 0d 2a 9e 05 3b 0d  2a a8 14 2e 6f 70 63 6f  |5).*..;.*...opco|
00004570  64 65 28 26 43 37 29 20  3b 20 3f 0d 2a b2 0f a4  |de(&C7) ; ?.*...|
00004580  75 6e 64 6f 63 28 26 43  37 29 0d 2a bc 0f a4 66  |undoc(&C7).*...f|
00004590  65 74 63 68 28 31 2c 32  29 0d 2a c6 05 3b 0d 2a  |etch(1,2).*..;.*|
000045a0  d0 16 2e 6f 70 63 6f 64  65 28 26 43 38 29 20 3b  |...opcode(&C8) ;|
000045b0  20 49 4e 59 0d 2a da 0b  a4 69 6e 63 28 59 29 0d  | INY.*...inc(Y).|
000045c0  2a e4 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 2a  |*...fetch(1,2).*|
000045d0  ee 05 3b 0d 2a f8 19 2e  6f 70 63 6f 64 65 28 26  |..;.*...opcode(&|
000045e0  43 39 29 20 3b 20 43 4d  50 20 23 4e 0d 2b 02 10  |C9) ; CMP #N.+..|
000045f0  a4 67 65 74 62 79 74 65  31 28 30 29 0d 2b 0c 0f  |.getbyte1(0).+..|
00004600  a4 63 6d 70 28 30 2c 32  2c 32 29 0d 2b 16 05 3b  |.cmp(0,2,2).+..;|
00004610  0d 2b 20 16 2e 6f 70 63  6f 64 65 28 26 43 41 29  |.+ ..opcode(&CA)|
00004620  20 3b 20 44 45 58 0d 2b  2a 0b a4 64 65 63 28 58  | ; DEX.+*..dec(X|
00004630  29 0d 2b 34 0f a4 66 65  74 63 68 28 31 2c 32 29  |).+4..fetch(1,2)|
00004640  0d 2b 3e 05 3b 0d 2b 48  14 2e 6f 70 63 6f 64 65  |.+>.;.+H..opcode|
00004650  28 26 43 42 29 20 3b 20  3f 0d 2b 52 0f a4 75 6e  |(&CB) ; ?.+R..un|
00004660  64 6f 63 28 26 43 42 29  0d 2b 5c 0f a4 66 65 74  |doc(&CB).+\..fet|
00004670  63 68 28 31 2c 32 29 0d  2b 66 05 3b 0d 2b 70 19  |ch(1,2).+f.;.+p.|
00004680  2e 6f 70 63 6f 64 65 28  26 43 43 29 20 3b 20 43  |.opcode(&CC) ; C|
00004690  50 59 20 6e 6e 0d 2b 7a  10 a4 67 65 74 61 62 73  |PY nn.+z..getabs|
000046a0  28 30 2c 31 29 0d 2b 84  0f a4 63 70 79 28 30 2c  |(0,1).+...cpy(0,|
000046b0  33 2c 34 29 0d 2b 8e 05  3b 0d 2b 98 19 2e 6f 70  |3,4).+..;.+...op|
000046c0  63 6f 64 65 28 26 43 44  29 20 3b 20 43 4d 50 20  |code(&CD) ; CMP |
000046d0  6e 6e 0d 2b a2 10 a4 67  65 74 61 62 73 28 30 2c  |nn.+...getabs(0,|
000046e0  31 29 0d 2b ac 0f a4 63  6d 70 28 30 2c 33 2c 34  |1).+...cmp(0,3,4|
000046f0  29 0d 2b b6 05 3b 0d 2b  c0 19 2e 6f 70 63 6f 64  |).+..;.+...opcod|
00004700  65 28 26 43 45 29 20 3b  20 44 45 43 20 6e 6e 0d  |e(&CE) ; DEC nn.|
00004710  2b ca 10 a4 67 65 74 61  62 73 28 30 2c 31 29 0d  |+...getabs(0,1).|
00004720  2b d4 0b a4 64 65 63 28  30 29 0d 2b de 0e a4 73  |+...dec(0).+...s|
00004730  74 72 62 28 30 2c 31 29  0d 2b e8 0f a4 66 65 74  |trb(0,1).+...fet|
00004740  63 68 28 33 2c 36 29 0d  2b f2 05 3b 0d 2b fc 14  |ch(3,6).+..;.+..|
00004750  2e 6f 70 63 6f 64 65 28  26 43 46 29 20 3b 20 3f  |.opcode(&CF) ; ?|
00004760  0d 2c 06 0f a4 75 6e 64  6f 63 28 26 43 46 29 0d  |.,...undoc(&CF).|
00004770  2c 10 0f a4 66 65 74 63  68 28 31 2c 32 29 0d 2c  |,...fetch(1,2).,|
00004780  1a 05 3b 0d 2c 24 18 2e  6f 70 63 6f 64 65 28 26  |..;.,$..opcode(&|
00004790  44 30 29 20 3b 20 42 4e  45 20 72 0d 2c 2e 0e 54  |D0) ; BNE r.,..T|
000047a0  53 54 20 46 2c 23 25 31  30 0d 2c 38 14 42 4e 45  |ST F,#%10.,8.BNE|
000047b0  20 62 72 61 6e 63 68 5f  66 65 74 63 68 0d 2c 42  | branch_fetch.,B|
000047c0  0b a4 62 72 61 6e 63 68  0d 2c 4c 05 3b 0d 2c 56  |..branch.,L.;.,V|
000047d0  1c 2e 6f 70 63 6f 64 65  28 26 44 31 29 20 3b 20  |..opcode(&D1) ; |
000047e0  43 4d 50 20 28 6e 29 2c  59 0d 2c 60 11 a4 67 65  |CMP (n),Y.,`..ge|
000047f0  74 70 6f 73 74 28 30 2c  31 29 0d 2c 6a 0f a4 63  |tpost(0,1).,j..c|
00004800  6d 70 28 30 2c 32 2c 35  29 0d 2c 74 05 3b 0d 2c  |mp(0,2,5).,t.;.,|
00004810  7e 1a 2e 6f 70 63 6f 64  65 28 26 44 32 29 20 3b  |~..opcode(&D2) ;|
00004820  20 43 4d 50 20 28 6e 29  0d 2c 88 16 a4 67 65 74  | CMP (n).,...get|
00004830  7a 65 72 6f 69 6e 64 69  72 28 30 2c 31 29 0d 2c  |zeroindir(0,1).,|
00004840  92 0f a4 63 6d 70 28 30  2c 32 2c 35 29 0d 2c 9c  |...cmp(0,2,5).,.|
00004850  05 3b 0d 2c a6 14 2e 6f  70 63 6f 64 65 28 26 44  |.;.,...opcode(&D|
00004860  33 29 20 3b 20 3f 0d 2c  b0 0f a4 75 6e 64 6f 63  |3) ; ?.,...undoc|
00004870  28 26 44 33 29 0d 2c ba  0f a4 66 65 74 63 68 28  |(&D3).,...fetch(|
00004880  31 2c 32 29 0d 2c c4 05  3b 0d 2c ce 14 2e 6f 70  |1,2).,..;.,...op|
00004890  63 6f 64 65 28 26 44 34  29 20 3b 20 3f 0d 2c d8  |code(&D4) ; ?.,.|
000048a0  0f a4 75 6e 64 6f 63 28  26 44 34 29 0d 2c e2 0f  |..undoc(&D4).,..|
000048b0  a4 66 65 74 63 68 28 31  2c 32 29 0d 2c ec 05 3b  |.fetch(1,2).,..;|
000048c0  0d 2c f6 1a 2e 6f 70 63  6f 64 65 28 26 44 35 29  |.,...opcode(&D5)|
000048d0  20 3b 20 43 4d 50 20 6e  2c 58 0d 2d 00 16 a4 67  | ; CMP n,X.-...g|
000048e0  65 74 7a 65 72 6f 69 6e  64 65 78 28 30 2c 31 29  |etzeroindex(0,1)|
000048f0  0d 2d 0a 0f a4 63 6d 70  28 30 2c 32 2c 34 29 0d  |.-...cmp(0,2,4).|
00004900  2d 14 05 3b 0d 2d 1e 1a  2e 6f 70 63 6f 64 65 28  |-..;.-...opcode(|
00004910  26 44 36 29 20 3b 20 44  45 43 20 6e 2c 58 0d 2d  |&D6) ; DEC n,X.-|
00004920  28 16 a4 67 65 74 7a 65  72 6f 69 6e 64 65 78 28  |(..getzeroindex(|
00004930  30 2c 31 29 0d 2d 32 0b  a4 64 65 63 28 30 29 0d  |0,1).-2..dec(0).|
00004940  2d 3c 1b 53 54 52 42 20  52 30 2c 5b 6d 65 6d 2c  |-<.STRB R0,[mem,|
00004950  52 31 2c 4c 53 52 23 32  34 5d 0d 2d 46 0f a4 66  |R1,LSR#24].-F..f|
00004960  65 74 63 68 28 32 2c 36  29 0d 2d 50 05 3b 0d 2d  |etch(2,6).-P.;.-|
00004970  5a 14 2e 6f 70 63 6f 64  65 28 26 44 37 29 20 3b  |Z..opcode(&D7) ;|
00004980  20 3f 0d 2d 64 0f a4 75  6e 64 6f 63 28 26 44 37  | ?.-d..undoc(&D7|
00004990  29 0d 2d 6e 0f a4 66 65  74 63 68 28 31 2c 32 29  |).-n..fetch(1,2)|
000049a0  0d 2d 78 05 3b 0d 2d 82  16 2e 6f 70 63 6f 64 65  |.-x.;.-...opcode|
000049b0  28 26 44 38 29 20 3b 20  43 4c 44 0d 2d 8c 10 54  |(&D8) ; CLD.-..T|
000049c0  53 54 20 46 2c 23 25 31  30 30 30 0d 2d 96 1f 53  |ST F,#%1000.-..S|
000049d0  55 42 4e 45 20 74 61 62  6c 65 2c 74 61 62 6c 65  |UBNE table,table|
000049e0  2c 23 32 35 36 2a 36 34  2a 34 0d 2d a0 14 42 49  |,#256*64*4.-..BI|
000049f0  43 4e 45 20 46 2c 46 2c  23 25 31 30 30 30 0d 2d  |CNE F,F,#%1000.-|
00004a00  aa 1a 3b 41 44 52 20 74  61 62 6c 65 2c 6f 70 63  |..;ADR table,opc|
00004a10  6f 64 65 74 61 62 6c 65  0d 2d b4 0f a4 66 65 74  |odetable.-...fet|
00004a20  63 68 28 31 2c 32 29 0d  2d be 05 3b 0d 2d c8 1b  |ch(1,2).-..;.-..|
00004a30  2e 6f 70 63 6f 64 65 28  26 44 39 29 20 3b 20 43  |.opcode(&D9) ; C|
00004a40  4d 50 20 6e 6e 2c 59 0d  2d d2 17 a4 67 65 74 61  |MP nn,Y.-...geta|
00004a50  62 73 69 6e 64 65 78 28  30 2c 31 2c 59 29 0d 2d  |bsindex(0,1,Y).-|
00004a60  dc 0f a4 63 6d 70 28 30  2c 33 2c 34 29 0d 2d e6  |...cmp(0,3,4).-.|
00004a70  05 3b 0d 2d f0 16 2e 6f  70 63 6f 64 65 28 26 44  |.;.-...opcode(&D|
00004a80  41 29 20 3b 20 50 48 58  0d 2d fa 0c a4 70 75 73  |A) ; PHX.-...pus|
00004a90  68 28 58 29 0d 2e 04 0f  a4 66 65 74 63 68 28 31  |h(X).....fetch(1|
00004aa0  2c 33 29 0d 2e 0e 05 3b  0d 2e 18 14 2e 6f 70 63  |,3)....;.....opc|
00004ab0  6f 64 65 28 26 44 42 29  20 3b 20 3f 0d 2e 22 0f  |ode(&DB) ; ?..".|
00004ac0  a4 75 6e 64 6f 63 28 26  44 42 29 0d 2e 2c 0f a4  |.undoc(&DB)..,..|
00004ad0  66 65 74 63 68 28 31 2c  32 29 0d 2e 36 05 3b 0d  |fetch(1,2)..6.;.|
00004ae0  2e 40 1d 2e 6f 70 63 6f  64 65 28 26 44 43 29 20  |.@..opcode(&DC) |
00004af0  3b 20 28 4e 4f 50 20 6e  6e 2c 58 29 0d 2e 4a 12  |; (NOP nn,X)..J.|
00004b00  3b 53 57 49 20 26 31 30  30 2b 97 22 44 22 0d 2e  |;SWI &100+."D"..|
00004b10  54 12 3b 53 57 49 20 26  31 30 30 2b 97 22 43 22  |T.;SWI &100+."C"|
00004b20  0d 2e 5e 05 20 0d 2e 68  0f a4 66 65 74 63 68 28  |..^. ..h..fetch(|
00004b30  33 2c 30 29 0d 2e 72 05  3b 0d 2e 7c 1b 2e 6f 70  |3,0)..r.;..|..op|
00004b40  63 6f 64 65 28 26 44 44  29 20 3b 20 43 4d 50 20  |code(&DD) ; CMP |
00004b50  6e 6e 2c 58 0d 2e 86 17  a4 67 65 74 61 62 73 69  |nn,X.....getabsi|
00004b60  6e 64 65 78 28 30 2c 31  2c 58 29 0d 2e 90 0f a4  |ndex(0,1,X).....|
00004b70  63 6d 70 28 30 2c 33 2c  34 29 0d 2e 9a 05 3b 0d  |cmp(0,3,4)....;.|
00004b80  2e a4 1b 2e 6f 70 63 6f  64 65 28 26 44 45 29 20  |....opcode(&DE) |
00004b90  3b 20 44 45 43 20 6e 6e  2c 58 0d 2e ae 17 a4 67  |; DEC nn,X.....g|
00004ba0  65 74 61 62 73 69 6e 64  65 78 28 30 2c 31 2c 58  |etabsindex(0,1,X|
00004bb0  29 0d 2e b8 0b a4 64 65  63 28 30 29 0d 2e c2 10  |).....dec(0)....|
00004bc0  a4 73 74 72 62 31 36 28  30 2c 31 29 0d 2e cc 0f  |.strb16(0,1)....|
00004bd0  a4 66 65 74 63 68 28 33  2c 37 29 0d 2e d6 05 3b  |.fetch(3,7)....;|
00004be0  0d 2e e0 14 2e 6f 70 63  6f 64 65 28 26 44 46 29  |.....opcode(&DF)|
00004bf0  20 3b 20 3f 0d 2e ea 0f  a4 75 6e 64 6f 63 28 26  | ; ?.....undoc(&|
00004c00  44 46 29 0d 2e f4 0f a4  66 65 74 63 68 28 31 2c  |DF).....fetch(1,|
00004c10  32 29 0d 2e fe 05 3b 0d  2f 08 19 2e 6f 70 63 6f  |2)....;./...opco|
00004c20  64 65 28 26 45 30 29 20  3b 20 43 50 58 20 23 4e  |de(&E0) ; CPX #N|
00004c30  0d 2f 12 10 a4 67 65 74  62 79 74 65 31 28 30 29  |./...getbyte1(0)|
00004c40  0d 2f 1c 0f a4 63 70 78  28 30 2c 32 2c 32 29 0d  |./...cpx(0,2,2).|
00004c50  2f 26 05 3b 0d 2f 30 1c  2e 6f 70 63 6f 64 65 28  |/&.;./0..opcode(|
00004c60  26 45 31 29 20 3b 20 53  42 43 20 28 6e 2c 58 29  |&E1) ; SBC (n,X)|
00004c70  0d 2f 3a 10 a4 67 65 74  70 72 65 28 30 2c 31 29  |./:..getpre(0,1)|
00004c80  0d 2f 44 0f a4 73 62 63  28 30 2c 32 2c 36 29 0d  |./D..sbc(0,2,6).|
00004c90  2f 4e 05 3b 0d 2f 58 14  2e 6f 70 63 6f 64 65 28  |/N.;./X..opcode(|
00004ca0  26 45 32 29 20 3b 20 3f  0d 2f 62 0f a4 75 6e 64  |&E2) ; ?./b..und|
00004cb0  6f 63 28 26 45 32 29 0d  2f 6c 0f a4 66 65 74 63  |oc(&E2)./l..fetc|
00004cc0  68 28 31 2c 32 29 0d 2f  76 05 3b 0d 2f 80 14 2e  |h(1,2)./v.;./...|
00004cd0  6f 70 63 6f 64 65 28 26  45 33 29 20 3b 20 3f 0d  |opcode(&E3) ; ?.|
00004ce0  2f 8a 0f a4 75 6e 64 6f  63 28 26 45 33 29 0d 2f  |/...undoc(&E3)./|
00004cf0  94 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 2f 9e  |...fetch(1,2)./.|
00004d00  05 3b 0d 2f a8 18 2e 6f  70 63 6f 64 65 28 26 45  |.;./...opcode(&E|
00004d10  34 29 20 3b 20 43 50 58  20 6e 0d 2f b2 11 a4 67  |4) ; CPX n./...g|
00004d20  65 74 7a 65 72 6f 28 30  2c 31 29 0d 2f bc 0f a4  |etzero(0,1)./...|
00004d30  63 70 78 28 30 2c 32 2c  33 29 0d 2f c6 05 3b 0d  |cpx(0,2,3)./..;.|
00004d40  2f d0 18 2e 6f 70 63 6f  64 65 28 26 45 35 29 20  |/...opcode(&E5) |
00004d50  3b 20 53 42 43 20 6e 0d  2f da 11 a4 67 65 74 7a  |; SBC n./...getz|
00004d60  65 72 6f 28 30 2c 31 29  0d 2f e4 0f a4 73 62 63  |ero(0,1)./...sbc|
00004d70  28 30 2c 32 2c 33 29 0d  2f ee 05 3b 0d 2f f8 18  |(0,2,3)./..;./..|
00004d80  2e 6f 70 63 6f 64 65 28  26 45 36 29 20 3b 20 49  |.opcode(&E6) ; I|
00004d90  4e 43 20 6e 0d 30 02 11  a4 67 65 74 7a 65 72 6f  |NC n.0...getzero|
00004da0  28 30 2c 31 29 0d 30 0c  0b a4 69 6e 63 28 30 29  |(0,1).0...inc(0)|
00004db0  0d 30 16 25 53 54 52 42  20 52 30 2c 5b 6d 65 6d  |.0.%STRB R0,[mem|
00004dc0  2c 52 31 5d 20 3b 20 7a  65 72 6f 20 70 61 67 65  |,R1] ; zero page|
00004dd0  20 53 54 52 42 0d 30 20  0f a4 66 65 74 63 68 28  | STRB.0 ..fetch(|
00004de0  32 2c 35 29 0d 30 2a 05  3b 0d 30 34 14 2e 6f 70  |2,5).0*.;.04..op|
00004df0  63 6f 64 65 28 26 45 37  29 20 3b 20 3f 0d 30 3e  |code(&E7) ; ?.0>|
00004e00  0f a4 75 6e 64 6f 63 28  26 45 37 29 0d 30 48 0f  |..undoc(&E7).0H.|
00004e10  a4 66 65 74 63 68 28 31  2c 32 29 0d 30 52 05 3b  |.fetch(1,2).0R.;|
00004e20  0d 30 5c 16 2e 6f 70 63  6f 64 65 28 26 45 38 29  |.0\..opcode(&E8)|
00004e30  20 3b 20 49 4e 58 0d 30  66 0b a4 69 6e 63 28 58  | ; INX.0f..inc(X|
00004e40  29 0d 30 70 0f a4 66 65  74 63 68 28 31 2c 32 29  |).0p..fetch(1,2)|
00004e50  0d 30 7a 05 3b 0d 30 84  19 2e 6f 70 63 6f 64 65  |.0z.;.0...opcode|
00004e60  28 26 45 39 29 20 3b 20  53 42 43 20 23 4e 0d 30  |(&E9) ; SBC #N.0|
00004e70  8e 10 a4 67 65 74 62 79  74 65 31 28 30 29 0d 30  |...getbyte1(0).0|
00004e80  98 0f a4 73 62 63 28 30  2c 32 2c 32 29 0d 30 a2  |...sbc(0,2,2).0.|
00004e90  05 3b 0d 30 ac 16 2e 6f  70 63 6f 64 65 28 26 45  |.;.0...opcode(&E|
00004ea0  41 29 20 3b 20 4e 4f 50  0d 30 b6 05 20 0d 30 c0  |A) ; NOP.0.. .0.|
00004eb0  0f a4 66 65 74 63 68 28  31 2c 32 29 0d 30 ca 05  |..fetch(1,2).0..|
00004ec0  3b 0d 30 d4 14 2e 6f 70  63 6f 64 65 28 26 45 42  |;.0...opcode(&EB|
00004ed0  29 20 3b 20 3f 0d 30 de  0f a4 75 6e 64 6f 63 28  |) ; ?.0...undoc(|
00004ee0  26 45 42 29 0d 30 e8 0f  a4 66 65 74 63 68 28 31  |&EB).0...fetch(1|
00004ef0  2c 32 29 0d 30 f2 05 3b  0d 30 fc 19 2e 6f 70 63  |,2).0..;.0...opc|
00004f00  6f 64 65 28 26 45 43 29  20 3b 20 43 50 58 20 6e  |ode(&EC) ; CPX n|
00004f10  6e 0d 31 06 10 a4 67 65  74 61 62 73 28 30 2c 31  |n.1...getabs(0,1|
00004f20  29 0d 31 10 0f a4 63 70  78 28 30 2c 33 2c 34 29  |).1...cpx(0,3,4)|
00004f30  0d 31 1a 05 3b 0d 31 24  19 2e 6f 70 63 6f 64 65  |.1..;.1$..opcode|
00004f40  28 26 45 44 29 20 3b 20  53 42 43 20 6e 6e 0d 31  |(&ED) ; SBC nn.1|
00004f50  2e 10 a4 67 65 74 61 62  73 28 30 2c 31 29 0d 31  |...getabs(0,1).1|
00004f60  38 0f a4 73 62 63 28 30  2c 33 2c 34 29 0d 31 42  |8..sbc(0,3,4).1B|
00004f70  05 3b 0d 31 4c 19 2e 6f  70 63 6f 64 65 28 26 45  |.;.1L..opcode(&E|
00004f80  45 29 20 3b 20 49 4e 43  20 6e 6e 0d 31 56 10 a4  |E) ; INC nn.1V..|
00004f90  67 65 74 61 62 73 28 30  2c 31 29 0d 31 60 0b a4  |getabs(0,1).1`..|
00004fa0  69 6e 63 28 30 29 0d 31  6a 0e a4 73 74 72 62 28  |inc(0).1j..strb(|
00004fb0  30 2c 31 29 0d 31 74 0f  a4 66 65 74 63 68 28 33  |0,1).1t..fetch(3|
00004fc0  2c 36 29 0d 31 7e 05 3b  0d 31 88 14 2e 6f 70 63  |,6).1~.;.1...opc|
00004fd0  6f 64 65 28 26 45 46 29  20 3b 20 3f 0d 31 92 0f  |ode(&EF) ; ?.1..|
00004fe0  a4 75 6e 64 6f 63 28 26  45 46 29 0d 31 9c 0f a4  |.undoc(&EF).1...|
00004ff0  66 65 74 63 68 28 31 2c  32 29 0d 31 a6 05 3b 0d  |fetch(1,2).1..;.|
00005000  31 b0 18 2e 6f 70 63 6f  64 65 28 26 46 30 29 20  |1...opcode(&F0) |
00005010  3b 20 42 45 51 20 72 0d  31 ba 0e 54 53 54 20 46  |; BEQ r.1..TST F|
00005020  2c 23 25 31 30 0d 31 c4  14 42 45 51 20 62 72 61  |,#%10.1..BEQ bra|
00005030  6e 63 68 5f 66 65 74 63  68 0d 31 ce 0b a4 62 72  |nch_fetch.1...br|
00005040  61 6e 63 68 0d 31 d8 05  3b 0d 31 e2 1c 2e 6f 70  |anch.1..;.1...op|
00005050  63 6f 64 65 28 26 46 31  29 20 3b 20 53 42 43 20  |code(&F1) ; SBC |
00005060  28 6e 29 2c 59 0d 31 ec  11 a4 67 65 74 70 6f 73  |(n),Y.1...getpos|
00005070  74 28 30 2c 31 29 0d 31  f6 0f a4 73 62 63 28 30  |t(0,1).1...sbc(0|
00005080  2c 32 2c 35 29 0d 32 00  05 3b 0d 32 0a 1a 2e 6f  |,2,5).2..;.2...o|
00005090  70 63 6f 64 65 28 26 46  32 29 20 3b 20 53 42 43  |pcode(&F2) ; SBC|
000050a0  20 28 6e 29 0d 32 14 16  a4 67 65 74 7a 65 72 6f  | (n).2...getzero|
000050b0  69 6e 64 69 72 28 30 2c  31 29 0d 32 1e 0f a4 73  |indir(0,1).2...s|
000050c0  62 63 28 30 2c 32 2c 35  29 0d 32 28 05 3b 0d 32  |bc(0,2,5).2(.;.2|
000050d0  32 14 2e 6f 70 63 6f 64  65 28 26 46 33 29 20 3b  |2..opcode(&F3) ;|
000050e0  20 3f 0d 32 3c 0f a4 75  6e 64 6f 63 28 26 46 33  | ?.2<..undoc(&F3|
000050f0  29 0d 32 46 0f a4 66 65  74 63 68 28 31 2c 32 29  |).2F..fetch(1,2)|
00005100  0d 32 50 05 3b 0d 32 5a  14 2e 6f 70 63 6f 64 65  |.2P.;.2Z..opcode|
00005110  28 26 46 34 29 20 3b 20  3f 0d 32 64 0f a4 75 6e  |(&F4) ; ?.2d..un|
00005120  64 6f 63 28 26 46 34 29  0d 32 6e 0f a4 66 65 74  |doc(&F4).2n..fet|
00005130  63 68 28 31 2c 32 29 0d  32 78 05 3b 0d 32 82 1a  |ch(1,2).2x.;.2..|
00005140  2e 6f 70 63 6f 64 65 28  26 46 35 29 20 3b 20 53  |.opcode(&F5) ; S|
00005150  42 43 20 6e 2c 58 0d 32  8c 16 a4 67 65 74 7a 65  |BC n,X.2...getze|
00005160  72 6f 69 6e 64 65 78 28  30 2c 31 29 0d 32 96 0f  |roindex(0,1).2..|
00005170  a4 73 62 63 28 30 2c 32  2c 34 29 0d 32 a0 05 3b  |.sbc(0,2,4).2..;|
00005180  0d 32 aa 1a 2e 6f 70 63  6f 64 65 28 26 46 36 29  |.2...opcode(&F6)|
00005190  20 3b 20 49 4e 43 20 6e  2c 58 0d 32 b4 16 a4 67  | ; INC n,X.2...g|
000051a0  65 74 7a 65 72 6f 69 6e  64 65 78 28 30 2c 31 29  |etzeroindex(0,1)|
000051b0  0d 32 be 0b a4 69 6e 63  28 30 29 0d 32 c8 2c 53  |.2...inc(0).2.,S|
000051c0  54 52 42 20 52 30 2c 5b  6d 65 6d 2c 52 31 2c 4c  |TRB R0,[mem,R1,L|
000051d0  53 52 23 32 34 5d 20 3b  20 7a 65 72 6f 20 70 61  |SR#24] ; zero pa|
000051e0  67 65 20 53 54 52 42 0d  32 d2 0f a4 66 65 74 63  |ge STRB.2...fetc|
000051f0  68 28 32 2c 36 29 0d 32  dc 05 3b 0d 32 e6 14 2e  |h(2,6).2..;.2...|
00005200  6f 70 63 6f 64 65 28 26  46 37 29 20 3b 20 3f 0d  |opcode(&F7) ; ?.|
00005210  32 f0 0f a4 75 6e 64 6f  63 28 26 46 37 29 0d 32  |2...undoc(&F7).2|
00005220  fa 0f a4 66 65 74 63 68  28 31 2c 32 29 0d 33 04  |...fetch(1,2).3.|
00005230  05 3b 0d 33 0e 16 2e 6f  70 63 6f 64 65 28 26 46  |.;.3...opcode(&F|
00005240  38 29 20 3b 20 53 45 44  0d 33 18 10 54 53 54 20  |8) ; SED.3..TST |
00005250  46 2c 23 25 31 30 30 30  0d 33 22 1f 41 44 44 45  |F,#%1000.3".ADDE|
00005260  51 20 74 61 62 6c 65 2c  74 61 62 6c 65 2c 23 32  |Q table,table,#2|
00005270  35 36 2a 36 34 2a 34 0d  33 2c 13 84 52 45 51 20  |56*64*4.3,..REQ |
00005280  46 2c 46 2c 23 25 31 30  30 30 0d 33 36 17 3b 41  |F,F,#%1000.36.;A|
00005290  44 52 20 74 61 62 6c 65  2c 62 63 64 74 61 62 6c  |DR table,bcdtabl|
000052a0  65 0d 33 40 0f a4 66 65  74 63 68 28 31 2c 32 29  |e.3@..fetch(1,2)|
000052b0  0d 33 4a 05 3b 0d 33 54  1b 2e 6f 70 63 6f 64 65  |.3J.;.3T..opcode|
000052c0  28 26 46 39 29 20 3b 20  53 42 43 20 6e 6e 2c 59  |(&F9) ; SBC nn,Y|
000052d0  0d 33 5e 17 a4 67 65 74  61 62 73 69 6e 64 65 78  |.3^..getabsindex|
000052e0  28 30 2c 31 2c 59 29 0d  33 68 0f a4 73 62 63 28  |(0,1,Y).3h..sbc(|
000052f0  30 2c 33 2c 34 29 0d 33  72 05 3b 0d 33 7c 16 2e  |0,3,4).3r.;.3|..|
00005300  6f 70 63 6f 64 65 28 26  46 41 29 20 3b 20 50 4c  |opcode(&FA) ; PL|
00005310  58 0d 33 86 0c a4 70 75  6c 6c 28 58 29 0d 33 90  |X.3...pull(X).3.|
00005320  0f a4 66 65 74 63 68 28  31 2c 34 29 0d 33 9a 05  |..fetch(1,4).3..|
00005330  3b 0d 33 a4 14 2e 6f 70  63 6f 64 65 28 26 46 42  |;.3...opcode(&FB|
00005340  29 20 3b 20 3f 0d 33 ae  0f a4 75 6e 64 6f 63 28  |) ; ?.3...undoc(|
00005350  26 46 42 29 0d 33 b8 0f  a4 66 65 74 63 68 28 31  |&FB).3...fetch(1|
00005360  2c 32 29 0d 33 c2 05 3b  0d 33 cc 14 2e 6f 70 63  |,2).3..;.3...opc|
00005370  6f 64 65 28 26 46 43 29  20 3b 20 3f 0d 33 d6 0f  |ode(&FC) ; ?.3..|
00005380  a4 75 6e 64 6f 63 28 26  46 43 29 0d 33 e0 0f a4  |.undoc(&FC).3...|
00005390  66 65 74 63 68 28 31 2c  32 29 0d 33 ea 05 3b 0d  |fetch(1,2).3..;.|
000053a0  33 f4 1b 2e 6f 70 63 6f  64 65 28 26 46 44 29 20  |3...opcode(&FD) |
000053b0  3b 20 53 42 43 20 6e 6e  2c 58 0d 33 fe 17 a4 67  |; SBC nn,X.3...g|
000053c0  65 74 61 62 73 69 6e 64  65 78 28 30 2c 31 2c 58  |etabsindex(0,1,X|
000053d0  29 0d 34 08 0f a4 73 62  63 28 30 2c 33 2c 34 29  |).4...sbc(0,3,4)|
000053e0  0d 34 12 05 3b 0d 34 1c  1b 2e 6f 70 63 6f 64 65  |.4..;.4...opcode|
000053f0  28 26 46 45 29 20 3b 20  49 4e 43 20 6e 6e 2c 58  |(&FE) ; INC nn,X|
00005400  0d 34 26 17 a4 67 65 74  61 62 73 69 6e 64 65 78  |.4&..getabsindex|
00005410  28 30 2c 31 2c 58 29 0d  34 30 0b a4 69 6e 63 28  |(0,1,X).40..inc(|
00005420  30 29 0d 34 3a 10 a4 73  74 72 62 31 36 28 30 2c  |0).4:..strb16(0,|
00005430  31 29 0d 34 44 0f a4 66  65 74 63 68 28 33 2c 37  |1).4D..fetch(3,7|
00005440  29 0d 34 4e 05 3b 0d 34  58 14 2e 6f 70 63 6f 64  |).4N.;.4X..opcod|
00005450  65 28 26 46 46 29 20 3b  20 3f 0d 34 62 0f a4 75  |e(&FF) ; ?.4b..u|
00005460  6e 64 6f 63 28 26 46 46  29 0d 34 6c 0f a4 66 65  |ndoc(&FF).4l..fe|
00005470  74 63 68 28 31 2c 32 29  0d 34 76 05 3b 0d 34 80  |tch(1,2).4v.;.4.|
00005480  05 5d 0d 34 8a 0f ed 20  62 63 64 5f 6c 6f 6f 70  |.].4... bcd_loop|
00005490  25 0d 34 94 04 0d 34 9e  2a f4 46 4f 52 20 49 25  |%.4...4.*.FOR I%|
000054a0  3d 63 6f 64 65 2b 30 20  54 4f 20 63 6f 64 65 2b  |=code+0 TO code+|
000054b0  32 35 35 2a 34 2a 36 34  20 53 54 45 50 20 34 0d  |255*4*64 STEP 4.|
000054c0  34 a8 1b f4 62 63 64 28  30 29 21 49 25 3d 6f 70  |4...bcd(0)!I%=op|
000054d0  63 6f 64 65 28 30 29 21  49 25 0d 34 b2 09 f4 4e  |code(0)!I%.4...N|
000054e0  45 58 54 0d 34 bc 0d 50  25 3d 62 63 64 28 30 29  |EXT.4..P%=bcd(0)|
000054f0  0d 34 c6 0e 4f 25 3d 50  25 2b 63 6f 64 65 0d 34  |.4..O%=P%+code.4|
00005500  d0 09 5b 4f 50 54 70 0d  34 da 0d a4 62 63 64 28  |..[OPTp.4...bcd(|
00005510  26 36 31 29 0d 34 e4 19  2e 62 63 64 28 26 36 31  |&61).4...bcd(&61|
00005520  29 20 3b 20 41 44 43 20  28 6e 2c 58 29 0d 34 ee  |) ; ADC (n,X).4.|
00005530  10 a4 67 65 74 70 72 65  28 30 2c 31 29 0d 34 f8  |..getpre(0,1).4.|
00005540  12 a4 61 64 63 42 43 44  28 30 2c 32 2c 36 29 0d  |..adcBCD(0,2,6).|
00005550  35 02 04 0d 35 0c 0d a4  62 63 64 28 26 36 35 29  |5...5...bcd(&65)|
00005560  0d 35 16 15 2e 62 63 64  28 26 36 35 29 20 3b 20  |.5...bcd(&65) ; |
00005570  41 44 43 20 6e 0d 35 20  11 a4 67 65 74 7a 65 72  |ADC n.5 ..getzer|
00005580  6f 28 30 2c 31 29 0d 35  2a 12 a4 61 64 63 42 43  |o(0,1).5*..adcBC|
00005590  44 28 30 2c 32 2c 33 29  0d 35 34 04 0d 35 3e 0d  |D(0,2,3).54..5>.|
000055a0  a4 62 63 64 28 26 36 39  29 0d 35 48 16 2e 62 63  |.bcd(&69).5H..bc|
000055b0  64 28 26 36 39 29 20 3b  20 41 44 43 20 23 4e 0d  |d(&69) ; ADC #N.|
000055c0  35 52 10 a4 67 65 74 62  79 74 65 31 28 30 29 0d  |5R..getbyte1(0).|
000055d0  35 5c 12 a4 61 64 63 42  43 44 28 30 2c 32 2c 32  |5\..adcBCD(0,2,2|
000055e0  29 0d 35 66 04 0d 35 70  0d a4 62 63 64 28 26 36  |).5f..5p..bcd(&6|
000055f0  44 29 0d 35 7a 16 2e 62  63 64 28 26 36 44 29 20  |D).5z..bcd(&6D) |
00005600  3b 20 41 44 43 20 6e 6e  0d 35 84 10 a4 67 65 74  |; ADC nn.5...get|
00005610  61 62 73 28 30 2c 31 29  0d 35 8e 12 a4 61 64 63  |abs(0,1).5...adc|
00005620  42 43 44 28 30 2c 33 2c  34 29 0d 35 98 04 0d 35  |BCD(0,3,4).5...5|
00005630  a2 0d a4 62 63 64 28 26  37 31 29 0d 35 ac 19 2e  |...bcd(&71).5...|
00005640  62 63 64 28 26 37 31 29  20 3b 20 41 44 43 20 28  |bcd(&71) ; ADC (|
00005650  6e 29 2c 59 0d 35 b6 11  a4 67 65 74 70 6f 73 74  |n),Y.5...getpost|
00005660  28 30 2c 31 29 0d 35 c0  12 a4 61 64 63 42 43 44  |(0,1).5...adcBCD|
00005670  28 30 2c 32 2c 35 29 0d  35 ca 04 0d 35 d4 0d a4  |(0,2,5).5...5...|
00005680  62 63 64 28 26 37 32 29  0d 35 de 17 2e 62 63 64  |bcd(&72).5...bcd|
00005690  28 26 37 32 29 20 3b 20  41 44 43 20 28 6e 29 0d  |(&72) ; ADC (n).|
000056a0  35 e8 16 a4 67 65 74 7a  65 72 6f 69 6e 64 69 72  |5...getzeroindir|
000056b0  28 30 2c 31 29 0d 35 f2  12 a4 61 64 63 42 43 44  |(0,1).5...adcBCD|
000056c0  28 30 2c 32 2c 35 29 0d  35 fc 04 0d 36 06 0d a4  |(0,2,5).5...6...|
000056d0  62 63 64 28 26 37 35 29  0d 36 10 17 2e 62 63 64  |bcd(&75).6...bcd|
000056e0  28 26 37 35 29 20 3b 20  41 44 43 20 6e 2c 58 0d  |(&75) ; ADC n,X.|
000056f0  36 1a 16 a4 67 65 74 7a  65 72 6f 69 6e 64 65 78  |6...getzeroindex|
00005700  28 30 2c 31 29 0d 36 24  12 a4 61 64 63 42 43 44  |(0,1).6$..adcBCD|
00005710  28 30 2c 32 2c 34 29 0d  36 2e 04 0d 36 38 0d a4  |(0,2,4).6...68..|
00005720  62 63 64 28 26 37 39 29  0d 36 42 18 2e 62 63 64  |bcd(&79).6B..bcd|
00005730  28 26 37 39 29 20 3b 20  41 44 43 20 6e 6e 2c 59  |(&79) ; ADC nn,Y|
00005740  0d 36 4c 17 a4 67 65 74  61 62 73 69 6e 64 65 78  |.6L..getabsindex|
00005750  28 30 2c 31 2c 59 29 0d  36 56 12 a4 61 64 63 42  |(0,1,Y).6V..adcB|
00005760  43 44 28 30 2c 33 2c 34  29 0d 36 60 04 0d 36 6a  |CD(0,3,4).6`..6j|
00005770  0d a4 62 63 64 28 26 37  44 29 0d 36 74 18 2e 62  |..bcd(&7D).6t..b|
00005780  63 64 28 26 37 44 29 20  3b 20 41 44 43 20 6e 6e  |cd(&7D) ; ADC nn|
00005790  2c 58 0d 36 7e 17 a4 67  65 74 61 62 73 69 6e 64  |,X.6~..getabsind|
000057a0  65 78 28 30 2c 31 2c 58  29 0d 36 88 12 a4 61 64  |ex(0,1,X).6...ad|
000057b0  63 42 43 44 28 30 2c 33  2c 34 29 0d 36 92 04 0d  |cBCD(0,3,4).6...|
000057c0  36 9c 0d a4 62 63 64 28  26 45 31 29 0d 36 a6 19  |6...bcd(&E1).6..|
000057d0  2e 62 63 64 28 26 45 31  29 20 3b 20 53 42 43 20  |.bcd(&E1) ; SBC |
000057e0  28 6e 2c 58 29 0d 36 b0  10 a4 67 65 74 70 72 65  |(n,X).6...getpre|
000057f0  28 30 2c 31 29 0d 36 ba  12 a4 73 62 63 42 43 44  |(0,1).6...sbcBCD|
00005800  28 30 2c 32 2c 36 29 0d  36 c4 04 0d 36 ce 0d a4  |(0,2,6).6...6...|
00005810  62 63 64 28 26 45 35 29  0d 36 d8 15 2e 62 63 64  |bcd(&E5).6...bcd|
00005820  28 26 45 35 29 20 3b 20  53 42 43 20 6e 0d 36 e2  |(&E5) ; SBC n.6.|
00005830  11 a4 67 65 74 7a 65 72  6f 28 30 2c 31 29 0d 36  |..getzero(0,1).6|
00005840  ec 12 a4 73 62 63 42 43  44 28 30 2c 32 2c 33 29  |...sbcBCD(0,2,3)|
00005850  0d 36 f6 0d a4 62 63 64  28 26 45 36 29 0d 37 00  |.6...bcd(&E6).7.|
00005860  04 0d 37 0a 0d a4 62 63  64 28 26 45 39 29 0d 37  |..7...bcd(&E9).7|
00005870  14 16 2e 62 63 64 28 26  45 39 29 20 3b 20 53 42  |...bcd(&E9) ; SB|
00005880  43 20 23 4e 0d 37 1e 10  a4 67 65 74 62 79 74 65  |C #N.7...getbyte|
00005890  31 28 30 29 0d 37 28 12  a4 73 62 63 42 43 44 28  |1(0).7(..sbcBCD(|
000058a0  30 2c 32 2c 32 29 0d 37  32 04 0d 37 3c 0d a4 62  |0,2,2).72..7<..b|
000058b0  63 64 28 26 45 44 29 0d  37 46 16 2e 62 63 64 28  |cd(&ED).7F..bcd(|
000058c0  26 45 44 29 20 3b 20 53  42 43 20 6e 6e 0d 37 50  |&ED) ; SBC nn.7P|
000058d0  10 a4 67 65 74 61 62 73  28 30 2c 31 29 0d 37 5a  |..getabs(0,1).7Z|
000058e0  12 a4 73 62 63 42 43 44  28 30 2c 33 2c 34 29 0d  |..sbcBCD(0,3,4).|
000058f0  37 64 04 0d 37 6e 0d a4  62 63 64 28 26 46 31 29  |7d..7n..bcd(&F1)|
00005900  0d 37 78 19 2e 62 63 64  28 26 46 31 29 20 3b 20  |.7x..bcd(&F1) ; |
00005910  53 42 43 20 28 6e 29 2c  59 0d 37 82 11 a4 67 65  |SBC (n),Y.7...ge|
00005920  74 70 6f 73 74 28 30 2c  31 29 0d 37 8c 12 a4 73  |tpost(0,1).7...s|
00005930  62 63 42 43 44 28 30 2c  32 2c 35 29 0d 37 96 04  |bcBCD(0,2,5).7..|
00005940  0d 37 a0 0d a4 62 63 64  28 26 46 32 29 0d 37 aa  |.7...bcd(&F2).7.|
00005950  17 2e 62 63 64 28 26 46  32 29 20 3b 20 53 42 43  |..bcd(&F2) ; SBC|
00005960  20 28 6e 29 0d 37 b4 16  a4 67 65 74 7a 65 72 6f  | (n).7...getzero|
00005970  69 6e 64 69 72 28 30 2c  31 29 0d 37 be 12 a4 73  |indir(0,1).7...s|
00005980  62 63 42 43 44 28 30 2c  32 2c 35 29 0d 37 c8 04  |bcBCD(0,2,5).7..|
00005990  0d 37 d2 0d a4 62 63 64  28 26 46 35 29 0d 37 dc  |.7...bcd(&F5).7.|
000059a0  17 2e 62 63 64 28 26 46  35 29 20 3b 20 53 42 43  |..bcd(&F5) ; SBC|
000059b0  20 6e 2c 58 0d 37 e6 16  a4 67 65 74 7a 65 72 6f  | n,X.7...getzero|
000059c0  69 6e 64 65 78 28 30 2c  31 29 0d 37 f0 12 a4 73  |index(0,1).7...s|
000059d0  62 63 42 43 44 28 30 2c  32 2c 34 29 0d 37 fa 04  |bcBCD(0,2,4).7..|
000059e0  0d 38 04 0d a4 62 63 64  28 26 46 39 29 0d 38 0e  |.8...bcd(&F9).8.|
000059f0  18 2e 62 63 64 28 26 46  39 29 20 3b 20 53 42 43  |..bcd(&F9) ; SBC|
00005a00  20 6e 6e 2c 59 0d 38 18  17 a4 67 65 74 61 62 73  | nn,Y.8...getabs|
00005a10  69 6e 64 65 78 28 30 2c  31 2c 59 29 0d 38 22 12  |index(0,1,Y).8".|
00005a20  a4 73 62 63 42 43 44 28  30 2c 33 2c 34 29 0d 38  |.sbcBCD(0,3,4).8|
00005a30  2c 04 0d 38 36 0d a4 62  63 64 28 26 46 44 29 0d  |,..86..bcd(&FD).|
00005a40  38 40 18 2e 62 63 64 28  26 46 44 29 20 3b 20 53  |8@..bcd(&FD) ; S|
00005a50  42 43 20 6e 6e 2c 58 0d  38 4a 17 a4 67 65 74 61  |BC nn,X.8J..geta|
00005a60  62 73 69 6e 64 65 78 28  30 2c 31 2c 58 29 0d 38  |bsindex(0,1,X).8|
00005a70  54 12 a4 73 62 63 42 43  44 28 30 2c 33 2c 34 29  |T..sbcBCD(0,3,4)|
00005a80  0d 38 5e 04 0d 38 68 0e  a4 62 63 64 28 26 31 30  |.8^..8h..bcd(&10|
00005a90  30 29 0d 38 72 05 5d 0d  38 7c 04 0d 38 86 07 3d  |0).8r.].8|..8..=|
00005aa0  22 22 0d 38 90 04 0d 38  9a 0c dd a4 62 72 61 6e  |"".8...8....bran|
00005ab0  63 68 0d 38 a4 09 5b 4f  50 54 70 0d 38 ae 16 4d  |ch.8..[OPTp.8..M|
00005ac0  4f 56 20 52 31 32 2c 7a  70 63 2c 4c 53 52 23 32  |OV R12,zpc,LSR#2|
00005ad0  34 0d 38 b8 10 a4 67 65  74 62 79 74 65 31 28 30  |4.8...getbyte1(0|
00005ae0  29 0d 38 c2 19 41 44 44  20 7a 70 63 2c 7a 70 63  |).8..ADD zpc,zpc|
00005af0  2c 52 30 2c 4c 53 4c 23  31 36 0d 38 cc 0f 43 4d  |,R0,LSL#16.8..CM|
00005b00  50 20 52 30 2c 23 26 38  30 0d 38 d6 1c 53 55 42  |P R0,#&80.8..SUB|
00005b10  47 45 20 7a 70 63 2c 7a  70 63 2c 23 32 35 34 20  |GE zpc,zpc,#254 |
00005b20  3c 3c 20 31 36 0d 38 e0  1a 41 44 44 4c 54 20 7a  |<< 16.8..ADDLT z|
00005b30  70 63 2c 7a 70 63 2c 23  32 20 3c 3c 20 31 36 0d  |pc,zpc,#2 << 16.|
00005b40  38 ea 16 43 4d 50 20 52  31 32 2c 7a 70 63 2c 4c  |8..CMP R12,zpc,L|
00005b50  53 52 23 32 34 0d 38 f4  32 53 55 42 45 51 20 74  |SR#24.8.2SUBEQ t|
00005b60  69 6d 65 2c 74 69 6d 65  2c 23 31 20 3b 20 70 61  |ime,time,#1 ; pa|
00005b70  67 65 20 62 6f 75 6e 64  61 72 79 20 6e 6f 74 20  |ge boundary not |
00005b80  63 72 6f 73 73 65 64 0d  38 fe 2e 53 55 42 4e 45  |crossed.8..SUBNE|
00005b90  20 74 69 6d 65 2c 74 69  6d 65 2c 23 32 20 3b 20  | time,time,#2 ; |
00005ba0  70 61 67 65 20 62 6f 75  6e 64 61 72 79 20 63 72  |page boundary cr|
00005bb0  6f 73 73 65 64 0d 39 08  0f a4 66 65 74 63 68 28  |ossed.9...fetch(|
00005bc0  30 2c 32 29 0d 39 12 05  5d 0d 39 1c 07 3d 22 22  |0,2).9..].9..=""|
00005bd0  0d 39 26 04 0d 39 30 0c  dd a4 74 72 62 28 52 29  |.9&..90...trb(R)|
00005be0  0d 39 3a 09 5b 4f 50 54  70 0d 39 44 12 54 53 54  |.9:.[OPTp.9D.TST|
00005bf0  20 52 2c 41 2c 4c 53 52  23 32 34 0d 39 4e 0b a4  | R,A,LSR#24.9N..|
00005c00  73 65 74 75 70 5a 0d 39  58 14 42 49 43 20 52 2c  |setupZ.9X.BIC R,|
00005c10  52 2c 41 2c 4c 53 52 23  32 34 0d 39 62 05 5d 0d  |R,A,LSR#24.9b.].|
00005c20  39 6c 07 3d 22 22 0d 39  76 04 0d 39 80 0c dd a4  |9l.="".9v..9....|
00005c30  74 73 62 28 52 29 0d 39  8a 09 5b 4f 50 54 70 0d  |tsb(R).9..[OPTp.|
00005c40  39 94 12 54 53 54 20 52  2c 41 2c 4c 53 52 23 32  |9..TST R,A,LSR#2|
00005c50  34 0d 39 9e 0b a4 73 65  74 75 70 5a 0d 39 a8 13  |4.9...setupZ.9..|
00005c60  84 52 20 52 2c 52 2c 41  2c 4c 53 52 23 32 34 0d  |.R R,R,A,LSR#24.|
00005c70  39 b2 05 5d 0d 39 bc 07  3d 22 22 0d 39 c6 04 0d  |9..].9..="".9...|
00005c80  39 d0 0c dd a4 61 73 6c  28 52 29 0d 39 da 09 5b  |9....asl(R).9..[|
00005c90  4f 50 54 70 0d 39 e4 13  4d 4f 56 53 20 52 2c 52  |OPTp.9..MOVS R,R|
00005ca0  2c 4c 53 4c 23 32 35 0d  39 ee 12 4d 4f 56 20 52  |,LSL#25.9..MOV R|
00005cb0  2c 52 2c 4c 53 52 23 32  34 0d 39 f8 0d a4 73 65  |,R,LSR#24.9...se|
00005cc0  74 75 70 4e 5a 43 0d 3a  02 05 5d 0d 3a 0c 07 3d  |tupNZC.:..].:..=|
00005cd0  22 22 0d 3a 16 04 0d 3a  20 0c dd a4 6c 73 72 28  |"".:...: ...lsr(|
00005ce0  52 29 0d 3a 2a 09 5b 4f  50 54 70 0d 3a 34 16 42  |R).:*.[OPTp.:4.B|
00005cf0  49 43 20 46 2c 46 2c 23  25 31 30 30 30 30 30 31  |IC F,F,#%1000001|
00005d00  31 0d 3a 3e 12 4d 4f 56  53 20 52 2c 52 2c 4c 53  |1.:>.MOVS R,R,LS|
00005d10  52 23 31 0d 3a 48 10 84  52 43 53 20 46 2c 46 2c  |R#1.:H..RCS F,F,|
00005d20  23 25 31 0d 3a 52 14 4d  4f 56 53 20 52 32 2c 52  |#%1.:R.MOVS R2,R|
00005d30  2c 4c 53 4c 23 32 34 0d  3a 5c 17 84 52 4d 49 20  |,LSL#24.:\..RMI |
00005d40  46 2c 46 2c 23 25 31 30  30 30 30 30 30 30 0d 3a  |F,F,#%10000000.:|
00005d50  66 11 84 52 45 51 20 46  2c 46 2c 23 25 31 30 0d  |f..REQ F,F,#%10.|
00005d60  3a 70 05 5d 0d 3a 7a 07  3d 22 22 0d 3a 84 04 0d  |:p.].:z.="".:...|
00005d70  3a 8e 0c dd a4 72 6f 6c  28 52 29 0d 3a 98 0b e7  |:....rol(R).:...|
00005d80  20 52 3d 31 20 fa 0d 3a  a2 09 5b 4f 50 54 70 0d  | R=1 ..:..[OPTp.|
00005d90  3a ac 2e 3b 4d 4f 56 53  20 52 32 2c 46 2c 52 52  |:..;MOVS R2,F,RR|
00005da0  58 20 3b 20 ec 20 36 35  30 32 20 43 41 52 52 59  |X ; . 6502 CARRY|
00005db0  20 a8 4f 20 41 52 4d 20  43 41 52 52 59 0d 3a b6  | .O ARM CARRY.:.|
00005dc0  0e 80 20 52 32 2c 46 2c  23 25 31 0d 3a c0 16 42  |.. R2,F,#%1.:..B|
00005dd0  49 43 20 46 2c 46 2c 23  25 31 30 30 30 30 30 31  |IC F,F,#%1000001|
00005de0  31 0d 3a ca 13 4d 4f 56  53 20 52 2c 52 2c 4c 53  |1.:..MOVS R,R,LS|
00005df0  4c 23 32 34 0d 3a d4 14  84 52 20 52 2c 52 2c 52  |L#24.:...R R,R,R|
00005e00  32 2c 4c 53 4c 23 32 33  0d 3a de 12 4d 4f 56 53  |2,LSL#23.:..MOVS|
00005e10  20 52 2c 52 2c 4c 53 4c  23 31 0d 3a e8 12 4d 4f  | R,R,LSL#1.:..MO|
00005e20  56 20 52 2c 52 2c 4c 53  52 23 32 34 0d 3a f2 0d  |V R,R,LSR#24.:..|
00005e30  a4 73 65 74 75 70 4e 5a  43 0d 3a fc 05 5d 0d 3b  |.setupNZC.:..].;|
00005e40  06 07 3d 22 22 0d 3b 10  04 0d 3b 1a 0c dd a4 72  |..="".;...;....r|
00005e50  6f 72 28 52 29 0d 3b 24  0b e7 20 52 3d 31 20 fa  |or(R).;$.. R=1 .|
00005e60  0d 3b 2e 09 5b 4f 50 54  70 0d 3b 38 2d 4d 4f 56  |.;..[OPTp.;8-MOV|
00005e70  53 20 52 32 2c 46 2c 52  52 58 20 3b 20 ec 20 36  |S R2,F,RRX ; . 6|
00005e80  35 30 32 20 43 41 52 52  59 20 a8 4f 20 41 52 4d  |502 CARRY .O ARM|
00005e90  20 43 41 52 52 59 0d 3b  42 16 42 49 43 20 46 2c  | CARRY.;B.BIC F,|
00005ea0  46 2c 23 25 31 30 30 30  30 30 31 31 0d 3b 4c 29  |F,#%10000011.;L)|
00005eb0  84 52 43 53 20 46 2c 46  2c 23 25 31 30 30 30 30  |.RCS F,F,#%10000|
00005ec0  30 30 30 20 3b 20 4e 20  2d 3e 20 77 68 61 74 20  |000 ; N -> what |
00005ed0  43 20 77 61 73 0d 3b 56  14 41 44 44 20 52 2c 52  |C was.;V.ADD R,R|
00005ee0  2c 52 2c 4c 53 4c 23 32  34 0d 3b 60 10 4d 4f 56  |,R,LSL#24.;`.MOV|
00005ef0  53 20 52 2c 52 2c 52 52  58 0d 3b 6a 10 84 52 43  |S R,R,RRX.;j..RC|
00005f00  53 20 46 2c 46 2c 23 25  31 0d 3b 74 13 4d 4f 56  |S F,F,#%1.;t.MOV|
00005f10  53 20 52 2c 52 2c 4c 53  52 23 32 34 0d 3b 7e 11  |S R,R,LSR#24.;~.|
00005f20  84 52 45 51 20 46 2c 46  2c 23 25 31 30 0d 3b 88  |.REQ F,F,#%10.;.|
00005f30  05 5d 0d 3b 92 07 3d 22  22 0d 3b 9c 04 0d 3b a6  |.].;..="".;...;.|
00005f40  04 0d 3b b0 12 dd a4 63  6d 70 28 52 2c 46 25 2c  |..;....cmp(R,F%,|
00005f50  54 25 29 0d 3b ba 09 5b  4f 50 54 70 0d 3b c4 16  |T%).;..[OPTp.;..|
00005f60  53 55 42 53 20 52 30 2c  41 2c 52 2c 4c 53 4c 23  |SUBS R0,A,R,LSL#|
00005f70  32 34 0d 3b ce 0d a4 73  65 74 75 70 4e 5a 43 0d  |24.;...setupNZC.|
00005f80  3b d8 11 a4 66 65 74 63  68 28 46 25 2c 54 25 29  |;...fetch(F%,T%)|
00005f90  0d 3b e2 05 5d 0d 3b ec  07 3d 22 22 0d 3b f6 04  |.;..].;..="".;..|
00005fa0  0d 3c 00 12 dd a4 63 70  78 28 52 2c 46 25 2c 54  |.<....cpx(R,F%,T|
00005fb0  25 29 0d 3c 0a 09 5b 4f  50 54 70 0d 3c 14 16 53  |%).<..[OPTp.<..S|
00005fc0  55 42 53 20 52 30 2c 58  2c 52 2c 4c 53 4c 23 32  |UBS R0,X,R,LSL#2|
00005fd0  34 0d 3c 1e 0d a4 73 65  74 75 70 4e 5a 43 0d 3c  |4.<...setupNZC.<|
00005fe0  28 11 a4 66 65 74 63 68  28 46 25 2c 54 25 29 0d  |(..fetch(F%,T%).|
00005ff0  3c 32 05 5d 0d 3c 3c 07  3d 22 22 0d 3c 46 04 0d  |<2.].<<.="".<F..|
00006000  3c 50 12 dd a4 63 70 79  28 52 2c 46 25 2c 54 25  |<P...cpy(R,F%,T%|
00006010  29 0d 3c 5a 09 5b 4f 50  54 70 0d 3c 64 16 53 55  |).<Z.[OPTp.<d.SU|
00006020  42 53 20 52 30 2c 59 2c  52 2c 4c 53 4c 23 32 34  |BS R0,Y,R,LSL#24|
00006030  0d 3c 6e 0d a4 73 65 74  75 70 4e 5a 43 0d 3c 78  |.<n..setupNZC.<x|
00006040  11 a4 66 65 74 63 68 28  46 25 2c 54 25 29 0d 3c  |..fetch(F%,T%).<|
00006050  82 05 5d 0d 3c 8c 07 3d  22 22 0d 3c 96 04 0d 3c  |..].<..="".<...<|
00006060  a0 16 f4 44 45 46 46 4e  61 64 63 28 52 2c 46 25  |...DEFFNadc(R,F%|
00006070  2c 54 25 29 0d 3c aa 09  5b 4f 50 54 70 0d 3c b4  |,T%).<..[OPTp.<.|
00006080  2d 4d 4f 56 53 20 52 32  2c 46 2c 52 52 58 20 3b  |-MOVS R2,F,RRX ;|
00006090  20 ec 20 36 35 30 32 20  43 41 52 52 59 20 a8 4f  | . 6502 CARRY .O|
000060a0  20 41 52 4d 20 43 41 52  52 59 0d 3c be 15 4d 56  | ARM CARRY.<..MV|
000060b0  4e 20 52 32 2c 23 30 20  3b 20 52 32 3d 2d 31 0d  |N R2,#0 ; R2=-1.|
000060c0  3c c8 18 42 49 43 20 52  32 2c 52 32 2c 23 26 46  |<..BIC R2,R2,#&F|
000060d0  46 20 3c 3c 20 32 34 0d  3c d2 0f 41 44 44 20 52  |F << 24.<..ADD R|
000060e0  32 2c 52 32 2c 41 0d 3c  dc 17 41 44 43 53 20 52  |2,R2,A.<..ADCS R|
000060f0  32 2c 52 32 2c 52 2c 4c  53 4c 23 32 34 0d 3c e6  |2,R2,R,LSL#24.<.|
00006100  2a 80 53 20 41 2c 52 32  2c 23 26 46 46 20 3c 3c  |*.S A,R2,#&FF <<|
00006110  20 32 34 20 3b 20 6f 6e  6c 79 20 61 66 66 65 63  | 24 ; only affec|
00006120  74 73 20 5a 2c 4e 21 0d  3c f0 0e a4 73 65 74 75  |ts Z,N!.<...setu|
00006130  70 43 5a 56 4e 0d 3c fa  11 a4 66 65 74 63 68 28  |pCZVN.<...fetch(|
00006140  46 25 2c 54 25 29 0d 3d  04 05 5d 0d 3d 0e 07 3d  |F%,T%).=..].=..=|
00006150  22 22 0d 3d 18 04 0d 3d  22 12 dd a4 61 64 63 28  |"".=...="...adc(|
00006160  52 2c 46 25 2c 54 25 29  0d 3d 2c 09 5b 4f 50 54  |R,F%,T%).=,.[OPT|
00006170  70 0d 3d 36 0e 80 20 52  32 2c 46 2c 23 25 31 0d  |p.=6.. R2,F,#%1.|
00006180  3d 40 0f 41 44 44 20 52  32 2c 52 32 2c 52 0d 3d  |=@.ADD R2,R2,R.=|
00006190  4a 16 41 44 44 53 20 41  2c 41 2c 52 32 2c 4c 53  |J.ADDS A,A,R2,LS|
000061a0  4c 23 32 34 0d 3d 54 0e  a4 73 65 74 75 70 43 5a  |L#24.=T..setupCZ|
000061b0  56 4e 0d 3d 5e 1f 43 4d  50 20 52 32 2c 23 26 31  |VN.=^.CMP R2,#&1|
000061c0  30 30 20 3a 20 84 52 45  51 20 46 2c 46 2c 23 25  |00 : .REQ F,F,#%|
000061d0  31 0d 3d 68 11 a4 66 65  74 63 68 28 46 25 2c 54  |1.=h..fetch(F%,T|
000061e0  25 29 0d 3d 72 05 5d 0d  3d 7c 07 3d 22 22 0d 3d  |%).=r.].=|.="".=|
000061f0  86 04 0d 3d 90 15 dd a4  61 64 63 42 43 44 28 52  |...=....adcBCD(R|
00006200  2c 46 25 2c 54 25 29 0d  3d 9a 09 5b 4f 50 54 70  |,F%,T%).=..[OPTp|
00006210  0d 3d a4 2d 4d 4f 56 53  20 52 32 2c 46 2c 52 52  |.=.-MOVS R2,F,RR|
00006220  58 20 3b 20 ec 20 36 35  30 32 20 43 41 52 52 59  |X ; . 6502 CARRY|
00006230  20 a8 4f 20 41 52 4d 20  43 41 52 52 59 0d 3d ae  | .O ARM CARRY.=.|
00006240  15 80 20 52 32 2c 41 2c  23 26 30 46 20 3c 3c 20  |.. R2,A,#&0F << |
00006250  32 34 0d 3d b8 0f 80 20  52 31 33 2c 52 2c 23 26  |24.=... R13,R,#&|
00006260  46 0d 3d c2 19 3b 41 44  44 43 53 20 52 32 2c 52  |F.=..;ADDCS R2,R|
00006270  32 2c 23 31 20 3c 3c 20  32 34 0d 3d cc 19 41 44  |2,#1 << 24.=..AD|
00006280  43 20 52 31 33 2c 52 31  33 2c 52 32 2c 4c 53 52  |C R13,R13,R2,LSR|
00006290  23 32 34 0d 3d d6 0f 43  4d 50 20 52 31 33 2c 23  |#24.=..CMP R13,#|
000062a0  26 41 0d 3d e0 16 41 44  44 47 45 20 52 31 33 2c  |&A.=..ADDGE R13,|
000062b0  52 31 33 2c 23 26 30 36  0d 3d ea 04 0d 3d f4 10  |R13,#&06.=...=..|
000062c0  43 4d 50 20 52 31 33 2c  23 26 32 30 0d 3d fe 16  |CMP R13,#&20.=..|
000062d0  53 55 42 47 45 20 52 31  33 2c 52 31 33 2c 23 26  |SUBGE R13,R13,#&|
000062e0  31 30 0d 3e 08 04 0d 3e  12 11 4d 4f 56 20 52 2c  |10.>...>..MOV R,|
000062f0  52 2c 4c 53 52 23 34 0d  3e 1c 14 41 44 44 20 52  |R,LSR#4.>..ADD R|
00006300  2c 52 2c 41 2c 4c 53 52  23 32 38 0d 3e 26 15 41  |,R,A,LSR#28.>&.A|
00006310  44 44 20 41 2c 52 31 33  2c 52 2c 4c 53 4c 23 34  |DD A,R13,R,LSL#4|
00006320  0d 3e 30 0e 43 4d 50 20  41 2c 23 26 41 30 0d 3e  |.>0.CMP A,#&A0.>|
00006330  3a 12 41 44 44 47 45 20  41 2c 41 2c 23 26 36 30  |:.ADDGE A,A,#&60|
00006340  0d 3e 44 11 80 53 20 52  32 2c 41 2c 23 26 33 30  |.>D..S R2,A,#&30|
00006350  30 0d 3e 4e 10 84 52 4e  45 20 46 2c 46 2c 23 25  |0.>N..RNE F,F,#%|
00006360  31 0d 3e 58 11 42 49 43  45 51 20 46 2c 46 2c 23  |1.>X.BICEQ F,F,#|
00006370  25 31 0d 3e 62 13 4d 4f  56 53 20 41 2c 41 2c 4c  |%1.>b.MOVS A,A,L|
00006380  53 4c 23 32 34 0d 3e 6c  29 a4 73 65 74 75 70 4e  |SL#24.>l).setupN|
00006390  5a 20 3b 20 4d 61 73 74  65 72 20 65 6c 69 74 65  |Z ; Master elite|
000063a0  20 6e 65 65 64 73 20 4e  20 66 6c 61 67 3f 0d 3e  | needs N flag?.>|
000063b0  76 12 a4 66 65 74 63 68  33 28 46 25 2c 54 25 29  |v..fetch3(F%,T%)|
000063c0  0d 3e 80 05 5d 0d 3e 8a  07 3d 22 22 0d 3e 94 04  |.>..].>..="".>..|
000063d0  0d 3e 9e 15 dd a4 73 62  63 42 43 44 28 52 2c 46  |.>....sbcBCD(R,F|
000063e0  25 2c 54 25 29 0d 3e a8  09 5b 4f 50 54 70 0d 3e  |%,T%).>..[OPTp.>|
000063f0  b2 04 0d 3e bc 2d 4d 4f  56 53 20 52 32 2c 46 2c  |...>.-MOVS R2,F,|
00006400  52 52 58 20 3b 20 ec 20  36 35 30 32 20 43 41 52  |RRX ; . 6502 CAR|
00006410  52 59 20 a8 4f 20 41 52  4d 20 43 41 52 52 59 0d  |RY .O ARM CARRY.|
00006420  3e c6 15 80 20 52 32 2c  41 2c 23 26 30 46 20 3c  |>... R2,A,#&0F <|
00006430  3c 20 32 34 0d 3e d0 0f  80 20 52 31 33 2c 52 2c  |< 24.>... R13,R,|
00006440  23 26 46 0d 3e da 1a 52  53 43 53 20 52 31 33 2c  |#&F.>..RSCS R13,|
00006450  52 31 33 2c 52 32 2c 4c  53 52 23 32 34 0d 3e e4  |R13,R2,LSR#24.>.|
00006460  14 53 55 42 43 43 20 52  31 33 2c 52 31 33 2c 23  |.SUBCC R13,R13,#|
00006470  36 0d 3e ee 11 80 20 52  31 33 2c 52 31 33 2c 23  |6.>... R13,R13,#|
00006480  26 46 0d 3e f8 11 4d 4f  56 20 52 2c 52 2c 4c 53  |&F.>..MOV R,R,LS|
00006490  52 23 34 0d 3f 02 15 52  53 43 53 20 52 2c 52 2c  |R#4.?..RSCS R,R,|
000064a0  41 2c 4c 53 52 23 32 38  0d 3f 0c 10 53 55 42 43  |A,LSR#28.?..SUBC|
000064b0  43 20 52 2c 52 2c 23 36  0d 3f 16 0b a4 73 65 74  |C R,R,#6.?...set|
000064c0  75 70 43 0d 3f 20 04 0d  3f 2a 0d 80 20 52 2c 52  |upC.? ..?*.. R,R|
000064d0  2c 23 26 46 0d 3f 34 15  41 44 44 20 41 2c 52 31  |,#&F.?4.ADD A,R1|
000064e0  33 2c 52 2c 4c 53 4c 23  34 0d 3f 3e 13 4d 4f 56  |3,R,LSL#4.?>.MOV|
000064f0  53 20 41 2c 41 2c 4c 53  4c 23 32 34 0d 3f 48 0c  |S A,A,LSL#24.?H.|
00006500  a4 73 65 74 75 70 4e 5a  0d 3f 52 12 a4 66 65 74  |.setupNZ.?R..fet|
00006510  63 68 33 28 46 25 2c 54  25 29 0d 3f 5c 05 5d 0d  |ch3(F%,T%).?\.].|
00006520  3f 66 07 3d 22 22 0d 3f  70 04 0d 3f 7a 12 dd a4  |?f.="".?p..?z...|
00006530  73 62 63 28 52 2c 46 25  2c 54 25 29 0d 3f 84 09  |sbc(R,F%,T%).?..|
00006540  5b 4f 50 54 70 0d 3f 8e  2d 4d 4f 56 53 20 52 32  |[OPTp.?.-MOVS R2|
00006550  2c 46 2c 52 52 58 20 3b  20 ec 20 36 35 30 32 20  |,F,RRX ; . 6502 |
00006560  43 41 52 52 59 20 a8 4f  20 41 52 4d 20 43 41 52  |CARRY .O ARM CAR|
00006570  52 59 0d 3f 98 15 53 42  43 53 20 41 2c 41 2c 52  |RY.?..SBCS A,A,R|
00006580  2c 4c 53 4c 23 32 34 0d  3f a2 0e a4 73 65 74 75  |,LSL#24.?...setu|
00006590  70 43 5a 56 4e 0d 3f ac  15 80 53 20 41 2c 41 2c  |pCZVN.?...S A,A,|
000065a0  23 26 46 46 20 3c 3c 20  32 34 0d 3f b6 12 42 49  |#&FF << 24.?..BI|
000065b0  43 4e 45 20 46 2c 46 2c  23 25 31 30 0d 3f c0 1b  |CNE F,F,#%10.?..|
000065c0  84 52 45 51 20 46 2c 46  2c 23 25 31 30 20 3b 20  |.REQ F,F,#%10 ; |
000065d0  a4 73 65 74 75 70 5a 0d  3f ca 11 a4 66 65 74 63  |.setupZ.?...fetc|
000065e0  68 28 46 25 2c 54 25 29  0d 3f d4 05 5d 0d 3f de  |h(F%,T%).?..].?.|
000065f0  07 3d 22 22 0d 3f e8 04  0d 3f f2 04 0d 3f fc 2d  |.="".?...?...?.-|
00006600  4d 4f 56 53 20 52 32 2c  46 2c 52 52 58 20 3b 20  |MOVS R2,F,RRX ; |
00006610  ec 20 36 35 30 32 20 43  41 52 52 59 20 a8 4f 20  |. 6502 CARRY .O |
00006620  41 52 4d 20 43 41 52 52  59 0d 40 06 12 4d 4f 56  |ARM CARRY.@..MOV|
00006630  20 41 2c 41 2c 41 53 52  23 32 34 0d 40 10 12 4d  | A,A,ASR#24.@..M|
00006640  4f 56 20 52 2c 52 2c 4c  53 4c 23 32 34 0d 40 1a  |OV R,R,LSL#24.@.|
00006650  12 4d 4f 56 20 52 2c 52  2c 41 53 52 23 32 34 0d  |.MOV R,R,ASR#24.|
00006660  40 24 14 82 20 52 2c 52  2c 23 26 46 46 20 3c 3c  |@$.. R,R,#&FF <<|
00006670  20 32 34 0d 40 2e 14 82  20 52 2c 52 2c 23 26 46  | 24.@... R,R,#&F|
00006680  46 20 3c 3c 20 31 36 0d  40 38 13 82 20 52 2c 52  |F << 16.@8.. R,R|
00006690  2c 23 26 46 46 20 3c 3c  20 38 0d 40 42 14 82 20  |,#&FF << 8.@B.. |
000066a0  41 2c 41 2c 23 26 46 46  20 3c 3c 20 32 34 0d 40  |A,A,#&FF << 24.@|
000066b0  4c 14 82 20 41 2c 41 2c  23 26 46 46 20 3c 3c 20  |L.. A,A,#&FF << |
000066c0  31 36 0d 40 56 13 82 20  41 2c 41 2c 23 26 46 46  |16.@V.. A,A,#&FF|
000066d0  20 3c 3c 20 38 0d 40 60  0e 53 42 43 53 20 41 2c  | << 8.@`.SBCS A,|
000066e0  41 2c 52 0d 40 6a 12 4d  4f 56 20 41 2c 41 2c 4c  |A,R.@j.MOV A,A,L|
000066f0  53 4c 23 32 34 0d 40 74  0e a4 73 65 74 75 70 43  |SL#24.@t..setupC|
00006700  5a 56 4e 0d 40 7e 11 a4  66 65 74 63 68 28 46 25  |ZVN.@~..fetch(F%|
00006710  2c 54 25 29 0d 40 88 05  5d 0d 40 92 07 3d 22 22  |,T%).@..].@..=""|
00006720  0d 40 9c 04 0d 40 a6 12  dd a4 62 69 74 28 52 2c  |.@...@....bit(R,|
00006730  46 25 2c 54 25 29 0d 40  b0 09 5b 4f 50 54 70 0d  |F%,T%).@..[OPTp.|
00006740  40 ba 15 80 20 52 32 2c  52 2c 23 25 31 31 30 30  |@... R2,R,#%1100|
00006750  30 30 30 30 0d 40 c4 13  80 53 20 52 2c 52 2c 41  |0000.@...S R,R,A|
00006760  2c 4c 53 52 23 32 34 0d  40 ce 16 42 49 43 20 46  |,LSR#24.@..BIC F|
00006770  2c 46 2c 23 25 31 31 30  30 30 30 31 30 0d 40 d8  |,F,#%11000010.@.|
00006780  0e 41 44 44 20 46 2c 46  2c 52 32 0d 40 e2 11 84  |.ADD F,F,R2.@...|
00006790  52 45 51 20 46 2c 46 2c  23 25 31 30 0d 40 ec 11  |REQ F,F,#%10.@..|
000067a0  a4 66 65 74 63 68 28 46  25 2c 54 25 29 0d 40 f6  |.fetch(F%,T%).@.|
000067b0  05 5d 0d 41 00 07 3d 22  22 0d 41 0a 04 0d 41 14  |.].A..="".A...A.|
000067c0  12 dd a4 65 6f 72 28 52  2c 46 25 2c 54 25 29 0d  |...eor(R,F%,T%).|
000067d0  41 1e 09 5b 4f 50 54 70  0d 41 28 13 82 53 20 41  |A..[OPTp.A(..S A|
000067e0  2c 41 2c 52 2c 4c 53 4c  23 32 34 0d 41 32 0c a4  |,A,R,LSL#24.A2..|
000067f0  73 65 74 75 70 4e 5a 0d  41 3c 11 a4 66 65 74 63  |setupNZ.A<..fetc|
00006800  68 28 46 25 2c 54 25 29  0d 41 46 05 5d 0d 41 50  |h(F%,T%).AF.].AP|
00006810  07 3d 22 22 0d 41 5a 04  0d 41 64 12 dd a4 61 6e  |.="".AZ..Ad...an|
00006820  64 28 52 2c 46 25 2c 54  25 29 0d 41 6e 09 5b 4f  |d(R,F%,T%).An.[O|
00006830  50 54 70 0d 41 78 13 80  53 20 41 2c 41 2c 52 2c  |PTp.Ax..S A,A,R,|
00006840  4c 53 4c 23 32 34 0d 41  82 0c a4 73 65 74 75 70  |LSL#24.A...setup|
00006850  4e 5a 0d 41 8c 11 a4 66  65 74 63 68 28 46 25 2c  |NZ.A...fetch(F%,|
00006860  54 25 29 0d 41 96 05 5d  0d 41 a0 07 3d 22 22 0d  |T%).A..].A..="".|
00006870  41 aa 04 0d 41 b4 12 dd  a4 6f 72 61 28 52 2c 46  |A...A....ora(R,F|
00006880  25 2c 54 25 29 0d 41 be  09 5b 4f 50 54 70 0d 41  |%,T%).A..[OPTp.A|
00006890  c8 14 84 52 53 20 41 2c  41 2c 52 2c 4c 53 4c 23  |...RS A,A,R,LSL#|
000068a0  32 34 0d 41 d2 0c a4 73  65 74 75 70 4e 5a 0d 41  |24.A...setupNZ.A|
000068b0  dc 11 a4 66 65 74 63 68  28 46 25 2c 54 25 29 0d  |...fetch(F%,T%).|
000068c0  41 e6 05 5d 0d 41 f0 07  3d 22 22 0d 41 fa 04 0d  |A..].A..="".A...|
000068d0  42 04 12 dd a4 6c 64 61  28 52 2c 46 25 2c 54 25  |B....lda(R,F%,T%|
000068e0  29 0d 42 0e 09 5b 4f 50  54 70 0d 42 18 13 4d 4f  |).B..[OPTp.B..MO|
000068f0  56 53 20 41 2c 52 2c 4c  53 4c 23 32 34 0d 42 22  |VS A,R,LSL#24.B"|
00006900  0c a4 73 65 74 75 70 4e  5a 0d 42 2c 11 a4 66 65  |..setupNZ.B,..fe|
00006910  74 63 68 28 46 25 2c 54  25 29 0d 42 36 05 5d 0d  |tch(F%,T%).B6.].|
00006920  42 40 07 3d 22 22 0d 42  4a 04 0d 42 54 12 dd a4  |B@.="".BJ..BT...|
00006930  6c 64 78 28 52 2c 46 25  2c 54 25 29 0d 42 5e 09  |ldx(R,F%,T%).B^.|
00006940  5b 4f 50 54 70 0d 42 68  13 4d 4f 56 53 20 58 2c  |[OPTp.Bh.MOVS X,|
00006950  52 2c 4c 53 4c 23 32 34  0d 42 72 0c a4 73 65 74  |R,LSL#24.Br..set|
00006960  75 70 4e 5a 0d 42 7c 11  a4 66 65 74 63 68 28 46  |upNZ.B|..fetch(F|
00006970  25 2c 54 25 29 0d 42 86  05 5d 0d 42 90 07 3d 22  |%,T%).B..].B..="|
00006980  22 0d 42 9a 04 0d 42 a4  12 dd a4 6c 64 79 28 52  |".B...B....ldy(R|
00006990  2c 46 25 2c 54 25 29 0d  42 ae 09 5b 4f 50 54 70  |,F%,T%).B..[OPTp|
000069a0  0d 42 b8 13 4d 4f 56 53  20 59 2c 52 2c 4c 53 4c  |.B..MOVS Y,R,LSL|
000069b0  23 32 34 0d 42 c2 0c a4  73 65 74 75 70 4e 5a 0d  |#24.B...setupNZ.|
000069c0  42 cc 11 a4 66 65 74 63  68 28 46 25 2c 54 25 29  |B...fetch(F%,T%)|
000069d0  0d 42 d6 05 5d 0d 42 e0  07 3d 22 22 0d 42 ea 04  |.B..].B..="".B..|
000069e0  0d 42 f4 0c dd a4 69 6e  63 28 52 29 0d 42 fe 17  |.B....inc(R).B..|
000069f0  e7 20 52 3d 58 20 84 20  52 3d 59 20 84 20 52 3d  |. R=X . R=Y . R=|
00006a00  41 20 8c 0d 43 08 09 5b  4f 50 54 70 0d 43 12 15  |A ..C..[OPTp.C..|
00006a10  41 44 44 53 20 52 2c 52  2c 23 31 20 3c 3c 20 32  |ADDS R,R,#1 << 2|
00006a20  34 0d 43 1c 05 5d 0d 43  26 05 cc 0d 43 30 09 5b  |4.C..].C&...C0.[|
00006a30  4f 50 54 70 0d 43 3a 0e  41 44 44 20 52 2c 52 2c  |OPTp.C:.ADD R,R,|
00006a40  23 31 0d 43 44 14 4d 4f  56 53 20 52 32 2c 52 2c  |#1.CD.MOVS R2,R,|
00006a50  4c 53 4c 23 32 34 0d 43  4e 05 5d 0d 43 58 05 cd  |LSL#24.CN.].CX..|
00006a60  0d 43 62 09 5b 4f 50 54  70 0d 43 6c 0c a4 73 65  |.Cb.[OPTp.Cl..se|
00006a70  74 75 70 4e 5a 0d 43 76  05 5d 0d 43 80 07 3d 22  |tupNZ.Cv.].C..="|
00006a80  22 0d 43 8a 04 0d 43 94  0c dd a4 64 65 63 28 52  |".C...C....dec(R|
00006a90  29 0d 43 9e 17 e7 20 52  3d 58 20 84 20 52 3d 59  |).C... R=X . R=Y|
00006aa0  20 84 20 52 3d 41 20 8c  0d 43 a8 09 5b 4f 50 54  | . R=A ..C..[OPT|
00006ab0  70 0d 43 b2 15 53 55 42  53 20 52 2c 52 2c 23 31  |p.C..SUBS R,R,#1|
00006ac0  20 3c 3c 20 32 34 0d 43  bc 05 5d 0d 43 c6 05 cc  | << 24.C..].C...|
00006ad0  0d 43 d0 09 5b 4f 50 54  70 0d 43 da 0e 53 55 42  |.C..[OPTp.C..SUB|
00006ae0  20 52 2c 52 2c 23 31 0d  43 e4 14 4d 4f 56 53 20  | R,R,#1.C..MOVS |
00006af0  52 32 2c 52 2c 4c 53 4c  23 32 34 0d 43 ee 05 5d  |R2,R,LSL#24.C..]|
00006b00  0d 43 f8 05 cd 0d 44 02  09 5b 4f 50 54 70 0d 44  |.C....D..[OPTp.D|
00006b10  0c 0c a4 73 65 74 75 70  4e 5a 0d 44 16 05 5d 0d  |...setupNZ.D..].|
00006b20  44 20 07 3d 22 22 0d 44  2a 04 0d 44 34 0d dd a4  |D .="".D*..D4...|
00006b30  73 65 74 75 70 4e 5a 0d  44 3e 09 5b 4f 50 54 70  |setupNZ.D>.[OPTp|
00006b40  0d 44 48 16 42 49 43 20  46 2c 46 2c 23 25 31 30  |.DH.BIC F,F,#%10|
00006b50  30 30 30 30 31 30 0d 44  52 11 84 52 45 51 20 46  |000010.DR..REQ F|
00006b60  2c 46 2c 23 25 31 30 0d  44 5c 17 84 52 4d 49 20  |,F,#%10.D\..RMI |
00006b70  46 2c 46 2c 23 25 31 30  30 30 30 30 30 30 0d 44  |F,F,#%10000000.D|
00006b80  66 05 5d 0d 44 70 07 3d  22 22 0d 44 7a 04 0d 44  |f.].Dp.="".Dz..D|
00006b90  84 0c dd a4 73 65 74 75  70 5a 0d 44 8e 09 5b 4f  |....setupZ.D..[O|
00006ba0  50 54 70 0d 44 98 10 42  49 43 20 46 2c 46 2c 23  |PTp.D..BIC F,F,#|
00006bb0  25 31 30 0d 44 a2 11 84  52 45 51 20 46 2c 46 2c  |%10.D...REQ F,F,|
00006bc0  23 25 31 30 0d 44 ac 05  5d 0d 44 b6 07 3d 22 22  |#%10.D..].D..=""|
00006bd0  0d 44 c0 04 0d 44 ca 0c  dd a4 73 65 74 75 70 43  |.D...D....setupC|
00006be0  0d 44 d4 09 5b 4f 50 54  70 0d 44 de 0f 42 49 43  |.D..[OPTp.D..BIC|
00006bf0  20 46 2c 46 2c 23 25 31  0d 44 e8 10 84 52 43 53  | F,F,#%1.D...RCS|
00006c00  20 46 2c 46 2c 23 25 31  0d 44 f2 05 5d 0d 44 fc  | F,F,#%1.D..].D.|
00006c10  07 3d 22 22 0d 45 06 04  0d 45 10 0e dd a4 73 65  |.="".E...E....se|
00006c20  74 75 70 4e 5a 43 0d 45  1a 09 5b 4f 50 54 70 0d  |tupNZC.E..[OPTp.|
00006c30  45 24 16 42 49 43 20 46  2c 46 2c 23 25 31 30 30  |E$.BIC F,F,#%100|
00006c40  30 30 30 31 31 0d 45 2e  10 84 52 43 53 20 46 2c  |00011.E...RCS F,|
00006c50  46 2c 23 25 31 0d 45 38  11 84 52 45 51 20 46 2c  |F,#%1.E8..REQ F,|
00006c60  46 2c 23 25 31 30 0d 45  42 17 84 52 4d 49 20 46  |F,#%10.EB..RMI F|
00006c70  2c 46 2c 23 25 31 30 30  30 30 30 30 30 0d 45 4c  |,F,#%10000000.EL|
00006c80  05 5d 0d 45 56 07 3d 22  22 0d 45 60 04 0d 45 6a  |.].EV.="".E`..Ej|
00006c90  0f dd a4 73 65 74 75 70  43 5a 56 4e 0d 45 74 09  |...setupCZVN.Et.|
00006ca0  5b 4f 50 54 70 0d 45 7e  16 42 49 43 20 46 2c 46  |[OPTp.E~.BIC F,F|
00006cb0  2c 23 25 31 31 30 30 30  30 31 31 0d 45 88 10 84  |,#%11000011.E...|
00006cc0  52 43 53 20 46 2c 46 2c  23 25 31 0d 45 92 11 84  |RCS F,F,#%1.E...|
00006cd0  52 45 51 20 46 2c 46 2c  23 25 31 30 0d 45 9c 16  |REQ F,F,#%10.E..|
00006ce0  84 52 56 53 20 46 2c 46  2c 23 25 31 30 30 30 30  |.RVS F,F,#%10000|
00006cf0  30 30 0d 45 a6 17 84 52  4d 49 20 46 2c 46 2c 23  |00.E...RMI F,F,#|
00006d00  25 31 30 30 30 30 30 30  30 0d 45 b0 05 5d 0d 45  |%10000000.E..].E|
00006d10  ba 07 3d 22 22 0d 45 c4  04 0d 45 ce 0f dd a4 73  |..="".E...E....s|
00006d20  65 74 75 70 43 7a 56 4e  0d 45 d8 09 5b 4f 50 54  |etupCzVN.E..[OPT|
00006d30  70 0d 45 e2 16 42 49 43  20 46 2c 46 2c 23 25 31  |p.E..BIC F,F,#%1|
00006d40  31 30 30 30 30 31 31 0d  45 ec 10 84 52 43 53 20  |1000011.E...RCS |
00006d50  46 2c 46 2c 23 25 31 0d  45 f6 16 84 52 56 53 20  |F,F,#%1.E...RVS |
00006d60  46 2c 46 2c 23 25 31 30  30 30 30 30 30 0d 46 00  |F,F,#%1000000.F.|
00006d70  17 84 52 4d 49 20 46 2c  46 2c 23 25 31 30 30 30  |..RMI F,F,#%1000|
00006d80  30 30 30 30 0d 46 0a 05  5d 0d 46 14 07 3d 22 22  |0000.F..].F..=""|
00006d90  0d 46 1e 04 0d 46 28 11  dd a4 67 65 74 70 72 65  |.F...F(...getpre|
00006da0  28 52 2c 53 29 0d 46 32  09 5b 4f 50 54 70 0d 46  |(R,S).F2.[OPTp.F|
00006db0  3c 0d a4 70 72 65 28 52  2c 53 29 0d 46 46 13 3b  |<..pre(R,S).FF.;|
00006dc0  4c 44 52 42 20 52 2c 5b  6d 65 6d 2c 52 5d 0d 46  |LDRB R,[mem,R].F|
00006dd0  50 0f a4 6c 64 72 62 32  28 52 2c 53 29 0d 46 5a  |P..ldrb2(R,S).FZ|
00006de0  05 5d 0d 46 64 07 3d 22  22 0d 46 6e 04 0d 46 78  |.].Fd.="".Fn..Fx|
00006df0  0e dd a4 70 72 65 28 52  2c 53 29 0d 46 82 09 5b  |...pre(R,S).F..[|
00006e00  4f 50 54 70 0d 46 8c 10  a4 67 65 74 62 79 74 65  |OPTp.F...getbyte|
00006e10  31 28 52 29 0d 46 96 14  41 44 44 20 52 2c 58 2c  |1(R).F..ADD R,X,|
00006e20  52 2c 4c 53 4c 23 32 34  0d 46 a0 2a 4c 44 52 42  |R,LSL#24.F.*LDRB|
00006e30  20 53 2c 5b 6d 65 6d 2c  52 2c 4c 53 52 23 32 34  | S,[mem,R,LSR#24|
00006e40  5d 20 3b 20 7a 65 72 6f  20 70 61 67 65 20 4c 44  |] ; zero page LD|
00006e50  52 42 0d 46 aa 14 41 44  44 20 52 2c 52 2c 23 31  |RB.F..ADD R,R,#1|
00006e60  20 3c 3c 20 32 34 0d 46  b4 2a 4c 44 52 42 20 52  | << 24.F.*LDRB R|
00006e70  2c 5b 6d 65 6d 2c 52 2c  4c 53 52 23 32 34 5d 20  |,[mem,R,LSR#24] |
00006e80  3b 20 7a 65 72 6f 20 70  61 67 65 20 4c 44 52 42  |; zero page LDRB|
00006e90  0d 46 be 13 41 44 44 20  53 2c 53 2c 52 2c 4c 53  |.F..ADD S,S,R,LS|
00006ea0  4c 23 38 0d 46 c8 05 5d  0d 46 d2 07 3d 22 22 0d  |L#8.F..].F..="".|
00006eb0  46 dc 04 0d 46 e6 12 dd  a4 67 65 74 7a 65 72 6f  |F...F....getzero|
00006ec0  28 52 2c 53 29 0d 46 f0  09 5b 4f 50 54 70 0d 46  |(R,S).F..[OPTp.F|
00006ed0  fa 10 a4 67 65 74 62 79  74 65 31 28 53 29 0d 47  |...getbyte1(S).G|
00006ee0  04 23 4c 44 52 42 20 52  2c 5b 6d 65 6d 2c 53 5d  |.#LDRB R,[mem,S]|
00006ef0  20 3b 20 7a 65 72 6f 20  70 61 67 65 20 4c 44 52  | ; zero page LDR|
00006f00  42 0d 47 0e 05 5d 0d 47  18 07 3d 22 22 0d 47 22  |B.G..].G..="".G"|
00006f10  04 0d 47 2c 11 dd a4 67  65 74 61 62 73 28 52 2c  |..G,...getabs(R,|
00006f20  53 29 0d 47 36 09 5b 4f  50 54 70 0d 47 40 0d a4  |S).G6.[OPTp.G@..|
00006f30  61 62 73 28 52 2c 53 29  0d 47 4a 13 3b 4c 44 52  |abs(R,S).GJ.;LDR|
00006f40  42 20 52 2c 5b 6d 65 6d  2c 53 5d 0d 47 54 0f a4  |B R,[mem,S].GT..|
00006f50  6c 64 72 62 32 28 52 2c  53 29 0d 47 5e 05 5d 0d  |ldrb2(R,S).G^.].|
00006f60  47 68 07 3d 22 22 0d 47  72 04 0d 47 7c 0e dd a4  |Gh.="".Gr..G|...|
00006f70  61 62 73 28 52 2c 53 29  0d 47 86 09 5b 4f 50 54  |abs(R,S).G..[OPT|
00006f80  70 0d 47 90 12 a4 67 65  74 62 79 74 65 32 28 52  |p.G...getbyte2(R|
00006f90  2c 53 29 0d 47 9a 13 41  44 44 20 53 2c 52 2c 53  |,S).G..ADD S,R,S|
00006fa0  2c 4c 53 4c 23 38 0d 47  a4 0a 3b a4 73 74 72 62  |,LSL#8.G..;.strb|
00006fb0  0d 47 ae 05 5d 0d 47 b8  07 3d 22 22 0d 47 c2 04  |.G..].G..="".G..|
00006fc0  0d 47 cc 12 dd a4 67 65  74 70 6f 73 74 28 52 2c  |.G....getpost(R,|
00006fd0  53 29 0d 47 d6 09 5b 4f  50 54 70 0d 47 e0 0e a4  |S).G..[OPTp.G...|
00006fe0  70 6f 73 74 28 52 2c 53  29 0d 47 ea 1a 3b 4c 44  |post(R,S).G..;LD|
00006ff0  52 42 20 52 2c 5b 6d 65  6d 2c 52 2c 4c 53 52 23  |RB R,[mem,R,LSR#|
00007000  31 36 5d 0d 47 f4 10 a4  6c 64 72 62 31 36 28 52  |16].G...ldrb16(R|
00007010  2c 53 29 0d 47 fe 05 5d  0d 48 08 07 3d 22 22 0d  |,S).G..].H..="".|
00007020  48 12 04 0d 48 1c 0f dd  a4 70 6f 73 74 28 52 2c  |H...H....post(R,|
00007030  53 29 0d 48 26 09 5b 4f  50 54 70 0d 48 30 10 a4  |S).H&.[OPTp.H0..|
00007040  67 65 74 62 79 74 65 31  28 52 29 0d 48 3a 12 4d  |getbyte1(R).H:.M|
00007050  4f 56 20 52 2c 52 2c 4c  53 4c 23 32 34 0d 48 44  |OV R,R,LSL#24.HD|
00007060  2a 4c 44 52 42 20 53 2c  5b 6d 65 6d 2c 52 2c 4c  |*LDRB S,[mem,R,L|
00007070  53 52 23 32 34 5d 20 3b  20 7a 65 72 6f 20 70 61  |SR#24] ; zero pa|
00007080  67 65 20 4c 44 52 42 0d  48 4e 14 41 44 44 20 52  |ge LDRB.HN.ADD R|
00007090  2c 52 2c 23 31 20 3c 3c  20 32 34 0d 48 58 2a 4c  |,R,#1 << 24.HX*L|
000070a0  44 52 42 20 52 2c 5b 6d  65 6d 2c 52 2c 4c 53 52  |DRB R,[mem,R,LSR|
000070b0  23 32 34 5d 20 3b 20 7a  65 72 6f 20 70 61 67 65  |#24] ; zero page|
000070c0  20 4c 44 52 42 0d 48 62  13 41 44 44 20 52 2c 53  | LDRB.Hb.ADD R,S|
000070d0  2c 52 2c 4c 53 4c 23 38  0d 48 6c 12 4d 4f 56 20  |,R,LSL#8.Hl.MOV |
000070e0  52 2c 52 2c 4c 53 4c 23  31 36 0d 48 76 13 41 44  |R,R,LSL#16.Hv.AD|
000070f0  44 20 53 2c 52 2c 59 2c  4c 53 52 23 38 0d 48 80  |D S,R,Y,LSR#8.H.|
00007100  0c 3b a4 73 74 72 62 31  36 0d 48 8a 05 5d 0d 48  |.;.strb16.H..].H|
00007110  94 07 3d 22 22 0d 48 9e  04 0d 48 a8 17 dd a4 67  |..="".H...H....g|
00007120  65 74 7a 65 72 6f 69 6e  64 69 72 28 52 2c 53 29  |etzeroindir(R,S)|
00007130  0d 48 b2 09 5b 4f 50 54  70 0d 48 bc 13 a4 7a 65  |.H..[OPTp.H...ze|
00007140  72 6f 69 6e 64 69 72 28  52 2c 53 29 0d 48 c6 13  |roindir(R,S).H..|
00007150  3b 4c 44 52 42 20 52 2c  5b 6d 65 6d 2c 53 5d 0d  |;LDRB R,[mem,S].|
00007160  48 d0 0f a4 6c 64 72 62  32 28 52 2c 53 29 0d 48  |H...ldrb2(R,S).H|
00007170  da 05 5d 0d 48 e4 07 3d  22 22 0d 48 ee 04 0d 48  |..].H..="".H...H|
00007180  f8 14 dd a4 7a 65 72 6f  69 6e 64 69 72 28 52 2c  |....zeroindir(R,|
00007190  53 29 0d 49 02 09 5b 4f  50 54 70 0d 49 0c 10 a4  |S).I..[OPTp.I...|
000071a0  67 65 74 62 79 74 65 31  28 52 29 0d 49 16 12 4d  |getbyte1(R).I..M|
000071b0  4f 56 20 52 2c 52 2c 4c  53 4c 23 32 34 0d 49 20  |OV R,R,LSL#24.I |
000071c0  2a 4c 44 52 42 20 53 2c  5b 6d 65 6d 2c 52 2c 4c  |*LDRB S,[mem,R,L|
000071d0  53 52 23 32 34 5d 20 3b  20 7a 65 72 6f 20 70 61  |SR#24] ; zero pa|
000071e0  67 65 20 4c 44 52 42 0d  49 2a 14 41 44 44 20 52  |ge LDRB.I*.ADD R|
000071f0  2c 52 2c 23 31 20 3c 3c  20 32 34 0d 49 34 2a 4c  |,R,#1 << 24.I4*L|
00007200  44 52 42 20 52 2c 5b 6d  65 6d 2c 52 2c 4c 53 52  |DRB R,[mem,R,LSR|
00007210  23 32 34 5d 20 3b 20 7a  65 72 6f 20 70 61 67 65  |#24] ; zero page|
00007220  20 4c 44 52 42 0d 49 3e  13 41 44 44 20 53 2c 53  | LDRB.I>.ADD S,S|
00007230  2c 52 2c 4c 53 4c 23 38  0d 49 48 05 5d 0d 49 52  |,R,LSL#8.IH.].IR|
00007240  07 3d 22 22 0d 49 5c 04  0d 49 66 23 dd a4 67 65  |.="".I\..If#..ge|
00007250  74 61 62 73 69 6e 64 65  78 28 52 2c 53 2c 54 29  |tabsindex(R,S,T)|
00007260  20 f4 20 54 3d 58 20 6f  72 20 59 0d 49 70 09 5b  | . T=X or Y.Ip.[|
00007270  4f 50 54 70 0d 49 7a 14  a4 61 62 73 69 6e 64 65  |OPTp.Iz..absinde|
00007280  78 28 52 2c 53 2c 54 29  0d 49 84 1a 3b 4c 44 52  |x(R,S,T).I..;LDR|
00007290  42 20 52 2c 5b 6d 65 6d  2c 53 2c 4c 53 52 23 31  |B R,[mem,S,LSR#1|
000072a0  36 5d 0d 49 8e 10 a4 6c  64 72 62 31 36 28 52 2c  |6].I...ldrb16(R,|
000072b0  53 29 0d 49 98 05 5d 0d  49 a2 07 3d 22 22 0d 49  |S).I..].I..="".I|
000072c0  ac 04 0d 49 b6 20 dd a4  61 62 73 69 6e 64 65 78  |...I. ..absindex|
000072d0  28 52 2c 53 2c 54 29 20  f4 20 54 3d 58 20 6f 72  |(R,S,T) . T=X or|
000072e0  20 59 0d 49 c0 09 5b 4f  50 54 70 0d 49 ca 12 a4  | Y.I..[OPTp.I...|
000072f0  67 65 74 62 79 74 65 32  28 52 2c 53 29 0d 49 d4  |getbyte2(R,S).I.|
00007300  13 41 44 44 20 52 2c 52  2c 53 2c 4c 53 4c 23 38  |.ADD R,R,S,LSL#8|
00007310  0d 49 de 12 4d 4f 56 20  52 2c 52 2c 4c 53 4c 23  |.I..MOV R,R,LSL#|
00007320  31 36 0d 49 e8 13 41 44  44 20 53 2c 52 2c 54 2c  |16.I..ADD S,R,T,|
00007330  4c 53 52 23 38 0d 49 f2  05 5d 0d 49 fc 07 3d 22  |LSR#8.I..].I..="|
00007340  22 0d 4a 06 04 0d 4a 10  17 dd a4 67 65 74 7a 65  |".J...J....getze|
00007350  72 6f 69 6e 64 65 78 28  52 2c 53 29 0d 4a 1a 09  |roindex(R,S).J..|
00007360  5b 4f 50 54 70 0d 4a 24  13 a4 7a 65 72 6f 69 6e  |[OPTp.J$..zeroin|
00007370  64 65 78 28 52 2c 53 29  0d 4a 2e 2a 4c 44 52 42  |dex(R,S).J.*LDRB|
00007380  20 52 2c 5b 6d 65 6d 2c  53 2c 4c 53 52 23 32 34  | R,[mem,S,LSR#24|
00007390  5d 20 3b 20 7a 65 72 6f  20 70 61 67 65 20 4c 44  |] ; zero page LD|
000073a0  52 42 0d 4a 38 05 5d 0d  4a 42 07 3d 22 22 0d 4a  |RB.J8.].JB.="".J|
000073b0  4c 04 0d 4a 56 14 dd a4  7a 65 72 6f 69 6e 64 65  |L..JV...zeroinde|
000073c0  78 28 52 2c 53 29 0d 4a  60 09 5b 4f 50 54 70 0d  |x(R,S).J`.[OPTp.|
000073d0  4a 6a 10 a4 67 65 74 62  79 74 65 31 28 52 29 0d  |Jj..getbyte1(R).|
000073e0  4a 74 14 41 44 44 20 53  2c 58 2c 52 2c 4c 53 4c  |Jt.ADD S,X,R,LSL|
000073f0  23 32 34 0d 4a 7e 05 5d  0d 4a 88 07 3d 22 22 0d  |#24.J~.].J..="".|
00007400  4a 92 04 0d 4a 9c 18 dd  a4 67 65 74 7a 65 72 6f  |J...J....getzero|
00007410  69 6e 64 65 78 59 28 52  2c 53 29 0d 4a a6 09 5b  |indexY(R,S).J..[|
00007420  4f 50 54 70 0d 4a b0 14  a4 7a 65 72 6f 69 6e 64  |OPTp.J...zeroind|
00007430  65 78 59 28 52 2c 53 29  0d 4a ba 2a 4c 44 52 42  |exY(R,S).J.*LDRB|
00007440  20 52 2c 5b 6d 65 6d 2c  53 2c 4c 53 52 23 32 34  | R,[mem,S,LSR#24|
00007450  5d 20 3b 20 7a 65 72 6f  20 70 61 67 65 20 4c 44  |] ; zero page LD|
00007460  52 42 0d 4a c4 05 5d 0d  4a ce 07 3d 22 22 0d 4a  |RB.J..].J..="".J|
00007470  d8 04 0d 4a e2 15 dd a4  7a 65 72 6f 69 6e 64 65  |...J....zeroinde|
00007480  78 59 28 52 2c 53 29 0d  4a ec 09 5b 4f 50 54 70  |xY(R,S).J..[OPTp|
00007490  0d 4a f6 10 a4 67 65 74  62 79 74 65 31 28 52 29  |.J...getbyte1(R)|
000074a0  0d 4b 00 14 41 44 44 20  53 2c 59 2c 52 2c 4c 53  |.K..ADD S,Y,R,LS|
000074b0  4c 23 32 34 0d 4b 0a 05  5d 0d 4b 14 07 3d 22 22  |L#24.K..].K..=""|
000074c0  0d 4b 1e 04 0d 4b 28 11  dd a4 67 65 74 62 79 74  |.K...K(...getbyt|
000074d0  65 31 28 52 29 0d 4b 32  09 5b 4f 50 54 70 0d 4b  |e1(R).K2.[OPTp.K|
000074e0  3c 16 41 44 44 20 52 2c  7a 70 63 2c 23 31 20 3c  |<.ADD R,zpc,#1 <|
000074f0  3c 20 31 36 0d 4b 46 2c  4c 44 52 42 20 52 2c 5b  |< 16.KF,LDRB R,[|
00007500  6d 65 6d 2c 52 2c 4c 53  52 23 31 36 5d 20 3b 20  |mem,R,LSR#16] ; |
00007510  69 6e 73 74 75 63 74 69  6f 6e 20 66 65 74 63 68  |instuction fetch|
00007520  0d 4b 50 05 5d 0d 4b 5a  07 3d 22 22 0d 4b 64 04  |.KP.].KZ.="".Kd.|
00007530  0d 4b 6e 13 dd a4 67 65  74 62 79 74 65 32 28 52  |.Kn...getbyte2(R|
00007540  2c 53 29 0d 4b 78 09 5b  4f 50 54 70 0d 4b 82 18  |,S).Kx.[OPTp.K..|
00007550  41 44 44 20 53 2c 6d 65  6d 2c 7a 70 63 2c 4c 53  |ADD S,mem,zpc,LS|
00007560  52 23 31 36 0d 4b 8c 11  4c 44 52 42 20 52 2c 5b  |R#16.K..LDRB R,[|
00007570  53 2c 23 31 5d 0d 4b 96  26 4c 44 52 42 20 53 2c  |S,#1].K.&LDRB S,|
00007580  5b 53 2c 23 32 5d 20 3b  20 69 6e 73 74 75 63 74  |[S,#2] ; instuct|
00007590  69 6f 6e 20 66 65 74 63  68 65 73 0d 4b a0 05 5d  |ion fetches.K..]|
000075a0  0d 4b aa 07 3d 22 22 0d  4b b4 04 0d 4b be 0d dd  |.K..="".K...K...|
000075b0  a4 70 75 6c 6c 28 52 29  0d 4b c8 0a c8 8e 20 52  |.pull(R).K.... R|
000075c0  20 ca 0d 4b d2 07 c9 20  46 0d 4b dc 09 5b 4f 50  | ..K... F.K..[OP|
000075d0  54 70 0d 4b e6 16 41 44  44 20 53 50 2c 53 50 2c  |Tp.K..ADD SP,SP,|
000075e0  23 31 20 3c 3c 20 32 34  0d 4b f0 1b 4c 44 52 42  |#1 << 24.K..LDRB|
000075f0  20 52 31 2c 5b 6d 65 6d  2c 53 50 2c 52 4f 52 23  | R1,[mem,SP,ROR#|
00007600  32 34 5d 0d 4b fa 10 42  49 43 20 46 2c 46 2c 23  |24].K..BIC F,F,#|
00007610  26 46 46 0d 4c 04 0d 84  52 20 46 2c 46 2c 52 31  |&FF.L...R F,F,R1|
00007620  0d 4c 0e 14 42 4c 20 72  65 73 65 74 5f 62 63 64  |.L..BL reset_bcd|
00007630  66 6c 61 67 0d 4c 18 05  5d 0d 4c 22 0b c9 20 41  |flag.L..].L".. A|
00007640  2c 58 2c 59 0d 4c 2c 09  5b 4f 50 54 70 0d 4c 36  |,X,Y.L,.[OPTp.L6|
00007650  16 41 44 44 20 53 50 2c  53 50 2c 23 31 20 3c 3c  |.ADD SP,SP,#1 <<|
00007660  20 32 34 0d 4c 40 1b 4c  44 52 42 20 52 30 2c 5b  | 24.L@.LDRB R0,[|
00007670  6d 65 6d 2c 53 50 2c 52  4f 52 23 32 34 5d 0d 4c  |mem,SP,ROR#24].L|
00007680  4a 14 4d 4f 56 53 20 52  2c 52 30 2c 4c 53 4c 23  |J.MOVS R,R0,LSL#|
00007690  32 34 0d 4c 54 0c a4 73  65 74 75 70 4e 5a 0d 4c  |24.LT..setupNZ.L|
000076a0  5e 05 5d 0d 4c 68 05 7f  0d 4c 72 09 5b 4f 50 54  |^.].Lh...Lr.[OPT|
000076b0  70 0d 4c 7c 16 41 44 44  20 53 50 2c 53 50 2c 23  |p.L|.ADD SP,SP,#|
000076c0  31 20 3c 3c 20 32 34 0d  4c 86 1b 4c 44 52 42 20  |1 << 24.L..LDRB |
000076d0  52 30 2c 5b 6d 65 6d 2c  53 50 2c 52 4f 52 23 32  |R0,[mem,SP,ROR#2|
000076e0  34 5d 0d 4c 90 13 4d 4f  56 20 52 2c 52 30 2c 4c  |4].L..MOV R,R0,L|
000076f0  53 4c 23 32 34 0d 4c 9a  05 5d 0d 4c a4 05 cb 0d  |SL#24.L..].L....|
00007700  4c ae 07 3d 22 22 0d 4c  b8 04 0d 4c c2 0d dd a4  |L..="".L...L....|
00007710  70 75 73 68 28 52 29 0d  4c cc 17 e7 20 52 3d 46  |push(R).L... R=F|
00007720  20 84 20 52 3d 30 20 84  20 52 3d 31 20 8c 0d 4c  | . R=0 . R=1 ..L|
00007730  d6 09 5b 4f 50 54 70 0d  4c e0 1a 53 54 52 42 20  |..[OPTp.L..STRB |
00007740  52 2c 5b 6d 65 6d 2c 53  50 2c 52 4f 52 23 32 34  |R,[mem,SP,ROR#24|
00007750  5d 0d 4c ea 16 53 55 42  20 53 50 2c 53 50 2c 23  |].L..SUB SP,SP,#|
00007760  31 20 3c 3c 20 32 34 0d  4c f4 05 5d 0d 4c fe 05  |1 << 24.L..].L..|
00007770  cc 0d 4d 08 09 5b 4f 50  54 70 0d 4d 12 13 4d 4f  |..M..[OPTp.M..MO|
00007780  56 20 52 30 2c 52 2c 4c  53 52 23 32 34 0d 4d 1c  |V R0,R,LSR#24.M.|
00007790  1b 53 54 52 42 20 52 30  2c 5b 6d 65 6d 2c 53 50  |.STRB R0,[mem,SP|
000077a0  2c 52 4f 52 23 32 34 5d  0d 4d 26 16 53 55 42 20  |,ROR#24].M&.SUB |
000077b0  53 50 2c 53 50 2c 23 31  20 3c 3c 20 32 34 0d 4d  |SP,SP,#1 << 24.M|
000077c0  30 05 5d 0d 4d 3a 05 cd  0d 4d 44 07 3d 22 22 0d  |0.].M:...MD.="".|
000077d0  4d 4e 04 0d ff                                    |MN...|
000077d5