Start Screen

FrankenGraphics

New member
There are many ways to do this.

One of them:
When Start has been registered, from within your title screen mode code, Set a timer to the duration of the blinking you want. it must be higher than 1.
Decrease the timer each frame or 60th frame or whatever (likely something in between).

have a new routine inside your title screen mode code that does the following:
If timer = even (or odd, your choice), Overwrite the tiles where "press start" reads with a blank tile.
if else, Overwrite the tiles once again, but now with a string of tile ID:s corresponding "press start"
if timer = 1 go to next game mode (game start).

Variant:
Or if the text colour(s) are used by text only and not some other element in your splash screen, you needen't overwrite tiles in the nametable. you can simply overwrite the palette that the text is using with different presets, whereof one sets the text colour(s) to the same as the background colour. That means the tiles are always there, but for all intents and purposes invisible to the eye.

These methods rely on the NMI interrupting the title mode at every frame... which it is. The blinking pulse duty is also forced to 50% on 50% off since we're checking even/odd. You can change this ratio by instead asking for a modulo of n.
 
Top Bottom