@640K!enough
Yes, you're right, I know the RDP may change with Unisound, it's a compromise I had to take one day. At first, Unisound was created without PnP BIOS in mind (486 or lower). After some versions (internal, months ago), I thought of adding some PnP BIOS detection, but I realized after testing with several different motherboards with PnP BIOS, that they implemented PnP differently (not 100% as the standard paper says) and I couldn't trust on them with the info they reported. This led into some problems (including erratic behaviour and hangups) and then tried without explicit PnP BIOS support. Just to be sure that it would be safe, I tried lots of software (vendor utils too) and didn't found one that caused problems. In fact, out from vendor INIT tools (that are supposedly not needed if you plan to use Unisound), other tools should not mess with PnP. So I had to decide: Specific PnP BIOS support or not (known problems vs potential problems I could not reproduce), so you see what I decided. In the 99% of the cases, it works fine. You found one case with issues, a player for the GUS (I'm wondering why a player need to deal with PnP???) so, after your tests I am thinking about this again. I think the best solution would be to add an eXtended command line option to Unisound to deal with this, to tell Unisound that it's running on system with PnP BIOS and then detect and use the current RDP. This way, being an optional switch, issues are reduced if the tool is run on a board with a problematic PnP BIOS implementation.
Currently, Unisound "scans" for RDP until a card is isolated, and then uses that RDP.
Anyway, after your tests, I'll make some extra little changes to the tool. To have a faster RDP scan, the tool starts at 0x263 and ends at 0x3B3, but I'll better change it to scan the whole space, starting from 0x203. That may help too.
One note about vendor tools: I analyzed dozens of them in the past and they'll are far from "respecting the rules". Some of them kills other PnP cards present in the system, some others send its own key (instead ogf the standard PnP key) indiscriminately to configure its cards (only one, not several from the same model), leaving the card in a state that couldn't be re-scanned with legit PnP tools, causing weird behaviours or hangups. Others update chip's microcode killing other PnP tools too. Even CTCU/CTCM are plagued with implementation bugs. I hope Unisound will be refined to minimize (or have zero) issues with all possible systems 😀
If you want to help, maybe you would cross a few PMs with me, if it's OK for you.
(I hope one day you would find at least one positive thing about this tool 😀)
Before posting, please, read the FAQ in the first post! Thanks!
Respect, and be happy! 😀