diff --git a/board/recalbox/fsoverlay/etc/init.d/S12populateshare b/board/recalbox/fsoverlay/etc/init.d/S12populateshare index d9e7330e7eca37c4734575d6ad29646c03824ad4..307ecd1ec538664b58d95ffe07d389c4c50bb04d 100755 --- a/board/recalbox/fsoverlay/etc/init.d/S12populateshare +++ b/board/recalbox/fsoverlay/etc/init.d/S12populateshare @@ -46,7 +46,8 @@ for DIR in cheats \ system/logs \ system/upgrade \ saves/mame/mame0278 \ - saves/mame/mame0258 + saves/mame/mame0258 \ + saves/mame/mame do if test ! -e "$OUT""/""$DIR" then diff --git a/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/default.cfg b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/default.cfg deleted file mode 100755 index fbcd08ccf2ccf7cd722257e7d99c25a2bc2d0481..0000000000000000000000000000000000000000 --- a/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/default.cfg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - KEYCODE_1 - - - - - JOYCODE_1_BUTTON9 OR KEYCODE_F2 - - - - - diff --git a/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/jamma.cfg b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/jamma.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6336a8f11f4be33407d88eb7c9ed594435c0fb65 --- /dev/null +++ b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/jamma.cfg @@ -0,0 +1,32 @@ + + + + + + + + JOYCODE_1_BUTTON10 OR KEYCODE_9 + + + + + JOYCODE_1_BUTTON9 OR KEYCODE_F2 + + + + + KEYCODE_1 + + + + + + + + + + + + + + diff --git a/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/keyboard.cfg b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/keyboard.cfg new file mode 100755 index 0000000000000000000000000000000000000000..f46f909c6f0930e7886c5cb7ba27142c89c6a6e1 --- /dev/null +++ b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/keyboard.cfg @@ -0,0 +1,32 @@ + + + + + + + + KEYCODE_9 + + + + + KEYCODE_F2 + + + + + KEYCODE_1 + + + + + + + + + + + + + + diff --git a/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/lightgun.xml b/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/lightgun.xml index 8997f09422e3ad35917d0c1fb648716f7b857039..aa45b6c3feb4551f049afd1a5f189677bd6b9ef9 100644 --- a/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/lightgun.xml +++ b/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/lightgun.xml @@ -837,6 +837,7 @@ diff --git a/board/recalbox/x86/patches/libretro-mame0277/disable-asmjit.patch b/board/recalbox/x86/patches/libretro-mame0277/disable-asmjit.patch deleted file mode 100644 index 77e1c54968fbb38274fce02a109e09bf432153d2..0000000000000000000000000000000000000000 --- a/board/recalbox/x86/patches/libretro-mame0277/disable-asmjit.patch +++ /dev/null @@ -1,75 +0,0 @@ -From b4e1f5f1b50fd3402232dd0385cac021ba488db6 Mon Sep 17 00:00:00 2001 -From: Vas Crabb -Date: Thu, 1 May 2025 23:31:40 +1000 -Subject: [PATCH] Only link asmjit if native DRCs are built. - ---- - scripts/src/cpu.lua | 25 +++++++++++++------------ - scripts/src/main.lua | 2 +- - 2 files changed, 14 insertions(+), 13 deletions(-) - -diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua -index 65ebc2eacdb85..cb130e07527b8 100644 ---- a/scripts/src/cpu.lua -+++ b/scripts/src/cpu.lua -@@ -21,9 +21,10 @@ for i, v in ipairs(DRC_CPUS) do - break - end - end -+CPU_INCLUDE_DRC_NATIVE = CPU_INCLUDE_DRC and (not _OPTIONS["FORCE_DRC_C_BACKEND"]) and ((_OPTIONS["PLATFORM"] == "x86") or (_OPTIONS["PLATFORM"] == "arm64")) - - --if (CPU_INCLUDE_DRC) then -+if CPU_INCLUDE_DRC then - files { - MAME_DIR .. "src/devices/cpu/drcbec.cpp", - MAME_DIR .. "src/devices/cpu/drcbec.h", -@@ -41,16 +42,16 @@ if (CPU_INCLUDE_DRC) then - MAME_DIR .. "src/devices/cpu/x86log.h", - MAME_DIR .. "src/devices/cpu/drcumlsh.h", - } -- if (not _OPTIONS["FORCE_DRC_C_BACKEND"]) and ((_OPTIONS["PLATFORM"] == "x86") or (_OPTIONS["PLATFORM"] == "arm64")) then -- files { -- MAME_DIR .. "src/devices/cpu/drcbearm64.cpp", -- MAME_DIR .. "src/devices/cpu/drcbearm64.h", -- MAME_DIR .. "src/devices/cpu/drcbex64.cpp", -- MAME_DIR .. "src/devices/cpu/drcbex64.h", -- MAME_DIR .. "src/devices/cpu/drcbex86.cpp", -- MAME_DIR .. "src/devices/cpu/drcbex86.h", -- } -- end -+end -+if CPU_INCLUDE_DRC_NATIVE then -+ files { -+ MAME_DIR .. "src/devices/cpu/drcbearm64.cpp", -+ MAME_DIR .. "src/devices/cpu/drcbearm64.h", -+ MAME_DIR .. "src/devices/cpu/drcbex64.cpp", -+ MAME_DIR .. "src/devices/cpu/drcbex64.h", -+ MAME_DIR .. "src/devices/cpu/drcbex86.cpp", -+ MAME_DIR .. "src/devices/cpu/drcbex86.h", -+ } - end - - -------------------------------------------------- -@@ -1295,7 +1296,7 @@ end - -- Beware that opt_tool can set the value, so we want both to be executed always - local want_disasm_i86 = opt_tool(CPUS, "I86") - local want_disasm_i386 = opt_tool(CPUS, "I386") --if want_disasm_i86 or want_disasm_i386 or CPU_INCLUDE_DRC then -+if want_disasm_i86 or want_disasm_i386 or CPU_INCLUDE_DRC_NATIVE then - table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i386/i386dasm.cpp") - table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i386/i386dasm.h") - end -diff --git a/scripts/src/main.lua b/scripts/src/main.lua -index d5f94bb60bdac..7b1971d0da18d 100644 ---- a/scripts/src/main.lua -+++ b/scripts/src/main.lua -@@ -151,7 +151,7 @@ end - ext_lib("jpeg"), - "7z", - } --if not _OPTIONS["FORCE_DRC_C_BACKEND"] then -+if CPU_INCLUDE_DRC_NATIVE then - links { - "asmjit", - } diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index ff2657a2e9dcf01d2160ff97b2f82232803c7554..413439d1b05746706ba71ba60ec7e3c21a358111 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -26,9 +26,18 @@ class LibretroCores: def configureMAME2003plus(coreSettings: keyValueSettings): coreSettings.setString("mame2003-plus_analog", '"digital"') - @staticmethod - def configureMAME(coreSettings: keyValueSettings): + def configureMAME(self, coreSettings: keyValueSettings): coreSettings.setString("mame_read_config", '"enabled"') + coreSettings.setString("mame_mouse_enable", '"enabled"') + import shutil + import configgen.recalboxFiles as recalboxFiles + from pathlib import Path + Path(recalboxFiles.mameConfigFolder).mkdir(parents=True, exist_ok=True) + if self.system.CRTAdapter == CRTAdapter.RECALBOXRGBJAMMA: + mameControllerSettings = "/jamma.cfg" + else: + mameControllerSettings = "/keyboard.cfg" + shutil.copyfile(recalboxFiles.mameDefaultFolder + mameControllerSettings, recalboxFiles.mameSettingsFile) @staticmethod def configureOpera(coreSettings: keyValueSettings): @@ -406,7 +415,9 @@ class LibretroCores: "bluemsx" : LibretroCores.configureBlueMSX, "dolphin": LibretroCores.configureDolphin, "mame2003_plus": LibretroCores.configureMAME2003plus, - "mame": LibretroCores.configureMAME, + "mame": self.configureMAME, + "mame0258": self.configureMAME, + "mame0278": self.configureMAME, "mupen64plus_nx" : LibretroCores.configureMUPEN64, "opera": LibretroCores.configureOpera, "parallel_n64": LibretroCores.configurePARALLELN64, diff --git a/projects/configgen/configgen/recalboxFiles.py b/projects/configgen/configgen/recalboxFiles.py index 6eea5d7191c7fc8b4b26e828587fc0f7f1024852..26cbd98242b1d22f658cc6f2fa53483908a14327 100644 --- a/projects/configgen/configgen/recalboxFiles.py +++ b/projects/configgen/configgen/recalboxFiles.py @@ -176,3 +176,7 @@ xemuConfig = CONF + '/xemu/xemu.toml' vpinballRootFolder = CONF + '/vpinball' vpinballConfigFile = vpinballRootFolder + '/VPinballX-configgen.ini' + +mameDefaultFolder = SAVES_INIT + '/mame/mame/cfg' +mameConfigFolder = SAVES + '/mame/mame/cfg' +mameSettingsFile = mameConfigFolder + '/default.cfg'