rasz_pl wrote on 2024-09-25, 19:04:
but you dont get the DMA on newer boards so no SB emulation without TRS
LPC DMA exists and is fully functional in Intel chipsets up to 9 series (up to Z97/X99), so for these boards there's no problem with that so long as you have your board's boardview to show you where to access it (usually LDRQ1#). However, you may have issues with IRQ on those boards as the ones commonly used by sound cards (5, 7) can be highly contested that many onboard devices would try to claim them. In my case with X99M Killer/3.1, IRQ5 simply can't be used as it's wanted by many PIRQ lines, but I can use IRQ7 so long as I disable onboard audio as it was placed on a separate PIRQ line exclusive to it.
You do need to configure the LPC controller beforehand, in order to allow access to the I/O ranges used by sound cards, as well as resetting DMA registers so it can be properly accessed. With proper boot loader chaining tricks you can even make the devices accessible even on other OSes such as Windows.
For newer chipsets that have since ditched LPC DMA (Intel 100 series) there's little one could do without any form of emulation, but GUS functionality may still be utilized in PIO mode (not relying on DMA).
myne wrote on 2024-09-25, 12:27:Silly question, perhaps, but given it took a lot of effort and processing to interface with Isa, would lpc potentially be easier to implement?
I'm thinking about the folk playing with the dISAppointment, and getting it to work on modern boards.
Maybe a picogus, direct to lpc would be a simpler solution.
nukeykt already made a LPC Sound Blaster implementation which can also be found in the dISAppointment thread.
A PicoGUS over LPC would certainly save I/O pins which allows more features at the same time if system resource permits, and can in theory be designed in a way that can easily fit in a standard chassis coupled with an ATX motherboard. Currently dISAppointment works best when paired with a MATX board in a standard chassis.