From Data Crystal
Jump to navigation Jump to search

Flappy uses an unusual binary format for its title screen (and afterward).

The table that generates the title screen is at $38D1 in the ROM. Each hexadecimal value is a binary interpretation of eight horizontal tiles, with each character representing four.

$7B=01111011 $0E=00001110 and so on.

The result at top is a 32x14 pixel grid at 38DB until 3912.

Similarly, at 3914 there is binary for a 32x7 pixel grid.

At 27BA and 27CB there are two numbers 96 and 95, which set what tiles are used for the entire title screen, apart from blank tile 40, and the pointered-in text.

Pointers to the tile drawing binary are at 27B2 / 27B6 and 27C3 / 27C7. These are pointers to 38DA and 3913. 0E at 38DA sets how many rows the binary will be drawn for, as does 07 at 3913. If these lengths are changed the pointers would also be updated.

Oddly the game only uses two brick background tiles (95/96), filling the other space with three extended fonts. The topmost font is the one commonly used. Text strings are stored together and grabbed via pointers.

Title text is prepared at 35ce / 360c and stored at 37cc / 362a.

Apart from the 1-tile fonts, the game graphics are arranged in 8x16 mode, even the backgrounds.

One hack idea: Setting 27C3 to FB, 27C7 to E8, 27BC to 29 and 27CC to 28, then 38DA to 0D and 390F to 08. This results in the "bottom" section of the title screen being placed over the top section, appearing as one continuous design.