summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/apple3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/apple3.cpp')
-rw-r--r--src/mame/drivers/apple3.cpp27
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>));