SNESMem.txt 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. +=-=-=-=-=-=-=-=-=-=-=+
  2. | SNES Memory Mapping |
  3. | By: ]SiMKiN[ |
  4. | v2.0 |
  5. +=-=-=-=-=-=-=-=-=-=-=+
  6. • FastROM's can execute at 3.58Mhz
  7. • SlowROM's can only execute 2.68Mhz
  8. • The SNES lets you access ROM through bank $00 onwards and bank
  9. $80 onwards such that locations $00:8000 and $80:8000 are congruent,
  10. (they access the same locations.)
  11. • When accessing bank $00 onwards the 65816 runs at 2.68Mhz. However,
  12. when accessing bank $80 onwards the 65816 can run at 2.68Mhz or
  13. 3.58Mhz depending on how you set bit 0 of $420D.
  14. • This Document Contains Information Regarding ROM's upto 32mbit.
  15. If you have any information regarding ROM's above 32mbit please send
  16. E-Mail to 'simkin@innocent.com'
  17. +======================================================================+
  18. | Mode 20: LoROM Memory Model (32k Banks) |
  19. | --------------------------------------- |
  20. | • $80-$ef : $8000-$ffff |
  21. | Mirrored to $00-6f |
  22. | • $f0-$ff : $8000-$ffff |
  23. +=========+=============+====================================+=========+
  24. | Bank | Offset | Definition | Shadow |
  25. +=========+=============+====================================+=========+
  26. | $00-$2f | $0000-$1fff | LowRAM, shadowed from $7e | $7e |
  27. | | $2000-$2fff | PPU1, APU | $00-$3f |
  28. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  29. | | $4000-$41ff | Controller | $00-$3f |
  30. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  31. | | $6000-$7fff | RESERVED | $00-$3f |
  32. | | $8000-$ffff | (Mode 20 ROM) | ------- |
  33. +---------+-------------+------------------------------------+---------+
  34. | $30-$3f | $0000-$1fff | LowRAM, shadowed from $7e | $7e |
  35. | | $2000-$2fff | PPU1, APU | $00-$3f |
  36. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  37. | | $4000-$41ff | Controller | $00-$3f |
  38. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  39. | | $6000-$7fff | RESERVED | ------- |
  40. | | $8000-$ffff | (Mode 20 ROM) | $80-$bf |
  41. +---------+-------------+------------------------------------+---------+
  42. | $40-$6f | $0000-$7fff | RESERVED | ------- |
  43. | | $8000-$ffff | (Mode 20 ROM) | $C0-$EF |
  44. +---------+-------------+------------------------------------+---------+
  45. | $70-$77 | $0000-$ffff | (Mode 20 SRAM) 256KBytes | ------- |
  46. +---------+-------------+------------------------------------+---------+
  47. | $78-$7d | $0000-$ffff | RESERVED | ------- |
  48. +---------+-------------+------------------------------------+---------+
  49. | $7e | $0000-$1fff | LowRAM | $00-$3f |
  50. | | $2000-$7fff | HighRAM | ------- |
  51. | | $8000-$ffff | Expanded RAM | ------- |
  52. +---------+-------------+------------------------------------+---------+
  53. | $7f | $0000-$ffff | Expanded RAM | ------- |
  54. +---------+-------------+------------------------------------+---------+
  55. | $80-$ef | $0000-$ffff | Mirror of $00-$6f | $00-$6f |
  56. +---------+-------------+------------------------------------+---------+
  57. | $f0-$ff | $0000-$7fff | RESERVED | ------- |
  58. | | $8000-$ffff | (Mode 20 ROM) | ------- |
  59. +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  60. +======================================================================+
  61. | Mode 21: HiROM Memory Model (64k Banks) |
  62. | --------------------------------------- |
  63. | • $C0-$ff : $0000-$ffff |
  64. | High Parts ONLY '($8000-$ffff)' are Shadowed to $00-3f |
  65. +=========+=============+====================================+=========+
  66. | Bank | Offset | Definition | Shadow |
  67. +=========+=============+====================================+=========+
  68. | $00-$2f | $0000-$1fff | LowRAM, shadowed from $7e | $7e |
  69. | | $2000-$2fff | PPU1, APU | $00-$3f |
  70. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  71. | | $4000-$41ff | Controller | $00-$3f |
  72. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  73. | | $6000-$7fff | RESERVED | $00-$3f |
  74. | | $8000-$ffff | (Mode 21 ROM) from $C0-$EF | $C0-$EF |
  75. +---------+-------------+------------------------------------+---------+
  76. | $30-$3f | $0000-$1fff | LowRAM, shadowed from $7e | $7e |
  77. | | $2000-$2fff | PPU1, APU | $00-$3f |
  78. | | $3000-$3fff | SFX, DSP, etc. | $00-$3f |
  79. | | $4000-$41ff | Controller | $00-$3f |
  80. | | $4200-$5fff | PPU2, DMA, etc. | $00-$3f |
  81. | | $6000-$7fff | (Mode 21 SRAM) 256KBytes | ------- |
  82. | | $8000-$ffff | (Mode 21 ROM) from $C0-$EF | $C0-$EF |
  83. +---------+-------------+------------------------------------+---------+
  84. | $40-$6f | $0000-$7fff | (Mode 21 ROM) from $C0-$EF | $C0-$EF |
  85. +---------+-------------+------------------------------------+---------+
  86. | $70-$77 | $0000-$ffff | (Mode 20 SRAM) 256KBytes | ------- |
  87. +---------+-------------+------------------------------------+---------+
  88. | $78-$7d | $0000-$ffff | RESERVED | ------- |
  89. +---------+-------------+------------------------------------+---------+
  90. | $7e | $0000-$1fff | LowRAM | $00-$3f |
  91. | | $2000-$7fff | HighRAM | ------- |
  92. | | $8000-$ffff | Expanded RAM | ------- |
  93. +---------+-------------+------------------------------------+---------+
  94. | $7f | $0000-$ffff | Expanded RAM | ------- |
  95. +---------+-------------+------------------------------------+---------+
  96. | $80-$bf | $0000-$ffff | Mirror of $00-$3f | $00-$3f |
  97. +---------+-------------+------------------------------------+---------+
  98. | $c0-$ff | $0000-$ffff | (Mode 21 ROM) | ------- |
  99. +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  100. • ROM: The SNES ROM Image
  101. • RAM: The SNES Work Memory (WRAM)
  102. LowRAM, HighRAM, & Expanded RAM
  103. All together = 128 Kilo-Bytes
  104. • SRAM: Save RAM (Extra RAM added by Cart)
  105. The SNES only utilizes 256 Kilo-bits
  106. However 256 Kilo-Bytes are provided.
  107. • APU: Audio Processing Unit
  108. SPC700, Inside which has a DSP
  109. • PPU: Picture Processing Unit
  110. PPU1: 5c77-01
  111. PPU2: 5c78-03
  112. • SFX: Super FX Cart Chip, by Nintendo
  113. • DSP: Digital Signal Processing Cart Chip
  114. a.k.a. 'NEC mUPD77C25'
  115. • Shadow: "Congruent Bank". Same meaning as Mirror.
  116. _____________________________________________________
  117. .o(_Thanx to: zsKnight, Lord Esnes, Y0SHi, and MintaBoo_)o.