A classic Tetris clone implemented in MIPS assembly, developed as the final project for CSCB58 Summer 2024 at the University of Toronto Scarborough (UTSC).
- Display Address:
0x10008000 - Keyboard Address:
0xffff0000
- A / D: Move tetromino left / right
- W: Rotate current tetromino
- S: Soft drop
- Space: Hard drop to bottom
- Game Over: Occurs when new blocks collide at the top of the board
- Block movement and rotation
- Gravity and soft drop
- Full game loop with keyboard input
- Block collision detection
- Tetromino outline indicator
- Full line detection and clearing
- Tetromino-specific rotation with collision checks
- Game ends gracefully when blocks reach the top
🔗 Click here to view the demo
- Custom rendering using bitmap display
- MIPS syscalls for delays and I/O
- Stack-based handling of block positions
- Modularized drawing logic for all 7 tetromino types
- Real-time input handling and dynamic gravity system
- This game is designed to run on MARS or SPIM simulators with bitmap and keyboard memory-mapped I/O connected.
- Game terminates when block stacking reaches the top row.