1
0
mirror of https://github.com/rkujawa/rk65c02.git synced 2025-01-31 06:29:46 +00:00

Prepare structures for adding emulation of instructions.

This commit is contained in:
Radosław Kujawa 2017-01-18 15:45:28 +01:00
parent d6876b38a1
commit f106e227cd
8 changed files with 288 additions and 266 deletions

View File

@ -4,6 +4,7 @@ BEGIN {
print "#define _65C02ISA_H_"
print "#include <stdint.h>"
print "#include \"instruction.h\""
print "#include \"emulation.h\""
print "const struct instrdef instrs[] = {"
}
@ -11,9 +12,9 @@ BEGIN {
{
printf "#define %s 0x%X\n", $1, NR-1
if (NR < 256)
printf "\t{ %s, %s, %s, %d },\n", $1, $2, $3, $4
printf "\t{ %s, %s, %s, %d, %s },\n", $1, $2, $3, $4, $5
else
printf "\t{ %s, %s, %s, %d }\n", $1, $2, $3, $4
printf "\t{ %s, %s, %s, %d, %s }\n", $1, $2, $3, $4, $5
}

View File

@ -1,256 +1,256 @@
OP_BRK,"brk",IMPLIED,1,
OP_ORA_IZPX,"ora",IZPX,1,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_TSB_ZP,"tsb",ZP,2,
OP_ORA_ZP,"ora",ZP,2,
OP_ASL_ZP,"asl",ZP,2,
OP_RMB0_ZP,"rmb0",ZP,2,
OP_PHP,"php",IMPLIED,1,
OP_ORA_IMM,"ora",IMMEDIATE,2,
OP_ASL,"asl",ACCUMULATOR,1,
OP_NOPI,"nop",IMPLIED,1,
OP_TSB_ABS,"tsb",ABSOLUTE,3,
OP_ORA_ABS,"abs",ABSOLUTE,3,
OP_ASL_ABS,"asl",ABSOLUTE,3,
OP_BBR0_REL,"bbr0",RELATIVE,2,
OP_BPL_REL,"bpl",RELATIVE,2,
OP_ORA_IZPY,"ora",IZPY,2,
OP_ORA_IZP,"ora",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_TRB_ZP,"trb",ZP,2,
OP_ORA_ZPX,"ora",ZPX,2,
OP_ASL_ZPX,"asl",ZPX,2,
OP_RMB1_ZP,"rmb1",ZP,1,
OP_CLC,"clc",IMPLIED,1,
OP_ORA_ABSY,"ora",ABSOLUTEY,3,
OP_INC,"inc",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_TRB_ABS,"trb",ABSOLUTE,3,
OP_ORA_ABSX,"ora",ABSOLUTEX,3,
OP_ASL_ABSX,"asl",ABSOLUTEX,3,
OP_BBR1_REL,"bbr1",RELATIVE,2,
OP_JSR,"jsr",ABSOLUTE,3,
OP_AND_IZPX,"and",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_BIT_ZP,"bit",ZP,2,
OP_AND_ZP,"and",ZP,2,
OP_ROL_ZP,"rol",ZP,2,
OP_RMB2_ZP,"rmb2",ZP,2,
OP_PLP,"plp",IMPLIED,1,
OP_AND_IMM,"and",IMMEDIATE,2,
OP_ROL,"rol",ACCUMULATOR,1,
OP_NOPI,"nop",IMPLIED,1,
OP_BIT_ABS,"bit",ABSOLUTE,3,
OP_AND_ABS,"and",ABSOLUTE,3,
OP_ROL_ABS,"rol",ABSOLUTE,3,
OP_BBR2_REL,"bbr2",RELATIVE,2,
OP_BMI_REL,"bmi",RELATIVE,2,
OP_AND_IZPY,"and",IZPY,2,
OP_AND_IZP,"and",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_BIT_ZPX,"bit",ZPX,2,
OP_AND_ZPX,"and",ZPX,2,
OP_ROL_ZPX,"rol",ZPX,2,
OP_RMB3_ZP,"rmb3",ZP,2,
OP_SEC,"sec",IMPLIED,1,
OP_AND_ABSY,"and",ABSOLUTEY,3,
OP_DEC,"dec",ACCUMULATOR,1,
OP_NOPI,"nop",IMPLIED,1,
OP_BIT_ABSX,"bit",ABSOLUTEX,3,
OP_AND_ABSX,"and",ABSOLUTEX,3,
OP_ROL_ABSX,"rol",ABSOLUTEX,3,
OP_BBR3_REL,"bbr3",RELATIVE,2,
OP_RTI,"rti",IMPLIED,1,
OP_EOR_IZPX,"eor",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ZP,2,
OP_EOR_ZP,"eor",ZP,2,
OP_LSR_ZP,"lsr",ZP,2,
OP_RMB4_ZP,"rmb4",ZP,2,
OP_PHA,"pha",IMPLIED,1,
OP_EOR_IMM,"eor",IMMEDIATE,2,
OP_LSR,"lsr",ACCUMULATOR,1,
OP_NOPI,"nop",IMPLIED,1,
OP_JMP_ABS,"jmp",ABSOLUTE,3,
OP_EOR_ABS,"eor",ABSOLUTE,3,
OP_LSR_ABS,"lsr",ABSOLUTE,3,
OP_BBR4_REL,"bbr4",RELATIVE,2,
OP_BVC_REL,"bvc",RELATIVE,2,
OP_EOR_IZPY,"eor",IZPY,2,
OP_EOR_IZP,"eor",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ZPX,2,
OP_EOR_ZPX,"eor",ZPX,2,
OP_LSR_ZPX,"lsr",ZPX,2,
OP_RMB5_ZP,"rmb5",ZP,2,
OP_CLI,"cli",IMPLIED,1,
OP_EOR_ABSY,"eor",ABSOLUTEY,3,
OP_PHY,"phy",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ABSOLUTE,3,
OP_EOR_ABSX,"eor",ABSOLUTEX,3,
OP_LSR_ABSX,"lsr",ABSOLUTEX,3,
OP_BBR5_REL,"bbr5",RELATIVE,2,
OP_RTS,"rts",IMPLIED,1,
OP_ADC_IZPX,"adc",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_STZ_ZP,"stz",ZP,2,
OP_ADC_ZP,"adc",ZP,2,
OP_ROR_ZP,"ror",ZP,2,
OP_RMB6_ZP,"rmb6",ZP,2,
OP_PLA,"pla",IMPLIED,1,
OP_ADC_IMM,"adc",IMMEDIATE,2,
OP_ROR,"ror",ACCUMULATOR,1,
OP_NOPI,"nop",IMPLIED,1,
OP_JMP_IABS,"jmp",IABSOLUTE,3,
OP_ADC_ABS,"adc",ABSOLUTE,3,
OP_ROR_ABS,"ror",ABSOLUTE,3,
OP_BBR6_REL,"bbr6",RELATIVE,2,
OP_BVS_REL,"bvs",RELATIVE,2,
OP_ADC_IZPY,"adc",IZPY,2,
OP_ADC_IZP,"adc",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_STZ_ZPX,"stz",ZPX,2,
OP_ADC_ZPX,"adc",ZPX,2,
OP_ROR_ZPX,"ror",ZPX,2,
OP_RMB7_ZP,"rmb7",ZP,2,
OP_SEI,"sei",IMPLIED,1,
OP_ADC_ABSY,"adc",ABSOLUTEY,3,
OP_PLY,"ply",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_JMP_IABSX,"jmp",IABSOLUTEX,3,
OP_ADC_ABSX,"adc",ABSOLUTEX,3,
OP_ROR_ABSX,"ror",ABSOLUTEX,3,
OP_BBR7_REL,"bbr7",RELATIVE,2,
OP_BRA_REL,"bra",RELATIVE,2,
OP_STA_IZPX,"sta",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_STY_ZP,"sty",ZP,2,
OP_STA_ZP,"sta",ZP,2,
OP_STX_ZP,"stx",ZP,2,
OP_SMB0_ZP,"smb0",ZP,2,
OP_DEY,"dey",IMPLIED,1,
OP_BIT_IMM,"bit",IMMEDIATE,2,
OP_TXA,"txa",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_STY_ABS,"sty",ABSOLUTE,3,
OP_STA_ABS,"sta",ABSOLUTE,3,
OP_STX_ABS,"stx",ABSOLUTE,3,
OP_BBS0_REL,"bbs0",RELATIVE,2,
OP_BCC_REL,"bcc",RELATIVE,2,
OP_STA_IZPY,"sta",IZPY,2,
OP_STA_IZP,"sta",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_STY_ZPX,"sty",ZPX,2,
OP_STA_ZPX,"sta",ZPX,2,
OP_STX_ZPY,"stx",ZPY,2,
OP_SMB1_ZP,"smb1",ZP,2,
OP_TYA,"tya",IMPLIED,1,
OP_STA_ABSY,"sta",ABSOLUTEY,3,
OP_TXS,"txs",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_STZ_ABS,"stz",ABSOLUTE,3,
OP_STA_ABSX,"sta",ABSOLUTEX,3,
OP_STZ_ABSX,"stz",ABSOLUTEX,3,
OP_BBS1_REL,"bbs1",RELATIVE,2,
OP_LDY_IMM,"ldy",IMMEDIATE,2,
OP_LDA_IZPX,"lda",IZPX,2,
OP_LDX_IMM,"ldx",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_LDY_ZP,"ldy",ZP,2,
OP_LDA_ZP,"lda",ZP,2,
OP_LDX_ZP,"ldx",ZP,2,
OP_SMB2_ZP,"smb2",ZP,2,
OP_TAY,"tay",IMPLIED,1,
OP_LDA_IMM,"lda",IMMEDIATE,2,
OP_TAX,"tax",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_LDY_ABS,"ldy",ABSOLUTE,3,
OP_LDA_ABS,"lda",ABSOLUTE,3,
OP_LDX_ABS,"ldx",ABSOLUTE,3,
OP_BBS2_REL,"bbs2",RELATIVE,2,
OP_BCS_REL,"bcs",RELATIVE,2,
OP_LDA_IZPY,"lda",IZPY,2,
OP_LDA_IZP,"lda",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_LDY_ZPX,"ldy",ZPX,2,
OP_LDA_ZPX,"lda",ZPX,2,
OP_LDX_ZPY,"unimpl",ZPY,1,
OP_SMB3_ZP,"smb3",ZP,2,
OP_CLV,"clv",IMPLIED,1,
OP_LDA_ABSY,"lda",ABSOLUTEY,3,
OP_TSX,"tsx",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_LDY_ABSX,"ldy",ABSOLUTEX,3,
OP_LDA_ABSX,"lda",ABSOLUTEX,3,
OP_LDX_ABSY,"ldx",ABSOLUTEY,3,
OP_BBS3_REL,"bbs3",RELATIVE,2,
OP_CPY_IMM,"cpy",IMMEDIATE,2,
OP_CMP_IZPX,"cmp",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_CPY_ZP,"cpy",ZP,2,
OP_CMP_ZP,"cmp",ZP,2,
OP_DEC_ZP,"dec",ZP,2,
OP_SMB4_ZP,"smb4",ZP,2,
OP_INY,"iny",IMPLIED,1,
OP_CMP_IMM,"cmp",IMMEDIATE,2,
OP_DEX,"dex",IMPLIED,1,
OP_WAI,"wai",IMPLIED,1,
OP_CPY_ABS,"cpy",ABSOLUTE,3,
OP_CMP_ABS,"cmp",ABSOLUTE,3,
OP_DEC_ABS,"dec",ABSOLUTE,3,
OP_BBS4_REL,"bbs4",RELATIVE,2,
OP_BNE_REL,"bne",RELATIVE,2,
OP_CMP_IZPY,"cmp",IZPY,2,
OP_CMP_IZP,"cmp",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ZPX,2,
OP_CMP_ZPX,"cmp",ZPX,2,
OP_DEC_ZPX,"dec",ZPX,2,
OP_SMB5_ZP,"smb5",ZP,2,
OP_CLD,"cld",IMPLIED,1,
OP_CMP_ABSY,"cmp",ABSOLUTEY,3,
OP_PHX,"phx",IMPLIED,1,
OP_STP,"stp",IMPLIED,1,
OP_NOPI,"nop",ABSOLUTE,3,
OP_CMP_ABSX,"cmp",ABSOLUTEX,3,
OP_DEC_ABSX,"dec",ABSOLUTEX,3,
OP_BBS5_REL,"bbs5",RELATIVE,2,
OP_CPX_IMM,"cpx",IMMEDIATE,2,
OP_SBC_IZPX,"sbc",IZPX,2,
OP_NOPI,"nop",IMMEDIATE,2,
OP_NOPI,"nop",IMPLIED,1,
OP_CPX_ZP,"cpx",ZP,2,
OP_SBC_ZP,"sbc",ZP,2,
OP_INC_ZP,"inc",ZP,2,
OP_SMB6_ZP,"smb6",ZP,2,
OP_INX,"inx",IMPLIED,1,
OP_SBC_IMM,"sbc",IMMEDIATE,2,
OP_NOP,"nop",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_CPX_ABS,"cpx",ABSOLUTE,3,
OP_SBC_ABS,"sbc",ABSOLUTE,3,
OP_INC_ABS,"inc",ABSOLUTE,3,
OP_BBS6_REL,"bbs6",RELATIVE,2,
OP_BEQ_REL,"beq",RELATIVE,2,
OP_SBC_IZPY,"sbc",IZPY,2,
OP_SBC_IZP,"sbc",IZP,2,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ZPX,2,
OP_SBC_ZPX,"sbc",ZPX,2,
OP_INC_ZPX,"inc",ZPX,2,
OP_SMB7_ZP,"smb7",ZP,2,
OP_SED,"sed",IMPLIED,1,
OP_SBC_ABSY,"sbc",ABSOLUTEY,3,
OP_PLX,"plx",IMPLIED,1,
OP_NOPI,"nop",IMPLIED,1,
OP_NOPI,"nop",ABSOLUTE,3,
OP_SBC_ABSX,"sbc",ABSOLUTEX,1,
OP_INC_ABSX,"inc",ABSOLUTEX,1,
OP_BBS7_REL,"bbs7",RELATIVE,1,
OP_BRK,"brk",IMPLIED,1,NULL
OP_ORA_IZPX,"ora",IZPX,1,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_TSB_ZP,"tsb",ZP,2,NULL
OP_ORA_ZP,"ora",ZP,2,NULL
OP_ASL_ZP,"asl",ZP,2,NULL
OP_RMB0_ZP,"rmb0",ZP,2,NULL
OP_PHP,"php",IMPLIED,1,NULL
OP_ORA_IMM,"ora",IMMEDIATE,2,NULL
OP_ASL,"asl",ACCUMULATOR,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_TSB_ABS,"tsb",ABSOLUTE,3,NULL
OP_ORA_ABS,"abs",ABSOLUTE,3,NULL
OP_ASL_ABS,"asl",ABSOLUTE,3,NULL
OP_BBR0_REL,"bbr0",RELATIVE,2,NULL
OP_BPL_REL,"bpl",RELATIVE,2,NULL
OP_ORA_IZPY,"ora",IZPY,2,NULL
OP_ORA_IZP,"ora",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_TRB_ZP,"trb",ZP,2,NULL
OP_ORA_ZPX,"ora",ZPX,2,NULL
OP_ASL_ZPX,"asl",ZPX,2,NULL
OP_RMB1_ZP,"rmb1",ZP,1,NULL
OP_CLC,"clc",IMPLIED,1,NULL
OP_ORA_ABSY,"ora",ABSOLUTEY,3,NULL
OP_INC,"inc",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_TRB_ABS,"trb",ABSOLUTE,3,NULL
OP_ORA_ABSX,"ora",ABSOLUTEX,3,NULL
OP_ASL_ABSX,"asl",ABSOLUTEX,3,NULL
OP_BBR1_REL,"bbr1",RELATIVE,2,NULL
OP_JSR,"jsr",ABSOLUTE,3,NULL
OP_AND_IZPX,"and",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_BIT_ZP,"bit",ZP,2,NULL
OP_AND_ZP,"and",ZP,2,NULL
OP_ROL_ZP,"rol",ZP,2,NULL
OP_RMB2_ZP,"rmb2",ZP,2,NULL
OP_PLP,"plp",IMPLIED,1,NULL
OP_AND_IMM,"and",IMMEDIATE,2,NULL
OP_ROL,"rol",ACCUMULATOR,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_BIT_ABS,"bit",ABSOLUTE,3,NULL
OP_AND_ABS,"and",ABSOLUTE,3,NULL
OP_ROL_ABS,"rol",ABSOLUTE,3,NULL
OP_BBR2_REL,"bbr2",RELATIVE,2,NULL
OP_BMI_REL,"bmi",RELATIVE,2,NULL
OP_AND_IZPY,"and",IZPY,2,NULL
OP_AND_IZP,"and",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_BIT_ZPX,"bit",ZPX,2,NULL
OP_AND_ZPX,"and",ZPX,2,NULL
OP_ROL_ZPX,"rol",ZPX,2,NULL
OP_RMB3_ZP,"rmb3",ZP,2,NULL
OP_SEC,"sec",IMPLIED,1,NULL
OP_AND_ABSY,"and",ABSOLUTEY,3,NULL
OP_DEC,"dec",ACCUMULATOR,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_BIT_ABSX,"bit",ABSOLUTEX,3,NULL
OP_AND_ABSX,"and",ABSOLUTEX,3,NULL
OP_ROL_ABSX,"rol",ABSOLUTEX,3,NULL
OP_BBR3_REL,"bbr3",RELATIVE,2,NULL
OP_RTI,"rti",IMPLIED,1,NULL
OP_EOR_IZPX,"eor",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ZP,2,NULL
OP_EOR_ZP,"eor",ZP,2,NULL
OP_LSR_ZP,"lsr",ZP,2,NULL
OP_RMB4_ZP,"rmb4",ZP,2,NULL
OP_PHA,"pha",IMPLIED,1,NULL
OP_EOR_IMM,"eor",IMMEDIATE,2,NULL
OP_LSR,"lsr",ACCUMULATOR,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_JMP_ABS,"jmp",ABSOLUTE,3,NULL
OP_EOR_ABS,"eor",ABSOLUTE,3,NULL
OP_LSR_ABS,"lsr",ABSOLUTE,3,NULL
OP_BBR4_REL,"bbr4",RELATIVE,2,NULL
OP_BVC_REL,"bvc",RELATIVE,2,NULL
OP_EOR_IZPY,"eor",IZPY,2,NULL
OP_EOR_IZP,"eor",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ZPX,2,NULL
OP_EOR_ZPX,"eor",ZPX,2,NULL
OP_LSR_ZPX,"lsr",ZPX,2,NULL
OP_RMB5_ZP,"rmb5",ZP,2,NULL
OP_CLI,"cli",IMPLIED,1,NULL
OP_EOR_ABSY,"eor",ABSOLUTEY,3,NULL
OP_PHY,"phy",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ABSOLUTE,3,NULL
OP_EOR_ABSX,"eor",ABSOLUTEX,3,NULL
OP_LSR_ABSX,"lsr",ABSOLUTEX,3,NULL
OP_BBR5_REL,"bbr5",RELATIVE,2,NULL
OP_RTS,"rts",IMPLIED,1,NULL
OP_ADC_IZPX,"adc",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STZ_ZP,"stz",ZP,2,NULL
OP_ADC_ZP,"adc",ZP,2,NULL
OP_ROR_ZP,"ror",ZP,2,NULL
OP_RMB6_ZP,"rmb6",ZP,2,NULL
OP_PLA,"pla",IMPLIED,1,NULL
OP_ADC_IMM,"adc",IMMEDIATE,2,NULL
OP_ROR,"ror",ACCUMULATOR,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_JMP_IABS,"jmp",IABSOLUTE,3,NULL
OP_ADC_ABS,"adc",ABSOLUTE,3,NULL
OP_ROR_ABS,"ror",ABSOLUTE,3,NULL
OP_BBR6_REL,"bbr6",RELATIVE,2,NULL
OP_BVS_REL,"bvs",RELATIVE,2,NULL
OP_ADC_IZPY,"adc",IZPY,2,NULL
OP_ADC_IZP,"adc",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STZ_ZPX,"stz",ZPX,2,NULL
OP_ADC_ZPX,"adc",ZPX,2,NULL
OP_ROR_ZPX,"ror",ZPX,2,NULL
OP_RMB7_ZP,"rmb7",ZP,2,NULL
OP_SEI,"sei",IMPLIED,1,NULL
OP_ADC_ABSY,"adc",ABSOLUTEY,3,NULL
OP_PLY,"ply",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_JMP_IABSX,"jmp",IABSOLUTEX,3,NULL
OP_ADC_ABSX,"adc",ABSOLUTEX,3,NULL
OP_ROR_ABSX,"ror",ABSOLUTEX,3,NULL
OP_BBR7_REL,"bbr7",RELATIVE,2,NULL
OP_BRA_REL,"bra",RELATIVE,2,NULL
OP_STA_IZPX,"sta",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STY_ZP,"sty",ZP,2,NULL
OP_STA_ZP,"sta",ZP,2,NULL
OP_STX_ZP,"stx",ZP,2,NULL
OP_SMB0_ZP,"smb0",ZP,2,NULL
OP_DEY,"dey",IMPLIED,1,NULL
OP_BIT_IMM,"bit",IMMEDIATE,2,NULL
OP_TXA,"txa",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STY_ABS,"sty",ABSOLUTE,3,NULL
OP_STA_ABS,"sta",ABSOLUTE,3,NULL
OP_STX_ABS,"stx",ABSOLUTE,3,NULL
OP_BBS0_REL,"bbs0",RELATIVE,2,NULL
OP_BCC_REL,"bcc",RELATIVE,2,NULL
OP_STA_IZPY,"sta",IZPY,2,NULL
OP_STA_IZP,"sta",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STY_ZPX,"sty",ZPX,2,NULL
OP_STA_ZPX,"sta",ZPX,2,NULL
OP_STX_ZPY,"stx",ZPY,2,NULL
OP_SMB1_ZP,"smb1",ZP,2,NULL
OP_TYA,"tya",IMPLIED,1,NULL
OP_STA_ABSY,"sta",ABSOLUTEY,3,NULL
OP_TXS,"txs",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_STZ_ABS,"stz",ABSOLUTE,3,NULL
OP_STA_ABSX,"sta",ABSOLUTEX,3,NULL
OP_STZ_ABSX,"stz",ABSOLUTEX,3,NULL
OP_BBS1_REL,"bbs1",RELATIVE,2,NULL
OP_LDY_IMM,"ldy",IMMEDIATE,2,NULL
OP_LDA_IZPX,"lda",IZPX,2,NULL
OP_LDX_IMM,"ldx",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_LDY_ZP,"ldy",ZP,2,NULL
OP_LDA_ZP,"lda",ZP,2,NULL
OP_LDX_ZP,"ldx",ZP,2,NULL
OP_SMB2_ZP,"smb2",ZP,2,NULL
OP_TAY,"tay",IMPLIED,1,NULL
OP_LDA_IMM,"lda",IMMEDIATE,2,NULL
OP_TAX,"tax",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_LDY_ABS,"ldy",ABSOLUTE,3,NULL
OP_LDA_ABS,"lda",ABSOLUTE,3,NULL
OP_LDX_ABS,"ldx",ABSOLUTE,3,NULL
OP_BBS2_REL,"bbs2",RELATIVE,2,NULL
OP_BCS_REL,"bcs",RELATIVE,2,NULL
OP_LDA_IZPY,"lda",IZPY,2,NULL
OP_LDA_IZP,"lda",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_LDY_ZPX,"ldy",ZPX,2,NULL
OP_LDA_ZPX,"lda",ZPX,2,NULL
OP_LDX_ZPY,"unimpl",ZPY,1,NULL
OP_SMB3_ZP,"smb3",ZP,2,NULL
OP_CLV,"clv",IMPLIED,1,NULL
OP_LDA_ABSY,"lda",ABSOLUTEY,3,NULL
OP_TSX,"tsx",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_LDY_ABSX,"ldy",ABSOLUTEX,3,NULL
OP_LDA_ABSX,"lda",ABSOLUTEX,3,NULL
OP_LDX_ABSY,"ldx",ABSOLUTEY,3,NULL
OP_BBS3_REL,"bbs3",RELATIVE,2,NULL
OP_CPY_IMM,"cpy",IMMEDIATE,2,NULL
OP_CMP_IZPX,"cmp",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_CPY_ZP,"cpy",ZP,2,NULL
OP_CMP_ZP,"cmp",ZP,2,NULL
OP_DEC_ZP,"dec",ZP,2,NULL
OP_SMB4_ZP,"smb4",ZP,2,NULL
OP_INY,"iny",IMPLIED,1,NULL
OP_CMP_IMM,"cmp",IMMEDIATE,2,NULL
OP_DEX,"dex",IMPLIED,1,NULL
OP_WAI,"wai",IMPLIED,1,NULL
OP_CPY_ABS,"cpy",ABSOLUTE,3,NULL
OP_CMP_ABS,"cmp",ABSOLUTE,3,NULL
OP_DEC_ABS,"dec",ABSOLUTE,3,NULL
OP_BBS4_REL,"bbs4",RELATIVE,2,NULL
OP_BNE_REL,"bne",RELATIVE,2,NULL
OP_CMP_IZPY,"cmp",IZPY,2,NULL
OP_CMP_IZP,"cmp",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ZPX,2,NULL
OP_CMP_ZPX,"cmp",ZPX,2,NULL
OP_DEC_ZPX,"dec",ZPX,2,NULL
OP_SMB5_ZP,"smb5",ZP,2,NULL
OP_CLD,"cld",IMPLIED,1,NULL
OP_CMP_ABSY,"cmp",ABSOLUTEY,3,NULL
OP_PHX,"phx",IMPLIED,1,NULL
OP_STP,"stp",IMPLIED,1,NULL
OP_NOPI,"nop",ABSOLUTE,3,NULL
OP_CMP_ABSX,"cmp",ABSOLUTEX,3,NULL
OP_DEC_ABSX,"dec",ABSOLUTEX,3,NULL
OP_BBS5_REL,"bbs5",RELATIVE,2,NULL
OP_CPX_IMM,"cpx",IMMEDIATE,2,NULL
OP_SBC_IZPX,"sbc",IZPX,2,NULL
OP_NOPI,"nop",IMMEDIATE,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_CPX_ZP,"cpx",ZP,2,NULL
OP_SBC_ZP,"sbc",ZP,2,NULL
OP_INC_ZP,"inc",ZP,2,NULL
OP_SMB6_ZP,"smb6",ZP,2,NULL
OP_INX,"inx",IMPLIED,1,NULL
OP_SBC_IMM,"sbc",IMMEDIATE,2,NULL
OP_NOP,"nop",IMPLIED,1,emul_nop
OP_NOPI,"nop",IMPLIED,1,NULL
OP_CPX_ABS,"cpx",ABSOLUTE,3,NULL
OP_SBC_ABS,"sbc",ABSOLUTE,3,NULL
OP_INC_ABS,"inc",ABSOLUTE,3,NULL
OP_BBS6_REL,"bbs6",RELATIVE,2,NULL
OP_BEQ_REL,"beq",RELATIVE,2,NULL
OP_SBC_IZPY,"sbc",IZPY,2,NULL
OP_SBC_IZP,"sbc",IZP,2,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ZPX,2,NULL
OP_SBC_ZPX,"sbc",ZPX,2,NULL
OP_INC_ZPX,"inc",ZPX,2,NULL
OP_SMB7_ZP,"smb7",ZP,2,NULL
OP_SED,"sed",IMPLIED,1,NULL
OP_SBC_ABSY,"sbc",ABSOLUTEY,3,NULL
OP_PLX,"plx",IMPLIED,1,NULL
OP_NOPI,"nop",IMPLIED,1,NULL
OP_NOPI,"nop",ABSOLUTE,3,NULL
OP_SBC_ABSX,"sbc",ABSOLUTEX,1,NULL
OP_INC_ABSX,"inc",ABSOLUTEX,1,NULL
OP_BBS7_REL,"bbs7",RELATIVE,1,NULL

1 OP_BRK brk IMPLIED 1 NULL
2 OP_ORA_IZPX ora IZPX 1 NULL
3 OP_NOPI nop IMMEDIATE 2 NULL
4 OP_NOPI nop IMPLIED 1 NULL
5 OP_TSB_ZP tsb ZP 2 NULL
6 OP_ORA_ZP ora ZP 2 NULL
7 OP_ASL_ZP asl ZP 2 NULL
8 OP_RMB0_ZP rmb0 ZP 2 NULL
9 OP_PHP php IMPLIED 1 NULL
10 OP_ORA_IMM ora IMMEDIATE 2 NULL
11 OP_ASL asl ACCUMULATOR 1 NULL
12 OP_NOPI nop IMPLIED 1 NULL
13 OP_TSB_ABS tsb ABSOLUTE 3 NULL
14 OP_ORA_ABS abs ABSOLUTE 3 NULL
15 OP_ASL_ABS asl ABSOLUTE 3 NULL
16 OP_BBR0_REL bbr0 RELATIVE 2 NULL
17 OP_BPL_REL bpl RELATIVE 2 NULL
18 OP_ORA_IZPY ora IZPY 2 NULL
19 OP_ORA_IZP ora IZP 2 NULL
20 OP_NOPI nop IMPLIED 1 NULL
21 OP_TRB_ZP trb ZP 2 NULL
22 OP_ORA_ZPX ora ZPX 2 NULL
23 OP_ASL_ZPX asl ZPX 2 NULL
24 OP_RMB1_ZP rmb1 ZP 1 NULL
25 OP_CLC clc IMPLIED 1 NULL
26 OP_ORA_ABSY ora ABSOLUTEY 3 NULL
27 OP_INC inc IMPLIED 1 NULL
28 OP_NOPI nop IMPLIED 1 NULL
29 OP_TRB_ABS trb ABSOLUTE 3 NULL
30 OP_ORA_ABSX ora ABSOLUTEX 3 NULL
31 OP_ASL_ABSX asl ABSOLUTEX 3 NULL
32 OP_BBR1_REL bbr1 RELATIVE 2 NULL
33 OP_JSR jsr ABSOLUTE 3 NULL
34 OP_AND_IZPX and IZPX 2 NULL
35 OP_NOPI nop IMMEDIATE 2 NULL
36 OP_NOPI nop IMPLIED 1 NULL
37 OP_BIT_ZP bit ZP 2 NULL
38 OP_AND_ZP and ZP 2 NULL
39 OP_ROL_ZP rol ZP 2 NULL
40 OP_RMB2_ZP rmb2 ZP 2 NULL
41 OP_PLP plp IMPLIED 1 NULL
42 OP_AND_IMM and IMMEDIATE 2 NULL
43 OP_ROL rol ACCUMULATOR 1 NULL
44 OP_NOPI nop IMPLIED 1 NULL
45 OP_BIT_ABS bit ABSOLUTE 3 NULL
46 OP_AND_ABS and ABSOLUTE 3 NULL
47 OP_ROL_ABS rol ABSOLUTE 3 NULL
48 OP_BBR2_REL bbr2 RELATIVE 2 NULL
49 OP_BMI_REL bmi RELATIVE 2 NULL
50 OP_AND_IZPY and IZPY 2 NULL
51 OP_AND_IZP and IZP 2 NULL
52 OP_NOPI nop IMPLIED 1 NULL
53 OP_BIT_ZPX bit ZPX 2 NULL
54 OP_AND_ZPX and ZPX 2 NULL
55 OP_ROL_ZPX rol ZPX 2 NULL
56 OP_RMB3_ZP rmb3 ZP 2 NULL
57 OP_SEC sec IMPLIED 1 NULL
58 OP_AND_ABSY and ABSOLUTEY 3 NULL
59 OP_DEC dec ACCUMULATOR 1 NULL
60 OP_NOPI nop IMPLIED 1 NULL
61 OP_BIT_ABSX bit ABSOLUTEX 3 NULL
62 OP_AND_ABSX and ABSOLUTEX 3 NULL
63 OP_ROL_ABSX rol ABSOLUTEX 3 NULL
64 OP_BBR3_REL bbr3 RELATIVE 2 NULL
65 OP_RTI rti IMPLIED 1 NULL
66 OP_EOR_IZPX eor IZPX 2 NULL
67 OP_NOPI nop IMMEDIATE 2 NULL
68 OP_NOPI nop IMPLIED 1 NULL
69 OP_NOPI nop ZP 2 NULL
70 OP_EOR_ZP eor ZP 2 NULL
71 OP_LSR_ZP lsr ZP 2 NULL
72 OP_RMB4_ZP rmb4 ZP 2 NULL
73 OP_PHA pha IMPLIED 1 NULL
74 OP_EOR_IMM eor IMMEDIATE 2 NULL
75 OP_LSR lsr ACCUMULATOR 1 NULL
76 OP_NOPI nop IMPLIED 1 NULL
77 OP_JMP_ABS jmp ABSOLUTE 3 NULL
78 OP_EOR_ABS eor ABSOLUTE 3 NULL
79 OP_LSR_ABS lsr ABSOLUTE 3 NULL
80 OP_BBR4_REL bbr4 RELATIVE 2 NULL
81 OP_BVC_REL bvc RELATIVE 2 NULL
82 OP_EOR_IZPY eor IZPY 2 NULL
83 OP_EOR_IZP eor IZP 2 NULL
84 OP_NOPI nop IMPLIED 1 NULL
85 OP_NOPI nop ZPX 2 NULL
86 OP_EOR_ZPX eor ZPX 2 NULL
87 OP_LSR_ZPX lsr ZPX 2 NULL
88 OP_RMB5_ZP rmb5 ZP 2 NULL
89 OP_CLI cli IMPLIED 1 NULL
90 OP_EOR_ABSY eor ABSOLUTEY 3 NULL
91 OP_PHY phy IMPLIED 1 NULL
92 OP_NOPI nop IMPLIED 1 NULL
93 OP_NOPI nop ABSOLUTE 3 NULL
94 OP_EOR_ABSX eor ABSOLUTEX 3 NULL
95 OP_LSR_ABSX lsr ABSOLUTEX 3 NULL
96 OP_BBR5_REL bbr5 RELATIVE 2 NULL
97 OP_RTS rts IMPLIED 1 NULL
98 OP_ADC_IZPX adc IZPX 2 NULL
99 OP_NOPI nop IMMEDIATE 2 NULL
100 OP_NOPI nop IMPLIED 1 NULL
101 OP_STZ_ZP stz ZP 2 NULL
102 OP_ADC_ZP adc ZP 2 NULL
103 OP_ROR_ZP ror ZP 2 NULL
104 OP_RMB6_ZP rmb6 ZP 2 NULL
105 OP_PLA pla IMPLIED 1 NULL
106 OP_ADC_IMM adc IMMEDIATE 2 NULL
107 OP_ROR ror ACCUMULATOR 1 NULL
108 OP_NOPI nop IMPLIED 1 NULL
109 OP_JMP_IABS jmp IABSOLUTE 3 NULL
110 OP_ADC_ABS adc ABSOLUTE 3 NULL
111 OP_ROR_ABS ror ABSOLUTE 3 NULL
112 OP_BBR6_REL bbr6 RELATIVE 2 NULL
113 OP_BVS_REL bvs RELATIVE 2 NULL
114 OP_ADC_IZPY adc IZPY 2 NULL
115 OP_ADC_IZP adc IZP 2 NULL
116 OP_NOPI nop IMPLIED 1 NULL
117 OP_STZ_ZPX stz ZPX 2 NULL
118 OP_ADC_ZPX adc ZPX 2 NULL
119 OP_ROR_ZPX ror ZPX 2 NULL
120 OP_RMB7_ZP rmb7 ZP 2 NULL
121 OP_SEI sei IMPLIED 1 NULL
122 OP_ADC_ABSY adc ABSOLUTEY 3 NULL
123 OP_PLY ply IMPLIED 1 NULL
124 OP_NOPI nop IMPLIED 1 NULL
125 OP_JMP_IABSX jmp IABSOLUTEX 3 NULL
126 OP_ADC_ABSX adc ABSOLUTEX 3 NULL
127 OP_ROR_ABSX ror ABSOLUTEX 3 NULL
128 OP_BBR7_REL bbr7 RELATIVE 2 NULL
129 OP_BRA_REL bra RELATIVE 2 NULL
130 OP_STA_IZPX sta IZPX 2 NULL
131 OP_NOPI nop IMMEDIATE 2 NULL
132 OP_NOPI nop IMPLIED 1 NULL
133 OP_STY_ZP sty ZP 2 NULL
134 OP_STA_ZP sta ZP 2 NULL
135 OP_STX_ZP stx ZP 2 NULL
136 OP_SMB0_ZP smb0 ZP 2 NULL
137 OP_DEY dey IMPLIED 1 NULL
138 OP_BIT_IMM bit IMMEDIATE 2 NULL
139 OP_TXA txa IMPLIED 1 NULL
140 OP_NOPI nop IMPLIED 1 NULL
141 OP_STY_ABS sty ABSOLUTE 3 NULL
142 OP_STA_ABS sta ABSOLUTE 3 NULL
143 OP_STX_ABS stx ABSOLUTE 3 NULL
144 OP_BBS0_REL bbs0 RELATIVE 2 NULL
145 OP_BCC_REL bcc RELATIVE 2 NULL
146 OP_STA_IZPY sta IZPY 2 NULL
147 OP_STA_IZP sta IZP 2 NULL
148 OP_NOPI nop IMPLIED 1 NULL
149 OP_STY_ZPX sty ZPX 2 NULL
150 OP_STA_ZPX sta ZPX 2 NULL
151 OP_STX_ZPY stx ZPY 2 NULL
152 OP_SMB1_ZP smb1 ZP 2 NULL
153 OP_TYA tya IMPLIED 1 NULL
154 OP_STA_ABSY sta ABSOLUTEY 3 NULL
155 OP_TXS txs IMPLIED 1 NULL
156 OP_NOPI nop IMPLIED 1 NULL
157 OP_STZ_ABS stz ABSOLUTE 3 NULL
158 OP_STA_ABSX sta ABSOLUTEX 3 NULL
159 OP_STZ_ABSX stz ABSOLUTEX 3 NULL
160 OP_BBS1_REL bbs1 RELATIVE 2 NULL
161 OP_LDY_IMM ldy IMMEDIATE 2 NULL
162 OP_LDA_IZPX lda IZPX 2 NULL
163 OP_LDX_IMM ldx IMMEDIATE 2 NULL
164 OP_NOPI nop IMPLIED 1 NULL
165 OP_LDY_ZP ldy ZP 2 NULL
166 OP_LDA_ZP lda ZP 2 NULL
167 OP_LDX_ZP ldx ZP 2 NULL
168 OP_SMB2_ZP smb2 ZP 2 NULL
169 OP_TAY tay IMPLIED 1 NULL
170 OP_LDA_IMM lda IMMEDIATE 2 NULL
171 OP_TAX tax IMPLIED 1 NULL
172 OP_NOPI nop IMPLIED 1 NULL
173 OP_LDY_ABS ldy ABSOLUTE 3 NULL
174 OP_LDA_ABS lda ABSOLUTE 3 NULL
175 OP_LDX_ABS ldx ABSOLUTE 3 NULL
176 OP_BBS2_REL bbs2 RELATIVE 2 NULL
177 OP_BCS_REL bcs RELATIVE 2 NULL
178 OP_LDA_IZPY lda IZPY 2 NULL
179 OP_LDA_IZP lda IZP 2 NULL
180 OP_NOPI nop IMPLIED 1 NULL
181 OP_LDY_ZPX ldy ZPX 2 NULL
182 OP_LDA_ZPX lda ZPX 2 NULL
183 OP_LDX_ZPY unimpl ZPY 1 NULL
184 OP_SMB3_ZP smb3 ZP 2 NULL
185 OP_CLV clv IMPLIED 1 NULL
186 OP_LDA_ABSY lda ABSOLUTEY 3 NULL
187 OP_TSX tsx IMPLIED 1 NULL
188 OP_NOPI nop IMPLIED 1 NULL
189 OP_LDY_ABSX ldy ABSOLUTEX 3 NULL
190 OP_LDA_ABSX lda ABSOLUTEX 3 NULL
191 OP_LDX_ABSY ldx ABSOLUTEY 3 NULL
192 OP_BBS3_REL bbs3 RELATIVE 2 NULL
193 OP_CPY_IMM cpy IMMEDIATE 2 NULL
194 OP_CMP_IZPX cmp IZPX 2 NULL
195 OP_NOPI nop IMMEDIATE 2 NULL
196 OP_NOPI nop IMPLIED 1 NULL
197 OP_CPY_ZP cpy ZP 2 NULL
198 OP_CMP_ZP cmp ZP 2 NULL
199 OP_DEC_ZP dec ZP 2 NULL
200 OP_SMB4_ZP smb4 ZP 2 NULL
201 OP_INY iny IMPLIED 1 NULL
202 OP_CMP_IMM cmp IMMEDIATE 2 NULL
203 OP_DEX dex IMPLIED 1 NULL
204 OP_WAI wai IMPLIED 1 NULL
205 OP_CPY_ABS cpy ABSOLUTE 3 NULL
206 OP_CMP_ABS cmp ABSOLUTE 3 NULL
207 OP_DEC_ABS dec ABSOLUTE 3 NULL
208 OP_BBS4_REL bbs4 RELATIVE 2 NULL
209 OP_BNE_REL bne RELATIVE 2 NULL
210 OP_CMP_IZPY cmp IZPY 2 NULL
211 OP_CMP_IZP cmp IZP 2 NULL
212 OP_NOPI nop IMPLIED 1 NULL
213 OP_NOPI nop ZPX 2 NULL
214 OP_CMP_ZPX cmp ZPX 2 NULL
215 OP_DEC_ZPX dec ZPX 2 NULL
216 OP_SMB5_ZP smb5 ZP 2 NULL
217 OP_CLD cld IMPLIED 1 NULL
218 OP_CMP_ABSY cmp ABSOLUTEY 3 NULL
219 OP_PHX phx IMPLIED 1 NULL
220 OP_STP stp IMPLIED 1 NULL
221 OP_NOPI nop ABSOLUTE 3 NULL
222 OP_CMP_ABSX cmp ABSOLUTEX 3 NULL
223 OP_DEC_ABSX dec ABSOLUTEX 3 NULL
224 OP_BBS5_REL bbs5 RELATIVE 2 NULL
225 OP_CPX_IMM cpx IMMEDIATE 2 NULL
226 OP_SBC_IZPX sbc IZPX 2 NULL
227 OP_NOPI nop IMMEDIATE 2 NULL
228 OP_NOPI nop IMPLIED 1 NULL
229 OP_CPX_ZP cpx ZP 2 NULL
230 OP_SBC_ZP sbc ZP 2 NULL
231 OP_INC_ZP inc ZP 2 NULL
232 OP_SMB6_ZP smb6 ZP 2 NULL
233 OP_INX inx IMPLIED 1 NULL
234 OP_SBC_IMM sbc IMMEDIATE 2 NULL
235 OP_NOP nop IMPLIED 1 emul_nop
236 OP_NOPI nop IMPLIED 1 NULL
237 OP_CPX_ABS cpx ABSOLUTE 3 NULL
238 OP_SBC_ABS sbc ABSOLUTE 3 NULL
239 OP_INC_ABS inc ABSOLUTE 3 NULL
240 OP_BBS6_REL bbs6 RELATIVE 2 NULL
241 OP_BEQ_REL beq RELATIVE 2 NULL
242 OP_SBC_IZPY sbc IZPY 2 NULL
243 OP_SBC_IZP sbc IZP 2 NULL
244 OP_NOPI nop IMPLIED 1 NULL
245 OP_NOPI nop ZPX 2 NULL
246 OP_SBC_ZPX sbc ZPX 2 NULL
247 OP_INC_ZPX inc ZPX 2 NULL
248 OP_SMB7_ZP smb7 ZP 2 NULL
249 OP_SED sed IMPLIED 1 NULL
250 OP_SBC_ABSY sbc ABSOLUTEY 3 NULL
251 OP_PLX plx IMPLIED 1 NULL
252 OP_NOPI nop IMPLIED 1 NULL
253 OP_NOPI nop ABSOLUTE 3 NULL
254 OP_SBC_ABSX sbc ABSOLUTEX 1 NULL
255 OP_INC_ABSX inc ABSOLUTEX 1 NULL
256 OP_BBS7_REL bbs7 RELATIVE 1 NULL

View File

@ -1,4 +1,4 @@
OBJS=rk65c02.o bus.o instruction.o
OBJS=rk65c02.o bus.o instruction.o emulation.o
LIB_SO=librk65c02.so
LIB_STATIC=librk65c02.a
LDFLAGS=-shared

10
src/emulation.c Normal file
View File

@ -0,0 +1,10 @@
#include <stdio.h>
#include "emulation.h"
void
emul_nop(void)
{
printf("nop!\n");
}

7
src/emulation.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef _EMULATION_H_
#define _EMULATION_H_
void emul_nop(void);
#endif /* _EMULATION_H_*/

View File

@ -24,6 +24,7 @@ struct instrdef {
const char *mnemonic;
addressing_t mode;
uint8_t size;
void (*emul)(void);
};
typedef struct instrdef instrdef_t;

View File

@ -14,22 +14,25 @@ static bool run = false;
void
rk6502_start(bus_t *b, uint16_t addr) {
reg_state_t r;
instruction_t i;
reg_state_t r;
rk65c02emu_t e;
r.PC = addr;
e.bus = b;
e.regs = &r;
e.regs->PC = addr;
run = true;
while (run) {
disassemble(b, r.PC);
i = instruction_fetch(b, r.PC);
disassemble(e.bus, e.regs->PC);
i = instruction_fetch(e.bus, e.regs->PC);
//execute(i, r);
if (i.def.opcode == 0xDB) // STP
run = false;
r.PC += i.def.size;
e.regs->PC += i.def.size;
}
}
/*

View File

@ -24,8 +24,8 @@ typedef struct reg_state reg_state_t;
struct rk65c02emu {
emu_state_t state;
bus_t bus;
reg_state_t regs;
bus_t *bus;
reg_state_t *regs;
};
typedef struct rk65c02emu rk65c02emu_t;