There certainly are improvements to be made here, but I am satisfied with the current state of this project and I was able to learn a lot as this was my first emulator. For now I'll just leave this as is.
Usage
python main.py <rom_img_path>
Note: Install the requirements.txt
dependencies first. I've used Pyglet to abstract all the OpenGL boilerplate.
Documentation