The only challenge now is figuring out an easy way to force 3-voice support.
I'd say the challenge is to find a way to force 3 voice support without forcing Tandy/PCjr video at the same time.
I'm guessing at least 20% of the games that support Tandy or PCjr 3-voice do so only after autodetection (the usual way is looking at the BIOS ROM's model byte(s) to check if the system is a Tandy or PCjr).
For most XT clones with a ROM socket that allows access to the FC00h area this is extremely easy. I didn't want to try this on my real machine, which i could do really easy. Just a matter of taking out the 32KB EEPROM i have in the ROM BASIC socket write the bytes at the proper memory locations and burn the EEPROM on my MiniPro programmer. Super simple if you have the tools. So i tried this in PCem instead. I just modified IBM XT u18 ROM so that FC00h has a value of 21 hex and starting at FC78h i wrote the bytes 54 61 6E 64 79 which in ASCII means "Tandy". What happens is simple, if the machine is in CGA mode, AGI games get the video completely screwed. WIth a VGA/EGA card video can be seen but with a lot of corruption. I'm sure if PCem allowed the 3 voice chip to be accessed in the IBM XT emulation sound could be heard.
Maniac Mansion however does rely on the model byte 21h at FC00h but it must perform some hardware tests because it defaulted to CGA and PC Speaker. But if one changes the Tandy 1000 ROM and alters the model byte to something else than 21h it also defaults to CGA and PC Speaker.
So the problem here really is Tandy graphics are forced along with sound. Some games detect the type of machine and hardware differently so, patching each game is the est option, no doubt.
A method to intercept and redirect memory reads is not possible unless running on a 386+ (and if you're running on a 386+ you don't really need this board).
I disagree that if running on a 386 the board is not needed. If someone does not own an XT or a Tandy 1000, why wouldn't anyone want to enjoy games with better sound than PC Speaker but that do not support AdLib/CMS/MT-32? Why should we deny a 386 to run an AGI game with 3 voice sound instead of PC Speaker?
In this case, if a method of intercepting the
writes to port C0h and instead redirect them to port 1E0h/2C0h (which the board allows) is possible on a 386 i think its a worthy endeavour.
The problem seems to be that 286's would be denied of using both port C0h and using V86 mode to redirect the writes. Only way for 286's would be to patch somehow the games to send the writes to 1E0h instead of C0h.