diff --git a/src/devices/cpu/upd7810/upd7810.cpp b/src/devices/cpu/upd7810/upd7810.cpp index d63264d7e30..41633f9fbc7 100644 --- a/src/devices/cpu/upd7810/upd7810.cpp +++ b/src/devices/cpu/upd7810/upd7810.cpp @@ -1699,6 +1699,9 @@ void upd7810_device::device_start() { base_device_start(); + MM = 8; + m_ram_view.select(0); + state_add( UPD7810_PC, "PC", m_pc.w.l).formatstr("%04X"); state_add( UPD7810_SP, "SP", m_sp.w.l).formatstr("%04X"); state_add( UPD7810_PSW, "PSW", m_psw).formatstr("%02X"); @@ -1759,6 +1762,31 @@ void upd7810_device::device_start() state_add( STATE_GENFLAGS, "GENFLAGS", m_psw ).formatstr("%17s").noshow(); } +void upd7801_device::device_start() +{ + base_device_start(); + + state_add( UPD7810_PC, "PC", m_pc.w.l).formatstr("%04X"); + state_add( UPD7810_SP, "SP", m_sp.w.l).formatstr("%04X"); + state_add( UPD7810_PSW, "PSW", m_psw).formatstr("%02X"); + state_add( UPD7810_A, "A", m_va.b.l).formatstr("%02X"); + state_add( UPD7810_V, "V", m_va.b.h).formatstr("%02X"); + state_add( UPD7810_EA, "EA", m_ea.w.l).formatstr("%04X"); + state_add( UPD7810_BC, "BC", m_bc.w.l).formatstr("%04X"); + state_add( UPD7810_DE, "DE", m_de.w.l).formatstr("%04X"); + state_add( UPD7810_HL, "HL", m_hl.w.l).formatstr("%04X"); + state_add( UPD7810_CNT0, "CNT0", m_cnt.b.l).formatstr("%02X"); + state_add( UPD7810_CNT1, "CNT1", m_cnt.b.h).formatstr("%02X"); + state_add( UPD7810_TM0, "TM0", m_tm.b.l).formatstr("%02X"); + state_add( UPD7810_TM1, "TM1", m_tm.b.h).formatstr("%02X"); + state_add( UPD7810_MB, "MB", m_mb).formatstr("%02X"); + state_add( UPD7810_MKL, "MKL", m_mkl).formatstr("%02X"); + + state_add( STATE_GENPC, "GENPC", m_pc.w.l ).formatstr("%04X").noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc.w.l ).formatstr("%04X").noshow(); + state_add( STATE_GENFLAGS, "GENFLAGS", m_psw ).formatstr("%17s").noshow(); +} + void upd78c05_device::device_start() { base_device_start(); @@ -1831,9 +1859,9 @@ void upd7810_device::device_reset() m_etm.d = 0; MA = 0xff; MB = 0xff; - m_mcc = 0; + MCC = 0; MC = 0xff; - m_mm = 0; + MM &= 8; MF = 0xff; m_mt = 0; TMM = 0xff; diff --git a/src/devices/cpu/upd7810/upd7810.h b/src/devices/cpu/upd7810/upd7810.h index d5344db0a60..9ce61f83253 100644 --- a/src/devices/cpu/upd7810/upd7810.h +++ b/src/devices/cpu/upd7810/upd7810.h @@ -1386,6 +1386,7 @@ public: upd7801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: + virtual void device_start() override; virtual void device_reset() override; virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 2 - 1) / 2; } virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 2); } diff --git a/src/mame/misc/homedata.cpp b/src/mame/misc/homedata.cpp index f2352900576..17436d9cee2 100644 --- a/src/mame/misc/homedata.cpp +++ b/src/mame/misc/homedata.cpp @@ -543,7 +543,7 @@ void homedata_upd7807_state::reikaids_map(address_map &map) void homedata_upd7807_state::reikaids_upd7807_map(address_map &map) { - map(0x0000, 0xfeff).bankr(m_audiobank); // External ROM (Banked) + map(0x0000, 0xffff).bankr(m_audiobank); // External ROM (Banked) } /**************************************************************************/ @@ -578,7 +578,7 @@ void homedata_upd7807_state::pteacher_map(address_map &map) void homedata_upd7807_state::pteacher_upd7807_map(address_map &map) { map(0x0000, 0x0000).w(m_mainlatch, FUNC(generic_latch_8_device::write)); - map(0x0000, 0xfeff).bankr(m_audiobank); // External ROM (Banked) + map(0x0000, 0xffff).bankr(m_audiobank); // External ROM (Banked) } /**************************************************************************/ @@ -606,7 +606,7 @@ void homedata_upd7807_state::mjikaga_map(address_map &map) void homedata_upd7807_state::mjikaga_upd7807_map(address_map &map) { map(0x0123, 0x0123).w(m_mainlatch, FUNC(generic_latch_8_device::write)); - map(0x0000, 0xfeff).bankr(m_audiobank); /* External ROM (Banked) */ + map(0x0000, 0xffff).bankr(m_audiobank); /* External ROM (Banked) */ } /**************************************************************************/