This project started as a way for me to learn:
- Low-level stuff;
- Rust;
- Hardware/Console emulation.
(I'm new to all of the above)
I've started the main implementation but decide to start over and document my progress here.
To be able to build and run the project you will first need to have Rust installed. It's also necessary to have SDL2 lib installed on your system. For ubuntu based systems run the following command:
sudo apt-get install libsdl2-dev
To test out the project, use the following command:
cargo run -- <path> <ipf>
- path: Path to ROM file.
- ipf: Instructions per frame.
The following checklist shows a bit of the progress and current state of the emulator. Currently working on quirks and bug fixes.
- Memory, stack, registers and PC;
- ROM reading;
- Fonts;
- Cycle accurate loop;
- OpCode matching;
- Display to screen;
- Basic OpCodes (for IBM logo e.g.);
- All OpCodes;
- Quirk configurability.