The system currently builds support for the following platforms. Each is a separate libretro core:
- Amstrad CPC (cap32)
- Amiga (puae2021)
- Doom (prboom)
- FB Neo (fbneo)
- MAME (race)
- PICO-8 (fake08)
- Atari 2600 (stella2014)
- Atari 5200 (a5200)
- Atari 7800 (prosystem)
- Atari Lynx (handy)
- ColecoVision (gearcoleco)
- Commodore 128 (vice_x128)
- Commodore 64 (vice_x64)
- Commodore PET (vice_xpet)
- Commodore Plus/4 (vice_xplus4)
- Commodore VIC-20 (vice_xvic)
- PC Engine / TurboGrafx-16 (mednafen_pce_fast)
- Virtual Boy (mednafen_vb)
- Game Boy / Game Boy Color (gambatte)
- Game Boy Advance (gpsp, mgba)
- NES (fceumm, nestopia)
- Pokémon Mini (pokemini)
- SNES (snes9x)
- Super Famicom (mednafen_supafaust)
- DOSBox (dosbox)
- Genesis / Mega Drive / Game Gear (genesis_plus_gx)
- Master System (bluemsx)
- PlayStation 1 (pcsx_rearmed)
- Docker installed and running
- Task (taskfile) - install via
brew install go-taskon macOS orhttps://taskfile.dev/installation/for other systems - adb (Android Debug Bridge) if you want to deploy directly to a device
- Linux/macOS environment (or WSL2 on Windows)
task clean- Remove all build artifacts and Docker images.
-
task build-base- Creates the base Docker image with SDL2 and other required libraries. This only needs to be run once, but run it again if you updatebase.Dockerfile. -
task build-retroarch- Compiles the RetroArch frontend. Depends on build-base. -
task build-core CORE=corename- Build a single emulator core. Replacecorenamewith one of the core names listed below. -
task build-all-cores- Builds all cores sequentially, one after another. Slower but uses less system resources. -
task build-cores-parallel- Builds all cores in parallel using up to four simultaneous builds. Much faster if your system can handle it.
-
task package- Takes the built RetroArch and cores, organizes them into the correct directory structure, and creates a .pak file suitable for NextUI and similar frontends. -
task adb- Pushes the packaged .pak file to your connected TG5040 device via adb. Make sure your device is connected and adb is working first.