Super NES Programming

The Super Nintendo Entertainment System

This book is an open work designed for people interested in learning to program for the Super Nintendo Entertainment System and assumes some basic knowledge on how to program in assembly language, use a command prompt and emulator.

This book will cover how to write programs for the Super Nintendo Entertainment System. As the CPU of the SNES has a 65c816 core, programming for the SNES is done with 65c816 assembly language.

If you find any problems with terms or concepts, you can contribute an explanation to it. Feel free to participate and fix errors, you are welcome to do so.

Part One: TutorialsEdit

Programming TechniquesEdit



  • The WLA-65816 Micro Assembler is an open-source, cross-platform 65816 assembler used for these tutorials.
  • Geiger's debugging version of Snes9x lets you step through a SNES ROM's execution, set breakpoints, examine audio and video memory, and more. Only available for Windows.
  • Higan (formerly BSnes) is an SNES emulator written by Byuu that strives for more exact hardware emulation. It strays away from using ROM-specific hacks and the like, but requires higher machine specs than other emulators.



Put your name here if you have contributed to this Wikibook.

  • Snarius --Started this book, wrote most of it.