diff options
Diffstat (limited to 'src/mame/drivers/rollerg.cpp')
-rw-r--r-- | src/mame/drivers/rollerg.cpp | 31 |
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(); |