libretro

The roadmap for the libretro loader

  • Vulkan (possibly, need an excuse to learn a new API.)
  • In-app core variable config (I have already some ideas as to how to implement the listing, like a subclassed ListView control)

Whats done:

  • Input support/config (complete DirectInput and Xinput support, per core)
  • Savestates
  • Dynamic rate control (could be tweaked using the libretro-common resampler set for higher SQ)
  • Core variable support (configurable by INI file)
  • Full support for x64 cores
  • OpenGL support (requires OpenGL 3.3 and up.)

The roadmap for the libretro loader:

  • Input support/config
  • Savestates/saves
  • Vulkan (possibly, need an excuse to learn a new API.)
  • In-app core variable config

Whats done:

  • Dynamic rate control
  • Core variable support
  • Full support for x64 cores
  • OpenGL support for cores such as Mupen64Plus

One of the things I wanted for a while is a small libretro core loader, so I can debug cores, since my personal goal this year is to be productive again somewhat in emulation, since I admit I did enjoy that. Over the course of two weeks I have started to work on it again, since its based on some old emulator code I was working on. Eventually I got the loader to the stage until it manages to properly boot something:

The loader is written in MSVC2017 and is intended for Windows 8 and up. It uses a OpenGL 3.3 forward compatible core context (yet to be tested) as well as a generic OpenGL 2.0 context with extension usage. I worked on it this week however to the point I got something salvagable:

Needs work on audio, mainly with dynamic rate control and working on buffer underruns.

There is a couple of things needed to be added yet before it is remotely usable:

  • Core variables/configuration
  • Input with proper rebindable keys.
  • Dynamic audio rate control
  • Savestates/save files
  • Proper OpenGL core support

User desirable features like pixel shaders, rewind and video recording will not be supported. Any public versions, if at all, will have DRM on them.