|
|
@ -1,24 +1,30 @@ |
|
|
|
#!/bin/bash |
|
|
|
|
|
|
|
set -e |
|
|
|
set -u |
|
|
|
|
|
|
|
my_swiss_ver=r714 |
|
|
|
my_swiss_ver=r927 |
|
|
|
my_wwhack_ver=v1.1.1 |
|
|
|
my_gcmm_ver=1.4f |
|
|
|
my_gbi_ver=20191107 |
|
|
|
#my_gbi_ver=20191107 |
|
|
|
my_gbi_ver=latest |
|
|
|
my_sd_name=GC_HMBRW |
|
|
|
|
|
|
|
pushd ~/Downloads >/dev/null |
|
|
|
echo '' |
|
|
|
echo 'Creating ~/Downloads/GCBOOT' |
|
|
|
rm -rf ./GCBOOT |
|
|
|
mkdir -p ./GCBOOT/MCBackup |
|
|
|
echo "Creating ~/Downloads/${my_sd_name}" |
|
|
|
rm -rf ./"${my_sd_name}" |
|
|
|
mkdir -p ./"${my_sd_name}"/MCBACKUP/ |
|
|
|
|
|
|
|
echo '' |
|
|
|
echo 'Download and extract Swiss (Zip)...' |
|
|
|
rm -rf swiss* |
|
|
|
curl -fL https://github.com/solderjs/swiss-gc/releases/download/0.4r714/swiss_r714.zip -o swiss_r714.zip |
|
|
|
unzip -q swiss_r714.zip |
|
|
|
curl -fL https://github.com/coolaj86/swiss-gc/releases/download/v0.5${my_swiss_ver}/swiss_${my_swiss_ver}.zip \ |
|
|
|
-o swiss_${my_swiss_ver}.zip |
|
|
|
unzip -q swiss_${my_swiss_ver}.zip |
|
|
|
# Copy swiss as an auto-boot for SD Launcher (does nothing otherwise) |
|
|
|
rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./GCBOOT/ |
|
|
|
rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./GCBOOT/autoexec.dol |
|
|
|
rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./"${my_sd_name}"/ |
|
|
|
rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./"${my_sd_name}"/autoexec.dol |
|
|
|
|
|
|
|
echo '' |
|
|
|
echo 'Download and extract GCMM ...' |
|
|
@ -26,7 +32,7 @@ pushd ~/Downloads >/dev/null |
|
|
|
curl -fsSL https://github.com/suloku/gcmm/releases/download/${my_gcmm_ver}/gcmm_${my_gcmm_ver}.zip -o gcmm_${my_gcmm_ver}.zip |
|
|
|
unzip -q gcmm_${my_gcmm_ver}.zip |
|
|
|
# Copy GCMM as a bootable dol (which will be launched from Swiss) |
|
|
|
rsync -avP gcmm_${my_gcmm_ver}/gamecube/gcmm_14f.dol ./GCBOOT/ |
|
|
|
rsync -avP gcmm_${my_gcmm_ver}/gamecube/gcmm_*.dol ./"${my_sd_name}"/ |
|
|
|
|
|
|
|
echo '' |
|
|
|
echo 'Download and extract Wind Waker hacked game save' |
|
|
@ -38,26 +44,26 @@ pushd ~/Downloads >/dev/null |
|
|
|
unzip -q ../WWHack-GC-${my_wwhack_ver}.zip |
|
|
|
popd >/dev/null |
|
|
|
# Copy the hacked save file |
|
|
|
rsync -avP WWHack-GC-${my_wwhack_ver}/gzle.gci ./GCBOOT/MCBackup/ |
|
|
|
rsync -avP WWHack-GC-${my_wwhack_ver}/gzle.gci ./"${my_sd_name}"/MCBACKUP/ |
|
|
|
|
|
|
|
# Copy Swiss over as the bootable launcher |
|
|
|
rsync -avP swiss_${my_swiss_ver}/GCI/boot.gci ./GCBOOT/MCBackup/ |
|
|
|
rsync -avP swiss_${my_swiss_ver}/GCI/boot.gci ./"${my_sd_name}"/MCBACKUP/ |
|
|
|
|
|
|
|
echo '' |
|
|
|
echo 'Download and extract Game Boy Interface' |
|
|
|
rm -rf gbi* |
|
|
|
curl -fL https://github.com/solderjs/Game-Boy-Interface/releases/download/gbi-${my_gbi_ver}/gbi-${my_gbi_ver}.zip -o gbi-${my_gbi_ver}.zip |
|
|
|
curl -fL https://files.extremscorner.org/gamecube/apps/gbi/latest -o gbi-${my_gbi_ver}.zip |
|
|
|
mkdir -p gbi-${my_gbi_ver} |
|
|
|
pushd gbi-${my_gbi_ver} >/dev/null |
|
|
|
unzip -q ../gbi-${my_gbi_ver}.zip |
|
|
|
popd >/dev/null |
|
|
|
|
|
|
|
# Copy Game Boy Interface as bootable from swiss |
|
|
|
rsync -avP gbi-${my_gbi_ver}/gbi.dol ./GCBOOT/ |
|
|
|
echo -- '--zoom=2.875' > ./GCBOOT/gbi.cli |
|
|
|
rsync -avP gbi-${my_gbi_ver}/gbi.dol ./"${my_sd_name}"/ |
|
|
|
echo -- '--zoom=2.875' > ./"${my_sd_name}"/gbi.cli |
|
|
|
|
|
|
|
# OR you could boot directly to any dol software that has been converted to gci format |
|
|
|
# rsync -avP gbi-${my_gbi_ver}/MCBACKUP/gbi.gci ./GCBOOT/MCBackup/boot.gci |
|
|
|
rsync -avP gbi-${my_gbi_ver}/MCBACKUP/gbi.gci ./"${my_sd_name}"/MCBACKUP/ |
|
|
|
popd >/dev/null |
|
|
|
sleep 1 |
|
|
|
|
|
|
@ -66,10 +72,11 @@ diskutil list |
|
|
|
echo "!!! BE CAREFUL !!!" |
|
|
|
read -p "Which WHOLE DISK should be ERASED AND FORMATTED? (ex: /dev/disk8): " my_disk |
|
|
|
diskutil unmountDisk $my_disk |
|
|
|
sudo newfs_msdos -F 16 -v GCBOOT $my_disk |
|
|
|
#sudo newfs_msdos -F 16 -v "${my_sd_name}" $my_disk |
|
|
|
sudo newfs_msdos -F 32 -v "${my_sd_name}" $my_disk |
|
|
|
diskutil mount $my_disk |
|
|
|
|
|
|
|
rsync -av ~/Downloads/GCBOOT/ /Volumes/GCBOOT/ |
|
|
|
rsync -av ~/Downloads/"${my_sd_name}"/ /Volumes/"${my_sd_name}"/ |
|
|
|
diskutil unmount $my_disk |
|
|
|
|
|
|
|
echo '' |
|
|
|