diff options
Diffstat (limited to 'src/mame/drivers/applix.cpp')
-rw-r--r-- | src/mame/drivers/applix.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp index 2176f468202..01b3043ef01 100644 --- a/src/mame/drivers/applix.cpp +++ b/src/mame/drivers/applix.cpp @@ -847,14 +847,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(applix_state::cass_timer) } } -MACHINE_CONFIG_START(applix_state::applix) +void applix_state::applix(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68000, 30_MHz_XTAL / 4) // MC68000-P10 @ 7.5 MHz - MCFG_DEVICE_PROGRAM_MAP(applix_mem) + M68000(config, m_maincpu, 30_MHz_XTAL / 4); // MC68000-P10 @ 7.5 MHz + m_maincpu->set_addrmap(AS_PROGRAM, &applix_state::applix_mem); - MCFG_DEVICE_ADD("subcpu", Z80, 16_MHz_XTAL / 2) // Z80H - MCFG_DEVICE_PROGRAM_MAP(subcpu_mem) - MCFG_DEVICE_IO_MAP(subcpu_io) + z80_device &subcpu(Z80(config, "subcpu", 16_MHz_XTAL / 2)); // Z80H + subcpu.set_addrmap(AS_PROGRAM, &applix_state::subcpu_mem); + subcpu.set_addrmap(AS_IO, &applix_state::subcpu_io); i8051_device &kbdcpu(I8051(config, "kbdcpu", 11060250)); kbdcpu.set_addrmap(AS_PROGRAM, &applix_state::keytronic_pc3270_program); @@ -867,24 +868,24 @@ MACHINE_CONFIG_START(applix_state::applix) kbdcpu.port_out_cb<3>().set(FUNC(applix_state::p3_write)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(640, 200) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1) - MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(640, 200); + screen.set_visarea_full(); + screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); PALETTE(config, m_palette, FUNC(applix_state::applix_palette), 16); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ldac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23 - MCFG_DEVICE_ADD("rdac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23 - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + DAC0800(config, "ldac", 0).add_route(ALL_OUTPUTS, "lspeaker", 1.0); // 74ls374.u20 + dac0800.u21 + 4052.u23 + DAC0800(config, "rdac", 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // 74ls374.u20 + dac0800.u21 + 4052.u23 + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "lspeaker", 0.50); + WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "lspeaker", 0.50); /* Devices */ MC6845(config, m_crtc, 30_MHz_XTAL / 16); // MC6545 @ 1.875 MHz @@ -904,22 +905,21 @@ MACHINE_CONFIG_START(applix_state::applix) m_via->writepb_handler().set(FUNC(applix_state::applix_pb_w)); m_via->irq_handler().set_inputline("maincpu", M68K_IRQ_2); - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("via6522", via6522_device, write_ca1)) - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("via6522", via6522_device, write_pa0)) + CENTRONICS(config, m_centronics, centronics_devices, "printer"); + m_centronics->ack_handler().set(m_via, FUNC(via6522_device::write_ca1)); + m_centronics->busy_handler().set(m_via, FUNC(via6522_device::write_pa0)); - MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") + OUTPUT_LATCH(config, m_cent_data_out); + m_centronics->set_output_latch(*m_cent_data_out); - MCFG_CASSETTE_ADD("cassette") - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED) + CASSETTE(config, m_cass); + m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED); WD1772(config, m_fdc, 16_MHz_XTAL / 2); //connected to Z80H clock pin - MCFG_FLOPPY_DRIVE_ADD("fdc:0", applix_floppies, "35dd", applix_state::floppy_formats) - MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", applix_floppies, "35dd", applix_state::floppy_formats) - MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_TIMER_DRIVER_ADD_PERIODIC("applix_c", applix_state, cass_timer, attotime::from_hz(100000)) -MACHINE_CONFIG_END + FLOPPY_CONNECTOR(config, "fdc:0", applix_floppies, "35dd", applix_state::floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, "fdc:1", applix_floppies, "35dd", applix_state::floppy_formats).enable_sound(true); + TIMER(config, "applix_c").configure_periodic(FUNC(applix_state::cass_timer), attotime::from_hz(100000)); +} /* ROM definition */ ROM_START( applix ) |