Skip to content

Maninder-sd/AssemblyVideoGame

Repository files navigation

AssemblyVideoGame

Final project for CSCB58 Computer Organization. This course teaches computer hardware fundamentals such as combinatorial/sequential circuit design, K-mapping, FSM, and study the MIPS Processor (ALU, Datapaths etc). The course ends with programming the processor using assembly.

Project Summary

The purpose of the project was to make a single player videogame by using the skills I gained for coding in assembly. The final game was coded in 900 lines of assembly code, including comment. I utilized both memory and registers to store the current state of the game, including stats such as player health, player position, timer, obstacle locations, and color attributes of all objects. The key skills gained include:

  1. Keyboard input using Memory Mapped I/O
  2. Useful System Calls (random number generator, sleep etc)
  3. Using Framebuffer to display pixels
  4. Using standard calling conventions for function calls
  5. Writting well commented and documented Assembly code
  6. Excellent experience debugging Assembly code

Here is the demo video I submitted for grading: https://www.youtube.com/watch?v=yuREScvud_I&ab_channel=mani1820

About

Final project for CSCB58 Computer Organization. This course teaches computer hardware fundamentals such as combinatorial/sequential circuit design, K-mapping, FSM, and study the MIPS Processor (ALU, Datapaths etc). The course ends with programming the processor using assembly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors