Attempt to rewrite the old germangb/rust-gameboy emulator project.
cargo test --test cpu_instrs
cargo test --test instr_timing
cargo test --test mem_timingYou must provide your own boot ROMs as they are not included in the repo.
/core/boot/boot.gb/core/boot/boot.gbc(if building with--features cgb)
You may or may not find them here https://gbdev.gg8.se/files/roms/bootroms/
cargo run -p native --release [--features cgb] -- [ROM FILE]Focus on the LCD window for game controls:
Left,Right,Up,Downmaps to DPAD buttons.Zmaps to A buttonXmaps to B buttonEntermaps to Start buttonRightShiftmaps to Select button
Other keyboard controls (for primitive debugging):
CChange the ROM (Will open filesystem file selector).PPause/Resume emulationRReset emulationSStep instruction (CPU Window)BSet Instruction breakpoint (CPU Window)LSet LCD line breakpoint (CPU Window)RightShift + POverride PC register (CPU Window)
(The Memory window --features mem is not yet finished)
RRead byte from memory (MEM Window)RightShift + PWrite byte to memory (MEM Window)
cd wasm/
wasm-pack build [--features cgb] # build NPM package
cd www/
npm run start # start HTTP server- https://fosdem.org/2023/schedule/event/gb_arm/
- http://problemkaputt.de/pandocs.htm
- https://gbdev.gg8.se/wiki/
- https://github.com/AntonioND/giibiiadvance/blob/master/docs/TCAGBD.pdf
- https://gekkio.fi/files/gb-docs/gbctr.pdf
- https://github.com/gbdev/awesome-gbdev
- https://github.com/AntonioND/gbcam-rev-engineer/tree/master/doc











