A CHIP-8 Emulator written in Python using ModernGL that truly gives that retro feel.
It's one of the most fun things to do. Frankly, I did this in 3-4 hours as an excercise because I wanted to.
Simply,
python ./gl8.py IBM.ch8
Or any other ROM file you'd want to run.
1234QWERASDFZXCV map to 0x0 - 0xF keys on the CHIP-8 controller. Press ESC to quit the emulator any time.
It's in Python, it's a one file program, it uses only two libraries: pygame and moderngl. All the font data, audio data, shaders is in this one file. It's nice and compact. And unlike all other CHIP-8 emulators, this one truly captures the feel of an 8-bit system with its flashy effects like phosphor glow and monitor burn in effect.
Well, of course, it fails a lot of tests especially the QUIRKS and the FLAGS tests. But it runs nearly every game I've ran on it (BRIX, TETRIS, and a bunch of other demos) just fine. I don't think we have to worry much about it.
I'll let you be the judge.