summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/seabattl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/seabattl.cpp')
-rw-r--r--src/mame/drivers/seabattl.cpp55
1 files changed, 24 insertions, 31 deletions
diff --git a/src/mame/drivers/seabattl.cpp b/src/mame/drivers/seabattl.cpp
index 9112bd15121..a8d26b9c2e7 100644
--- a/src/mame/drivers/seabattl.cpp
+++ b/src/mame/drivers/seabattl.cpp
@@ -90,7 +90,7 @@ private:
virtual void machine_reset() override;
virtual void video_start() override;
- required_device<cpu_device> m_maincpu;
+ required_device<s2650_device> m_maincpu;
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
required_shared_ptr<uint8_t> m_objram;
@@ -482,48 +482,41 @@ GFXDECODE_END
MACHINE_CONFIG_START(seabattl_state::seabattl)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", S2650, 14318180/4/2)
- MCFG_DEVICE_PROGRAM_MAP(seabattl_map)
- MCFG_DEVICE_DATA_MAP(seabattl_data_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seabattl_state, seabattl_interrupt)
- MCFG_S2650_SENSE_INPUT(READLINE("screen", screen_device, vblank))
+ S2650(config, m_maincpu, 14318180/4/2);
+ m_maincpu->set_addrmap(AS_PROGRAM, &seabattl_state::seabattl_map);
+ m_maincpu->set_addrmap(AS_DATA, &seabattl_state::seabattl_data_map);
+ m_maincpu->set_vblank_int("screen", FUNC(seabattl_state::seabattl_interrupt));
+ m_maincpu->sense_handler().set("screen", FUNC(screen_device::vblank));
S2636(config, m_s2636, 0);
m_s2636->set_offsets(-13, -29);
m_s2636->add_route(ALL_OUTPUTS, "mono", 0.10);
- MCFG_DEVICE_ADD("sc_thousand", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<0>))
- MCFG_DEVICE_ADD("sc_hundred", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<1>))
- MCFG_DEVICE_ADD("sc_half", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<2>))
- MCFG_DEVICE_ADD("sc_unity", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<3>))
- MCFG_DEVICE_ADD("tm_half", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<4>))
- MCFG_DEVICE_ADD("tm_unity", DM9368, 0)
- MCFG_DM9368_UPDATE_CALLBACK(WRITE8(*this, seabattl_state, digit_w<5>))
+ DM9368(config, m_digits[0], 0).update_cb().set(FUNC(seabattl_state::digit_w<0>));
+ DM9368(config, m_digits[1], 0).update_cb().set(FUNC(seabattl_state::digit_w<1>));
+ DM9368(config, m_digits[2], 0).update_cb().set(FUNC(seabattl_state::digit_w<2>));
+ DM9368(config, m_digits[3], 0).update_cb().set(FUNC(seabattl_state::digit_w<3>));
+ DM9368(config, m_digits[4], 0).update_cb().set(FUNC(seabattl_state::digit_w<4>));
+ DM9368(config, m_digits[5], 0).update_cb().set(FUNC(seabattl_state::digit_w<5>));
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(1*8, 29*8-1, 2*8, 32*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(seabattl_state, screen_update_seabattl)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_seabattl)
- MCFG_PALETTE_ADD("palette", 26)
- MCFG_PALETTE_INIT_OWNER(seabattl_state, seabattl)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
+ m_screen->set_refresh_hz(50);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(1*8, 29*8-1, 2*8, 32*8-1);
+ m_screen->set_screen_update(FUNC(seabattl_state::screen_update_seabattl));
+ m_screen->set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_seabattl);
+ PALETTE(config, m_palette, 26).set_init(FUNC(seabattl_state::palette_init_seabattl));
/* sound hardware */
SPEAKER(config, "mono").front_center();
/* discrete sound */
-MACHINE_CONFIG_END
+}