40 lines
1.1 KiB
Bash
Executable file
40 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
cd "$(dirname "$0")" || exit 1
|
|
CWD=$(pwd)
|
|
|
|
CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
|
|
DOTX48NG=${DOTX48NG:-$CONFIG_HOME/x48ng}
|
|
CONFIG=${CONFIG:-config.lua}
|
|
ROM=${ROM:-ROMs/gxrom-r}
|
|
RAM=${RAM:-ram}
|
|
STATE=${STATE:-state}
|
|
PORT1=${PORT1:-port1}
|
|
PORT2=${PORT2:-port2}
|
|
|
|
mkdir -p "${DOTX48NG}"
|
|
|
|
cp -r "$CWD"/ROMs/ "${DOTX48NG}"/
|
|
|
|
cd "${DOTX48NG}" || exit 1
|
|
echo "The next step will download all available HP 48 ROMs from https://hpcalc.org where \"HP graciously began allowing this to be downloaded in mid-2000.\""
|
|
echo "You can hit Ctrl-C now if you do not wish to download them."
|
|
read -r
|
|
make -C ROMs get-roms
|
|
|
|
PORT1_SIZE=128
|
|
PORT2_SIZE=4096
|
|
if echo "$ROM" | grep -q "sxrom"; then
|
|
PORT2_SIZE=128
|
|
fi
|
|
|
|
[ -e ram ] && mv ram ram.orig
|
|
[ -e state ] && mv state state.orig
|
|
[ -e port1 ] && mv port1 port1.orig
|
|
[ -e port2 ] && mv port2 port2.orig
|
|
[ -e "${CONFIG}" ] && mv "${CONFIG}" "${CONFIG}".orig
|
|
|
|
dd if=/dev/zero of="$DOTX48NG"/"$PORT1" bs=1k count=$PORT1_SIZE
|
|
dd if=/dev/zero of="$DOTX48NG"/"$PORT2" bs=1k count=$PORT2_SIZE
|
|
|
|
x48ng --rom="$ROM" --ram="$RAM" --state="$STATE" --port1="$PORT1" --port2="$PORT2" --print-config > "${CONFIG}"
|