ld b,000h
        or d
         call 0bd19h;; mc wait flyback
        di
        ld bc,0f40eh
        out (c),a
        push bc
        ld bc,0f649h;; select keyboard line 9 (joystick)
        out (c),c
        out (c),c
        ld b,0f4h
 ;; loop reading joystick until input seen or timeout         ld hl,0fa66h;; timeout.
l9ca8h:
        in a,(c)
        cp 0fdh ;; 11111101. Bits are '1' if 'no press', but '0' if pressed. checking joy 0 down.
        jr z,l9cb9h
sub_9caeh:
        inc h
        jr nz,l9ca8h
 
        ld hl,0ffffh
        jr l9cbdh
        ei
        ret
 
        call 09da6h
        call sub_9ce4h
        call 09db2h
        ret
 
        ld a,h
        ld c,l
        ld a,000h
        ld bc,01a1ah
        call 0bc32h;; scr set ink
        call 0bc14h
        ld a,001h
        ld a,001h
        ld bc,01a1ah
        call 0bc32h;; scr set ink
        ld a,000h
        ld bc,00000h
        call 0bc32h;; scr set ink
        ld b,00ah
        call 0bd19h;; mc wait flyback
        djnz $-4
        ld b,020h
        jr nz,l9ea9h
        ld a,02fh
        call 0bb1eh;; km test key
        ret z
        jp l9e52h
        call 09eb7h
        ld a,02fh
        call 0bb1eh;; km test key
        ret z
        ld hl,(0a41ch)