Pong MIPS
For one of my classes at the University of Minnesota Duluth (UMD) we learned a basic understanding of MIPS. Me being myself with a background in digital logic and having created my own instruction set, decided I wanted to have a deeper understanding of MIPS. As always when I want to learn something I started a project. I decided to implement the classic game of Pong in MIPS.
For our class we used the MARS MIPS Simulator. Did not have a tool that allows keyboard input and a bitmap display. So I created a branch and added a tool that captures key presses and had a bitmap display. I also added a convenient way to run the program with opening the whole editor. I included my “hacked” version of the MARS Simulator in my pong repo.
Here are some cool features:
- Non-hard coded width, height, paddle size. (You can change these values in main.asm)
- AI with customizable difficulty level adjustable through the “hardness” value in main.asm. Difficulty level basically just changes how fast the AI reacts when the ball starts coming back.
- A drawing functionality that only redraws the difference between frames instead of redrawing the whole screen. This speeds up the drawing process immensely.
You can check it out on github.