Amaraticando

SNES memory map for Super Mario World

Oct 5th, 2015
593
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. SNES memory map for Super Mario World.
  2. Based on some documents online, but ultimately tested on lsnes (bsnes fork with rerecording tools) with the Super Mario World (NTSC-U) ROM.
  3. Open Bus means unmapped area: http://wiki.superfamicom.org/snes/show/Open+Bus
  4.  
  5. +=========+=============+====================================+=========+
  6. | Bank | Offset | Definition | Shadow |
  7. +=========+=============+====================================+=========+
  8. | $00-$1F | $0000-$1FFF | LowRAM | $7E |
  9. | | $2000-$40FF | Open Bus (PPU1, APU) | $00-$3F | note: $4016 4017 are old style joypad registers *
  10. | | $4100-$41FF | Open Bus | $00-$3F |
  11. | | $4200-$44FF | Controllers/hardware/Open Bus | $00-$3F |
  12. | | $4500-$7FFF | Open Bus | ------- |
  13. | | $8000-$FFFF | ROM | ------- |
  14. +---------+-------------+------------------------------------+---------+
  15. | $20-$3F | $0000-$1FFF | LowRAM | $7E |
  16. | | $2000-$40FF | Open Bus (PPU1, APU) | $00-$3F | note: $4016 4017 are old style joypad registers *
  17. | | $4100-$41FF | Open Bus | $00-$3F |
  18. | | $4200-$44FF | Controllers/hardware/Open Bus | $00-$3F |
  19. | | $4500-$5FFF | Open Bus | $00-$3F |
  20. | | $6000-$7FFF | SRAM (2KBytes, repeated) | ------- |
  21. | | $8000-$FFFF | ROM | $80-$BF |
  22. +---------+-------------+------------------------------------+---------+
  23. | $40-$6F | $0000-$7FFF | Open Bus | ------- |
  24. | | $8000-$FFFF | ROM | $C0-$DF |
  25. +---------+-------------+------------------------------------+---------+
  26. | $70-$7D | $0000-$FFFF | SRAM (2KBytes, repeated) | ------- |
  27. +---------+-------------+------------------------------------+---------+
  28. | $7E | $0000-$1FFF | LowRAM | $00-$3F |
  29. | | $2000-$7FFF | HighRAM | ------- |
  30. | | $8000-$FFFF | Expanded RAM | ------- |
  31. +---------+-------------+------------------------------------+---------+
  32. | $7F | $0000-$FFFF | Expanded RAM | ------- |
  33. +---------+-------------+------------------------------------+---------+
  34. | $80-$9F | $0000-$FFFF | Mirror of $00-$1F | $00-$1F |
  35. +---------+-------------+------------------------------------+---------+
  36. | $A0-$BF | $0000-$FFFF | Mirror of $20-$3F | $20-$3F |
  37. +---------+-------------+------------------------------------+---------+
  38. | $A0-$DF | $0000-$FFFF | Mirror of $40-$6F | $40-$6F |
  39. +---------+-------------+------------------------------------+---------+
  40. | $E0-$FF | $0000-$FFFF | SRAM (2KBytes, repeated) | ------- |
  41. +=========+=============+====================================+=========+
  42.  
  43. * lsnes note: it's better to not even read the range from $2000-$3fff, because some addresses WILL cause desyncs and graphical bugs.
Advertisement
Add Comment
Please, Sign In to add comment