Open source
libretro-kmp
Load and drive libretro emulator cores through one Kotlin Multiplatform API.
Run emulator frames, receive video and audio, send controller inputs, access emulated memory, and save or restore states from Kotlin. Native targets use a C interop or JNI bridge, while the JVM uses JNA. Emulator cores are loaded separately at runtime.
The emulation layer underneath pokemon-client and AI Plays Pokémon, reusable with libretro cores for other consoles too.
Install
Gradle
klibs.io
implementation("dev.kotlinds:libretro-kmp:0.1.2")