summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2018-04-13 09:48:53 -0500
committer cracyc <cracyc@users.noreply.github.com>2018-04-13 09:48:53 -0500
commit88bcdb4a50c005ae660d8c2dcb6c88f35992be0e (patch)
tree4d7120aec5155ea48dc30a572f1c3d9e1c5c457a /src/devices/bus
parent1ae9ad10e451fe210861b7ce188d2d22f5f737bb (diff)
pc9801_86: add clocks (nw)
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/cbus/pc9801_86.cpp7
-rw-r--r--src/devices/bus/isa/sb16.cpp2
2 files changed, 4 insertions, 5 deletions
diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp
index 2b08d158669..fbea8ebee05 100644
--- a/src/devices/bus/cbus/pc9801_86.cpp
+++ b/src/devices/bus/cbus/pc9801_86.cpp
@@ -20,7 +20,6 @@
#include "sound/volt_reg.h"
#include "speaker.h"
-#define MAIN_CLOCK_X1 XTAL(1'996'800)
#define QUEUE_SIZE 32768
//**************************************************************************
@@ -55,7 +54,7 @@ WRITE_LINE_MEMBER(pc9801_86_device::sound_irq)
MACHINE_CONFIG_START(pc9801_86_device::device_add_mconfig)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("opna", YM2608, MAIN_CLOCK_X1*4) // unknown clock / divider
+ MCFG_SOUND_ADD("opna", YM2608, 7.987_MHz_XTAL)
MCFG_YM2608_IRQ_HANDLER(WRITELINE(pc9801_86_device, sound_irq))
MCFG_AY8910_PORT_A_READ_CB(READ8(pc9801_86_device, opn_porta_r))
//MCFG_AY8910_PORT_B_READ_CB(READ8(pc9801_state, opn_portb_r))
@@ -252,8 +251,8 @@ READ8_MEMBER(pc9801_86_device::pcm_r)
WRITE8_MEMBER(pc9801_86_device::pcm_w)
{
- const int rate = 44100*3; // TODO : unknown clock / divider
- const int divs[8] = {3, 4, 6, 8, 12, 16, 24, 32};
+ const u32 rate = (25.4_MHz_XTAL).value() / 16;
+ const int divs[8] = {36, 48, 72, 96, 144, 192, 288, 384};
if((offset & 1) == 0)
{
switch(offset >> 1)
diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp
index 0dd902721ac..5569ae8689f 100644
--- a/src/devices/bus/isa/sb16.cpp
+++ b/src/devices/bus/isa/sb16.cpp
@@ -108,7 +108,7 @@ void sb16_lle_device::control_timer(bool start)
{
if(start && m_freq)
{
- double rate = (46615120.0/1024/256) * m_freq;
+ double rate = ((46.61512_MHz_XTAL).dvalue()/1024/256) * m_freq;
m_timer->adjust(attotime::from_hz(rate), 0, attotime::from_hz(rate));
}
else