Skip to content

paulo101977/sdlarch-rl

 
 

Repository files navigation

sdlarch-rl

This is a fork of sdlarch that aims to develop RL (Reinforcement Learning) projects.

Our Youtube Channel

If you are interested in our AI projects, visit our channel:

AI Brain

sdlarch

sdlarch is a small libretro frontend (sdlarch.c has less than 1000 lines of code) created for educational purposes. It only provides the required (video, audio and basic input) features to run basic libretro cores and there's no UI or configuration support.

Building

First, remove any Makefile folders or files (CMakeCache.txt and CMakeFiles).

Linux:

cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build

Windows:

Have Visual Studio Preview 2022 or later installed.

With the Visual Studio cmd open:

cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build

Notes:

  • SDLArch-RL needs (on windows) the DLLs SDL2.dll and msvcrt.dll in the project root folder.
  • SDLArch-RL creates the system folder in the project root on Linux and in the root of your driver on Windows (if running on the C drive, it will create c:\system). This folder should contain the bios and files needed for each Libretro core.

TODO

  • Vulkan context
  • DirectX context (d3d11, d3d12)
  • Tool to add games/map memory/save states, etc.
  • Add Support to analog actions
  • Cemu Core (It takes a lot of work to make the core libretro!!!)
  • Xemu Core (It takes a lot of work to make the core libretro!!!)
  • Rpcs3 Core (It takes a lot of work to make the core libretro!!!)
  • Xenia Core (It takes a lot of work to make the core libretro!!!)
  • Run PPSSPP Core (PSP) (currently running on linux)
  • Run DesMume Core (Nintendo DS)
  • Run Citra Core (Nintendo 3DS)
  • Run Dolphin Core (need pass ID for env)
  • Run mupen64plus_next (n64) Core
  • Run PCSX2 Core
  • Run Flycast Core
  • Compile cores in build
  • Load state from file
  • Gymnasium compatibility
  • Load Emulator memory
  • Load games in the same standard as stable-retro
  • Improve performance

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors

Languages

  • C 83.4%
  • Jupyter Notebook 11.1%
  • Python 3.1%
  • C++ 2.1%
  • CMake 0.3%