Skip to content

Faxanadu level data - Part II



Last time I explained that a screen in the NES game Faxanadu is made of 16x13 blocks and how the block data is stored in the ROM file. In today's update I'm going to describe how these blocks are displayed by the PPU (Picture Processing Unit).
The PPU has two pattern tables that are used to hold the objects to be displayed. The first one is used for sprites, the second one (which is relevant for today's update) is used for everything else. Each of these two pattern tables can hold 16x16 = 256 patterns.
Faxanadu divides the 2nd pattern table (pictured on the left) into two parts: One ranging from offset 0x00 to 0x7F and one ranging from offset 0x80 to 0xFF. Strictly speaking the exact start of the 2nd part depends on the screen to be displayed, but more about that later. The upper half of the 2nd pattern table contains patterns for things like the health bar or the text if you're talking to an NPC. The lower half of the 2nd pattern table contains the patterns used for painting the background of a screen.
Continue reading "Faxanadu level data - Part II"