Fix layer

From NeoGeo Development Wiki
Revision as of 20:00, 18 September 2011 by Furrtek (talk | contribs)
Jump to navigation Jump to search

The fix layer is a non-scrollable, tile-based layer with transparency which has the highest priority on the display (it always overlaps sprites). It is used to display text or HUDs like scores and health bars.

As only 12 bits are reserved to address fix tiles, tilesets can only contain a maximum of 4096 tiles (128KiB).

Graphics format

Tiles used are 8*8 pixels, they're stored in the S ROMs, or in FIX files before getting loaded to PSRAM in CD systems. In MVS systems, there is an embedded fix tileset stored in the SFIX ROM which can be swapped with the cart's one.

The tiles graphics are 4BPP (15 colors, index 0 is transparent), each can be individually mapped to the first 16 palettes.

See Fix graphics format for more details.

Fix map

File:Fixlayout.png
Fix layout. The grey area is part of the display but only the area in the red rectangle should be used.

The map is 40x32 tiles but only 40x28 tiles are drawn to the screen. Therefor, there are 2 hidden lines of tiles at the beginning and the end of the map. Some games also don't use the leftmost and rightmost columns, as some misaligned CRT screens (?) can cut them off.

The base address in VRAM for the map is $7000. Each tile uses one 16bit word:

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Def Palette number Tile number

Tiles are mapped from up to bottom, and left to right (see layout). The VRAM_MOD ($3C0004) register can be set to 32 if tiles need to be updated in lines. See Displaying text.