summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2014-04-05 21:55:04 +0000
committer Nathan Woods <npwoods@mess.org>2014-04-05 21:55:04 +0000
commitc795414920aafad34d1fedbe26285686c84a6c1d (patch)
treead833e71e09c2dc89555b38b5c8abb3cb9c63ebd /src
parent34ab217284748aefeed9445685f315d569b7252c (diff)
parent9e44d59664e268593f7abbb5f59ff64006ed685f (diff)
Merge branch 'master' of ssh://mess.org/mame
Diffstat (limited to 'src')
-rw-r--r--src/mess/video/gime.c24
-rw-r--r--src/mess/video/gime.h1
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;