VOGONS


First post, by 13chuck13

User metadata
Rank Newbie
Rank
Newbie

Yet another LPT DAC.
This time, it is built using the AVR ATtiny2313.

3D-view.png

This is my open-source, non-commercial DIY project.

Link to the GitHub page: https://github.com/13chuck13-ua/Tiny-Sound-Source
It contains the microcontroller firmware code, the schematic, and the PCB design (including Gerber files).

- The device uses a minimal number of components.
- It is compatible with Disney Sound Source, Covox Speech Thing, and FTL Sound Adapter.
- Features automatic Covox/DSS mode switching with status indication.
- Audio in Covox mode is free from frequency limitations and "clicking" artifacts.
- Doubled output frequency (14 kHz) with simple linear interpolation in DSS mode.
- Includes an additional filter for DSS mode.
- Correctly recognized by auto-detection in most games.

Quick answers to common questions:
Yes, Wolfenstein 3D, Alone in the Dark and Dungeon Master automatically detect the device.
No, Hocus Pocus does not automatically detect the device. The auto-detection in that game is broken.

PS: Apologies for my poor English.

Reply 1 of 5, by jansakos

User metadata
Rank Newbie
Rank
Newbie

Hello! First of all, this project seems cool. I would like to know whether you have heard of AVR Sound Source, since it is really similar to your project. It has one advantage – support for Stereo-on-1. It is not that hard to implement in software, but from the PCB it seems like Tiny Sound Source has both channels (right and left) connected together (please, correct me if I'm wrong).

Reply 2 of 5, by 13chuck13

User metadata
Rank Newbie
Rank
Newbie
jansakos wrote on Yesterday, 08:32:

I would like to know whether you have heard of AVR Sound Source, since it is really similar to your project. It has one advantage – support for Stereo-on-1.

No. Search on GitHub doesn't show any project named "AVR Sound Source".
Among completed projects, I’ve seen https://github.com/mcgurk/Covox. However, it lacks a PCB design, and personally, I think an ESP32 is overkill for something as primitive as a Covox/DSS.
As for stereo output. Іmplementing it in software wouldn't be difficult at all. Looks like i would just need to free up the PB2/OC0A pin, which is currently used as a data input. This would make reading from the LPT port slightly more complex, but it’s definitely doable.
However...
First and foremost, I built this dongle for my own laptop CMP MIG-32 with an 80286-12 processor. That little machine struggles to play even mono audio via Covox with decent quality. Stereo is likely out of the question. And as for using a Covox on something like Pentium II... I honestly don't see the point. You could just install a proper Sound Blaster card and enjoy stereo sound.

Reply 4 of 5, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I like it. I like that you used C because it's more portable. I for instance would like a covox clone that outputs to bluetooth headset or speakers, so I would ponder using an ESP32. But then I might get super fancy and want it to have wifi-PLIP and SPI SDCard modes too. ... oh and these modern SOCs do math a lot faster than an 8088, so how do you send FPU exceptions to the parallel port??? 🤣

Though I would only expect one functionality at once of course, have a util to set a status bit for mode. Though every time I start thinking about this, I am going complex, then paring it back down to simple as possible, because I want to make half a dozen of them for here, and I have too much other digital zoo to feed and care for, so per machine cost needs to be low. So then I start thinking, well I've got resistors and perfboard already, just do the R2R DAC and call it done...

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 5 of 5, by jansakos

User metadata
Rank Newbie
Rank
Newbie
BitWrangler wrote on Yesterday, 21:49:

I like it. I like that you used C because it's more portable. I for instance would like a covox clone that outputs to bluetooth headset or speakers, so I would ponder using an ESP32. But then I might get super fancy and want it to have wifi-PLIP and SPI SDCard modes too. ... oh and these modern SOCs do math a lot faster than an 8088, so how do you send FPU exceptions to the parallel port??? 🤣

Though I would only expect one functionality at once of course, have a util to set a status bit for mode. Though every time I start thinking about this, I am going complex, then paring it back down to simple as possible, because I want to make half a dozen of them for here, and I have too much other digital zoo to feed and care for, so per machine cost needs to be low. So then I start thinking, well I've got resistors and perfboard already, just do the R2R DAC and call it done...

Yes, I agree too that C is better than assembly, since it's much easier to port it to another platform. Regarding your requirements, have you already checked out picovox? It runs on RPi Pico 2 (and should run also on Pico 2 W). It does not support Bluetooth audio right out of the box, but I do believe that it should be possible to add support for it. (Also sorry, if this seems like unwanted promotion, just wanted to point it out.)