diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-07-21 00:39:21 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-07-21 00:39:21 -0400 |
commit | 445c94120b997e8131eedf4fd0a49d4cbb35ce79 (patch) | |
tree | 4468d11a99fe88f5131bafad770da3a5b9c90e48 | |
parent | 4bd63272aa42dcc3862f7edeffa6942a7b87d360 (diff) |
pc9801.cpp: Eliminate bogus XTALs (nw)
-rw-r--r-- | src/devices/bus/cbus/pc9801_26.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/cbus/pc9801_amd98.cpp | 8 | ||||
-rw-r--r-- | src/emu/xtal.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/pc9801.cpp | 9 |
4 files changed, 10 insertions, 14 deletions
diff --git a/src/devices/bus/cbus/pc9801_26.cpp b/src/devices/bus/cbus/pc9801_26.cpp index 2e2001b7781..729e173bec3 100644 --- a/src/devices/bus/cbus/pc9801_26.cpp +++ b/src/devices/bus/cbus/pc9801_26.cpp @@ -18,8 +18,6 @@ #include "speaker.h" -#define MAIN_CLOCK_X1 XTAL(1'996'800) - //************************************************************************** // GLOBAL VARIABLES //************************************************************************** @@ -40,7 +38,7 @@ WRITE_LINE_MEMBER(pc9801_26_device::sound_irq) MACHINE_CONFIG_START(pc9801_26_device::device_add_mconfig) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("opn", YM2203, MAIN_CLOCK_X1*2) // unknown clock / divider + MCFG_DEVICE_ADD("opn", YM2203, 15.9744_MHz_XTAL / 4) // divider not verified MCFG_YM2203_IRQ_HANDLER(WRITELINE(*this, pc9801_26_device, sound_irq)) MCFG_AY8910_PORT_A_READ_CB(READ8(*this, pc9801_26_device, opn_porta_r)) //MCFG_AY8910_PORT_B_READ_CB(READ8(*this, pc9801_state, opn_portb_r)) diff --git a/src/devices/bus/cbus/pc9801_amd98.cpp b/src/devices/bus/cbus/pc9801_amd98.cpp index 84f69c47999..f6114cb2dc7 100644 --- a/src/devices/bus/cbus/pc9801_amd98.cpp +++ b/src/devices/bus/cbus/pc9801_amd98.cpp @@ -32,8 +32,6 @@ #include "speaker.h" -#define MAIN_CLOCK_X1 XTAL(1'996'800) - //************************************************************************** // GLOBAL VARIABLES //************************************************************************** @@ -48,17 +46,17 @@ DEFINE_DEVICE_TYPE(PC9801_AMD98, pc9801_amd98_device, "pc9801_amd98", "pc9801_am MACHINE_CONFIG_START(pc9801_amd98_device::device_add_mconfig) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ay1", AY8910, MAIN_CLOCK_X1*2) + MCFG_DEVICE_ADD("ay1", AY8910, 1'996'800) MCFG_AY8910_PORT_A_READ_CB(IOPORT("OPN_PA1")) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, pc9801_amd98_device,ay3_address_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) - MCFG_DEVICE_ADD("ay2", AY8910, MAIN_CLOCK_X1*2) + MCFG_DEVICE_ADD("ay2", AY8910, 1'996'800) MCFG_AY8910_PORT_A_READ_CB(IOPORT("OPN_PA2")) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, pc9801_amd98_device,ay3_data_latch_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) - MCFG_DEVICE_ADD("ay3", AY8910, MAIN_CLOCK_X1*2) + MCFG_DEVICE_ADD("ay3", AY8910, 1'996'800) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) MACHINE_CONFIG_END diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp index ac1c13484e3..c05b475be04 100644 --- a/src/emu/xtal.cpp +++ b/src/emu/xtal.cpp @@ -75,11 +75,10 @@ const double XTAL::known_xtals[] = { 1'750'000, /* 1.75_MHz_XTAL RCA CDP1861 */ 1'797'100, /* 1.7971_MHz_XTAL SWTPC 6800 (with MIKBUG) */ 1'843'200, /* 1.8432_MHz_XTAL Bondwell 12/14 */ - 1'996'800, /* 1.9968_MHz_XTAL NEC PC-98xx */ 2'000'000, /* 2_MHz_XTAL - */ 2'012'160, /* 2.01216_MHz_XTAL Cidelsa Draco sound board */ 2'097'152, /* 2.097152_MHz_XTAL Icatel 1995 - Brazilian public payphone */ - 2'457'600, /* 2.4576_MHz_XTAL Atari ST MFP, NEC PC-98xx */ + 2'457'600, /* 2.4576_MHz_XTAL Atari ST MFP */ 2'500'000, /* 2.5_MHz_XTAL Janken Man units */ 2'950'000, /* 2.95_MHz_XTAL Playmatic MPU-C, MPU-III & Sound-3 */ 3'000'000, /* 3_MHz_XTAL Probably only used to drive 68705 or similar MCUs on 80's Taito PCBs */ diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index a4757661e0d..e4604029231 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -1798,13 +1798,14 @@ READ8_MEMBER(pc9801_state::get_slave_ack) * ****************************************/ -/* basically, PC-98xx series has two xtals. - My guess is that both are on the PCB, and they clocks the various system components. +/* These rates do NOT appear to represent actual XTALs. They are likely obtained in + different ways on different PC-98 models as divisions of extant XTAL frequencies + such as 14.7456 MHz, 15.9744 MHz, 19.6608 MHz and 23.9616 MHz. PC-9801RS needs X1 for the pit, otherwise Uchiyama Aki no Chou Bangai has sound pitch bugs PC-9821 definitely needs X2, otherwise there's a timer error at POST. Unless it needs a different clock anyway ... */ -#define MAIN_CLOCK_X1 XTAL(1'996'800) -#define MAIN_CLOCK_X2 XTAL(2'457'600) +#define MAIN_CLOCK_X1 1'996'800 +#define MAIN_CLOCK_X2 2'457'600 /**************************************** * |