From 00940d3b0fcbd98c0f6356800e5b38fe32b2df23 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Wed, 27 Aug 2025 17:36:31 +0200 Subject: [PATCH 01/10] fix: test bouton on mame for rgb jamma --- .../fsoverlay/etc/init.d/S12populateshare | 3 ++- .../saves/mame/mame/cfg/default.cfg | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/board/recalbox/fsoverlay/etc/init.d/S12populateshare b/board/recalbox/fsoverlay/etc/init.d/S12populateshare index d9e7330e7e..307ecd1ec5 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 index fbcd08ccf2..cc85ea29d9 100755 --- 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 @@ -1,18 +1,27 @@ - + - + - KEYCODE_1 + JOYCODE_1_BUTTON9 OR KEYCODE_F2 - + - JOYCODE_1_BUTTON9 OR KEYCODE_F2 + KEYCODE_1 + + + + + + + + + -- GitLab From 28e6d49e9bbe25459e37a2838ef4add5a5d8ad86 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Fri, 19 Sep 2025 21:05:08 +0200 Subject: [PATCH 02/10] fix: read configuration for mame --- .../configgen/configgen/generators/libretro/libretroCores.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index ff2657a2e9..dcf87202c4 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -407,6 +407,8 @@ class LibretroCores: "dolphin": LibretroCores.configureDolphin, "mame2003_plus": LibretroCores.configureMAME2003plus, "mame": LibretroCores.configureMAME, + "mame0258": LibretroCores.configureMAME, + "mame0278": LibretroCores.configureMAME, "mupen64plus_nx" : LibretroCores.configureMUPEN64, "opera": LibretroCores.configureOpera, "parallel_n64": LibretroCores.configurePARALLELN64, -- GitLab From 8e4275edc9acc2ab9cdcd3ac32990c5169ffe7c8 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Mon, 29 Sep 2025 09:54:35 +0200 Subject: [PATCH 03/10] fix: add service bouton --- .../recalbox/share_init/saves/mame/mame/cfg/default.cfg | 5 +++++ 1 file changed, 5 insertions(+) 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 index cc85ea29d9..6336a8f11f 100755 --- 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 @@ -3,6 +3,11 @@ + + + JOYCODE_1_BUTTON10 OR KEYCODE_9 + + JOYCODE_1_BUTTON9 OR KEYCODE_F2 -- GitLab From 689c781c56f423c80ebadd7da726530e581c5a4b Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Mon, 29 Sep 2025 16:36:22 +0200 Subject: [PATCH 04/10] fix: add specific mame config for jamma --- .../mame/mame/cfg/{default.cfg => jamma.cfg} | 4 +-- .../saves/mame/mame/cfg/keyboard.cfg | 32 +++++++++++++++++++ .../system/.emulationstation/lightgun.xml | 1 + .../generators/libretro/libretroCores.py | 8 ++++- projects/configgen/configgen/recalboxFiles.py | 5 +++ 5 files changed, 47 insertions(+), 3 deletions(-) rename board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/{default.cfg => jamma.cfg} (90%) mode change 100755 => 100644 create mode 100755 board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/keyboard.cfg 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/jamma.cfg old mode 100755 new mode 100644 similarity index 90% rename from board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/default.cfg rename to board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/jamma.cfg index 6336a8f11f..54d98c54fa --- a/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/default.cfg +++ b/board/recalbox/fsoverlay/recalbox/share_init/saves/mame/mame/cfg/jamma.cfg @@ -5,12 +5,12 @@ - JOYCODE_1_BUTTON10 OR KEYCODE_9 + JOYCODE_1_BUTTON10 - JOYCODE_1_BUTTON9 OR KEYCODE_F2 + JOYCODE_1_BUTTON9 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 0000000000..f46f909c6f --- /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 8997f09422..aa45b6c3fe 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/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index dcf87202c4..7b27dd9d06 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -27,8 +27,14 @@ class LibretroCores: coreSettings.setString("mame2003-plus_analog", '"digital"') @staticmethod - def configureMAME(coreSettings: keyValueSettings): + def configureMAME(self, coreSettings: keyValueSettings): coreSettings.setString("mame_read_config", '"enabled"') + import shutil + import configgen.recalboxFiles as recalboxFiles + if self.system.CRTAdapter == CRTAdapter.RECALBOXRGBJAMMA: + shutil.copyfile(recalboxFiles.mameDefaultFileJamma, recalboxFiles.mameDefaultFile) + else: + shutil.copyfile(recalboxFiles.mameDefaultFileKeyboard, recalboxFiles.mameDefaultFile) @staticmethod def configureOpera(coreSettings: keyValueSettings): diff --git a/projects/configgen/configgen/recalboxFiles.py b/projects/configgen/configgen/recalboxFiles.py index 6eea5d7191..a97eaa85c0 100644 --- a/projects/configgen/configgen/recalboxFiles.py +++ b/projects/configgen/configgen/recalboxFiles.py @@ -176,3 +176,8 @@ xemuConfig = CONF + '/xemu/xemu.toml' vpinballRootFolder = CONF + '/vpinball' vpinballConfigFile = vpinballRootFolder + '/VPinballX-configgen.ini' + +mameConfigFolder = SAVES + '/mame/mame/cfg' +mameDefaultFile = mameConfigFolder + 'default.cfg' +mameDefaultFileJamma = mameConfigFolder + 'jamma.cfg' +mameDefaultFileKeyboard = mameConfigFolder + 'keyboard.cfg' -- GitLab From 7b9c358f975cccaf829bdf77b5dace5efc2bb6fb Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Mon, 29 Sep 2025 16:49:50 +0200 Subject: [PATCH 05/10] fix: configure mame --- .../configgen/generators/libretro/libretroCores.py | 7 +++---- projects/configgen/configgen/recalboxFiles.py | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index 7b27dd9d06..abd1c11acb 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -26,7 +26,6 @@ class LibretroCores: def configureMAME2003plus(coreSettings: keyValueSettings): coreSettings.setString("mame2003-plus_analog", '"digital"') - @staticmethod def configureMAME(self, coreSettings: keyValueSettings): coreSettings.setString("mame_read_config", '"enabled"') import shutil @@ -412,9 +411,9 @@ class LibretroCores: "bluemsx" : LibretroCores.configureBlueMSX, "dolphin": LibretroCores.configureDolphin, "mame2003_plus": LibretroCores.configureMAME2003plus, - "mame": LibretroCores.configureMAME, - "mame0258": LibretroCores.configureMAME, - "mame0278": 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 a97eaa85c0..c6962bbbdf 100644 --- a/projects/configgen/configgen/recalboxFiles.py +++ b/projects/configgen/configgen/recalboxFiles.py @@ -177,7 +177,7 @@ xemuConfig = CONF + '/xemu/xemu.toml' vpinballRootFolder = CONF + '/vpinball' vpinballConfigFile = vpinballRootFolder + '/VPinballX-configgen.ini' -mameConfigFolder = SAVES + '/mame/mame/cfg' +mameConfigFolder = SAVES + '/mame/mame/cfg/' mameDefaultFile = mameConfigFolder + 'default.cfg' mameDefaultFileJamma = mameConfigFolder + 'jamma.cfg' mameDefaultFileKeyboard = mameConfigFolder + 'keyboard.cfg' -- GitLab From 56fecb7cdb8b1208b1c8e1ec21903df71779aa3f Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Tue, 30 Sep 2025 18:37:28 +0200 Subject: [PATCH 06/10] fix: configure mame with jamma --- .../recalbox/share_init/saves/mame/mame/cfg/jamma.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index 54d98c54fa..6336a8f11f 100644 --- 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 @@ -5,12 +5,12 @@ - JOYCODE_1_BUTTON10 + JOYCODE_1_BUTTON10 OR KEYCODE_9 - JOYCODE_1_BUTTON9 + JOYCODE_1_BUTTON9 OR KEYCODE_F2 -- GitLab From edb3e1f18b66a6e01b58a441ee76e86eba21f2b0 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Tue, 30 Sep 2025 20:07:19 +0200 Subject: [PATCH 07/10] fix: enable mouse --- .../configgen/configgen/generators/libretro/libretroCores.py | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index abd1c11acb..08df49c29b 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -28,6 +28,7 @@ class LibretroCores: def configureMAME(self, coreSettings: keyValueSettings): coreSettings.setString("mame_read_config", '"enabled"') + coreSettings.setString("mame_mouse_enable", '"enabled"') import shutil import configgen.recalboxFiles as recalboxFiles if self.system.CRTAdapter == CRTAdapter.RECALBOXRGBJAMMA: -- GitLab From d6da1777e0af94e2eeb1d9325c01fb5d5c8d5bbb Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Wed, 1 Oct 2025 19:07:21 +0200 Subject: [PATCH 08/10] fix: remove old patch --- .../libretro-mame0277/disable-asmjit.patch | 75 ------------------- 1 file changed, 75 deletions(-) delete mode 100644 board/recalbox/x86/patches/libretro-mame0277/disable-asmjit.patch 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 77e1c54968..0000000000 --- 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", - } -- GitLab From 1ebb20fa118147f128ddc0d47b34796138dead89 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Fri, 10 Oct 2025 18:46:27 +0200 Subject: [PATCH 09/10] fix: copy settings for mame --- .../configgen/configgen/generators/libretro/libretroCores.py | 5 +++-- projects/configgen/configgen/recalboxFiles.py | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index 08df49c29b..bcd7b59f07 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -32,9 +32,10 @@ class LibretroCores: import shutil import configgen.recalboxFiles as recalboxFiles if self.system.CRTAdapter == CRTAdapter.RECALBOXRGBJAMMA: - shutil.copyfile(recalboxFiles.mameDefaultFileJamma, recalboxFiles.mameDefaultFile) + mameControllerSettings = "/jamma.cfg" else: - shutil.copyfile(recalboxFiles.mameDefaultFileKeyboard, recalboxFiles.mameDefaultFile) + mameControllerSettings = "/keyboard.cfg" + shutil.copyfile(recalboxFiles.mameDefaultFolder + mameControllerSettings, recalboxFiles.mameSettingsFile) @staticmethod def configureOpera(coreSettings: keyValueSettings): diff --git a/projects/configgen/configgen/recalboxFiles.py b/projects/configgen/configgen/recalboxFiles.py index c6962bbbdf..401f437127 100644 --- a/projects/configgen/configgen/recalboxFiles.py +++ b/projects/configgen/configgen/recalboxFiles.py @@ -177,7 +177,6 @@ xemuConfig = CONF + '/xemu/xemu.toml' vpinballRootFolder = CONF + '/vpinball' vpinballConfigFile = vpinballRootFolder + '/VPinballX-configgen.ini' +mameDefaultFolder = SAVES_INIT + '/mame/mame/cfg/' mameConfigFolder = SAVES + '/mame/mame/cfg/' -mameDefaultFile = mameConfigFolder + 'default.cfg' -mameDefaultFileJamma = mameConfigFolder + 'jamma.cfg' -mameDefaultFileKeyboard = mameConfigFolder + 'keyboard.cfg' +mameSettingsFile = mameConfigFolder + 'default.cfg' -- GitLab From 7df722b03b9d231b751230b1d2e08c9916fa28f4 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Mon, 20 Oct 2025 09:02:32 +0200 Subject: [PATCH 10/10] fix: force create mame cfg --- .../configgen/generators/libretro/libretroCores.py | 2 ++ projects/configgen/configgen/recalboxFiles.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index bcd7b59f07..413439d1b0 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -31,6 +31,8 @@ class LibretroCores: 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: diff --git a/projects/configgen/configgen/recalboxFiles.py b/projects/configgen/configgen/recalboxFiles.py index 401f437127..26cbd98242 100644 --- a/projects/configgen/configgen/recalboxFiles.py +++ b/projects/configgen/configgen/recalboxFiles.py @@ -177,6 +177,6 @@ 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' +mameDefaultFolder = SAVES_INIT + '/mame/mame/cfg' +mameConfigFolder = SAVES + '/mame/mame/cfg' +mameSettingsFile = mameConfigFolder + '/default.cfg' -- GitLab