m6502: Add the missing uses_custom_memory_interface. Avoid multiple instructions on one line for when reads at restartable.

This commit is contained in:
Olivier Galibert 2022-09-23 10:22:37 +02:00
parent 7c5569a385
commit 4e1aabff48
6 changed files with 29 additions and 15 deletions

View File

@ -30,7 +30,7 @@ m6502_device::m6502_device(const machine_config &mconfig, device_type type, cons
sync_w(*this),
program_config("program", ENDIANNESS_LITTLE, 8, 16),
sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16), PPC(0), NPC(0), PC(0), SP(0), TMP(0), TMP2(0), A(0), X(0), Y(0), P(0), IR(0), inst_state_base(0), mintf(nullptr),
inst_state(0), inst_substate(0), icount(0), nmi_state(false), irq_state(false), apu_irq_state(false), v_state(false), nmi_pending(false), irq_taken(false), sync(false), inhibit_interrupts(false)
inst_state(0), inst_substate(0), icount(0), nmi_state(false), irq_state(false), apu_irq_state(false), v_state(false), nmi_pending(false), irq_taken(false), sync(false), inhibit_interrupts(false), uses_custom_memory_interface(false)
{
}

View File

@ -97,7 +97,8 @@ vbl_zpg
# exceptions
reset_16
P |= F_I; PC = read_arg(0xfff1);
P |= F_I;
PC = read_arg(0xfff1);
PC = set_h(PC, read_arg(0xfff0));
prefetch();
inst_state = -1;

View File

@ -1220,10 +1220,14 @@ tya_imp
reset
read_pc_noinc();
read_pc_noinc();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP); dec_SP();
P |= F_I; PC = read_arg(0xfffc);
read(SP);
dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
P |= F_I;
PC = read_arg(0xfffc);
PC = set_h(PC, read_arg(0xfffd));
prefetch();
inst_state = -1;

View File

@ -775,9 +775,12 @@ wai_imp
reset_c
read_arg(0xffff);
read_pc_noinc();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
P = (P | F_I) & ~F_D;
PC = read_arg(0xfffc);
PC = set_h(PC, read_arg(0xfffd));

View File

@ -435,9 +435,12 @@ twa_imp
reset_r
read_pc();
read_pc_noinc();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
P = (P | F_I) & ~F_D;
PC = read_arg(0xfffe);
PC = set_h(PC, read_arg(0xffff));

View File

@ -865,9 +865,12 @@ tsb_s_zpg
reset_s
read_arg(0xffff);
read_pc_noinc();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP); dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
read(SP);
dec_SP();
P = (P | F_I) & ~F_D;
PC = read_vector(0xfffc);
PC = set_h(PC, read_vector(0xfffd));