Virtual Machine

For a lab assignment for CS 203 (Computer Organization) at Lafayette College, I was tasked with developing a virtual machine that can run SSAM (Super Simple Assembly, developed by my professor) machine code. Tasks included developing VRAM (memory.c and memory.h), a VCPU (controller.c and controller.h), and a UI (sim.c and sim.h).

I learned a bunch about how lower levels of computing work from this class—and this lab tied plenty of concepts together.

If you want to see more of this project...