Learning Rust by building a partial Game Boy emulator.
This project is maintained by jeremyBanks
I’ve done an initial implementation the ly
graphics register, which can be read to check which scan line we’re currently at. This gets us to the point where the boot ROM repeatedly loops to wait for the next frame. This means we’re currently printing tens of thousands of log messages for the same few instructions, between every set of meaningful output. This is horribly slow and barefuly usable; our initial logging approach is at its breaking point.
I’m thinking something like this:
operation::Execution
) in memory.I would also like to start syncing in-game clock with the real clock, by sleeping when it gets ahead, because that sounds easy.
Okay, did that. We’re running a lot more instructions now, so it’s clear we’re stuck in an infinite loop, not just running a big one super-slowly.