First post, by mcgurk
I have trying to do Covox/DSS with ESP32. There were lot of obstacles in the road but I think I did it. Covox was quite easy but DSS needed reaction speeds that I couldn't achieve with ESP32 with normal ways (hardware interrupts). Solution was to dedicate second ESP32 CPU core purely to bitbanging DSS, so it acts like FIFO-buffer chip.
Using quite new ESP32-PICO-KIT witch includes ESP32-PICO-D4 I found out that I can use IO-pins so that 8bit sample can be read directly from internal register (IO32-39) without any bitwise operations. Other ESP32 models works propably too, but you must change pin definitions and reading routine.
Another quite new discovery for me was that apparently ESP32 is 5V tolerant. And actually LPT doesn't give 5V signals but little under 5V.
So I soldered dupont cables to LPT-connector and connected them directly to ESP32 pinheader. For straighforward audio output I2S DAC is easiest.
So for building you need only connect LPT-connector and I2S-dac to ESP32.
https://github.com/mcgurk/Covox
I also made automatic switching between Covox and DSS. It's file "esp32pico_i2s_covox-dss.ino".
Thanks for all information in this thread (Reversing the Disney Sound Source):
Reversing the Disney Sound Source
Without it I wouldn't even start to study DSS internal life.