summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/othello.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/othello.cpp')
-rw-r--r--src/mame/drivers/othello.cpp61
1 files changed, 31 insertions, 30 deletions
diff --git a/src/mame/drivers/othello.cpp b/src/mame/drivers/othello.cpp
index 440bc912f3f..1f27adf7746 100644
--- a/src/mame/drivers/othello.cpp
+++ b/src/mame/drivers/othello.cpp
@@ -387,25 +387,25 @@ void othello_state::machine_reset()
m_n7751_busy = 0;
}
-MACHINE_CONFIG_START(othello_state::othello)
-
+void othello_state::othello(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(8'000'000)/2)
- MCFG_DEVICE_PROGRAM_MAP(main_map)
- MCFG_DEVICE_IO_MAP(main_portmap)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", othello_state, irq0_line_hold)
-
- MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
- MCFG_DEVICE_PROGRAM_MAP(audio_map)
- MCFG_DEVICE_IO_MAP(audio_portmap)
-
- MCFG_DEVICE_ADD(m_n7751, N7751, XTAL(6'000'000))
- MCFG_MCS48_PORT_T1_IN_CB(CONSTANT(0)) // labelled as "TEST", connected to ground
- MCFG_MCS48_PORT_P2_IN_CB(READ8(*this, othello_state, n7751_command_r))
- MCFG_MCS48_PORT_BUS_IN_CB(READ8(*this, othello_state, n7751_rom_r))
- MCFG_MCS48_PORT_P1_OUT_CB(WRITE8("dac", dac_byte_interface, data_w))
- MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(*this, othello_state, n7751_p2_w))
- MCFG_MCS48_PORT_PROG_OUT_CB(WRITELINE(m_i8243, i8243_device, prog_w))
+ Z80(config, m_maincpu, XTAL(8'000'000)/2);
+ m_maincpu->set_addrmap(AS_PROGRAM, &othello_state::main_map);
+ m_maincpu->set_addrmap(AS_IO, &othello_state::main_portmap);
+ m_maincpu->set_vblank_int("screen", FUNC(othello_state::irq0_line_hold));
+
+ z80_device &audiocpu(Z80(config, "audiocpu", XTAL(3'579'545)));
+ audiocpu.set_addrmap(AS_PROGRAM, &othello_state::audio_map);
+ audiocpu.set_addrmap(AS_IO, &othello_state::audio_portmap);
+
+ N7751(config, m_n7751, XTAL(6'000'000));
+ m_n7751->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground
+ m_n7751->p2_in_cb().set(FUNC(othello_state::n7751_command_r));
+ m_n7751->bus_in_cb().set(FUNC(othello_state::n7751_rom_r));
+ m_n7751->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
+ m_n7751->p2_out_cb().set(FUNC(othello_state::n7751_p2_w));
+ m_n7751->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w));
I8243(config, m_i8243);
m_i8243->p4_out_cb().set(FUNC(othello_state::n7751_rom_addr_w<0>));
@@ -414,15 +414,14 @@ MACHINE_CONFIG_START(othello_state::othello)
m_i8243->p7_out_cb().set(FUNC(othello_state::n7751_rom_select_w));
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(64*6, 64*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 64*6-1, 0*8, 64*8-1)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
+ 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(64*6, 64*8);
+ screen.set_visarea(0*8, 64*6-1, 0*8, 64*8-1);
+ screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
- MCFG_PALETTE_ADD(m_palette, 0x10)
- MCFG_PALETTE_INIT_OWNER(othello_state, othello)
+ PALETTE(config, m_palette, 0x10).set_init(palette_init_delegate(FUNC(othello_state::palette_init_othello), this));
h46505_device &crtc(H46505(config, "crtc", 1000000 /* ? MHz */)); /* H46505 @ CPU clock */
crtc.set_screen("screen");
@@ -439,10 +438,12 @@ MACHINE_CONFIG_START(othello_state::othello)
AY8910(config, m_ay[1], 2000000).add_route(ALL_OUTPUTS, "speaker", 0.15);
- MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.3); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
ROM_START( othello )
ROM_REGION( 0x10000, "maincpu", 0 )