SETTINGS
Appearance
Language
About

Settings

Select a category to the left.

Appearance

Theme

Choose an overall theme for the entire blog. Each can have their own colours.

Colourscheme

Light or dark? Choose how the site looks to you by clicking an image below.

Light Dark
AMOLED

Language

Preferred Language

All content on blog.claranguyen.me is originally in UK English. However, if content exists in your preferred language, it will display as that instead. Feel free to choose that below. This will require a page refresh to take effect.

About

"blog.claranguyen.me" details

Domain Name: claranguyen.me
Site Version: 2.0.0
Last Updated: 2025/03/09
Keyboard Hero V7.5 DLC and Songs
Friday, October 31, 2025

Introduction

Hey, remember that time when I released a game? It was 12 years ago. I released Keyboard Hero V7.5 on GameJolt back on October 31, 2013. The game died very quickly after its release. The primary reason is because we lost the derpg.net domain, which the game relied on for updates and DLC packages. The second reason is because I lost the source code, which meant I couldn't just redirect the server request to our new derpg.xyz domain.

As the game's creator, I have everything except for the source code. That is on a failed hard drive. Unfortunately, to prevent decompilation, I used some obfuscation tools on the EXE. So it isn't very easy to recover the source code. That being said, I do have access to the archived DERPG Wiki, which has details on how file formats worked. I also have the DLC assets, which means it is still possible to play official DLC in the game. And I'm going to explain how.

DLC

Let's dive into DLC first. These were official releases by DERPG which had multitrack audio. We had direct contact with most artists to make the releases possible. We were originally going to release a DLC pack that was with tracker music from 1994-1995 but we never got the artist's permission to actually release it. Two DLC packs were released: Cell Pack by LuigiBlood, and Timaeus Pack by Timaeus222, mVelocityHD (KrisRandomHero), and AngelCityOutlaw. Both packs contained 5 songs each.

How it worked

The game had a repository system set up where it would pull a file from derpg.net. That file would contain all DLC information such as song name, artist, genre, year, etc. It would also contain a direct download link to the song file. The file was an XDLC file. XDLC is vX DownLoadable Content, as the game was powered by what we called DERPG VX Engine at the time. The XDLC file had 2 separate configurations: Encrypted or Decrypted. Here's the details of both:

Encrypted
XDLC Format Details

[name.xdlc - ZIP Format] -- Visible file
{
    albumart.png -- Album art of the song
    song.chart -- Chart of the song
    info.dxen -- Info of the song
    [song.mxen - PAK Format] -- Audio file
    {
        drums.khm -- Example drums track to the song
        guitar.khm -- Example guitar track to the song
        bass.khm -- Example bass track to the song
        keys.khm -- Example keys track to the song
        song.khm -- Example misc track to the song
    }
}
Decrypted
XDLC Format Details

[name.xdlc - ZIP Format] -- Visible file
{
    albumart.png -- Album art of the song
    song.chart -- Chart of the song
    info.dxen -- Info of the song
    unpack.debug -- Tells Keyboard Hero that the song is not encrypted
    [song.mxen - PAK Format] -- Audio file
    {
        drums.ogg.mz -- Example drums track to the song
        guitar.ogg.mz -- Example guitar track to the song
        bass.ogg.mz -- Example bass track to the song
        keys.ogg.mz -- Example keys track to the song
        song.ogg.mz -- Example misc track to the song
    }
}

The ogg.mz are just renamed OGG Vorbis files. Though khm (Keyboard Hero Media) were encrypted via the FMOD DLL extension for Game Maker 8. The game came with a xdlc_extract.exe which extracts the contents of an XDLC file, including all multitrack audio. However, it does not decrypt KHM files. During the release cycle of Keyboard Hero, there hasn't been a single encrypted DLC. So you should be able to extract all DLC files and listen to multitrack audio via Audacity. The song.chart file used standard chart format that Frets on Fire used. The chart editor of choice was Feedback Chart Editor.

Once the song XDLC file was downloaded, it was placed in the ./songs/DLC/ directory. The game would extract the contents on-demand to a temporary directory.

DLC Downloads

The DERPG server did not host the files for the downloadable content. So even though we lost derpg.net, the files were never lost. Instead, we used Dropbox because it was the only file uploading service at the time that allowed for a direct download via URL modification. So Agro wrote a DLL to allow for threaded downloads and the game would access Dropbox, download the file, and put it in the appropriate directory automatically.

I guess that DLC was considered lost media until this blog post. Here are the 10 downloadable XDLC files for the game that were officially released:

Title Album Artist Year Length Genre Download
Flashback CD Intro Theme n/a LuigiBlood 2011 4:36 Rock DL
Mega Move n/a LuigiBlood 2011 2:14 Rock DL
In The Room (BN5 Extended Mix) n/a LuigiBlood 2011 2:44 Game DL
Flashback - The Return n/a LuigiBlood 2012 6:45 Rock DL
Reconstructing More Science (Seru Remix) n/a LuigiBlood 2012 3:33 Rock DL
Drop to Eventide Acidophilus Timaeus, mVelocityHD 2011 2:56 Heavy Metal DL
Shreddin' the Shredder Acidophilus Timaeus 2011 2:42 Metal DL
Engulfed Timaeus's Remixes Timaeus 2011 2:53 Metal DL
The Death Of King Desmond Composimixes Timaeus 2012 2:58 Metal DL
Let's Upset a 'Troid! Composimixes Timaeus, AngelCityOutlaw 2013 3:51 Drum 'n Bass DL

Should be noted, these are the initial releases of the DLC. The very first versions. In 2014's "Keyboard Hero DLC Drums (And remastering) Project", I reached out to LuigiBlood and Timaeus222 for improved song stems so drums would have more immersive gameplay. The thing is, Keyboard Hero V7.5 never supported drums. It was planned to be added in an update but it never happened. In these multitracks, drums only have one stereo audio file. I believe most of them do have playable drum charts too, so if you threw them into modern rhythm games like Clone Hero, they should work. But don't quote me on that.

Anyway, put the XDLC files in ./songs/DLC/ and Keyboard Hero V7.5 will detect them the moment the song selection menu is opened. From there, you can play the songs!

Song Listing
Song Information

It was nice seeing the game work again. I had a feeling that I wouldn't be able to pay for web hosting back in 2013. So I built in this alternate way to have the game detect the DLC. It also allows for custom DLC to be put in if you have the tools for it.

Why didn't I just include these songs?

With the songs already out on the game's launch, why didn't I just make the game come with the songs so the user can play them stock? Well the answer is simple. GameJolt only allowed for 100 MB uploads for games at the time. It seems like the limit has been drastically increased now. Anyway, the DLC for the game is over 200 MB. The game itself without any songs is 78+ MB.

Unreleased Content

As I stated earlier, there was some tracker music that was to be released too. This was known as the Hysteria Pack. It had 4 songs and was meant to be released shortly after Keyboard Hero V7.5's release. However, contacting the original artists is difficult. Some of the songs even have unspecified names, leaving the DERPG team to guess them based on the information stored in the tracker file. The most notable is Kosmic (Unreleased 4) by Floss/Norg. Norg, Sirio, if you're both out there on the Internet, feel free to shoot me an email.

Title Album Artist Year Length Genre Download
Kosmic n/a Norg 1995 2:57 Techno n/a
Level 5 n/a Sirio 1994 3:05 Techno n/a
Unreleased 6 n/a Sirio 1994 5:26 Techno n/a
Baygle (Party Mix) n/a Norg 1994 5:40 Techno n/a

Both DERPG and my personal YouTube channels have preview videos for some of the tracks in the Hysteria pack. Yes, some of the songs were charted.

Kosmic
Unreleased 6
Baygle (Party Mix)

Lastly, there was a single submission on TREZ (The Rockman EXE Zone) from a user named MegaMettaurX who had a remix of Overloaded from Mega Man ZX Advent. I have no idea why this didn't make it into the game. It had one hell of an awesome drum track.

Title Album Artist Year Length Genre Download
Overloaded (Model RmX) n/a MegaMettaurX 2011 2:21 Game n/a

Custom Songs

Custom songs were a bit more esoteric. For some reason, people thought the game was capable of auto-charting songs so they only had to toss in an MP3 or something. This was not the case. Instead, it followed the same convention as Frets on Fire and FoFiX where you had to supply both the audio and a chart for a song. So if you wanted your music in the game, you had to chart it yourself.

At minimum, each song required a song.ogg, along with a song.chart. You can use Feedback Chart Editor to chart the music itself. Each song had to be in its own directory in the ./songs/songs directory. An optional album art could be added, as well as a KBH_INFO.INI which stores the difficulty information. The game will automatically detect whether a chart for a specific difficulty exists.

What's next?

Keyboard Hero V7.5 actually had a successor planned, called Project RX. This game had active development in 2017 and featured even more artists, such as FEWZ, Polkadott, Skaven252, WillRock, and even myself! You can see the trailer for it, as well as gameplay here:

Trailer
Gameplay
Teaser

Project RX sadly entered development hell and I wanted to remake it in C/C++ to break out of using Game Maker 8. By the time, I was advanced enough in those languages to make a game in it. I got tired of making DLLs for Game Maker 8 to support more advanced features that Game Maker just didn't have at the time.

The plan was to be inspired by Beatmania IIDX. So content from Keyboard Hero V7.5 would be carried over. And successive rhythm games I make would include content from all previous games. So the library of songs would continuously increase.

Conclusion

It felt nice going back 12 years to something I released and give it some life again. To close this blog post out, I am announcing that the derpg.net domain was up for sale again as of writing this, so I purchased a 10 year ownership of it. Once I figure out the server repository information, I'll put the files back in their original places and the game should theoretically function again, just like if it were 2013. Ironically, this means I'm basically reverse-engineering my game (hence the tag for this blog post).

Looking back at the game, I was surprised at some things. Like, I even implemented ultrawide support and resolution scaling so it'll never look wacky. No surround sound or HDR though. Oh well. I really doubt HDR is possible in Game Maker 8. It's been a very long time. But I wanted to make sure the game got the love and support it needed.




Clara Nguyễn
Hi! I am a Vietnamese/Italian mix with a Master's Degree in Computer Science from UTK. I have been programming since I was 6 and love to write apps and tools to make people's lives easier. I also love to do photography and media production. Nice to meet you!


Blog Links
Post Archive