I managed to find a copy of Death Match on an old CD. It took me a little while to the program running. The first thing that came up was a copy protection scheme that I had written into it. At the time it was written, most commercial games had a lookup sheet that you would need to consult to get the program to run.
The 6-character mapped character string was then looked up in a table of words and compared to the word that the user entered. I had originally compressed Death Match with an executable compressor called “PKLITE”. Because of this, I couldn’t just hex-edit the executable and locate the string table. Luckily, I hadn’t protected the compressed version, so PKLITE allowed me to decompress it:
C:\old\pklite>pklite -x \old\dthmatch\dthmatch.exe PKLITE (tm) Executable File Compressor Version 1.12 6-15-91 Copyright 1990-1991 PKWARE Inc. All Rights Reserved. Patent Pending Expanding: /OLD/DTHMATCH/DTHMATCH.EXE Original Size: 39929 Expanded Size: 112672
Once I had done that, it was a simple matter of using notepad to grab the string translations from the executable.
After that, I used The Gimp to create PNG files of each letter and created an HTML file to map the 6-character codes to the appropriate words. I was then greeted with the title screen and main menu!
Getting the game to run properly is a bit tricky. Bochs seemed to freeze in the main menu and running it under Windows 2000 seemed to result in corrupted graphics in a number of places. I think I might be missing a few files that might be important. Once I scour the remaining floppies, I should be able to discover which files are missing.
Update: I discovered that the code “LEMMEIN” works for any of the codes as well. You can see it in the screenshot of notepad above.Read full post