mirror of
https://github.com/RetroPie/RetroPie-Setup.git
synced 2025-04-02 10:51:41 -04:00
104 lines
3.3 KiB
Bash
104 lines
3.3 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="uae4all"
|
|
rp_module_desc="Amiga emulator UAE4All"
|
|
rp_module_help="ROM Extension: .adf\n\nCopy your Amiga games to $romdir/amiga\n\nCopy the required BIOS files\nkick13.rom\nkick20.rom\nkick31.rom\nto $biosdir/amiga"
|
|
rp_module_licence="GPL2 https://raw.githubusercontent.com/RetroPie/uae4all2/retropie/copying"
|
|
rp_module_repo="git https://github.com/RetroPie/uae4all2.git retropie"
|
|
rp_module_section="opt"
|
|
rp_module_flags="sdl1 !all videocore"
|
|
|
|
function depends_uae4all() {
|
|
getDepends libsdl1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-ttf2.0-dev
|
|
}
|
|
|
|
function sources_uae4all() {
|
|
gitPullOrClone
|
|
mkdir guichan
|
|
downloadAndExtract "$__archive_url/guichan-0.8.2.tar.gz" "$md_build/guichan" --strip-components 1
|
|
cd guichan
|
|
# fix from https://github.com/sphaero/guichan
|
|
applyPatch "$md_data/01_guichan.diff"
|
|
}
|
|
|
|
function build_uae4all() {
|
|
pushd guichan
|
|
make clean
|
|
./configure --enable-sdlimage --enable-sdl --disable-allegro --disable-opengl --disable-shared
|
|
make
|
|
popd
|
|
make -f Makefile.pi clean
|
|
if isPlatform "neon"; then
|
|
make -f Makefile.pi NEON=1 DEFS="-DUSE_ARMV7 -DUSE_ARMNEON"
|
|
else
|
|
make -f Makefile.pi
|
|
fi
|
|
md_ret_require="$md_build/uae4all"
|
|
}
|
|
|
|
function install_uae4all() {
|
|
unzip -o "AndroidData/guichan26032014.zip" -d "$md_inst" "data/*"
|
|
unzip -o "AndroidData/data.zip" -d "$md_inst" "data/*"
|
|
md_ret_files=(
|
|
'copying'
|
|
'uae4all'
|
|
'Readme.txt'
|
|
'AndroidData/aros20140110.zip'
|
|
)
|
|
rm -rf "$md_inst/"{blankdisks,roms,conf,customconf,saves}
|
|
}
|
|
|
|
function configure_uae4all() {
|
|
mkRomDir "amiga"
|
|
|
|
mkUserDir "$md_conf_root/amiga"
|
|
mkUserDir "$md_conf_root/amiga/$md_id"
|
|
|
|
# move config / save folders to $md_conf_root/amiga/$md_id
|
|
local dir
|
|
for dir in blankdisks conf customconf saves screenshots; do
|
|
moveConfigDir "$md_inst/$dir" "$md_conf_root/amiga/$md_id/$dir"
|
|
done
|
|
|
|
# symlink rom dir
|
|
moveConfigDir "$md_inst/roms" "$romdir/amiga"
|
|
|
|
# and kickstart dir (removing old symlinks first)
|
|
if [[ ! -h "$md_inst/kickstarts" ]]; then
|
|
rm -f "$md_inst/kickstarts/"{kick12.rom,kick13.rom,kick20.rom,kick31.rom}
|
|
fi
|
|
moveConfigDir "$md_inst/kickstarts" "$biosdir/amiga"
|
|
|
|
rm -f "$romdir/amiga/+Start UAE4All.sh"
|
|
if [[ "$md_mode" == "install" ]]; then
|
|
if [[ ! -f "$biosdir/aros-amiga-m68k-ext.bin" ]]; then
|
|
# unpack aros kickstart
|
|
unzip -j "aros20140110.zip" -d "$biosdir/amiga"
|
|
fi
|
|
|
|
cat > "$romdir/amiga/+Start UAE4All.sh" << _EOF_
|
|
#!/bin/bash
|
|
pushd "$md_inst"
|
|
./uae4all
|
|
popd
|
|
_EOF_
|
|
chmod a+x "$romdir/amiga/+Start UAE4All.sh"
|
|
chown "$__user":"$__group" "$romdir/amiga/+Start UAE4All.sh"
|
|
|
|
isPlatform "dispmanx" && setBackend "$md_id" "dispmanx"
|
|
else
|
|
rm -f "$biosdir/aros-amiga-m68k"*
|
|
fi
|
|
|
|
addEmulator 1 "$md_id" "amiga" "bash $romdir/amiga/+Start\ UAE4All.sh"
|
|
addSystem "amiga"
|
|
}
|