sequenceDiagram
    participant VICE as VICE thread
    participant JNI as vice_jni.c
    participant HTTP as NanoHTTPD /screen
    participant JS as PebbleKit JS
    participant Watch as Watch app (KEY_SCREEN)

    loop every 1s
        JS->>HTTP: GET /screen
        HTTP->>JNI: getScreenText()
        JNI->>VICE: mem_read_screen($0400..$07E7)
        JNI-->>HTTP: UTF-8 text (40x25, \n per row)
        HTTP-->>JS: {"text": "..."}
        JS->>Watch: AppMessage KEY_SCREEN
        Watch->>Watch: update ScrollLayer/TextLayer
    end
