ALIAneS Emulation Project

  • Michael Kafarowski
  • Project start date : March 10th 2015

Current Progress

  • Frame for each opcode created; now I just need to fill in the actual operations

Project Goals

I have a tier'd goal structure for this project:

  • Bronze: Achieve CPU emulation
  • Silver: Achieve PPU emulation. Games should run at >5 frames per second
  • Gold: Add very basic mapper support. Games should approach comfortable speeds if not already.
  • Platinum: Add more mapper support and APU emulation. Games should run at or higher than full speed.


  • CPU - Central Processing Unit : The chip that takes care of reading and executing instructions that appear in memory.
  • PPU - Pixel Processing Unit : The chip that accepts commands from the CPU and using special tables in its own memory, takes care of drawing sprites and backgrounds to the screen.
  • APU - Audio Processing Unit : Takes care of the game sound generation.
  • More defined terms coming soon.


This is a project I am undertaking to learn more about a lot of things: advanced C++ coding, emulation, assembly language... etc. I am having a lot of fun with the development of this software as well, and regardless of how the final product turns out, this has already proven to be an amazing learning experience.

Built With

Share this project:


posted an update

All the CPU Opcodes have now been coded. I only have to implement CPU cycles to them and test everything, and then the CPU portion of ALIAneS is complete! It's been such a long (but good) stretch, and I have no intentions of stopping. On completion of the CPU I'm going to take two weeks off to clean the code and completely document everything top to bottom, collect and post my research logs to my blog at From there, I'll start on the PPU (Picture Processing Unit) portion of the emulator. Fun stuff!

Log in or sign up for Devpost to join the conversation.