diff --git a/dist/info/cemu_libretro.info b/dist/info/cemu_libretro.info new file mode 100644 index 00000000..d66ebee5 --- /dev/null +++ b/dist/info/cemu_libretro.info @@ -0,0 +1,35 @@ +# Software Information +display_name = "Nintendo - Wii U (Cemu)" +authors = "Cemu Project|WizzardSK" +supported_extensions = "wud|wux|wua|iso|rpx|elf|tmd" +corename = "Cemu" +categories = "Emulator" +license = "MPL-2.0" +permissions = "" +display_version = "2.6" + +# Hardware Information +manufacturer = "Nintendo" +systemname = "Wii U" +systemid = "wiiu" +database = "Nintendo - Wii U" + +# Libretro Features +supports_no_game = "false" +hw_render = "true" +needs_fullpath = "true" +disk_control = "false" +savestate = "false" +cheats = "false" +input_descriptors = "true" +memory_descriptors = "false" +libretro_saves = "true" +core_options = "true" +load_subsystem = "false" +is_experimental = "true" + +# Firmware / BIOS +firmware_count = 0 +notes = "(!) Save states are not supported - Cemu has no state serialization.|(!) Requires keys.txt in system/Cemu/ to load encrypted titles.|(!) MLC storage is created in saves/Cemu/mlc01/.|(!) Shared fonts go in system/Cemu/resources/sharedFonts/, graphic packs in system/Cemu/graphicPacks/.|(!) Needs a Vulkan or OpenGL 4.5 capable GPU. On Wayland use the Vulkan graphics API core option - the OpenGL path renders black there." + +description = "A port of the Cemu Wii U emulator to libretro. Renders through the frontend's hardware context, either Vulkan (sharing RetroArch's instance, device and queue) or OpenGL 4.5 core profile, and can composite the GamePad (DRC) screen next to the TV screen in several layouts. Save states are not supported and never will be, as Cemu has no infrastructure for serializing emulator state." diff --git a/rules.d/core-rules.sh b/rules.d/core-rules.sh index 7bf4e214..effdd7ec 100644 --- a/rules.d/core-rules.sh +++ b/rules.d/core-rules.sh @@ -1949,6 +1949,18 @@ libretro_radio_name="Radio" libretro_radio_git_url="https://github.com/fpscan/libretro-radio.git" libretro_radio_build_makefile="Makefile" +include_core_cemu() { + register_module core "cemu" -ios -theos_ios -ngc -ps3 -psp1 -qnx -wii +} +libretro_cemu_name="Cemu" +libretro_cemu_git_url="https://github.com/WizzardSK/cemu-libretro.git" +libretro_cemu_git_submodules="yes" +libretro_cemu_build_rule="cmake" +libretro_cemu_build_opengl="yes" +libretro_cemu_build_args="-DENABLE_LIBRETRO=ON -DENABLE_BLUEZ=OFF -DENABLE_FERAL_GAMEMODE=OFF" +# CMake writes cemu_libretro.so to /bin, not into the build directory. +libretro_cemu_build_extradir="../bin/" + # CORE RULE VARIABLES # # All variables follow the format of libretro__ where is