summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hec2hrp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hec2hrp.cpp')
-rw-r--r--src/mame/drivers/hec2hrp.cpp277
1 files changed, 147 insertions, 130 deletions
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index bfa41800e1f..d1697dd1984 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -110,7 +110,7 @@ void hec2hrp_state::hecdisc2_io(address_map &map)
map(0x050, 0x05f).rw(FUNC(hec2hrp_state::disc2_io50_port_r), FUNC(hec2hrp_state::disc2_io50_port_w));
// uPD765 link
map(0x060, 0x061).m(m_upd_fdc, FUNC(upd765a_device::map));
- map(0x070, 0x07f).rw(m_upd_fdc, FUNC(upd765a_device::mdma_r), FUNC(upd765a_device::mdma_w));
+ map(0x070, 0x070).mirror(0x00f).rw(m_upd_fdc, FUNC(upd765a_device::dma_r), FUNC(upd765a_device::dma_w));
}
void hec2hrp_state::hec2hrp_mem(address_map &map)
@@ -394,212 +394,229 @@ static void minidisc_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(hec2hrp_state::hec2hr)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrp_mem)
- MCFG_DEVICE_IO_MAP(hec2hrp_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) /* put on the Z80 irq in Hz*/
+void hec2hrp_state::hec2hr(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrp_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2hrp_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
+
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
- MCFG_PALETTE_ADD("palette", 16)
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
+
+ PRINTER(config, m_printer, 0);
+}
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+void hec2hrp_state::hec2hrp(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrp_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2hrp_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
-MACHINE_CONFIG_START(hec2hrp_state::hec2hrp)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrp_mem)
- MCFG_DEVICE_IO_MAP(hec2hrp_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) /* put on the Z80 irq in Hz*/
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
- MCFG_PALETTE_ADD("palette", 16)
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+ PRINTER(config, m_printer, 0);
+}
static void hector_floppies(device_slot_interface &device)
{
device.option_add("525hd", FLOPPY_525_HD);
}
-MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
- MCFG_DEVICE_IO_MAP(hec2mx40_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
+void hec2hrp_state::hec2mx40(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrx_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2mx40_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
+
+ Z80(config, m_disc2cpu, 4_MHz_XTAL);
+ m_disc2cpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hecdisc2_mem);
+ m_disc2cpu->set_addrmap(AS_IO, &hec2hrp_state::hecdisc2_io);
- MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
- MCFG_DEVICE_IO_MAP(hecdisc2_io)
UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
+
+ FLOPPY_CONNECTOR(config, m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+ FLOPPY_CONNECTOR(config, m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
- MCFG_PALETTE_ADD("palette", 16)
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+ PRINTER(config, m_printer, 0);
+}
-MACHINE_CONFIG_START(hec2hrp_state::hec2hrx)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
- MCFG_DEVICE_IO_MAP(hec2hrx_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
+void hec2hrp_state::hec2hrx(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrx_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2hrx_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
+
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
- MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
- MCFG_DEVICE_IO_MAP(hecdisc2_io)
+ Z80(config, m_disc2cpu, 4_MHz_XTAL);
+ m_disc2cpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hecdisc2_mem);
+ m_disc2cpu->set_addrmap(AS_IO, &hec2hrp_state::hecdisc2_io);
+
UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
-
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_PALETTE_ADD("palette", 16)
+
+ FLOPPY_CONNECTOR(config, m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+ FLOPPY_CONNECTOR(config, m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
+
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+ PRINTER(config, m_printer, 0);
+}
+
+void hec2hrp_state::hec2mdhrx(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrx_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2mdhrx_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
-MACHINE_CONFIG_START(hec2hrp_state::hec2mdhrx)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
- MCFG_DEVICE_IO_MAP(hec2mdhrx_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2mdhrx)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2mdhrx)
/* 3.5" ("mini") disc */
FD1793(config, m_minidisc_fdc, 1_MHz_XTAL);
- MCFG_FLOPPY_DRIVE_ADD("wd179x:0", minidisc_floppies, "dd", hec2hrp_state::minidisc_formats)
+ FLOPPY_CONNECTOR(config, "wd179x:0", minidisc_floppies, "dd", hec2hrp_state::minidisc_formats);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
- MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_PALETTE_ADD("palette", 16)
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
+
+ PRINTER(config, m_printer, 0);
+}
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+void hec2hrp_state::hec2mx80(machine_config &config)
+{
+ Z80(config, m_maincpu, 5_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrx_mem);
+ m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2mx80_io);
+ m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/
-MACHINE_CONFIG_START(hec2hrp_state::hec2mx80)
- MCFG_DEVICE_ADD("maincpu", Z80, 5_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
- MCFG_DEVICE_IO_MAP(hec2mx80_io)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
- MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
- MCFG_DEVICE_IO_MAP(hecdisc2_io)
+ Z80(config, m_disc2cpu, 4_MHz_XTAL);
+ m_disc2cpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hecdisc2_mem);
+ m_disc2cpu->set_addrmap(AS_IO, &hec2hrp_state::hecdisc2_io);
+
UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
-
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400)) /* 2500 not accurate */
- MCFG_SCREEN_SIZE(512, 230)
- MCFG_SCREEN_VISIBLE_AREA(0, 243, 0, 227)
- MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_PALETTE_ADD("palette", 16)
+
+ FLOPPY_CONNECTOR(config, m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+ FLOPPY_CONNECTOR(config, m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats);
+
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */
+ screen.set_size(512, 230);
+ screen.set_visarea(0, 243, 0, 227);
+ screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp));
+ screen.set_palette(m_palette);
+
+ PALETTE(config, m_palette).set_entries(16);
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
- MCFG_CASSETTE_ADD( "cassette" )
- MCFG_CASSETTE_FORMATS(hector_cassette_formats)
- MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
+ CASSETTE(config, m_cassette);
+ m_cassette->set_formats(hector_cassette_formats);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
+ PRINTER(config, m_printer, 0);
+}
ROM_START( hec2hr )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )