digger wrote on 2026-01-12, 00:31:
By the way, someone in Sweden has already been selling a functionally somewhat similar (though more limited) device on Tindie: https://www.tindie.com/products/kdehl/covox-s … source-ftl-snd/
That device can be switched (through dip switches) between DSS mode, Covox mode and FTL mode, but the FTL mode only allows it to be detected as such. It does not include the 9-pin joystick port. Also it doesn't emulate OPL2LPT or OPL3LPT, and it also doesn't appear to be an open source design.
To be fair, the device sold on Tindie doesn't appear to be built around a microcontroller. So I guess it could never support software switching between emulation modes either.
Thank you for your message. I have already found this device, and although it shares some similarities with Picovox, I believe they have completely different goals. While the replica is based on discrete chips and, in my opinion, the sound is quite accurate, it lacks any meaningful expandability and is also somewhat expensive.
On the other hand, despite several drawbacks of Picovox (mainly related to emulation quality), I believe it can be expanded much more easily, and the final cost can also be lower, especially if you build the device yourself.
Additionally, Picovox should not be limited to sound output. As I mentioned earlier, I would like to implement many more modes, such as some form of mass storage, printer emulation, or even a Wi-Fi interface. I am trying to make the device as versatile as possible—otherwise I would not connect a bidirectional LLC to the data pins.
Regarding software-based mode switching, that would also be possible on such a device.
digger wrote on 2026-01-12, 00:16:Someone managed to port Doom to the RP2040 (Pico 1), with graphics, OPL2 emulation and 9 channels of stereo PCM, all while runni […]
Show full quote
jansakos wrote on 2026-01-10, 10:50:
At the same time, I’m not entirely sure how difficult the implementation would be, or whether the Pico 2 is even capable enough. However, once alpha 1 is released, I will look into it in more detail.
Someone managed to port Doom to the RP2040 (Pico 1), with graphics, OPL2 emulation and 9 channels of stereo PCM, all while running the game at a good framerate.
Emulating a Digispeech (with OPL2 FM synthesis and a single 16-bit stereo PCM output channel) should be a lot less demanding than that, since there is not also graphics and a fully running game to consider.
So even an RP2040 should be able to emulate a Digispeech. Then it should definitely be feasible on an RP2350, which is quite more powerful than its predecessor.
It's the reverse-engineering part that will be the hardest to figure out, I believe. I don't think you need to emulate the exact hardware in the device. If the bitstream between a PC and an actual Digispeech device could be snooped and dumped while having the device perform certain actions, particularly FM synthesis and PCM sound playback, that could provide some clues on how to decode the protocol through which the driver interacts with the device over the parallel port.
But thinking about it more, the Digispeech devices aren't supported natively by any games. They work with a Sound Blaster emulation TSR or through a Windows driver. And as far as I know, that TSR only works with real mode games, since the challenge of emulating a Sound Blaster with support for both real mode and protected mode games wasn't solved until very recently with SBEMU and VSBHDA.
So instead of emulating a Digispeech device, perhaps implementing a custom Picovox mode that offers simultaneous playback of music and PCM samples would be the way to go. As long as a Sound Blaster emulation TSR for DOS could be developed for it, perhaps by adding support for it to SBEMU or VSBHDA, or by forking one of those projects. This new custom mode could perhaps even be superior to the Digispeech (OPL3 instead of OPL2, MIDI support in addition to FM synthesis, perhaps also 9-pin joystick/controller input support like with the FTL Sound Adapter, in addition to both music and PCM output, all at the same time).
Regarding your post, I agree that the RP2350 should be more than capable of running such an emulator. At the same time, as you mentioned, reverse engineering would likely take a significant amount of time, especially since I do not own the device.
Another challenge is my limited programming experience. For example, the DOOM port you linked is an impressive piece of work created and optimized by someone with a deep understanding of the architecture. That is also why its OPL2 emulation is used in PicoGUS, and therefore in Picovox as well.
I am not saying it is impossible—I believe it can be done—but I am not entirely sure whether I currently have the skills needed to complete such a task.
As for a custom mode, I do think it should be feasible. However, it is similar to Digispeech support: I would like to look into it later, but right now my main priorities are PCB design and software-based mode switching. Once these are resolved and implemented, I can focus on additional features.
If my previous messages sounded harsh or negative, I sincerely apologize—that was not my intention. I truly appreciate the information and suggestions you have shared.
matze79 wrote on 2026-02-22, 13:17:I played around with sidlpt/parasid, the software support is somehow limited.
Vice did not even recognize it without "tricks" an […]
Show full quote
I played around with sidlpt/parasid, the software support is somehow limited.
Vice did not even recognize it without "tricks" and there is not really other software supporting it.
Also tried to use it on modern vice, but there is already decent emu so who needs to run a emulator on a usb/lpt port for vice.
The attachment shit.jpg is no longer available
The attachment sid_emu.jpg is no longer available
But one could do SSI-2001 Support, peter de waechters adlipt driver would be not hard to modifiy to output the data to picovox.
I have examined this device before. While I would prefer to base my design on an existing solution, its LPT pinout does not allow reasonable mode switching or sufficient control from the host computer. Therefore, I decided to abandon Parasid compatibility and implement my own pinout, particularly since Parasid never received significant support. I hope my design will eventually have both an SSI-2001 driver and a native SID chip player.