geneve: Fixed debugger problem when writing values into memory; added debugger method to tms9995.

This commit is contained in:
Michael Zapf 2021-01-27 18:56:20 +01:00
parent 66bd35e6ba
commit 207cbd739f
2 changed files with 7 additions and 7 deletions

View File

@ -55,6 +55,7 @@ public:
// For debugger access
uint8_t debug_read_onchip_memory(offs_t addr) { return m_onchip_memory[addr & 0xff]; };
void debug_write_onchip_memory(offs_t addr, uint8_t data) { m_onchip_memory[addr & 0xff] = data; };
bool is_onchip(offs_t addrb) { return (((addrb & 0xff00)==0xf000 && (addrb < 0xf0fc)) || ((addrb & 0xfffc)==0xfffc)) && !m_mp9537; }
void set_overflow_interrupt( int enable ) { m_check_overflow = (enable!=0); }

View File

@ -632,16 +632,15 @@ void geneve_state::memwrite(offs_t offset, uint8_t data)
if (machine().side_effects_disabled())
{
// TODO: add method to tms9995
// if (m_cpu->is_onchip(offset))
// {
// m_cpu->debug_write_onchip_memory(offset, data);
// return;
// }
if (m_cpu->is_onchip(offset))
{
m_cpu->debug_write_onchip_memory(offset, data);
return;
}
// The debugger does not call setaddress, so we do it here
// Also, the decode result is replaced by the debugger version
setaddress_debug(true, addr13, 0);
setaddress_debug(true, offset, 0);
}
// Video write (never by debugger)