Pokemon mini:Memory Map

From Data Crystal
Revision as of 19:00, 27 June 2020 by YasaSheep (talk | contribs) (Created page with "The common memory space for the Pokemon mini. == Broadly == * <tt>000000-000FFF (001000)</tt> = Internal BIOS * <tt>001000-001FFF (001000)</tt> = #R...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The common memory space for the Pokemon mini.

Broadly

RAM

Depending on how activated the Program Rendering Chip (PRC) is, this amount of memory it uses can be a different size. The PRC can have sprites and tiles separately enabled and tiles have multiple size options (for use with scrolling). Additionally, the PRC can be enabled to simply copy a buffer and not manage the buffer itself. Thus it can have one of the following schemata:

Sprites enabled and tile mode 0-2

Tile modes: 0 (12x16), 1 (16x12), or 2 (24x8)

  • 1000-12FF (0300) = Frame Buffer
  • 1300-135F (0060) = Sprite Attributes
  • 1360-141F (00C0) = Tile Map
  • 1420-1FFF (0BE0) = General Purpose Memory

Sprites enabled and tile mode 3

Tile mode 3 is 24x16

  • 1000-12FF (0300) = Frame Buffer
  • 1300-135F (0060) = Sprite Attributes
  • 1360-14DF (0180) = Tile Map
  • 14E0-1FFF (0B20) = General Purpose Memory

Sprites enabled and tiles disabled

  • 1000-12FF (0300) = Frame Buffer
  • 1300-135F (0060) = Sprite Attributes
  • 1360-1FFF (0CA0) = General Purpose Memory

PRC set to copy only

  • 1000-12FF (0300) = Frame Buffer
  • 1300-1FFF (0D00) = General Purpose Memory

PRC disabled

  • 1000-1FFF (1000) = General Purpose Memory

Registers

See here.

Cartridge Memory

  • 2100-2101 (0002) = PM marker
  • 2102-2107 (0006) = Reset Location
  • 2108-210d (0006) = PRC Frame Copy IRQ
  • 210e-2113 (0006) = PRC Render IRQ
  • 2114-2119 (0006) = Timer 2 Underflow (upper) IRQ
  • 211a-211f (0006) = Timer 2 Underflow (lower) IRQ
  • 2120-2125 (0006) = Timer 1 Underflow (upper) IRQ
  • 2126-212b (0006) = Timer 1 Underflow (lower) IRQ
  • 212c-2131 (0006) = Timer 3 Underflow (upper) IRQ
  • 2132-2137 (0006) = Timer 3 Comparator IRQ
  • 2138-213d (0006) = 32hz Timer (256hz linked) IRQ
  • 213e-2143 (0006) = 8hz Timer (256hz linked) IRQ
  • 2144-2149 (0006) = 2hz Timer (256hz linked) IRQ
  • 214a-214f (0006) = 1hz Timer (256hz linked) IRQ
  • 2150-2155 (0006) = IR Receiver IRQ
  • 2156-215b (0006) = Shake Sensor IRQ
  • 215c-2161 (0006) = Power Key IRQ
  • 2162-2167 (0006) = Right Key IRQ
  • 2168-216d (0006) = Left Key IRQ
  • 216e-2173 (0006) = Down Key IRQ
  • 2174-2179 (0006) = Up Key IRQ
  • 217a-217f (0006) = C Key IRQ
  • 2180-2185 (0006) = B Key IRQ
  • 2186-218b (0006) = A Key IRQ
  • 218c-2191 (0006) =
  • 2192-2197 (0006) =
  • 2198-219d (0006) =
  • 219e-21a3 (0006) = Cartridge IRQ
  • 21a4-21ab (0008) = NINTENDO in plain text (required to boot)
  • 21ac-21af (0004) = Game Code
  • 21b0-21bb (000c) = Game Title (zero-padded)
  • 21bc-21bd (0002) = 2P (Unknown purpose)
  • 21be-21cf (0012) = Reserved (Zero)
  • After this is general purpose ROM