summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/terracre.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/terracre.cpp')
-rw-r--r--src/mame/drivers/terracre.cpp92
1 files changed, 46 insertions, 46 deletions
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index 745c79bf475..065d931c2c5 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -454,27 +454,26 @@ static GFXDECODE_START( gfx_terracre )
GFXDECODE_END
-void terracre_state::ym3526(machine_config &config)
-{
- M68000(config, m_maincpu, XTAL(16'000'000)/2); // 8mhz
- m_maincpu->set_addrmap(AS_PROGRAM, &terracre_state::terracre_map);
- m_maincpu->set_vblank_int("screen", FUNC(terracre_state::irq1_line_hold));
-
- z80_device &audiocpu(Z80(config, "audiocpu", XTAL(16'000'000)/4)); // 4.0mhz when compared to sound recordings, should be derived from XTAL(22'000'000)? how?
- audiocpu.set_addrmap(AS_PROGRAM, &terracre_state::sound_map);
- audiocpu.set_addrmap(AS_IO, &terracre_state::sound_3526_io_map);
- audiocpu.set_periodic_int(FUNC(terracre_state::irq0_line_hold), attotime::from_hz(XTAL(16'000'000)/4/512)); // ?
-
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(terracre_state::screen_update_amazon));
- screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
- screen.set_palette(m_palette);
+MACHINE_CONFIG_START(terracre_state::ym3526)
+ MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) // 8mhz
+ MCFG_DEVICE_PROGRAM_MAP(terracre_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", terracre_state, irq1_line_hold)
+
+ MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4) // 4.0mhz when compared to sound recordings, should be derived from XTAL(22'000'000)? how?
+ MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MCFG_DEVICE_IO_MAP(sound_3526_io_map)
+ MCFG_DEVICE_PERIODIC_INT_DRIVER(terracre_state, irq0_line_hold, XTAL(16'000'000)/4/512) // ?
+
+ MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
+
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE( 60 )
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
+ MCFG_SCREEN_SIZE(32*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(terracre_state, screen_update_amazon)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
+ MCFG_SCREEN_PALETTE(m_palette)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_terracre);
PALETTE(config, m_palette, FUNC(terracre_state::terracre_palette), 1*16+16*16+16*256, 256);
@@ -483,42 +482,43 @@ void terracre_state::ym3526(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
- YM3526(config, "ymsnd", XTAL(16'000'000)/4).add_route(ALL_OUTPUTS, "speaker", 1.0);
+ MCFG_DEVICE_ADD("ymsnd", YM3526, XTAL(16'000'000)/4)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
- vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
-void terracre_state::ym2203(machine_config &config)
-{
+MACHINE_CONFIG_START(terracre_state::ym2203)
ym3526(config);
- subdevice<z80_device>("audiocpu")->set_addrmap(AS_IO, &terracre_state::sound_2203_io_map);
+ MCFG_DEVICE_MODIFY("audiocpu")
+ MCFG_DEVICE_IO_MAP(sound_2203_io_map)
- config.device_remove("ymsnd");
+ MCFG_DEVICE_REMOVE("ymsnd")
- ym2203_device &ym1(YM2203(config, "ym1", XTAL(16'000'000)/4));
- ym1.add_route(0, "speaker", 0.2);
- ym1.add_route(1, "speaker", 0.2);
- ym1.add_route(2, "speaker", 0.2);
- ym1.add_route(3, "speaker", 0.4);
-}
+ MCFG_DEVICE_ADD("ym1", YM2203, XTAL(16'000'000)/4)
+ MCFG_SOUND_ROUTE(0, "speaker", 0.2)
+ MCFG_SOUND_ROUTE(1, "speaker", 0.2)
+ MCFG_SOUND_ROUTE(2, "speaker", 0.2)
+ MCFG_SOUND_ROUTE(3, "speaker", 0.4)
+MACHINE_CONFIG_END
-void terracre_state::amazon_base(machine_config &config)
-{
+MACHINE_CONFIG_START(terracre_state::amazon_base)
ym3526(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &terracre_state::amazon_base_map);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(amazon_base_map)
+MACHINE_CONFIG_END
-void amazon_state::amazon_1412m2(machine_config &config)
-{
+MACHINE_CONFIG_START(amazon_state::amazon_1412m2)
amazon_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &amazon_state::amazon_1412m2_map);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(amazon_1412m2_map)
NB1412M2(config, m_prot, XTAL(16'000'000)); // divided by 4 maybe
-}
+MACHINE_CONFIG_END
/**************************************