aaa6e772a7
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)
17 lines
723 B
Plaintext
17 lines
723 B
Plaintext
graph TD
|
|
Main["Main/UI thread<br/>Choreographer vsync loop, touch events"]
|
|
Vice["VICE thread<br/>main_program() → maincpu_mainloop()"]
|
|
Http["NanoHTTPD worker thread(s)<br/>one per request"]
|
|
StdoutT["stdout reader thread"]
|
|
StderrT["stderr reader thread"]
|
|
Audio["OpenSL ES callback thread"]
|
|
|
|
Main -->|"captureFrame(): reads g_framebuf"| Vice
|
|
Main -->|"injectKey(): writes keyboard matrix"| Vice
|
|
Http -->|"onKey → injectWatchKey → injectKey"| Vice
|
|
Http -->|"getScreenText(): reads C64 RAM"| Vice
|
|
Vice -->|"writes g_framebuf, drains pending queues"| Main
|
|
Vice -->|stdout/stderr pipes| StdoutT
|
|
Vice -->|stdout/stderr pipes| StderrT
|
|
Vice -->|sound ring buffer| Audio
|