name back to saturn; store data in ~/.config/..; guard before downloading rom
This commit is contained in:
parent
becc8d8e7f
commit
6fa664257c
6 changed files with 127 additions and 69 deletions
26
Makefile
26
Makefile
|
@ -1,4 +1,4 @@
|
|||
# Simple Makefile to build saturn_bertolotti
|
||||
# Simple Makefile to build saturn
|
||||
#
|
||||
# The cc-option function and the C{,PP}FLAGS logic were copied from the
|
||||
# fsverity-utils project.
|
||||
|
@ -6,8 +6,10 @@
|
|||
# The governing license can be found in the LICENSE file or at
|
||||
# https://opensource.org/license/MIT.
|
||||
|
||||
NAME = saturn
|
||||
|
||||
PREFIX = /usr
|
||||
DOCDIR = $(PREFIX)/doc/sb4xng
|
||||
DOCDIR = $(PREFIX)/doc/$(NAME)
|
||||
|
||||
VERSION_MAJOR = 0
|
||||
VERSION_MINOR = 0
|
||||
|
@ -103,13 +105,13 @@ override CPPFLAGS := -I./src/ -D_GNU_SOURCE=1 \
|
|||
|
||||
.PHONY: all clean clean-all pretty-code install mrproper get-roms install
|
||||
|
||||
all: libChf/libChf.a dist/sb4xng docs
|
||||
all: libChf/libChf.a dist/$(NAME) docs
|
||||
|
||||
# Building
|
||||
libChf/libChf.a:
|
||||
make -C libChf
|
||||
|
||||
dist/sb4xng: $(DOTOS) $(DOTOS_UI4x) libChf/libChf.a
|
||||
dist/$(NAME): $(DOTOS) $(DOTOS_UI4x) libChf/libChf.a
|
||||
$(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(SDLLIBS) $(NCURSESLIBS)
|
||||
|
||||
dist/pack: src/pack.o src/disk_io.o src/debug.o libChf/libChf.a
|
||||
|
@ -127,7 +129,7 @@ clean:
|
|||
make -C docs clean
|
||||
|
||||
mrproper: clean
|
||||
rm -f dist/sb4xng dist/pack
|
||||
rm -f dist/$(NAME) dist/pack
|
||||
make -C dist/ROMs mrproper
|
||||
make -C libChf mrproper
|
||||
make -C docs mrproper
|
||||
|
@ -144,17 +146,17 @@ get-roms:
|
|||
make -C dist/ROMs get-roms
|
||||
|
||||
# Installation
|
||||
install: dist/sb4xng doc
|
||||
install: dist/$(NAME) doc
|
||||
install -m 755 -d -- $(DESTDIR)$(PREFIX)/bin
|
||||
install -c -m 755 dist/sb4xng $(DESTDIR)$(PREFIX)/bin/sb4xng
|
||||
install -c -m 755 dist/$(NAME) $(DESTDIR)$(PREFIX)/bin/$(NAME)
|
||||
install -c -m 755 dist/saturn48gx $(DESTDIR)$(PREFIX)/bin/saturn48gx
|
||||
install -c -m 755 dist/saturn48sx $(DESTDIR)$(PREFIX)/bin/saturn48sx
|
||||
install -c -m 755 dist/saturn40g $(DESTDIR)$(PREFIX)/bin/saturn40g
|
||||
install -c -m 755 dist/saturn49g $(DESTDIR)$(PREFIX)/bin/saturn49g
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(PREFIX)/share/sb4xng
|
||||
install -c -m 644 dist/hplogo.png $(DESTDIR)$(PREFIX)/share/sb4xng/hplogo.png
|
||||
cp -R dist/ROMs/ $(DESTDIR)$(PREFIX)/share/sb4xng/
|
||||
install -m 755 -d -- $(DESTDIR)$(PREFIX)/share/$(NAME)
|
||||
install -c -m 644 dist/hplogo.png $(DESTDIR)$(PREFIX)/share/$(NAME)/hplogo.png
|
||||
cp -R dist/ROMs/ $(DESTDIR)$(PREFIX)/share/$(NAME)/
|
||||
|
||||
install -m 755 -d -- $(DESTDIR)$(DOCDIR)
|
||||
cp -R COPYING LICENSE README* docs-4.1.1.1 docs/*.{info,dvi,ps,pdf} libChf/docs/*.{info,dvi,ps,pdf} $(DESTDIR)$(DOCDIR)
|
||||
|
@ -166,12 +168,12 @@ install: dist/sb4xng doc
|
|||
sed "s|@PREFIX@|$(PREFIX)|g" dist/saturn40g.desktop > $(DESTDIR)$(PREFIX)/share/applications/saturn40g.desktop
|
||||
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/sb4xng
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/$(NAME)
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/saturn48gx
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/saturn48sx
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/saturn40g
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/saturn49g
|
||||
rm -fr $(DESTDIR)$(PREFIX)/share/sb4xng
|
||||
rm -fr $(DESTDIR)$(PREFIX)/share/$(NAME)
|
||||
rm -fr $(DESTDIR)$(DOCDIR)
|
||||
rm -f $(DESTDIR)$(PREFIX)/share/applications/saturn48gx.desktop
|
||||
rm -f $(DESTDIR)$(PREFIX)/share/applications/saturn48sx.desktop
|
||||
|
|
26
README.md
26
README.md
|
@ -15,13 +15,37 @@ make install DESTDIR=/
|
|||
|
||||
### locally
|
||||
``` shell
|
||||
./dist/run48.sh
|
||||
./dist/saturn48gx
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
./dist/saturn48sx
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
./dist/saturn49g
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
./dist/saturn40g
|
||||
```
|
||||
|
||||
### when installed
|
||||
``` shell
|
||||
saturn48gx
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
saturn48sx
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
saturn49g
|
||||
```
|
||||
or
|
||||
``` shell
|
||||
saturn40g
|
||||
```
|
||||
|
||||
|
||||
## Post-fork changelog
|
||||
|
|
34
dist/saturn40g
vendored
34
dist/saturn40g
vendored
|
@ -1,28 +1,36 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
#CWD=$(pwd)
|
||||
|
||||
STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
|
||||
BINNAME=$(basename "$0")
|
||||
|
||||
STATEDIR=${STATEDIR:-$STATE_HOME/sb4xng/40g}
|
||||
mkdir -p "$STATEDIR"
|
||||
CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
|
||||
|
||||
if [ ! -e "$STATEDIR"/rom ]; then
|
||||
if [ ! -d ../share/sb4xng/ROMs/ ]; then
|
||||
CONFIGDIR=${CONFIGDIR:-$CONFIG_HOME/$BINNAME}
|
||||
mkdir -p "$CONFIGDIR"
|
||||
|
||||
if [ ! -e "$CONFIGDIR"/rom ]; then
|
||||
if [ -d ../share/saturn/ROMs/ ]; then
|
||||
cp -R ../share/saturn/ROMs/ "$CONFIGDIR"/
|
||||
elif [ -d ./ROMs/ ]; then
|
||||
cp -R ./ROMs/ "$CONFIGDIR"/
|
||||
fi
|
||||
if [ ! -d "$CONFIGDIR"/ROMs ]; then
|
||||
echo "Error: No ROMs/ dir found"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -d "$STATEDIR"/../ROMs ]; then
|
||||
cp -R ../share/sb4xng/ROMs/ "$STATEDIR"/../ROMs
|
||||
fi
|
||||
make -C "$STATEDIR"/../ROMs rom.39g
|
||||
cp "$STATEDIR"/../ROMs/rom.39g "$STATEDIR"/rom
|
||||
|
||||
echo "The next step will download a ROM 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 "$CONFIGDIR"/ROMs rom.39g
|
||||
cp "$CONFIGDIR"/ROMs/rom.39g "$CONFIGDIR"/rom
|
||||
fi
|
||||
|
||||
RESET=''
|
||||
if [ ! -e "$STATEDIR"/ram ]; then
|
||||
if [ ! -e "$CONFIGDIR"/ram ]; then
|
||||
RESET=-reset
|
||||
fi
|
||||
|
||||
sb4xng --40g --state-dir "$STATEDIR" "$RESET" "$@"
|
||||
./saturn --40g --state-dir "$CONFIGDIR" "$RESET" "$@"
|
||||
|
|
38
dist/saturn48gx
vendored
38
dist/saturn48gx
vendored
|
@ -1,31 +1,39 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
#CWD=$(pwd)
|
||||
|
||||
STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
|
||||
BINNAME=$(basename "$0")
|
||||
|
||||
STATEDIR=${STATEDIR:-$STATE_HOME/sb4xng/48gx}
|
||||
mkdir -p "$STATEDIR"
|
||||
CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
|
||||
|
||||
if [ ! -e "$STATEDIR"/rom ]; then
|
||||
if [ ! -d ../share/sb4xng/ROMs/ ]; then
|
||||
CONFIGDIR=${CONFIGDIR:-$CONFIG_HOME/$BINNAME}
|
||||
mkdir -p "$CONFIGDIR"
|
||||
|
||||
if [ ! -e "$CONFIGDIR"/rom ]; then
|
||||
if [ -d ../share/saturn/ROMs/ ]; then
|
||||
cp -R ../share/saturn/ROMs/ "$CONFIGDIR"/
|
||||
elif [ -d ./ROMs/ ]; then
|
||||
cp -R ./ROMs/ "$CONFIGDIR"/
|
||||
fi
|
||||
if [ ! -d "$CONFIGDIR"/ROMs ]; then
|
||||
echo "Error: No ROMs/ dir found"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -d "$STATEDIR"/../ROMs ]; then
|
||||
cp -R ../share/sb4xng/ROMs/ "$STATEDIR"/../ROMs
|
||||
fi
|
||||
make -C "$STATEDIR"/../ROMs gxrom-r
|
||||
cp "$STATEDIR"/../ROMs/gxrom-r "$STATEDIR"/rom
|
||||
|
||||
echo "The next step will download a ROM 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 "$CONFIGDIR"/ROMs gxrom-r
|
||||
cp "$CONFIGDIR"/ROMs/gxrom-r "$CONFIGDIR"/rom
|
||||
fi
|
||||
|
||||
[ ! -e "$STATEDIR"/port1 ] && dd if=/dev/zero of="$STATEDIR"/port1 bs=1k count=128
|
||||
[ ! -e "$STATEDIR"/port2 ] && dd if=/dev/zero of="$STATEDIR"/port2 bs=1k count=4096
|
||||
[ ! -e "$CONFIGDIR"/port1 ] && dd if=/dev/zero of="$CONFIGDIR"/port1 bs=1k count=128
|
||||
[ ! -e "$CONFIGDIR"/port2 ] && dd if=/dev/zero of="$CONFIGDIR"/port2 bs=1k count=4096
|
||||
|
||||
RESET=''
|
||||
if [ ! -e "$STATEDIR"/ram ]; then
|
||||
if [ ! -e "$CONFIGDIR"/ram ]; then
|
||||
RESET=--reset
|
||||
fi
|
||||
|
||||
sb4xng --48gx --state-dir "$STATEDIR" "$RESET" "$@"
|
||||
./saturn --48gx --state-dir "$CONFIGDIR" "$RESET" "$@"
|
||||
|
|
38
dist/saturn48sx
vendored
38
dist/saturn48sx
vendored
|
@ -1,31 +1,39 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
#CWD=$(pwd)
|
||||
|
||||
STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
|
||||
BINNAME=$(basename "$0")
|
||||
|
||||
STATEDIR=${STATEDIR:-$STATE_HOME/sb4xng/48sx}
|
||||
mkdir -p "$STATEDIR"
|
||||
CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
|
||||
|
||||
if [ ! -e "$STATEDIR"/rom ]; then
|
||||
if [ ! -d ../share/sb4xng/ROMs/ ]; then
|
||||
CONFIGDIR=${CONFIGDIR:-$CONFIG_HOME/$BINNAME}
|
||||
mkdir -p "$CONFIGDIR"
|
||||
|
||||
if [ ! -e "$CONFIGDIR"/rom ]; then
|
||||
if [ -d ../share/saturn/ROMs/ ]; then
|
||||
cp -R ../share/saturn/ROMs/ "$CONFIGDIR"/
|
||||
elif [ -d ./ROMs/ ]; then
|
||||
cp -R ./ROMs/ "$CONFIGDIR"/
|
||||
fi
|
||||
if [ ! -d "$CONFIGDIR"/ROMs ]; then
|
||||
echo "Error: No ROMs/ dir found"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -d "$STATEDIR"/../ROMs ]; then
|
||||
cp -R ../share/sb4xng/ROMs/ "$STATEDIR"/../ROMs
|
||||
fi
|
||||
make -C "$STATEDIR"/../ROMs sxrom-j
|
||||
cp "$STATEDIR"/../ROMs/sxrom-j "$STATEDIR"/rom
|
||||
|
||||
echo "The next step will download a ROM 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 "$CONFIGDIR"/ROMs sxrom-j
|
||||
cp "$CONFIGDIR"/ROMs/sxrom-j "$CONFIGDIR"/rom
|
||||
fi
|
||||
|
||||
[ ! -e "$STATEDIR"/port1 ] && dd if=/dev/zero of="$STATEDIR"/port1 bs=1k count=128
|
||||
[ ! -e "$STATEDIR"/port2 ] && dd if=/dev/zero of="$STATEDIR"/port2 bs=1k count=128
|
||||
[ ! -e "$CONFIGDIR"/port1 ] && dd if=/dev/zero of="$CONFIGDIR"/port1 bs=1k count=128
|
||||
[ ! -e "$CONFIGDIR"/port2 ] && dd if=/dev/zero of="$CONFIGDIR"/port2 bs=1k count=128
|
||||
|
||||
RESET=''
|
||||
if [ ! -e "$STATEDIR"/ram ]; then
|
||||
if [ ! -e "$CONFIGDIR"/ram ]; then
|
||||
RESET=--reset
|
||||
fi
|
||||
|
||||
sb4xng --48sx --state-dir "$STATEDIR" "$RESET" "$@"
|
||||
./saturn --48sx --state-dir "$CONFIGDIR" "$RESET" "$@"
|
||||
|
|
34
dist/saturn49g
vendored
34
dist/saturn49g
vendored
|
@ -1,28 +1,36 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
#CWD=$(pwd)
|
||||
|
||||
STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
|
||||
BINNAME=$(basename "$0")
|
||||
|
||||
STATEDIR=${STATEDIR:-$STATE_HOME/sb4xng/49g}
|
||||
mkdir -p "$STATEDIR"
|
||||
CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
|
||||
|
||||
if [ ! -e "$STATEDIR"/rom ]; then
|
||||
if [ ! -d ../share/sb4xng/ROMs/ ]; then
|
||||
CONFIGDIR=${CONFIGDIR:-$CONFIG_HOME/$BINNAME}
|
||||
mkdir -p "$CONFIGDIR"
|
||||
|
||||
if [ ! -e "$CONFIGDIR"/rom ]; then
|
||||
if [ -d ../share/saturn/ROMs/ ]; then
|
||||
cp -R ../share/saturn/ROMs/ "$CONFIGDIR"/
|
||||
elif [ -d ./ROMs/ ]; then
|
||||
cp -R ./ROMs/ "$CONFIGDIR"/
|
||||
fi
|
||||
if [ ! -d "$CONFIGDIR"/ROMs ]; then
|
||||
echo "Error: No ROMs/ dir found"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -d "$STATEDIR"/../ROMs ]; then
|
||||
cp -R ../share/sb4xng/ROMs/ "$STATEDIR"/../ROMs
|
||||
fi
|
||||
make -C "$STATEDIR"/../ROMs rom.49g
|
||||
cp "$STATEDIR"/../ROMs/rom.49g "$STATEDIR"/rom
|
||||
|
||||
echo "The next step will download a ROM 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 "$CONFIGDIR"/ROMs rom.49g
|
||||
cp "$CONFIGDIR"/ROMs/rom.49g "$CONFIGDIR"/rom
|
||||
fi
|
||||
|
||||
RESET=''
|
||||
if [ ! -e "$STATEDIR"/ram ]; then
|
||||
if [ ! -e "$CONFIGDIR"/ram ]; then
|
||||
RESET=-reset
|
||||
fi
|
||||
|
||||
sb4xng --49g --state-dir "$STATEDIR" "$RESET" "$@"
|
||||
./saturn --49g --state-dir "$CONFIGDIR" "$RESET" "$@"
|
||||
|
|
Loading…
Reference in a new issue