diff options
| author | 2014-04-05 21:55:04 +0000 | |
|---|---|---|
| committer | 2014-04-05 21:55:04 +0000 | |
| commit | c795414920aafad34d1fedbe26285686c84a6c1d (patch) | |
| tree | ad833e71e09c2dc89555b38b5c8abb3cb9c63ebd /src | |
| parent | 34ab217284748aefeed9445685f315d569b7252c (diff) | |
| parent | 9e44d59664e268593f7abbb5f59ff64006ed685f (diff) | |
Merge branch 'master' of ssh://mess.org/mame
Diffstat (limited to 'src')
| -rw-r--r-- | src/mess/video/gime.c | 24 | ||||
| -rw-r--r-- | src/mess/video/gime.h | 1 |
2 files changed, 19 insertions, 6 deletions
diff --git a/src/mess/video/gime.c b/src/mess/video/gime.c index afb234bac1e..18d94a2fd7f 100644 --- a/src/mess/video/gime.c +++ b/src/mess/video/gime.c @@ -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); } @@ -378,6 +379,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; } diff --git a/src/mess/video/gime.h b/src/mess/video/gime.h index e1fc02a07b8..bdc00cdba43 100644 --- a/src/mess/video/gime.h +++ b/src/mess/video/gime.h @@ -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; |
