From e428933723cde84d59137b5abca282bb1fdbc1e7 Mon Sep 17 00:00:00 2001 From: lamp Date: Sun, 5 Mar 2023 21:30:48 +0000 Subject: init --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..89edae0 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# chip8-emu + +A small CHIP-8 emulator, written in Rust. +It uses the nightly feature `duration_saturating_ops`, so Rust nightly is required until this feature is stabilized. +It's been tested with a few programs including [corax89's chip8-test-rom](https://github.com/corax89/chip8-test-rom). +It should be invoked as: + +``` +chip8-emu +``` + +For example: + +``` +chip8-emu 8 400 my_rom.ch8 +``` + +The original 4x4 hexadecimal keypad is mapped as follows: + +``` +╔═══╦═══╦═══╦═══╗ ╔═══╦═══╦═══╦═══╗ +║ 1 ║ 2 ║ 3 ║ C ║ ║ 1 ║ 2 ║ 3 ║ 4 ║ +╠═══╬═══╬═══╬═══╣ ╠═══╬═══╬═══╬═══╣ +║ 4 ║ 5 ║ 6 ║ D ║ ║ Q ║ W ║ E ║ R ║ +╠═══╬═══╬═══╬═══╣ -> ╠═══╬═══╬═══╬═══╣ +║ 7 ║ 8 ║ 9 ║ E ║ ║ A ║ S ║ D ║ F ║ +╠═══╬═══╬═══╬═══╣ ╠═══╬═══╬═══╬═══╣ +║ A ║ 0 ║ B ║ F ║ ║ Z ║ X ║ C ║ V ║ +╚═══╩═══╩═══╩═══╝ ╚═══╩═══╩═══╩═══╝ +``` + +Thanks to [Matthew Mikolay's CHIP-8 technical reference](https://github.com/mattmikolay/chip-8/) and anybody who contributed to the [CHIP-8 Wikipedia page](https://en.wikipedia.org/wiki/CHIP-8). -- cgit v1.2.3