mirror of
https://github.com/holub/mame
synced 2025-06-03 19:36:26 +03:00
moved contents of .inc into .c to removed #define pollution when including h6280.h [smf]
This commit is contained in:
parent
932a7cc8d2
commit
ed175d0a2e
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1059,7 +1059,6 @@ src/emu/cpu/h6280/6280dasm.c svneol=native#text/plain
|
||||
src/emu/cpu/h6280/h6280.c svneol=native#text/plain
|
||||
src/emu/cpu/h6280/h6280.h svneol=native#text/plain
|
||||
src/emu/cpu/h6280/h6280ops.h svneol=native#text/plain
|
||||
src/emu/cpu/h6280/tblh6280.inc svneol=native#text/plain
|
||||
src/emu/cpu/h83002/h8.h svneol=native#text/plain
|
||||
src/emu/cpu/h83002/h8_16.c svneol=native#text/plain
|
||||
src/emu/cpu/h83002/h8_8.c svneol=native#text/plain
|
||||
|
@ -112,6 +112,9 @@
|
||||
#include "debugger.h"
|
||||
#include "h6280.h"
|
||||
|
||||
// include the macros
|
||||
#include "h6280ops.h"
|
||||
|
||||
//static void set_irq_line(h6280_Regs* cpustate, int irqline, int state);
|
||||
|
||||
//**************************************************************************
|
||||
@ -137,38 +140,38 @@ h6280_device::h6280_device(const machine_config &mconfig, const char *tag, devic
|
||||
|
||||
const h6280_device::ophandler h6280_device::s_opcodetable[256] =
|
||||
{
|
||||
&h6280_device::op_000, &h6280_device::op_001, &h6280_device::op_002, &h6280_device::op_003, &h6280_device::op_004, &h6280_device::op_005, &h6280_device::op_006, &h6280_device::op_007,
|
||||
&h6280_device::op_008, &h6280_device::op_009, &h6280_device::op_00a, &h6280_device::op_00b, &h6280_device::op_00c, &h6280_device::op_00d, &h6280_device::op_00e, &h6280_device::op_00f,
|
||||
&h6280_device::op_010, &h6280_device::op_011, &h6280_device::op_012, &h6280_device::op_013, &h6280_device::op_014, &h6280_device::op_015, &h6280_device::op_016, &h6280_device::op_017,
|
||||
&h6280_device::op_018, &h6280_device::op_019, &h6280_device::op_01a, &h6280_device::op_01b, &h6280_device::op_01c, &h6280_device::op_01d, &h6280_device::op_01e, &h6280_device::op_01f,
|
||||
&h6280_device::op_020, &h6280_device::op_021, &h6280_device::op_022, &h6280_device::op_023, &h6280_device::op_024, &h6280_device::op_025, &h6280_device::op_026, &h6280_device::op_027,
|
||||
&h6280_device::op_028, &h6280_device::op_029, &h6280_device::op_02a, &h6280_device::op_02b, &h6280_device::op_02c, &h6280_device::op_02d, &h6280_device::op_02e, &h6280_device::op_02f,
|
||||
&h6280_device::op_030, &h6280_device::op_031, &h6280_device::op_032, &h6280_device::op_033, &h6280_device::op_034, &h6280_device::op_035, &h6280_device::op_036, &h6280_device::op_037,
|
||||
&h6280_device::op_038, &h6280_device::op_039, &h6280_device::op_03a, &h6280_device::op_03b, &h6280_device::op_03c, &h6280_device::op_03d, &h6280_device::op_03e, &h6280_device::op_03f,
|
||||
&h6280_device::op_040, &h6280_device::op_041, &h6280_device::op_042, &h6280_device::op_043, &h6280_device::op_044, &h6280_device::op_045, &h6280_device::op_046, &h6280_device::op_047,
|
||||
&h6280_device::op_048, &h6280_device::op_049, &h6280_device::op_04a, &h6280_device::op_04b, &h6280_device::op_04c, &h6280_device::op_04d, &h6280_device::op_04e, &h6280_device::op_04f,
|
||||
&h6280_device::op_050, &h6280_device::op_051, &h6280_device::op_052, &h6280_device::op_053, &h6280_device::op_054, &h6280_device::op_055, &h6280_device::op_056, &h6280_device::op_057,
|
||||
&h6280_device::op_058, &h6280_device::op_059, &h6280_device::op_05a, &h6280_device::op_05b, &h6280_device::op_05c, &h6280_device::op_05d, &h6280_device::op_05e, &h6280_device::op_05f,
|
||||
&h6280_device::op_060, &h6280_device::op_061, &h6280_device::op_062, &h6280_device::op_063, &h6280_device::op_064, &h6280_device::op_065, &h6280_device::op_066, &h6280_device::op_067,
|
||||
&h6280_device::op_068, &h6280_device::op_069, &h6280_device::op_06a, &h6280_device::op_06b, &h6280_device::op_06c, &h6280_device::op_06d, &h6280_device::op_06e, &h6280_device::op_06f,
|
||||
&h6280_device::op_070, &h6280_device::op_071, &h6280_device::op_072, &h6280_device::op_073, &h6280_device::op_074, &h6280_device::op_075, &h6280_device::op_076, &h6280_device::op_077,
|
||||
&h6280_device::op_078, &h6280_device::op_079, &h6280_device::op_07a, &h6280_device::op_07b, &h6280_device::op_07c, &h6280_device::op_07d, &h6280_device::op_07e, &h6280_device::op_07f,
|
||||
&h6280_device::op_080, &h6280_device::op_081, &h6280_device::op_082, &h6280_device::op_083, &h6280_device::op_084, &h6280_device::op_085, &h6280_device::op_086, &h6280_device::op_087,
|
||||
&h6280_device::op_088, &h6280_device::op_089, &h6280_device::op_08a, &h6280_device::op_08b, &h6280_device::op_08c, &h6280_device::op_08d, &h6280_device::op_08e, &h6280_device::op_08f,
|
||||
&h6280_device::op_090, &h6280_device::op_091, &h6280_device::op_092, &h6280_device::op_093, &h6280_device::op_094, &h6280_device::op_095, &h6280_device::op_096, &h6280_device::op_097,
|
||||
&h6280_device::op_098, &h6280_device::op_099, &h6280_device::op_09a, &h6280_device::op_09b, &h6280_device::op_09c, &h6280_device::op_09d, &h6280_device::op_09e, &h6280_device::op_09f,
|
||||
&h6280_device::op_0a0, &h6280_device::op_0a1, &h6280_device::op_0a2, &h6280_device::op_0a3, &h6280_device::op_0a4, &h6280_device::op_0a5, &h6280_device::op_0a6, &h6280_device::op_0a7,
|
||||
&h6280_device::op_0a8, &h6280_device::op_0a9, &h6280_device::op_0aa, &h6280_device::op_0ab, &h6280_device::op_0ac, &h6280_device::op_0ad, &h6280_device::op_0ae, &h6280_device::op_0af,
|
||||
&h6280_device::op_0b0, &h6280_device::op_0b1, &h6280_device::op_0b2, &h6280_device::op_0b3, &h6280_device::op_0b4, &h6280_device::op_0b5, &h6280_device::op_0b6, &h6280_device::op_0b7,
|
||||
&h6280_device::op_0b8, &h6280_device::op_0b9, &h6280_device::op_0ba, &h6280_device::op_0bb, &h6280_device::op_0bc, &h6280_device::op_0bd, &h6280_device::op_0be, &h6280_device::op_0bf,
|
||||
&h6280_device::op_0c0, &h6280_device::op_0c1, &h6280_device::op_0c2, &h6280_device::op_0c3, &h6280_device::op_0c4, &h6280_device::op_0c5, &h6280_device::op_0c6, &h6280_device::op_0c7,
|
||||
&h6280_device::op_0c8, &h6280_device::op_0c9, &h6280_device::op_0ca, &h6280_device::op_0cb, &h6280_device::op_0cc, &h6280_device::op_0cd, &h6280_device::op_0ce, &h6280_device::op_0cf,
|
||||
&h6280_device::op_0d0, &h6280_device::op_0d1, &h6280_device::op_0d2, &h6280_device::op_0d3, &h6280_device::op_0d4, &h6280_device::op_0d5, &h6280_device::op_0d6, &h6280_device::op_0d7,
|
||||
&h6280_device::op_0d8, &h6280_device::op_0d9, &h6280_device::op_0da, &h6280_device::op_0db, &h6280_device::op_0dc, &h6280_device::op_0dd, &h6280_device::op_0de, &h6280_device::op_0df,
|
||||
&h6280_device::op_0e0, &h6280_device::op_0e1, &h6280_device::op_0e2, &h6280_device::op_0e3, &h6280_device::op_0e4, &h6280_device::op_0e5, &h6280_device::op_0e6, &h6280_device::op_0e7,
|
||||
&h6280_device::op_0e8, &h6280_device::op_0e9, &h6280_device::op_0ea, &h6280_device::op_0eb, &h6280_device::op_0ec, &h6280_device::op_0ed, &h6280_device::op_0ee, &h6280_device::op_0ef,
|
||||
&h6280_device::op_0f0, &h6280_device::op_0f1, &h6280_device::op_0f2, &h6280_device::op_0f3, &h6280_device::op_0f4, &h6280_device::op_0f5, &h6280_device::op_0f6, &h6280_device::op_0f7,
|
||||
&h6280_device::op_0f8, &h6280_device::op_0f9, &h6280_device::op_0fa, &h6280_device::op_0fb, &h6280_device::op_0fc, &h6280_device::op_0fd, &h6280_device::op_0fe, &h6280_device::op_0ff
|
||||
&h6280_device::op_00, &h6280_device::op_01, &h6280_device::op_02, &h6280_device::op_03, &h6280_device::op_04, &h6280_device::op_05, &h6280_device::op_06, &h6280_device::op_07,
|
||||
&h6280_device::op_08, &h6280_device::op_09, &h6280_device::op_0a, &h6280_device::op_0b, &h6280_device::op_0c, &h6280_device::op_0d, &h6280_device::op_0e, &h6280_device::op_0f,
|
||||
&h6280_device::op_10, &h6280_device::op_11, &h6280_device::op_12, &h6280_device::op_13, &h6280_device::op_14, &h6280_device::op_15, &h6280_device::op_16, &h6280_device::op_17,
|
||||
&h6280_device::op_18, &h6280_device::op_19, &h6280_device::op_1a, &h6280_device::op_1b, &h6280_device::op_1c, &h6280_device::op_1d, &h6280_device::op_1e, &h6280_device::op_1f,
|
||||
&h6280_device::op_20, &h6280_device::op_21, &h6280_device::op_22, &h6280_device::op_23, &h6280_device::op_24, &h6280_device::op_25, &h6280_device::op_26, &h6280_device::op_27,
|
||||
&h6280_device::op_28, &h6280_device::op_29, &h6280_device::op_2a, &h6280_device::op_2b, &h6280_device::op_2c, &h6280_device::op_2d, &h6280_device::op_2e, &h6280_device::op_2f,
|
||||
&h6280_device::op_30, &h6280_device::op_31, &h6280_device::op_32, &h6280_device::op_33, &h6280_device::op_34, &h6280_device::op_35, &h6280_device::op_36, &h6280_device::op_37,
|
||||
&h6280_device::op_38, &h6280_device::op_39, &h6280_device::op_3a, &h6280_device::op_3b, &h6280_device::op_3c, &h6280_device::op_3d, &h6280_device::op_3e, &h6280_device::op_3f,
|
||||
&h6280_device::op_40, &h6280_device::op_41, &h6280_device::op_42, &h6280_device::op_43, &h6280_device::op_44, &h6280_device::op_45, &h6280_device::op_46, &h6280_device::op_47,
|
||||
&h6280_device::op_48, &h6280_device::op_49, &h6280_device::op_4a, &h6280_device::op_4b, &h6280_device::op_4c, &h6280_device::op_4d, &h6280_device::op_4e, &h6280_device::op_4f,
|
||||
&h6280_device::op_50, &h6280_device::op_51, &h6280_device::op_52, &h6280_device::op_53, &h6280_device::op_54, &h6280_device::op_55, &h6280_device::op_56, &h6280_device::op_57,
|
||||
&h6280_device::op_58, &h6280_device::op_59, &h6280_device::op_5a, &h6280_device::op_5b, &h6280_device::op_5c, &h6280_device::op_5d, &h6280_device::op_5e, &h6280_device::op_5f,
|
||||
&h6280_device::op_60, &h6280_device::op_61, &h6280_device::op_62, &h6280_device::op_63, &h6280_device::op_64, &h6280_device::op_65, &h6280_device::op_66, &h6280_device::op_67,
|
||||
&h6280_device::op_68, &h6280_device::op_69, &h6280_device::op_6a, &h6280_device::op_6b, &h6280_device::op_6c, &h6280_device::op_6d, &h6280_device::op_6e, &h6280_device::op_6f,
|
||||
&h6280_device::op_70, &h6280_device::op_71, &h6280_device::op_72, &h6280_device::op_73, &h6280_device::op_74, &h6280_device::op_75, &h6280_device::op_76, &h6280_device::op_77,
|
||||
&h6280_device::op_78, &h6280_device::op_79, &h6280_device::op_7a, &h6280_device::op_7b, &h6280_device::op_7c, &h6280_device::op_7d, &h6280_device::op_7e, &h6280_device::op_7f,
|
||||
&h6280_device::op_80, &h6280_device::op_81, &h6280_device::op_82, &h6280_device::op_83, &h6280_device::op_84, &h6280_device::op_85, &h6280_device::op_86, &h6280_device::op_87,
|
||||
&h6280_device::op_88, &h6280_device::op_89, &h6280_device::op_8a, &h6280_device::op_8b, &h6280_device::op_8c, &h6280_device::op_8d, &h6280_device::op_8e, &h6280_device::op_8f,
|
||||
&h6280_device::op_90, &h6280_device::op_91, &h6280_device::op_92, &h6280_device::op_93, &h6280_device::op_94, &h6280_device::op_95, &h6280_device::op_96, &h6280_device::op_97,
|
||||
&h6280_device::op_98, &h6280_device::op_99, &h6280_device::op_9a, &h6280_device::op_9b, &h6280_device::op_9c, &h6280_device::op_9d, &h6280_device::op_9e, &h6280_device::op_9f,
|
||||
&h6280_device::op_a0, &h6280_device::op_a1, &h6280_device::op_a2, &h6280_device::op_a3, &h6280_device::op_a4, &h6280_device::op_a5, &h6280_device::op_a6, &h6280_device::op_a7,
|
||||
&h6280_device::op_a8, &h6280_device::op_a9, &h6280_device::op_aa, &h6280_device::op_ab, &h6280_device::op_ac, &h6280_device::op_ad, &h6280_device::op_ae, &h6280_device::op_af,
|
||||
&h6280_device::op_b0, &h6280_device::op_b1, &h6280_device::op_b2, &h6280_device::op_b3, &h6280_device::op_b4, &h6280_device::op_b5, &h6280_device::op_b6, &h6280_device::op_b7,
|
||||
&h6280_device::op_b8, &h6280_device::op_b9, &h6280_device::op_ba, &h6280_device::op_bb, &h6280_device::op_bc, &h6280_device::op_bd, &h6280_device::op_be, &h6280_device::op_bf,
|
||||
&h6280_device::op_c0, &h6280_device::op_c1, &h6280_device::op_c2, &h6280_device::op_c3, &h6280_device::op_c4, &h6280_device::op_c5, &h6280_device::op_c6, &h6280_device::op_c7,
|
||||
&h6280_device::op_c8, &h6280_device::op_c9, &h6280_device::op_ca, &h6280_device::op_cb, &h6280_device::op_cc, &h6280_device::op_cd, &h6280_device::op_ce, &h6280_device::op_cf,
|
||||
&h6280_device::op_d0, &h6280_device::op_d1, &h6280_device::op_d2, &h6280_device::op_d3, &h6280_device::op_d4, &h6280_device::op_d5, &h6280_device::op_d6, &h6280_device::op_d7,
|
||||
&h6280_device::op_d8, &h6280_device::op_d9, &h6280_device::op_da, &h6280_device::op_db, &h6280_device::op_dc, &h6280_device::op_dd, &h6280_device::op_de, &h6280_device::op_df,
|
||||
&h6280_device::op_e0, &h6280_device::op_e1, &h6280_device::op_e2, &h6280_device::op_e3, &h6280_device::op_e4, &h6280_device::op_e5, &h6280_device::op_e6, &h6280_device::op_e7,
|
||||
&h6280_device::op_e8, &h6280_device::op_e9, &h6280_device::op_ea, &h6280_device::op_eb, &h6280_device::op_ec, &h6280_device::op_ed, &h6280_device::op_ee, &h6280_device::op_ef,
|
||||
&h6280_device::op_f0, &h6280_device::op_f1, &h6280_device::op_f2, &h6280_device::op_f3, &h6280_device::op_f4, &h6280_device::op_f5, &h6280_device::op_f6, &h6280_device::op_f7,
|
||||
&h6280_device::op_f8, &h6280_device::op_f9, &h6280_device::op_fa, &h6280_device::op_fb, &h6280_device::op_fc, &h6280_device::op_fd, &h6280_device::op_fe, &h6280_device::op_ff
|
||||
};
|
||||
|
||||
void h6280_device::device_start()
|
||||
@ -305,6 +308,302 @@ const address_space_config *h6280_device::memory_space_config(address_spacenum s
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define OP(prefix,opcode) void h6280_device::prefix##_##opcode()
|
||||
|
||||
/*****************************************************************************
|
||||
*****************************************************************************
|
||||
*
|
||||
* Hu6280 opcodes
|
||||
*
|
||||
*****************************************************************************
|
||||
* op temp cycles rdmem opc wrmem ******************/
|
||||
OP(op,00) { H6280_CYCLES(8); BRK; } // 8 BRK
|
||||
OP(op,20) { H6280_CYCLES(7); EA_ABS; JSR; } // 7 JSR ABS
|
||||
OP(op,40) { H6280_CYCLES(7); RTI; } // 7 RTI
|
||||
OP(op,60) { H6280_CYCLES(7); RTS; } // 7 RTS
|
||||
OP(op,80) { int tmp; BRA(1); } // 4 BRA REL
|
||||
OP(op,a0) { int tmp; H6280_CYCLES(2); RD_IMM; LDY; } // 2 LDY IMM
|
||||
OP(op,c0) { int tmp; H6280_CYCLES(2); RD_IMM; CPY; } // 2 CPY IMM
|
||||
OP(op,e0) { int tmp; H6280_CYCLES(2); RD_IMM; CPX; } // 2 CPX IMM
|
||||
|
||||
OP(op,10) { int tmp; BPL; } // 2/4 BPL REL
|
||||
OP(op,30) { int tmp; BMI; } // 2/4 BMI REL
|
||||
OP(op,50) { int tmp; BVC; } // 2/4 BVC REL
|
||||
OP(op,70) { int tmp; BVS; } // 2/4 BVS REL
|
||||
OP(op,90) { int tmp; BCC; } // 2/4 BCC REL
|
||||
OP(op,b0) { int tmp; BCS; } // 2/4 BCS REL
|
||||
OP(op,d0) { int tmp; BNE; } // 2/4 BNE REL
|
||||
OP(op,f0) { int tmp; BEQ; } // 2/4 BEQ REL
|
||||
|
||||
OP(op,01) { int tmp; H6280_CYCLES(7); RD_IDX; ORA; } // 7 ORA IDX
|
||||
OP(op,21) { int tmp; H6280_CYCLES(7); RD_IDX; AND; } // 7 AND IDX
|
||||
OP(op,41) { int tmp; H6280_CYCLES(7); RD_IDX; EOR; } // 7 EOR IDX
|
||||
OP(op,61) { int tmp; H6280_CYCLES(7); RD_IDX; ADC; } // 7 ADC IDX
|
||||
OP(op,81) { int tmp; H6280_CYCLES(7); STA; WR_IDX; } // 7 STA IDX
|
||||
OP(op,a1) { int tmp; H6280_CYCLES(7); RD_IDX; LDA; } // 7 LDA IDX
|
||||
OP(op,c1) { int tmp; H6280_CYCLES(7); RD_IDX; CMP; } // 7 CMP IDX
|
||||
OP(op,e1) { int tmp; H6280_CYCLES(7); RD_IDX; SBC; } // 7 SBC IDX
|
||||
|
||||
OP(op,11) { int tmp; H6280_CYCLES(7); RD_IDY; ORA; } // 7 ORA IDY
|
||||
OP(op,31) { int tmp; H6280_CYCLES(7); RD_IDY; AND; } // 7 AND IDY
|
||||
OP(op,51) { int tmp; H6280_CYCLES(7); RD_IDY; EOR; } // 7 EOR IDY
|
||||
OP(op,71) { int tmp; H6280_CYCLES(7); RD_IDY; ADC; } // 7 ADC AZP
|
||||
OP(op,91) { int tmp; H6280_CYCLES(7); STA; WR_IDY; } // 7 STA IDY
|
||||
OP(op,b1) { int tmp; H6280_CYCLES(7); RD_IDY; LDA; } // 7 LDA IDY
|
||||
OP(op,d1) { int tmp; H6280_CYCLES(7); RD_IDY; CMP; } // 7 CMP IDY
|
||||
OP(op,f1) { int tmp; H6280_CYCLES(7); RD_IDY; SBC; } // 7 SBC IDY
|
||||
|
||||
OP(op,02) { int tmp; H6280_CYCLES(3); SXY; } // 3 SXY
|
||||
OP(op,22) { int tmp; H6280_CYCLES(3); SAX; } // 3 SAX
|
||||
OP(op,42) { int tmp; H6280_CYCLES(3); SAY; } // 3 SAY
|
||||
OP(op,62) { H6280_CYCLES(2); CLA; } // 2 CLA
|
||||
OP(op,82) { H6280_CYCLES(2); CLX; } // 2 CLX
|
||||
OP(op,a2) { int tmp; H6280_CYCLES(2); RD_IMM; LDX; } // 2 LDX IMM
|
||||
OP(op,c2) { H6280_CYCLES(2); CLY; } // 2 CLY
|
||||
OP(op,e2) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(op,12) { int tmp; H6280_CYCLES(7); RD_ZPI; ORA; } // 7 ORA ZPI
|
||||
OP(op,32) { int tmp; H6280_CYCLES(7); RD_ZPI; AND; } // 7 AND ZPI
|
||||
OP(op,52) { int tmp; H6280_CYCLES(7); RD_ZPI; EOR; } // 7 EOR ZPI
|
||||
OP(op,72) { int tmp; H6280_CYCLES(7); RD_ZPI; ADC; } // 7 ADC ZPI
|
||||
OP(op,92) { int tmp; H6280_CYCLES(7); STA; WR_ZPI; } // 7 STA ZPI
|
||||
OP(op,b2) { int tmp; H6280_CYCLES(7); RD_ZPI; LDA; } // 7 LDA ZPI
|
||||
OP(op,d2) { int tmp; H6280_CYCLES(7); RD_ZPI; CMP; } // 7 CMP ZPI
|
||||
OP(op,f2) { int tmp; H6280_CYCLES(7); RD_ZPI; SBC; } // 7 SBC ZPI
|
||||
|
||||
OP(op,03) { int tmp; H6280_CYCLES(5); RD_IMM; ST0; } // 4 + 1 penalty cycle ST0 IMM
|
||||
OP(op,23) { int tmp; H6280_CYCLES(5); RD_IMM; ST2; } // 4 + 1 penalty cycle ST2 IMM
|
||||
OP(op,43) { int tmp; H6280_CYCLES(4); RD_IMM; TMA; } // 4 TMA
|
||||
OP(op,63) { H6280_CYCLES(4); NOP; } // 2 NOP
|
||||
OP(op,83) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPG; TST; } // 7 TST IMM,ZPG
|
||||
OP(op,a3) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPX; TST; } // 7 TST IMM,ZPX
|
||||
OP(op,c3) { int to,from,length; TDD; } // 6*l+17 TDD XFER
|
||||
OP(op,e3) { int to,from,length,alternate; TIA; } // 6*l+17 TIA XFER
|
||||
|
||||
OP(op,13) { int tmp; H6280_CYCLES(5); RD_IMM; ST1; } // 4 + 1 penalty cycle ST1
|
||||
OP(op,33) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,53) { int tmp; H6280_CYCLES(5); RD_IMM; TAM; } // 5 TAM IMM
|
||||
OP(op,73) { int to,from,length; TII; } // 6*l+17 TII XFER
|
||||
OP(op,93) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABS; TST; } // 8 TST IMM,ABS
|
||||
OP(op,b3) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABX; TST; } // 8 TST IMM,ABX
|
||||
OP(op,d3) { int to,from,length; TIN; } // 6*l+17 TIN XFER
|
||||
OP(op,f3) { int to,from,length,alternate; TAI; } // 6*l+17 TAI XFER
|
||||
|
||||
OP(op,04) { int tmp; H6280_CYCLES(6); RD_ZPG; TSB; WB_EAZ; } // 6 TSB ZPG
|
||||
OP(op,24) { int tmp; H6280_CYCLES(4); RD_ZPG; HBIT; } // 4 BIT ZPG
|
||||
OP(op,44) { int tmp; BSR; } // 8 BSR REL
|
||||
OP(op,64) { int tmp; H6280_CYCLES(4); STZ; WR_ZPG; } // 4 STZ ZPG
|
||||
OP(op,84) { int tmp; H6280_CYCLES(4); STY; WR_ZPG; } // 4 STY ZPG
|
||||
OP(op,a4) { int tmp; H6280_CYCLES(4); RD_ZPG; LDY; } // 4 LDY ZPG
|
||||
OP(op,c4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPY; } // 4 CPY ZPG
|
||||
OP(op,e4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPX; } // 4 CPX ZPG
|
||||
|
||||
OP(op,14) { int tmp; H6280_CYCLES(6); RD_ZPG; TRB; WB_EAZ; } // 6 TRB ZPG
|
||||
OP(op,34) { int tmp; H6280_CYCLES(4); RD_ZPX; HBIT; } // 4 BIT ZPX
|
||||
OP(op,54) { H6280_CYCLES(3); CSL; } // 3 CSL
|
||||
OP(op,74) { int tmp; H6280_CYCLES(4); STZ; WR_ZPX; } // 4 STZ ZPX
|
||||
OP(op,94) { int tmp; H6280_CYCLES(4); STY; WR_ZPX; } // 4 STY ZPX
|
||||
OP(op,b4) { int tmp; H6280_CYCLES(4); RD_ZPX; LDY; } // 4 LDY ZPX
|
||||
OP(op,d4) { H6280_CYCLES(3); CSH; } // 3 CSH
|
||||
OP(op,f4) { H6280_CYCLES(2); SET; } // 2 SET
|
||||
|
||||
OP(op,05) { int tmp; H6280_CYCLES(4); RD_ZPG; ORA; } // 4 ORA ZPG
|
||||
OP(op,25) { int tmp; H6280_CYCLES(4); RD_ZPG; AND; } // 4 AND ZPG
|
||||
OP(op,45) { int tmp; H6280_CYCLES(4); RD_ZPG; EOR; } // 4 EOR ZPG
|
||||
OP(op,65) { int tmp; H6280_CYCLES(4); RD_ZPG; ADC; } // 4 ADC ZPG
|
||||
OP(op,85) { int tmp; H6280_CYCLES(4); STA; WR_ZPG; } // 4 STA ZPG
|
||||
OP(op,a5) { int tmp; H6280_CYCLES(4); RD_ZPG; LDA; } // 4 LDA ZPG
|
||||
OP(op,c5) { int tmp; H6280_CYCLES(4); RD_ZPG; CMP; } // 4 CMP ZPG
|
||||
OP(op,e5) { int tmp; H6280_CYCLES(4); RD_ZPG; SBC; } // 4 SBC ZPG
|
||||
|
||||
OP(op,15) { int tmp; H6280_CYCLES(4); RD_ZPX; ORA; } // 4 ORA ZPX
|
||||
OP(op,35) { int tmp; H6280_CYCLES(4); RD_ZPX; AND; } // 4 AND ZPX
|
||||
OP(op,55) { int tmp; H6280_CYCLES(4); RD_ZPX; EOR; } // 4 EOR ZPX
|
||||
OP(op,75) { int tmp; H6280_CYCLES(4); RD_ZPX; ADC; } // 4 ADC ZPX
|
||||
OP(op,95) { int tmp; H6280_CYCLES(4); STA; WR_ZPX; } // 4 STA ZPX
|
||||
OP(op,b5) { int tmp; H6280_CYCLES(4); RD_ZPX; LDA; } // 4 LDA ZPX
|
||||
OP(op,d5) { int tmp; H6280_CYCLES(4); RD_ZPX; CMP; } // 4 CMP ZPX
|
||||
OP(op,f5) { int tmp; H6280_CYCLES(4); RD_ZPX; SBC; } // 4 SBC ZPX
|
||||
|
||||
OP(op,06) { int tmp; H6280_CYCLES(6); RD_ZPG; ASL; WB_EAZ; } // 6 ASL ZPG
|
||||
OP(op,26) { int tmp; H6280_CYCLES(6); RD_ZPG; ROL; WB_EAZ; } // 6 ROL ZPG
|
||||
OP(op,46) { int tmp; H6280_CYCLES(6); RD_ZPG; LSR; WB_EAZ; } // 6 LSR ZPG
|
||||
OP(op,66) { int tmp; H6280_CYCLES(6); RD_ZPG; ROR; WB_EAZ; } // 6 ROR ZPG
|
||||
OP(op,86) { int tmp; H6280_CYCLES(4); STX; WR_ZPG; } // 4 STX ZPG
|
||||
OP(op,a6) { int tmp; H6280_CYCLES(4); RD_ZPG; LDX; } // 4 LDX ZPG
|
||||
OP(op,c6) { int tmp; H6280_CYCLES(6); RD_ZPG; DEC; WB_EAZ; } // 6 DEC ZPG
|
||||
OP(op,e6) { int tmp; H6280_CYCLES(6); RD_ZPG; INC; WB_EAZ; } // 6 INC ZPG
|
||||
|
||||
OP(op,16) { int tmp; H6280_CYCLES(6); RD_ZPX; ASL; WB_EAZ; } // 6 ASL ZPX
|
||||
OP(op,36) { int tmp; H6280_CYCLES(6); RD_ZPX; ROL; WB_EAZ; } // 6 ROL ZPX
|
||||
OP(op,56) { int tmp; H6280_CYCLES(6); RD_ZPX; LSR; WB_EAZ; } // 6 LSR ZPX
|
||||
OP(op,76) { int tmp; H6280_CYCLES(6); RD_ZPX; ROR; WB_EAZ; } // 6 ROR ZPX
|
||||
OP(op,96) { int tmp; H6280_CYCLES(4); STX; WR_ZPY; } // 4 STX ZPY
|
||||
OP(op,b6) { int tmp; H6280_CYCLES(4); RD_ZPY; LDX; } // 4 LDX ZPY
|
||||
OP(op,d6) { int tmp; H6280_CYCLES(6); RD_ZPX; DEC; WB_EAZ; } // 6 DEC ZPX
|
||||
OP(op,f6) { int tmp; H6280_CYCLES(6); RD_ZPX; INC; WB_EAZ; } // 6 INC ZPX
|
||||
|
||||
OP(op,07) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(0);WB_EAZ;} // 7 RMB0 ZPG
|
||||
OP(op,27) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(2);WB_EAZ;} // 7 RMB2 ZPG
|
||||
OP(op,47) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(4);WB_EAZ;} // 7 RMB4 ZPG
|
||||
OP(op,67) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(6);WB_EAZ;} // 7 RMB6 ZPG
|
||||
OP(op,87) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(0);WB_EAZ;} // 7 SMB0 ZPG
|
||||
OP(op,a7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(2);WB_EAZ;} // 7 SMB2 ZPG
|
||||
OP(op,c7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(4);WB_EAZ;} // 7 SMB4 ZPG
|
||||
OP(op,e7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(6);WB_EAZ;} // 7 SMB6 ZPG
|
||||
|
||||
OP(op,17) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(1);WB_EAZ;} // 7 RMB1 ZPG
|
||||
OP(op,37) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(3);WB_EAZ;} // 7 RMB3 ZPG
|
||||
OP(op,57) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(5);WB_EAZ;} // 7 RMB5 ZPG
|
||||
OP(op,77) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(7);WB_EAZ;} // 7 RMB7 ZPG
|
||||
OP(op,97) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(1);WB_EAZ;} // 7 SMB1 ZPG
|
||||
OP(op,b7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(3);WB_EAZ;} // 7 SMB3 ZPG
|
||||
OP(op,d7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(5);WB_EAZ;} // 7 SMB5 ZPG
|
||||
OP(op,f7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(7);WB_EAZ;} // 7 SMB7 ZPG
|
||||
|
||||
OP(op,08) { H6280_CYCLES(3); PHP; } // 3 PHP
|
||||
OP(op,28) { H6280_CYCLES(4); PLP; } // 4 PLP
|
||||
OP(op,48) { H6280_CYCLES(3); PHA; } // 3 PHA
|
||||
OP(op,68) { H6280_CYCLES(4); PLA; } // 4 PLA
|
||||
OP(op,88) { H6280_CYCLES(2); DEY; } // 2 DEY
|
||||
OP(op,a8) { H6280_CYCLES(2); TAY; } // 2 TAY
|
||||
OP(op,c8) { H6280_CYCLES(2); INY; } // 2 INY
|
||||
OP(op,e8) { H6280_CYCLES(2); INX; } // 2 INX
|
||||
|
||||
OP(op,18) { H6280_CYCLES(2); CLC; } // 2 CLC
|
||||
OP(op,38) { H6280_CYCLES(2); SEC; } // 2 SEC
|
||||
OP(op,58) { H6280_CYCLES(2); CLI; } // 2 CLI
|
||||
OP(op,78) { H6280_CYCLES(2); SEI; } // 2 SEI
|
||||
OP(op,98) { H6280_CYCLES(2); TYA; } // 2 TYA
|
||||
OP(op,b8) { H6280_CYCLES(2); CLV; } // 2 CLV
|
||||
OP(op,d8) { H6280_CYCLES(2); CLD; } // 2 CLD
|
||||
OP(op,f8) { H6280_CYCLES(2); SED; } // 2 SED
|
||||
|
||||
OP(op,09) { int tmp; H6280_CYCLES(2); RD_IMM; ORA; } // 2 ORA IMM
|
||||
OP(op,29) { int tmp; H6280_CYCLES(2); RD_IMM; AND; } // 2 AND IMM
|
||||
OP(op,49) { int tmp; H6280_CYCLES(2); RD_IMM; EOR; } // 2 EOR IMM
|
||||
OP(op,69) { int tmp; H6280_CYCLES(2); RD_IMM; ADC; } // 2 ADC IMM
|
||||
OP(op,89) { int tmp; H6280_CYCLES(2); RD_IMM; HBIT; } // 2 BIT IMM
|
||||
OP(op,a9) { int tmp; H6280_CYCLES(2); RD_IMM; LDA; } // 2 LDA IMM
|
||||
OP(op,c9) { int tmp; H6280_CYCLES(2); RD_IMM; CMP; } // 2 CMP IMM
|
||||
OP(op,e9) { int tmp; H6280_CYCLES(2); RD_IMM; SBC; } // 2 SBC IMM
|
||||
|
||||
OP(op,19) { int tmp; H6280_CYCLES(5); RD_ABY; ORA; } // 5 ORA ABY
|
||||
OP(op,39) { int tmp; H6280_CYCLES(5); RD_ABY; AND; } // 5 AND ABY
|
||||
OP(op,59) { int tmp; H6280_CYCLES(5); RD_ABY; EOR; } // 5 EOR ABY
|
||||
OP(op,79) { int tmp; H6280_CYCLES(5); RD_ABY; ADC; } // 5 ADC ABY
|
||||
OP(op,99) { int tmp; H6280_CYCLES(5); STA; WR_ABY; } // 5 STA ABY
|
||||
OP(op,b9) { int tmp; H6280_CYCLES(5); RD_ABY; LDA; } // 5 LDA ABY
|
||||
OP(op,d9) { int tmp; H6280_CYCLES(5); RD_ABY; CMP; } // 5 CMP ABY
|
||||
OP(op,f9) { int tmp; H6280_CYCLES(5); RD_ABY; SBC; } // 5 SBC ABY
|
||||
|
||||
OP(op,0a) { int tmp; H6280_CYCLES(2); RD_ACC; ASL; WB_ACC; } // 2 ASL A
|
||||
OP(op,2a) { int tmp; H6280_CYCLES(2); RD_ACC; ROL; WB_ACC; } // 2 ROL A
|
||||
OP(op,4a) { int tmp; H6280_CYCLES(2); RD_ACC; LSR; WB_ACC; } // 2 LSR A
|
||||
OP(op,6a) { int tmp; H6280_CYCLES(2); RD_ACC; ROR; WB_ACC; } // 2 ROR A
|
||||
OP(op,8a) { H6280_CYCLES(2); TXA; } // 2 TXA
|
||||
OP(op,aa) { H6280_CYCLES(2); TAX; } // 2 TAX
|
||||
OP(op,ca) { H6280_CYCLES(2); DEX; } // 2 DEX
|
||||
OP(op,ea) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(op,1a) { H6280_CYCLES(2); INA; } // 2 INC A
|
||||
OP(op,3a) { H6280_CYCLES(2); DEA; } // 2 DEC A
|
||||
OP(op,5a) { H6280_CYCLES(3); PHY; } // 3 PHY
|
||||
OP(op,7a) { H6280_CYCLES(4); PLY; } // 4 PLY
|
||||
OP(op,9a) { H6280_CYCLES(2); TXS; } // 2 TXS
|
||||
OP(op,ba) { H6280_CYCLES(2); TSX; } // 2 TSX
|
||||
OP(op,da) { H6280_CYCLES(3); PHX; } // 3 PHX
|
||||
OP(op,fa) { H6280_CYCLES(4); PLX; } // 4 PLX
|
||||
|
||||
OP(op,0b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,2b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,4b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,6b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,8b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,ab) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,cb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,eb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(op,1b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,3b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,5b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,7b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,9b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,bb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,db) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,fb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(op,0c) { int tmp; H6280_CYCLES(7); RD_ABS; TSB; WB_EA; } // 7 TSB ABS
|
||||
OP(op,2c) { int tmp; H6280_CYCLES(5); RD_ABS; HBIT; } // 5 BIT ABS
|
||||
OP(op,4c) { H6280_CYCLES(4); EA_ABS; JMP; } // 4 JMP ABS
|
||||
OP(op,6c) { int tmp; H6280_CYCLES(7); EA_IND; JMP; } // 7 JMP IND
|
||||
OP(op,8c) { int tmp; H6280_CYCLES(5); STY; WR_ABS; } // 5 STY ABS
|
||||
OP(op,ac) { int tmp; H6280_CYCLES(5); RD_ABS; LDY; } // 5 LDY ABS
|
||||
OP(op,cc) { int tmp; H6280_CYCLES(5); RD_ABS; CPY; } // 5 CPY ABS
|
||||
OP(op,ec) { int tmp; H6280_CYCLES(5); RD_ABS; CPX; } // 5 CPX ABS
|
||||
|
||||
OP(op,1c) { int tmp; H6280_CYCLES(7); RD_ABS; TRB; WB_EA; } // 7 TRB ABS
|
||||
OP(op,3c) { int tmp; H6280_CYCLES(5); RD_ABX; HBIT; } // 5 BIT ABX
|
||||
OP(op,5c) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,7c) { int tmp; H6280_CYCLES(7); EA_IAX; JMP; } // 7 JMP IAX
|
||||
OP(op,9c) { int tmp; H6280_CYCLES(5); STZ; WR_ABS; } // 5 STZ ABS
|
||||
OP(op,bc) { int tmp; H6280_CYCLES(5); RD_ABX; LDY; } // 5 LDY ABX
|
||||
OP(op,dc) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(op,fc) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(op,0d) { int tmp; H6280_CYCLES(5); RD_ABS; ORA; } // 5 ORA ABS
|
||||
OP(op,2d) { int tmp; H6280_CYCLES(5); RD_ABS; AND; } // 5 AND ABS
|
||||
OP(op,4d) { int tmp; H6280_CYCLES(5); RD_ABS; EOR; } // 5 EOR ABS
|
||||
OP(op,6d) { int tmp; H6280_CYCLES(5); RD_ABS; ADC; } // 5 ADC ABS
|
||||
OP(op,8d) { int tmp; H6280_CYCLES(5); STA; WR_ABS; } // 5 STA ABS
|
||||
OP(op,ad) { int tmp; H6280_CYCLES(5); RD_ABS; LDA; } // 5 LDA ABS
|
||||
OP(op,cd) { int tmp; H6280_CYCLES(5); RD_ABS; CMP; } // 5 CMP ABS
|
||||
OP(op,ed) { int tmp; H6280_CYCLES(5); RD_ABS; SBC; } // 5 SBC ABS
|
||||
|
||||
OP(op,1d) { int tmp; H6280_CYCLES(5); RD_ABX; ORA; } // 5 ORA ABX
|
||||
OP(op,3d) { int tmp; H6280_CYCLES(5); RD_ABX; AND; } // 5 AND ABX
|
||||
OP(op,5d) { int tmp; H6280_CYCLES(5); RD_ABX; EOR; } // 5 EOR ABX
|
||||
OP(op,7d) { int tmp; H6280_CYCLES(5); RD_ABX; ADC; } // 5 ADC ABX
|
||||
OP(op,9d) { int tmp; H6280_CYCLES(5); STA; WR_ABX; } // 5 STA ABX
|
||||
OP(op,bd) { int tmp; H6280_CYCLES(5); RD_ABX; LDA; } // 5 LDA ABX
|
||||
OP(op,dd) { int tmp; H6280_CYCLES(5); RD_ABX; CMP; } // 5 CMP ABX
|
||||
OP(op,fd) { int tmp; H6280_CYCLES(5); RD_ABX; SBC; } // 5 SBC ABX
|
||||
|
||||
OP(op,0e) { int tmp; H6280_CYCLES(7); RD_ABS; ASL; WB_EA; } // 7 ASL ABS
|
||||
OP(op,2e) { int tmp; H6280_CYCLES(7); RD_ABS; ROL; WB_EA; } // 7 ROL ABS
|
||||
OP(op,4e) { int tmp; H6280_CYCLES(7); RD_ABS; LSR; WB_EA; } // 7 LSR ABS
|
||||
OP(op,6e) { int tmp; H6280_CYCLES(7); RD_ABS; ROR; WB_EA; } // 7 ROR ABS
|
||||
OP(op,8e) { int tmp; H6280_CYCLES(5); STX; WR_ABS; } // 5 STX ABS
|
||||
OP(op,ae) { int tmp; H6280_CYCLES(5); RD_ABS; LDX; } // 5 LDX ABS
|
||||
OP(op,ce) { int tmp; H6280_CYCLES(7); RD_ABS; DEC; WB_EA; } // 7 DEC ABS
|
||||
OP(op,ee) { int tmp; H6280_CYCLES(7); RD_ABS; INC; WB_EA; } // 7 INC ABS
|
||||
|
||||
OP(op,1e) { int tmp; H6280_CYCLES(7); RD_ABX; ASL; WB_EA; } // 7 ASL ABX
|
||||
OP(op,3e) { int tmp; H6280_CYCLES(7); RD_ABX; ROL; WB_EA; } // 7 ROL ABX
|
||||
OP(op,5e) { int tmp; H6280_CYCLES(7); RD_ABX; LSR; WB_EA; } // 7 LSR ABX
|
||||
OP(op,7e) { int tmp; H6280_CYCLES(7); RD_ABX; ROR; WB_EA; } // 7 ROR ABX
|
||||
OP(op,9e) { int tmp; H6280_CYCLES(5); STZ; WR_ABX; } // 5 STZ ABX
|
||||
OP(op,be) { int tmp; H6280_CYCLES(5); RD_ABY; LDX; } // 5 LDX ABY
|
||||
OP(op,de) { int tmp; H6280_CYCLES(7); RD_ABX; DEC; WB_EA; } // 7 DEC ABX
|
||||
OP(op,fe) { int tmp; H6280_CYCLES(7); RD_ABX; INC; WB_EA; } // 7 INC ABX
|
||||
|
||||
OP(op,0f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(0); } // 6/8 BBR0 ZPG,REL
|
||||
OP(op,2f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(2); } // 6/8 BBR2 ZPG,REL
|
||||
OP(op,4f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(4); } // 6/8 BBR4 ZPG,REL
|
||||
OP(op,6f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(6); } // 6/8 BBR6 ZPG,REL
|
||||
OP(op,8f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(0); } // 6/8 BBS0 ZPG,REL
|
||||
OP(op,af) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(2); } // 6/8 BBS2 ZPG,REL
|
||||
OP(op,cf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(4); } // 6/8 BBS4 ZPG,REL
|
||||
OP(op,ef) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(6); } // 6/8 BBS6 ZPG,REL
|
||||
|
||||
OP(op,1f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(1); } // 6/8 BBR1 ZPG,REL
|
||||
OP(op,3f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(3); } // 6/8 BBR3 ZPG,REL
|
||||
OP(op,5f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(5); } // 6/8 BBR5 ZPG,REL
|
||||
OP(op,7f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(7); } // 6/8 BBR7 ZPG,REL
|
||||
OP(op,9f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(1); } // 6/8 BBS1 ZPG,REL
|
||||
OP(op,bf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(3); } // 6/8 BBS3 ZPG,REL
|
||||
OP(op,df) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(5); } // 6/8 BBS5 ZPG,REL
|
||||
OP(op,ff) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(7); } // 6/8 BBS7 ZPG,REL
|
||||
|
||||
//-------------------------------------------------
|
||||
// state_string_export - export state as a string
|
||||
|
@ -45,13 +45,6 @@ enum
|
||||
H6280_M8
|
||||
};
|
||||
|
||||
#define H6280_RESET_VEC 0xfffe
|
||||
#define H6280_NMI_VEC 0xfffc
|
||||
#define H6280_TIMER_VEC 0xfffa
|
||||
#define H6280_IRQ1_VEC 0xfff8
|
||||
#define H6280_IRQ2_VEC 0xfff6 /* Aka BRK vector */
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -115,11 +108,83 @@ protected:
|
||||
UINT8 read_opcode();
|
||||
UINT8 read_opcode_arg();
|
||||
|
||||
// include the macros
|
||||
#include "h6280ops.h"
|
||||
#undef PROTOTYPES
|
||||
#define PROTOTYPES(prefix) \
|
||||
void prefix##_00(); void prefix##_01(); void prefix##_02(); void prefix##_03(); \
|
||||
void prefix##_04(); void prefix##_05(); void prefix##_06(); void prefix##_07(); \
|
||||
void prefix##_08(); void prefix##_09(); void prefix##_0a(); void prefix##_0b(); \
|
||||
void prefix##_0c(); void prefix##_0d(); void prefix##_0e(); void prefix##_0f(); \
|
||||
void prefix##_10(); void prefix##_11(); void prefix##_12(); void prefix##_13(); \
|
||||
void prefix##_14(); void prefix##_15(); void prefix##_16(); void prefix##_17(); \
|
||||
void prefix##_18(); void prefix##_19(); void prefix##_1a(); void prefix##_1b(); \
|
||||
void prefix##_1c(); void prefix##_1d(); void prefix##_1e(); void prefix##_1f(); \
|
||||
void prefix##_20(); void prefix##_21(); void prefix##_22(); void prefix##_23(); \
|
||||
void prefix##_24(); void prefix##_25(); void prefix##_26(); void prefix##_27(); \
|
||||
void prefix##_28(); void prefix##_29(); void prefix##_2a(); void prefix##_2b(); \
|
||||
void prefix##_2c(); void prefix##_2d(); void prefix##_2e(); void prefix##_2f(); \
|
||||
void prefix##_30(); void prefix##_31(); void prefix##_32(); void prefix##_33(); \
|
||||
void prefix##_34(); void prefix##_35(); void prefix##_36(); void prefix##_37(); \
|
||||
void prefix##_38(); void prefix##_39(); void prefix##_3a(); void prefix##_3b(); \
|
||||
void prefix##_3c(); void prefix##_3d(); void prefix##_3e(); void prefix##_3f(); \
|
||||
void prefix##_40(); void prefix##_41(); void prefix##_42(); void prefix##_43(); \
|
||||
void prefix##_44(); void prefix##_45(); void prefix##_46(); void prefix##_47(); \
|
||||
void prefix##_48(); void prefix##_49(); void prefix##_4a(); void prefix##_4b(); \
|
||||
void prefix##_4c(); void prefix##_4d(); void prefix##_4e(); void prefix##_4f(); \
|
||||
void prefix##_50(); void prefix##_51(); void prefix##_52(); void prefix##_53(); \
|
||||
void prefix##_54(); void prefix##_55(); void prefix##_56(); void prefix##_57(); \
|
||||
void prefix##_58(); void prefix##_59(); void prefix##_5a(); void prefix##_5b(); \
|
||||
void prefix##_5c(); void prefix##_5d(); void prefix##_5e(); void prefix##_5f(); \
|
||||
void prefix##_60(); void prefix##_61(); void prefix##_62(); void prefix##_63(); \
|
||||
void prefix##_64(); void prefix##_65(); void prefix##_66(); void prefix##_67(); \
|
||||
void prefix##_68(); void prefix##_69(); void prefix##_6a(); void prefix##_6b(); \
|
||||
void prefix##_6c(); void prefix##_6d(); void prefix##_6e(); void prefix##_6f(); \
|
||||
void prefix##_70(); void prefix##_71(); void prefix##_72(); void prefix##_73(); \
|
||||
void prefix##_74(); void prefix##_75(); void prefix##_76(); void prefix##_77(); \
|
||||
void prefix##_78(); void prefix##_79(); void prefix##_7a(); void prefix##_7b(); \
|
||||
void prefix##_7c(); void prefix##_7d(); void prefix##_7e(); void prefix##_7f(); \
|
||||
void prefix##_80(); void prefix##_81(); void prefix##_82(); void prefix##_83(); \
|
||||
void prefix##_84(); void prefix##_85(); void prefix##_86(); void prefix##_87(); \
|
||||
void prefix##_88(); void prefix##_89(); void prefix##_8a(); void prefix##_8b(); \
|
||||
void prefix##_8c(); void prefix##_8d(); void prefix##_8e(); void prefix##_8f(); \
|
||||
void prefix##_90(); void prefix##_91(); void prefix##_92(); void prefix##_93(); \
|
||||
void prefix##_94(); void prefix##_95(); void prefix##_96(); void prefix##_97(); \
|
||||
void prefix##_98(); void prefix##_99(); void prefix##_9a(); void prefix##_9b(); \
|
||||
void prefix##_9c(); void prefix##_9d(); void prefix##_9e(); void prefix##_9f(); \
|
||||
void prefix##_a0(); void prefix##_a1(); void prefix##_a2(); void prefix##_a3(); \
|
||||
void prefix##_a4(); void prefix##_a5(); void prefix##_a6(); void prefix##_a7(); \
|
||||
void prefix##_a8(); void prefix##_a9(); void prefix##_aa(); void prefix##_ab(); \
|
||||
void prefix##_ac(); void prefix##_ad(); void prefix##_ae(); void prefix##_af(); \
|
||||
void prefix##_b0(); void prefix##_b1(); void prefix##_b2(); void prefix##_b3(); \
|
||||
void prefix##_b4(); void prefix##_b5(); void prefix##_b6(); void prefix##_b7(); \
|
||||
void prefix##_b8(); void prefix##_b9(); void prefix##_ba(); void prefix##_bb(); \
|
||||
void prefix##_bc(); void prefix##_bd(); void prefix##_be(); void prefix##_bf(); \
|
||||
void prefix##_c0(); void prefix##_c1(); void prefix##_c2(); void prefix##_c3(); \
|
||||
void prefix##_c4(); void prefix##_c5(); void prefix##_c6(); void prefix##_c7(); \
|
||||
void prefix##_c8(); void prefix##_c9(); void prefix##_ca(); void prefix##_cb(); \
|
||||
void prefix##_cc(); void prefix##_cd(); void prefix##_ce(); void prefix##_cf(); \
|
||||
void prefix##_d0(); void prefix##_d1(); void prefix##_d2(); void prefix##_d3(); \
|
||||
void prefix##_d4(); void prefix##_d5(); void prefix##_d6(); void prefix##_d7(); \
|
||||
void prefix##_d8(); void prefix##_d9(); void prefix##_da(); void prefix##_db(); \
|
||||
void prefix##_dc(); void prefix##_dd(); void prefix##_de(); void prefix##_df(); \
|
||||
void prefix##_e0(); void prefix##_e1(); void prefix##_e2(); void prefix##_e3(); \
|
||||
void prefix##_e4(); void prefix##_e5(); void prefix##_e6(); void prefix##_e7(); \
|
||||
void prefix##_e8(); void prefix##_e9(); void prefix##_ea(); void prefix##_eb(); \
|
||||
void prefix##_ec(); void prefix##_ed(); void prefix##_ee(); void prefix##_ef(); \
|
||||
void prefix##_f0(); void prefix##_f1(); void prefix##_f2(); void prefix##_f3(); \
|
||||
void prefix##_f4(); void prefix##_f5(); void prefix##_f6(); void prefix##_f7(); \
|
||||
void prefix##_f8(); void prefix##_f9(); void prefix##_fa(); void prefix##_fb(); \
|
||||
void prefix##_fc(); void prefix##_fd(); void prefix##_fe(); void prefix##_ff();
|
||||
|
||||
// include the opcode macros and functions
|
||||
#include "tblh6280.inc"
|
||||
PROTOTYPES(op);
|
||||
|
||||
enum
|
||||
{
|
||||
H6280_RESET_VEC = 0xfffe,
|
||||
H6280_NMI_VEC = 0xfffc,
|
||||
H6280_TIMER_VEC = 0xfffa,
|
||||
H6280_IRQ1_VEC = 0xfff8,
|
||||
H6280_IRQ2_VEC = 0xfff6 /* Aka BRK vector */
|
||||
};
|
||||
|
||||
// address spaces
|
||||
const address_space_config m_program_config;
|
||||
|
@ -1,309 +0,0 @@
|
||||
/*****************************************************************************
|
||||
|
||||
tblh6280.c
|
||||
|
||||
Copyright Bryan McPhail, mish@tendril.co.uk
|
||||
|
||||
This source code is based (with permission!) on the 6502 emulator by
|
||||
Juergen Buchmueller. It is released as part of the Mame emulator project.
|
||||
Let me know if you intend to use this code in any other project.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#undef OP
|
||||
#define OP(nnn) inline void op##nnn()
|
||||
|
||||
/*****************************************************************************
|
||||
*****************************************************************************
|
||||
*
|
||||
* Hu6280 opcodes
|
||||
*
|
||||
*****************************************************************************
|
||||
* op temp cycles rdmem opc wrmem ******************/
|
||||
OP(_000) { H6280_CYCLES(8); BRK; } // 8 BRK
|
||||
OP(_020) { H6280_CYCLES(7); EA_ABS; JSR; } // 7 JSR ABS
|
||||
OP(_040) { H6280_CYCLES(7); RTI; } // 7 RTI
|
||||
OP(_060) { H6280_CYCLES(7); RTS; } // 7 RTS
|
||||
OP(_080) { int tmp; BRA(1); } // 4 BRA REL
|
||||
OP(_0a0) { int tmp; H6280_CYCLES(2); RD_IMM; LDY; } // 2 LDY IMM
|
||||
OP(_0c0) { int tmp; H6280_CYCLES(2); RD_IMM; CPY; } // 2 CPY IMM
|
||||
OP(_0e0) { int tmp; H6280_CYCLES(2); RD_IMM; CPX; } // 2 CPX IMM
|
||||
|
||||
OP(_010) { int tmp; BPL; } // 2/4 BPL REL
|
||||
OP(_030) { int tmp; BMI; } // 2/4 BMI REL
|
||||
OP(_050) { int tmp; BVC; } // 2/4 BVC REL
|
||||
OP(_070) { int tmp; BVS; } // 2/4 BVS REL
|
||||
OP(_090) { int tmp; BCC; } // 2/4 BCC REL
|
||||
OP(_0b0) { int tmp; BCS; } // 2/4 BCS REL
|
||||
OP(_0d0) { int tmp; BNE; } // 2/4 BNE REL
|
||||
OP(_0f0) { int tmp; BEQ; } // 2/4 BEQ REL
|
||||
|
||||
OP(_001) { int tmp; H6280_CYCLES(7); RD_IDX; ORA; } // 7 ORA IDX
|
||||
OP(_021) { int tmp; H6280_CYCLES(7); RD_IDX; AND; } // 7 AND IDX
|
||||
OP(_041) { int tmp; H6280_CYCLES(7); RD_IDX; EOR; } // 7 EOR IDX
|
||||
OP(_061) { int tmp; H6280_CYCLES(7); RD_IDX; ADC; } // 7 ADC IDX
|
||||
OP(_081) { int tmp; H6280_CYCLES(7); STA; WR_IDX; } // 7 STA IDX
|
||||
OP(_0a1) { int tmp; H6280_CYCLES(7); RD_IDX; LDA; } // 7 LDA IDX
|
||||
OP(_0c1) { int tmp; H6280_CYCLES(7); RD_IDX; CMP; } // 7 CMP IDX
|
||||
OP(_0e1) { int tmp; H6280_CYCLES(7); RD_IDX; SBC; } // 7 SBC IDX
|
||||
|
||||
OP(_011) { int tmp; H6280_CYCLES(7); RD_IDY; ORA; } // 7 ORA IDY
|
||||
OP(_031) { int tmp; H6280_CYCLES(7); RD_IDY; AND; } // 7 AND IDY
|
||||
OP(_051) { int tmp; H6280_CYCLES(7); RD_IDY; EOR; } // 7 EOR IDY
|
||||
OP(_071) { int tmp; H6280_CYCLES(7); RD_IDY; ADC; } // 7 ADC AZP
|
||||
OP(_091) { int tmp; H6280_CYCLES(7); STA; WR_IDY; } // 7 STA IDY
|
||||
OP(_0b1) { int tmp; H6280_CYCLES(7); RD_IDY; LDA; } // 7 LDA IDY
|
||||
OP(_0d1) { int tmp; H6280_CYCLES(7); RD_IDY; CMP; } // 7 CMP IDY
|
||||
OP(_0f1) { int tmp; H6280_CYCLES(7); RD_IDY; SBC; } // 7 SBC IDY
|
||||
|
||||
OP(_002) { int tmp; H6280_CYCLES(3); SXY; } // 3 SXY
|
||||
OP(_022) { int tmp; H6280_CYCLES(3); SAX; } // 3 SAX
|
||||
OP(_042) { int tmp; H6280_CYCLES(3); SAY; } // 3 SAY
|
||||
OP(_062) { H6280_CYCLES(2); CLA; } // 2 CLA
|
||||
OP(_082) { H6280_CYCLES(2); CLX; } // 2 CLX
|
||||
OP(_0a2) { int tmp; H6280_CYCLES(2); RD_IMM; LDX; } // 2 LDX IMM
|
||||
OP(_0c2) { H6280_CYCLES(2); CLY; } // 2 CLY
|
||||
OP(_0e2) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(_012) { int tmp; H6280_CYCLES(7); RD_ZPI; ORA; } // 7 ORA ZPI
|
||||
OP(_032) { int tmp; H6280_CYCLES(7); RD_ZPI; AND; } // 7 AND ZPI
|
||||
OP(_052) { int tmp; H6280_CYCLES(7); RD_ZPI; EOR; } // 7 EOR ZPI
|
||||
OP(_072) { int tmp; H6280_CYCLES(7); RD_ZPI; ADC; } // 7 ADC ZPI
|
||||
OP(_092) { int tmp; H6280_CYCLES(7); STA; WR_ZPI; } // 7 STA ZPI
|
||||
OP(_0b2) { int tmp; H6280_CYCLES(7); RD_ZPI; LDA; } // 7 LDA ZPI
|
||||
OP(_0d2) { int tmp; H6280_CYCLES(7); RD_ZPI; CMP; } // 7 CMP ZPI
|
||||
OP(_0f2) { int tmp; H6280_CYCLES(7); RD_ZPI; SBC; } // 7 SBC ZPI
|
||||
|
||||
OP(_003) { int tmp; H6280_CYCLES(5); RD_IMM; ST0; } // 4 + 1 penalty cycle ST0 IMM
|
||||
OP(_023) { int tmp; H6280_CYCLES(5); RD_IMM; ST2; } // 4 + 1 penalty cycle ST2 IMM
|
||||
OP(_043) { int tmp; H6280_CYCLES(4); RD_IMM; TMA; } // 4 TMA
|
||||
OP(_063) { H6280_CYCLES(4); NOP; } // 2 NOP
|
||||
OP(_083) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPG; TST; } // 7 TST IMM,ZPG
|
||||
OP(_0a3) { int tmp,tmp2; H6280_CYCLES(7); RD_IMM2; RD_ZPX; TST; } // 7 TST IMM,ZPX
|
||||
OP(_0c3) { int to,from,length; TDD; } // 6*l+17 TDD XFER
|
||||
OP(_0e3) { int to,from,length,alternate; TIA; } // 6*l+17 TIA XFER
|
||||
|
||||
OP(_013) { int tmp; H6280_CYCLES(5); RD_IMM; ST1; } // 4 + 1 penalty cycle ST1
|
||||
OP(_033) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_053) { int tmp; H6280_CYCLES(5); RD_IMM; TAM; } // 5 TAM IMM
|
||||
OP(_073) { int to,from,length; TII; } // 6*l+17 TII XFER
|
||||
OP(_093) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABS; TST; } // 8 TST IMM,ABS
|
||||
OP(_0b3) { int tmp,tmp2; H6280_CYCLES(8); RD_IMM2; RD_ABX; TST; } // 8 TST IMM,ABX
|
||||
OP(_0d3) { int to,from,length; TIN; } // 6*l+17 TIN XFER
|
||||
OP(_0f3) { int to,from,length,alternate; TAI; } // 6*l+17 TAI XFER
|
||||
|
||||
OP(_004) { int tmp; H6280_CYCLES(6); RD_ZPG; TSB; WB_EAZ; } // 6 TSB ZPG
|
||||
OP(_024) { int tmp; H6280_CYCLES(4); RD_ZPG; HBIT; } // 4 BIT ZPG
|
||||
OP(_044) { int tmp; BSR; } // 8 BSR REL
|
||||
OP(_064) { int tmp; H6280_CYCLES(4); STZ; WR_ZPG; } // 4 STZ ZPG
|
||||
OP(_084) { int tmp; H6280_CYCLES(4); STY; WR_ZPG; } // 4 STY ZPG
|
||||
OP(_0a4) { int tmp; H6280_CYCLES(4); RD_ZPG; LDY; } // 4 LDY ZPG
|
||||
OP(_0c4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPY; } // 4 CPY ZPG
|
||||
OP(_0e4) { int tmp; H6280_CYCLES(4); RD_ZPG; CPX; } // 4 CPX ZPG
|
||||
|
||||
OP(_014) { int tmp; H6280_CYCLES(6); RD_ZPG; TRB; WB_EAZ; } // 6 TRB ZPG
|
||||
OP(_034) { int tmp; H6280_CYCLES(4); RD_ZPX; HBIT; } // 4 BIT ZPX
|
||||
OP(_054) { H6280_CYCLES(3); CSL; } // 3 CSL
|
||||
OP(_074) { int tmp; H6280_CYCLES(4); STZ; WR_ZPX; } // 4 STZ ZPX
|
||||
OP(_094) { int tmp; H6280_CYCLES(4); STY; WR_ZPX; } // 4 STY ZPX
|
||||
OP(_0b4) { int tmp; H6280_CYCLES(4); RD_ZPX; LDY; } // 4 LDY ZPX
|
||||
OP(_0d4) { H6280_CYCLES(3); CSH; } // 3 CSH
|
||||
OP(_0f4) { H6280_CYCLES(2); SET; } // 2 SET
|
||||
|
||||
OP(_005) { int tmp; H6280_CYCLES(4); RD_ZPG; ORA; } // 4 ORA ZPG
|
||||
OP(_025) { int tmp; H6280_CYCLES(4); RD_ZPG; AND; } // 4 AND ZPG
|
||||
OP(_045) { int tmp; H6280_CYCLES(4); RD_ZPG; EOR; } // 4 EOR ZPG
|
||||
OP(_065) { int tmp; H6280_CYCLES(4); RD_ZPG; ADC; } // 4 ADC ZPG
|
||||
OP(_085) { int tmp; H6280_CYCLES(4); STA; WR_ZPG; } // 4 STA ZPG
|
||||
OP(_0a5) { int tmp; H6280_CYCLES(4); RD_ZPG; LDA; } // 4 LDA ZPG
|
||||
OP(_0c5) { int tmp; H6280_CYCLES(4); RD_ZPG; CMP; } // 4 CMP ZPG
|
||||
OP(_0e5) { int tmp; H6280_CYCLES(4); RD_ZPG; SBC; } // 4 SBC ZPG
|
||||
|
||||
OP(_015) { int tmp; H6280_CYCLES(4); RD_ZPX; ORA; } // 4 ORA ZPX
|
||||
OP(_035) { int tmp; H6280_CYCLES(4); RD_ZPX; AND; } // 4 AND ZPX
|
||||
OP(_055) { int tmp; H6280_CYCLES(4); RD_ZPX; EOR; } // 4 EOR ZPX
|
||||
OP(_075) { int tmp; H6280_CYCLES(4); RD_ZPX; ADC; } // 4 ADC ZPX
|
||||
OP(_095) { int tmp; H6280_CYCLES(4); STA; WR_ZPX; } // 4 STA ZPX
|
||||
OP(_0b5) { int tmp; H6280_CYCLES(4); RD_ZPX; LDA; } // 4 LDA ZPX
|
||||
OP(_0d5) { int tmp; H6280_CYCLES(4); RD_ZPX; CMP; } // 4 CMP ZPX
|
||||
OP(_0f5) { int tmp; H6280_CYCLES(4); RD_ZPX; SBC; } // 4 SBC ZPX
|
||||
|
||||
OP(_006) { int tmp; H6280_CYCLES(6); RD_ZPG; ASL; WB_EAZ; } // 6 ASL ZPG
|
||||
OP(_026) { int tmp; H6280_CYCLES(6); RD_ZPG; ROL; WB_EAZ; } // 6 ROL ZPG
|
||||
OP(_046) { int tmp; H6280_CYCLES(6); RD_ZPG; LSR; WB_EAZ; } // 6 LSR ZPG
|
||||
OP(_066) { int tmp; H6280_CYCLES(6); RD_ZPG; ROR; WB_EAZ; } // 6 ROR ZPG
|
||||
OP(_086) { int tmp; H6280_CYCLES(4); STX; WR_ZPG; } // 4 STX ZPG
|
||||
OP(_0a6) { int tmp; H6280_CYCLES(4); RD_ZPG; LDX; } // 4 LDX ZPG
|
||||
OP(_0c6) { int tmp; H6280_CYCLES(6); RD_ZPG; DEC; WB_EAZ; } // 6 DEC ZPG
|
||||
OP(_0e6) { int tmp; H6280_CYCLES(6); RD_ZPG; INC; WB_EAZ; } // 6 INC ZPG
|
||||
|
||||
OP(_016) { int tmp; H6280_CYCLES(6); RD_ZPX; ASL; WB_EAZ; } // 6 ASL ZPX
|
||||
OP(_036) { int tmp; H6280_CYCLES(6); RD_ZPX; ROL; WB_EAZ; } // 6 ROL ZPX
|
||||
OP(_056) { int tmp; H6280_CYCLES(6); RD_ZPX; LSR; WB_EAZ; } // 6 LSR ZPX
|
||||
OP(_076) { int tmp; H6280_CYCLES(6); RD_ZPX; ROR; WB_EAZ; } // 6 ROR ZPX
|
||||
OP(_096) { int tmp; H6280_CYCLES(4); STX; WR_ZPY; } // 4 STX ZPY
|
||||
OP(_0b6) { int tmp; H6280_CYCLES(4); RD_ZPY; LDX; } // 4 LDX ZPY
|
||||
OP(_0d6) { int tmp; H6280_CYCLES(6); RD_ZPX; DEC; WB_EAZ; } // 6 DEC ZPX
|
||||
OP(_0f6) { int tmp; H6280_CYCLES(6); RD_ZPX; INC; WB_EAZ; } // 6 INC ZPX
|
||||
|
||||
OP(_007) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(0);WB_EAZ;} // 7 RMB0 ZPG
|
||||
OP(_027) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(2);WB_EAZ;} // 7 RMB2 ZPG
|
||||
OP(_047) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(4);WB_EAZ;} // 7 RMB4 ZPG
|
||||
OP(_067) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(6);WB_EAZ;} // 7 RMB6 ZPG
|
||||
OP(_087) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(0);WB_EAZ;} // 7 SMB0 ZPG
|
||||
OP(_0a7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(2);WB_EAZ;} // 7 SMB2 ZPG
|
||||
OP(_0c7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(4);WB_EAZ;} // 7 SMB4 ZPG
|
||||
OP(_0e7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(6);WB_EAZ;} // 7 SMB6 ZPG
|
||||
|
||||
OP(_017) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(1);WB_EAZ;} // 7 RMB1 ZPG
|
||||
OP(_037) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(3);WB_EAZ;} // 7 RMB3 ZPG
|
||||
OP(_057) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(5);WB_EAZ;} // 7 RMB5 ZPG
|
||||
OP(_077) { int tmp; H6280_CYCLES(7); RD_ZPG; RMB(7);WB_EAZ;} // 7 RMB7 ZPG
|
||||
OP(_097) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(1);WB_EAZ;} // 7 SMB1 ZPG
|
||||
OP(_0b7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(3);WB_EAZ;} // 7 SMB3 ZPG
|
||||
OP(_0d7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(5);WB_EAZ;} // 7 SMB5 ZPG
|
||||
OP(_0f7) { int tmp; H6280_CYCLES(7); RD_ZPG; SMB(7);WB_EAZ;} // 7 SMB7 ZPG
|
||||
|
||||
OP(_008) { H6280_CYCLES(3); PHP; } // 3 PHP
|
||||
OP(_028) { H6280_CYCLES(4); PLP; } // 4 PLP
|
||||
OP(_048) { H6280_CYCLES(3); PHA; } // 3 PHA
|
||||
OP(_068) { H6280_CYCLES(4); PLA; } // 4 PLA
|
||||
OP(_088) { H6280_CYCLES(2); DEY; } // 2 DEY
|
||||
OP(_0a8) { H6280_CYCLES(2); TAY; } // 2 TAY
|
||||
OP(_0c8) { H6280_CYCLES(2); INY; } // 2 INY
|
||||
OP(_0e8) { H6280_CYCLES(2); INX; } // 2 INX
|
||||
|
||||
OP(_018) { H6280_CYCLES(2); CLC; } // 2 CLC
|
||||
OP(_038) { H6280_CYCLES(2); SEC; } // 2 SEC
|
||||
OP(_058) { H6280_CYCLES(2); CLI; } // 2 CLI
|
||||
OP(_078) { H6280_CYCLES(2); SEI; } // 2 SEI
|
||||
OP(_098) { H6280_CYCLES(2); TYA; } // 2 TYA
|
||||
OP(_0b8) { H6280_CYCLES(2); CLV; } // 2 CLV
|
||||
OP(_0d8) { H6280_CYCLES(2); CLD; } // 2 CLD
|
||||
OP(_0f8) { H6280_CYCLES(2); SED; } // 2 SED
|
||||
|
||||
OP(_009) { int tmp; H6280_CYCLES(2); RD_IMM; ORA; } // 2 ORA IMM
|
||||
OP(_029) { int tmp; H6280_CYCLES(2); RD_IMM; AND; } // 2 AND IMM
|
||||
OP(_049) { int tmp; H6280_CYCLES(2); RD_IMM; EOR; } // 2 EOR IMM
|
||||
OP(_069) { int tmp; H6280_CYCLES(2); RD_IMM; ADC; } // 2 ADC IMM
|
||||
OP(_089) { int tmp; H6280_CYCLES(2); RD_IMM; HBIT; } // 2 BIT IMM
|
||||
OP(_0a9) { int tmp; H6280_CYCLES(2); RD_IMM; LDA; } // 2 LDA IMM
|
||||
OP(_0c9) { int tmp; H6280_CYCLES(2); RD_IMM; CMP; } // 2 CMP IMM
|
||||
OP(_0e9) { int tmp; H6280_CYCLES(2); RD_IMM; SBC; } // 2 SBC IMM
|
||||
|
||||
OP(_019) { int tmp; H6280_CYCLES(5); RD_ABY; ORA; } // 5 ORA ABY
|
||||
OP(_039) { int tmp; H6280_CYCLES(5); RD_ABY; AND; } // 5 AND ABY
|
||||
OP(_059) { int tmp; H6280_CYCLES(5); RD_ABY; EOR; } // 5 EOR ABY
|
||||
OP(_079) { int tmp; H6280_CYCLES(5); RD_ABY; ADC; } // 5 ADC ABY
|
||||
OP(_099) { int tmp; H6280_CYCLES(5); STA; WR_ABY; } // 5 STA ABY
|
||||
OP(_0b9) { int tmp; H6280_CYCLES(5); RD_ABY; LDA; } // 5 LDA ABY
|
||||
OP(_0d9) { int tmp; H6280_CYCLES(5); RD_ABY; CMP; } // 5 CMP ABY
|
||||
OP(_0f9) { int tmp; H6280_CYCLES(5); RD_ABY; SBC; } // 5 SBC ABY
|
||||
|
||||
OP(_00a) { int tmp; H6280_CYCLES(2); RD_ACC; ASL; WB_ACC; } // 2 ASL A
|
||||
OP(_02a) { int tmp; H6280_CYCLES(2); RD_ACC; ROL; WB_ACC; } // 2 ROL A
|
||||
OP(_04a) { int tmp; H6280_CYCLES(2); RD_ACC; LSR; WB_ACC; } // 2 LSR A
|
||||
OP(_06a) { int tmp; H6280_CYCLES(2); RD_ACC; ROR; WB_ACC; } // 2 ROR A
|
||||
OP(_08a) { H6280_CYCLES(2); TXA; } // 2 TXA
|
||||
OP(_0aa) { H6280_CYCLES(2); TAX; } // 2 TAX
|
||||
OP(_0ca) { H6280_CYCLES(2); DEX; } // 2 DEX
|
||||
OP(_0ea) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(_01a) { H6280_CYCLES(2); INA; } // 2 INC A
|
||||
OP(_03a) { H6280_CYCLES(2); DEA; } // 2 DEC A
|
||||
OP(_05a) { H6280_CYCLES(3); PHY; } // 3 PHY
|
||||
OP(_07a) { H6280_CYCLES(4); PLY; } // 4 PLY
|
||||
OP(_09a) { H6280_CYCLES(2); TXS; } // 2 TXS
|
||||
OP(_0ba) { H6280_CYCLES(2); TSX; } // 2 TSX
|
||||
OP(_0da) { H6280_CYCLES(3); PHX; } // 3 PHX
|
||||
OP(_0fa) { H6280_CYCLES(4); PLX; } // 4 PLX
|
||||
|
||||
OP(_00b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_02b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_04b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_06b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_08b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0ab) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0cb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0eb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(_01b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_03b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_05b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_07b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_09b) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0bb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0db) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0fb) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(_00c) { int tmp; H6280_CYCLES(7); RD_ABS; TSB; WB_EA; } // 7 TSB ABS
|
||||
OP(_02c) { int tmp; H6280_CYCLES(5); RD_ABS; HBIT; } // 5 BIT ABS
|
||||
OP(_04c) { H6280_CYCLES(4); EA_ABS; JMP; } // 4 JMP ABS
|
||||
OP(_06c) { int tmp; H6280_CYCLES(7); EA_IND; JMP; } // 7 JMP IND
|
||||
OP(_08c) { int tmp; H6280_CYCLES(5); STY; WR_ABS; } // 5 STY ABS
|
||||
OP(_0ac) { int tmp; H6280_CYCLES(5); RD_ABS; LDY; } // 5 LDY ABS
|
||||
OP(_0cc) { int tmp; H6280_CYCLES(5); RD_ABS; CPY; } // 5 CPY ABS
|
||||
OP(_0ec) { int tmp; H6280_CYCLES(5); RD_ABS; CPX; } // 5 CPX ABS
|
||||
|
||||
OP(_01c) { int tmp; H6280_CYCLES(7); RD_ABS; TRB; WB_EA; } // 7 TRB ABS
|
||||
OP(_03c) { int tmp; H6280_CYCLES(5); RD_ABX; HBIT; } // 5 BIT ABX
|
||||
OP(_05c) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_07c) { int tmp; H6280_CYCLES(7); EA_IAX; JMP; } // 7 JMP IAX
|
||||
OP(_09c) { int tmp; H6280_CYCLES(5); STZ; WR_ABS; } // 5 STZ ABS
|
||||
OP(_0bc) { int tmp; H6280_CYCLES(5); RD_ABX; LDY; } // 5 LDY ABX
|
||||
OP(_0dc) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
OP(_0fc) { H6280_CYCLES(2); NOP; } // 2 NOP
|
||||
|
||||
OP(_00d) { int tmp; H6280_CYCLES(5); RD_ABS; ORA; } // 5 ORA ABS
|
||||
OP(_02d) { int tmp; H6280_CYCLES(5); RD_ABS; AND; } // 5 AND ABS
|
||||
OP(_04d) { int tmp; H6280_CYCLES(5); RD_ABS; EOR; } // 5 EOR ABS
|
||||
OP(_06d) { int tmp; H6280_CYCLES(5); RD_ABS; ADC; } // 5 ADC ABS
|
||||
OP(_08d) { int tmp; H6280_CYCLES(5); STA; WR_ABS; } // 5 STA ABS
|
||||
OP(_0ad) { int tmp; H6280_CYCLES(5); RD_ABS; LDA; } // 5 LDA ABS
|
||||
OP(_0cd) { int tmp; H6280_CYCLES(5); RD_ABS; CMP; } // 5 CMP ABS
|
||||
OP(_0ed) { int tmp; H6280_CYCLES(5); RD_ABS; SBC; } // 5 SBC ABS
|
||||
|
||||
OP(_01d) { int tmp; H6280_CYCLES(5); RD_ABX; ORA; } // 5 ORA ABX
|
||||
OP(_03d) { int tmp; H6280_CYCLES(5); RD_ABX; AND; } // 5 AND ABX
|
||||
OP(_05d) { int tmp; H6280_CYCLES(5); RD_ABX; EOR; } // 5 EOR ABX
|
||||
OP(_07d) { int tmp; H6280_CYCLES(5); RD_ABX; ADC; } // 5 ADC ABX
|
||||
OP(_09d) { int tmp; H6280_CYCLES(5); STA; WR_ABX; } // 5 STA ABX
|
||||
OP(_0bd) { int tmp; H6280_CYCLES(5); RD_ABX; LDA; } // 5 LDA ABX
|
||||
OP(_0dd) { int tmp; H6280_CYCLES(5); RD_ABX; CMP; } // 5 CMP ABX
|
||||
OP(_0fd) { int tmp; H6280_CYCLES(5); RD_ABX; SBC; } // 5 SBC ABX
|
||||
|
||||
OP(_00e) { int tmp; H6280_CYCLES(7); RD_ABS; ASL; WB_EA; } // 7 ASL ABS
|
||||
OP(_02e) { int tmp; H6280_CYCLES(7); RD_ABS; ROL; WB_EA; } // 7 ROL ABS
|
||||
OP(_04e) { int tmp; H6280_CYCLES(7); RD_ABS; LSR; WB_EA; } // 7 LSR ABS
|
||||
OP(_06e) { int tmp; H6280_CYCLES(7); RD_ABS; ROR; WB_EA; } // 7 ROR ABS
|
||||
OP(_08e) { int tmp; H6280_CYCLES(5); STX; WR_ABS; } // 5 STX ABS
|
||||
OP(_0ae) { int tmp; H6280_CYCLES(5); RD_ABS; LDX; } // 5 LDX ABS
|
||||
OP(_0ce) { int tmp; H6280_CYCLES(7); RD_ABS; DEC; WB_EA; } // 7 DEC ABS
|
||||
OP(_0ee) { int tmp; H6280_CYCLES(7); RD_ABS; INC; WB_EA; } // 7 INC ABS
|
||||
|
||||
OP(_01e) { int tmp; H6280_CYCLES(7); RD_ABX; ASL; WB_EA; } // 7 ASL ABX
|
||||
OP(_03e) { int tmp; H6280_CYCLES(7); RD_ABX; ROL; WB_EA; } // 7 ROL ABX
|
||||
OP(_05e) { int tmp; H6280_CYCLES(7); RD_ABX; LSR; WB_EA; } // 7 LSR ABX
|
||||
OP(_07e) { int tmp; H6280_CYCLES(7); RD_ABX; ROR; WB_EA; } // 7 ROR ABX
|
||||
OP(_09e) { int tmp; H6280_CYCLES(5); STZ; WR_ABX; } // 5 STZ ABX
|
||||
OP(_0be) { int tmp; H6280_CYCLES(5); RD_ABY; LDX; } // 5 LDX ABY
|
||||
OP(_0de) { int tmp; H6280_CYCLES(7); RD_ABX; DEC; WB_EA; } // 7 DEC ABX
|
||||
OP(_0fe) { int tmp; H6280_CYCLES(7); RD_ABX; INC; WB_EA; } // 7 INC ABX
|
||||
|
||||
OP(_00f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(0); } // 6/8 BBR0 ZPG,REL
|
||||
OP(_02f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(2); } // 6/8 BBR2 ZPG,REL
|
||||
OP(_04f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(4); } // 6/8 BBR4 ZPG,REL
|
||||
OP(_06f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(6); } // 6/8 BBR6 ZPG,REL
|
||||
OP(_08f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(0); } // 6/8 BBS0 ZPG,REL
|
||||
OP(_0af) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(2); } // 6/8 BBS2 ZPG,REL
|
||||
OP(_0cf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(4); } // 6/8 BBS4 ZPG,REL
|
||||
OP(_0ef) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(6); } // 6/8 BBS6 ZPG,REL
|
||||
|
||||
OP(_01f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(1); } // 6/8 BBR1 ZPG,REL
|
||||
OP(_03f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(3); } // 6/8 BBR3 ZPG,REL
|
||||
OP(_05f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(5); } // 6/8 BBR5 ZPG,REL
|
||||
OP(_07f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBR(7); } // 6/8 BBR7 ZPG,REL
|
||||
OP(_09f) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(1); } // 6/8 BBS1 ZPG,REL
|
||||
OP(_0bf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(3); } // 6/8 BBS3 ZPG,REL
|
||||
OP(_0df) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(5); } // 6/8 BBS5 ZPG,REL
|
||||
OP(_0ff) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(7); } // 6/8 BBS7 ZPG,REL
|
Loading…
Reference in New Issue
Block a user