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.