
;***************
;**** Code *****
;***************
.AppWin     db   0
.DskPrzN    db   2
.SysPrzN    db   3
.WinDatPrz  equ  3

.AppPrz:
       ld    a,(AppPrzN)
       ld    (AppDatWin+WinDatPrz),a
       db    #dd:ld l,a
       ld    a,(DskPrzN)
       db    #dd:ld h,a
       ld    a,(AppBnkNum)
       ld    h,a
       ld    l,MSC_DSK_WINOPN
       ld    (AppMsgB),hl
       ld    hl,AppDatWin
       ld    (AppMsgB+2),hl
       ld    iy,AppMsgB
       rst   #10
.App_Prz1:
       call  App_Wait_Message
       jr    nc,App_Prz1
       ld    a,(DskPrzN)
       db    #dd:cp h
       jr    nz,App_Prz1
       ld    a,(AppMsgB)
       cp    MSR_DSK_WOPNER
       jp    z,App_End
       cp    MSR_DSK_WOPNOK
       jr    nz,App_Prz1
       ld    a,(AppMsgB+4)
       ld    (AppWin),a
.App_Control_Loop:
       call   App_Wait_Message
       jr     nc,App_Control_Loop0
       cp     MSR_DSK_WCLICK
       jr     nz,App_Control_Loop0
       ld     a,(AppMsgB+2)
       cp     DSK_ACT_CLOSE
       jp     z,App_End
       cp     DSK_ACT_MENU
       jp     z,App_Menu
       cp     DSK_ACT_CONTENT
       jp     z,App_Content
.App_Control_Loop0:
       jr     App_Control_Loop

.App_Menu:
       ld     a,(AppMsgB+9)
       cp     #0
       jp     z,App_Control_Loop
       ld     hl,(AppMsgB+8)
       ld     (App_Call_Set2+1),hl
.App_Call_Set2:
       call   0
       jp     App_Control_Loop

.App_Content:
       ld     a,(AppMsgB+9)
       cp     #0
       jp     z,App_Control_Loop
       ld     hl,(AppMsgB+8)
       ld     (App_Call_Set+1),hl
.App_Call_Set:
       call   0
       jp     App_Control_Loop

.App_Wait_Message:
        rst   #30
        ld    a,(AppPrzN)
        db    #dd:ld l,a
        db    #dd:ld h,-1
        ld    iy,AppMsgB
        rst   #18
        Or    a
        db    #dd:dec l
        ret   nz
        ld    a,(AppMsgB+0)
        Or    a
        jr    z,App_End
        scf
        ret
.App_End:
        ld    a,(AppPrzN)
        db    #dd:ld l,a
        ld    a,(SysPrzN)
        db    #dd:ld h,a
        ld    a,(AppCodBeg+PrgPstNum)
        ld    h,a
        ld    l,MSC_SYS_PRGEND
        ld    (AppMsgB),hl
        ld    iy,AppMsgB
        rst   #10
.App_End0:
        rst   #30
        jr    App_End0

