summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/rollerg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rollerg.cpp')
-rw-r--r--src/mame/drivers/rollerg.cpp31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/mame/drivers/rollerg.cpp b/src/mame/drivers/rollerg.cpp
index 7ee72145885..20ba0ea1261 100644
--- a/src/mame/drivers/rollerg.cpp
+++ b/src/mame/drivers/rollerg.cpp
@@ -24,7 +24,7 @@
#include "speaker.h"
-void rollerg_state::rollerg_0010_w(uint8_t data)
+void rollerg_state::ext_enable_w(uint8_t data)
{
logerror("%04x: write %02x to 0010\n",m_maincpu->pc(), data);
@@ -41,7 +41,7 @@ void rollerg_state::rollerg_0010_w(uint8_t data)
/* other bits unknown */
}
-uint8_t rollerg_state::rollerg_k051316_r(offs_t offset)
+uint8_t rollerg_state::k051316_r(offs_t offset)
{
if (m_readzoomroms)
return m_k051316->rom_r(offset);
@@ -54,16 +54,9 @@ void rollerg_state::soundirq_w(uint8_t data)
m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80
}
-void rollerg_state::device_timer(emu_timer &timer, device_timer_id id, int param)
+TIMER_CALLBACK_MEMBER(rollerg_state::sound_nmi)
{
- switch (id)
- {
- case TIMER_NMI:
- m_audiocpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
- break;
- default:
- throw emu_fatalerror("Unknown id in rollerg_state::device_timer");
- }
+ m_audiocpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
}
void rollerg_state::sound_arm_nmi_w(uint8_t data)
@@ -77,9 +70,9 @@ uint8_t rollerg_state::pip_r()
return 0x7f;
}
-void rollerg_state::rollerg_map(address_map &map)
+void rollerg_state::main_map(address_map &map)
{
- map(0x0010, 0x0010).w(FUNC(rollerg_state::rollerg_0010_w));
+ map(0x0010, 0x0010).w(FUNC(rollerg_state::ext_enable_w));
map(0x0020, 0x0020).rw("watchdog", FUNC(watchdog_timer_device::reset_r), FUNC(watchdog_timer_device::reset_w));
map(0x0030, 0x0031).rw("k053260", FUNC(k053260_device::main_read), FUNC(k053260_device::main_write));
map(0x0040, 0x0040).w(FUNC(rollerg_state::soundirq_w));
@@ -92,7 +85,7 @@ void rollerg_state::rollerg_map(address_map &map)
map(0x0100, 0x010f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)); /* 053252? */
map(0x0200, 0x020f).w(m_k051316, FUNC(k051316_device::ctrl_w));
map(0x0300, 0x030f).rw(m_k053244, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w));
- map(0x0800, 0x0fff).r(FUNC(rollerg_state::rollerg_k051316_r)).w(m_k051316, FUNC(k051316_device::write));
+ map(0x0800, 0x0fff).r(FUNC(rollerg_state::k051316_r)).w(m_k051316, FUNC(k051316_device::write));
map(0x1000, 0x17ff).rw(m_k053244, FUNC(k05324x_device::k053245_r), FUNC(k05324x_device::k053245_w));
map(0x1800, 0x1fff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
map(0x2000, 0x3aff).ram();
@@ -100,7 +93,7 @@ void rollerg_state::rollerg_map(address_map &map)
map(0x8000, 0xffff).rom();
}
-void rollerg_state::rollerg_sound_map(address_map &map)
+void rollerg_state::sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0x8000, 0x87ff).ram();
@@ -228,7 +221,7 @@ void rollerg_state::machine_start()
membank("bank1")->configure_entries(6, 2, &ROM[0x10000], 0x4000);
membank("bank1")->set_entry(0);
- m_nmi_timer = timer_alloc(TIMER_NMI);
+ m_nmi_timer = timer_alloc(FUNC(rollerg_state::sound_nmi), this);
save_item(NAME(m_readzoomroms));
}
@@ -247,12 +240,12 @@ void rollerg_state::rollerg(machine_config &config)
{
/* basic machine hardware */
KONAMI(config, m_maincpu, 3000000); /* ? */
- m_maincpu->set_addrmap(AS_PROGRAM, &rollerg_state::rollerg_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &rollerg_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(rollerg_state::irq0_line_assert));
m_maincpu->line().set(FUNC(rollerg_state::banking_callback));
Z80(config, m_audiocpu, 3579545);
- m_audiocpu->set_addrmap(AS_PROGRAM, &rollerg_state::rollerg_sound_map); /* NMIs are generated by the 053260 */
+ m_audiocpu->set_addrmap(AS_PROGRAM, &rollerg_state::sound_map); /* NMIs are generated by the 053260 */
WATCHDOG_TIMER(config, "watchdog");
@@ -262,7 +255,7 @@ void rollerg_state::rollerg(machine_config &config)
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(64*8, 32*8);
screen.set_visarea(14*8, (64-14)*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(rollerg_state::screen_update_rollerg));
+ screen.set_screen_update(FUNC(rollerg_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 1024).enable_shadows();