libx48ng/dist/setup-x48ng-home.sh
2024-08-29 11:20:28 +02:00

39 lines
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_FILE="${DOTX48NG}"/config.lua
ROM=${ROM:-$CWD/ROMs/gxrom-r}
mkdir -p "${DOTX48NG}"
[ -e "${CONFIG_FILE}" ] && mv "${CONFIG_FILE}" "${CONFIG_FILE}".orig
x48ng --print-config > "${CONFIG_FILE}"
cp -r "$CWD"/ROMs/ "${DOTX48NG}"/
cd "${DOTX48NG}"/ROMs/ || 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 get-roms
cd "${DOTX48NG}" || exit 1
[ -e rom ] && mv rom rom.orig
ln -s "$ROM" rom
PORT1_SIZE=128
PORT2_SIZE=4096
if echo "$ROM" | grep -q "^sx"; then
PORT2_SIZE=128
fi
[ -e port1 ] && mv port1 port1.orig
dd if=/dev/zero of="$DOTX48NG"/port1 bs=1k count=$PORT1_SIZE
[ -e port2 ] && mv port2 port2.orig
dd if=/dev/zero of="$DOTX48NG"/port2 bs=1k count=$PORT2_SIZE