Snes Intro
2023-03-10SNES Development
The homebrew scene for the SNES is pretty dead.
I think the primary reason for this is because of the sheer complexity. The SNES was intended to be a “Super” version of the NES, backwards compatible and all. When it was finally released in Japan in 1990, it failed to accomplish that but the vestigial remains of that hope litter the architecture and code base.
The original NES development by comparison is a much simpler beast.
- A simpler CPU - the 8-bit 6502 instead the 8/16-bit 65C816
- A simpler audio model - 5 simple wave/noise sound generated channels on a simple chip instead of a custom CPU/DSP combo with 8 channels of reduced bit rate PCM samples.
- A simpler picture processing unit with a single mode vs the 8 modes of the SNES one of which lets you do pseudo-3d effects.
The Game Boy also has a much bigger homebrew scene. Through this lens, it can be seen as a simpler more portable version of the NES.
The Game Boy Advance by contrast has a development model closer to what a modern developer would expect.
- An ARM CPU with proper C compiler support.
- Better quality PCM sample and a sound generator.
- Simpler graphics modes including bitmap modes.
It’s not hard to see why SNES has languished in the minds of developers.
Even the documentation for homebrew SNES is quite poor. There exist wikis and forums but the best resource I find is just reading the development manual from 1996.
There seems to be a bit of hope as the amount of content documenting the system is growing slowly.
Hopefully I can contribute myself to the overall corpus of SNES development knowledge as I challenge myself on multiple creative levels to get something working.