Welcome to our page dedicated to Super Nintendo reverse engineering! The Super Nintendo Entertainment System, or SNES, was a popular gaming console released by Nintendo in 1990. If you’re interested in learning more about the technical aspects of this console and how it works, you’ve come to the right place.
On this page, we’ve compiled a list of links to other pages that cover various topics related to Super Nintendo reverse engineering. Whether you’re interested in understanding the hardware architecture of the console, analyzing game code, or exploring the many mods and hacks that have been created by enthusiasts over the years, you’ll find a wealth of resources and information on the pages we’ve linked to.
So grab your SNES controller, and get ready to dive into the exciting world of Super Nintendo reverse engineering!
Every three years Near created an excellent article on the current status of Super Nintendo Emulation, the last version is from 2019, it covers both bsnes and higen.
SNES Emulation Status 2019
The latest status of Super Nintendo emulation, including new and upcoming features for bsnes and higen
On average, SNES game development could take anywhere from several months to a couple of years. Some simpler or shorter games might be developed more quickly, while larger, more complex titles could take longer.
Most game development teams only hand a handful of people working full time on the game, mostly programmers. Artists and Sound Engineers were often working on multiple projects at the same time. Music was usually created and added to the game near the end of the development process when the game was getting ready to be shipped.
Some examples of the length of time it took to develop Super Nintendo games are:
Pretty much every development team had their own ways of working back then, some had official development hardware and others had to make their own or license it from a thrid party development tool company.
You would need the following on your desk:
On your computer of choice you would need:
At least 90 percent for all commerical Super Nintendo games were written in raw 65c816 assembly language, however there have been some hints over the years of ORCA/C support but no confirmation on specific games 4.
Once such game written in C for the SNES was Super Noah’s Ark 3D, which although not licensed by Nintendo it was for sale in retail shops during the SNES lifespan 5.
Also The Western Design Center has documentation for its software development platform called Zardoz that has a section called Nintendo development which has features specifically targeted for the SNES such as being able to assemble binaries into the ISX format 6!
Integrated Development Environments (IDEs) as we know them today were not as prevalent or sophisticated. However, there were some software tools and environments that provided integrated features for assembly language development back in the early 90s.
Merlin was a popular assembly language development environment for the Apple II. It provided an integrated editor, assembler, and debugger, making it a comprehensive tool for writing and debugging assembly code. This was used to write a number of Super Nintendo games for Interplay such as RPM Racing and the SNES port of Out Of This World3.
In Youtube footage from Pernoelle 7, we can see a programmer working on the Super Nintendo game Pilotwings using an IDE back in 1990, but it is unclear which IDE is being used:
However looking closly at the keyboard the the PC we can see its a Sony NEWS workstation, so it must have been an IDE that supported that platform.
Yes, we have a seperate page for the Official Super Nintendo Software Development kits:
SNES (Super Famicom) Software Development Kit (SDK)
For more information about the **Super Nintendo** software development kit check out this post
FTP servers were setup for sending builds across the world but for local testing the code would be flashed to an EEPROM chip (Electrically Erasable Programmable Read-Only Memory) and put in a cartridge shell (either an modified retail cartridge or a specialised cartridge.
According to Brain Fargo of Interplay his SNES games had teams of 5 people on average working on a single game.
In an interview with Shigeru Miyamoto he states that development takes can get up to about 20 or so people in the later half of the development cycle 8:
For our development teams, for the beginning of the first year its usually comprised of 3 to 4 people, then about half a year in we start adding people until about the 8 month mark, where we reach a team of 20 or so. A new game system determines about 60% of the game creation process. In my case I work on that nucleus of the game first. The maps, story, etc are all about 10 or 20%.
Back in 1992 the internet was still finding its footing in the games industry and much of the communication was done via Fax, here is one example of a Fax sent between the Acclaim production team presumably in the US and the game programmers in the UK.
31 years ago we were working on SNES Spider-Man and the X-Men in Arcade's Revenge. We had very little time on for this project and had 3 experienced coders on-board to get it done. Here's a FAX from production at Acclaim to give you a flavour of the pressure we were under 1/2. pic.twitter.com/FrJ6XDIGJu
— Kevin Edwards ( Retro Videogame development ) (@KevEdwardsRetro) October 20, 2023
Although note that in the Fax they mention sending a build of the game to Nintendo via Modem for sound testing so the Internet was in use.
Email was also in use, even amongst japanese game developers such as Square as can be seen in an interview with Hironobu Sakaguchi who worked on Final Fantasy 8:
I use a Macintosh to make the tools we use at Squaresoft, and I also use it when making SFC games. Our team is also connected on the local network, and we pass ideas around via e-mail. This way when one person has an idea, it can be shared with everyone.
For anyone interested in how Sound works on the SNES you should watch SNES Audio System Overview from Retro Game Mechanics Explained on Youtube:
If you’re interested in reverse engineering software for the Super Nintendo gaming console, it’s important to have a thorough understanding of the hardware that powers it. By comprehending the inner workings of the Super Nintendo hardware, you can better understand how the software interacts with the hardware and how you can potentially modify or enhance it.
This segment of our guide will provide you with detailed information and resources on the hardware of the Super Nintendo, including retail, prototype, and development hardware.
We have a post all about the hardware that was used to develop for the Super Nintendo:
SNES (Super Famicom) Development Kit Hardware
For more information about the **Super Nintendo** development hardware check out this post
For an in-depth look at the SNES Retail hardware architecture check out the excellent post by Copetti.org:
Super Nintendo Entertainment System (SNES) Architecture - A Practical Analysis
Copetti.org has an excellent tear down of the SNES Hardware and how it works
No, but it was intended to be during early development of the SNES which we found out thanks to an interview with Masayuki Uemura 9:
In truth, we actually wanted the Super Famicom to be able to play Famicom games too. We used a CPU that’s equipped with a 6502 emulation mode and everything. However, the sheer amount of games released for the Famicom, plus the fact that they often used different types of ROMs and chips made it too difficult to produce a perfect conversion.
In 1993 Nintendo introduced an in-flight entertainment system called the Gateway, this system allowed passengers to play SNES games for about 4 USD an hour.
The Journalist Ernie Smith has written an excellent article on his site which you can access at Will the In-Flight Entertainment System Survive COVID-19? and also tweeted out the Nintendo Power article which talks about it:
Remember when you could play Super NES games on a plane? That was awesome. Nintendo Power, circa Feb. '94: pic.twitter.com/iKm6mLB8Us
— Ernie Smith (@ShortFormErnie) February 24, 2017
Also if you prefer video-based content the youtuber Top Hat Gaming Man has created an excellent video on the subject:
## Satellaview The Satellaview was a satellite add on for the Super Famicom only ever released in Japan on the 24th April 1995. It allowed users to download games, virtual magazines and listen to radio broadcasts.
The sad thing about the Satellaview is due to the nature of the technology most of the content has been lost to time and has only been partially preserved by finding old recordings on people’s Satellaview cartridges. Some content was broadcast but never downloaded, or soon overwritten with newer content so there is no other way to obtain the data.
In 2020 Luigiblood did a presentation to the AirGap2020 conference about Satellaview Reverse Engineering which can be watched below:
The Satellaview has little Memory Packs with only 1MB (8 MegaBit) of flash storage space that would slot into the BSX Satellaview cartridges, it was a cartridge that had a smaller cartridge slot on top. Note that there was one other game that supported these Memory Packs, it was a game creator called RPG Maker.
The SNES wouldn’t be as fondly remembered today if it didn’t have its huge library of both first-party and third party games. This section will look at some of those games for those of you looking for inspiration for a new reversing project.
If you are interested to see officially released or leaked source code check for the Super Nintendo Entertainment System check out our other post:
Retail Console Game Source code (C/C++)
For the official source code check out this post.
If you are interested to see existing reversing projects for the SNES check out our other post specifically on this topic:
Decompiled Retail Console Games
For the list of decompiled games check out this post.
For an in-depth look at how the game Another World was ported to the Super Nintendo check out this article:
As soon as the Game Boy Advance (GBA) was annonced people were describing it as a portable Super Nintendo, Nintendo themselves contribute to this message by re-releasing many of their SNES games for the platform. In total 48 SNES games were released on the GBA, most from Nintendo themselves but third party publishers got on board too.
The GBA is a completely different beast from the SNES in terms of architecture and with most SNES games written in pure 6502 assembly it wasn’t possible to just do a straight port. Most of the games needed to be re-written from scratch to support the new portable console. During this process a lot of changes were made to fit the much smaller non-backlit screen of the GBA, such as increasing the sprite size and brightening the contrast.
The Youtuber CaptRobau has an excellent video showing off the graphical differences between all 48 games that were remade for the GBA:
Excellent video by Displaced Gamers on how to edit SRAM saves for a Link to the Past on Super Nintendo, this is not actually ROM Hacking as the ROM is exactly the same, it is only the SRAM that is modified.
Read all about The 6502 Microprocessor - Gaming's Unsung Hero in this s...
Read all about Gigaleak - Original F-Zero Source Code (SNES) in this s...
Read all about SNES (Super Famicom) Development Kit Hardware in this s...
Read all about SNES (Super Famicom) Software Development Kit (SDK) in this s...
Kevin Edwards ( Retro Videogame development ) on X: “@BananaBytesBr IIRC about 6-7 months from start to final build.” / X ↩
Development:Super Mario World 2: Yoshi’s Island - The Cutting Room Floor ↩
Super Noah’s Ark 3D (USA) (Source Code) - elude visibility ↩
https://www.westerndesigncenter.com/wdc/documentation/Assembler_Linker.pdf ↩
Footage Inside 1990 Nintendo Headquarters in Kyoto - YouTube ↩
1994 Game Developers – Interview Collection - shmuplations.com ↩ ↩2
Masayuki Uemura – The Creator of the Famicom - shmuplations.com ↩