upd7810: set MM RAE to 1 at power on (datasheet says it's undefined at reset)

This commit is contained in:
hap 2024-01-28 23:26:23 +01:00
parent 420352fcf7
commit 2d775aaee8
3 changed files with 34 additions and 5 deletions

View File

@ -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;

View File

@ -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); }

View File

@ -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) */
}
/**************************************************************************/