summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rungun.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rungun.cpp')
-rw-r--r--src/mame/drivers/rungun.cpp100
1 files changed, 50 insertions, 50 deletions
diff --git a/src/mame/drivers/rungun.cpp b/src/mame/drivers/rungun.cpp
index cb332f098f0..08fd70935c7 100644
--- a/src/mame/drivers/rungun.cpp
+++ b/src/mame/drivers/rungun.cpp
@@ -393,37 +393,37 @@ void rungun_state::machine_reset()
m_sound_status = 0;
}
-MACHINE_CONFIG_START(rungun_state::rng)
-
+void rungun_state::rng(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68000, 16000000)
- MCFG_DEVICE_PROGRAM_MAP(rungun_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", rungun_state, rng_interrupt)
+ M68000(config, m_maincpu, 16000000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &rungun_state::rungun_map);
+ m_maincpu->set_vblank_int("screen", FUNC(rungun_state::rng_interrupt));
- MCFG_DEVICE_ADD("soundcpu", Z80, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(rungun_sound_map)
+ Z80(config, m_soundcpu, 8000000);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &rungun_state::rungun_sound_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // higher if sound stutters
+ config.m_minimum_quantum = attotime::from_hz(6000); // higher if sound stutters
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_rungun)
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_rungun);
EEPROM_ER5911_8BIT(config, "eeprom");
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(59.185606)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(64*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(88, 88+416-1, 24, 24+224-1)
- MCFG_SCREEN_UPDATE_DRIVER(rungun_state, screen_update_rng)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
-
- MCFG_PALETTE_ADD("palette", 1024)
- MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- MCFG_PALETTE_ENABLE_SHADOWS()
- MCFG_PALETTE_ENABLE_HILIGHTS()
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
+ m_screen->set_refresh_hz(59.185606);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(64*8, 32*8);
+ m_screen->set_visarea(88, 88+416-1, 24, 24+224-1);
+ m_screen->set_screen_update(FUNC(rungun_state::screen_update_rng));
+ m_screen->set_palette(m_palette);
+ m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
+
+ PALETTE(config, m_palette, 1024);
+ m_palette->set_format(PALETTE_FORMAT_xBBBBBGGGGGRRRRR);
+ m_palette->enable_shadows();
+ m_palette->enable_hilights();
K053936(config, m_k053936, 0);
m_k053936->set_offsets(34, 9);
@@ -438,10 +438,10 @@ MACHINE_CONFIG_START(rungun_state::rng)
m_k053252->set_offsets(9*8, 24);
m_k053252->set_screen("screen");
- MCFG_PALETTE_ADD("palette2", 1024)
- MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- MCFG_PALETTE_ENABLE_SHADOWS()
- MCFG_PALETTE_ENABLE_HILIGHTS()
+ PALETTE(config, m_palette2, 1024);
+ m_palette2->set_format(PALETTE_FORMAT_xBBBBBGGGGGRRRRR);
+ m_palette2->enable_shadows();
+ m_palette2->enable_hilights();
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -450,38 +450,38 @@ MACHINE_CONFIG_START(rungun_state::rng)
K054321(config, m_k054321, "lspeaker", "rspeaker");
// SFX
- MCFG_DEVICE_ADD("k054539_1", K054539, 18.432_MHz_XTAL)
- MCFG_DEVICE_ADDRESS_MAP(0, k054539_map)
- MCFG_K054539_TIMER_HANDLER(WRITELINE(*this, rungun_state, k054539_nmi_gen))
- MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
+ K054539(config, m_k054539_1, 18.432_MHz_XTAL);
+ m_k054539_1->set_addrmap(0, &rungun_state::k054539_map);
+ m_k054539_1->timer_handler().set(FUNC(rungun_state::k054539_nmi_gen));
+ m_k054539_1->add_route(0, "rspeaker", 1.0);
+ m_k054539_1->add_route(1, "lspeaker", 1.0);
// BGM, volumes handtuned to make SFXs audible (still not 100% right tho)
- MCFG_DEVICE_ADD("k054539_2", K054539, 18.432_MHz_XTAL)
- MCFG_DEVICE_ADDRESS_MAP(0, k054539_map)
- MCFG_SOUND_ROUTE(0, "rspeaker", 0.6)
- MCFG_SOUND_ROUTE(1, "lspeaker", 0.6)
-MACHINE_CONFIG_END
+ K054539(config, m_k054539_2, 18.432_MHz_XTAL);
+ m_k054539_2->set_addrmap(0, &rungun_state::k054539_map);
+ m_k054539_2->add_route(0, "rspeaker", 0.6);
+ m_k054539_2->add_route(1, "lspeaker", 0.6);
+}
// for dual-screen output Run and Gun requires the video de-multiplexer board connected to the Jamma output, this gives you 2 Jamma connectors, one for each screen.
// this means when operated as a single dedicated cabinet the game runs at 60fps, and has smoother animations than when operated as a twin setup where each
// screen only gets an update every other frame.
-MACHINE_CONFIG_START(rungun_state::rng_dual)
+void rungun_state::rng_dual(machine_config &config)
+{
rng(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(rungun_state, screen_update_rng_dual_left)
-
- MCFG_SCREEN_ADD("demultiplex2", RASTER)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(59.185606)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(64*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(88, 88+416-1, 24, 24+224-1)
- MCFG_SCREEN_UPDATE_DRIVER(rungun_state, screen_update_rng_dual_right)
- MCFG_SCREEN_PALETTE("palette2")
+ m_screen->set_screen_update(FUNC(rungun_state::screen_update_rng_dual_left));
+
+ screen_device &demultiplex2(SCREEN(config, "demultiplex2", SCREEN_TYPE_RASTER));
+ demultiplex2.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
+ demultiplex2.set_refresh_hz(59.185606);
+ demultiplex2.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ demultiplex2.set_size(64*8, 32*8);
+ demultiplex2.set_visarea(88, 88+416-1, 24, 24+224-1);
+ demultiplex2.set_screen_update(FUNC(rungun_state::screen_update_rng_dual_right));
+ demultiplex2.set_palette(m_palette2);
m_k053252->set_slave_screen("demultiplex2");
-MACHINE_CONFIG_END
+}
// Older non-US 53936/A13 roms were all returning bad from the mask ROM check. Using the US ROM on non-US reports good therefore I guess that data matches for that