summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/sprint4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/sprint4.cpp')
-rw-r--r--src/mame/drivers/sprint4.cpp42
1 files changed, 12 insertions, 30 deletions
diff --git a/src/mame/drivers/sprint4.cpp b/src/mame/drivers/sprint4.cpp
index 80ef418d1ae..f5e5049ead3 100644
--- a/src/mame/drivers/sprint4.cpp
+++ b/src/mame/drivers/sprint4.cpp
@@ -32,11 +32,6 @@ namespace {
class sprint4_state : public driver_device
{
public:
- enum
- {
- TIMER_NMI
- };
-
sprint4_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
@@ -62,6 +57,12 @@ public:
template <int N> DECLARE_READ_LINE_MEMBER(collision_flipflop_r);
private:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+ void cpu_map(address_map &map);
+
uint8_t wram_r(offs_t offset);
uint8_t analog_r(offs_t offset);
uint8_t coin_r(offs_t offset);
@@ -75,19 +76,13 @@ private:
void bang_w(uint8_t data);
void attract_w(uint8_t data);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param) override;
- void sprint4_palette(palette_device &palette) const;
+ void palette_init(palette_device &palette) const;
TILE_GET_INFO_MEMBER(tile_info);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
TIMER_CALLBACK_MEMBER(nmi_callback);
- void sprint4_cpu_map(address_map &map);
-
required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<discrete_sound_device> m_discrete;
@@ -138,19 +133,6 @@ READ_LINE_MEMBER(sprint4_state::collision_flipflop_r)
}
-void sprint4_state::device_timer(emu_timer &timer, device_timer_id id, int param)
-{
- switch (id)
- {
- case TIMER_NMI:
- nmi_callback(param);
- break;
- default:
- throw emu_fatalerror("Unknown id in sprint4_state::device_timer");
- }
-}
-
-
TIMER_CALLBACK_MEMBER(sprint4_state::nmi_callback)
{
int scanline = param;
@@ -204,7 +186,7 @@ TIMER_CALLBACK_MEMBER(sprint4_state::nmi_callback)
void sprint4_state::machine_start()
{
- m_nmi_timer = timer_alloc(TIMER_NMI);
+ m_nmi_timer = timer_alloc(FUNC(sprint4_state::nmi_callback), this);
save_item(NAME(m_da_latch));
save_item(NAME(m_steer_FF1));
@@ -294,7 +276,7 @@ void sprint4_state::attract_w(uint8_t data)
}
-void sprint4_state::sprint4_palette(palette_device &palette) const
+void sprint4_state::palette_init(palette_device &palette) const
{
palette.set_indirect_color(0, rgb_t(0x00, 0x00, 0x00)); // black
palette.set_indirect_color(1, rgb_t(0xfc, 0xdf, 0x80)); // peach
@@ -420,7 +402,7 @@ void sprint4_state::video_ram_w(offs_t offset, uint8_t data)
}
-void sprint4_state::sprint4_cpu_map(address_map &map)
+void sprint4_state::cpu_map(address_map &map)
{
map.global_mask(0x3fff);
@@ -586,7 +568,7 @@ void sprint4_state::sprint4(machine_config &config)
{
/* basic machine hardware */
M6502(config, m_maincpu, PIXEL_CLOCK / 8);
- m_maincpu->set_addrmap(AS_PROGRAM, &sprint4_state::sprint4_cpu_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &sprint4_state::cpu_map);
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8);
@@ -598,7 +580,7 @@ void sprint4_state::sprint4(machine_config &config)
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_sprint4);
- PALETTE(config, m_palette, FUNC(sprint4_state::sprint4_palette), 10, 6);
+ PALETTE(config, m_palette, FUNC(sprint4_state::palette_init), 10, 6);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();