Replace bundled ROM extraction with runtime import/download flow

Commodore ROMs are copyrighted and can no longer ship inside the APK.
MainActivity now detects missing ROMs on first launch and blocks
startup with a dialog offering two paths: pick files via the system
file picker, or download the official VICE 3.8 tarball and extract the
four ROMs from it client-side (minimal USTAR reader, no extra deps).

- Drop the extractViceRoms Gradle task and asset bundling; add
  res/extract_roms.sh for local sideloading during development instead
- gitignore keystores/keystore.properties ahead of a signed release
- Move architecture.md into docs/, refresh it for the screen-mirroring
  and watch-input additions, and add accompanying Mermaid diagrams
- Add docs/debugging.md and docs/publish.md (Play Store release notes,
  ROM-import compliance rationale)
This commit is contained in:
ml
2026-06-25 09:27:19 +02:00
parent 89c99b50e2
commit aaa6e772a7
26 changed files with 893 additions and 172 deletions
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
# Extracts the C64 and 1541 ROMs needed by vice_jni.c from vice-3.8.tar.gz.
#
# This is a manual/standalone equivalent of the `extractViceRoms` Gradle task
# in app/build.gradle.kts — same source paths, same renaming. Useful for
# inspecting the ROMs outside a full Gradle build (e.g. for the "bring your
# own ROM" flow described in docs/publish.md §0).
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TARBALL="$SCRIPT_DIR/vice-3.8.tar.gz"
DEST="${1:-$SCRIPT_DIR/roms}"
if [[ ! -f "$TARBALL" ]]; then
echo "error: $TARBALL not found" >&2
exit 1
fi
mkdir -p "$DEST"
WORK_DIR="$(mktemp -d)"
trap 'rm -rf "$WORK_DIR"' EXIT
tar -xzf "$TARBALL" -C "$WORK_DIR" \
vice-3.8/data/C64/kernal-901227-03.bin \
vice-3.8/data/C64/basic-901226-01.bin \
vice-3.8/data/C64/chargen-901225-01.bin \
"vice-3.8/data/DRIVES/dos1541-325302-01+901229-05.bin"
cp "$WORK_DIR/vice-3.8/data/C64/kernal-901227-03.bin" "$DEST/kernal"
cp "$WORK_DIR/vice-3.8/data/C64/basic-901226-01.bin" "$DEST/basic"
cp "$WORK_DIR/vice-3.8/data/C64/chargen-901225-01.bin" "$DEST/chargen"
cp "$WORK_DIR/vice-3.8/data/DRIVES/dos1541-325302-01+901229-05.bin" "$DEST/1541"
echo "Extracted kernal, basic, chargen, 1541 to $DEST"