User:MrMissingNo74/Pokémon Red and Blue RAM map: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
No edit summary
Line 26: Line 26:
== SRAM ==
== SRAM ==
SRAM BANK $0<br>
SRAM BANK $0<br>

SPRITE DECOMPRESSION AND HALL OF FAME DATA.
SPRITE DECOMPRESSION AND HALL OF FAME DATA.


Line 38: Line 39:


SRAM BANK $1<br>
SRAM BANK $1<br>

MAIN SAVED DATA
MAIN SAVED DATA


* A000 to A597 = unused?
* A598 to A5A2 = player name
* A5A3 to AD2B = main data
* AD2C to AF2B = sprite data
* AF2C to B0BF = party data
* B0C0 to B521 = current box data
* B522 = tileset type
* B523 = main data checksum
* B524 to BFFF = unused?


SRAM BANK $2<br>
POKÉMON BOXES 1-6
POKÉMON BOXES 1-6


SRAM BANK $3


<br>POKÉMON BOXES 7-12
SRAM BANK $3<br>
POKÉMON BOXES 7-12


== WRAM ==
== WRAM ==

Revision as of 22:40, 24 July 2023

This is a memory map for Pokémon Red and Blue, all addresses are minus 1 in Yellow (with the exceptions of some including CD38)

Useful links:

- TimoVM

Differences in Red and Green

Addresses that are the same

Red and Green use different addresses, but some addresses are actually still the same. Actually, one of them is the same in all Generation I games (CD38).

  • C0EF and C0F0 (how do I know this? because I used the codes 0102EFC0 and 0102F0C0 and guess what they both worked!)
  • CD38
  • CC35

Address equivalents

  • D365 vs. D2E4
  • D35E vs. D2DD
  • D163 vs. D123
  • D12C vs. D0F1
  • D732 vs. (RG of D732)

SRAM

SRAM BANK $0

SPRITE DECOMPRESSION AND HALL OF FAME DATA.

  • A000 to A187 = buffer 0
  • A188 to A30F = buffer 1
  • A310 to A497 = buffer 2
  • A498 to A597 = unused?
  • A598 to B857 = HoF data
  • B858 to BFFF = unused?

Note: MissingNo. and 'M (00)'s invalid front sprites, when decompressed, overflows into the Hall of Fame data. Other Pokémon with much, much larger corruptions, will reach WRAM, resulting in freezes due to their sprites corrupting C0EF and C0F0.

SRAM BANK $1

MAIN SAVED DATA

  • A000 to A597 = unused?
  • A598 to A5A2 = player name
  • A5A3 to AD2B = main data
  • AD2C to AF2B = sprite data
  • AF2C to B0BF = party data
  • B0C0 to B521 = current box data
  • B522 = tileset type
  • B523 = main data checksum
  • B524 to BFFF = unused?

POKÉMON BOXES 1-6

SRAM BANK $3


POKÉMON BOXES 7-12

WRAM

  • C0EF = current sound bank
  • C0F0 = saved sound bank
  • C3A0 to C507 = screen data
  • CC35 = item highlighted with select
  • CC47 = if not in cable club, is player entering? if in cable club, timeout counter
  • CD38 = index for joypad simulation, if nonzero, disables collision but doesn't lock player
  • CD6B = what buttons are ignored, example if value of CD6B is 0x0E the buttons B, Select, and Start will be ignored, a value of 0x00 means no buttons will be ignored and 0xFF means all eight buttons are ignored
  • CD6D to CD80 = first item, move, or Pokémon name buffer
  • CEE9 to CEEE = information about your Pokémon belt
  • CF7B = number of items in Poké Mart
  • CF7C to CF85 = items in the Poké Mart
  • CF91 = the item you used/Pokémon currently out in battle
  • CF92 = what Pokémon the name rater changes
  • D059 = set to a value between C9 and F7 when a trainer battle starts which depends on what trainer it is
  • D05D = current roster
  • D158 to D162 = player name
  • D163 = number of Pokémon
  • D164 to D16A = party data
  • D16B to D196 = Pokémon 1
  • D197 to D1C2 = Pokémon 2
  • D1C3 to D1EE = Pokémon 3
  • D1EF to D21A = Pokémon 4
  • D21B to D246 = Pokémon 5
  • D247 to D272 = Pokémon 6
  • D273 to D2B4 = trainer names
  • D2B5 to D2F6 = nicknames
  • D2F7 to D309 = own PokéDex flags
  • D30A to D31C = seen PokéDex flags
  • D31D = number of items
  • D31E, D31F = item 1
  • D320, D321 = item 2
  • D322, D323 = item 3
  • D324, D325 = item 4
  • D326, D327 = item 5
  • D328, D329 = item 6
  • D32A, D32B = item 7
  • D32C, D32D = item 8
  • D32E, D32F = item 9
  • D330, D331 = item 10
  • D332, D333 = item 11
  • D334, D335 = item 12
  • D336, D337 = item 13
  • D338, D339 = item 14
  • D33A, D33B = item 15
  • D33C, D33D = item 16
  • D33E, D33F = item 17
  • D340, D341 = item 18
  • D342, D343 = item 19
  • D344, D345 = item 20
  • D346 = end of items list
  • D347 to D349 = your money (stored as binary-coded decimal)
  • D34A to D351 = rival's name
  • D355 = options
  • D356 = badges
  • D35E = current map
  • D361, D362 = current X/Y coordinates
  • D365 = last map you were in
  • D3AD = tile shown outside of the boundaries