SNESdev Wiki

SNES Development Wiki

General

 * Memory map
 * ROM header
 * CPU vectors
 * SNES Development Manual
 * 65C816 - SNES main CPU, part of the S-CPU
 * Tools
 * Timing
 * Errata

Registers

 * MMIO registers
 * PPU registers
 * DMA registers

Pinouts

 * APU pinout
 * CPU pinout
 * PPU pinout
 * WRAM pinout
 * Cartridge connector
 * Controller connector

Peripherals

 * Standard controller
 * Mouse
 * Multitap
 * Super Scope
 * NTT Data Keyboard

PPU

 * Backgrounds
 * Tilemaps
 * Tiles
 * Sprites
 * Palettes
 * Windows
 * Offset-per-tile
 * Color math

Sound

 * S-SMP - SNES sound chip including SPC-700 CPU and DSP
 * SPC-700 Instruction Set
 * DSP Envelopes
 * BRR Samples

Expansions

 * DSP-1 - also includes DSP-2, DSP-3, DSP-4.
 * SA-1
 * Super FX
 * MSU-1
 * Super Game Boy

General

 * Tutorials

SNES hardware

 * Init code
 * VBlank interrupts
 * Booting the SPC700
 * Controller reading
 * Multiplication
 * Division
 * DMA examples
 * Blargg SPC Upload - Playing an SPC rip on SNES hardware.

65c816 guides

 * 65c816 for 6502 developers
 * Using X as a pointer
 * MVN and MVP block copy
 * Register sizes in ca65

Emulation

 * Emulator tests
 * Tricky-to-emulate games
 * Uncommon graphics mode games

Video

 * SNES PPU for NES developers
 * Scrolling a large map
 * Shaped windows
 * HDMA examples
 * Mode 7 perspective effects
 * Starting HDMA mid-frame
 * Variable width fonts
 * Extending vblank

Links

 * SNESdev Forum - NESDev subforum
 * Fullsnes - Nocash's SNES hardware document
 * Superfamicom.org SNES Development Wiki
 * Superfamicom.org SNES cartridge database
 * Anomie's SNES documents at RHDN

MediaWiki

 * User's Guide
 * MediaWiki FAQ
 * Deletion requests