Source code for 8 NES, SNES, Genesis and Sega CD games available, including unreleased "Hero Quest" for NES

1668547166925.png

The source code for a bunch of retro games ranging from the NES, Genesis and Sega CD is currently available at GitHub.
The source comes from programming veteran, Chris Shrighley, who has more than 30 years in the industry, having worked with companies like Eurocom developing games for the NES, and more popular ones like Disney Interactive, working on games for the Genesis. He also worked on the Sega CD version of Batman Returns.

The list of games that had source code released by him:
  • Magician (NES)
  • John Smith Special Agent (aka James Bond Jr.) (NES)
  • Hero Quest (previously unreleased NES game)
  • Ex-Mutants (Genesis)
  • Cliff Hanger (Genesis)
  • Batman Returns (Sega CD)
  • Gargoyles (Genesis)
  • Gargoyles Protype/Test (SNES)

Chris Shrigley's words on the release said:
I’ve been a games programmer for a very long time now, and over the years I’ve collected quite a lot of source code from the games I’ve worked on. Unfortunately, a lot of the code is still owned by other people, and cannot be shared. I have older archives though, on the NES, and Sega Genesis, that I can share, and they are linked below.

Feel free to download and play with the code as you will. One important thing to note, this code is made available for educational purposes only! You are NOT allowed to make money from this source code, in any way, shape or form.

Cheers!

While the release is nowhere recent, it's always nice to see more and more developers that consider releasing the source code as open source and available to the public for others to delve into.

:arrow: Source
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,197
Trophies
1
XP
4,359
Country
Canada
they leaked all of the models from the OG movie as well as code from the GBA game. AKA what was used in the show and movie as well as the gba game was leaked to the public
Which movie and GBA game are you referring to..?

LET's gEt these badboys onto the 3DS!
Except they'll already run just fine in the existing emulators?
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,203
Country
Canada
Sorry to be a bummer, but it's worth tempering your excitement here. Games of this vintage (SNES and older) were mostly written in processor-specific assembly code, meaning they can only be compiled into code that runs on the specific CPU they were developed for.

In the PlayStation era and beyond, development largely moved to portable, high-level languages like C, so having the source code to those games (either by direct release or reverse engineering ala Mario 64 and Ocarina of Time) makes porting them to other platforms very achievable. But that's not the case for these older games.

As one example, Gargoyles from this set is written in Motorola 68000 assembly, to target the CPU used in the Sega Mega Drive/Genesis. Now, if you wanted to use that code, you could replace everything that's Mega Drive-specific and port it to other 68k-based platforms like the Atari Jaguar or Amiga. But you can't use any of that code on an ARM-based Switch, a PPC-based Wii or an x86(_64)-based computer because they each use their own, unrelated assembly languages.

If you were especially dedicated and had a good understanding of the assembly language used, it would be possible to painstakingly hand-convert this code into something more portable by following what the original code is doing and writing something equivalent in your preferred language, but ultimately it's far more complicated than taking some existing C code and getting it running on PC or other platforms.
Honestly I can see what you mean, but I disagree with you regarding the tempered excitement.
As long as someone can transcribe the ASM sources to C or similar, it is absolutely possible to port these games to a different platform.
The hard work involved to disassemble these games is also avoided entirely with the original source code being available, that isn't too bad compared to having no sources at all, and that would still be useful for creating a port.
 

phil3254

Well-Known Member
Member
Joined
Nov 14, 2022
Messages
208
Trophies
0
Age
41
XP
172
Country
United States
You can already use VC injects and get them "right on the home menu"! How does that make them "WAY better"?!

they literally said that was just their preference now you are being confrontational to them for the sake of it and rude to your co-creators by patronizing them was there anything else you cared to add to your rude retorts (on second thought not worth the time blockin ya kiddo lol)
 
  • Like
Reactions: Hat-Man

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,462
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,278
Country
Honestly I can see what you mean, but I disagree with you regarding the tempered excitement.
As long as someone can transcribe the ASM sources to C or similar, it is absolutely possible to port these games to a different platform.
The hard work involved to disassemble these games is also avoided entirely with the original source code being available, that isn't too bad compared to having no sources at all, and that would still be useful for creating a port.

Chris Shrigley released the assembly sources this news post is about about ten years ago and it hasn't led to any ports yet.

There have been disassemblies and source releases for decades at this point, yet how many of those games have had modern high-level rewrites with ports to other platforms? Super Mario Bros. is one of the most popular games of all time, has a built-in audience of dedicated hackers and developers, and was likewise disassembled over a decade ago. Where's the PC port? There isn't one.

Disassemblies and assembly source releases of these classic games have been integral to the hacking and speedrun communities, but there's minimal appetite to make modern native ports because it's hard and offers very little reward when emulation already exists, especially when emulators are enhancing games with CPU overclocking, widescreen support, high-resolution scaling and rotation, HD graphics packs, CD-quality music, Lua scripting, etc.

Tempered excitement (which does not mean no excitement) is the only rational position. You can be excited for what this could lead to, but the likelihood of assembly source releases translating in the short term to modern, enhanced native ports is frankly pretty low. Maybe it will happen, but getting excited about upcoming PC ports of these titles is extremely premature.
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,197
Trophies
1
XP
4,359
Country
Canada
they literally said that was just their preference
No, they literally said it was "WAY better". That's not a preference; that's a value judgement the basis of which I am at a loss to comprehend.

now you are being confrontational to them for the sake of it and rude to your co-creators by patronizing them was there anything else you cared to add to your rude retorts
I'm not the one calling people "kiddo", sir.
 

mituzora

Well-Known Member
Member
Joined
Aug 23, 2016
Messages
315
Trophies
0
Age
31
XP
1,033
Country
United States
Arguments about usefulness aside, I think it's great that a developer chose to release the source code to the public for the sake of education and preservation. Set aside porting for a second; even if you don't intend to port the game, or even develop a game for the console they're on, it's still really beneficial as a brooding programmer to look through the code and learn some things.
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,203
Country
Canada
Chris Shrigley released the assembly sources this news post is about about ten years ago and it hasn't led to any ports yet.

There have been disassemblies and source releases for decades at this point, yet how many of those games have had modern high-level rewrites with ports to other platforms? Super Mario Bros. is one of the most popular games of all time, has a built-in audience of dedicated hackers and developers, and was likewise disassembled over a decade ago. Where's the PC port? There isn't one.

Disassemblies and assembly source releases of these classic games have been integral to the hacking and speedrun communities, but there's minimal appetite to make modern native ports because it's hard and offers very little reward when emulation already exists, especially when emulators are enhancing games with CPU overclocking, widescreen support, high-resolution scaling and rotation, HD graphics packs, CD-quality music, Lua scripting, etc.

Tempered excitement (which does not mean no excitement) is the only rational position. You can be excited for what this could lead to, but the likelihood of assembly source releases translating in the short term to modern, enhanced native ports is frankly pretty low. Maybe it will happen, but getting excited about upcoming PC ports of these titles is extremely premature.
Yeah, to be honest I agree with you there, I probably didn't word my previous post the best way regarding these points, so I apologise for sounding a bit obtuse earlier, it is true the amount of work that would be required is a mountain compared to working from already sane C code, in this case.

Given enough interest and dedication there surely could be a way or another to get a port, even if it happens to be a clone which didn't reference any original disassembly code, true 1:1 ports are indeed very rare and difficult to get in the first place.

The only exception I could think of right off the bat is Zelda a Link to the Past, which was, to my understanding, a full disassembly of the game, and then recompiled as C code, but I think it was a really hacked up approach that happened to just work, and isn't representative of anything else that could be done from original ASM sources, in this case.

Still, back to my initial reply, there is still a chance for porting or even recreating code from Assembly sources, at least down to the game code itself, direct hardware and registers trickery would obviously need to be recreated from scratch to work at all, but you get the idea.
That would depend on if anyone has plenty of free time to spend doing this, and I am aware this is something not many people would even bother attempting in the first place unless they are absolutely nut and are really dedicated to it, lol

And I say that as someone who did spend quite some time trying to rewrite (poorly) 6502 ASM routines into humanly legible C++, it is definitely not impossible, but it is definitely not easy either, especially if it is a really complex block of code doing all sort of crazy stuff such as self-modifications during execution, haha!
So, yeah, I can see the problem anyone would get themselves into if they even tried to port not just a few routines, but an entire game with its assets and target machine being decades behind with a CPU architecture that is not compatible either.
There is a reason why emulators exist in the first place, after all.
 

Impossible_Igntiz

Well-Known Member
Member
Joined
Nov 16, 2018
Messages
419
Trophies
0
Location
Bonerville
XP
1,158
Country
United States
i helped sophia try and port infinite cat mugen to the psp and even when we had the ability to overclock it from 222 mhz to 333 thanks to cfw it just couldnt handle it. Mugen is harder to port to a handheld console than ya know lol! TOO MANY VARIABLES when it comes to hundreds of thousands of "add my favorite hd stages and characters" but try not and let all the subjectives that result from that crash my psp. I also tried to port quake 3 arena to the psp but again even over clocked it was abysmal. I love mugen to the moon but its not a port friendly title for limited hardwares.
Now with the Nintendo Switch and 3DS being a thing nowadays, it should be very possible to do one for either.
 
  • Love
Reactions: phil3254

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    straferz @ straferz: Anybody know why this is happening to my ACWW town...