VOGONS


Reply 20 of 22, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
Pino wrote on Yesterday, 22:10:
Babasha wrote on Yesterday, 12:14:
Sorry for mistake((( Good news - it works with some limitation currently 1) It requires APINIT before starting each game with […]
Show full quote
TgamesFR wrote on 2026-08-10, 15:09:

Thanks for your test 😀.

I've patched your file, but unsure if it works i don't have the card myself and i not had the full driver to test.

If it not works, send me the full folder.

Sorry for mistake(((
Good news - it works with some limitation currently
1) It requires APINIT before starting each game with this reinitialization it plays OPL3 sound with my ISA8 Adlib in DOOM, DOOM2, DESCENT, DUKE3D and HOCUS POCUS
2) No OPL3 sound or distorted sound in LOTUS 3 but Mayme this game is more glitchy as I run it on VIA KT133 motherboard and Athlon XP 1.4GHz

Will retest it with my PII/333Mhz on Intel 440LX motherboard

Anyway - TNX! It so long waited mode

PS. As for my rigs and my modes its better to completely turn off SOUNBLASTER emulation and OPL3 emulation for SB128 or AUDIOPCI sound cards leaving inly original ENSONIQ SOUNDSCAPE and MPU-401 modes)))

I've been using a PCI cmi8738 as my "OPL" card, probably a better option for you on a KT133 system than using an ISA Adlib

My target is to use SB128 as pure MPU-401 device with its great wavetable mode and maybe Ensoniq Soundscape mode. I dont need its Soundblaster and OPL3 modes. For OPL3/SB i can use Yamaha YMF724 or original ISA Adlib or other cards on my hands)))

Need help? Begin with photo and model of your hardware 😉

Reply 21 of 22, by aVd

User metadata
Rank Member
Rank
Member
TgamesFR wrote on 2026-08-05, 12:15:
UPDATE: Version 1.0a ! […]
Show full quote

UPDATE: Version 1.0a !

Code cleanup
Fixed lot of instruments mismatch

We are even more close to each corresponding SF2. Except few things here and here who will sounds a bit off. I'm investigating.

Hi, @TgamesFR,
Amd thank you very much for this script! It works fire. I converted some sf2-soundfont files (2MBGMGS.SF2, 4GMGSMT.SF2, 4MBGM.SF2, 4MBGMSFX.SF2, 8MBGM.SF2, 8MBGMSFX.SF2, GM.SF2 and HL4MGM.SF2) to ecw-format to use them with my SB Live! and Audigy cards in DOS.

Babasha wrote on 2026-08-10, 13:54:

One more question for disabling OPL3 core
It looks like SB128 use lees complex (?) Sandblaster emulation core binary
I attach it - can you look is it possible to patch it too for disable OPL3 on port 388h?

Hi, @Babasha,
Is the attacnment some kind of SB PCI 128 wavetable dump file?

the six-colored list is growing rapidly 😀

Reply 22 of 22, by TgamesFR

User metadata
Rank Member
Rank
Member
gerwin wrote on Yesterday, 13:37:

Sound Blaster address interface specification adds an alternative OPL3 port in the 220h range (default value), besides the 388h range.
Some games use that. So in these games Sound Blaster digital effects and FM music are hard (impossible?) to separate.

I've disabled the OPL3 on Sound Blaster IRQs too, otherwhise it would anyway play the OPL3 through the Sound Blaster card for games who not using 388.
However on games who support and look only 388 i can make a driver who not block it and they can work better/more reliable.

SBECORE-OPL.BIN — 1 byte, offset 0x27AFE: `or eax,0x400000` → `or eax,0`. The card no longer decodes addresses 388h–38Bh at all. The internal FM remains active on aliases 200h/230h, / 228h/229h, (the 16-byte SB block is decoded as a single contiguous range; it cannot be split).

SBECORE-SB+OPL.BIN — 18 bytes: My mod of the OPL only version + the FM status read handler returns 0FFh instead of the status byte, and the 6 FM write handlers point to the "ignore" stub. The OPL3 synthesis engine is never called, resulting in zero CPU cycles.

AUDIOPCI-OPL.BIN — 2 bytes modified: 7F→77 and 2F→27. The chip stops decoding 388h–38Bh, freeing them up on the bus. No trap occurs, so zero CPU overhead. The rest (SB digital, mixer, MPU-401, wavetable) remains intact.

AUDIOPCI-SB+OPL.BIN — the same 2 bytes plus 6 dispatch table entries redirected to the "ignore" stub (0x162D) already present in the binary. This also neutralizes the Sound Blaster FM alias at 228h/229h, which remains trapped by SB interception and cannot be freed without breaking SB emulation. Read handlers are left in place to avoid returning indeterminate values. Trade-off: some games check the FM status at 228h to detect an SB Pro and might fall back to a degraded mode.

So if you have games issues and they support OPL only with 388 : use the OPL only version i've made.