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)
This commit is contained in:
datajake1999 2024-07-12 19:19:10 +00:00 committed by GitHub
parent 756f5cfe24
commit df3f64c6e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 3 deletions

View file

@ -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)

View file

@ -54,7 +54,7 @@ private:
uint8_t m_dma, m_vol, m_bio;
required_device<i80186_cpu_device> m_cpu;
required_device<dac_12bit_r2r_device> m_dac;
required_device<dac_12bit_r2r_twos_complement_device> m_dac;
required_device<tms32015_device> m_dsp;
};