Flappy/Notes: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Created page with "Flappy uses an unusual binary format for its title screen (and afterward). The table that generates the title screen is at $3981 in the ROM. Each hexadecimal value is a binar...")
 
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{notes}}
Flappy uses an unusual binary format for its title screen (and afterward).
Flappy uses an unusual binary format for its title screen (and afterward).


The table that generates the title screen is at $3981 in the ROM. Each hexadecimal value is a binary interpretation of eight horizontal tiles.
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
$7B=01111011
Line 7: Line 9:
and so on.
and so on.


The result at top is a 32x14 pixel grid.
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.
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.
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.
{{Internal Data}}

Latest revision as of 14:24, 24 January 2024

Chip tiny.png The following article is a Notes Page for Flappy.

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.