summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/olyboss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/olyboss.cpp')
-rw-r--r--src/mame/drivers/olyboss.cpp105
1 files changed, 51 insertions, 54 deletions
diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp
index 65229b9fcb4..fa4083ba1bb 100644
--- a/src/mame/drivers/olyboss.cpp
+++ b/src/mame/drivers/olyboss.cpp
@@ -430,19 +430,21 @@ static void bosscd_floppies(device_slot_interface &device)
// MACHINE CONFIGURATION
//**************************************************************************
-MACHINE_CONFIG_START( olyboss_state::olybossd )
- MCFG_DEVICE_ADD("maincpu", Z80, 4_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(olyboss_mem)
- MCFG_DEVICE_IO_MAP(olyboss_io)
- MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("uic", am9519_device, iack_cb)
+void olyboss_state::olybossd(machine_config &config)
+{
+ Z80(config, m_maincpu, 4_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &olyboss_state::olyboss_mem);
+ m_maincpu->set_addrmap(AS_IO, &olyboss_state::olyboss_io);
+ m_maincpu->set_irq_acknowledge_callback("uic", FUNC(am9519_device::iack_cb));
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_UPDATE_DEVICE(UPD3301_TAG, upd3301_device, screen_update)
- MCFG_SCREEN_SIZE(80*8, 28*11)
- MCFG_SCREEN_VISIBLE_AREA(0, (80*8)-1, 0, (28*11)-1)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
+ screen.set_color(rgb_t::green());
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
+ screen.set_size(80*8, 28*11);
+ screen.set_visarea(0, (80*8)-1, 0, (28*11)-1);
/* devices */
@@ -478,37 +480,37 @@ MACHINE_CONFIG_START( olyboss_state::olybossd )
/* keyboard */
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
keyboard.set_keyboard_callback(FUNC(olyboss_state::keyboard_put));
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START( olyboss_state::olybossb )
+void olyboss_state::olybossb(machine_config &config)
+{
olybossd(config);
- MCFG_DEVICE_REMOVE("fdc:0")
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START( olyboss_state::olybossc )
+ config.device_remove("fdc:0");
+ FLOPPY_CONNECTOR(config, "fdc:0", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "fdc:1", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
+}
+
+void olyboss_state::olybossc(machine_config &config)
+{
olybossd(config);
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bosscd_floppies, "525qd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
+ FLOPPY_CONNECTOR(config, "fdc:1", bosscd_floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
+}
-MACHINE_CONFIG_START( olyboss_state::bossb85 )
- MCFG_DEVICE_ADD("maincpu", I8085A, 4_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(olyboss_mem)
- MCFG_DEVICE_IO_MAP(olyboss85_io)
- MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(olyboss_state, irq_cb)
- MCFG_I8085A_SOD(WRITELINE(*this, olyboss_state, romdis_w))
+void olyboss_state::bossb85(machine_config &config)
+{
+ i8085a_cpu_device &maincpu(I8085A(config, m_maincpu, 4_MHz_XTAL));
+ maincpu.set_addrmap(AS_PROGRAM, &olyboss_state::olyboss_mem);
+ maincpu.set_addrmap(AS_IO, &olyboss_state::olyboss85_io);
+ maincpu.set_irq_acknowledge_callback(FUNC(olyboss_state::irq_cb));
+ maincpu.out_sod_func().set(FUNC(olyboss_state::romdis_w));
/* video hardware */
-
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_UPDATE_DEVICE(UPD3301_TAG, upd3301_device, screen_update)
- MCFG_SCREEN_SIZE(80*8, 28*11)
- MCFG_SCREEN_VISIBLE_AREA(0, (80*8)-1, 0, (28*11)-1)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
+ screen.set_color(rgb_t::green());
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
+ screen.set_size(80*8, 28*11);
+ screen.set_visarea(0, (80*8)-1, 0, (28*11)-1);
/* devices */
@@ -518,10 +520,8 @@ MACHINE_CONFIG_START( olyboss_state::bossb85 )
UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, I8085_RST65_LINE);
m_fdc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq0_w));
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
+ FLOPPY_CONNECTOR(config, "fdc:0", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "fdc:1", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
I8257(config, m_dma, XTAL(4'000'000));
m_dma->out_hrq_cb().set(FUNC(olyboss_state::hrq_w));
@@ -532,27 +532,24 @@ MACHINE_CONFIG_START( olyboss_state::bossb85 )
m_dma->out_iow_cb<2>().set(FUNC(olyboss_state::crtcdma_w));
m_dma->out_tc_cb().set(FUNC(olyboss_state::tc_w));
- MCFG_DEVICE_ADD(UPD3301_TAG, UPD3301, XTAL(14'318'181))
- MCFG_UPD3301_CHARACTER_WIDTH(8)
- MCFG_UPD3301_DRAW_CHARACTER_CALLBACK_OWNER(olyboss_state, olyboss_display_pixels)
- MCFG_UPD3301_DRQ_CALLBACK(WRITELINE(m_dma, i8257_device, dreq2_w))
- MCFG_UPD3301_INT_CALLBACK(INPUTLINE("maincpu", I8085_RST75_LINE))
- MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
+ UPD3301(config, m_crtc, XTAL(14'318'181));
+ m_crtc->set_character_width(8);
+ m_crtc->set_display_callback(FUNC(olyboss_state::olyboss_display_pixels));
+ m_crtc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
+ m_crtc->int_wr_callback().set_inputline("maincpu", I8085_RST75_LINE);
+ m_crtc->set_screen(SCREEN_TAG);
/* keyboard */
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
keyboard.set_keyboard_callback(FUNC(olyboss_state::keyboard85_put));
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START( olyboss_state::bossa85 )
+void olyboss_state::bossa85(machine_config &config)
+{
bossb85(config);
- MCFG_DEVICE_REMOVE("fdc:0")
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bossa_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_DEVICE_REMOVE("fdc:1")
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bossa_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
+ FLOPPY_CONNECTOR(config.replace(), "fdc:0", bossa_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config.replace(), "fdc:1", bossa_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
+}
//**************************************************************************
// ROM DEFINITIONS