I have been a gamer since the days of DOS and the NES (my first computer and console). I have been a game music audiophile for nearly as long, and at one time took great pride in my personal collection of game music I personally recorded from their original consoles. In some cases this was easy, but in many cases required development of hacks to capture clean samples, e.g. shorting pins on the SNES expansion connector to freeze the main CPU while the SPC-700 runs.
I am a professional software and firmware engineer and a hobby hardware engineer. I have been reverse-engineering games and other programs as a hobby since the late 90s, and was a well-known name in the Blizzard game modding community of the time, wrote 2 of the 3 most popular Starcraft modding tools, and did a considerable amount of research on file formats and specific game mechanisms requested by others (e.g. map editor coders).
More recently, I have worked on a number of assorted game projects such as the reverse-engineering and programming for the EJRTQ Metroid 2 color conversion and a Blaster Master randomizer that I really should get back to at some point.
I am highly whim-motivated, and in 2013 on a whim I decided I wanted the raw musical score of MegaRace for DOS (a game I had played since the mid 90s and had added recorded music of it to my collection in 1998), for the possible use in remixes/arrangements, and reverse-engineered the HERAD v2 format. Coincidentally, just a couple months after, I began taking embedded systems engineering courses and acquired an Arduino-like board as part of that class; having just reverse-engineered HERAD, I decided I would get an OPL2 and necessary hardware and make a retro game music synthesizer to play MegaRace music and other MIDI music, which I showed off at the last day of the class. I have intended to add other chips to it, such as the Genesis' OPN2, the Amiga's Paula, and perhaps the OPNA, but I have not gotten around to doing so yet.
Later that year I discovered that MegaRace also had Sega CD and 3DO versions. Knowing that the 3DO did not have an FM synthesizer chip, I hoped that it would use sampling-based synthesis using the 3DO's DSP. Reverse-engineering this proved trivial and took only a few hours with a hex editor, but disappointingly revealed that the music was merely digital audio that had been slashed and burned to fit entirely in the 3DO's audio RAM.
Most recently I reverse-engineered the Sega CD versions of MegaRace and Dune and updated the HERAD page with information on the Sega CD implementation and created pages for them with the HERAD files, VGM rips, and recordings synthesized from the VGM rips (as relevant).
After creating the OPL2 synthesizer, I later developed a second music synthesizer on a cheap TI DSP (back when it cost $50). This is a General MIDI CD-quality sampling synthesizer based on the MIDI Downloadable Sounds standard using VAG for sample compression. Due to very limited RAM, the synthesizer is limited to polyphonic piano synthesis, although the code supports multiple instruments and can be built on PC and Linux as well.
My current project is an addon module for my synthesizer that taps the OPL2 digital output directly before it is converted to analog by the DAC, and presents USB audio for noise-free, sample-accurate recording. This uses Arduino MKR Vidor 4000 for its onboard FPGA to handle input from many different synthesizer chips with different clocks and data formats, each with its own USB audio port, in the future.
Rips I've Made
Recordings I've Made
- Dune (SCD)
- Lunar: The Silver Star (SCD)
- Lunar: Eternal Blue (SCD)
- Lunar: Silver Star Story Complete (PS1)
- MechWarrior 2: 31st Century Combat (DOS)
- MechWarrior 2: Ghost Bear's Legacy (DOS)
- MechWarrior 2: Mercenaries (DOS)
- MegaRace (3DO)
- MegaRace (SCD)
- WarCraft II: Tides of Darkness (DOS)
- WarCraft II: Beyond the Dark Portal (DOS)
File Format Documentation
Here are a list of some of my favorite composers that have written music for video games.