Profile picture
, 13 tweets, 5 min read Read on Twitter
So lately I've been working on some #DOS game #reverseengineering (preservation!). One of the targets I'm working on is "Fuzzy's World Of Miniature Space Golf" from "Pixel Painters", which is a game I played forever when I was a kid.…
So far, I've managed to get the files unpacked (pretty easy) and animations extracted. Here is an example of the intro I've been able to decode (loops nicely!), although if you ever played the game you might notice there is something missing... (besides the speed being wrong)
The stars, of course! They are not part of the animation itself, but they are generated randomly every time the game starts. Not even the colors used by them are part of the palette, they get added after loading the image, which is really interesting.
Another interesting (tech) tidbit about the game is that it's written in Borland Pascal, which makes it one of the few I've found not using C, C++ or ASM (Pixel Painters next and final game, "Dig It!", was also written using the same language, and probably compiler).
I'm not familiar with Pascal compilers of the era, but as for C/C++ ones: a year ago I created a timeline of them that you might find interesting ( An idea I have is creating a Compiler Explorer ( for those, and maybe Pascal next.
In any case, another target I've been working on is "Heimdall 2", from "The 8th Day" (and published by "Core Design"). I got this one from a magazine back in the day and also played day after day... the same 3 or 4 screens. Too hard for my pre-teen mind...…
I've decoded many things from this one, including fonts, animations (partially) and text (it has some special formatting and other interesting stuff). Here you can see a (broken) sample of the intro, although I'm ignoring a lot of stuff for each frame...
It's really surprising to see the amount of work that went into the animation: every frame can have its own delay, and there are palette effects only affecting part of the image. I really hope this was not only used for the intro and outro, but also for in-game animations...
Tech tidbits: The game contains debug symbols! This is of course really useful, as it speeds up the RE process a lot. You won't believe how many games shipped with debugging symbols back in the day, even with disk space at a premium...
Next interesting fact is that the game uses runes for its magic system which are part of the font,and the most surprising fact (for me) is that all the runes except 1 can be found in the Runic Unicode block!…. When debugging text I use those and looks great
As for other asset types, the game has some interestingly named H2RMxxxx.BDP files (with "xxxx" being a number from 0x0000 to 0x00FF) which are nothing more than PCX files in disguise! They contain every room background, starry space included...
Finally, it looks like the game was written in assembler (at least the debugging info contains ASM filenames) and was linked using Borland's TLINK. It used the famous AIL library (now "Miles Sound System") for its sound.
Anyway, I hope that was interesting. I have a few more targets in progress, but that's a story for another day. Let me know what you think!
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Edu Garcia
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!