Skip to content
/ Covox Public

LPT-soundcard (Covox, Disney Sound Source, Stereo-in-1) from ESP32

Notifications You must be signed in to change notification settings

mcgurk/Covox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

McGurk-Covox/DSS/StereoOn1-System (McDSS)

Parallel/LPT-port soundcard using microcontroller. Supports Covox Speech Thing/Intersound MDO, Disney Sound Source (DSS) and Stereo-on-1 DAC.

Thread at Vogons: https://www.vogons.org/viewtopic.php?f=62&t=93225

Parts

  • ESP32-PICO-KIT (if other ESP32 is used, modify pins)
  • I2S DAC (e.g. PCM5102A/GY-PCM5102 or I2S DAC amplifier MAX98357A)

New wiring (ESP-IDF 5.1.1)

ESP32 LPT (D25)
Covox:
IO18 🟤 2 (D0)
IO19 🟠 3 (D1)
IO27 🔵 4 (D2)
IO21 🟢 5 (D3)
IO22 🟡 6 (D4)
IO23 🔴 7 (D5)
IO13 🔘 8 (D6)
IO14 🟣 9 (D7)
GND ⚫ GND (18-25)
DSS:
IO9 ⚪ 17 (FIFOCLK) (Select Printer_) (PC->DSS)
IO10 ⚫ 10 (FIFOFULL) (ACK) (DSS->PC)
Stereo-on-1:
IO4 ⚪ 1 (Strobe_) (channel select PC->Covox)
  resistor between IO4 and 5V for external pullup (I have 2.15kohm, 4.7kohm might work too)
ESP32: I2S DAC:
5V 🔴 Vin (use 5V if possible, more stable)
GND ⚫ Ground
IO25 🟢 DATA
IO32 🟡 BLCK
IO26 🟤 WCLK (must be GPIO 0-31)
GND SCK (if GY-PCM5102)

* = IO9 and IO10 is only usable with ESP32-PICO-KIT (ESP32-PICO-D4) (with ESP32-WROOM-32 use 16 and 17)

Links

Looks like zeropoint is 128 (0x80). Tested with Hocus Pocus (Covox) and Wolfenstein 3D (DSS).

Covox Speech Thing / Intersound MDO / LPT DAC

Disney Sound Source (DSS)

ESP32

Links

DSS checks

  • Dungeon Master DSS detection: https://www.vogons.org/viewtopic.php?t=40751
  • Wolfenstein 3D: writes 32 samples to FIFO and checks that FIFOFULL pin activates
  • Commander Keen in Keen Dreams (KDreams): v1.0 detects DSS. 33 sample interrupts comes trough. Notice: DSS is not actually supported at all in the game.

Stereo-on-1

Misc stuff

DOSBox

[speaker]
disney=true

Dual Module Player (DMP)

dmp -c6 -p378 -s44100 -q song.mod # covox
dmp -c12 -p378 -s30000 -q song.mod # stereo-in-one
or
SET DMP=-c12 -p378 -s30000 -q

FastDoom

  • https://github.com/viti95/FastDoom
  • You need wad file from shareware or retail version
  • To get music (with fx) from Covox/DSS, you need music as raw files. There is OGG-files in Steam version, but you may find some Doom ogg-files with google also. You see filenames and how to convert ogg files to raw files from this script: https://github.com/viti95/FastDoom/blob/master/SCRIPTS/PCMconvert/convert.sh
  • PCM Music format is unsigned 8-bit PCM, and supports 11025, 22050 or 44100 Hz frequencies.
  • With Covox: Convert ogg to raw in same samplerate as you are selected from fdsetup. Notice that this also affects to minimum memory requirements (whole raw-file must fit to memory at once)

Create utility to get LPT pin 17 (fifoclk / dss power on) to low with DOS debug-command

Press enter after every line (also when there is empty line).

C:\>debug
n pin17.com         ; filename
a100                ; assemble to address :0100
mov dx,37a          ; 37Ah = LPT control pins port
in al,dx            ; read current state from port
or al,8             ; bit 4 high -> pin 17 low ("and al,F7" would get it to high)
out dx,al           ; write new state to port
ret                 ; return to DOS
                    ; end assembler mode with empty line
rcx                 ; give how many bytes to write in cx register
8                   ; 8 bytes to write
w                   ; write file
q                   ; quit

About

LPT-soundcard (Covox, Disney Sound Source, Stereo-in-1) from ESP32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published