The Ember CPU — Initial Design Part 1: Basic Requirements
The Ember CPU will be the main processor in a virtual video game system reminiscent of those released during the 80s and 90s. The design of the CPU, and the system as a whole, will be iterative, starting with only the features needed at each step, and evolving from there.
At the start, the system should be capable of running early arcade games on the level of PacMan or Galaga, then by adding additional features and functionality to the CPU, GPU, sound chips, and other co-processors, it will support more ambitious games over time. This approach has the added benefit that we don’t need to design a perfect or complex system at the start, but build on what came before, much like the original machines over the decades.
For more on my thoughts and design philosophy for this project, please check out my previous posts Going Old-School: Designing A Custom Homebrew Retro Video Game Console From Scratch and Ember: Beginnings.
First though, before we can develop a complete gaming system, we will design and implement the CPU (and ultimately the GPU and other parts), as well as some way to program and debug them. We will do all this in…