5 Commits

Author SHA1 Message Date
ml daefed88b1 Add Fetch Disks button and Anleitung copy-protection viewer
- Cross-compile nibtools for Android NDK; download all 8 episode disks
  from the Internet Archive C64 Preservation Project as NBZ and convert
  to G64 via JNI (throwaway-pthread to contain nibconv's exit() calls)
- Bundle manual transcription as APK asset; 📖 button opens scrollable
  viewer with Seite→Absatz→Zeile→Wort lookup hierarchy documented
2026-06-27 10:36:15 +02:00
ml aaa6e772a7 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)
2026-06-25 09:27:19 +02:00
ml 5a390aa733 Add C64 SID audio output via OpenSL ES with sound toggle 2026-06-13 13:54:41 +02:00
ml 678108530c Add in-app file import and episode picker
Assets (ROMs and disk images) now live in getExternalFilesDir, making
  them accessible via USB file transfer and any file manager app without
  adb or root.

  - "Import ROMs" button walks through kernal/basic/chargen picks in
    sequence and restarts the emulator when done
  - "Import Disks" button opens a multi-select picker; files are saved
    as SCHWUM<N><P>.D64 (uppercased for consistent lookup)
  - 2×4 episode grid (1A–4B) lights up each button as its disk image
    becomes available; tapping loads that disk into drive 8
2026-06-05 09:44:06 +02:00
ml 8c7f2e3306 Add VICE C64 emulator integration to Android companion app
Cross-compiles VICE 3.8 headless for ARM64 and x86_64 as part of the
  Android Studio build (Gradle buildVice task + build_vice.sh). The JNI
  bridge (vice_jni.c) renders frames into a shared framebuffer read by
  C64DisplayView, and forwards key events from C64KeyboardView to VICE's
  keyboard matrix. Without ROM files the app shows a placeholder blue
  screen; with ROMs and a .d64 disk image the full C64 emulator runs.
2026-06-04 16:24:14 +02:00