“A generic 32k Flash, 2k RAM Game Console with an 8x8 Red/Green LED matrix, Speaker, X-Pad and 3 support buttons.
One of the first computer games that I remember playing on my TRS80 clone was a game called Othello. I won’t go into the game here other than to say that it is a two player game played on a 8x8 grid. Each player has a different colored disc.
So my first task was to create a game console that I would ultimately code Othello on. The game lends itself to a two color 8x8 matrix so that was an easy choice for the display. The player needs to be able to select any square on the board. So this meant either a joystick or X-Pad. I choose the X-Pad because the joystick can be difficult to move a cursor to a specific location and has no tactile feedback. To make the game console more generic, I also included three separate buttons which can be used for example as a fire button, help button, start game button etc.
For testing I modified an Asteroids game created by kreck2003 (a fellow Hackster).
The Red/Green matrix module has a common anode. The matrix has 16 cathodes (8 red and 8 green). The cathodes are connected to a STP16CPS05 16 Channel shift register with each output being a constant current LED driver. The anodes for the matrix is connected to a set of 8 P-Channel MOSFETs which are driven by a 3 to 8 line decoder/driver so as to reduce the pin count needed for the microprocessor.
Each switch on the X-Pad as well as the three separate switches are connected to separate pins on the ATtiny3216 microprocessor. This allows any of the pins to generate a interrupt should the game require it.
A passive buzzer is connected to the microprocessor via a capacitor to isolate any DC component.
A 5V regulator is included so the console can be run from a 7-12V power brick. The console will also run on 3.3V so you could short out the regulator and power it from a lithium-ion 3.7V battery instead.”