diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml
index 31f064bc..eaad130c 100644
--- a/es-configs/es_systems.xml
+++ b/es-configs/es_systems.xml
@@ -81,19 +81,19 @@
android
android
-
+
%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/apple2 apple2e -flop1 %ROM%
apple2
apple2
--->
+
apple2gs
Apple IIGS
@@ -125,7 +125,7 @@
arcade
arcade
-
+
arduboy
Arduboy Miniature Game System
@@ -204,7 +204,7 @@
%ROMPATH%/atarijaguar
.abs .ABS .bin .BIN .cdi .CDI .cof .COF .cue .CUE .j64 .J64 .jag .JAG .prg .PRG .rom .ROM .7z .7Z .zip .ZIP
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/virtualjaguar_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/atarijaguar jaguar -cart %ROM%
atarijaguar, atarijaguarcd
atarijaguar
@@ -258,7 +258,7 @@
arcade
atomiswave
-
+
c64
Commodore 64
@@ -330,7 +330,7 @@
channelf
channelf
-
+
colecovision
Coleco ColecoVision
@@ -363,7 +363,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/cps %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%
@@ -382,7 +382,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/cps1 %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%
@@ -399,7 +399,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/cps2 %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%
@@ -416,7 +416,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/cps3 %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%
@@ -424,7 +424,7 @@
arcade
cps3
-
+
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gameandwatch %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM%
gameandwatch
gameandwatch
-
+
gamegear
Sega Game Gear
@@ -723,7 +723,7 @@
genesis
genesis
-
+
gx4000
Amstrad GX4000
@@ -741,7 +741,7 @@
.bin .BIN .cdt .CDT .cpr .CPR .dsk .DSK .kcr .KCR .m3u .M3U .sna .SNA .tap .TAR .voc .VOC .7z .7Z .zip .ZIP
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/cap32_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/crocods_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gx4000 gx4000 -cart %ROM%
gx4000
gx4000
@@ -780,7 +780,7 @@
%ROMPATH%/lcdgames
.mgw .MGW .7z .7Z .zip .ZIP
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/lcdgames %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM%
lcdgames, gameandwatch
lcdgames
@@ -814,7 +814,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2010_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2003_plus_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame2000_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/mame %BASENAME%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM%
@@ -923,7 +923,7 @@
%ROMPATH%/model2
.7z .7Z .zip .ZIP
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/model2 %BASENAME%
arcade
model2
@@ -1103,7 +1103,7 @@
.7z .7Z .zip .ZIP
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/neogeo %BASENAME%
neogeo
neogeo
@@ -1115,7 +1115,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%
%EMULATOR_RETROARCH% --subsystem neocd -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/neogeocd neocdz -cdrm %ROM%
neogeocd
neogeocd
@@ -1127,7 +1127,7 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/neocd_libretro.so %ROM%
%EMULATOR_RETROARCH% --subsystem neocd -L %CORE_RETROARCH%/fbneo_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/neogeocdjp neocdz -cdrm %ROM%
neogeocd
neogeocdjp
@@ -1362,7 +1362,7 @@
psx
psx
-
+
quake
Quake
@@ -1451,7 +1451,7 @@
scummvm
scummvm
-
+
sega32x
Sega Mega Drive 32X
@@ -1705,7 +1705,7 @@
pcenginecd
tg-cd
-
+
tic80
TIC-80 Game Engine
@@ -1805,7 +1805,7 @@
vpinball
-->
-
+
wasm4
WASM-4 Fantasy Console
@@ -1882,7 +1882,7 @@
%ROMPATH%/x68000
.dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%
-
+ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/x68000 x68000 -flop1 %ROM%
x68000
x68000
diff --git a/functions/prepare_emulator.sh b/functions/prepare_emulator.sh
index e4fdfe82..2eb1afa2 100644
--- a/functions/prepare_emulator.sh
+++ b/functions/prepare_emulator.sh
@@ -702,6 +702,18 @@ prepare_emulator() {
fi
+ if [[ "$emulator" =~ ^(mame|MAME|all)$ ]]; then
+ # TODO: do a proper script
+ # This is just a placeholder script to test the emulator's flow
+ echo "----------------------"
+ echo "Initializing MAME"
+ echo "----------------------"
+
+ mkdir -p "/var/config/mame"
+ mkdir -p "$emuconfigs/mame/**" "/var/config/mame"
+
+ fi
+
# Update presets for all emulators after any reset or move
if [[ ! "$emulator" == "retrodeck" ]]; then
build_retrodeck_current_presets
diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml
index d642cbc5..c700fbce 100644
--- a/net.retrodeck.retrodeck.yml
+++ b/net.retrodeck.retrodeck.yml
@@ -1262,6 +1262,27 @@ modules:
# Vita3K - END
+ # MAME - Start
+ # https://sdlmame.wallyweek.org/download/
+
+ - name: mame
+ buildsystem: simple
+ build-commands:
+ - ar xv mame*.deb
+ - tar xvf control.tar.zst
+ - tar xvf data.tar.zst
+ - cp -r etc ${FLATPAK_DEST}
+ - cp -r usr ${FLATPAK_DEST}
+ - mkdir -p ${FLATPAK_DEST}/bin
+ - ln -s ${FLATPAK_DEST}/usr/games/mame ${FLATPAK_DEST}/bin/mame
+ - chmod +x ${FLATPAK_DEST}/bin/mame
+ sources:
+ - type: file
+ url: "https://launchpad.net/~c.falco/+archive/mame/+files/mame_0.258+dfsg.1-0ubuntu1~ppa1~lunar1_amd64.deb"
+ sha256: f464a000b286cccc78b3792909edcbdda0f4c8315532f75a108eb07752bc805f
+
+ # MAME - End
+
# External manifests end
- name: retrodeck
@@ -1322,4 +1343,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
- branch: THISBRANCH
+ branch: THISBRANCH
\ No newline at end of file
diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch
index 0b1cfb79..717b7809 160000
--- a/rd-submodules/retroarch
+++ b/rd-submodules/retroarch
@@ -1 +1 @@
-Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409
+Subproject commit 717b78093797270877ec416e58082f1c71d435d8
diff --git a/tools/configurator.sh b/tools/configurator.sh
index 5e826176..eae26a36 100644
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -29,6 +29,7 @@ source /app/libexec/global.sh
# - Citra
# - Dolphin
# - Duckstation
+# - MAME
# - MelonDS
# - PCSX2
# - PPSSPP
@@ -436,6 +437,7 @@ configurator_open_emulator_dialog() {
"Citra" "Open the N3DS emulator Citra" \
"Dolphin" "Open the Wii & GC emulator Dolphin" \
"Duckstation" "Open the PSX emulator Duckstation" \
+ "MAME" "Open the Multiple Arcade Machine Emulator emulator MAME" \
"MelonDS" "Open the NDS emulator MelonDS" \
"PCSX2" "Open the PS2 emulator PSXC2" \
"PPSSPP" "Open the PSP emulator PPSSPP" \
@@ -468,6 +470,10 @@ configurator_open_emulator_dialog() {
duckstation-qt
;;
+ "MAME" )
+ mame
+ ;;
+
"MelonDS" )
melonDS
;;