Skip to content

zsspan/mips-tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧩mips-tetris

Welcome to my implementation of the classic game Tetris, but ... written entirely in MIPS Assembly!

This game was developed for CSCB58: Computer Organization, and highlits the transition from digital circuits and hardware into software language. You can find a brief design document titled MIPS Tetris - B58 Final Design Document.pdf with a concise overview. View the video demonstration on YouTube.

mips image

Game Features

  • All tetronimoes represented (with different colours)
  • Holding functionality
  • Movement, including rotation
  • Incremental Gravity (levels get harder as you progress)
  • Line clearing and score counter

Get Started

  • Use a MIPS emulator, ex: MARS or Saturn --> Note that Saturn works in browser, so you can copy-paste tetris.asm directly into the editor, set the Bitmap controls and start playing immediately
  • Set the Bitmap display as follows:
image

Design Explanation (Simplified)

  • Uses IO polling to get keyboard inputs (ASD for left/down/right, W for rotate, H to hold, Q to quit)
  • Forces a game loop consisting of drawing a piece to the framebuffer, handling collisions, locking pieces, and generating a new one
  • Handles scoring, gravity, RNG, and game ending

About

🧩🕹 The classic game of Tetris, made using MIPS Assembly

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published