Commit Graph

14 Commits

Author SHA1 Message Date
ml b9153ac973 Improve snapshop saving and loading 2026-06-14 10:21:37 +02:00
ml 0f814eb134 Adding a save state panel 2026-06-14 10:04:59 +02:00
ml 755e7758e4 Add hero save editor with D64 format documentation
Pencil button next to each hero disk opens an editor dialog that parses
  the D64 directly, lists all PRG save files in a spinner, and lets the
  user adjust all nine stats (Vitalität, grade, six percentage stats) with
  +/− buttons. Changes to multiple heroes in one session are written back
  together on Save.

  PETSCII decoding now distinguishes unshifted (0x41–0x5A → lowercase) from
  shifted (0xC1–0xDA → uppercase) so names display in natural mixed case
  (e.g. "Mark" instead of "MARK").

  D64 sector layout helpers extracted to class level so createBlankD64 and
  the new editor share the same offset function. Save format documented in
  res/HELD_D64_FORMAT.md. Editor strings localised in EN/DE.
2026-06-14 09:46:17 +02:00
ml 958ab77c58 Localize all visible button labels and dialogs via string resources:
values/strings.xml (English default) and values-de/strings.xml
cover section headers, hero disk buttons, sound toggle, import
button, file picker title, and the replace-disk confirmation dialog
2026-06-14 08:51:05 +02:00
ml 285c5984ac Adding a help button 2026-06-14 08:33:29 +02:00
ml e2cbf2b37d Add Reset button, fix disk swap regression, and add sticky Shift
- Reset button (left of Sound) ejects disk and power-cycles the C64
    to BASIC without reloading — loadedADisks is cleared so episode
    buttons trigger autostart again on next press
  - A-side episode disks that were already loaded now hot-swap instead
    of resetting the machine; use Reset explicitly when a cold start
    is needed (fixes unintended reset when returning from hero disk)
  - Virtual keyboard Shift is now a toggle: tap SHF to lock shift on
    (key stays highlighted), tap again to release — no multi-touch
    required to type capital letters
2026-06-14 08:15:33 +02:00
ml 65597b8fce Add a drive LED vor virtual disk device
Cleanup code base
Adding a splash screen
2026-06-14 07:35:31 +02:00
ml 392bbeb996 Rework UI with drawer menu, hero disks, and sound toggle 2026-06-13 14:28:58 +02:00
ml 5a390aa733 Add C64 SID audio output via OpenSL ES with sound toggle 2026-06-13 13:54:41 +02:00
ml 7a8cd492d5 Fix C64 display rendering and keyboard matrix
- Remove android:background from C64DisplayView: SurfaceView's XML
    background painted over the surface, hiding all rendered content
  - Fix pixel byte order: copyPixelsFromBuffer reads [R,G,B,A] bytes, so
    physical colors must be packed as ABGR (not ARGB) to avoid R/B swap
  - Fix six wrong C64 keyboard matrix positions (1, 2, Q, E, R, Y) taken
    from the authoritative VICE hardware matrix table
2026-06-10 19:04:18 +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
ml 724157aca3 Removed dead code 2026-06-01 16:31:29 +02:00
ml d7adb56197 Initial commit, adding original binaries, initial watch and companion apps which can talk 2026-06-01 15:53:11 +02:00