From df3f64c6e9d29cd90aaf813b75327584becf47f6 Mon Sep 17 00:00:00 2001 From: datajake1999 Date: Fri, 12 Jul 2024 19:19:10 +0000 Subject: dectalk: fixed distortion in DTC07 DAC emulation (#12567) * dectalk: fixed distortion in DTC07 DAC emulation * dectalk: implement hakc to fix broken DSP output * dectalk: add comment acknowledging the hack in the last commit is technically wrong * dectalk: revert DAC bit depth back down to 12 as it sounds more accurate when compared with actual hardware * dectalk: update comment stating the DAC that is used on actual hardware(AD7541) --- src/devices/bus/isa/dectalk.cpp | 4 ++-- src/devices/bus/isa/dectalk.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp index 2d61a1fe6f0..1007604dfca 100644 --- a/src/devices/bus/isa/dectalk.cpp +++ b/src/devices/bus/isa/dectalk.cpp @@ -160,13 +160,13 @@ void dectalk_isa_device::device_add_mconfig(machine_config &config) m_cpu->set_addrmap(AS_IO, &dectalk_isa_device::dectalk_cpu_io); m_cpu->tmrout0_handler().set(FUNC(dectalk_isa_device::clock_w)); - TMS32015(config, m_dsp, XTAL(20'000'000)); + TMS32015(config, m_dsp, XTAL(80'000'000)); // this is wrong, but it works m_dsp->set_addrmap(AS_PROGRAM, &dectalk_isa_device::dectalk_dsp_map); m_dsp->set_addrmap(AS_IO, &dectalk_isa_device::dectalk_dsp_io); m_dsp->bio().set(FUNC(dectalk_isa_device::bio_line_r)); SPEAKER(config, "speaker").front_center(); - DAC_12BIT_R2R(config, m_dac, 0).add_route(0, "speaker", 1.0); // unknown DAC + DAC_12BIT_R2R_TWOS_COMPLEMENT(config, m_dac, 0).add_route(0, "speaker", 1.0); // AD7541 DAC } void dectalk_isa_device::write(offs_t offset, uint8_t data) diff --git a/src/devices/bus/isa/dectalk.h b/src/devices/bus/isa/dectalk.h index ac153d4b1e5..89e8f7cb454 100644 --- a/src/devices/bus/isa/dectalk.h +++ b/src/devices/bus/isa/dectalk.h @@ -54,7 +54,7 @@ private: uint8_t m_dma, m_vol, m_bio; required_device m_cpu; - required_device m_dac; + required_device m_dac; required_device m_dsp; }; -- cgit v1.2.3