SNESMem2.txt 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. +=-=-=-=-=-=-=-=-=-=-=+
  2. | SNES Memory Mapping |
  3. | By: ]SiMKiN[ |
  4. | v1.0 |
  5. +=-=-=-=-=-=-=-=-=-=-=+
  6. • LoROM: Mode 20
  7. • HiROM: Mode 21
  8. • FastROM's can execute at 3.58Mhz
  9. • SlowROM's can only execute 2.68Mhz
  10. • The SNES lets you access ROM through bank $00 onwards and bank
  11. $80 onwards such that locations $00:8000 and $80:8000 are congruent,
  12. (they access the same locations.)
  13. • When accessing bank $00 onwards the 65816 runs at 2.68Mhz. However,
  14. when accessing bank $80 onwards the 65816 can run at 2.68Mhz or
  15. 3.58Mhz depending on how you set bit 0 of $420D.
  16. +=========+=============+====================================+=========+
  17. | Bank | Offset | Definition | Shadow |
  18. +=========+=============+====================================+=========+
  19. | $00-$2f | $0000-$1fff | LowRAM, each bank is shadowed | $00-$3f |
  20. | | | From bank $7e | $7e |
  21. | | $2000-$2fff | PPU1, APU | $00-$3f |
  22. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  23. | | $4000-$41ff | Controller | $00-$3f |
  24. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  25. | | $6000-$7fff | Reserved? | $00-$3f |
  26. | | $8000-$ffff | (Mode 20, 21 - ROM) | ------- |
  27. +---------+-------------+------------------------------------+---------+
  28. | $30-$3f | $0000-$1fff | LowRAM, each bank is shadowed | $00-$3f |
  29. | | | From bank $7e | $7e |
  30. | | $2000-$2fff | PPU1, APU | $00-$3f |
  31. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  32. | | $4000-$41ff | Controller | $00-$3f |
  33. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  34. | | $6000-$7fff | (Mode 21 - SRAM) 256KBytes | ------- |
  35. | | $8000-$ffff | (Mode 20, 21 - ROM) | ------- |
  36. +---------+-------------+------------------------------------+---------+
  37. | $40-$6f | $0000-$7fff | (Mode 21 - ROM) | ------- |
  38. | | $8000-$ffff | (Mode 20, 21 - ROM) | ------- |
  39. +---------+-------------+------------------------------------+---------+
  40. | $70-$77 | $0000-$ffff | (Mode 20, 21 - SRAM) 256KBytes | ------- |
  41. +---------+-------------+------------------------------------+---------+
  42. | $78-$7d | $0000-$ffff | Never Used | ------- |
  43. +---------+-------------+------------------------------------+---------+
  44. | $7e | $0000-$1fff | LowRAM | $00-$3f |
  45. | | | Shadowed to banks $00-$3f | ------- |
  46. | | $2000-$7fff | HighRAM | ------- |
  47. | | $8000-$ffff | Expanded Ram | ------- |
  48. +---------+-------------+------------------------------------+---------+
  49. | $7f | $0000-$ffff | More Expanded RAM | ------- |
  50. +---------+-------------+------------------------------------+---------+
  51. | $80-$ef | $0000-$ffff | Mirror of $00-$6f | $00-$6f |
  52. +---------+-------------+------------------------------------+---------+
  53. | $f0-$ff | $0000-$ffff | (Mode 21 - ROM) | ------- |
  54. +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  55. • ROM: The SNES ROM Image
  56. • RAM: The SNES Work Memory (WRAM)
  57. LowRAM, HighRAM, & Expanded RAM
  58. All together = 128 Kilo-Bytes
  59. • SRAM: Save RAM (Extra RAM added by Cart)
  60. The SNES only utilizes 256 Kilo-bits
  61. However 256 Kilo-Bytes are provided.
  62. • APU: Audio Processing Unit
  63. SPC700, Inside which has a DSP
  64. • PPU: Picture Processing Unit
  65. PPU1: 5c77-01
  66. PPU2: 5c78-03
  67. • SFX: Super FX Cart Chip, by Nintendo
  68. • DSP: Digital Signal Processing Cart Chip
  69. a.k.a. 'NEC mUPD77C25'
  70. • Shadow: "Congruent Bank". Same meaning as Mirror.
  71. _________________________________________________
  72. .o(_Thanx to: Y0SHi, zsKnight, MrGrim, and MintaBoo_)o.