summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2022-09-23 10:22:37 +0200
committer Olivier Galibert <galibert@pobox.com>2022-09-23 10:22:37 +0200
commit4e1aabff48b957d877191f14a5378af4d38e4847 (patch)
treeeee6179c43b8c65e57fe333a286a6bd7972260de /src
parent7c5569a385fa1bb32966fb5d1aba4095432edf4b (diff)
m6502: Add the missing uses_custom_memory_interface. Avoid multiple instructions on one line for when reads at restartable.
Diffstat (limited to 'src')
-rw-r--r--src/devices/cpu/m6502/m6502.cpp2
-rw-r--r--src/devices/cpu/m6502/odeco16.lst3
-rw-r--r--src/devices/cpu/m6502/om6502.lst12
-rw-r--r--src/devices/cpu/m6502/om65c02.lst9
-rw-r--r--src/devices/cpu/m6502/or65c19.lst9
-rw-r--r--src/devices/cpu/m6502/ow65c02s.lst9
6 files changed, 29 insertions, 15 deletions
diff --git a/src/devices/cpu/m6502/m6502.cpp b/src/devices/cpu/m6502/m6502.cpp
index cee985adeb3..55276aeba00 100644
--- a/src/devices/cpu/m6502/m6502.cpp
+++ b/src/devices/cpu/m6502/m6502.cpp
@@ -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)
{
}
diff --git a/src/devices/cpu/m6502/odeco16.lst b/src/devices/cpu/m6502/odeco16.lst
index 53f9e1b1977..ebcac8522a7 100644
--- a/src/devices/cpu/m6502/odeco16.lst
+++ b/src/devices/cpu/m6502/odeco16.lst
@@ -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;
diff --git a/src/devices/cpu/m6502/om6502.lst b/src/devices/cpu/m6502/om6502.lst
index 91219eb30fe..0fe5d0edeb9 100644
--- a/src/devices/cpu/m6502/om6502.lst
+++ b/src/devices/cpu/m6502/om6502.lst
@@ -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;
diff --git a/src/devices/cpu/m6502/om65c02.lst b/src/devices/cpu/m6502/om65c02.lst
index b1db307504b..62eb0a31cf1 100644
--- a/src/devices/cpu/m6502/om65c02.lst
+++ b/src/devices/cpu/m6502/om65c02.lst
@@ -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));
diff --git a/src/devices/cpu/m6502/or65c19.lst b/src/devices/cpu/m6502/or65c19.lst
index b107e8fe9e6..34ff488eadb 100644
--- a/src/devices/cpu/m6502/or65c19.lst
+++ b/src/devices/cpu/m6502/or65c19.lst
@@ -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));
diff --git a/src/devices/cpu/m6502/ow65c02s.lst b/src/devices/cpu/m6502/ow65c02s.lst
index f4775615f65..a5d334389a9 100644
--- a/src/devices/cpu/m6502/ow65c02s.lst
+++ b/src/devices/cpu/m6502/ow65c02s.lst
@@ -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));