diff options
Diffstat (limited to 'src/mame/drivers/apple3.cpp')
-rw-r--r-- | src/mame/drivers/apple3.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp index 98672ccd89c..083cda9b91a 100644 --- a/src/mame/drivers/apple3.cpp +++ b/src/mame/drivers/apple3.cpp @@ -57,7 +57,7 @@ FLOPPY_FORMATS_END MACHINE_CONFIG_START(apple3_state::apple3) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6502, 2000000) /* 2 MHz */ + MCFG_DEVICE_ADD("maincpu", M6502, 14.318181_MHz_XTAL / 7) /* 2 MHz */ MCFG_M6502_SYNC_CALLBACK(WRITELINE(*this, apple3_state, apple3_sync_w)) MCFG_DEVICE_PROGRAM_MAP(apple3_map) MCFG_QUANTUM_TIME(attotime::from_hz(60)) @@ -66,24 +66,17 @@ MACHINE_CONFIG_START(apple3_state::apple3) mainirq.output_handler().set_inputline(m_maincpu, m6502_device::IRQ_LINE); mainirq.output_handler().append(m_via[1], FUNC(via6522_device::write_pa7)).invert(); // this is active low - MCFG_MACHINE_RESET_OVERRIDE(apple3_state, apple3 ) - /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE((280*2)+32, 224) - MCFG_SCREEN_VISIBLE_AREA(0, (280*2)-1,0,192-1) - MCFG_SCREEN_UPDATE_DRIVER(apple3_state, screen_update_apple3) - MCFG_SCREEN_PALETTE("palette") + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_raw(14.318181_MHz_XTAL, 910, 0, 560, 262, 0, 192); + m_screen->set_screen_update(FUNC(apple3_state::screen_update)); + m_screen->set_palette("palette"); + m_screen->screen_vblank().set(m_via[1], FUNC(via6522_device::write_cb1)); + m_screen->screen_vblank().append(m_via[1], FUNC(via6522_device::write_cb2)); MCFG_PALETTE_ADD("palette", 32) MCFG_PALETTE_INIT_OWNER(apple3_state, apple3 ) - MCFG_VIDEO_START_OVERRIDE(apple3_state, apple3 ) - - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", apple3_state, apple3_interrupt, "screen", 0, 1) - /* keyboard controller */ MCFG_DEVICE_ADD("ay3600", AY3600, 0) MCFG_AY3600_MATRIX_X0(IOPORT("X0")) @@ -138,15 +131,15 @@ MACHINE_CONFIG_START(apple3_state::apple3) MCFG_TIMER_DRIVER_ADD("pdltimer", apple3_state, paddle_timer); /* rtc */ - MCFG_DEVICE_ADD("rtc", MM58167, XTAL(32'768)) + MCFG_DEVICE_ADD("rtc", MM58167, 32.768_kHz_XTAL) /* via */ - VIA6522(config, m_via[0], 1000000); + VIA6522(config, m_via[0], 14.318181_MHz_XTAL / 14); m_via[0]->writepa_handler().set(FUNC(apple3_state::apple3_via_0_out_a)); m_via[0]->writepb_handler().set(FUNC(apple3_state::apple3_via_0_out_b)); m_via[0]->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<2>)); - VIA6522(config, m_via[1], 1000000); + VIA6522(config, m_via[1], 14.318181_MHz_XTAL / 14); m_via[1]->writepa_handler().set(FUNC(apple3_state::apple3_via_1_out_a)); m_via[1]->writepb_handler().set(FUNC(apple3_state::apple3_via_1_out_b)); m_via[1]->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>)); |