OPL2 emulator


   1. Purpose
   2. Listen yourself
   3. Copying
   4. Requirements
   5. Unasked questions
   6. See also
   7. What's changed?
   8. Downloading

1. Purpose

Emulates the OPL2 audio chip (also known as FM synthesis generator and AdLib chip).
The package actually contains two versions: One written by me (not quite well working), and one written by ƣ ä (impressive!) (afterwards rewritten by Jarek Byrczynski, and seems to support quite many OPL-variants).

The package also contains a midi player. Useful for testing how this works.

2. Listen yourself

These samples represent jts-st3.mid (Journey to Silius stage 3 theme, sequenced by anonymous) played with fmdrv through opl3emu, opl3emu2 and real hardware.

Source File
opl3emu sample1.mp3 (760 kB)
opl3emu2 sample2b.mp3 (750 kB)
Genuine OPL3 chip (Sound Blaster AWE32) sample3.mp3 (600 kB)

Offtopic: Btw, the real song is available too at zophar.net. In the referenced file, it's the song number 4.

3. Copying

opl3emu has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the following terms:
* No warranty. You are free to modify this source and to
* distribute the modified sources, as long as you keep the
* existing copyright messages intact and as long as you
* remember to add your own copyright markings.
* You are not allowed to distribute the program or modified versions
* of the program without including the source code (or a reference to
* the publicly available source) and this notice with it.

opl3emu2 uses the engine written by Tatsuyuki Sat and improved by Jarek Burczynski for the MAME project.
I don't know what kind of license does it come with.

4. Requirements

GNU make and GNU C++ compiler is probably required.
A sound card (OSS) might prove useful.

5. Unasked questions

Q: So if the emulator isn't written by you, what are you doing here?
A: I was going to write one, and I started that too, but then I found ƣ ä's code. Anyway, I have provided here a nice example and a real life application of how to use it ;)

Q: So if the program doesn't emulate OPL3, why is it called opl3emu?
A: Because I didn't quite much know about the differences of OPL2 and OPL3 when I started writing it...

6. See also

  • sndtool2, which handles NES music, is somewhat related to OPL, although NES doesn't use FM synthesis (except on one extension chip).
  • fmengineqb is an adlib S3M player for QuickBasic. Embed opl3emu as assembler code to it, and your AdlibS3M player in QuickBasic now works without an OPL3 chip :)
  • echoamplifier can be used to add echo to your adlib music.
  • fmdrv plays MIDI files by direct AdLib port IO or by direct MPU-401 port IO. Source codes available for this one too.

7. What's changed?

Some changes are minor, some major. If I haven't written it, see the diff yourself...

8. Downloading

Downloading help

  • Do not download everything - you only need one file (newest version for your platform)!
  • Do not use download accelerators or you will be banned from this server before your download is complete!

Date (Y-md-Hi) acc        Size Name                
2008-1009-0437 r--       90182 opl3emu-1.1.1.tar.bz2
2008-1009-0437 r--      101930 opl3emu-1.1.1.tar.gz
2004-1004-0142 r--       87646 opl3emu-1.1.0.2.tar.bz2
2004-1004-0142 r--       18709 patch-opl3emu-1.1.0.1-1.1.0.2.bz2
2003-0121-0019 r--       86011 opl3emu-1.1.0.1.tar.bz2
2003-0121-0019 r--        8690 patch-opl3emu-1.1.0-1.1.0.1.bz2
2002-1211-0204 r--       84831 opl3emu-1.1.0.tar.bz2
2002-1211-0204 r--       26893 patch-opl3emu-1.0.3.2-1.1.0.bz2
2002-1211-0204 r--       29204 patch-opl3emu-1.0.3-1.1.0.bz2
2002-1209-2343 r--       73959 opl3emu-1.0.3.2.tar.bz2
2002-1209-2343 r--        5421 patch-opl3emu-1.0.3.1-1.0.3.2.bz2
2002-0606-2157 r--       75678 opl3emu-1.0.3.1.tar.bz2
2002-0606-2157 r--        4691 patch-opl3emu-1.0.3-1.0.3.1.bz2
2002-0502-0456 r--       73393 opl3emu-1.0.3.tar.bz2
2002-0502-0456 r--        2196 patch-opl3emu-1.0.2-1.0.3.bz2
2002-0417-0142 r--       73044 opl3emu-1.0.2.tar.bz2
2002-0417-0142 r--        4156 patch-opl3emu-1.0.1-1.0.2.bz2
2002-0209-2131 r--       76127 opl3emu-1.0.1.rar
2002-0209-2131 r--       72651 opl3emu-1.0.1.tar.bz2
2002-0209-2131 r--        4203 patch-opl3emu-1.0.0-1.0.1.bz2
2001-1214-0314 r--       75095 opl3emu-1.0.0.rar
2001-1214-0314 r--       71694 opl3emu-1.0.0.tar.bz2
2001-1214-0314 r--       21177 patch-opl3emu-0.0.4-1.0.0.bz2
2001-0809-0340 r--       62733 opl3emu-0.0.4.rar
2001-0809-0340 r--       58999 opl3emu-0.0.4.tar.bz2
2001-0809-0340 r--       76964 opl3emu-0.0.4.zip
2001-0809-0340 r--        3474 patch-opl3emu-0.0.3-0.0.4.bz2
2001-0809-0056 r--       62067 opl3emu-0.0.3.rar
2001-0809-0056 r--       58313 opl3emu-0.0.3.tar.bz2
2001-0809-0056 r--       76210 opl3emu-0.0.3.zip
2001-0809-0056 r--        4116 patch-opl3emu-0.0.2-0.0.3.bz2
2001-0808-2259 r--       61015 opl3emu-0.0.2.rar
2001-0808-2259 r--       57321 opl3emu-0.0.2.tar.bz2
2001-0808-2259 r--       74552 opl3emu-0.0.2.zip
2001-0808-2259 r--       59714 patch-opl3emu-0.0.1-0.0.2.bz2
2001-0808-1932 r--       62964 opl3emu-0.0.1.rar
2001-0808-1932 r--       60652 opl3emu-0.0.1.tar.bz2
2001-0808-1932 r--       76949 opl3emu-0.0.1.zip
2001-0808-1932 r--       54041 patch-opl3emu-0.0.0-0.0.1.bz2
2001-0808-0800 r--       10154 opl3emu-0.0.0.rar
2001-0808-0800 r--        9874 opl3emu-0.0.0.tar.bz2
2001-0808-0800 r--       13624 opl3emu-0.0.0.zip
Back to the source directory index at Bisqwit's homepage