FM Tracker in Dosbox

In a previous post I became all nostalgic and talked about my very first programming project called FM Tracker. I dug it up from my backup archives to see if I could bring it back to life again. I tried to revive my baby using the magical powers of DOSBox, and amazingly I succeeded!

I tried DOSBox already three or four years ago, just for fun, by just running some good old DOS programs that I downloaded here and there. Already back then it seemed to work quite nicely. I wanted to try FM Tracker too, but didn’t get to it that time. But while I was writing about my assembly coding time, I remembered I wanted to try to get it running using DOSBox. So I downloaded the PPC version for my PowerBook (with a good old G4 processor in it), that brought my precious back to life. Unfortunately, DOSBox performs way too slow on my PowerBook for FM Tracker to play a song, probably because of the overhead of converting x86 to PPC instructions I guess.

Again it took a while before I found the time to start playing with DOSBox on my desktop PC at home. Being an AMD Athlon 1400+, it is not a youngster anymore, but as it has a x86 architecture I thought it would be worth trying DOSBox on that machine too. I’m running Gentoo on that box, and after issuing emerge dosbox I was ready to go. The result was what I hoped for, in one word: stunning. I mean, I know the code I wrote for FM Tracker; 100% assembly, accessing the BIOS directly, hooking into interrupts, continuously throwing bits and bytes at the OPL’s input/output ports (0x388 and 0x389 if I remember correctly) while playing a song, it all works perfectly. Right there on my Gnome desktop in a window, without the physical presence of an OPL chip in that machine.

Now I know it is possible to see my initial project’s results in its original fully functioning state, and because I think it deserves its own place on the internet, I’m making it public here today. Everybody that wants to try FM Tracker is welcome to do so.

To conclude, by looking at the long list of supported games or the list of supported demos, and my FM Tracker experiment, I can only say that DOSBox is surely a great a piece of work.