Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
pandocs
New home of the infamous Pan Docs historical document: the single, most comprehensive Game Boy technical reference (by corybsa)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
First I would try to deduce the timing from this gate-level simulation of the game boy, but the master branch was broken at the time, so I didn't manage to compile it. So, I tried deducing it from its underling reverse engineered schematics, but it would take too much time, if it even was possible.
First I would try to deduce the timing from this gate-level simulation of the game boy, but the master branch was broken at the time, so I didn't manage to compile it. So, I tried deducing it from its underling reverse engineered schematics, but it would take too much time, if it even was possible.
So, what I have finally tried was figure out the timing from another emulator, in this case SameBoy, which appears to be the most accurate game boy emulator. In the end, I copy the timing from its ppu state maching, and its interrupt handling code. Took a lot of time figuring out how it was working.
For Gameboy emulation, one of the most valuable resources are the pandocs: https://gbdev.io/pandocs/
Probably it is crashing while creating the OpenGL context. I am using a fork of raw-gl-context, that is heavily unsafe, whose upstream is unmaintained, and don't have a proper error handling. Or it could be crashing a little after that, in my sprite-render crate, which is also very unsafe, and was written when I was far less experience with unsafe Rust, and don't have proper error handling either.
Probably it is crashing while creating the OpenGL context. I am using a fork of raw-gl-context, that is heavily unsafe, whose upstream is unmaintained, and don't have a proper error handling. Or it could be crashing a little after that, in my sprite-render crate, which is also very unsafe, and was written when I was far less experience with unsafe Rust, and don't have proper error handling either.
But I think this will be solved when I switch back the GL context creation to glutin (thankfully, version 0.30 will decouple from windows creation), and I rewrite sprite-render.