mirror of
https://github.com/RetroPie/RetroPie-Setup.git
synced 2025-04-02 10:51:41 -04:00
93 lines
2.9 KiB
Bash
93 lines
2.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# This file is part of The RetroPie Project
|
|
#
|
|
# The RetroPie Project is the legal property of its developers, whose names are
|
|
# too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
|
|
#
|
|
# See the LICENSE.md file at the top-level directory of this distribution and
|
|
# at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
|
|
#
|
|
|
|
rp_module_id="mame4all"
|
|
rp_module_desc="MAME emulator MAME4All-Pi"
|
|
rp_module_help="ROM Extension: .zip\n\nCopy your MAME4all-Pi roms to either $romdir/mame-mame4all or\n$romdir/arcade"
|
|
rp_module_licence="NONCOM https://raw.githubusercontent.com/RetroPie/mame4all-pi/master/readme.txt"
|
|
rp_module_repo="git https://github.com/RetroPie/mame4all-pi.git master"
|
|
rp_module_section="opt armv6=main"
|
|
rp_module_flags="!all videocore"
|
|
|
|
function depends_mame4all() {
|
|
getDepends libasound2-dev libsdl1.2-dev libraspberrypi-dev
|
|
}
|
|
|
|
function sources_mame4all() {
|
|
gitPullOrClone
|
|
}
|
|
|
|
function build_mame4all() {
|
|
make clean
|
|
# drz80 contains obsoleted arm assembler that gcc/as will not like for arm8 cpu targets
|
|
if isPlatform "armv8"; then
|
|
CFLAGS="-O2 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard" make
|
|
else
|
|
make
|
|
fi
|
|
md_ret_require="$md_build/mame"
|
|
}
|
|
|
|
function install_mame4all() {
|
|
md_ret_files=(
|
|
'cheat.dat'
|
|
'clrmame.dat'
|
|
'folders'
|
|
'hiscore.dat'
|
|
'mame'
|
|
'mame.cfg.template'
|
|
'readme.txt'
|
|
'skins'
|
|
)
|
|
}
|
|
|
|
function configure_mame4all() {
|
|
local system="mame-mame4all"
|
|
mkRomDir "arcade"
|
|
mkRomDir "$system"
|
|
mkRomDir "$system/artwork"
|
|
mkRomDir "$system/samples"
|
|
|
|
if [[ "$md_mode" == "install" ]]; then
|
|
mkdir -p "$md_conf_root/$system/"{cfg,hi,inp,memcard,nvram,snap,sta}
|
|
|
|
# move old config
|
|
moveConfigFile "$md_inst/mame.cfg" "$md_conf_root/$system/mame.cfg"
|
|
|
|
local config="$(mktemp)"
|
|
cp "mame.cfg.template" "$config"
|
|
|
|
iniConfig "=" "" "$config"
|
|
iniSet "cfg" "$md_conf_root/$system/cfg"
|
|
iniSet "hi" "$md_conf_root/$system/hi"
|
|
iniSet "inp" "$md_conf_root/$system/inp"
|
|
iniSet "memcard" "$md_conf_root/$system/memcard"
|
|
iniSet "nvram" "$md_conf_root/$system/nvram"
|
|
iniSet "snap" "$md_conf_root/$system/snap"
|
|
iniSet "sta" "$md_conf_root/$system/sta"
|
|
|
|
iniSet "artwork" "$romdir/$system/artwork"
|
|
iniSet "samplepath" "$romdir/$system/samples;$romdir/arcade/samples"
|
|
iniSet "rompath" "$romdir/$system;$romdir/arcade"
|
|
|
|
iniSet "samplerate" "44100"
|
|
|
|
copyDefaultConfig "$config" "$md_conf_root/$system/mame.cfg"
|
|
rm "$config"
|
|
|
|
chown -R "$__user":"$__group" "$md_conf_root/$system"
|
|
fi
|
|
|
|
addEmulator 0 "$md_id" "arcade" "$md_inst/mame %BASENAME%"
|
|
addEmulator 1 "$md_id" "$system" "$md_inst/mame %BASENAME%"
|
|
addSystem "arcade"
|
|
addSystem "$system"
|
|
}
|