appiah4 wrote on 2023-01-23, 07:37:
1. As is, the GUS firmware does not enable the MPU-401 or Adlib in any way, does it?
2. Is there a plan to have them all run at once eventually, ie GUS + Adlib + MPU401?
3. Is there a good documentation of all current PGUSINIT switches (including firmware flashing form command prompt) anywhere?
1. No, the modes as they're implemented now are completely independent of each other. One plus is if you have a MPU-401 or AdLib (or any other sound card) in the machine while GUS emulation mode is running, it won't interfere.
2. I don't really have plans for that, for a couple reasons... The first is that currently GUS and MPU-401 emulation are a constant battle against time and getting things done before the next bus event comes and keeping IOCHRDY high as much as possible so I don't starve other devices the ISA bus. I might be surprised and they could work together, but I haven't really thought of trying that yet, because of my second reason.
The second is that running them all at once doesn't make a whole ton of sense to me. I consider GUS, AdLib, and MPU-401 to be music output devices first and foremost. The GUS mode can be a streaming PCM output device, but even a real GUS is not very good at it (I remember streaming audio stuttering on my real GUS back in the DOS days) and getting it right on the emulation side has been painful. My mind keeps going back to how I ran games back in the day: Sound Blaster for sound effects, GUS for music... Likewise, SB+MPU-401 makes a lot of sense together and SB implies AdLib support anyway.
So the next thing I'd want to accomplish with PicoGUS is to get Sound Blaster PCM emulation working and try to run that simultaneously with GUS, AdLib, or MPU-401. Since the SB emulation hopefully is just shuttling samples from the ISA bus to the DAC it shouldn't be very CPU/IO intensive and can be run in concert with the other emulation modes. The elephant in the room, though, is that SB uses an IRQ and DMA of its own, and the PicoGUS hardware only supports one IRQ and one DMA. Supporting both would require a hardware revision, likely one that integrates the RP2040 directly on the board to give access to GPIO lines that are not available on the Pi Pico. So I have a bit of hesitation to go in that direction... especially since Sound Blaster clone cards are still relatively cheap and available and do a fine job with PCM sound effects. SB + AdLib and SB+MPU-401 (except for titles that use IRQ for intelligent mode) would be possible with the current PicoGUS hardware, though!
3 has already been answered, but that README file is also in the .zip download for the release, so if you also want to read it in DOS, you can. 🙂