diff options
Diffstat (limited to 'src/mame/drivers/pg685.cpp')
-rw-r--r-- | src/mame/drivers/pg685.cpp | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp index 177fadb2ca4..ce2c1294daa 100644 --- a/src/mame/drivers/pg685.cpp +++ b/src/mame/drivers/pg685.cpp @@ -185,7 +185,7 @@ void pg685_state::pg685_mem(address_map &map) { map.unmap_value_high(); pg675_mem(map); - map(0xf9f34, 0xf9f37).rw("bppit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)); + map(0xf9f34, 0xf9f37).rw(m_bppit, FUNC(pit8253_device::read), FUNC(pit8253_device::write)); map(0xf9f38, 0xf9f3b).rw("bpuart", FUNC(mc2661_device::read), FUNC(mc2661_device::write)); map(0xf9f3c, 0xf9f3d).rw("bppic", FUNC(pic8259_device::read), FUNC(pic8259_device::write)); map(0xf9f3e, 0xf9f3e).w(FUNC(pg685_state::f9f3e_w)); @@ -211,7 +211,7 @@ void pg685_state::pg685oua12_mem(address_map &map) map(0xf9f30, 0xf9f31).rw("moduart", FUNC(i8251_device::read), FUNC(i8251_device::write)); map(0xf9f32, 0xf9f32).w(FUNC(pg685_state::f9f32_w)); map(0xf9f33, 0xf9f33).r(FUNC(pg685_state::f9f33_r)); - map(0xf9f34, 0xf9f37).rw("bppit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)); + map(0xf9f34, 0xf9f37).rw(m_bppit, FUNC(pit8253_device::read), FUNC(pit8253_device::write)); map(0xf9f38, 0xf9f3b).rw("bpuart", FUNC(mc2661_device::read), FUNC(mc2661_device::write)); map(0xf9f3c, 0xf9f3d).rw("bppic", FUNC(pic8259_device::read), FUNC(pic8259_device::write)); map(0xf9f3e, 0xf9f3e).w(FUNC(pg685_state::f9f3e_w)); @@ -395,30 +395,31 @@ MC6845_UPDATE_ROW( pg685_state::crtc_update_row_oua12 ) // MACHINE DRIVERS //************************************************************************** -MACHINE_CONFIG_START(pg685_state::pg685_backplane) - MCFG_DEVICE_ADD("bppit", PIT8253, 0) - MCFG_PIT8253_CLK0(XTAL(12'288'000) / 10) // same input clock as for PC16-11? - MCFG_PIT8253_CLK1(XTAL(12'288'000) / 10) - MCFG_PIT8253_CLK2(XTAL(12'288'000) / 10) +void pg685_state::pg685_backplane(machine_config &config) +{ + PIT8253(config, m_bppit, 0); + m_bppit->set_clk<0>(XTAL(12'288'000) / 10); // same input clock as for PC16-11? + m_bppit->set_clk<1>(XTAL(12'288'000) / 10); + m_bppit->set_clk<2>(XTAL(12'288'000) / 10); - MCFG_DEVICE_ADD("bppic", PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(NOOP) // configured in single 8086 mode? + pic8259_device &bppic(PIC8259(config, "bppic", 0)); + bppic.out_int_callback().set_nop(); // configured in single 8086 mode? - MCFG_DEVICE_ADD("bpuart", MC2661, 4915200) -MACHINE_CONFIG_END + MC2661(config, "bpuart", 4915200); +} -MACHINE_CONFIG_START(pg685_state::pg685_module) +void pg685_state::pg685_module(machine_config &config) +{ FD1797(config, m_fdc, XTAL(4'000'000) / 2); // divider guessed m_fdc->intrq_wr_callback().set("mainpic", FUNC(pic8259_device::ir4_w)); - MCFG_DEVICE_ADD("modppi1", I8255, 0) - MCFG_DEVICE_ADD("modppi2", I8255, 0) + I8255(config, "modppi1", 0); + I8255(config, "modppi2", 0); - MCFG_DEVICE_ADD("moduart", I8251, XTAL(4'000'000) / 2) // divider guessed + I8251(config, "moduart", XTAL(4'000'000) / 2); // divider guessed - MCFG_DEVICE_ADD("rtc", MM58167, XTAL(32'768)) - -MACHINE_CONFIG_END + MM58167(config, "rtc", XTAL(32'768)); +} MACHINE_CONFIG_START(pg685_state::pg675) // main cpu @@ -426,9 +427,9 @@ MACHINE_CONFIG_START(pg685_state::pg675) MCFG_DEVICE_PROGRAM_MAP(pg675_mem) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb) - MCFG_DEVICE_ADD("mainpic", PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0)) - MCFG_PIC8259_IN_SP_CB(CONSTANT(1)) + pic8259_device &mainpic(PIC8259(config, "mainpic", 0)); + mainpic.out_int_callback().set_inputline(m_maincpu, 0); + mainpic.in_sp_callback().set_constant(1); // i/o cpu @@ -475,9 +476,9 @@ MACHINE_CONFIG_START(pg685_state::pg685) MCFG_DEVICE_PROGRAM_MAP(pg685_mem) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb) - MCFG_DEVICE_ADD("mainpic", PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0)) - MCFG_PIC8259_IN_SP_CB(CONSTANT(1)) + pic8259_device &mainpic(PIC8259(config, "mainpic", 0)); + mainpic.out_int_callback().set_inputline(m_maincpu, 0); + mainpic.in_sp_callback().set_constant(1); // i/o cpu @@ -526,9 +527,9 @@ MACHINE_CONFIG_START(pg685_state::pg685oua12) MCFG_DEVICE_PROGRAM_MAP(pg685oua12_mem) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb) - MCFG_DEVICE_ADD("mainpic", PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0)) - MCFG_PIC8259_IN_SP_CB(CONSTANT(1)) + pic8259_device &mainpic(PIC8259(config, "mainpic", 0)); + mainpic.out_int_callback().set_inputline(m_maincpu, 0); + mainpic.in_sp_callback().set_constant(1); // i/o cpu |