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
 * Glossary

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
 * Copier

PPU

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

Sound

 * S-SMP - SNES SHVC-SOUND chip includes the S-SMP / SPC-700 CPU and S-DSP.
 * SPC-700 instruction set
 * DSP envelopes
 * BRR samples

Expansions

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

Formats

 * ROM file formats
 * SPC file format - for music.

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

 * VBlank routine
 * SNES PPU for NES developers
 * Scrolling a large map
 * Drawing window shapes
 * 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