All projects

Academic Project · Computer Architecture · 2019

Moon Patrol (Atari 2600)

A recreation of the classic Atari 2600 game Moon Patrol, built from scratch in MIPS Assembly for my Computer Architecture course and rendered through the MARS simulator's bitmap display.

MIPSAssemblyMARS
Moon Patrol (Atari 2600) — screenshot 1

My professor had a peculiar evaluation method. The course was Computer Architecture, and its ultimate goal was to understand a computer's resources and manage them using a low-level language, Assembly. So, how do you prove that you know how to manage a computer's resources? The memory addresses, the function of each address, system calls (syscalls), gotos... by making a game. He used to say, 'If you know how to make a game in Assembly, you know how to manage a computer's resources.

There were several Atari games to use as references; the game assigned to me was Moon Patrol, a game from 1982. It was a challenging journey, and I was often surprised for curious reasons. After many days of work, I figured out how to make the car jump, but then the car stayed frozen in the air, and I realized I also needed to write the code to bring it back to the ground, there are no built-in physics. Today, we have all kinds of technology with various layers of abstraction that offer us a range of features with countless resolved problems that we aren't even aware of; the absence of physics made me notice this. Another thing I realized was that when moving the car, I also had to erase the previously used pixels; otherwise, the screen would become completely blurred, ruining the 'illusion' of moving forward.

It took many daily hours over many weeks to complete this project. It was the biggest challenge of my life as a student, given that I didn't even have a year of experience with technology, and to this day, it remains the greatest challenge I have ever faced in the tech field. The project was praised and selected for exhibition at the Federal Institute's semiannual technology event, becoming a great source of pride for me.