mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
XaviX - begin to reimplement Super XaviX opcodes based on use (nw) (#4149)
* disable all super xavix opcodes, ready for one-by-one reimplementation (nw) * begin reimplementation (nw) * get past first callf (nw) * (nw) * (nw) * (nw) * (nw) * phx,phy etc. (nw) * plx/ply (nw) * more (nw) * (nw) * (nw) * (nw)
This commit is contained in:
parent
59cc16c51c
commit
ec010f5c85
@ -1,20 +1,20 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:David Haywood
|
||||
# XaviX (SSD 2000) - m6502 with custom opcodes
|
||||
brk_xav_imp ora_idx kil_non slo_idx nop_zpg ora_zpg asl_zpg unk07_imp php_imp ora_imm asl_acc anc_imm nop_aba ora_aba asl_aba slo_aba
|
||||
bpl_rel ora_idy phx_imp slo_idy nop_zpx ora_zpx asl_zpx slo_zpx clc_imp ora_aby nop_imp unk1b_imp nop_abx ora_abx asl_abx slo_abx
|
||||
jsr_adr and_idx callf_xa3 rla_idx bit_zpg and_zpg rol_zpg rla_zpg plp_imp and_imm rol_acc anc_imm bit_aba and_aba rol_aba rla_aba
|
||||
bmi_rel and_idy plx_imp rla_idy nop_zpx and_zpx rol_zpx rla_zpx sec_imp and_aby nop_imp rla_aby nop_abx and_abx rol_abx rla_abx
|
||||
rti_xav_imp eor_idx kil_non sre_idx nop_zpg eor_zpg lsr_zpg sre_zpg pha_imp eor_imm lsr_acc asr_imm jmp_adr eor_aba lsr_aba sre_aba
|
||||
bvc_rel eor_idy phy_imp sre_idy nop_zpx eor_zpx lsr_zpx sre_zpx cli_imp eor_aby nop_imp unk5b_imp nop_abx eor_abx lsr_abx sre_abx
|
||||
rts_imp adc_idx kil_non rra_idx nop_zpg adc_zpg ror_zpg rra_zpg pla_imp adc_imm ror_acc arr_imm jmp_ind adc_aba ror_aba rra_aba
|
||||
bvs_rel adc_idy ply_imp unk73_imp nop_zpx adc_zpx ror_zpx rra_zpx sei_imp adc_aby nop_imp rra_aby nop_abx adc_abx ror_abx rra_abx
|
||||
retf_imp sta_idx nop_imm unk83_imm sty_zpg sta_zpg stx_zpg unk87_imm dey_imp nop_imm txa_imp ane_imm sty_aba sta_aba stx_aba sax_aba
|
||||
bcc_rel sta_idy kil_non sha_idy sty_zpx sta_zpx stx_zpy sax_zpy tya_imp sta_aby txs_imp unk9b_imp shy_abx sta_abx shx_aby sha_aby
|
||||
ldy_imm lda_idx ldx_imm unka3_imp ldy_zpg lda_zpg ldx_zpg unka7_imp tay_imp lda_imm tax_imp lxa_imm ldy_aba lda_aba ldx_aba lax_aba
|
||||
bcs_rel lda_idy unkb2_imp lax_idy ldy_zpx lda_zpx ldx_zpy lax_zpy clv_imp lda_aby tsx_imp las_aby ldy_abx lda_abx ldx_aby lax_aby
|
||||
cpy_imm cmp_idx nop_imm dcp_idx cpy_zpg cmp_zpg dec_zpg dcp_zpg iny_imp cmp_imm dex_imp sbx_imm cpy_aba cmp_aba dec_aba dcp_aba
|
||||
bne_rel cmp_idy kil_non dcp_idy nop_zpx cmp_zpx dec_zpx dcp_zpx cld_imp cmp_aby nop_imp dcp_aby nop_abx cmp_abx dec_abx dcp_abx
|
||||
cpx_imm sbc_idx nop_imm isb_idx cpx_zpg sbc_zpg inc_zpg isb_zpg inx_imp sbc_imm nop_imp sbc_imm cpx_aba sbc_aba inc_aba isb_aba
|
||||
beq_rel sbc_idy kil_non isb_idy nop_zpx sbc_zpx inc_zpx isb_zpx sed_imp sbc_aby nop_imp isb_aby nop_abx sbc_abx inc_abx isb_abx
|
||||
# Super XaviX (SSD 2000) - m6502 with custom opcodes
|
||||
brk_xav_imp unh_imp unh_imp unh_imp unh_imp ora_zpg asl_zpg unh_imp php_imp ora_imm asl_acc unh_imp unh_imp ora_aba unh_imp unh_imp
|
||||
bpl_rel unh_imp phx_imp unh_imp unh_imp unh_imp unh_imp unh_imp clc_imp ora_aby unh_imp unh_imp unh_imp ora_abx unh_imp unh_imp
|
||||
jsr_adr unh_imp callf_xa3 unh_imp unh_imp unh_imp rol_zpg unh_imp plp_imp and_imm rol_acc unh_imp bit_aba unh_imp unh_imp unh_imp
|
||||
bmi_rel unh_imp plx_imp unh_imp unh_imp unh_imp unh_imp unh_imp sec_imp unh_imp unh_imp unh_imp unh_imp unh_imp rol_abx unh_imp
|
||||
rti_xav_imp unh_imp unh_imp unh_imp unh_imp eor_zpg lsr_zpg unh_imp pha_imp eor_imm lsr_acc unh_imp jmp_adr unh_imp lsr_aba unh_imp
|
||||
unh_imp eor_idy phy_imp unh_imp unh_imp unh_imp unh_imp unh_imp cli_imp eor_aby unh_imp unh_imp unh_imp eor_abx unh_imp unh_imp
|
||||
rts_imp unh_imp unh_imp unh_imp unh_imp adc_zpg ror_zpg unh_imp pla_imp adc_imm unh_imp unh_imp jmp_ind unh_imp unh_imp unh_imp
|
||||
bvs_rel adc_idy ply_imp unh_imp unh_imp unh_imp unh_imp unh_imp sei_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp
|
||||
retf_imp unh_imp unh_imp unh_imp sty_zpg sta_zpg stx_zpg unh_imp dey_imp unh_imp txa_imp unh_imp unh_imp sta_aba stx_aba unh_imp
|
||||
bcc_rel sta_idy unh_imp unh_imp unh_imp unh_imp stx_zpy unh_imp tya_imp sta_aby txs_imp unh_imp unh_imp sta_abx unh_imp unh_imp
|
||||
ldy_imm unh_imp ldx_imm unh_imp ldy_zpg lda_zpg ldx_zpg unh_imp tay_imp lda_imm tax_imp unh_imp unh_imp lda_aba unh_imp unh_imp
|
||||
bcs_rel lda_idy clr_acc unh_imp unh_imp unh_imp ldx_zpy unh_imp clv_imp lda_aby tsx_imp unh_imp unh_imp lda_abx ldx_aby unh_imp
|
||||
cpy_imm unh_imp unh_imp unh_imp cpy_zpg cmp_zpg dec_zpg unh_imp iny_imp cmp_imm dex_imp unh_imp unh_imp unh_imp unh_imp unh_imp
|
||||
bne_rel cmp_idy unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp dec_abx unh_imp
|
||||
cpx_imm unh_imp unh_imp unh_imp cpx_zpg sbc_zpg inc_zpg unh_imp inx_imp sbc_imm unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp
|
||||
beq_rel unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp unh_imp
|
||||
reset
|
||||
|
@ -1,59 +1,42 @@
|
||||
# license:BSD-3-Clause
|
||||
# copyright-holders:David Haywood
|
||||
# xavix2000 opcodes
|
||||
# xavix2000 opcodes (Super XaviX)
|
||||
|
||||
plx_imp
|
||||
unh_imp
|
||||
fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
phx_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
ply_imp
|
||||
clr_acc
|
||||
read_pc_noinc();
|
||||
A = 0;
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
|
||||
phy_imp
|
||||
read_pc_noinc();
|
||||
write(SP, Y);
|
||||
dec_SP();
|
||||
prefetch();
|
||||
|
||||
unk1b_imp
|
||||
phx_imp
|
||||
read_pc_noinc();
|
||||
write(SP, X);
|
||||
dec_SP();
|
||||
prefetch();
|
||||
|
||||
unk5b_imp
|
||||
plx_imp
|
||||
read_pc_noinc();
|
||||
read(SP);
|
||||
inc_SP();
|
||||
X = read(SP);
|
||||
set_nz(X);
|
||||
prefetch();
|
||||
|
||||
unk9b_imp
|
||||
ply_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unka3_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unka7_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unk07_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unkb2_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unk73_imp
|
||||
read_pc_noinc();
|
||||
prefetch();
|
||||
|
||||
unk87_imm
|
||||
read_pc();
|
||||
prefetch();
|
||||
|
||||
unk83_imm
|
||||
read_pc();
|
||||
read(SP);
|
||||
inc_SP();
|
||||
Y = read(SP);
|
||||
set_nz(Y);
|
||||
prefetch();
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:David Haywood
|
||||
/***************************************************************************
|
||||
|
||||
xavix2000.cpp
|
||||
xavix2000.cpp (Super XaviX)
|
||||
|
||||
The dies for these are marked
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:David Haywood
|
||||
/***************************************************************************
|
||||
|
||||
xavix2000.h
|
||||
xavix2000.h (Super XaviX)
|
||||
|
||||
***************************************************************************/
|
||||
#ifndef MAME_CPU_M6502_XAVIX2000_H
|
||||
@ -26,22 +26,14 @@ public:
|
||||
#define O(o) void o ## _full(); void o ## _partial()
|
||||
|
||||
// xaviv opcodes
|
||||
O(phx_imp);
|
||||
O(phy_imp);
|
||||
O(plx_imp);
|
||||
O(ply_imp);
|
||||
O(unk1b_imp);
|
||||
O(unk5b_imp);
|
||||
O(unk9b_imp);
|
||||
O(unka3_imp);
|
||||
O(unka7_imp);
|
||||
O(unkb2_imp);
|
||||
O(unk07_imp);
|
||||
O(unk73_imp);
|
||||
O(unh_imp);
|
||||
|
||||
O(unk83_imm);
|
||||
O(unk87_imm);
|
||||
O(phx_imp); // 12
|
||||
O(phy_imp); // 52
|
||||
O(plx_imp); // 32
|
||||
O(ply_imp); // 72
|
||||
|
||||
O(clr_acc); // b2
|
||||
|
||||
#undef O
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:David Haywood
|
||||
/***************************************************************************
|
||||
|
||||
xavix2000d.cpp
|
||||
xavix2000d.cpp (Super XaviX)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user