Skip to content

Latest commit

 

History

History
34 lines (19 loc) · 1.32 KB

README.md

File metadata and controls

34 lines (19 loc) · 1.32 KB

An implementation of the classic arcade game Pong on a chipKIT Uno32 Basic Microcontroller Board

About

This project was developed jointly as part of the course Computer Organization and Components at KTH. A code skeleton was provided for basic hardware functionality, and the files mipslabmain.c and pong.c contain our additions.

About 85% of mipslabmain.c and 100% of pong.c were written by us.

The point of the project was to write directly to the hardware at a low level and not use built in libraries.

Features

  • Multiplayer
  • Singleplayer against an AI with two difficulty options
  • Players are controlled through the switches on the I/O Shield
  • A Main menu with navigation done through switches and buttons
  • A highscore which is saved between power-outs
  • Pixel-by-pixel updates of all items on the display

Implementation

  • The code takes advantage of switches, buttons, timers, polling, interrupts and more.
  • Writing to the OLED display was done through writing directly to the memory using the SPI protocol.
  • A persistent highscore is implemented through writing directly to the EEPROM using the I2C protocol.