The Flame GPU — Initial Design Part 2: Tilesheets, Tilemaps, and Graphics Registers
- Tom Gambill
- Mar 24
- 1 min read
Updated: Mar 31

Now that we have a basic understanding of the Flame GPU requirements, we can consider the fundamental structures needed to implement our first display mode. For the initial development and testing of the Ember design, we need a very simple text mode that allows us to get something on the screen. This mode can be used while implementing the initial firmware or operating system for the Ember console. To do this, we need the ability to define a font, use that font to draw characters on the screen, and a way for code on the CPU to set up and configure the required GPU settings.
GPU Registers
The Flame GPU and the Ember CPU will communicate using a set of registers mapped directly into a shared range of system memory addresses. This is typically called memory-mapped IO. These GPU registers, working much like the registers in the CPU, determine various graphics and display settings and allow the CPU to configure the active display mode, colors, memory addresses, and settings of various structures like tilemaps, tilesheets, sprites, and palettes.
To define our first text display mode, we will need at least one tilemap to hold the letters to display on the screen, one font tilesheet to define the various letter and number shapes, a foreground and background color, and a few other registers to hold values like screen resolution.
Comments