An emulator is still on my "bucket list as an engineer." I feel like it's a hurdle I still haven't crossed and I'm reasonably certain I could make one.

I have some free time this weekend...I might take this repo and port it over to clojure to get the hang of things.

The first emulator I wrote was for a virtual machine called the CHIP-8. I used CowGod's reference, it was a fun experience!

http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#2.1

I forgot about CHIP-8. That might be a good starting point. Thanks for reminding me.

Try JimTCL, it uses SDL2 for "GUI"'s instead of TK, but it's as compatible (at code level, not TCL extensions, Jimsh uses its own ones) as TCL 8.5 so most stuff will work as is.

If you look at the examples, you'll find that writing a Chip8 emulator with JimTCL it's a breeze.

https://github.com/msteveb/jimtcl