mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
multipcm.cpp: Corrected clock divider and clocks for users of YMW-258-F to match schematics. [R. Belmont]
This commit is contained in:
parent
d6fbd53d2b
commit
a17b844979
@ -481,7 +481,7 @@ multipcm_device::multipcm_device(const machine_config &mconfig, const char *tag,
|
||||
|
||||
void multipcm_device::device_start()
|
||||
{
|
||||
const float clock_divider = 180.0f;
|
||||
const float clock_divider = 224.0f;
|
||||
m_rate = (float)clock() / clock_divider;
|
||||
|
||||
m_stream = stream_alloc(0, 2, m_rate);
|
||||
@ -622,7 +622,7 @@ void multipcm_device::device_start()
|
||||
|
||||
void multipcm_device::device_clock_changed()
|
||||
{
|
||||
const float clock_divider = 180.0f;
|
||||
const float clock_divider = 224.0f;
|
||||
m_rate = (float)clock() / clock_divider;
|
||||
m_stream->set_sample_rate(m_rate);
|
||||
|
||||
|
@ -154,6 +154,7 @@ const double XTAL::known_xtals[] = {
|
||||
8'960'000, /* 8.96_MHz_XTAL Casio CZ-101 (divided by 2 for Music LSI) */
|
||||
9'000'000, /* 9_MHz_XTAL Homedata PCBs */
|
||||
9'216'000, /* 9.216_MHz_XTAL Univac UTS 20 */
|
||||
9'400'000, /* 9.4_MHz_XTAL Yamaha MU-5 and TG-100 */
|
||||
9'600'000, /* 9.6_MHz_XTAL WD37C65 second clock (for 300 KB/sec rate) */
|
||||
9'732'000, /* 9.732_MHz_XTAL CTA Invader */
|
||||
9'828'000, /* 9.828_MHz_XTAL Universal PCBs */
|
||||
|
@ -58,21 +58,21 @@ void segam1audio_device::device_add_mconfig(machine_config &config)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
YM3438(config, m_ym, 8000000);
|
||||
YM3438(config, m_ym, 8_MHz_XTAL);
|
||||
m_ym->add_route(0, "lspeaker", 0.60);
|
||||
m_ym->add_route(1, "rspeaker", 0.60);
|
||||
|
||||
MULTIPCM(config, m_multipcm_1, 8000000);
|
||||
MULTIPCM(config, m_multipcm_1, 10_MHz_XTAL);
|
||||
m_multipcm_1->set_addrmap(0, &segam1audio_device::mpcm1_map);
|
||||
m_multipcm_1->add_route(0, "lspeaker", 1.0);
|
||||
m_multipcm_1->add_route(1, "rspeaker", 1.0);
|
||||
|
||||
MULTIPCM(config, m_multipcm_2, 8000000);
|
||||
MULTIPCM(config, m_multipcm_2, 10_MHz_XTAL);
|
||||
m_multipcm_2->set_addrmap(0, &segam1audio_device::mpcm2_map);
|
||||
m_multipcm_2->add_route(0, "lspeaker", 1.0);
|
||||
m_multipcm_2->add_route(1, "rspeaker", 1.0);
|
||||
|
||||
I8251(config, m_uart, 8000000); // T82C51, clock unknown
|
||||
I8251(config, m_uart, 8_MHz_XTAL); // T82C51, clock unknown
|
||||
m_uart->rxrdy_handler().set_inputline(m_audiocpu, M68K_IRQ_2);
|
||||
m_uart->txd_handler().set(FUNC(segam1audio_device::output_txd));
|
||||
|
||||
|
@ -218,14 +218,14 @@ INPUT_PORTS_END
|
||||
void mu5_state::mu5(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
H83002(config, m_maincpu, 10_MHz_XTAL);
|
||||
H83002(config, m_maincpu, 10_MHz_XTAL); // clock verified by schematics
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mu5_state::mu5_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &mu5_state::mu5_io_map);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MULTIPCM(config, m_ymw258, 7500000);
|
||||
MULTIPCM(config, m_ymw258, 9.4_MHz_XTAL); // clock verified by schematics
|
||||
m_ymw258->set_addrmap(0, &mu5_state::ymw258_map);
|
||||
m_ymw258->add_route(0, "lspeaker", 1.0);
|
||||
m_ymw258->add_route(1, "rspeaker", 1.0);
|
||||
|
Loading…
Reference in New Issue
Block a user