Page 1 of 1

Reverse engineered game code

Posted: Fri Dec 15, 2017 10:30 am
by RMartins
HI guys, I have known a few games that have been reverse engineered in terms of code, but I don't remember a single place that has a coherent list of these in the wild.

Is there a website with a catalogue and/or links to these dumps, or original source code ?

If not, we can start adding the known ones to this thread.

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 11:00 am
by R-Tape
Probably a daft question, is reverse engineered different from disassembled?

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 12:52 pm
by ramsrc
There are a number at the excellent http://skoolkit.ca/

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 1:05 pm
by Einar Saukas
The largest collection is probably http://opensourcezx.untergrund.net

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 1:12 pm
by Einar Saukas
ramsrc wrote: Fri Dec 15, 2017 12:52 pmThere are a number at the excellent http://skoolkit.ca/
I just noticed the SkoolKit page is missing The Great Escape disassembly.

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 1:55 pm
by Ralf
The largest collection is probably http://opensourcezx.untergrund.net
Yes, but this is mostly Russian soft that most people here have never heard about ;)

And if we want to be pedantic, they were not reverse engineered, but rather this site stores their original source code ;)

There are also sources available for a few games on WOS, you can find them with advanced search option.

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 2:16 pm
by Guesser
Einar Saukas wrote: Fri Dec 15, 2017 1:12 pm
ramsrc wrote: Fri Dec 15, 2017 12:52 pmThere are a number at the excellent http://skoolkit.ca/
I just noticed the SkoolKit page is missing The Great Escape disassembly.
The disassemblies page only lists the ones he created himself. Others are listed on the links page, including The Great Escape: http://skoolkit.ca/?page_id=1016

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 2:22 pm
by Einar Saukas
Guesser wrote: Fri Dec 15, 2017 2:16 pm
Einar Saukas wrote: Fri Dec 15, 2017 1:12 pm I just noticed the SkoolKit page is missing The Great Escape disassembly.
The disassemblies page only lists the ones he created himself. Others are listed on the links page, including The Great Escape: http://skoolkit.ca/?page_id=1016
You are right, sorry!

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 2:32 pm
by Einar Saukas
Source code of games developed using Boriel ZX Basic are listed here:

http://www.boriel.com/wiki/en/index.php ... d_Programs

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 3:04 pm
by RMartins
R-Tape wrote: Fri Dec 15, 2017 11:00 am Probably a daft question, is reverse engineered different from disassembled?
I would say that disassembly is the first step when reverse engineering a piece of software.

Other steps include:
- determine where variables are stored and their intended use.
- determine internal data structures
- where are the boundaries of each function, and what they do, and find a suitable name
- understand algorithms used
- where graphics are stored and their format
- where music is stored, kind of player, channels supported, etc..
- etc ...

Re: Reverse engineered game code

Posted: Fri Dec 15, 2017 3:43 pm
by Ralf
Probably a daft question, is reverse engineered different from disassembled?
Well, different people may have different definitions.

Personally I would agree with RMartins that reverse engineering is a bit more than just disassembling. It's disassembling + documenting.

Actually disassembling may be entirely automatic - your input is binary file and your output is text file with assembler commands, labels like L32768 and not a single comment. Adding meaningful labels and comments makes it something more than just disassembly.

Re: Reverse engineered game code

Posted: Sun Dec 17, 2017 10:39 pm
by dpt
I discovered a Head Over Heels disassembly the other week on github which I'd not previously spotted: https://github.com/simon-frankau/head-over-heels

Re: Reverse engineered game code

Posted: Mon Dec 18, 2017 2:49 pm
by RMartins
Does any one know of a reverse engineered version of Space Harrier ?

Re: Reverse engineered game code

Posted: Wed Dec 20, 2017 1:12 am
by dpt
Closest I can offer is "Cannonball": the reconstructed OutRun engine: https://github.com/djyt/cannonball/wiki

Re: Reverse engineered game code

Posted: Sat Dec 30, 2017 4:25 am
by RMartins
Doesn't seem identical, although I agree the implementation of the floor could be considered similar.

Re: Reverse engineered game code

Posted: Sun Dec 31, 2017 4:28 am
by Nomad
I find the annotated disassembly listings really useful, far more so than the books on assembly in making a game. While the books are necessary for looking up things like processor specs, timings - of a technical nature. And of course the basics. Its the games themselves where the practical applications are found. Being able to see how various creators did what they did is great.

The games I wish that would get this treatment are in no particular order...

The Forest - , its a mix of basic and assembly. How they managed to get the game space in the spectrum always made me scratch my head, especially considering it was a mix of basic and assembly (well according to infoseek).

[youtube]http://www.youtube.com/watch?v=xpyLanR7lG4[/youtube]

Mailstrom - while the game was a grind, I always wondered how they got the scrolling to work like they did and all the various menus.

[youtube]http://www.youtube.com/watch?v=I1ZvACJsR0E[/youtube]

saboteur - I loved that game back in the day, to be able to poke around inside and figure out how it worked its 'magic' would be really something.

[youtube]http://www.youtube.com/watch?v=U2Mq2TMkm8o[/youtube]

Re: Reverse engineered game code

Posted: Sat Feb 10, 2018 12:54 pm
by Rorthron
Luny has disassembled Pyjamarama here:

http://www.luny.co.uk/index.php?page=90