B.
Back to projects

Music Writer/Player in MIPS Assembly

Overview

An interactive music writer/player built in MIPS assembly for the MARS emulator. It allowed the user to select notes, drew them onto a musical stave and played them back using MARS syscalls.

Why it’s interesting

It was built entirely from scratch with very little help from modern abstractions. I had to store program state and the display directly in registers and memory.

Key Technical Points

  • Interactive Note Placement: The project featured a menu-driven interface which allowed the user to customise colours on the Graphical Display and choose notes to place onto the stave.
  • Customisable Graphical Display: The interface on the display was programmed using Bitmap Memory Mapping. The background colour, stave colour and note colour was user-customisable and note placement was calculated and drawn directly onto the stave.
  • Neat & Decomposed structure: Due to the lack of abstractions I found having modular and decomposed code crucial to make program flow easier to understand and make debugging easier.

Tech Stack

Platform: MARS Emulator
Language: MIPS Assembly