User Tools

Site Tools

“TestCode = FFFF”


Table of Contents


 MII Samus Metroid 2's metasprite format is very simple.

In fact, it's so simple, that it's virtually the same as the hardware's sprite format.

The Format

A metasprite is sprite made out of sprites. The “sprites” you see onscreen are actually collections of 8×8 pixel hardware sprites. Thus, metasprites are just lists of hardware sprites.

Accordingly, each sprite in the list is four bytes:

  • Y position
  • X position
  • Tile number
  • Attributes. Note that each enemy entry in $c600 has fields for the attributes that are XORed with these.
    • Bit 7 - Sprite Priority (0 = Above, 1 = Behind)
    • Bit 6 - Y flip (0 = Normal, 1 = Flipped)
    • Bit 5 - X flip (same)
    • Bit 4 - Palette number

A Y position of $FF lets the game know that the metasprite is done.

And that's about it.

TODO: Put an example here.

Pointer List

For convenience, here's the pointer list for the metasprites in bank 1 (which starts at 0x4000 in the ROM).

TODO: This is probably better suited for a “Locations of Data” page.


Figuring out which sprite is used by which enemy (and if there's even an easy way to determine that) is an exercise left to the reader/author.

return_of_samus/technical_information/metasprites.txt · Last modified: 2018/12/14 12:08 by quantam