summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/coolpool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/coolpool.cpp')
-rw-r--r--src/mame/drivers/coolpool.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index 576bec7aff8..511ed975311 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -425,7 +425,7 @@ uint16_t coolpool_state::dsp_hold_line_r()
uint16_t coolpool_state::dsp_rom_r()
{
- return m_dsp_rom[m_iop_romaddr & (m_dsp_rom.mask())];
+ return m_dsp_rom[m_iop_romaddr & (m_dsp_rom.length() - 1)];
}
@@ -521,7 +521,7 @@ uint16_t coolpool_state::coolpool_input_r(offs_t offset)
void coolpool_state::amerdart_map(address_map &map)
{
- map(0x00000000, 0x000fffff).ram().share("vram_base");
+ map(0x00000000, 0x000fffff).ram().share(m_vram_base);
map(0x04000000, 0x0400000f).w(FUNC(coolpool_state::amerdart_misc_w));
map(0x05000000, 0x0500000f).r(m_dsp2main, FUNC(generic_latch_16_device::read)).w(m_main2dsp, FUNC(generic_latch_16_device::write));
map(0x06000000, 0x06007fff).ram().w(FUNC(coolpool_state::nvram_thrash_data_w)).share("nvram");
@@ -531,7 +531,7 @@ void coolpool_state::amerdart_map(address_map &map)
void coolpool_state::coolpool_map(address_map &map)
{
- map(0x00000000, 0x001fffff).ram().share("vram_base");
+ map(0x00000000, 0x001fffff).ram().share(m_vram_base);
map(0x01000000, 0x010000ff).rw(m_tlc34076, FUNC(tlc34076_device::read), FUNC(tlc34076_device::write)).umask16(0x00ff); // IMSG176P-40
map(0x02000000, 0x020000ff).r(m_dsp2main, FUNC(generic_latch_16_device::read)).w(m_main2dsp, FUNC(generic_latch_16_device::write));
map(0x03000000, 0x0300000f).w(FUNC(coolpool_state::coolpool_misc_w));
@@ -1039,8 +1039,11 @@ ROM_END
*
*************************************/
-void coolpool_state::register_state_save()
+void coolpool_state::machine_start()
{
+ // assumes it can make an address mask with m_dsp_rom.length() - 1
+ assert(!(m_dsp_rom.length() & (m_dsp_rom.length() - 1)));
+
save_item(NAME(m_oldx));
save_item(NAME(m_oldy));
save_item(NAME(m_result));
@@ -1054,19 +1057,12 @@ void coolpool_state::register_state_save()
void coolpool_state::init_amerdart()
{
m_lastresult = 0xffff;
-
- register_state_save();
-}
-
-void coolpool_state::init_coolpool()
-{
- register_state_save();
}
void coolpool_state::init_9ballsht()
{
- /* decrypt the main program ROMs */
+ // decrypt the main program ROMs
uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
int len = memregion("maincpu")->bytes();
for (int a = 0; a < len/2; a++)
@@ -1088,18 +1084,16 @@ void coolpool_state::init_9ballsht()
rom[a] = (nhi << 8) | nlo;
}
- /* decrypt the sub data ROMs */
+ // decrypt the sub data ROMs
rom = (uint16_t *)memregion("dspdata")->base();
len = memregion("dspdata")->bytes();
for (int a = 1; a < len/2; a += 4)
{
- /* just swap bits 1 and 2 of the address */
+ // just swap bits 1 and 2 of the address
uint16_t tmp = rom[a];
rom[a] = rom[a+1];
rom[a+1] = tmp;
}
-
- register_state_save();
}
@@ -1113,7 +1107,7 @@ void coolpool_state::init_9ballsht()
GAME( 1989, amerdart, 0, amerdart, amerdart, coolpool_state, init_amerdart, ROT0, "Ameri", "AmeriDarts (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, amerdart2, amerdart, amerdart, amerdart, coolpool_state, init_amerdart, ROT0, "Ameri", "AmeriDarts (set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, amerdart3, amerdart, amerdart, amerdart, coolpool_state, init_amerdart, ROT0, "Ameri", "AmeriDarts (set 3)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, coolpool, 0, coolpool, coolpool, coolpool_state, init_coolpool, ROT0, "Catalina", "Cool Pool", 0 )
+GAME( 1992, coolpool, 0, coolpool, coolpool, coolpool_state, empty_init, ROT0, "Catalina", "Cool Pool", 0 )
GAME( 1993, 9ballsht, 0, _9ballsht, 9ballsht, coolpool_state, init_9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 1)", 0 )
GAME( 1993, 9ballsht2, 9ballsht, _9ballsht, 9ballsht, coolpool_state, init_9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 2)", 0 )
GAME( 1993, 9ballsht3, 9ballsht, _9ballsht, 9ballsht, coolpool_state, init_9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 3)", 0 )