This is another Chip8 realisation written on Rust for education purposes (in both creating simple virtual machines and rust). It uses pixels for video, which I found ideally suitable for this project.
This project requires stable rust installed, to build use
$ cargo build
To run emulator use
$ cargo run -- <path to ROM file>
Use following control keys for play:
Chip-8 Keypad Keyboard
+-+-+-+-+ +-+-+-+-+
|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|
+-+-+-+-+ +-+-+-+-+
One can download Chip8 ROMs pack here.
This realisation tested against two test ROMs:
NOTE: There is at last one not documented error code in BC_Test with code E 34
,
in my case it pointed to wrong implementation of Fx55 and/or Fx65 operation codes.
- Fix some minor bugs
- Add audio
- Add tests for Chip-8
- Cleanup code