summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fanucspmg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fanucspmg.cpp')
-rw-r--r--src/mame/drivers/fanucspmg.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp
index 3e14e07baf9..03640e93f63 100644
--- a/src/mame/drivers/fanucspmg.cpp
+++ b/src/mame/drivers/fanucspmg.cpp
@@ -945,14 +945,15 @@ FLOPPY_FORMATS_MEMBER( fanucspmg_state::floppy_formats )
FLOPPY_IMD_FORMAT
FLOPPY_FORMATS_END
-MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
+void fanucspmg_state::fanucspmg(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD(MAINCPU_TAG, I8086, XTAL(15'000'000)/3)
- MCFG_DEVICE_PROGRAM_MAP(maincpu_mem)
- MCFG_DEVICE_IO_MAP(maincpu_io)
- MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic0", pic8259_device, inta_cb)
- MCFG_I8086_ESC_OPCODE_HANDLER(WRITE32("i8087", i8087_device, insn_w))
- MCFG_I8086_ESC_DATA_HANDLER(WRITE32("i8087", i8087_device, addr_w))
+ I8086(config, m_maincpu, XTAL(15'000'000)/3);
+ m_maincpu->set_addrmap(AS_PROGRAM, &fanucspmg_state::maincpu_mem);
+ m_maincpu->set_addrmap(AS_IO, &fanucspmg_state::maincpu_io);
+ m_maincpu->set_irq_acknowledge_callback("pic0", FUNC(pic8259_device::inta_cb));
+ m_maincpu->esc_opcode_handler().set("i8087", FUNC(i8087_device::insn_w));
+ m_maincpu->esc_data_handler().set("i8087", FUNC(i8087_device::addr_w));
i8087_device &i8087(I8087(config, "i8087", XTAL(15'000'000)/3));
i8087.set_addrmap(AS_PROGRAM, &fanucspmg_state::maincpu_mem);
@@ -960,8 +961,8 @@ MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
//i8087.irq().set_inputline("maincpu", INPUT_LINE_NMI); // TODO: presumably this is connected to the pic
i8087.busy().set_inputline("maincpu", INPUT_LINE_TEST);
- MCFG_DEVICE_ADD(SUBCPU_TAG, I8085A, XTAL(16'000'000)/2/2)
- MCFG_DEVICE_PROGRAM_MAP(subcpu_mem)
+ I8085A(config, m_subcpu, XTAL(16'000'000)/2/2);
+ m_subcpu->set_addrmap(AS_PROGRAM, &fanucspmg_state::subcpu_mem);
I8251(config, m_usart[0], 0);
I8251(config, m_usart[1], 0);
@@ -998,12 +999,12 @@ MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(m_pic[0], FUNC(pic8259_device::ir3_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(i8257_device::dreq0_w));
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", fanuc_floppies, "525dd", fanucspmg_state::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", fanuc_floppies, "525dd", fanucspmg_state::floppy_formats)
+ FLOPPY_CONNECTOR(config, FDC_TAG":0", fanuc_floppies, "525dd", fanucspmg_state::floppy_formats);
+ FLOPPY_CONNECTOR(config, FDC_TAG":1", fanuc_floppies, "525dd", fanucspmg_state::floppy_formats);
- MCFG_SCREEN_ADD( SCREEN_TAG, RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(15'000'000), 640, 0, 512, 390, 0, 384 )
- MCFG_SCREEN_UPDATE_DEVICE( CRTC_TAG, mc6845_device, screen_update )
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(15'000'000), 640, 0, 512, 390, 0, 384);
+ screen.set_screen_update(CRTC_TAG, FUNC(mc6845_device::screen_update));
HD6845(config, m_crtc, XTAL(8'000'000)/2);
m_crtc->set_screen(SCREEN_TAG);
@@ -1011,7 +1012,7 @@ MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(fanucspmg_state::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(fanucspmg_state::vsync_w));
-MACHINE_CONFIG_END
+}
void fanucspmg_state::fanucspmgm(machine_config &config)
{