Here is an article I've just published about making a brand new game for the Super Nintendo (SNES) console using today's technology. It starts with the various steps to designing and program the game, and then details how me manufacture new cartridges (with box and manual) for a console whose commercial support ceased more than 20 years ago!
I hope you'll enjoy it, and don't hesitate to ask me if you have any question!
Thanks for writing! I'm impressed by your dedication and effort, but also a thanks for your writing style, which was really easy to follow. I've read a lot about the SNES and Mega Drive before, but you've given me the best understanding of how the sprite updates per frame are limited by CPU time (and it's nice to see someone else who suffered with bad 50Hz versions). Are you tempted to try this for another console. I've always wondered how horrible programming the N64 must be!
Thanks, I'm glad you enjoyed the article! I actually have made several games for other consoles (GB, Mega Drive, Atari 2600, Atari Lynx, Neo Geo), that you can find here:
https://drludos.itch.io/
And I wrote two other articles like this one, that try to cover "how the console works" and their limitations I faced during each project:
For the Nintendo 64, this is way beyond my current programming skills (3d and all that). But I know that Matt Philips (who made the incredible Mega Drive game Tanglewood in 2018) was toying with N64 development and sharing about his experiments on Twitter:
https://twitter.com/bigevilboss
That was a fantastic read thank you — even If I'm far to understand the whole programming part. The cartridge with the box (and pictures) plus the manual really make it feels like it was done 20 years ago. Nice feeling.
10NES is the algorithm running on the CIC lockout chip of the original Nintendo Entertainment System; the SNES had a similar lockout chip, but used a different algorithm.
These days, the SNES CIC algorithm is fully understood, and you can program an ordinary microcontroller to run either the "cartridge" or "console" ends of the algorithm for every region, or even for a cartridge to detect at runtime what region the console expects. See https://sd2snes.de/blog/cool-stuff/supercic
Hi! The cart works on all SNES consoles from any region. For the lockout chip, it uses an "aftermarket" lockout chip that is able to play on any console region (you simply need to hit reset 5 times to change region).
Thanks for your feedback! :)
I did take a long time to write (I didn't keep track of it, but I'll say somewhere between 20-30 hours in total), so I'm glad you enjoyed it!
People like you spent years of years time, effort, sleepless nights and a lot more than talked to sharpen skills in one hardcore area very few people want to try and then willing to share everything within a mere article, thanks so much for sharing this and kudos to all the people like you.
This is amazing, it's the sort of content that keeps me coming back to HN.
For people interested in some of the tricks, tips and approaches that went into building games at the time (mainly in the late 80s to late 90s), I can highly recommend GameHut on YouTube.
I wish nintendo or any other hardware company would release a well-made console, without the game licensing stuff.
The nintendo DS was such a success, and it did not have fast hardware.
Even if it's a little expensive and not fast, being able to run free games and software would really be an awesome feature. People say there's no money in it, but hardware is fast and cheap today, so any slow device would be cheap to make.
The raspberry pi is really awesome, but I don't understand why they're not making the final step of releasing a full device. Of course there are many projects out there, but they're not produced in high quantities, meaning not cheap, not well marketed, not always well designed, and often require non-trivial additional tweaking.
Its because Nintendo isnt really a hardware company - they're a software company. Game console hardware is generally sold close to at cost (sometimes even at a loss), and profit is made by charging royalties to game developers.
The primary reason to lock down consoles is to prevent piracy, but also to lock in those royalties. If the console was open, presumably most 3rd parties would take advantage of that to reduce costs.
The OpenPandora / Pyra Handheld consoles represent what you describe .. and there is a budding ecosystem around the scene.
I think the problem with these projects is that there isn't really a rigorous, solid systems-software approach to building the base platform for other developers. There used to be an art to designing operating systems and environments/frameworks for others - but this subject has been well and truly usurped by the marketing executives who want to exploit the devs rather than make them successful.
Ehhh. The OpenPandora has been out of production since 2013, and the Pyra has been in development hell since 2014. The ecosystem surrounding these devices is not in a healthy state, in large part because there aren't a lot of them left.
There's also a risk-to-brand incentive for these console companies to control who gets to publish what games. If you make a console and then the games for your console suffer from quality control issues or are otherwise inconsistent with your branding, people associate that with your console as well and don't buy your (in their perception, even if not objectively) crappy console.
I am extremely jelly that you were able to build a cartridge of your game. I have made a NES game myself and I am hoping that I will be skilled enough & have necessary tools to make it a physical product (I can play it using everdrive cartridge, which is close enough!)
Well, you're lucky, because there are a lot of people making very high quality NES cartridge already (the NES homebrew scene is very vibrant compared to the SNES scene).
I can recommend you to shopping at Infinite NES Lives, they are selling blank cartridge (loads of mappers variants available) and a tool to "write" the game on the cartridge:
http://www.infiniteneslives.com/nessupplies.php
(we actually used their flasher to write the SNES cartridges of Yo-Yo Shuriken, as it works for SNES too!)
With that you can make your own physical release too! :)
That feels like a bit of cheating if you are not designing & soldering your own cartridge :P
I wonder how this was like 40 years ago. Would developers use services similar to this: find a company that makes the mapper you use, send them your binaries and leave them to production details? Or would you design your own boards and use a service to create and assemble them? Perhaps very large companies could even afford build their own boards.
There are some complex/unique mappers out there which makes me believe at least some companies out there were designing those mappers and building their own boards
Well, for my project I did partner with someone to make the PCB, as I have about 0 electronics skills (maybe someday...). People like INL or Catskull are usually one-man operations, and they design their own PCB from scratch, so we are still in the "homebrew" spirit ;). But I get your feeling of wanting to build your own PCB on your own - I think you may find some schematics / documentation online to get you started if you want.
During the 80's-90's, AFAIK, Nintendo was the only company authorized to manufacture cartridges. So any publisher / developer would have to buy hardware from them. And you wouldn't be able to make a small lot, but you had to buy tens thousands or maybe hundreds thousands of units - this was a large scale business!
From what I've read, the process was indeed: build the final rom, have it pass a thorough QA session at Nintendo, pay for the cartridges and Nintendo will build them for you.
For the NES era, several companies did manage to make their own mappers. For example Konami designed a mapper to add extra audio channels in a NES cart. But, for some reasons, Nintendo didn't allow third party mappers in US and European releases. That's why only Japanese version of games like Castlevania III have such mappers "not made by Nintendo".
And of course, many unlicensed companies did create their own cartridges from the ground up, like Codemaster and Color Dreams/Wisdom Tree. They were not big companies at the time. So I think even middle sized ones could create their own cartridges and mappers if they had the skill inhouse!
Awesome. Simply awesome. Such a fun, interesting and refreshing read. I really needed to take my mind off the news for a while and this was perfect. Congratulations, this is an amazing project.
Thanks, I wasn't aware of this one, it looks very cool! I love how they wrote their full MML based driver!
(my game use the SNESmod driver, that can take Impulse Tracker (.it) files for input)
Thanks for writing this! I just recommended the first half of your article to a friend who's been wanting to get into game development. The second half was super interesting to me, especially the manufacturing of the cartridges.
Keep in mind that legality only matters within a jurisdiction and that everything is illegal somewhere and at some scale, privately doing this is almost never illegal but doing it at industry scale would be. Next, try asking your lawyer if the factual law has much sway over the commonly shared understanding of the law (in a lot of countries it does not (e.g. you cant insult the monarch in most constitutional monarchies according to the exact word of the law, however this is not enforced nor cared about). Lastly, its only really legal till Nintendo throws enough money at it being illegal (there is no money in it for them, unless its about brand protection).
To conclude: the real answer lies in that the presets given from the Atari vs Nintendo case in America state that clean room reverse engineering of these chips is legal.
PS: IANAL, also gameboy games would be a trademark violation because of the security involving the nintendo logo being rendered on the screen by the cartridge and then being compared to one from ROM, a personal fav trick from nintendo also physically applied on the disks of the famicom disk system which held the nintendo logo on them physically indented allowing a stamp inside the disk reader to be inserted into it (easily bypassed by great groups such as hacker limited by simply adding a flat piece of plastic to the 2.8 inch quickdisks, or sipmly adding instructions on how to add this yourself).
A lot of this gets bypassed using ye olde method of selling the means and then making the user do the bypass themselves using the means.
> gameboy games would be a trademark violation because of the security involving the nintendo logo being rendered on the screen by the cartridge and then being compared to one from ROM
This is legal. It's analogous to the TMSS mechanism used by Sega in the Genesis; Sega v. Accolade [1] established that a "trademark violation" which the trademark holder forces to occur through technical measures is not, in fact, a violation.
Here is an article I've just published about making a brand new game for the Super Nintendo (SNES) console using today's technology. It starts with the various steps to designing and program the game, and then details how me manufacture new cartridges (with box and manual) for a console whose commercial support ceased more than 20 years ago!
I hope you'll enjoy it, and don't hesitate to ask me if you have any question!