rasteri wrote on Yesterday, 19:47:
300/310/320/330/340/350/360/370 (+1/2/3) -- MPU-401 MIDI
I've since changed this port range to 30x-37x (x = 0~7) by default with my lpcexp stuffs, because GUS does use ports 3x4-3x7 (where x corresponds to 2x0 base port so if using 240 then 340-347 need to be opened), and that was the reason why I wasn't able to get PicoGUS working in GUS mode before (SB mode works fine).
vsharun wrote on Yesterday, 15:14:
Your PicoGUS works in games, like DOOM/Duke3D ? The only thing I have managed PicoGUS to work in - impulse tracker, both Doom/Duke3D (and Descent) failed to init (setup/game start) on Asus, Asrock and Gigabyte mobos I have, while pgusinit - okay. pgusinit just sends some in/out bytes, nothing more.
I have two H61 MSI's - they both okay and PnP friendly (both have populated LPC/TPM header), and recent acquisition - Z87M Gaming now on LDRQ1 soldering session: I will return back with findings.
Haven't tested in detail. With the aforementioned change to the 3xx port range GUS mode now works correctly to the point that GUSDRAM tests pass and ULTRAMID can be loaded without errors.
I did try testing the PicoGUS in GUS mode against DIGPAK but it froze. Maybe it's because I'm using DMA1 instead of DMA3 (since I do want to use its SB mode). I did set ULTRASND to DMA1 and IRQ7 (corresponding to my jumper settings) but I'm not sure if this needs to be set elsewhere also (such as INI file).
SB mode works perfectly fine in games, just that it being only SB2.0 means some games will not be able to enable some advanced effects.
EduBat wrote on Yesterday, 22:37:I had a look at the datasheet of the ESS 1868 just as an example and it looks like it allows the driver to setup the device configuration space anywhere between 100h-FF6h so, it may not follow the PnP specs if it doesn't want to.
I guess other sound cards may work in a similar way. It then becomes important to understand what the drivers are doing and/or trying to do.
The question is whether drivers for other OSes than DOS could also try initializing the card via bypass key mode. It should be noted that for ESS audio chips, one may need to use the driver for a different chip if it's operating at a different mode than default.
For instance, if ES1869 is used as a drop-in replacement on a PCB meant for ES1868, then ES1868 drivers must be used instead (ES1869 drivers won't work). This is the case for hkzlab's ES1868 card where I used an ES1869 since I could not source an actual ES1868 at that time, and I'm thinking if it's possible to use ES1868's PnP data on an external ROM to "spoof" the card as ES1868 so the OS will automatically pick the correct driver.