Adlib/Soundblaster/OPL3 FM Trackers?

Hey there, pretty new around here.

Anybody have any experience with the OPL3/any Yamaha-based FM soundchips used for old DOS games? I adore the sound and managed to snag two Gateway Solo 2500s (for spare parts and peace of mind) for around $100 on eBay and started trudging through learning Adlib Tracker II. There are tons of old laptops with really grungy iterations of the OPLx chips out there to be had for cheap. But, by god, are the interfaces a little long in the tooth.

Anybody on here had any luck with similar 4op synth programming? I’ve seen a few MIDI driver apps floating around for Windows 9x, but haven’t made the plunge yet.

In an ideal world I’d be able to sync an FM tracker with direct synth-chip control to an external source, but so far none of the software is even capable of stable clocking or precise BPMs without a little math. It’s starting to feel like an uphill battle making anything at all.

6 Likes

Hi, I too love the sound of OPL3. I have an old laptop and so far AdLib tracker II seems to be the best in terms of sound design. It is hard to learn, though I used to program music in trackers on Amiga 500 years ago so I guess the concept is familiar.

I came across a Eurorack module called Akemie’s Castle by ALM - it is essentially an opl3 chip with CV control and additional chord mode. I haven’t used it myself but it seems like a fun module.

1 Like

Yeah I ordered mADiode’s ATII zines because the manual is largely unhelpful. Cant find it within myself to give up without climbing the learning curve any more, but Im still way faster in FastTracker.

The ALM opl3 module looks FANTASTIC.

any further luck with your research? was hoping this thread would take off, but i unfortunately don’t have much to contribute on the software front. i also keep an old late 90’s tower running DOS 6 and an 8 bit sound blaster card and 5 1/4" disk drive. haven’t thought about booting it up for awhile now.

I’m neck deep in finals, but have been doing some research and feel the need to procrastinate a bit. Apologies if this is long and confusing. I’m a bit drained!

I’m basically a layman relative to the active posters here but have been inspired to start diving deeper.

Here’s what I know so far: compared to other computer/synth scenes, there’s almost nothing. I found a nice little hub page here (http://www.oplx.com/opl3.htm) that illustrates this. The HTML “OPL3 Programmer’s Guide” is probably where I’ll start doing deep reading and making notes. But that will be after finals.

Here are the basics for the uninitiated: the OPL3 has a max of 36 operators. The “default” is to have 18 2op channels. 4op mode just cannibalizes the operators from another channel for more complex AM/FM stuff. There is also a 5 channel “drum mode” that uses 6 operators. Adlib Tracker 2, for example, uses per-song variables to set drum mode on and off and “link” 2op channels to form 4op channels. Control is done by writing to various registers.

I was first attracted to this because I’ve had a lot of fun building drones and little sequences in Supercollider but craved the limitations that pushed me to get into music in the first place (I got into LSDJ and some SID emulation tools back in middle school). So far, though, it’s been a nightmare. I’m very much a post-MIDI musician and often take for granted how simple and flexible control messages are nowadays. These older, cheaper synth chips are marvelously efficient but almost completely alien to me.

I do have some idea of what I want to do now, though. I think I’m going to take a bit of a break from my DOS/OPL3 adventures and start playing with hardcoded SID songs in the Vice emulator for C64. I know any assembly language is a royal pain but I need to wrap my head around the whole register-writing method of synth programming.

Here’s the best doc I found. I mentioned it above, but this is a direct link: http://www.fit.vutbr.cz/~arnost/opl/opl3.html

Finally, I’d like to outline the first steps towards a vision or a goal that I have:
Trackers are great for when I want to write catchy little chiptunes or want a really tight sequence to bounce into another piece. But so far the only ones that don’t make me want to bang my head against a wall are the SID trackers that were built to conserve memory by storing parameters and parameter changes in master tables. GoatTracker2 is my go-to escape these days because I find it really cathartic to write notes on the left side of the screen and maintain an efficient pool of wave/pulse/filter commands. Adilb Tracker 2 provides some joy to me in that FM sounds unlike anything else, but building/loading instruments and controlling individual parameters with effects in the main tracker requires a lot more planning.

SO, what I really want is an OPL3 control utility that approaches scoring from a different angle. Rather than a score that uses instruments (of the LSDJ/AT2 variety where all parameters are defined first) and commands, I’d like to begin by building subroutines within tables. In one form, this idea could be a GoatTracker-esque OPL3 tracker, but I also would like something a little more low level that could be utilized in building demos or adding music to video games.

Maybe a bit niche, but I think it’s a worthy endeavor.

1 Like

Oh, also, there are a few emulators (see: http://opl3.cozendey.com/) floating around that might serve as a starting point.

I’m hoping to start my work with an emulator, as my DOS laptop doesn’t have any built-in network hardware and I’m limited to USB flash drives to move things around. I’d rather not develop directly on it.

My only worry is ensuring Win9x compatibility. I’m pretty new to anything programming-related…

this looks pretty great. linux based opl3-emulated midi file player:

http://bisqwit.iki.fi/source/adlmidi.html

1 Like

Wow, that is pretty sweet. I know I’ve seen a few different non-emulator projects for hacker boards floating around. Plenty of folks out with a library of MIDI tracks building RPi powered jukeboxes.

I just was looking at the registers and discovered that each channel (be it 2/4op) shares the same key-on and pitch information. So no creative rearranging of the operators.

You could always use an FPGA to emulate an OPL3.

More on Hackaday.

1 Like

Im not ready for FPGA work yet… But the possibilities are so tantalizing!

1 Like

I know this thread seemed to originally look for working with hardware, but this recent update might be helpful to people.

2 Likes

RAD is super ridiculously fun

also the ASCII docs are just lovely: https://www.3eality.com/productions/reality-adlib-tracker/docs

2 Likes

do you run it on linux?

lookin’ to add a few things to my new linux desktop

Well… these just came back up on Tindie and I couldn’t help myself and ordered one…

(plus the USB to 40-pin adaptor they sell)

Adlib Tracker II in Dosbox-X appears to be the way to go…