http://www.meebo.com/rooms

Kroah's Retro Game "Decompilation" Effort

March 5, 2007



I have recently stumbled across one of the most impressive, hardcore retro computing efforts I've ever encountered. A reader, Kroah, broke into chat with me the other day, indicating that he had been searching for months and months for the manual to the game Time Bandit. He saw a photo I had linked on the Usenet several years ago, in which the manual was pictured in the background. It was chance that he found me here at Byte Cellar, but now that he had, could I provide it? I could.

Why did he want the Time Bandit manual? He is building a sequel. How, you ask? With the Time Bandit Utility of his creation. You see, Kroah's passion is "decompilation". That is, breaking a game down to its basics, and then building a easy-to-use tool--GUI and everything, that allows editing of level maps, graphics, game scripts, etc. Coded in in C# under .NET, his Time Bandit Utility allows you to modify the core game, or go far beyond and create more or less a whole new game based on the original engine. The images above are just a quick demonstration of what can be done with the tool. Good stuff, eh? Well - it gets better. It's not just the Atari ST classic Time Bandit he has decompiled; a host of classic games have gone under the knife, as can be seen at his page: Archon, Seven Cities of Gold, M.U.L.E., Gateway to Apshai and more--classics, all.

Kroah tells me that he follows a certain drill in decompilation:

  1. Decompile and decrypt the game with an über tool (thanks IDA)
  2. Understand the whole data and code
  3. Make a tool to read/write the data (and updating some game code)
  4. Create new levels before releasing the custom tool
  5. Develop on a cool story
  6. Build the levels (this takes time...)
  7. Release the new levels and wait for the community feedback
  8. Release the tool
And, as can be seen from the following, it's not a lightweight process.
    This game has really a complex obfuscator and code protector (I spent numerous nights decrypting it...). The hardest I've ever seen. There's 3 layers of XOR encryption (at loading, in game and when loading/saving). With this, some checksums are computed and it hangs the computer randomly in time after the check... So I first decrypted the 3 layers and write it back to disk, removing the decoding code and the checksums. After that, I've extended the floppy to a double sided one (720k) and updated the loading code (the floppy is raw copied to memory). Now the game won't run on a 512K, but we have lot more free memory to do the levels. Scripts and texts take great amount of space. When I'll have time, I'll add a little encryption before loading because all the texts are readable on the floppy... not good for cheaters ;)
This truly is an astounding effort and I hope that my post, here, helps spread the word on the good work that Kroah is doing in his free time. Efforts like this truly keep the retro scene alive. Hats off, Kroah.

Posted by blakespot at March 5, 2007 8:52 PM | TrackBack
Comments

Now that you mention it, I could use some help with the 1993 release of Seven Cities of Gold...
Specificaly getting it to read the VALUES.CFG file...

I know this prolly isn't the place to ask for this help, but I've not yet come accross ANYTHING relating to this issue...

Thanks,
~Cadi

Posted by: cadiped at June 3, 2007 10:20 AM
Post a comment









Remember personal info?





Please enter the security code you see here