RetroArch is a frontend for retro game emulators, unifying the experience across platforms and providing features beyond what the original emulators offer. I’ve contributed various features and bugfixes, such as:

  • Microphone support. I designed an API that RetroArch-compatible emulators can use to forward the host system’s microphone to the emulated system. Other libretro frontends have added support for this API as well. I implemented microphone drivers for ALSA (Linux), WASAPI (Windows), and SDL2 (everything else).
  • Power status API support. Although RetroArch itself had support for querying and displaying the device’s battery level, I exposed it to cores.
  • Extensive documentation for the API that sits between frontends and cores.
  • XDelta softpatching support. This format is commonly used by the ROM hacking community to distribute translations and mods for retro games.
  • GitHub Actions workflows for MSVC-powered Windows and 32-bit Linux builds, to reduce the risk of regressions.