GameRoy: a cross platform and highly accurate Game Boy emulator

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • gameroy

    A Game Boy emulator, disassembler and debugger, written in Rust

  • metroboy

    A repository of gate-level simulators and tools for the original Game Boy.

  • 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.

  • 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.

    InfluxDB logo
  • DMG-CPU-Inside

    Reverse-engineered schematics for DMG-CPU-B

  • 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.

  • SameBoy

    Game Boy and Game Boy Color emulator written in C

  • 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.

  • pandocs

    New home of the infamous Pan Docs historical document: the single, most comprehensive Game Boy technical reference (by corybsa)

  • For Gameboy emulation, one of the most valuable resources are the pandocs: https://gbdev.io/pandocs/

  • raw-gl-context

    cross-platform OpenGL context creation (by Rodrigodd)

  • 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.

  • sprite-render-rs

    A Rust Crate for Sprite Rendering (WIP)

  • 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.

  • 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.

    WorkOS logo
  • glutin

    A low-level library for OpenGL context creation, written in pure Rust.

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts