mirror of
https://github.com/libretro/libretro-super.git
synced 2026-11-07 11:16:03 -10:00
Add Cemu (Wii U) core rule and info file
There is no Wii U core on the buildbot at the moment. Cemu has a libretro port that builds and runs on Linux, so register it. Everything in the info file was read off the core rather than guessed: supported_extensions, needs_fullpath and the version come from retro_get_system_info, hw_render from the SET_HW_RENDER call, input_descriptors from SET_INPUT_DESCRIPTORS, libretro_saves because the MLC directory is created under GET_SAVE_DIRECTORY, and savestate is false because retro_serialize_size returns 0 by design - Cemu has no state serialization. cheats and memory_descriptors are false for the same kind of reason: retro_cheat_set is an empty stub and the core never calls SET_MEMORY_MAPS. Marked experimental. build_extradir is "../bin/" because Cemu's CMake sends the core to <source>/bin instead of into the build directory. Note that the repository is currently my fork, as upstream danprice142/Cemu-Libretro has been dead since January. There is also no project for it on git.libretro.com yet, so a mirror still has to be set up before anything can actually be built - happy to retarget the URL if the core gets a home under the libretro organisation.
This commit is contained in:
1 parent
4c4d6f289a
commit
d13c649bc7
2 files changed
+47
No files matched your search
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
# Software Information
|
||||
display_name = "Nintendo - Wii U (Cemu)"
|
||||
authors = "Cemu Project|WizzardSK"
|
||||
supported_extensions = "wud|wux|wua|iso|rpx|elf"
|
||||
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."
|
||||
@@ -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 <source>/bin, not into the build directory.
|
||||
libretro_cemu_build_extradir="../bin/"
|
||||
|
||||
# CORE RULE VARIABLES
|
||||
#
|
||||
# All variables follow the format of libretro_<core>_<setting> where <core> is
|
||||
|
||||
Reference in new issue
Block a user