;-------------------------------------------------------------------- ; CPU Equates ;-------------------------------------------------------------------- SizeOf_ADC_ABS EQU ADC_ABSX-ADC_ABS SizeOf_ADC_ABSX EQU ADC_ABSY-ADC_ABSX SizeOf_ADC_ABSY EQU ADC_IMM-ADC_ABSY SizeOf_ADC_IMM EQU ADC_IND-ADC_IMM SizeOf_ADC_IND EQU ADC_INDX-ADC_IND SizeOf_ADC_INDX EQU ADC_INDY-ADC_INDX SizeOf_ADC_INDY EQU ADC_ZP-ADC_INDY SizeOf_ADC_ZP EQU ADC_ZPX-ADC_ZP SizeOf_ADC_ZPX EQU alr_imm-ADC_ZPX SizeOf_alr_imm EQU AND_ABS-alr_imm SizeOf_AND_ABS EQU AND_ABSX-AND_ABS SizeOf_AND_ABSX EQU AND_ABSY-AND_ABSX SizeOf_AND_ABSY EQU AND_IMM-AND_ABSY SizeOf_AND_IMM EQU AND_IND-AND_IMM SizeOf_AND_IND EQU AND_INDX-AND_IND SizeOf_AND_INDX EQU AND_INDY-AND_INDX SizeOf_AND_INDY EQU AND_ZP-AND_INDY SizeOf_AND_ZP EQU AND_ZPX-AND_ZP SizeOf_AND_ZPX EQU arr_imm-AND_ZPX SizeOf_arr_imm EQU ASL_A-arr_imm SizeOf_ASL_A EQU ASL_ABS-ASL_A SizeOf_ASL_ABS EQU ASL_ABSX-ASL_ABS SizeOf_ASL_ABSX EQU ASL_ZP-ASL_ABSX SizeOf_ASL_ZP EQU ASL_ZPX-ASL_ZP SizeOf_ASL_ZPX EQU aso_abs-ASL_ZPX SizeOf_aso_abs EQU aso_absx-aso_abs SizeOf_aso_absx EQU aso_absy-aso_absx SizeOf_aso_absy EQU aso_imm-aso_absy SizeOf_aso_imm EQU aso_indx-aso_imm SizeOf_aso_indx EQU aso_indy-aso_indx SizeOf_aso_indy EQU aso_zp-aso_indy SizeOf_aso_zp EQU aso_zpx-aso_zp SizeOf_aso_zpx EQU axs_abs-aso_zpx SizeOf_axs_abs EQU axs_indx-axs_abs SizeOf_axs_indx EQU axs_zp-axs_indx SizeOf_axs_zp EQU axs_zpy-axs_zp SizeOf_axs_zpy EQU BBR0_ZP-axs_zpy SizeOf_BBR0_ZP EQU BBR1_ZP-BBR0_ZP SizeOf_BBR1_ZP EQU BBR2_ZP-BBR1_ZP SizeOf_BBR2_ZP EQU BBR3_ZP-BBR2_ZP SizeOf_BBR3_ZP EQU BBR4_ZP-BBR3_ZP SizeOf_BBR4_ZP EQU BBR5_ZP-BBR4_ZP SizeOf_BBR5_ZP EQU BBR6_ZP-BBR5_ZP SizeOf_BBR6_ZP EQU BBR7_ZP-BBR6_ZP SizeOf_BBR7_ZP EQU BBS0_ZP-BBR7_ZP SizeOf_BBS0_ZP EQU BBS1_ZP-BBS0_ZP SizeOf_BBS1_ZP EQU BBS2_ZP-BBS1_ZP SizeOf_BBS2_ZP EQU BBS3_ZP-BBS2_ZP SizeOf_BBS3_ZP EQU BBS4_ZP-BBS3_ZP SizeOf_BBS4_ZP EQU BBS5_ZP-BBS4_ZP SizeOf_BBS5_ZP EQU BBS6_ZP-BBS5_ZP SizeOf_BBS6_ZP EQU BBS7_ZP-BBS6_ZP SizeOf_BBS7_ZP EQU BCC-BBS7_ZP SizeOf_BCC EQU BCS-BCC SizeOf_BCS EQU BEQ-BCS SizeOf_BEQ EQU BNE-BEQ SizeOf_BNE EQU BMI-BNE SizeOf_BMI EQU BPL-BMI SizeOf_BPL EQU BRA-BPL SizeOf_BRA EQU BVC-BRA SizeOf_BVC EQU BVS-BVC SizeOf_BVS EQU BIT_ABS-BVS SizeOf_BIT_ABS EQU BIT_ABSX-BIT_ABS SizeOf_BIT_ABSX EQU BIT_IMM-BIT_ABSX SizeOf_BIT_IMM EQU BIT_ZP-BIT_IMM SizeOf_BIT_ZP EQU BIT_ZPX-BIT_ZP SizeOf_BIT_ZPX EQU BRK-BIT_ZPX SizeOf_BRK EQU CLC-BRK SizeOf_CLC EQU CLD-CLC SizeOf_CLD EQU CLI-CLD SizeOf_CLI EQU CLV-CLI SizeOf_CLV EQU CMP_ABS-CLV SizeOf_CMP_ABS EQU CMP_ABSX-CMP_ABS SizeOf_CMP_ABSX EQU CMP_ABSY-CMP_ABSX SizeOf_CMP_ABSY EQU CMP_IMM-CMP_ABSY SizeOf_CMP_IMM EQU CMP_IND-CMP_IMM SizeOf_CMP_IND EQU CMP_INDX-CMP_IND SizeOf_CMP_INDX EQU CMP_INDY-CMP_INDX SizeOf_CMP_INDY EQU CMP_ZP-CMP_INDY SizeOf_CMP_ZP EQU CMP_ZPX-CMP_ZP SizeOf_CMP_ZPX EQU CPX_ABS-CMP_ZPX SizeOf_CPX_ABS EQU CPX_IMM-CPX_ABS SizeOf_CPX_IMM EQU CPX_ZP-CPX_IMM SizeOf_CPX_ZP EQU CPY_ABS-CPX_ZP SizeOf_CPY_ABS EQU CPY_IMM-CPY_ABS SizeOf_CPY_IMM EQU CPY_ZP-CPY_IMM SizeOf_CPY_ZP EQU dcm_abs-CPY_ZP SizeOf_dcm_abs EQU dcm_absx-dcm_abs SizeOf_dcm_absx EQU dcm_absy-dcm_absx SizeOf_dcm_absy EQU dcm_indx-dcm_absy SizeOf_dcm_indx EQU dcm_indy-dcm_indx SizeOf_dcm_indy EQU dcm_zp-dcm_indy SizeOf_dcm_zp EQU dcm_zpx-dcm_zp SizeOf_dcm_zpx EQU DEC_A-dcm_zpx SizeOf_DEC_A EQU DEC_ABS-DEC_A SizeOf_DEC_ABS EQU DEC_ABSX-DEC_ABS SizeOf_DEC_ABSX EQU DEC_ZP-DEC_ABSX SizeOf_DEC_ZP EQU DEC_ZPX-DEC_ZP SizeOf_DEC_ZPX EQU DEX-DEC_ZPX SizeOf_DEX EQU DEY-DEX SizeOf_DEY EQU EOR_ABS-DEY SizeOf_EOR_ABS EQU EOR_ABSX-EOR_ABS SizeOf_EOR_ABSX EQU EOR_ABSY-EOR_ABSX SizeOf_EOR_ABSY EQU EOR_IMM-EOR_ABSY SizeOf_EOR_IMM EQU EOR_IND-EOR_IMM SizeOf_EOR_IND EQU EOR_INDX-EOR_IND SizeOf_EOR_INDX EQU EOR_INDY-EOR_INDX SizeOf_EOR_INDY EQU EOR_ZP-EOR_INDY SizeOf_EOR_ZP EQU EOR_ZPX-EOR_ZP SizeOf_EOR_ZPX EQU ILL-EOR_ZPX SizeOf_ILL EQU INC_A-ILL SizeOf_INC_A EQU INC_ABS-INC_A SizeOf_INC_ABS EQU INC_ABSX-INC_ABS SizeOf_INC_ABSX EQU INC_ZP-INC_ABSX SizeOf_INC_ZP EQU INC_ZPX-INC_ZP SizeOf_INC_ZPX EQU INX-INC_ZPX SizeOf_INX EQU INY-INX SizeOf_INY EQU ins_abs-INY SizeOf_ins_abs EQU ins_absx-ins_abs SizeOf_ins_absx EQU ins_absy-ins_absx SizeOf_ins_absy EQU ins_indx-ins_absy SizeOf_ins_indx EQU ins_indy-ins_indx SizeOf_ins_indy EQU ins_zp-ins_indy SizeOf_ins_zp EQU ins_zpx-ins_zp SizeOf_ins_zpx EQU JMP_ABS-ins_zpx SizeOf_JMP_ABS EQU JMP_IABS-JMP_ABS SizeOf_JMP_IABS EQU JMP_IABSX-JMP_IABS SizeOf_JMP_IABSX EQU JSR_ABS-JMP_IABSX SizeOf_JSR_ABS EQU lax_abs-JSR_ABS SizeOf_lax_abs EQU lax_absy-lax_abs SizeOf_lax_absy EQU lax_indx-lax_absy SizeOf_lax_indx EQU lax_indy-lax_indx SizeOf_lax_indy EQU lax_zp-lax_indy SizeOf_lax_zp EQU lax_zpx-lax_zp SizeOf_lax_zpx EQU LDA_ABS-lax_zpx SizeOf_LDA_ABS EQU LDA_ABSX-LDA_ABS SizeOf_LDA_ABSX EQU LDA_ABSY-LDA_ABSX SizeOf_LDA_ABSY EQU LDA_IMM-LDA_ABSY SizeOf_LDA_IMM EQU LDA_INDX-LDA_IMM SizeOf_LDA_INDX EQU LDA_INDY-LDA_INDX SizeOf_LDA_INDY EQU LDA_ZP-LDA_INDY SizeOf_LDA_ZP EQU LDA_ZPX-LDA_ZP SizeOf_LDA_ZPX EQU LDX_ABS-LDA_ZPX SizeOf_LDX_ABS EQU LDX_ABSY-LDX_ABS SizeOf_LDX_ABSY EQU LDX_IMM-LDX_ABSY SizeOf_LDX_IMM EQU LDX_ZP-LDX_IMM SizeOf_LDX_ZP EQU LDX_ZPY-LDX_ZP SizeOf_LDX_ZPY EQU LDY_ABS-LDX_ZPY SizeOf_LDY_ABS EQU LDY_ABSX-LDY_ABS SizeOf_LDY_ABSX EQU LDY_IMM-LDY_ABSX SizeOf_LDY_IMM EQU LDY_ZP-LDY_IMM SizeOf_LDY_ZP EQU LDY_ZPX-LDY_ZP SizeOf_LDY_ZPX EQU lse_abs-LDY_ZPX SizeOf_lse_abs EQU lse_absx-lse_abs SizeOf_lse_absx EQU lse_absy-lse_absx SizeOf_lse_absy EQU lse_indx-lse_absy SizeOf_lse_indx EQU lse_indy-lse_indx SizeOf_lse_indy EQU lse_zp-lse_indy SizeOf_lse_zp EQU lse_zpx-lse_zp SizeOf_lse_zpx EQU LSR_A-lse_zpx SizeOf_LSR_A EQU LSR_ABS-LSR_A SizeOf_LSR_ABS EQU LSR_ABSX-LSR_ABS SizeOf_LSR_ABSX EQU LSR_ZP-LSR_ABSX SizeOf_LSR_ZP EQU LSR_ZPX-LSR_ZP SizeOf_LSR_ZPX EQU mka_abs-LSR_ZPX SizeOf_mka_abs EQU mkx_abs-mka_abs SizeOf_mkx_abs EQU NOP-mkx_abs SizeOf_NOP EQU oal_imm-NOP SizeOf_nop EQU SizeOf_NOP SizeOf_oal_imm EQU ORA_ABS-oal_imm SizeOf_ORA_ABS EQU ORA_ABSX-ORA_ABS SizeOf_ORA_ABSX EQU ORA_ABSY-ORA_ABSX SizeOf_ORA_ABSY EQU ORA_IMM-ORA_ABSY SizeOf_ORA_IMM EQU ORA_IND-ORA_IMM SizeOf_ORA_IND EQU ORA_INDX-ORA_IND SizeOf_ORA_INDX EQU ORA_INDY-ORA_INDX SizeOf_ORA_INDY EQU ORA_ZP-ORA_INDY SizeOf_ORA_ZP EQU ORA_ZPX-ORA_ZP SizeOf_ORA_ZPX EQU PHA-ORA_ZPX SizeOf_PHA EQU PHP-PHA SizeOf_PHP EQU PHX-PHP SizeOf_PHX EQU PHY-PHX SizeOf_PHY EQU PLA-PHY SizeOf_PLA EQU PLP-PLA SizeOf_PLP EQU PLX-PLP SizeOf_PLX EQU PLY-PLX SizeOf_PLY EQU rla_abs-PLY SizeOf_rla_abs EQU rla_absx-rla_abs SizeOf_rla_absx EQU rla_absy-rla_absx SizeOf_rla_absy EQU rla_imm-rla_absy SizeOf_rla_imm EQU rla_indx-rla_imm SizeOf_rla_indx EQU rla_indy-rla_indx SizeOf_rla_indy EQU rla_zp-rla_indy SizeOf_rla_zp EQU rla_zpx-rla_zp SizeOf_rla_zpx EQU RMB0_ZP-rla_zpx SizeOf_RMB0_ZP EQU RMB1_ZP-RMB0_ZP SizeOf_RMB1_ZP EQU RMB2_ZP-RMB1_ZP SizeOf_RMB2_ZP EQU RMB3_ZP-RMB2_ZP SizeOf_RMB3_ZP EQU RMB4_ZP-RMB3_ZP SizeOf_RMB4_ZP EQU RMB5_ZP-RMB4_ZP SizeOf_RMB5_ZP EQU RMB6_ZP-RMB5_ZP SizeOf_RMB6_ZP EQU RMB7_ZP-RMB6_ZP SizeOf_RMB7_ZP EQU SMB0_ZP-RMB7_ZP SizeOf_SMB0_ZP EQU SMB1_ZP-SMB0_ZP SizeOf_SMB1_ZP EQU SMB2_ZP-SMB1_ZP SizeOf_SMB2_ZP EQU SMB3_ZP-SMB2_ZP SizeOf_SMB3_ZP EQU SMB4_ZP-SMB3_ZP SizeOf_SMB4_ZP EQU SMB5_ZP-SMB4_ZP SizeOf_SMB5_ZP EQU SMB6_ZP-SMB5_ZP SizeOf_SMB6_ZP EQU SMB7_ZP-SMB6_ZP SizeOf_SMB7_ZP EQU ROL_A-SMB7_ZP SizeOf_ROL_A EQU ROL_ABS-ROL_A SizeOf_ROL_ABS EQU ROL_ABSX-ROL_ABS SizeOf_ROL_ABSX EQU ROL_ZP-ROL_ABSX SizeOf_ROL_ZP EQU ROL_ZPX-ROL_ZP SizeOf_ROL_ZPX EQU ROR_A-ROL_ZPX SizeOf_ROR_A EQU ROR_ABS-ROR_A SizeOf_ROR_ABS EQU ROR_ABSX-ROR_ABS SizeOf_ROR_ABSX EQU ROR_ZP-ROR_ABSX SizeOf_ROR_ZP EQU ROR_ZPX-ROR_ZP SizeOf_ROR_ZPX EQU rra_abs-ROR_ZPX SizeOf_rra_abs EQU rra_absx-rra_abs SizeOf_rra_absx EQU rra_absy-rra_absx SizeOf_rra_absy EQU rra_indx-rra_absy SizeOf_rra_indx EQU rra_indy-rra_indx SizeOf_rra_indy EQU rra_zp-rra_indy SizeOf_rra_zp EQU rra_zpx-rra_zp SizeOf_rra_zpx EQU RTI-rra_zpx SizeOf_RTI EQU RTS-RTI SizeOf_RTS EQU sax_imm-RTS SizeOf_sax_imm EQU SBC_ABS-sax_imm SizeOf_SBC_ABS EQU SBC_ABSX-SBC_ABS SizeOf_SBC_ABSX EQU SBC_ABSY-SBC_ABSX SizeOf_SBC_ABSY EQU SBC_IMM-SBC_ABSY SizeOf_SBC_IMM EQU SBC_IND-SBC_IMM SizeOf_SBC_IND EQU SBC_INDX-SBC_IND SizeOf_SBC_INDX EQU SBC_INDY-SBC_INDX SizeOf_SBC_INDY EQU SBC_ZP-SBC_INDY SizeOf_SBC_ZP EQU SBC_ZPX-SBC_ZP SizeOf_SBC_ZPX EQU SEC-SBC_ZPX SizeOf_SEC EQU SED-SEC SizeOf_SED EQU SEI-SED SizeOf_SEI EQU skb-SEI SizeOf_skb EQU skw-skb SizeOf_skw EQU STA_ABS-skw SizeOf_STA_ABS EQU STA_ABSX-STA_ABS SizeOf_STA_ABSX EQU STA_ABSY-STA_ABSX SizeOf_STA_ABSY EQU STA_IND-STA_ABSY SizeOf_STA_IND EQU STA_INDX-STA_IND SizeOf_STA_INDX EQU STA_INDY-STA_INDX SizeOf_STA_INDY EQU STA_ZP-STA_INDY SizeOf_STA_ZP EQU STA_ZPX-STA_ZP SizeOf_STA_ZPX EQU STX_ABS-STA_ZPX SizeOf_STX_ABS EQU STX_ZP-STX_ABS SizeOf_STX_ZP EQU STX_ZPY-STX_ZP SizeOf_STX_ZPY EQU STY_ABS-STX_ZPY SizeOf_STY_ABS EQU STY_ZP-STY_ABS SizeOf_STY_ZP EQU STY_ZPX-STY_ZP SizeOf_STY_ZPX EQU STZ_ABS-STY_ZPX SizeOf_STZ_ABS EQU STZ_ABSX-STZ_ABS SizeOf_STZ_ABSX EQU STZ_ZP-STZ_ABSX SizeOf_STZ_ZP EQU STZ_ZPX-STZ_ZP SizeOf_STZ_ZPX EQU TAX-STZ_ZPX SizeOf_TAX EQU TAY-TAX SizeOf_TAY EQU TSX-TAY SizeOf_TSX EQU TXA-TSX SizeOf_TXA EQU TXS-TXA SizeOf_TXS EQU TYA-TXS SizeOf_TYA EQU TRB_ABS-TYA SizeOf_TRB_ABS EQU TRB_ZP-TRB_ABS SizeOf_TRB_ZP EQU TSB_ABS-TRB_ZP SizeOf_TSB_ABS EQU TSB_ZP-TSB_ABS SizeOf_TSB_ZP EQU xaa_imm-TSB_ZP SizeOf_xaa_imm EQU CodeEnd_020_1-xaa_imm ;-------------------------------------------------------------------- ; NMOS 6502 CPU Table (with rogue instructions) ;-------------------------------------------------------------------- ; mnemonics appearing in lower case are nonstandard (not documented) cnop 0,4 NMOS_Table dc.l BRK,ORA_INDX,ILL,aso_indx ; 0 dc.l skb,ORA_ZP,ASL_ZP,aso_zp dc.l PHP,ORA_IMM,ASL_A,aso_imm dc.l skw,ORA_ABS,ASL_ABS,aso_abs dc.l BPL,ORA_INDY,ILL,aso_indy ; 1 dc.l skb,ORA_ZPX,ASL_ZPX,aso_zpx dc.l CLC,ORA_ABSY,nop,aso_absy dc.l skw,ORA_ABSX,ASL_ABSX,aso_absx dc.l JSR_ABS,AND_INDX,ILL,rla_indx ; 2 dc.l BIT_ZP,AND_ZP,ROL_ZP,rla_zp dc.l PLP,AND_IMM,ROL_A,rla_imm dc.l BIT_ABS,AND_ABS,ROL_ABS,rla_abs dc.l BMI,AND_INDY,ILL,rla_indy ; 3 dc.l skb,AND_ZPX,ROL_ZPX,rla_zpx dc.l SEC,AND_ABSY,nop,rla_absy dc.l skw,AND_ABSX,ROL_ABSX,rla_absx dc.l RTI,EOR_INDX,ILL,lse_indx ; 4 dc.l skb,EOR_ZP,LSR_ZP,lse_zp dc.l PHA,EOR_IMM,LSR_A,alr_imm dc.l JMP_ABS,EOR_ABS,LSR_ABS,lse_abs dc.l BVC,EOR_INDY,ILL,lse_indy ; 5 dc.l skb,EOR_ZPX,LSR_ZPX,lse_zpx dc.l CLI,EOR_ABSY,nop,lse_absy dc.l skw,EOR_ABSX,LSR_ABSX,lse_absx dc.l RTS,ADC_INDX,ILL,rra_indx ; 6 dc.l skb,ADC_ZP,ROR_ZP,rra_zp dc.l PLA,ADC_IMM,ROR_A,arr_imm dc.l JMP_IABS,ADC_ABS,ROR_ABS,rra_abs dc.l BVS,ADC_INDY,ILL,rra_indy ; 7 dc.l skb,ADC_ZPX,ROR_ZPX,rra_zpx dc.l SEI,ADC_ABSY,nop,rra_absy dc.l skw,ADC_ABSX,ROR_ABSX,rra_absx dc.l skb,STA_INDX,skb,axs_indx ; 8 dc.l STY_ZP,STA_ZP,STX_ZP,axs_zp dc.l DEY,ILL,TXA,xaa_imm dc.l STY_ABS,STA_ABS,STX_ABS,axs_abs dc.l BCC,STA_INDY,ILL,ILL ; 9 dc.l STY_ZPX,STA_ZPX,STX_ZPY,axs_zpy dc.l TYA,STA_ABSY,TXS,ILL dc.l ILL,STA_ABSX,mkx_abs,mka_abs dc.l LDY_IMM,LDA_INDX,LDX_IMM,lax_indx ; A dc.l LDY_ZP,LDA_ZP,LDX_ZP,lax_zp dc.l TAY,LDA_IMM,TAX,oal_imm dc.l LDY_ABS,LDA_ABS,LDX_ABS,lax_abs dc.l BCS,LDA_INDY,ILL,lax_indy ; B dc.l LDY_ZPX,LDA_ZPX,LDX_ZPY,lax_zpx dc.l CLV,LDA_ABSY,TSX,ILL dc.l LDY_ABSX,LDA_ABSX,LDX_ABSY,lax_absy dc.l CPY_IMM,CMP_INDX,skb,dcm_indx ; C dc.l CPY_ZP,CMP_ZP,DEC_ZP,dcm_zp dc.l INY,CMP_IMM,DEX,sax_imm dc.l CPY_ABS,CMP_ABS,DEC_ABS,dcm_abs dc.l BNE,CMP_INDY,ILL,dcm_indy ; D dc.l skb,CMP_ZPX,DEC_ZPX,dcm_zpx dc.l CLD,CMP_ABSY,nop,dcm_absy dc.l skw,CMP_ABSX,DEC_ABSX,dcm_absx dc.l CPX_IMM,SBC_INDX,skb,ins_indx ; E dc.l CPX_ZP,SBC_ZP,INC_ZP,ins_zp dc.l INX,SBC_IMM,NOP,ILL dc.l CPX_ABS,SBC_ABS,INC_ABS,ins_abs dc.l BEQ,SBC_INDY,ILL,ins_indy ; F dc.l skb,SBC_ZPX,INC_ZPX,ins_zpx dc.l SED,SBC_ABSY,nop,ins_absy dc.l skw,SBC_ABSX,INC_ABSX,ins_absx ;-------------------------------------------------------------------- ; CMOS R65C02 CPU Table ;-------------------------------------------------------------------- CMOS_Table dc.l BRK,ORA_INDX,NOP,NOP dc.l TSB_ZP,ORA_ZP,ASL_ZP,RMB0_ZP dc.l PHP,ORA_IMM,ASL_A,NOP dc.l TSB_ABS,ORA_ABS,ASL_ABS,BBR0_ZP dc.l BPL,ORA_INDY,ORA_IND,NOP dc.l TRB_ZP,ORA_ZPX,ASL_ZPX,RMB1_ZP dc.l CLC,ORA_ABSY,INC_A,NOP dc.l TRB_ABS,ORA_ABSX,ASL_ABSX,BBR1_ZP dc.l JSR_ABS,AND_INDX,NOP,NOP dc.l BIT_ZP,AND_ZP,ROL_ZP,RMB2_ZP dc.l PLP,AND_IMM,ROL_A,NOP dc.l BIT_ABS,AND_ABS,ROL_ABS,BBR2_ZP dc.l BMI,AND_INDY,AND_IND,NOP dc.l BIT_ZPX,AND_ZPX,ROL_ZPX,RMB3_ZP dc.l SEC,AND_ABSY,DEC_A,NOP dc.l BIT_ABSX,AND_ABSX,ROL_ABSX,BBR3_ZP dc.l RTI,EOR_INDX,NOP,NOP dc.l NOP,EOR_ZP,LSR_ZP,RMB4_ZP dc.l PHA,EOR_IMM,LSR_A,NOP dc.l JMP_ABS,EOR_ABS,LSR_ABS,BBR4_ZP dc.l BVC,EOR_INDY,EOR_IND,NOP dc.l NOP,EOR_ZPX,LSR_ZPX,RMB5_ZP dc.l CLI,EOR_ABSY,PHY,NOP dc.l NOP,EOR_ABSX,LSR_ABSX,BBR5_ZP dc.l RTS,ADC_INDX,NOP,NOP dc.l STZ_ZP,ADC_ZP,ROR_ZP,RMB6_ZP dc.l PLA,ADC_IMM,ROR_A,NOP dc.l JMP_IABS,ADC_ABS,ROR_ABS,BBR6_ZP dc.l BVS,ADC_INDY,ADC_IND,NOP dc.l STZ_ZPX,ADC_ZPX,ROR_ZPX,RMB7_ZP dc.l SEI,ADC_ABSY,PLY,NOP dc.l JMP_IABSX,ADC_ABSX,ROR_ABSX,BBR7_ZP dc.l BRA,STA_INDX,NOP,NOP dc.l STY_ZP,STA_ZP,STX_ZP,SMB0_ZP dc.l DEY,BIT_IMM,TXA,NOP dc.l STY_ABS,STA_ABS,STX_ABS,BBS0_ZP dc.l BCC,STA_INDY,STA_IND,NOP dc.l STY_ZPX,STA_ZPX,STX_ZPY,SMB1_ZP dc.l TYA,STA_ABSY,TXS,NOP dc.l STZ_ABS,STA_ABSX,STZ_ABSX,BBS1_ZP dc.l LDY_IMM,LDA_INDX,LDX_IMM,NOP dc.l LDY_ZP,LDA_ZP,LDX_ZP,SMB2_ZP dc.l TAY,LDA_IMM,TAX,NOP dc.l LDY_ABS,LDA_ABS,LDX_ABS,BBS2_ZP dc.l BCS,LDA_INDY,LDA_IMM,NOP dc.l LDY_ZPX,LDA_ZPX,LDX_ZPY,SMB3_ZP dc.l CLV,LDA_ABSY,TSX,NOP dc.l LDY_ABSX,LDA_ABSX,LDX_ABSY,BBS3_ZP dc.l CPY_IMM,CMP_INDX,NOP,NOP dc.l CPY_ZP,CMP_ZP,DEC_ZP,SMB4_ZP dc.l INY,CMP_IMM,DEX,NOP dc.l CPY_ABS,CMP_ABS,DEC_ABS,BBS4_ZP dc.l BNE,CMP_INDY,CMP_IND,NOP dc.l NOP,CMP_ZPX,DEC_ZPX,SMB5_ZP dc.l CLD,CMP_ABSY,PHX,NOP dc.l NOP,CMP_ABSX,DEC_ABSX,BBS5_ZP dc.l CPX_IMM,SBC_INDX,NOP,NOP dc.l CPX_ZP,SBC_ZP,INC_ZP,SMB6_ZP dc.l INX,SBC_IMM,NOP,NOP dc.l CPX_ABS,SBC_ABS,INC_ABS,BBS6_ZP dc.l BEQ,SBC_INDY,SBC_IND,NOP dc.l NOP,SBC_ZPX,INC_ZPX,SMB7_ZP dc.l SED,SBC_ABSY,PLX,NOP dc.l NOP,SBC_ABSX,INC_ABSX,BBS7_ZP ;-------------------------------------------------------------------- Status1Table ; CCR -> P NV_BDIZC XNZVCDI dc.b %00100000 ; %0000000 dc.b %00100100 ; %0000001 dc.b %00101000 ; %0000010 dc.b %00101100 ; %0000011 dc.b %00100000 ; %0000100 dc.b %00100100 ; %0000101 dc.b %00101000 ; %0000110 dc.b %00101100 ; %0000111 dc.b %01100000 ; %0001000 dc.b %01100100 ; %0001001 dc.b %01101000 ; %0001010 dc.b %01101100 ; %0001011 dc.b %01100000 ; %0001100 dc.b %01100100 ; %0001101 dc.b %01101000 ; %0001110 dc.b %01101100 ; %0001111 dc.b %00100010 ; %0010000 dc.b %00100110 ; %0010001 dc.b %00101010 ; %0010010 dc.b %00101110 ; %0010011 dc.b %00100010 ; %0010100 dc.b %00100110 ; %0010101 dc.b %00101010 ; %0010110 dc.b %00101110 ; %0010111 dc.b %01100010 ; %0011000 dc.b %01100110 ; %0011001 dc.b %01101010 ; %0011010 dc.b %01101110 ; %0011011 dc.b %01100010 ; %0011100 dc.b %01100110 ; %0011101 dc.b %01101010 ; %0011110 dc.b %01101110 ; %0011111 dc.b %10100000 ; %0100000 dc.b %10100100 ; %0100001 dc.b %10101000 ; %0100010 dc.b %10101100 ; %0100011 dc.b %10100000 ; %0100100 dc.b %10100100 ; %0100101 dc.b %10101000 ; %0100110 dc.b %10101100 ; %0100111 dc.b %11100000 ; %0101000 dc.b %11100100 ; %0101001 dc.b %11101000 ; %0101010 dc.b %11101100 ; %0101011 dc.b %11100000 ; %0101100 dc.b %11100100 ; %0101101 dc.b %11101000 ; %0101110 dc.b %11101100 ; %0101111 dc.b %10100010 ; %0110000 dc.b %10100110 ; %0110001 dc.b %10101010 ; %0110010 dc.b %10101110 ; %0110011 dc.b %10100010 ; %0110100 dc.b %10100110 ; %0110101 dc.b %10101010 ; %0110110 dc.b %10101110 ; %0110111 dc.b %11100010 ; %0111000 dc.b %11100110 ; %0111001 dc.b %11101010 ; %0111010 dc.b %11101110 ; %0111011 dc.b %11100010 ; %0111100 dc.b %11100110 ; %0111101 dc.b %11101010 ; %0111110 dc.b %11101110 ; %0111111 dc.b %00100001 ; %1000000 dc.b %00100101 ; %1000001 dc.b %00101001 ; %1000010 dc.b %00101101 ; %1000011 dc.b %00100001 ; %1000100 dc.b %00100101 ; %1000101 dc.b %00101001 ; %1000110 dc.b %00101101 ; %1000111 dc.b %01100001 ; %1001000 dc.b %01100101 ; %1001001 dc.b %01101001 ; %1001010 dc.b %01101101 ; %1001011 dc.b %01100001 ; %1001100 dc.b %01100101 ; %1001101 dc.b %01101001 ; %1001110 dc.b %01101101 ; %1001111 dc.b %00100011 ; %1010000 dc.b %00100111 ; %1010001 dc.b %00101011 ; %1010010 dc.b %00101111 ; %1010011 dc.b %00100011 ; %1010100 dc.b %00100111 ; %1010101 dc.b %00101011 ; %1010110 dc.b %00101111 ; %1010111 dc.b %01100011 ; %1011000 dc.b %01100111 ; %1011001 dc.b %01101011 ; %1011010 dc.b %01101111 ; %1011011 dc.b %01100011 ; %1011100 dc.b %01100111 ; %1011101 dc.b %01101011 ; %1011110 dc.b %01101111 ; %1011111 dc.b %10100001 ; %1100000 dc.b %10100101 ; %1100001 dc.b %10101001 ; %1100010 dc.b %10101101 ; %1100011 dc.b %10100001 ; %1100100 dc.b %10100101 ; %1100101 dc.b %10101001 ; %1100110 dc.b %10101101 ; %1100111 dc.b %11100001 ; %1101000 dc.b %11100101 ; %1101001 dc.b %11101001 ; %1101010 dc.b %11101101 ; %1101011 dc.b %11100001 ; %1101100 dc.b %11100101 ; %1101101 dc.b %11101001 ; %1101110 dc.b %11101101 ; %1101111 dc.b %10100011 ; %1110000 dc.b %10100111 ; %1110001 dc.b %10101011 ; %1110010 dc.b %10101111 ; %1110011 dc.b %10100011 ; %1110100 dc.b %10100111 ; %1110101 dc.b %10101011 ; %1110110 dc.b %10101111 ; %1110111 dc.b %11100011 ; %1111000 dc.b %11100111 ; %1111001 dc.b %11101011 ; %1111010 dc.b %11101111 ; %1111011 dc.b %11100011 ; %1111100 dc.b %11100111 ; %1111101 dc.b %11101011 ; %1111110 dc.b %11101111 ; %1111111 ;-------------------------------------------------------------------- Status2Table ; P -> CCR _XNZVCDI BDIZCNV dc.b %00000000 ; %0000000 dc.b %00001000 ; %0000001 dc.b %00100000 ; %0000010 dc.b %00101000 ; %0000011 dc.b %01000100 ; %0000100 dc.b %01001100 ; %0000101 dc.b %01100100 ; %0000110 dc.b %01101100 ; %0000111 dc.b %00010000 ; %0001000 dc.b %00011000 ; %0001001 dc.b %00110000 ; %0001010 dc.b %00111000 ; %0001011 dc.b %01010100 ; %0001100 dc.b %01011100 ; %0001101 dc.b %01110100 ; %0001110 dc.b %01111100 ; %0001111 dc.b %00000001 ; %0010000 dc.b %00001001 ; %0010001 dc.b %00100001 ; %0010010 dc.b %00101001 ; %0010011 dc.b %01000101 ; %0010100 dc.b %01001101 ; %0010101 dc.b %01100101 ; %0010110 dc.b %01101101 ; %0010111 dc.b %00010001 ; %0011000 dc.b %00011001 ; %0011001 dc.b %00110001 ; %0011010 dc.b %00111001 ; %0011011 dc.b %01010101 ; %0011100 dc.b %01011101 ; %0011101 dc.b %01110101 ; %0011110 dc.b %01111101 ; %0011111 dc.b %00000010 ; %0100000 dc.b %00001010 ; %0100001 dc.b %00100010 ; %0100010 dc.b %00101010 ; %0100011 dc.b %01000110 ; %0100100 dc.b %01001110 ; %0100101 dc.b %01100110 ; %0100110 dc.b %01101110 ; %0100111 dc.b %00010010 ; %0101000 dc.b %00011010 ; %0101001 dc.b %00110010 ; %0101010 dc.b %00111010 ; %0101011 dc.b %01010110 ; %0101100 dc.b %01011110 ; %0101101 dc.b %01110110 ; %0101110 dc.b %01111110 ; %0101111 dc.b %00000011 ; %0110000 dc.b %00001011 ; %0110001 dc.b %00100011 ; %0110010 dc.b %00101011 ; %0110011 dc.b %01000111 ; %0110100 dc.b %01001111 ; %0110101 dc.b %01100111 ; %0110110 dc.b %01101111 ; %0110111 dc.b %00010011 ; %0111000 dc.b %00011011 ; %0111001 dc.b %00110011 ; %0111010 dc.b %00111011 ; %0111011 dc.b %01010111 ; %0111100 dc.b %01011111 ; %0111101 dc.b %01110111 ; %0111110 dc.b %01111111 ; %0111111 dc.b %00000000 ; %1000000 dc.b %00001000 ; %1000001 dc.b %00100000 ; %1000010 dc.b %00101000 ; %1000011 dc.b %01000100 ; %1000100 dc.b %01001100 ; %1000101 dc.b %01100100 ; %1000110 dc.b %01101100 ; %1000111 dc.b %00010000 ; %1001000 dc.b %00011000 ; %1001001 dc.b %00110000 ; %1001010 dc.b %00111000 ; %1001011 dc.b %01010100 ; %1001100 dc.b %01011100 ; %1001101 dc.b %01110100 ; %1001110 dc.b %01111100 ; %1001111 dc.b %00000001 ; %1010000 dc.b %00001001 ; %1010001 dc.b %00100001 ; %1010010 dc.b %00101001 ; %1010011 dc.b %01000101 ; %1010100 dc.b %01001101 ; %1010101 dc.b %01100101 ; %1010110 dc.b %01101101 ; %1010111 dc.b %00010001 ; %1011000 dc.b %00011001 ; %1011001 dc.b %00110001 ; %1011010 dc.b %00111001 ; %1011011 dc.b %01010101 ; %1011100 dc.b %01011101 ; %1011101 dc.b %01110101 ; %1011110 dc.b %01111101 ; %1011111 dc.b %00000010 ; %1100000 dc.b %00001010 ; %1100001 dc.b %00100010 ; %1100010 dc.b %00101010 ; %1100011 dc.b %01000110 ; %1100100 dc.b %01001110 ; %1100101 dc.b %01100110 ; %1100110 dc.b %01101110 ; %1100111 dc.b %00010010 ; %1101000 dc.b %00011010 ; %1101001 dc.b %00110010 ; %1101010 dc.b %00111010 ; %1101011 dc.b %01010110 ; %1101100 dc.b %01011110 ; %1101101 dc.b %01110110 ; %1101110 dc.b %01111110 ; %1101111 dc.b %00000011 ; %1110000 dc.b %00001011 ; %1110001 dc.b %00100011 ; %1110010 dc.b %00101011 ; %1110011 dc.b %01000111 ; %1110100 dc.b %01001111 ; %1110101 dc.b %01100111 ; %1110110 dc.b %01101111 ; %1110111 dc.b %00010011 ; %1111000 dc.b %00011011 ; %1111001 dc.b %00110011 ; %1111010 dc.b %00111011 ; %1111011 dc.b %01010111 ; %1111100 dc.b %01011111 ; %1111101 dc.b %01110111 ; %1111110 dc.b %01111111 ; %1111111 ;-------------------------------------------------------------------- ; NMOS Length Table (-X = Terminator) SizeTable1: dc.w -1,SizeOf_BRK ; 0 dc.w 2,SizeOf_ORA_INDX dc.w -1,SizeOf_ILL dc.w 2,SizeOf_aso_indx dc.w 2,SizeOf_skb dc.w 2,SizeOf_ORA_ZP dc.w 2,SizeOf_ASL_ZP dc.w 2,SizeOf_aso_zp dc.w 1,SizeOf_PHP dc.w 2,SizeOf_ORA_IMM dc.w 1,SizeOf_ASL_A dc.w 2,SizeOf_aso_imm dc.w 3,SizeOf_skw dc.w 3,SizeOf_ORA_ABS dc.w 3,SizeOf_ASL_ABS dc.w 3,SizeOf_aso_abs dc.w 2,SizeOf_BPL ; 1 dc.w 2,SizeOf_ORA_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_aso_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_ORA_ZPX dc.w 2,SizeOf_ASL_ZPX dc.w 2,SizeOf_aso_zpx dc.w 1,SizeOf_CLC dc.w 3,SizeOf_ORA_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_aso_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_ORA_ABSX dc.w 3,SizeOf_ASL_ABSX dc.w 3,SizeOf_aso_absx dc.w -3,SizeOf_JSR_ABS ; 2 dc.w 2,SizeOf_AND_INDX dc.w -1,SizeOf_ILL dc.w 2,SizeOf_rla_indx dc.w 2,SizeOf_BIT_ZP dc.w 2,SizeOf_AND_ZP dc.w 2,SizeOf_ROL_ZP dc.w 2,SizeOf_rla_zp dc.w 1,SizeOf_PLP dc.w 2,SizeOf_AND_IMM dc.w 1,SizeOf_ROL_A dc.w 2,SizeOf_rla_imm dc.w 3,SizeOf_BIT_ABS dc.w 3,SizeOf_AND_ABS dc.w 3,SizeOf_ROL_ABS dc.w 3,SizeOf_rla_abs dc.w 2,SizeOf_BMI ; 3 dc.w 2,SizeOf_AND_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_rla_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_AND_ZPX dc.w 2,SizeOf_ROL_ZPX dc.w 2,SizeOf_rla_zpx dc.w 1,SizeOf_SEC dc.w 3,SizeOf_AND_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_rla_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_AND_ABSX dc.w 3,SizeOf_ROL_ABSX dc.w 3,SizeOf_rla_absx dc.w -1,SizeOf_RTI ; 4 dc.w 2,SizeOf_EOR_INDX dc.w -1,SizeOf_ILL dc.w 2,SizeOf_lse_indx dc.w 2,SizeOf_skb dc.w 2,SizeOf_EOR_ZP dc.w 2,SizeOf_LSR_ZP dc.w 2,SizeOf_lse_zp dc.w 1,SizeOf_PHA dc.w 2,SizeOf_EOR_IMM dc.w 1,SizeOf_LSR_A dc.w 2,SizeOf_alr_imm dc.w -3,SizeOf_JMP_ABS dc.w 3,SizeOf_EOR_ABS dc.w 3,SizeOf_LSR_ABS dc.w 3,SizeOf_lse_abs dc.w 2,SizeOf_BVC ; 5 dc.w 2,SizeOf_EOR_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_lse_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_EOR_ZPX dc.w 2,SizeOf_LSR_ZPX dc.w 2,SizeOf_lse_zpx dc.w 1,SizeOf_CLI dc.w 3,SizeOf_EOR_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_lse_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_EOR_ABSX dc.w 3,SizeOf_LSR_ABSX dc.w 3,SizeOf_lse_absx dc.w -1,SizeOf_RTS ; 6 dc.w 2,SizeOf_ADC_INDX dc.w -1,SizeOf_ILL dc.w 2,SizeOf_rra_indx dc.w 2,SizeOf_skb dc.w 2,SizeOf_ADC_ZP dc.w 2,SizeOf_ROR_ZP dc.w 2,SizeOf_rra_zp dc.w 1,SizeOf_PLA dc.w 2,SizeOf_ADC_IMM dc.w 1,SizeOf_ROR_A dc.w 2,SizeOf_arr_imm dc.w -3,SizeOf_JMP_IABS dc.w 3,SizeOf_ADC_ABS dc.w 3,SizeOf_ROR_ABS dc.w 3,SizeOf_rra_abs dc.w 2,SizeOf_BVS ; 7 dc.w 2,SizeOf_ADC_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_rra_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_ADC_ZPX dc.w 2,SizeOf_ROR_ZPX dc.w 2,SizeOf_rra_zpx dc.w 1,SizeOf_SEI dc.w 3,SizeOf_ADC_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_rra_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_ADC_ABSX dc.w 3,SizeOf_ROR_ABSX dc.w 3,SizeOf_rra_absx dc.w 2,SizeOf_skb ; 8 dc.w 2,SizeOf_STA_INDX dc.w 2,SizeOf_skb dc.w 2,SizeOf_axs_indx dc.w 2,SizeOf_STY_ZP dc.w 2,SizeOf_STA_ZP dc.w 2,SizeOf_STX_ZP dc.w 2,SizeOf_axs_zp dc.w 1,SizeOf_DEY dc.w -1,SizeOf_ILL dc.w 1,SizeOf_TXA dc.w 2,SizeOf_xaa_imm dc.w 3,SizeOf_STY_ABS dc.w 3,SizeOf_STA_ABS dc.w 3,SizeOf_STX_ABS dc.w 3,SizeOf_axs_abs dc.w 2,SizeOf_BCC ; 9 dc.w 2,SizeOf_STA_INDY dc.w -1,SizeOf_ILL dc.w -1,SizeOf_ILL dc.w 2,SizeOf_STY_ZPX dc.w 2,SizeOf_STA_ZPX dc.w 2,SizeOf_STX_ZPY dc.w 2,SizeOf_axs_zpy dc.w 1,SizeOf_TYA dc.w 3,SizeOf_STA_ABSY dc.w 1,SizeOf_TXS dc.w -1,SizeOf_ILL dc.w -1,SizeOf_ILL dc.w 3,SizeOf_STA_ABSX dc.w 3,SizeOf_mkx_abs dc.w 3,SizeOf_mka_abs dc.w 2,SizeOf_LDY_IMM ; A dc.w 2,SizeOf_LDA_INDX dc.w 2,SizeOf_LDX_IMM dc.w 2,SizeOf_lax_indx dc.w 2,SizeOf_LDY_ZP dc.w 2,SizeOf_LDA_ZP dc.w 2,SizeOf_LDX_ZP dc.w 2,SizeOf_lax_zp dc.w 1,SizeOf_TAY dc.w 2,SizeOf_LDA_IMM dc.w 1,SizeOf_TAX dc.w 2,SizeOf_oal_imm dc.w 3,SizeOf_LDY_ABS dc.w 3,SizeOf_LDA_ABS dc.w 3,SizeOf_LDX_ABS dc.w 3,SizeOf_lax_abs dc.w 2,SizeOf_BCS ; B dc.w 2,SizeOf_LDA_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_lax_indy dc.w 2,SizeOf_LDY_ZPX dc.w 2,SizeOf_LDA_ZPX dc.w 2,SizeOf_LDX_ZPY dc.w 2,SizeOf_lax_zpx dc.w 1,SizeOf_CLV dc.w 3,SizeOf_LDA_ABSY dc.w 1,SizeOf_TSX dc.w -1,SizeOf_ILL dc.w 3,SizeOf_LDY_ABSX dc.w 3,SizeOf_LDA_ABSX dc.w 3,SizeOf_LDX_ABSY dc.w 3,SizeOf_lax_absy dc.w 2,SizeOf_CPY_IMM ; C dc.w 2,SizeOf_CMP_INDX dc.w 2,SizeOf_skb dc.w 2,SizeOf_dcm_indx dc.w 2,SizeOf_CPY_ZP dc.w 2,SizeOf_CMP_ZP dc.w 2,SizeOf_DEC_ZP dc.w 2,SizeOf_dcm_zp dc.w 1,SizeOf_INY dc.w 2,SizeOf_CMP_IMM dc.w 1,SizeOf_DEX dc.w 2,SizeOf_sax_imm dc.w 3,SizeOf_CPY_ABS dc.w 3,SizeOf_CMP_ABS dc.w 3,SizeOf_DEC_ABS dc.w 3,SizeOf_dcm_abs dc.w 2,SizeOf_BNE ; D dc.w 2,SizeOf_CMP_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_dcm_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_CMP_ZPX dc.w 2,SizeOf_DEC_ZPX dc.w 2,SizeOf_dcm_zpx dc.w 1,SizeOf_CLD dc.w 3,SizeOf_CMP_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_dcm_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_CMP_ABSX dc.w 3,SizeOf_DEC_ABSX dc.w 3,SizeOf_dcm_absx dc.w 2,SizeOf_CPX_IMM ; E dc.w 2,SizeOf_SBC_INDX dc.w 2,SizeOf_skb dc.w 2,SizeOf_ins_indx dc.w 2,SizeOf_CPX_ZP dc.w 2,SizeOf_SBC_ZP dc.w 2,SizeOf_INC_ZP dc.w 2,SizeOf_ins_zp dc.w 1,SizeOf_INX dc.w 2,SizeOf_SBC_IMM dc.w 1,SizeOf_NOP dc.w -1,SizeOf_ILL dc.w 3,SizeOf_CPX_ABS dc.w 3,SizeOf_SBC_ABS dc.w 3,SizeOf_INC_ABS dc.w 3,SizeOf_ins_abs dc.w 2,SizeOf_BEQ ; F dc.w 2,SizeOf_SBC_INDY dc.w -1,SizeOf_ILL dc.w 2,SizeOf_ins_indy dc.w 2,SizeOf_skb dc.w 2,SizeOf_SBC_ZPX dc.w 2,SizeOf_INC_ZPX dc.w 2,SizeOf_ins_zpx dc.w 1,SizeOf_SED dc.w 3,SizeOf_SBC_ABSY dc.w 1,SizeOf_nop dc.w 3,SizeOf_ins_absy dc.w 3,SizeOf_skw dc.w 3,SizeOf_SBC_ABSX dc.w 3,SizeOf_INC_ABSX dc.w 3,SizeOf_ins_absx PatchCode1 dc.l 0,0,0,0,0,0,0,0,0 dc.l Patch1_IMM ; ORA_IMM 09 dc.l 0,0,0 dc.l Patch1_ABS ; ORA_ABS 0D dc.l Patch1_ABS ; ASL_ABS 0E dc.l 0 dc.l Patch1_REL ; BPL_REL 10 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_ABS ; JSR_ABS 20 dc.l 0,0,0,0,0,0,0,0 dc.l Patch1_IMM ; AND_IMM 29 dc.l 0,0 dc.l Patch1_ABS ; BIT_ABS 2C dc.l Patch1_ABS ; AND_ABS 2D dc.l Patch1_ABS ; ROL_ABS 2E dc.l 0 dc.l Patch1_REL ; BMI_REL 30 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_IMM ; EOR_IMM 49 dc.l 0,0 dc.l Patch1_ABS ; JMP_ABS 4C dc.l Patch1_ABS ; EOR_ABS 4D dc.l Patch1_ABS ; LSR_ABS 4E dc.l 0 dc.l Patch1_REL ; BVC_REL 50 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_IMM ; ADC_IMM 69 dc.l 0,0,0 dc.l Patch1_ABS ; ADC_ABS 6D dc.l Patch1_ABS ; ROR_ABS 6E dc.l 0 dc.l Patch1_REL ; BVS_REL 70 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_ZP ; STY_ZP 84 dc.l Patch1_ZP ; STA_ZP 85 dc.l Patch1_ZP ; STX_ZP 86 dc.l 0,0,0,0,0 dc.l Patch1_ABS ; STY_ABS 8C dc.l Patch1_ABS ; STA_ABS 8D dc.l Patch1_ABS ; STX_ABS 8E dc.l 0 dc.l Patch1_REL ; BCC_REL 90 dc.l Patch2_ZP ; STA_INDY 91 dc.l 0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_ABS ; STA_ABSX 9D dc.l 0,0 dc.l Patch1_IMM ; LDY_IMM A0 dc.l 0 dc.l Patch1_IMM ; LDX_IMM A2 dc.l 0 dc.l Patch1_ZP ; LDY_ZP A4 dc.l Patch1_ZP ; LDA_ZP A5 dc.l Patch1_ZP ; LDX_ZP A6 dc.l 0,0 dc.l Patch1_IMM ; LDA_IMM A9 dc.l 0,0 dc.l Patch1_ABS ; LDY_ABS AC dc.l Patch1_ABS ; LDA_ABS AD dc.l Patch1_ABS ; LDX_ABS AE dc.l 0 dc.l Patch1_REL ; BCS_REL B0 dc.l Patch2_ZP ; LDA_INDY B1 dc.l 0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_ABS ; LDA_ABSX BD dc.l 0,0 dc.l Patch1_IMM ; CPY_IMM C0 dc.l 0,0,0,0 dc.l Patch1_ZP ; CMP_ZP C5 dc.l Patch1_ZP ; DEC_ZP C6 dc.l 0,0 dc.l Patch1_IMM ; CMP_IMM C9 dc.l 0,0 dc.l Patch1_ABS ; CPY_ABS CC dc.l Patch1_ABS ; CMP_ABS CD dc.l Patch1_ABS ; DEC_ABS CE dc.l 0 dc.l Patch1_REL ; BNE_REL D0 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l Patch1_IMM ; CPX_IMM E0 dc.l 0,0,0,0,0 dc.l Patch1_ZP ; INC_ZP E6 dc.l 0,0 dc.l Patch1_IMM ; SBC_IMM E9 dc.l 0,0 dc.l Patch1_ABS ; CPX_ABS EC dc.l Patch1_ABS ; SBC_ABS ED dc.l Patch1_ABS ; INC_ABS EE dc.l 0 dc.l Patch1_REL ; BEQ_REL F0 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;-------------------------------------------------------------------- ; Code replacement tables SizeOf_SimpleCopyA EQU BusyLoop1-SimpleCopyA SizeOf_BusyLoop1 EQU BusyLoop1B-BusyLoop1 SizeOf_BusyLoop1B EQU BusyLoop2-BusyLoop1B SizeOf_BusyLoop2 EQU BusyLoop3-BusyLoop2 SizeOf_BusyLoop3 EQU BusyLoop4-BusyLoop3 SizeOf_BusyLoop4 EQU BusyLoop5-BusyLoop4 SizeOf_BusyLoop5 EQU ASLX-BusyLoop5 SizeOf_ASLX EQU LSRX-ASLX SizeOf_LSRX EQU ROLX-LSRX SizeOf_ROLX EQU RORX-ROLX SizeOf_RORX EQU CodeEnd_020_2-RORX Special_Table dc.l BusyLoop1,BusyLoop1B,BusyLoop2,BusyLoop3 dc.l BusyLoop4,BusyLoop5,0 Special_Check dc.l CheckBusy1,CheckBusy1B,CheckBusy2,CheckBusy3 dc.l CheckBusy4,CheckBusy5,0 Special_Patch dc.l Patch1_Busy,Patch1_Busy,Patch_Null,Patch_Null dc.l Patch_Null,Patch_Null,0 Special_Sizes dc.w SizeOf_BusyLoop1,SizeOf_BusyLoop1B,SizeOf_BusyLoop2 dc.w SizeOf_BusyLoop3,SizeOf_BusyLoop4,SizeOf_BusyLoop5,0