Crystalis (NES)/ROM map

From Data Crystal
< Crystalis (NES)
Revision as of 02:41, 24 January 2024 by Xkeeper (talk | contribs) (Xkeeper moved page Crystalis:ROM map to Crystalis/ROM map: normalize subpages and titles)
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Crystalis (NES).

Areas/Maps

  • 0x00010 - 0x1000F (10000) (256 sets of 0x100 bytes)
    • (00F0) = Map Screens
    • (0010) = palettes, text, other data
  • 0x10010 - 0x1300F (3000) = Map Tileset Patterns (12 sets of 0x400 bytes)
    • 16x16 map tiles are built from 4 8x8 PPU tiles
    • Tilesets contain 4 sets of 0x100 bytes (top-left, top-right, bottom-left, bottom-right)
  • 0x13010 - 0x1330F (0300) = Map Tileset Palettes (12 sets of 0x40 bytes)
    • Chooses the PPU background palette for each tile
    • Each palette set corresponds to one pattern set
    • Two bits per map tile
  • 0x13310 - 0x13E0F (0B00) = Map Collision Flags (11 sets of 0x100 bytes)
  • 0x13E10 - 0x1400F (0200) = unknown
  • 0x14010 - 0x1430F (0300) = (3 sets of 0x100 bytes)
    • (00F0) = Map Screens
    • (0010) = unknown
  • 0x14310 - 0x14507 (01F8) = Area Data Pointers (252 2-byte pointers)
  • 0x14508 - 0x17D09 (3802) = Area Data

Sprites

  • 0x19211 - 0x19408 (01F8) = Sprite List Pointers (252 2-byte pointers)
  • 0x19409 - 0x1ABB2 (17AA) = Sprite Lists
    • Sprite lists correspond to area data
  • 0x1AC10 - 0x1AE0F (0200) = Sprite Data Pointers (256 2-byte pointers)
  • 0x1AE10 - 0x1BE90 (1081) = Sprite Data

Equipment Screen

  • 0x20C0B - 0x20C1A (0010) = Equipment Palettes
  • 0x20F6A - 0x20FB4 (004B) = Equipment Tilemaps - Outline
  • 0x20FB5 - 0x20FFF (004B) = Equipment Tilemaps - Color fill
  • 0x21000 - 0x2104A (004B) = Equipment Graphics Flags
    • .0-1 Palette (see 0x20C0B)
    • .2-4 unused?
    • .5 unknown
    • .6 Droppable (00 = can drop, 40 = can't drop)
    • .7 Color fill size (00 = 2x2 centered, 80 = 3x3 full)
  • 0x2104B - 0x21095 (004B) = Equipment value for "equipped" RAM bytes
  • 0x21096 - 0x21129 (0094) = Equipment Name String Pointers
  • 0x2112A - 0x21480 (0357) = Equipment Name Strings (74 11-byte strings)

Levels

  • 0x34B90 - 0x34B9F (0016) = Level-up - Max HP
  • 0x34BA0 - 0x34BAF (0016) = Level-up - Max MP
  • 0x34BB0 - 0x34BCF (0032) = Level-up - EXP to next level (2-byte values)

Equipment Stats

  • 0x34BD0 - 0x34BD8 (0009) = Equipment - Armor Defense
  • 0x34BD9 - 0x34BE1 (0009) = Equipment - Shield Defense
  • 0x34BE2 - 0x34BE7 (0006) = Equipment - Sword Attack
  • 0x34BE8 - 0x34BEC (0006) = Equipment - Sword Level 3 MP cost

Misc

  • 0x34BEE - 0x34C03 (0016) = Gold drop amounts (2-byte values)
  • 25550-257A0 = Title screen layout data