mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
fix save states (nw)
This commit is contained in:
parent
8eea632bd7
commit
d3f32a1ba7
@ -127,7 +127,13 @@ void deco104_device::device_reset()
|
||||
|
||||
UINT16 deco104_device::read_data_getloc(UINT16 offset, int& location)
|
||||
{
|
||||
const UINT16* prot_ram=m_current_rambank;
|
||||
UINT16* prot_ram;
|
||||
|
||||
if (m_current_rambank==0)
|
||||
prot_ram = m_rambank0;
|
||||
else
|
||||
prot_ram = m_rambank1;
|
||||
|
||||
|
||||
location = 0x00;
|
||||
int tempinput = 0;
|
||||
|
@ -1263,10 +1263,10 @@ UINT16 deco_146_base_device::read_protport(UINT16 address, UINT16 mem_mask)
|
||||
{
|
||||
// logerror("(bankswitch) %04x %04x\n", address, mem_mask);
|
||||
|
||||
if (m_current_rambank==m_rambank0)
|
||||
m_current_rambank = m_rambank1;
|
||||
if (m_current_rambank==0)
|
||||
m_current_rambank = 1;
|
||||
else
|
||||
m_current_rambank = m_rambank0;
|
||||
m_current_rambank = 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1297,7 +1297,10 @@ void deco_146_base_device::write_protport(address_space &space, UINT16 address,
|
||||
}
|
||||
|
||||
// always store
|
||||
COMBINE_DATA(&m_current_rambank[(address&0xff)>>1]);
|
||||
if (m_current_rambank==0)
|
||||
COMBINE_DATA(&m_rambank0[(address&0xff)>>1]);
|
||||
else
|
||||
COMBINE_DATA(&m_rambank1[(address&0xff)>>1]);
|
||||
|
||||
}
|
||||
|
||||
@ -1458,6 +1461,17 @@ void deco_146_base_device::device_start()
|
||||
|
||||
save_item(NAME(m_xor));
|
||||
save_item(NAME(m_nand));
|
||||
save_item(NAME(m_soundlatch));
|
||||
|
||||
save_item(NAME(m_rambank0));
|
||||
save_item(NAME(m_rambank1));
|
||||
save_item(NAME(m_current_rambank));
|
||||
|
||||
save_item(NAME(region_selects));
|
||||
|
||||
save_item(NAME(m_latchaddr));
|
||||
save_item(NAME(m_latchdata));
|
||||
save_item(NAME(m_latchflag));
|
||||
}
|
||||
|
||||
void deco_146_base_device::device_reset()
|
||||
@ -1471,7 +1485,7 @@ void deco_146_base_device::device_reset()
|
||||
|
||||
|
||||
|
||||
m_current_rambank = m_rambank0;
|
||||
m_current_rambank = 0;
|
||||
|
||||
m_nand = 0x0000;
|
||||
m_xor = 0x0000;
|
||||
@ -1519,7 +1533,10 @@ UINT16 deco146_device::read_data_getloc(UINT16 address, int& location)
|
||||
}
|
||||
else
|
||||
{
|
||||
retdata = m_current_rambank[location>>1];
|
||||
if (m_current_rambank==0)
|
||||
retdata = m_rambank0[location>>1];
|
||||
else
|
||||
retdata = m_rambank1[location>>1];
|
||||
}
|
||||
|
||||
UINT16 realret = reorder(retdata, &port_table[address>>1].mapping[0] );
|
||||
|
@ -102,7 +102,7 @@ protected:
|
||||
UINT16 m_rambank0[0x80];
|
||||
UINT16 m_rambank1[0x80];
|
||||
|
||||
UINT16* m_current_rambank;
|
||||
int m_current_rambank;
|
||||
|
||||
|
||||
UINT16 m_nand;
|
||||
@ -112,10 +112,6 @@ protected:
|
||||
UINT16 m_latchaddr;
|
||||
UINT16 m_latchdata;
|
||||
int m_latchflag;
|
||||
|
||||
|
||||
int m_strobe;
|
||||
|
||||
private:
|
||||
UINT8 region_selects[6];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user