summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/paranoia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/paranoia.cpp')
-rw-r--r--src/mame/drivers/paranoia.cpp46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/mame/drivers/paranoia.cpp b/src/mame/drivers/paranoia.cpp
index affe48db73e..e51b1d7e0bd 100644
--- a/src/mame/drivers/paranoia.cpp
+++ b/src/mame/drivers/paranoia.cpp
@@ -165,8 +165,7 @@ WRITE_LINE_MEMBER(paranoia_state::i8155_timer_out)
//logerror("Timer out %d\n", state);
}
-void paranoia_state::paranoia(machine_config &config)
-{
+MACHINE_CONFIG_START(paranoia_state::paranoia)
/* basic machine hardware */
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
m_maincpu->set_addrmap(AS_PROGRAM, &paranoia_state::pce_mem);
@@ -176,15 +175,15 @@ void paranoia_state::paranoia(machine_config &config)
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
- i8085a_cpu_device &sub(I8085A(config, "sub", 18000000/3));
- sub.set_addrmap(AS_PROGRAM, &paranoia_state::paranoia_8085_map);
- sub.set_addrmap(AS_IO, &paranoia_state::paranoia_8085_io_map);
+ MCFG_DEVICE_ADD("sub", I8085A, 18000000/3)
+ MCFG_DEVICE_PROGRAM_MAP(paranoia_8085_map)
+ MCFG_DEVICE_IO_MAP(paranoia_8085_io_map)
- z80_device &sub2(Z80(config, "sub2", 18000000/6));
- sub2.set_addrmap(AS_PROGRAM, &paranoia_state::paranoia_z80_map);
- sub2.set_addrmap(AS_IO, &paranoia_state::paranoia_z80_io_map);
+ MCFG_DEVICE_ADD("sub2", Z80, 18000000/6)
+ MCFG_DEVICE_PROGRAM_MAP(paranoia_z80_map)
+ MCFG_DEVICE_IO_MAP(paranoia_z80_io_map)
i8155_device &i8155(I8155(config, "i8155", 1000000 /*?*/));
i8155.out_pa_callback().set(FUNC(paranoia_state::i8155_a_w));
@@ -193,24 +192,23 @@ void paranoia_state::paranoia(machine_config &config)
i8155.out_to_callback().set(FUNC(paranoia_state::i8155_timer_out));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
- screen.set_screen_update(FUNC(pce_common_state::screen_update));
- screen.set_palette(m_huc6260);
-
- HUC6260(config, m_huc6260, PCE_MAIN_CLOCK);
- m_huc6260->next_pixel_data().set("huc6270", FUNC(huc6270_device::next_pixel));
- m_huc6260->time_til_next_event().set("huc6270", FUNC(huc6270_device::time_until_next_event));
- m_huc6260->vsync_changed().set("huc6270", FUNC(huc6270_device::vsync_changed));
- m_huc6260->hsync_changed().set("huc6270", FUNC(huc6270_device::hsync_changed));
-
- huc6270_device &huc6270(HUC6270(config, "huc6270", 0));
- huc6270.set_vram_size(0x10000);
- huc6270.irq().set_inputline(m_maincpu, 0);
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242)
+ MCFG_SCREEN_UPDATE_DRIVER( pce_common_state, screen_update )
+ MCFG_SCREEN_PALETTE("huc6260")
+
+ MCFG_DEVICE_ADD( "huc6260", HUC6260, PCE_MAIN_CLOCK )
+ MCFG_HUC6260_NEXT_PIXEL_DATA_CB(READ16("huc6270", huc6270_device, next_pixel))
+ MCFG_HUC6260_TIME_TIL_NEXT_EVENT_CB(READ16("huc6270", huc6270_device, time_until_next_event))
+ MCFG_HUC6260_VSYNC_CHANGED_CB(WRITELINE("huc6270", huc6270_device, vsync_changed))
+ MCFG_HUC6260_HSYNC_CHANGED_CB(WRITELINE("huc6270", huc6270_device, hsync_changed))
+ MCFG_DEVICE_ADD( "huc6270", HUC6270, 0 )
+ MCFG_HUC6270_VRAM_SIZE(0x10000)
+ MCFG_HUC6270_IRQ_CHANGED_CB(INPUTLINE("maincpu", 0))
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-}
+MACHINE_CONFIG_END
ROM_START(paranoia)
ROM_REGION( 0x40000, "maincpu", 0 )