Specifically designed to make writing frontends easy. • Free, open-source. • Well documented API. • Lightweight cross-platform C library. • Perfect? h no…
without writing anything but Java code - no JNI or native code is required. This functionality is comparable to C#’s PInvoke and Python's ctypes.” github.com/java-native-access/jna JNA: Java Native Access Kotlin Kotlin
to the common libretro API. • Useful to see which APIs are actually needed. • https://github.com/libretro/snes9x/blob/master/libretro/libretro.cpp • https://github.com/libretro/Genesis-Plus-GX/blob/master/libretro/libretro.c
a pointer to video data. Input Callback: Called for every supported button on every frame. Return true if button is pressed. Audio Callback: Called once per frame with a pointer to audio data. “Environment” Callback: Generic callback for obscure functions. Mostly unused, per documentation.
addr 0x0 in tid 12676 ( DEBUG F #00 pc 00000000 <unknown> F #01 pc 00010fc9 /data/app/com.codebutler.funwithnativecode-n1T9 F #02 pc 00010c40 /data/app/com.codebutler.funwithnativecode-n1T9 F #03 pc 000051e0 /data/app/com.codebutler.funwithnativecode-n1T9 F #04 pc 00007c8f /data/app/com.codebutler.funwithnativecode-n1T9 F #05 pc 0063ec67 /system/lib/libart.so (art_quick_generic_jni_tr F #06 pc 00638ea2 /system/lib/libart.so (art_quick_invoke_static_ F #07 pc 00112b92 /system/lib/libart.so (_ZN3art9ArtMethod6Invoke F #08 pc 003231ff /system/lib/libart.so (_ZN3art11interpreter34Ar F #09 pc 0031bde1 /system/lib/libart.so (_ZN3art11interpreter6DoC F #10 pc 0061faf4 /system/lib/libart.so (MterpInvokeStatic+484)
Controller Support Game Covert Art Game Save/Restore WebDAV Future Features More Console Systems Better UI Local Multiplayer Game State Save/Restore Dropbox/GDrive Cheat Codes Internet Multiplayer Twitch/YouTube (Named after the Magnavox Odyssey, the first commercial home video game console released in 1972)