        MAIN "",134

CS      EQU #E3
SS      EQU #0E

; , , /, 
; B = - 

        MACRO EXLOAD
        LD HL,:0
        LD DE,:1
        LD IX,(:2)
        LD C,#05
        LD A,:3
        EX AF,AF'
        LD A,SL_BANK
        CALL GUI
        ENDM 

; , ,   , 
; B = - 
;  

        MACRO EXSAVEF
        LD HL,:0
        LD DE,:1
        LD IX,:2
        LD C,11
        LD A,:3
        EX AF,AF'
        LD A,SL_BANK
        CALL GUI
        ENDM 

        MACRO RestSpp
        DI 
        LD SP,(Spp)
        EI 
        ENDM 

        MACRO HLFHL
        LD A,(HL)
        INC HL
        LD H,(HL)
        LD L,A
        ENDM 

        MACRO DEFHL ; LD DE,(HL)
        LD E,(HL)
        INC HL
        LD D,(HL)
        ENDM 

        MACRO DEFHL1 ;LD DE,(HL):INC HL
        LD E,(HL)
        INC HL
        LD D,(HL)
        INC HL
        ENDM 

        MACRO Amul8
        ADD A,A
        ADD A,A
        ADD A,A
        ENDM 

        MACRO CPHL0
        LD A,H
        OR L
        ENDM 

        MACRO DHL_
        INC H
        LD A,H
        AND #07
        JR NZ,$+12
        LD A,L
        SUB #E0
        LD L,A
        JR NC,$+6
        LD A,H
        SUB #08
        LD H,A
        ENDM 

        MACRO HL0
        AND A
        SBC HL,HL
        ENDM 

; Constants of GUI

RadioOn  EQU 1              ; - .
RadioOff EQU 2              ; - .
SwchOn   EQU 3              ;  .
SwchOff  EQU 4              ;  .
Nil      EQU 0              ;   ()
NEWCAT   EQU #FFFF-#0800    ;  
CAT      EQU NEWCAT-#0900   ;   

; Main variable of GUI

Numb    DEFB 0    ;   
But     DEFB 0    ;   
DIRECT  DEFB 0
MDIRECT DEFB 0
ARW_X   DEFB 127  ;.
ARW_Y   DEFB 95   ;  . .
ARW_XC  DEFB 0    ;   
ARW_YC  DEFB 0    ;
ARWXMN  DEFB 0    ;x .
ARWXMX  DEFB 255  ;x .
ARWYMN  DEFB 0    ;y .
ARWYMX  DEFB 191  ;y .
XPLACE  DEFW 22528
ARW_ADR DEFW ARWSPR
STEP    DEFB 6
LEVEL   DEFB 10
SPEED   DEFB 1
ARWSPR  DB 63,0,15,64,131,48,129,44
        DB 193,16,193,20,224,2,252,0
        DB 255,0,255,0
KJOY    DB 0 ; KEMPSTON JOY

; Main variable of ListBox

SpAdr    DW 0    ;   
SpAdrT   DW 0    ;    
SpLen    DW 0    ;    
SpLenW   DW 0    ;    
SpLenD   DW 0    ;     . 
SpDop    DW 0    ;    
SpBar    DB 0    ;  
SpFiler  DB 0    ;  ?
SpXY     DW 0    ; X,Y   
SelSp    DB 0    ;    
SpDop2   DW 0    ;     
TAB_SORT DW 0    ;  


; Main Constants of TRDOS

LAST_KEY   EQU 23560
FILE_PARAM EQU #5CDD
FILE_NAME  EQU #5CDD
FILE_TYPE  EQU #5CE5
START_ADR  EQU #5CE6
BYTES_LEN  EQU #5CE8
SEC_LEN    EQU #5CEA
START_SEC  EQU #5CEB
START_TRK  EQU #5CEC
TEK_SEC    EQU #5CF4
TEK_TRK    EQU #5CF5

; Main variable of FDOS

Spp       DW 0         ;  ,    
MODE      DB #00       ;   
RECAT     DB 0         ;     
RAMDR     DB 2         ;   #3D13
OVERF     DB 0
ResAdr    DW 0         ;  
END_DISK  DW 0         ;  / 

; Disk constants

All_File EQU 228
Free_Sec EQU 229
End_Disk EQU 225

; ReadKey variable

KEYS
KEY1    DB 0
KEY2    DB 0

; Mouse variable
FIRE    DB 0
CANCEL  DB 0

SPACE   DEFS 51
BRK     DB 0          ; %001 - 
                      ; %010 - 
                      ; %100 - 
                      ; %000 - halt

FREE_SEC        DW 0  ;    
ALL_FILE        DW 0  ;    

;      LOAD_CAT, ,
;   ,    GUI (,
;  ,     ...)
; END_DISK       / 
; FREE_SEC         
; ALL_FILE         

MICE            DB 0      ; 
MB              DB 0      ; 

