The SNES has no built-in text rendering. Text is displayed the same way as any other graphics: font characters are stored as tiles in VRAM, and a tilemap references those tiles to spell out words on screen.
These examples teach the tile/tilemap fundamentals that underpin all SNES graphics.
A ladder of developer questions: how do I show text? → how do I move it?
| Example | Rung | Description |
|---|---|---|
| print_string | 1.1 | Print a string with the built-in font (textModeInit + textPrintAt) |
| scroll_message | 1.4 | Move text – scroll the text BG layer for a marquee (bgSetScroll) |
Under the hood — how a glyph is raw 2bpp bitplanes + a tilemap — lives in fundamentals/text_glyphs.
Each character is an 8x8 pixel tile. A font is a collection of tiles covering the ASCII range. The tilemap is a grid of tile numbers that defines which character appears at each screen position.
"2bpp" means 2 bits per pixel = 4 possible colors (indices 0-3). Each 8x8 tile is 16 bytes: 8 bytes for bitplane 0, 8 bytes for bitplane 1.
In Mode 0, each background layer gets 4 colors:
Start with print_string to get your first ROM running, then scroll_message to make it move. To see what the text module hides, read fundamentals/text_glyphs.