summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-06-25 01:51:12 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-06-25 01:51:42 -0400
commit53dc61b75c4637ffc7478851ce2a6ba6245487e1 (patch)
treee299d9bc65af81650433b7fd406e9cc806e81d36
parentb226eb55a2fa2af1f81038a458f7793fb13cf232 (diff)
x68000.cpp: Derive clocks from XTAL values (nw)
-rw-r--r--src/mame/drivers/x68k.cpp25
1 files 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 )