VOGONS


Windows, Doom, Apogee OPL3 Synthesizer.

Topic actions

First post, by nukeykt

User metadata
Rank Member
Rank
Member

OPL3 MIDI Driver for Windows.

03/04/2021 Update (by Wohlstand):
News:
Windows XP compatibility was been retured back
Added CMake build support
Added MinGW and MinGW-w64 compilers support
Added an ability to run the driver on Windows 2000 (maybe it will work in Windows NT4, not tested yet)

Source code is now moved to github: https://github.com/nukeykt/WinOPL3Driver
Big thanks to Wohlstand for this update.

Doom OPL
Games: Doom, Doom 2, Heretic, Hexen, Strife, Raptor

6/20/2016 Update:
News:
Doom 1 1.666 mode
Bugfix:
Operator volume calculation fix

Apogee OPL
Games: Rise of the Triad, Duke Nukem 3D, NAM, Blood, Shadow Warrior(Shareware).

OPL patches:
built in patch - ROTT 1.3, Build engine games setup utility.
apogee_blood.tmb - Blood
apogee_duke3d.tmb - Duke Nukem 3D
apogee_lee.tmb - ROTT 1.0-1.2
apogee_nam.tmb - NAM
apogee_sw.tmb - Shadow Warrior(Shareware)

Installation:
1. Install Visual C++ 2015 Redistributable.
https://www.microsoft.com/en-US/download/deta … s.aspx?id=48145
2. Install driver.
3. Install OPL patch (Optional)

OPL Patch installation:
1. Create OPLSynth folder in C:\ disk root.
2. Copy *.tmb files to C:\OPLSynth folder.
3. Copy needed tmb file as apogee.tmb
4. If you want to use built in patch remove apogee.tmb

Windows OPL
5/5/2016 Quick update:
Bug fix:
-Stupid bug in OPL3 emulator was fixed. Driver is reuploaded.

5/5/2016 Update:
News:
-Very accurate Nuked OPL3 emulator, which present in ZDoom and in development versions of Chocolate Doom!
-More accurate compared to Windows 9x SB16 drivers!
-x64 version!

Installation:
1. Install Visual C++ 2015 Redistributable.
https://www.microsoft.com/en-US/download/deta … s.aspx?id=48145
2. Install driver.

Last edited by nukeykt on 2021-03-04, 08:28. Edited 17 times in total.

Reply 1 of 204, by leileilol

User metadata
Rank l33t++
Rank
l33t++

FINALLY, IT EXISTS!!!
THANK YOU!!!

EDIT: Noticed there's a strange pitch bend issue when playing fastway.mid (Rise of the Triad) around 1:37, the same bug i've heard in PCem in Win3.1's FM midi driver even...

apsosig.png
long live PCem

Reply 3 of 204, by nukeykt

User metadata
Rank Member
Rank
Member
leileilol wrote:

EDIT: Noticed there's a strange pitch bend issue when playing fastway.mid (Rise of the Triad) around 1:37, the same bug i've heard in PCem in Win3.1's FM midi driver even...

This bug also exists in Windows 95/98. Original FMSynth sample driver haven't this bug. So i added this bug.

Reply 5 of 204, by ik777

User metadata
Rank Member
Rank
Member

It proved that my CMI-8738 card didn't have any FM synth part.
Never buy CMI-8738 as mine. I should find another one.

Driver used that you posted before
Re: I've got the OPL3 synth from a CMI8738 working in Windows 7 x64

Attachments

  • fuck up my cmi8738.png
    Filename
    fuck up my cmi8738.png
    File size
    3.96 KiB
    Views
    53684 views
    File license
    Fair use/fair dealing exception

Reply 6 of 204, by nukeykt

User metadata
Rank Member
Rank
Member

Which error code ?
The code 10 means that OPL3 not found at 0x388 port.
Which CMI8738 chip's revision?
It seems to me that OPL3 exists if number of chip's revision 37 or less.
Which your PC's processor?
It seems to me that AMD processors don't allow to write on some ports.

Reply 7 of 204, by ik777

User metadata
Rank Member
Rank
Member
khokh2001 wrote:
Which error code ? The code 10 means that OPL3 not found at 0x388 port. Which CMI8738 chip's revision? It seems to me that OPL3 […]
Show full quote

Which error code ?
The code 10 means that OPL3 not found at 0x388 port.
Which CMI8738 chip's revision?
It seems to me that OPL3 exists if number of chip's revision 37 or less.
Which your PC's processor?
It seems to me that AMD processors don't allow to write on some ports.

Never mind. Your driver really tries to access my card's port 388 and my card only generates noise.
(Edit)
Confirmed FM won't work even in windows 98SE. every dos application's setup find fm but no sound.
In pure PC-DOS 7.00, fought with c3dmix.com, perfect SB16 Digital and detected FM but no sound.
CANNOT HEAR ANY FM SOUND WITH MY DARN CMI.

Attachments

  • Filename
    fucked up my 8738.JPG
    File size
    790.27 KiB
    Downloads
    No downloads
    File license
    Fair use/fair dealing exception

Reply 8 of 204, by sliderider

User metadata
Rank l33t++
Rank
l33t++
khokh2001 wrote:
leileilol wrote:

EDIT: Noticed there's a strange pitch bend issue when playing fastway.mid (Rise of the Triad) around 1:37, the same bug i've heard in PCem in Win3.1's FM midi driver even...

This bug also exists in Windows 95/98. Original FMSynth sample driver haven't this bug. So i added this bug.

When writing an emulator, it's ok to fix bugs in the original hardware. 🤣

Reply 9 of 204, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

How do you configure the usermode thing? I can't find the "UI driven application" mentioned in the readme...

EDIT: also hitting stop does not cause the driver to stop, I have to kill whatever process accessed it.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 10 of 204, by ik777

User metadata
Rank Member
Rank
Member

Let me know which CMI are you using.

LP chasis type? Trapezoid one with least parts? or Full sized one with digital output?

They looks much better than ebay. Audiotrak refused to answer about FM support. 😠
http://www.abko.co.kr/product/view.php?pid=17006&cid=1168
http://www.abko.co.kr/product/view.php?pid=17004&cid=1168
http://skyok.co.kr/?this_in=product_view&seq= … =37&view=hidden
http://audiotrack.co.kr/kr/index.php?mid=pci& … cument_srl=3727
http://audiotrack.co.kr/kr/index.php?mid=pci& … cument_srl=3724

Reply 12 of 204, by nukeykt

User metadata
Rank Member
Rank
Member

Try this driver:

Filename
cmi.zip
File size
52.07 KiB
Downloads
684 downloads
File license
Fair use/fair dealing exception

This driver for cmi8738 with integrated opl3 driver.Opl3 is working on CMI8738 IO Port + 0x50 port.

Reply 13 of 204, by ik777

User metadata
Rank Member
Rank
Member
khokh2001 wrote:

Try this driver:

cmi.zip

This driver for cmi8738 with integrated opl3 driver.Opl3 is working on CMI8738 IO Port + 0x50 port.

overwrite and DSEOed it in \system32\drivers. How can I check OPL3 works?

(I confirmed my card won't make any FM sound even in mixer in DOS, But SBPRO works.
In PEEKPOKE, PEEK C01A reports C8, POKE it 00 and 08 but 388 reports only FF.
The Adlib and compatible (fmsynth.inf driver) NEVER removed its yellow question marks itself as erroecode 10 in DM.)

Reply 15 of 204, by ik777

User metadata
Rank Member
Rank
Member

Forget everything and decided to use user mode drivers. Old games as windows 9x's times supporting MIDI BGM works well.
I didn't tried but is it work with my ymf-724 in 32bit XP or later?

Reply 16 of 204, by MaliceX

User metadata
Rank Newbie
Rank
Newbie

Hi, I haven't posted here in a while but bumped across this post while looking for something semi-related to Adlib and MIDI.

Wow! Really awesome, thanks very much for sharing this to the web, khokh2001! I've always wondered when someone would eventually pull this off.
Currently testing this in Windows XP x64, 7 x64 and Win 8 x64, working great with the user-mode drivers. I do have a YMF724F-V PCI card which only works under XP, so I might give it a go with the kernel drivers.

Also big thanks for sharing the source code too. I'm actually looking into seeing if it's possible to switch the default patches with say, patches used from .ROL music.

EDIT: OK so I have attempted to install the kernel driver on XP where I already have the YMF724F-V legacy mode enabled with PowerYMF. Regardless of methods of installation (Add new hardware, update driver on Legacy Sound System which has port 388h used), I get the following:

An error occurred during the installation of the device.

The class installer has denied the request to install or upgrade the device.

Assistance is required. Thanks.

Reply 17 of 204, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

Any status on fixing the bugs in usermode driver so that stopping playback in Winamp actually tells it to shut down? It is rather annoying having to shut down whatever program accessed the driver before I stop hearing stuck notes.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 18 of 204, by MaliceX

User metadata
Rank Newbie
Rank
Newbie
DracoNihil wrote:

Any status on fixing the bugs in usermode driver so that stopping playback in Winamp actually tells it to shut down? It is rather annoying having to shut down whatever program accessed the driver before I stop hearing stuck notes.

How are you getting stuck notes? I'm using Winamp and I have no problem other than that I would occassionally need to reset the MIDI driver via a MIDI, or restarting Winamp to address pitch bends left over from the previous song (this is common with many MIDI drivers).