First post, by crazii
I cannot find the original threads but I've read here that the EMM386 IO port virtualization / port trap won't work for protected mode games.
Adlipt (the driver for OPL3LPT) have a patch for those games.
Currently I'm writing a driver for Retrowave OPL3, and I found the same issue.
Miles Sound detected my driver, Adlib/Adlib Gold/OPL3 three options are detected. I tested one Dos4GW game and 2 real mode game, they have sound now. but Doom doesn't. I think Doom enter protected mode with ring0 (CPL0 or IOPL0) and bypass EMM386's IO permission bitmap.
Is there any possible way to make it work without a patch?
I believe it is possible, that's probably how win9x do it? some win9x sound drivers can have emulate FM sounds for games, but I didn't remember whether they work for games like Doom.
BTW I remember someone said using protected mode (DPMI) driver can help with this problem? I was using DPMI ring3 but I found nothing related IO privilege on the DPMI spec. There's some DPMI host or DOS Extenders that support ring0 client still I need a way to talk to a ring0 game.
Toshiba Satellite Pro 4300 - YMF744, Savage IX
Toshiba Satellite 2805-S501 - YMF754, GeForce 2Go
IBM Thinkpad A21p - CS4624, Mobility Radeon 128
main: Intel NUC11PHKi7C Phantom Canyon: i7-1165G7 RTX2060 64G 2T760PSDD