From 393e5288d66b1c906a21a853dd74e4860eecc2d9 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 16 Apr 2017 20:51:50 -0400 Subject: [PATCH] Better guess at Sega sound data serial rate (nw) --- src/mame/audio/dsbz80.cpp | 2 +- src/mame/audio/segam1audio.cpp | 2 +- src/mame/audio/segam1audio.h | 2 -- src/mame/drivers/model1.cpp | 4 ++-- src/mame/drivers/model2.cpp | 8 ++++---- src/mame/drivers/model3.cpp | 2 +- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/mame/audio/dsbz80.cpp b/src/mame/audio/dsbz80.cpp index 31a8e195541..e4ff29782a4 100644 --- a/src/mame/audio/dsbz80.cpp +++ b/src/mame/audio/dsbz80.cpp @@ -41,7 +41,7 @@ MACHINE_CONFIG_FRAGMENT( dsbz80 ) MCFG_I8251_RXRDY_HANDLER(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) MCFG_I8251_TXD_HANDLER(WRITELINE(dsbz80_device, output_txd)) - MCFG_CLOCK_ADD("uart_clock", 100000) + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxc)) MACHINE_CONFIG_END diff --git a/src/mame/audio/segam1audio.cpp b/src/mame/audio/segam1audio.cpp index 4d0215a1676..504287cb095 100644 --- a/src/mame/audio/segam1audio.cpp +++ b/src/mame/audio/segam1audio.cpp @@ -65,7 +65,7 @@ MACHINE_CONFIG_FRAGMENT( segam1audio ) MCFG_I8251_RXRDY_HANDLER(INPUTLINE(M68000_TAG, M68K_IRQ_2)) MCFG_I8251_TXD_HANDLER(WRITELINE(segam1audio_device, output_txd)) - MCFG_CLOCK_ADD("uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE(UART_TAG, i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(UART_TAG, i8251_device, write_rxc)) MACHINE_CONFIG_END diff --git a/src/mame/audio/segam1audio.h b/src/mame/audio/segam1audio.h index e252d86c213..fcbacf98dc1 100644 --- a/src/mame/audio/segam1audio.h +++ b/src/mame/audio/segam1audio.h @@ -14,8 +14,6 @@ #define M1AUDIO_MPCM1_REGION "m1pcm1" #define M1AUDIO_MPCM2_REGION "m1pcm2" -#define M1AUDIO_TXRX_CLOCK 100000 // unknown - #define MCFG_SEGAM1AUDIO_ADD(_tag) \ MCFG_DEVICE_ADD(_tag, SEGAM1AUDIO, 0) diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp index 469325bd3ec..6dc1ee86c74 100644 --- a/src/mame/drivers/model1.cpp +++ b/src/mame/drivers/model1.cpp @@ -1630,7 +1630,7 @@ static MACHINE_CONFIG_START( model1, model1_state ) MCFG_DEVICE_ADD("m1uart", I8251, 8000000) // uPD71051C, clock unknown MCFG_I8251_TXD_HANDLER(DEVWRITELINE("m1audio", segam1audio_device, write_txd)) - MCFG_CLOCK_ADD("m1uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("m1uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("m1uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("m1uart", i8251_device, write_rxc)) @@ -1687,7 +1687,7 @@ static MACHINE_CONFIG_START( model1_vr, model1_state ) MCFG_DEVICE_ADD("m1uart", I8251, 8000000) // uPD71051C, clock unknown MCFG_I8251_TXD_HANDLER(DEVWRITELINE("m1audio", segam1audio_device, write_txd)) - MCFG_CLOCK_ADD("m1uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("m1uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("m1uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("m1uart", i8251_device, write_rxc)) diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index 55b8063b919..88c12b3b9d3 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -2417,7 +2417,7 @@ static MACHINE_CONFIG_START( model2o, model2_state ) MCFG_DEVICE_ADD("uart", I8251, 8000000) // uPD71051C, clock unknown MCFG_I8251_TXD_HANDLER(DEVWRITELINE("m1audio", segam1audio_device, write_txd)) - MCFG_CLOCK_ADD("uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc)) @@ -2476,7 +2476,7 @@ static MACHINE_CONFIG_START( model2a, model2_state ) MCFG_DEVICE_ADD("uart", I8251, 8000000) // uPD71051C, clock unknown - MCFG_CLOCK_ADD("uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc)) @@ -2608,7 +2608,7 @@ static MACHINE_CONFIG_START( model2b, model2_state ) MCFG_DEVICE_ADD("uart", I8251, 8000000) // uPD71051C, clock unknown - MCFG_CLOCK_ADD("uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc)) @@ -2698,7 +2698,7 @@ static MACHINE_CONFIG_START( model2c, model2_state ) MCFG_DEVICE_ADD("uart", I8251, 8000000) // uPD71051C, clock unknown - MCFG_CLOCK_ADD("uart_clock", M1AUDIO_TXRX_CLOCK) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc)) diff --git a/src/mame/drivers/model3.cpp b/src/mame/drivers/model3.cpp index ab081d0b2a7..a9fcf449543 100644 --- a/src/mame/drivers/model3.cpp +++ b/src/mame/drivers/model3.cpp @@ -5805,7 +5805,7 @@ static MACHINE_CONFIG_DERIVED(scud, model3_15) MCFG_DEVICE_ADD("uart", I8251, 8000000) // uPD71051 MCFG_I8251_TXD_HANDLER(DEVWRITELINE(DSBZ80_TAG, dsbz80_device, write_txd)) - MCFG_CLOCK_ADD("uart_clock", 100000) // unknown rate + MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc)) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc)) MACHINE_CONFIG_END