diff options
author | 2017-09-21 21:31:11 +0200 | |
---|---|---|
committer | 2017-09-21 21:31:11 +0200 | |
commit | 565e00ef4d868f240625d6d2bae72cb5835b1d49 (patch) | |
tree | ff2d97ae8cf23c48281d95d12b4ab8377420bc15 | |
parent | 1d82c2ecbbcb02c06a07e396ae5f6896401f9c34 (diff) |
risc2500.cpp: added save state support. (nw)
-rw-r--r-- | src/mame/drivers/risc2500.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mame/drivers/risc2500.cpp b/src/mame/drivers/risc2500.cpp index f3bfd22fb5f..56049cf2147 100644 --- a/src/mame/drivers/risc2500.cpp +++ b/src/mame/drivers/risc2500.cpp @@ -45,6 +45,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_INPUT_CHANGED_MEMBER(on_button); void install_boot_rom(); + void remove_boot_rom(); private: required_device<cpu_device> m_maincpu; @@ -64,6 +65,11 @@ void risc2500_state::install_boot_rom() m_maincpu->space(AS_PROGRAM).install_rom(0x00000000, 0x001ffff, memregion("maincpu")->base()); } +void risc2500_state::remove_boot_rom() +{ + m_maincpu->space(AS_PROGRAM).install_ram(0x00000000, m_ram->size() - 1, m_ram->pointer()); +} + uint32_t risc2500_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { for(int c=0; c<12; c++) @@ -258,7 +264,7 @@ READ32_MEMBER(risc2500_state::disable_boot_rom) TIMER_CALLBACK_MEMBER(risc2500_state::disable_boot_rom) { - m_maincpu->space(AS_PROGRAM).install_ram(0x00000000, m_ram->size() - 1, m_ram->pointer()); + remove_boot_rom(); } void risc2500_state::machine_start() @@ -268,6 +274,8 @@ void risc2500_state::machine_start() save_item(NAME(m_p1000)); save_item(NAME(m_vram_addr)); save_item(NAME(m_vram)); + + machine().save().register_postload(save_prepost_delegate(FUNC(risc2500_state::remove_boot_rom), this)); } void risc2500_state::machine_reset() @@ -336,5 +344,5 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */ -CONS( 1992, risc, 0, 0, risc2500, risc2500, risc2500_state, 0, "Saitek", "RISC 2500", MACHINE_CLICKABLE_ARTWORK ) -CONS( 1995, montreux, 0, 0, risc2500, risc2500, risc2500_state, 0, "Saitek / Hegener & Glaser", "Mephisto Montreux", MACHINE_CLICKABLE_ARTWORK ) +CONS( 1992, risc, 0, 0, risc2500, risc2500, risc2500_state, 0, "Saitek", "RISC 2500", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1995, montreux, 0, 0, risc2500, risc2500, risc2500_state, 0, "Saitek / Hegener & Glaser", "Mephisto Montreux", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) |