The Task
Our task was to design and implement a game for a console resembling the Nintendo Gameboy. The console should also have a sound output for music and sound effects.
Hardware
The console features two microcontrollers:
- Atmega328 with
- 32 KiB flash
- 2 KiB SRAM
- 1 KiB EEPROM
- Atmega168 with
- 16 KiB flash
- 1 KiB SRAM
- 512 B EEPROM
where the former is responsible for the game logic and controlling the display and the latter is used solely as a sound controller.
Furthermore, it features an EA DOGXL160L-7. This LC display has a resolution of 160×104 pixels, but four vertically adjacent pixels are grouped together in so-called pages and can only be written as a whole. Therefore, when writing to the display, the x coordinate must be below 160 and the y coordinate below 25.
Last but not least, the 8 buttons known from the Gameboy are available:
- left, right, up, down
- A, B
- pause, select