411 REFERENCE · Wikibooks
Super NES Programming
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
right|thumb|400px|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: Tutorials
Introduction to 65816 assembly
Initializing the SNES and changing the background color
DMA transfer
Using tiles and palettes
Creating graphics for your SNES programs
Loading SPC700 programs for the SNES sound co-processor
Using Pointer Tables
Joypad Input
Using the Super FX chip
Programming Techniques
multiplication
Animated Sprites
Platform Physics
Multijointed Sprite Bosses
How NOT to cause slowdown
Appendices
Technical specifications
Memory map
65c816 reference
SPC700 reference
Homebrew Super NES games
SNES Emulators
SNES hardware registers
Snes_Init.asm Code
Tools
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.
Resources
SNES Development Wiki Technical Documents, Tutorials and References
Vintage Dev (broken) is a great set of in-depth SNES programming tutorials & tools. Vintage Dev at Wayback Machine (archived January 20, 2010)
#snesdev, a Super NES development channel on the EFnet server. (on IRC)
Some SNES technical documents
ROMhacking.net has a variety of documents on assembly programming, SNES hardware info, and sample source code!
Contributors
Put your name here if you have contributed to this Wikibook.
Snarius --Started this book, wrote most of it.
Console game programming Assembly languages
S
25%
ko:슈퍼 패미컴 프로그래밍