From 53dc61b75c4637ffc7478851ce2a6ba6245487e1 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 25 Jun 2018 01:51:12 -0400 Subject: [PATCH] x68000.cpp: Derive clocks from XTAL values (nw) --- src/mame/drivers/x68k.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp index 38ef9c6496c..5c5be12e004 100644 --- a/src/mame/drivers/x68k.cpp +++ b/src/mame/drivers/x68k.cpp @@ -1637,15 +1637,15 @@ static void keyboard(device_slot_interface &device) MACHINE_CONFIG_START(x68k_state::x68000) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68000, 10000000) /* 10 MHz */ + MCFG_DEVICE_ADD("maincpu", M68000, 40_MHz_XTAL / 4) /* 10 MHz */ MCFG_DEVICE_PROGRAM_MAP(x68k_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(x68k_state,x68k_int_ack) MCFG_QUANTUM_TIME(attotime::from_hz(60)) /* device hardware */ - MCFG_DEVICE_ADD(MC68901_TAG, MC68901, 4000000) - MCFG_MC68901_TIMER_CLOCK(4000000) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, 16_MHz_XTAL / 4) + MCFG_MC68901_TIMER_CLOCK(16_MHz_XTAL / 4) MCFG_MC68901_RX_CLOCK(0) MCFG_MC68901_TX_CLOCK(0) MCFG_MC68901_OUT_IRQ_CB(WRITELINE(*this, x68k_state, mfp_irq_callback)) @@ -1669,9 +1669,9 @@ MACHINE_CONFIG_START(x68k_state::x68000) MCFG_HD63450_DMA_READ_0_CB(READ8("upd72065", upd72065_device, mdma_r)) MCFG_HD63450_DMA_WRITE_0_CB(WRITE8("upd72065", upd72065_device, mdma_w)) - MCFG_DEVICE_ADD("scc", SCC8530, 5000000) + MCFG_DEVICE_ADD("scc", SCC8530, 40_MHz_XTAL / 8) - MCFG_DEVICE_ADD(RP5C15_TAG, RP5C15, XTAL(32'768)) + MCFG_DEVICE_ADD(RP5C15_TAG, RP5C15, 32.768_kHz_XTAL) MCFG_RP5C15_OUT_ALARM_CB(WRITELINE(MC68901_TAG, mc68901_device, i0_w)) /* video hardware */ @@ -1695,13 +1695,13 @@ MACHINE_CONFIG_START(x68k_state::x68000) /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ym2151", YM2151, 4000000) + MCFG_DEVICE_ADD("ym2151", YM2151, 16_MHz_XTAL / 4) MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, x68k_state,x68k_fm_irq)) MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, x68k_state,x68k_ct_w)) // CT1, CT2 from YM2151 port 0x1b MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) - MCFG_DEVICE_ADD("okim6258", OKIM6258, 4000000) + MCFG_DEVICE_ADD("okim6258", OKIM6258, 16_MHz_XTAL / 4) MCFG_OKIM6258_DIVIDER(FOSC_DIV_BY_512) MCFG_OKIM6258_ADPCM_TYPE(TYPE_4BITS) MCFG_OKIM6258_OUT_BITS(OUTPUT_10BITS) @@ -1753,7 +1753,7 @@ MACHINE_CONFIG_START(x68k_state::x68ksupr) MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE6, "harddisk", SCSIHD, SCSI_ID_5) MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE7, "cdrom", SCSICD, SCSI_ID_6) - MCFG_DEVICE_ADD("mb89352", MB89352A, 0) + MCFG_DEVICE_ADD("mb89352", MB89352A, 40_MHz_XTAL / 8) MCFG_LEGACY_SCSI_PORT("scsi") MCFG_MB89352A_IRQ_CB(WRITELINE(*this, x68k_state, x68k_scsi_irq)) MCFG_MB89352A_DRQ_CB(WRITELINE(*this, x68k_state, x68k_scsi_drq)) @@ -1762,14 +1762,19 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(x68k_state::x68kxvi) x68ksupr(config); MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK(16000000) /* 16 MHz */ + MCFG_DEVICE_CLOCK(33.333_MHz_XTAL / 2) /* 16 MHz (nominally) */ MACHINE_CONFIG_END MACHINE_CONFIG_START(x68k_state::x68030) x68ksupr(config); - MCFG_DEVICE_REPLACE("maincpu", M68030, 25000000) /* 25 MHz 68EC030 */ + MCFG_DEVICE_REPLACE("maincpu", M68030, 50_MHz_XTAL / 2) /* 25 MHz 68EC030 */ MCFG_DEVICE_PROGRAM_MAP(x68030_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(x68k_state,x68k_int_ack) + + MCFG_DEVICE_MODIFY("scc") + MCFG_DEVICE_CLOCK(20_MHz_XTAL / 4) + MCFG_DEVICE_MODIFY("mb89352") + MCFG_DEVICE_CLOCK(20_MHz_XTAL / 4) MACHINE_CONFIG_END ROM_START( x68000 )