remove some post_load workarounds for outputs (nw)

This commit is contained in:
hap 2019-12-13 11:12:35 +01:00
parent 6f5d2ad326
commit e238b72de1
4 changed files with 11 additions and 29 deletions

View File

@ -51,11 +51,6 @@ void hd61603_device::device_start()
// handlers
//-------------------------------------------------
void hd61603_device::refresh_output()
{
m_write_segs(0, m_blank ? 0 : m_ram);
}
void hd61603_device::data_w(u8 data)
{
// 1-byte nop command
@ -96,6 +91,6 @@ void hd61603_device::data_w(u8 data)
break;
}
refresh_output();
m_write_segs(0, m_blank ? 0 : m_ram);
}
}

View File

@ -47,11 +47,8 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_post_load() override { refresh_output(); }
private:
void refresh_output();
u8 m_count = 0;
u16 m_data = 0;
u64 m_ram = 0;

View File

@ -47,7 +47,6 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_post_load() override { refresh_output(); }
private:
void refresh_output();

View File

@ -17,7 +17,6 @@
TODO:
Really understand ASIC chip
Remove device_post_load once outputs support savestates
***********************************/
@ -52,7 +51,6 @@ public:
protected:
virtual void machine_start() override;
virtual void device_post_load() override;
private:
DECLARE_WRITE8_MEMBER(vram_w);
@ -80,7 +78,6 @@ private:
uint8_t m_video;
uint8_t m_hsync_q;
uint8_t m_lamps_cache[8];
required_device<i80c32_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
@ -94,18 +91,12 @@ void cardline_state::machine_start()
m_lamps.resolve();
m_video = 0;
m_hsync_q = 1;
memset(m_lamps_cache, 0, sizeof(m_lamps_cache));
for (int i = 0; i < 0x2000; i++)
m_maincpu.target()->space(AS_IO).write_byte(i, 0x73);
save_item(NAME(m_video));
save_item(NAME(m_hsync_q));
save_item(NAME(m_lamps_cache));
}
void cardline_state::device_post_load()
{
for (int i = 0; i < 8; i++)
m_lamps[i] = m_lamps_cache[i];
}
MC6845_BEGIN_UPDATE( cardline_state::crtc_begin_update )
@ -217,14 +208,14 @@ READ8_MEMBER(cardline_state::hsync_r)
WRITE8_MEMBER(cardline_state::lamps_w)
{
/* button lamps 1-8 (collect, card 1-5, bet, start) */
m_lamps_cache[5] = m_lamps[5] = BIT(data, 0);
m_lamps_cache[0] = m_lamps[0] = BIT(data, 1);
m_lamps_cache[1] = m_lamps[1] = BIT(data, 2);
m_lamps_cache[2] = m_lamps[2] = BIT(data, 3);
m_lamps_cache[3] = m_lamps[3] = BIT(data, 4);
m_lamps_cache[4] = m_lamps[4] = BIT(data, 5);
m_lamps_cache[6] = m_lamps[6] = BIT(data, 6);
m_lamps_cache[7] = m_lamps[7] = BIT(data, 7);
m_lamps[5] = BIT(data, 0);
m_lamps[0] = BIT(data, 1);
m_lamps[1] = BIT(data, 2);
m_lamps[2] = BIT(data, 3);
m_lamps[3] = BIT(data, 4);
m_lamps[4] = BIT(data, 5);
m_lamps[6] = BIT(data, 6);
m_lamps[7] = BIT(data, 7);
}
void cardline_state::mem_prg(address_map &map)