Copy Link
Add to Bookmark
Report
SNES Memory Mapping v3.5
+=-=-=-=-=-=-=-=-=-=-=+
| SNES Memory Mapping |
| By: ]SiMKiN[ |
| v3.5 |
+=-=-=-=-=-=-=-=-=-=-=+
ï FastROM's can execute at 3.58Mhz
ï SlowROM's can only execute 2.68Mhz
ï The SNES lets you access ROM through bank $00 onwards and bank
$80 onwards such that locations $00:8000 and $80:8000 are congruent,
(they access the same locations.)
ï When accessing bank $00 onwards the 65816 runs at 2.68Mhz. However,
when accessing bank $80 onwards the 65816 can run at 2.68Mhz or
3.58Mhz depending on how you set bit 0 of $420D.
ï This Document Contains Information Regarding ROM's upto 48mbit.
If you have any information not contained in this document please
send E-Mail to 'simkin@innocent.com'
+======================================================================+
| Mode 20: LoROM Memory Model (32k Banks) - 24Mbit Max |
| ---------------------------------------------------- |
| ï $00-$5F : $8000-$FFFF |
| Mirrored to $80-DF |
| ------- |
| $60 * 1/2 banks = 24Mbit |
+=========+=============+====================================+=========+
| Bank | Offset | Definition | Shadow |
+=========+=============+====================================+=========+
| $00-$2F | $0000-$1FFF | LowRAM, shadowed from $7E | $7E |
| | $2000-$2FFF | PPU1, APU | $00-$3F |
| | $3000-$3FFF | SFX, DSP, etc. | $00-$3F |
| | $4000-$41FF | Controller | $00-$3F |
| | $4200-$5FFF | PPU2, DMA, etc. | $00-$3F |
| | $6000-$7FFF | ï RESERVED | $00-$3F |
| | $8000-$FFFF | (Mode 20 ROM) | ------- |
+---------+-------------+------------------------------------+---------+
| $30-$3F | $0000-$1FFF | LowRAM, shadowed from $7E | $7E |
| | $2000-$2FFF | PPU1, APU | $00-$3F |
| | $3000-$3FFF | SFX, DSP, etc. | $00-$3F |
| | $4000-$41FF | Controller | $00-$3F |
| | $4200-$5FFF | PPU2, DMA, etc. | $00-$3F |
| | $6000-$7FFF | ï RESERVED | ------- |
| | $8000-$FFFF | (Mode 20 ROM) | $80-$BF |
+---------+-------------+------------------------------------+---------+
| $40-$5F | $0000-$7FFF | ï RESERVED | ------- |
| | $8000-$FFFF | (Mode 20 ROM) | $C0-$DF |
+---------+-------------+------------------------------------+---------+
| $60-$6F | $0000-$7FFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $70-$77 | $0000-$7FFF | (Mode 20 SRAM) 256KBytes | ------- |
| | $8000-$FFFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $78-$7D | $0000-$FFFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $7E | $0000-$1FFF | LowRAM | $00-$3F |
| | $2000-$7FFF | HighRAM | ------- |
| | $8000-$FFFF | Expanded RAM | ------- |
+---------+-------------+------------------------------------+---------+
| $7F | $0000-$FFFF | Expanded RAM | ------- |
+---------+-------------+------------------------------------+---------+
| $80-$DF | $0000-$FFFF | Mirror of $00-$5f | $00-$5F |
+---------+-------------+------------------------------------+---------+
| $E0-$FF | $0000-$FFFF | ï RESERVED | ------- |
+=========+=============+====================================+=========+
+======================================================================+
| Mode 21: HiROM Memory Model (64k Banks) - 48Mbit Max |
| ---------------------------------------------------- |
| ï $C0-$FF : $0000-$FFFF |
| High Parts ONLY '($8000-$FFFF)' are Shadowed to $00-3F |
| ï $40-$5F : $0000-$FFFF |
| ------- |
| $60 banks = 48Mbit |
+=========+=============+====================================+=========+
| Bank | Offset | Definition | Shadow |
+=========+=============+====================================+=========+
| $00-$2f | $0000-$1FFF | LowRAM, shadowed from $7E | $7E |
| | $2000-$2FFF | PPU1, APU | $00-$3F |
| | $3000-$3FFF | SFX, DSP, etc. | $00-$3F |
| | $4000-$41FF | Controller | $00-$3F |
| | $4200-$5FFF | PPU2, DMA, etc. | $00-$3F |
| | $6000-$7FFF | ï RESERVED | $00-$3F |
| | $8000-$FFFF | (Mode 21 ROM) from $C0-$EF | $C0-$EF |
+---------+-------------+------------------------------------+---------+
| $30-$3F | $0000-$1FFF | LowRAM, shadowed from $7E | $7E |
| | $2000-$2FFF | PPU1, APU | $00-$3F |
| | $3000-$3FFF | SFX, DSP, etc. | $00-$3F |
| | $4000-$41FF | Controller | $00-$3F |
| | $4200-$5FFF | PPU2, DMA, etc. | $00-$3F |
| | $6000-$7FFF | (Mode 21 SRAM) 128KBytes | ------- |
| | $8000-$FFFF | (Mode 21 ROM) from $F0-$FF | $F0-$FF |
+---------+-------------+------------------------------------+---------+
| $40-$5F | $0000-$FFFF | (Mode 21 ROM) | ------- |
+---------+-------------+------------------------------------+---------+
| $60-$6F | $0000-$7FFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $70-$77 | $0000-$7FFF | (Mode 20 SRAM) 256KBytes | ------- |
| | $8000-$FFFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $78-$7D | $0000-$FFFF | ï RESERVED | ------- |
+---------+-------------+------------------------------------+---------+
| $7E | $0000-$1FFF | LowRAM | $00-$3F |
| | $2000-$7FFF | HighRAM | ------- |
| | $8000-$FFFF | Expanded RAM | ------- |
+---------+-------------+------------------------------------+---------+
| $7F | $0000-$FFFF | Expanded RAM | ------- |
+---------+-------------+------------------------------------+---------+
| $80-$BF | $0000-$FFFF | Mirror of $00-$3f | $00-$3F |
+---------+-------------+------------------------------------+---------+
| $C0-$FF | $0000-$FFFF | (Mode 21 ROM) | ------- |
+=========+=============+====================================+=========+
ï ROM: The SNES ROM Image
ï RAM: The SNES Work Memory (WRAM)
LowRAM, HighRAM, & Expanded RAM
All together = 128 Kilo-Bytes
ï SRAM: Save RAM (Extra RAM added by Cart)
The SNES only utilizes 256 Kilo-bits.
However 256 Kilo-Bytes are provided for MODE 20 SRAM,
and 128 Kilo-Bytes are provided for MODE 21 SRAM.
ï APU: Audio Processing Unit
SPC700, Inside which has a DSP
ï PPU: Picture Processing Unit
PPU1: 5c77-01
PPU2: 5c78-03
ï SFX: Super FX Cart Chip, by Nintendo
ï DSP: Digital Signal Processing Cart Chip
a.k.a. 'NEC mUPD77C25'
ï Shadow: "Congruent Bank". Same meaning as Mirror.
_____________________________________________________
.o(_Thanx to: zsKnight, Lord Esnes, Y0SHi, and MintaBoo_)o.