diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 98ca2881b393c180986a9dc4045edfa38377b130..8b6bd451168a98fabaed1a9a1ad1b2082baad53e 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -45,6 +45,9 @@ as release notes for end user on a Recalbox upgrade. - all external storages are now shared on the network (was only first USB key before) - Force analog mode on Naomi, Naomi GD and Naomi 2 - Add rumble option in frontend +- Libretro-mame + - Support Hiscore + - Acces to service mode for rgb jamma ### Fixes - Fix hidden and/or empty being shown after some user operations 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 58f17e3fe24b688393f9bb1594145f5e85605dde..d8c365bd6e1f9a6d618cbbfa0a521859ff857617 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 @@ -8,6 +8,11 @@ KEYCODE_1 + + + JOYCODE_1_BUTTON10 OR KEYCODE_F2 + + diff --git a/package/libretro-mame/0001-libretro-mame-fix-hiscore.patch b/package/libretro-mame/0001-libretro-mame-fix-hiscore.patch new file mode 100644 index 0000000000000000000000000000000000000000..a75473d193229c48060aa64b9c8ee429e2801d39 --- /dev/null +++ b/package/libretro-mame/0001-libretro-mame-fix-hiscore.patch @@ -0,0 +1,70 @@ +--- a/src/osd/libretro/libretro-internal/retro_init.cpp 2023-09-01 22:04:24.000000000 +0200 ++++ b/src/osd/libretro/libretro-internal/retro_init.cpp 2024-11-30 10:09:19.934062131 +0100 +@@ -112,10 +112,11 @@ + "artwork", + "cheat", + "hash", ++ "samples", ++ "", ++ + "ini", + "plugins", +- "samples", +- "" + }; + + static const char *opt_name[NB_OPTPATH] = +@@ -130,17 +131,19 @@ + "-artpath", + "-cheatpath", + "-hashpath", ++ "-samplepath", ++ "-homepath", ++ + "-inipath", + "-pluginspath", +- "-samplepath", +- "-homepath" + }; + + int opt_type[NB_OPTPATH] = + { + // 0 for save_dir | 1 for system_dir + 0,0,0,0,0,0, +- 1,1,1,1,1,1,1 ++ 1,1,1,1,1, ++ 2,2 + }; + + //============================================================ +@@ -557,12 +560,18 @@ + (retro_save_directory) ? retro_save_directory : ".", + slash, CORE_NAME, slash, dir_name[i]); + } +- else ++ else if (opt_type[i] == 1) + { + snprintf(tmp_dir, sizeof(tmp_dir), "%s%c%s%c%s", + (retro_system_directory) ? retro_system_directory : ".", + slash, CORE_NAME, slash, dir_name[i]); + } ++ else ++ { ++ snprintf(tmp_dir, sizeof(tmp_dir), "%s%c%s%c%s", ++ "/usr/share/libretro-mame", ++ slash, CORE_NAME, slash, dir_name[i]); ++ } + + Add_Option((char*)(tmp_dir)); + } +--- a/plugins/hiscore/init.lua 2024-11-30 10:30:32.995226354 +0100 ++++ b/plugins/hiscore/init.lua 2024-11-30 10:31:46.058475171 +0100 +@@ -24,7 +24,7 @@ + function hiscore.startplugin() + + local function get_data_path() +- return manager.machine.options.entries.homepath:value():match('([^;]+)') .. '/hiscore' ++ return '/recalbox/share/saves/mame/mame/hiscore' + end + + -- configuration diff --git a/package/libretro-mame/libretro-mame.mk b/package/libretro-mame/libretro-mame.mk index 416172d7dc75992ea4b7b96b3db5e0696122fc4a..e991507acad34bc0b8dff2b3c3b770433ecaf24d 100644 --- a/package/libretro-mame/libretro-mame.mk +++ b/package/libretro-mame/libretro-mame.mk @@ -78,4 +78,15 @@ define LIBRETRO_MAME_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/recalbox/share_upgrade/bios/mame/samples endef +define LIBRETRO_MAME_HISCORE + mkdir -p $(TARGET_DIR)/usr/share/libretro-mame/mame/ini + mkdir -p $(TARGET_DIR)/usr/share/libretro-mame/mame/plugins + cp -r $(@D)/plugins/* \ + $(TARGET_DIR)/usr/share/libretro-mame/mame/plugins + cp $(LIBRETRO_MAME_PKGDIR)/plugin.ini \ + $(TARGET_DIR)/usr/share/libretro-mame/mame/ini/ +endef + +LIBRETRO_MAME_POST_INSTALL_TARGET_HOOKS += LIBRETRO_MAME_HISCORE + $(eval $(generic-package)) diff --git a/package/libretro-mame/plugin.ini b/package/libretro-mame/plugin.ini new file mode 100644 index 0000000000000000000000000000000000000000..f1ebf315064d741545d00a7a59947f16ae6e103f --- /dev/null +++ b/package/libretro-mame/plugin.ini @@ -0,0 +1,5 @@ +# +# PLUGINS OPTIONS +# +data 1 +hiscore 1 diff --git a/projects/configgen/configgen/generators/libretro/libretroCores.py b/projects/configgen/configgen/generators/libretro/libretroCores.py index 79b2bc5dfd8a45a40a559ed1c1816d9092fda377..9ad2803039e6654bfee146a0b51dfe9f4240cbb2 100644 --- a/projects/configgen/configgen/generators/libretro/libretroCores.py +++ b/projects/configgen/configgen/generators/libretro/libretroCores.py @@ -26,6 +26,10 @@ class LibretroCores: def configureMAME2003plus(coreSettings: keyValueSettings): coreSettings.setString("mame2003-plus_analog", '"digital"') + @staticmethod + def configureMAME(coreSettings: keyValueSettings): + coreSettings.setString("mame_read_config", '"enabled"') + @staticmethod def configureOpera(coreSettings: keyValueSettings): coreSettings.setString("opera_dsp_threaded", '"enabled"') @@ -280,6 +284,7 @@ class LibretroCores: { "bluemsx" : LibretroCores.configureBlueMSX, "mame2003_plus": LibretroCores.configureMAME2003plus, + "mame": LibretroCores.configureMAME, "mupen64plus_nx" : LibretroCores.configureMUPEN64, "opera": LibretroCores.configureOpera, "parallel_n64": LibretroCores.configurePARALLELN64,