Ok, here's a bit of a brain dump of my plan for the new direction for the PCB part of this plan. The PiBlaster 16 (name is not final)
Been looking at this for a while...
https://www.raspberrypi.org/documentation/har … e/schematics.md
This has some usefull information of the pinouts and voltage requirements of a CM3+ (likely the main target platform for now).
End Goal, Make a Soundblaster 16 clone using the CM3+ for all the heavy lifting. OPL3 and MIDI Synth emulation, use some microcontrollers to handle the SB16 digital audio, use Jack to mix audio in RT on the Pi. The system will see it as a SB16 with a intelligent MPU-401 and OPL3 attached.
How I plan on doing this... (this will most definitely be wrong)
Take the design of a HardMPU ISA, take the MPU controller stuff, wire it to the serial output of the CM3+.
Use a common USB DAC design and use that for audio in/out. It will appear to the pi as a USB audio device.
I forget the name of the project but I remember there being a reverse engineered SB16 chip that can near perfectly emulate it's digital audio processing. Take the design of that and wire the digital audio into the Pi somehow. (I think it was the BlasterBoard project, but that's only SB2 not 16...)
Use the USB line in for other inputs? CD-ROM, Speaker, Etc... (not sure how mixing will be handled)
Have some sort of communication bus over i2c between the ISA PCB and the pi to handle OPL information. (Might be a good idea to use this instead of serial for MPU-401 as well). Use software emulation on the Pi to emulate OPL3 sounds.
Maybe make a PCI version as well?
In theory this should allow for near perfect support for SC-55, MT-32, OPL and SB-16 all in one card, while adding some nice extra features like large (700mb+) soundfont support. I have no idea how windows would tread this hypothetical card, but it should in theory work just see it as a normal SB-16
First things first though. Now that the end goal is set, how do we get there? Well babysteps of course.
First step... Wavetable adapter board.
Something simple, just a wavetable header with some pinout connectors for MIDI in an out translated to 3.3v ttl, and some audio in an out jacks. This will also be helpfull for people who want to use the WavePi in the CDRom bay attach things internally. I'm ditching the 12v power circuitry from it for now because that's more complicated than it's worth and not really something you can safely attach to a soundcard.
Second step... some sort of MPU-401 ISA board that has the CM3+ connected to it. It still passes through the audio to the soundcard through the adapter made in step one. Not exactly a babystep, but in theory it shouldn't be too hard. I might have to add a molex for additional power for the Pi. The USB Dac will just be plugged into a usb port on the side of the PCB for now.
Third Step... add support for OPL (I have no idea how to do this), hardware wise it should be pretty simple, I just need to add a bit of controller logic to the ISA board. All the audio stuff is still being done through the Pi.
Fourth Step... wire in a USB Dac directly into the PCB and start looking at how to get digital audio into the pi.
Fifth Step... Integrate the clone SB16 digital audio circuitry into the PCB making it a AIO solution.
Sixth Step... Work on getting it to sound good with headphones and stuff. Start testing audio amp chips and various caps. Maybe add a digital audio output. Add mixing support.
Seventh Step... Add a gameport with proper MPU-401 support. Probably also add a serial connection to talk directly to the Pi. Maybe even a wavetable header, 🤣
Nth step... Start all over again but aiming at PCI instead of ISA. Then maybe a PCMCIA version for laptops?