News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Swift_

#1
Friendly greetings to everyone from Hungary, it's my first time posting here :)

I haven't found any other place online about reverse-engineering GPC, so I registered specifically because I'd like to share my own documentation for the music and voice formats used by the DOS version of GPC and TD2.

You can access the ongoing music/voice reverse-engineering project through this Github link: https://github.com/Swift97/testdrive2-music/
(Don't mind the project name. It started as a SONGS.BIN doc, but GPC's MUSIC.BIN uses the same format.)

It took a lot of trial-and-error experimenting with Dosbox/Hex Workshop/Audacity/FL Studio, as well as a small bit of LLM usage to auto-scan through the GPCEGA.EXE and TD2EGA.EXE files in order to verify/cross-check my findings (especially about the pattern roll's control/event bytes). The result is a documentation that's proven and tested to be effective for both games.

As you can read in the preamble/README, updates may be slow, but I try to update the .MD text files as soon as I figure out something new about the format. I have to juggle IRL matters, other hobbies, work, fooling around with TD2's .PES/Car/Track data, etc. along with this project.
Also please bear with my terrible formatting scheme. I tried to make it as logical and easy to read as I could, but I've never written any docs like this.



I really hope it'll be at least a little useful to someone who might stumble upon it in the future :) Maybe someone will create a cool Famitracker-like sequencer. Or maybe someone will program a sick original song with arps and pitch bends defined with different voices, perhaps a remix of the GPC theme itself ;D

Lastly for fun, here's the main riff from Doom E1M1 hand-coded in Hex Workshop https://youtu.be/l2IkhIS0ZVE