top of page

The Flame GPU — Initial Design Part 2: Tilesheets, Tilemaps, and Graphics Registers

  • Writer: Tom Gambill
    Tom Gambill
  • Mar 24
  • 1 min read

Updated: Mar 31


Girl playing arcade game in classic arcade

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


Post: Blog2_Post
  • Mastodon
  • Facebook
  • LinkedIn

©2021 by IARI Ventures

bottom of page