; Setup screen navigation. Caller provides UI and key bindings.
SETUP_SCREEN:
        CAL     SET_DRAW

SETUP_LOOP:
        CAL     SET_INKEY
        AN      $17,$17
        JR      Z,SETUP_LOOP

        LD      $12,$0

        SBC     $12,SET_KEY1
        JR      Z,SU_N

        SBC     $12,SET_KEY2
        JR      Z,SU_M

        SBC     $12,SET_KEY3
        JR      Z,SU_PAT

        SBC     $12,SET_KEY4
        JR      Z,SU_DONE

        CAL     SET_RELEASE
        JR      SETUP_LOOP

SU_N:
        CAL     SET_RELEASE
        CAL     EDIT_N
        JP      SU_ROUTE

SU_M:
        CAL     SET_RELEASE
        CAL     EDIT_M
        JP      SU_ROUTE

SU_ROUTE:
        SBC     $8,RN_FK1
        JP      Z,SU_N
        SBC     $8,RN_FK2
        JP      Z,SU_M
        SBC     $8,RN_FK3
        JP      Z,SU_PAT
        SBC     $8,RN_FK4
        JP      Z,SU_DONE
        JP      SETUP_SCREEN

SU_PAT:
        CAL     SET_RELEASE
        CAL     CYCLE_PAT
        JP      SETUP_SCREEN

SU_DONE:
        CAL     SET_RELEASE
        CAL     VALIDATE_CFG
        AN      $4,$4
        JR      NZ,SU_BAD

        CAL     GEN_DATA
        JP      SET_HOME

SU_BAD:
        CAL     SHOW_ERROR
        JP      SETUP_SCREEN

; end of include
; end of file
