mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
[COCO3] Better palette/save state fix
This commit is contained in:
parent
8c568003c4
commit
9e44d59664
@ -191,6 +191,7 @@ void gime_base_device::device_start(void)
|
||||
save_item(NAME(m_firq));
|
||||
save_item(NAME(m_timer_value));
|
||||
save_item(NAME(m_is_blinking));
|
||||
save_pointer(NAME(m_palette_rotated[0]), 16);
|
||||
}
|
||||
|
||||
|
||||
@ -377,6 +378,20 @@ void gime_base_device::device_timer(emu_timer &timer, device_timer_id id, int pa
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_pre_save - device-specific pre save
|
||||
//-------------------------------------------------
|
||||
|
||||
void gime_base_device::device_pre_save()
|
||||
{
|
||||
super::device_pre_save();
|
||||
|
||||
// copy to palette rotation position zero
|
||||
for (offs_t i = 0; i < 16; i++)
|
||||
m_palette_rotated[0][i] = m_palette_rotated[m_palette_rotated_position][i];
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_post_load - device-specific post load
|
||||
//-------------------------------------------------
|
||||
@ -387,12 +402,9 @@ void gime_base_device::device_post_load()
|
||||
update_memory();
|
||||
update_cpu_clock();
|
||||
|
||||
// force the palette to update
|
||||
for (offs_t i = 0; i <= 15; i++)
|
||||
{
|
||||
UINT8 value = read_palette_register(i);
|
||||
write_palette_register(i, value);
|
||||
}
|
||||
// we update to position zero
|
||||
m_palette_rotated_position = 0;
|
||||
m_palette_rotated_position_used = false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -93,6 +93,7 @@ protected:
|
||||
virtual void device_start(void);
|
||||
virtual void device_reset(void);
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void device_pre_save(void);
|
||||
virtual void device_post_load(void);
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user