VOGONS


picovox – (universal) LPT sound card

Topic actions

Reply 120 of 133, by digger

User metadata
Rank Oldbie
Rank
Oldbie

@jansakos I have something that might help you.

I used Claude to analyze and reverse-engineer the DOS, Windows 3.1 and Windows 95 drivers of the Digispeech devices (DS301 and other devices in the same family), and cross-reference its findings with the manual I found on-line, and based on all of that I told it to write a "clean-room" implementation guide that should be clear of any copyrighted code or other content.

You can find the document here: https://github.com/volkertb/digispeech-rev-eng

The intention is to help you and/or others in implementing Digispeech compatibility in a future firmware revision for the picovox.

The document can perhaps also be used to have an AI agent generate such a firmware, but you might not prefer that, depending on your stance on AI-generated contributions.

It is for that reason that I had Claude generate the documentation strictly as an implementation guide without any generated source code or any verbatim stuff from the official manuals and documentation that came with the official installation disks.

I hope it will make it easier and practical for you and/or others to make an attempt to add such compatibility! 🙂

Also, if you are looking for the official drivers and utilities to test your Digispeech emulation/compatibility implementation with, you can find them at the following locations:

Reply 121 of 133, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2026-07-07, 23:52:
@jansakos I have something that might help you. […]
Show full quote

@jansakos I have something that might help you.

I used Claude to analyze and reverse-engineer the DOS, Windows 3.1 and Windows 95 drivers of the Digispeech devices (DS301 and other devices in the same family), and cross-reference its findings with the manual I found on-line, and based on all of that I told it to write a "clean-room" implementation guide that should be clear of any copyrighted code or other content.

You can find the document here: https://github.com/volkertb/digispeech-rev-eng

The intention is to help you and/or others in implementing Digispeech compatibility in a future firmware revision for the picovox.

The document can perhaps also be used to have an AI agent generate such a firmware, but you might not prefer that, depending on your stance on AI-generated contributions.

It is for that reason that I had Claude generate the documentation strictly as an implementation guide without any generated source code or any verbatim stuff from the official manuals and documentation that came with the official installation disks.

I hope it will make it easier and practical for you and/or others to make an attempt to add such compatibility! 🙂

Also, if you are looking for the official drivers and utilities to test your Digispeech emulation/compatibility implementation with, you can find them at the following locations:

This is very cool, Digger!
Do you own a Digispeech?
You could try to write the driver yourself with the help of Claude and Comrade https://github.com/yyzkevin/COMrade
It provides feedback from the target device right back to the AI coder.
The results are impressing. Did you see my update on the new Ratoc pcmcia card ebabler?

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 122 of 133, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Bondi wrote on 2026-07-08, 08:08:

This is very cool, Digger!

Thanks! It's amazing what kind of projects have entered the realm of the "doable" with the AI tools we have available today.

I know proper prompting is still key, but it still feels a bit like cheating to me sometimes. 😅

Do you own a Digispeech?

I only have the older-gen Digispeech DS201, the one that plugs into a serial port and only does PCM audio. That's outside the scope of the type of device we want to emulate with the picovox.

This document was generated purely through "static" reverse-engineering, having Claude disassemble the binaries of the official drivers and utilities to figure out the communications protocol.

You could try to write the driver yourself with the help of Claude and Comrade https://github.com/yyzkevin/COMrade
It provides feedback from the target device right back to the AI coder.
The results are impressing.

Oh wow, that's indeed a useful tool! Someone who actually owns a Digispeech Plus or DS3x device could use this to verify that the reverse-engineered communications protocol actually works with the actual devices as currently documented in the implementation guide.

But it can also be used to automatically test and debug Digispeech emulation in the picovox while either an AI agent or a human software engineer (or both) works on it.

Thanks for sharing!

Did you see my update on the new Ratoc pcmcia card ebabler?

Yeah, I read that. Again, really cool to see what's possible these days.

By the way, for this reverse-engineering and clean-room spec writing task, I initially tried to use Fable 5, but a few minutes into the session, its guardrails were tripped and Claude Code showed a notice that it was dropping down to Opus to continue the task. Oh well. It still seems to have done a pretty good job at it. But yeah, now it needs some real-world testing.

Given the lack of actual reference hardware, I've been thinking about perhaps using this guide to have Claude write a software emulator that would allow QEMU, VirtualBox or 86Box to emulate these Digispeech devices. But the only real-world value of that would be to confirm the correctness of the reverse-engineered documentation in the implementation guide. But on the other hand, it would probably would be exactly as much effort to just have Claude add Digispeech emulation support to the picovox firmware directly.

By the way, I'm not sure if you've read the guide in detail yet, but Claude believes that it may be actually possible to implement Digispeech compatibility in the picovox in a way that makes it perform even better than the original Digispeech devices, particularly with regards to playing back PCM samples and FM synthesis simultaneously. That's something that the original devices struggled with in particular, as LGR pointed out in his video about them.

If anyone reading this who has access to these Digispeech devices (the newer ones with a parallel port interface and FM synthesis support, not the older serial-based DS201) is willing to help with any of this, please speak up! Thanks. 🙂

Reply 123 of 133, by stgiga

User metadata
Rank Newbie
Rank
Newbie

Is Fluidsynth support possible? If so, I'd hook my beyond-ESFM FM bank to it.

I'm Nonbinary and neurodivergent.
I use they/them. It can also be written as ᵺ㏟.

Reply 124 of 133, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2026-07-07, 23:52:

I used Claude to analyze and reverse-engineer the DOS, Windows 3.1 and Windows 95 drivers of the Digispeech devices (DS301 and other devices in the same family), and cross-reference its findings with the manual I found on-line, and based on all of that I told it to write a "clean-room" implementation guide that should be clear of any copyrighted code or other content.

Cool,
It sounds complex, maybe too muck complex to spend time to emulate it ?
Is it used by something under DOS ?

Reply 125 of 133, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
stgiga wrote on 2026-07-08, 13:20:

Is Fluidsynth support possible? If so, I'd hook my beyond-ESFM FM bank to it.

The pico is too weak (compute wise) for heavy lifting like that.

However, this project is more or less leveraging the pico core's GPIOs for these tasks.

The same GPIOs are present on beefier Pi offerings, so the software running on the Pi side could live on a beefier model. It just wouldnt be all compact and low power.

Something a bit 'tackier', that uses a flexible LPT cable, and a PS/2 vampire tap cable, to drive say, a Pi 4, that then gets doublestick taped to the lid of your vintage laptop, or that sits beside your vintage luggable/MCA ps2 that you cant put a sound blaster into, could very much be doable.

Think 'MT32 size external module, with cable', rather than 'sits neatly and flushly on the port'.

Fluidsynth could very neatly live there under *those* conditions.

Reply 126 of 133, by digger

User metadata
Rank Oldbie
Rank
Oldbie
FreddyV wrote on 2026-07-08, 20:11:

Cool,
It sounds complex, maybe too muck complex to spend time to emulate it ?
Is it used by something under DOS ?

Basically by some included utilities, a Sound Blaster emulator that only works with Real Mode games and Windows 3.1 and Windows 95 drivers.

The thing is that I'd like the picovox to have an operating mode in which it can play back digital samples and FM synthesis simultaneously.

At least the Digispeech is an existing parallel port device that allows both digital samples and FM synthesis to be played back simultaneously. Although if you watch LGR's video on it, it becomes clear that the original device struggles with that, at least in some games. But according to Claude's analysis, it should at least in theory be possible to implement Digispeech emulation or compatibility in a way that eliminates the problem with simultaneous playback while still remaining compatible with what little existing software there is for it.

Of course, it would also be possible to define a new standard (and a corresponding parallel port communications protocol) that is completely unique to the picovox, which would then also allow simultaneous playback of digital audio and FM synthesis through OPL2/OPL3 emulation. But such a new standard would then require new software and drivers to be written for it too.

To be fair, instead of relying on the BMASTER.EXE (the Sound Blaster emulator that came with it), we'd probably want to develop a new Sound Blaster emulator for the Digispeech and for the picovox in Digispeech emulation mode, based on SBEMU or VSBHDA, since BMASTER does not support protected mode DOS games.

Reply 127 of 133, by digger

User metadata
Rank Oldbie
Rank
Oldbie
wierd_w wrote on 2026-07-08, 20:27:
The pico is too weak (compute wise) for heavy lifting like that. […]
Show full quote
stgiga wrote on 2026-07-08, 13:20:

Is Fluidsynth support possible? If so, I'd hook my beyond-ESFM FM bank to it.

The pico is too weak (compute wise) for heavy lifting like that.

However, this project is more or less leveraging the pico core's GPIOs for these tasks.

The same GPIOs are present on beefier Pi offerings, so the software running on the Pi side could live on a beefier model. It just wouldnt be all compact and low power.

Something a bit 'tackier', that uses a flexible LPT cable, and a PS/2 vampire tap cable, to drive say, a Pi 4, that then gets doublestick taped to the lid of your vintage laptop, or that sits beside your vintage luggable/MCA ps2 that you cant put a sound blaster into, could very much be doable.

Think 'MT32 size external module, with cable', rather than 'sits neatly and flushly on the port'.

Fluidsynth could very neatly live there under *those* conditions.

A much simpler solution, I think, would be to use an MPU-232 together with the picovox. Have the MPU-232 plugged in to the serial port, and the picovox in the parallel port, and use them together. The serial port is a much better fit for MPU-401 MIDI emulation anyway. Have the MPU-232 output MIDI and have the picovox output digital audio, either in DSS emulation mode, or using a hypothetical new Sound Blaster emulator based on SBEMU or VSBHDA, but with both the MPU-232 and the picovox as backend/output devices.

Reply 128 of 133, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2026-07-08, 22:48:
The thing is that I'd like the picovox to have an operating mode in which it can play back digital samples and FM synthesis simu […]
Show full quote
FreddyV wrote on 2026-07-08, 20:11:

Cool,
It sounds complex, maybe too muck complex to spend time to emulate it ?
Is it used by something under DOS ?

The thing is that I'd like the picovox to have an operating mode in which it can play back digital samples and FM synthesis simultaneously.

At least the Digispeech is an existing parallel port device that allows both digital samples and FM synthesis to be played back simultaneously. Although if you watch LGR's video on it, it becomes clear that the original device struggles with that, at least in some games. But according to Claude's analysis, it should at least in theory be possible to implement Digispeech emulation or compatibility in a way that eliminates the problem with simultaneous playback while still remaining compatible with what little existing software there is for it.

Of course, it would also be possible to define a new standard (and a corresponding parallel port communications protocol) that is completely unique to the picovox, which would then also allow simultaneous playback of digital audio and FM synthesis through OPL2/OPL3 emulation. But such a new standard would then require new software and drivers to be written for it too.

To be fair, instead of relying on the BMASTER.EXE (the Sound Blaster emulator that came with it), we'd probably want to develop a new Sound Blaster emulator for the Digispeech and for the picovox in Digispeech emulation mode, based on SBEMU or VSBHDA, since BMASTER does not support protected mode DOS games.

The PCMCIA version of Digispeech (Sony PRD-155SB) is actully capable of simultaneous PCM and FM. And the drivers set of both devices is very similar. Not sure why they didnt implement same functionality on the LPT device.

As for the sbemu based emulator for older devices, Zikolas is experimenting with this. We’re now testing a very early version that is capable of outputting to SB direct DAC. And it already works in some games. Yet the main issue is the speed if used on 486 class machines, so it needs further optimization.

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 129 of 133, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Bondi wrote on 2026-07-09, 05:38:

The PCMCIA version of Digispeech (Sony PRD-155SB) is actully capable of simultaneous PCM and FM. And the drivers set of both devices is very similar. Not sure why they didnt implement same functionality on the LPT device.

They did! It's just that they implemented it poorly. The device struggles with simultaneous PCM+FM output in some games. It seems that it only works okay when the PCM output is in mono. And even then it varies per game. You can see and hear some examples of this in LGR's video about the Digispeech.

But according to Claude's analysis, the Digispeech "standard", i.e. the wire-level protocol, does not prohibit such simultaneous playback. It appears to be a limit solely in the hardware implementation. So it might be possible to have the picovox become "a better Digispeech than the original Digispeech", by implementing flawless simultaneous playback in a fully compatible way.

Another aspect in which Digispeech emulation could be improved over the original device is the quality of the FM synthesis. The Digispeech (not counting the serial-based DS201) does have an FM synthesizer on board, or at least hardware that can emulate it, but it doesn't sound entirely like Adlib/OP2. The picovox, already being able to emulate the OPL2LPT and OPL3LPT, will likely do a better job there already, by leveraging the existing OPL2/OPL3 emulation core already present in its firmware.

As for the sbemu based emulator for older devices, Zikolas is experimenting with this. We’re now testing a very early version that is capable of outputting to SB direct DAC. And it already works in some games. Yet the main issue is the speed if used on 486 class machines, so it needs further optimization.

Promising! That would be a nice solution for many systems lacking both on-board Sound Blaster compatibility and ISA slots, whether those are earlier era laptops, PS/2 machines with MCA slots, or more modern post-ISA PCs. 🙂

I do however hope that this new emulator will be compatible with both Baron-von-Riedesel's upstream HDPMI versions as well as the new DPMI server that @crazii is working on. Right now, SBEMU and VSBHDA each require different specific DPMI hosts in order to work. Having a standardized DPMI extension to allow for sound card emulation (including DMA emulation) purely in software, in a way that works both with real mode games an protected mode games, that would be amazing.

Reply 130 of 133, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

picovox enclosure - (see also https://www.serdashop.com/picovox )

The attachment picovox_encl_wb.jpg is no longer available

Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS TE & X16GS sound card : https://www.serdashop.com/X2GS-TE ,
Thanks for your support !

Reply 131 of 133, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Ordered one today. It will be my main audio device on my PS/2E. For the MPU support I will go for something with RS232 but I do not use emm386 (no softmpu then) on my machine, so I will have to rely on midi-patches that cloudschatze did. (hopefully the PCVX.COM does not require emm386 otherwise it was dumb decision for that machine).

Retro-Gamer 😀 ...on different machines

Reply 132 of 133, by jansakos

User metadata
Rank Newbie
Rank
Newbie

Hi there!
Regarding the Digispeech reverse engineering, I am actually really grateful and hopeful for it. If there will be enough information for correct emulation, I would be happy to implement it into picovox. Right now I have been trying to fix some issues with OPL2LPT mode (I hope it's fixed now) and I am working on SIDLPT support. Next up is probably MP3 support, but I will inform you when that becomes available. I will probably release new firmware with all of these new modes implemented.

Also, regarding the SIDLPT and MP3 support, these are completely new (no programs supporting it as of now). I hope that I will be able to make some test program for these modes and possibly even MP3 player. Regarding the SIDLPT I would love to have some SID player and possibly even some way to redirect calls to Innovation SSI2001, probably via patches (since there are not many games supporting the card itself).

dr.zeissler wrote on 2026-07-12, 12:01:

Ordered one today. It will be my main audio device on my PS/2E. For the MPU support I will go for something with RS232 but I do not use emm386 (no softmpu then) on my machine, so I will have to rely on midi-patches that cloudschatze did. (hopefully the PCVX.COM does not require emm386 otherwise it was dumb decision for that machine).

PCVX.COM should not need it I hope. It's only doing some reads/writes on LPT port, nothing advanced. If there are some issues let me know so that I can try to resolve them.

Reply 133 of 133, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Made a very short test and man that thing is great! by far the best sound device you can get for an LPT port and especially for a neat litte machine like a PS2/E.
I highly recommend it !

Retro-Gamer 😀 ...on different machines