Reverse engineered game code

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Reverse engineered game code

Post 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.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Reverse engineered game code

Post by R-Tape »

Probably a daft question, is reverse engineered different from disassembled?
User avatar
ramsrc
Drutt
Posts: 27
Joined: Mon Nov 13, 2017 12:15 pm

Re: Reverse engineered game code

Post by ramsrc »

There are a number at the excellent http://skoolkit.ca/
A hollow voice says "Plugh"
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Reverse engineered game code

Post by Einar Saukas »

The largest collection is probably http://opensourcezx.untergrund.net
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Reverse engineered game code

Post 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.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Reverse engineered game code

Post 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.
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Reverse engineered game code

Post 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
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Reverse engineered game code

Post 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!
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Reverse engineered game code

Post 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
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Reverse engineered game code

Post 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 ...
Last edited by RMartins on Fri Dec 15, 2017 3:57 pm, edited 2 times in total.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Reverse engineered game code

Post 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.
User avatar
dpt
Drutt
Posts: 17
Joined: Mon Nov 13, 2017 2:08 pm
Location: Glasgow, Scotland
Contact:

Re: Reverse engineered game code

Post 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
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Reverse engineered game code

Post by RMartins »

Does any one know of a reverse engineered version of Space Harrier ?
User avatar
dpt
Drutt
Posts: 17
Joined: Mon Nov 13, 2017 2:08 pm
Location: Glasgow, Scotland
Contact:

Re: Reverse engineered game code

Post by dpt »

Closest I can offer is "Cannonball": the reconstructed OutRun engine: https://github.com/djyt/cannonball/wiki
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Reverse engineered game code

Post by RMartins »

Doesn't seem identical, although I agree the implementation of the floor could be considered similar.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Reverse engineered game code

Post 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]
User avatar
Rorthron
Dynamite Dan
Posts: 1644
Joined: Sun Nov 12, 2017 10:35 pm

Re: Reverse engineered game code

Post by Rorthron »

Luny has disassembled Pyjamarama here:

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