summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gberet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gberet.cpp')
-rw-r--r--src/mame/drivers/gberet.cpp70
1 files changed, 34 insertions, 36 deletions
diff --git a/src/mame/drivers/gberet.cpp b/src/mame/drivers/gberet.cpp
index 51f1e7048bb..c361e9e33af 100644
--- a/src/mame/drivers/gberet.cpp
+++ b/src/mame/drivers/gberet.cpp
@@ -227,7 +227,7 @@ void gberet_state::gberetb_map(address_map &map)
map(0xe900, 0xe9ff).ram().share("spriteram");
map(0xf000, 0xf000).nopw(); // coin counter not supported
map(0xf200, 0xf200).portr("DSW2");
- map(0xf400, 0xf400).w(m_sn, FUNC(sn76489a_device::command_w));
+ map(0xf400, 0xf400).w(m_sn, FUNC(sn76489a_device::write));
map(0xf600, 0xf600).portr("P2");
map(0xf601, 0xf601).portr("DSW1");
map(0xf602, 0xf602).portr("P1");
@@ -408,25 +408,25 @@ MACHINE_RESET_MEMBER(gberet_state,gberet)
m_spritebank = 0;
}
-MACHINE_CONFIG_START(gberet_state::gberet)
-
+void gberet_state::gberet(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/6) // X1S (generated by a custom IC)
- MCFG_DEVICE_PROGRAM_MAP(gberet_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gberet_state, gberet_interrupt_tick, "screen", 0, 16)
+ Z80(config, m_maincpu, XTAL(18'432'000)/6); // X1S (generated by a custom IC)
+ m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::gberet_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(gberet_state::gberet_interrupt_tick), "screen", 0, 16);
WATCHDOG_TIMER(config, "watchdog");
MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60.60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberet)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60.60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(32*8, 32*8);
+ screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
+ screen.set_screen_update(FUNC(gberet_state::screen_update_gberet));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberet);
PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32);
@@ -435,37 +435,36 @@ MACHINE_CONFIG_START(gberet_state::gberet)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(18'432'000)/12) /* type verified on real and bootleg pcb */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ SN76489A(config, m_sn, XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "mono", 1.0); /* type verified on real and bootleg pcb */
+}
-MACHINE_CONFIG_START(gberet_state::mrgoemon)
+void gberet_state::mrgoemon(machine_config &config)
+{
gberet(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(mrgoemon_map)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(gberet_state::gberetb)
+ m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::mrgoemon_map);
+}
+void gberet_state::gberetb(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(20'000'000)/4) // divider guessed
- MCFG_DEVICE_PROGRAM_MAP(gberetb_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gberet_state, irq0_line_assert)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(gberet_state, nmi_line_assert, XTAL(20'000'000)/0x8000) // divider guessed
+ Z80(config, m_maincpu, XTAL(20'000'000)/4); // divider guessed
+ m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::gberetb_map);
+ m_maincpu->set_vblank_int("screen", FUNC(gberet_state::irq0_line_assert));
+ m_maincpu->set_periodic_int(FUNC(gberet_state::nmi_line_assert), attotime::from_hz(XTAL(20'000'000)/0x8000)); // divider guessed
MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberetb)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(32*8, 32*8);
+ screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
+ screen.set_screen_update(FUNC(gberet_state::screen_update_gberetb));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberetb);
PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32);
@@ -474,9 +473,8 @@ MACHINE_CONFIG_START(gberet_state::gberetb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(20'000'000)/12) // divider guessed
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ SN76489A(config, m_sn, XTAL(20'000'000)/12).add_route(ALL_OUTPUTS, "mono", 1.0); // divider guessed
+}
/*************************************