As I said a few days ago, I am doing the B8VGC project entirely in this blog and only when I have nothing more pressing to talk about. At least, that is the plan for the design stage. When I get to coding, things may change, but we will cover that part of the project after we have reached it. The first thing is the design, and when I am starting the design on any project the first thing that I do is break the project down into more manageable components. So, what are the components that make up a game console?
Obviously, the heart of a game console is the CPU that powers it. This CPU will be the 8 bit virtual machine that we will be designing. Being able to run code doesn't do much by itself. We will also need a way of handling input and output. The input requirements can be very simple since we can make the assumption that the virtual console is uses a virtual ROM cartridge. Of course, the cartridge, to allow for a reasonable amount of storage, will allow for some type of overlay memory management so some type of simple memory management chip will have to be emulated. Of course, the player(s) of the game console is also going to be a source of input via 1 or more controllers. The output comes in two forms. We are going to need a graphics system and a sound system.