joeylib2/scripts/lib/amigaGate.sh
2026-10-13 14:01:46 -05:00

44 lines
1.7 KiB
Bash

# Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License.
# See LICENSE.md for license information.
# SPDX-License-Identifier: MIT
#
# Shared by the Amiga gates (scripts/bench-amiga.sh, scripts/verify-amiga-*.sh)
# and joey-run: which Amiga FS-UAE emulates. JOEY_AMIGA_MODEL picks it; the
# A500 is the port's baseline, and the AGA machines prove the same programs
# on a 68020 and a 68040 (their instruction caches, the 68040's copyback data
# cache) and the AGA chipset's OCS modes:
#
# A500 68000, OCS: Kickstart 3.1 r40.63 (component kickstart)
# A1200 68EC020, AGA: r40.68 (component kickstartA1200)
# A4000 68040, AGA: r40.70 (component kickstartA4000), FS-UAE's A4000/040
#
# Source after joeyEnv.sh.
#
# amigaMachine exit 2 unless the model's Kickstart is installed; sets
# AMIGA_MACHINE_ARGS, FS-UAE's --amiga_model and
# --kickstart_file
AMIGA_MODEL="${JOEY_AMIGA_MODEL:-A500}"
AMIGA_MACHINE_ARGS=()
amigaMachine() {
case "$AMIGA_MODEL" in
A500)
joeyNeed KICKSTART_ROM kickstart
AMIGA_MACHINE_ARGS=(--amiga_model=A500 --kickstart_file="$KICKSTART_ROM")
;;
A1200)
joeyNeed KICKSTART_A1200_ROM kickstartA1200
AMIGA_MACHINE_ARGS=(--amiga_model=A1200 --kickstart_file="$KICKSTART_A1200_ROM")
;;
A4000)
joeyNeed KICKSTART_A4000_ROM kickstartA4000
AMIGA_MACHINE_ARGS=(--amiga_model=A4000/040 --kickstart_file="$KICKSTART_A4000_ROM")
;;
*)
echo "JOEY_AMIGA_MODEL is A500, A1200 or A4000, not $AMIGA_MODEL" >&2
exit 2
;;
esac
}