I wanted to learn how emulators are made so I designed my own. Chip 8 seems like a good place to start. It was designed in the 1970s and has been used several computers. Technically this is more of an interpreter, but these has few opocodes to code in so this is an easier place to start.
Written in Javascript and uses the JS Blessed library to display graphics in the terminal
First install dependencies
npm i
To play run the play command with an agrument of the game you wish to play
npm run play <game>
Chip 8 uses the following 16 key numpad for controls.
These controls are mapped to the following.
1 2 3 4
Q W E R
A S D F
Z X C V
https://tobiasvl.github.io/blog/write-a-chip-8-emulator/
https://en.wikipedia.org/wiki/CHIP-8
https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/
https://www.freecodecamp.org/news/creating-your-very-own-chip-8-emulator/