 ; Text options for drive. Added in v3.12  /DA

TOpen_      MSG_DISK_Load_ : DB 0
TOpen       MSG_DISK_Load  : DB 0
TSave_      MSG_DISK_Save_ : DB 0
TSave       MSG_DISK_Save  : DB 0

TDriveNum   MSG_DISK_drive : DB ": "
.Drive      DB "A",0

GetDrive    ld a,(TDriveNum.Drive)   ; получаем букву текущего дисковода
           ret


   MACRO OpDrive
         DB #0A : DW TDriveNum
   ENDM

   MACRO OpLoad_
       DB #0A : DW TOpen_
   ENDM

   MACRO OpLoad
       DB #0A : DW TOpen
   ENDM

   MACRO OpSave_
       DB #0A : DW TSave_
   ENDM

   MACRO OpSave
       DB #0A : DW TSave
   ENDM
 ; end text options


EDisk   LD A,%1111
edisk   LD IX,WDisk
        LD (IX+6),A
        CALL Win_
        CP #FF
        JP Z,main_
        LD BC,TBDisk
        JP TAB_JP

TBDisk  DW DLdScr
       ; DW DLdBLC
        DW DSvScr
       ; DW DSvScrIn
       ; DW DLdImg
        DW DSvImg
     ;   DW DROpen
        DW DLdAll
        DW DSvAll
     ;   DW EHack    ; удалил /DA
     ;   DW FilesCOM  ; /DA удалено v 3.12
        DW DDisk

DDisk   CALL Driver
        JR edisk_

; Загрузка скрина с диска
DLdScr  ld a,%1101
        ld (.bt),a
        call dldscrA_    ; CALL dldscr_
       jr nc,1F
        ld a,%1110
.bt  EQU $-1
        push af
        and 2
        call nz,ReWin.i
        pop af
       jr edisk

edisk_  LD A,%1101
        JR edisk


dldscr  CALL dldscrA_    ; dldscr_
1       JP main


LDnF     ; перемещение по файлам каталога /DA
          ld a,GUIPage
          call RAM
          ld de,#5CDD
          ld bc,#10

          ld hl,0
.FDaddr   EQU $-2    ; адрес дескриптора файла
          ld a,0
.NumF   EQU $-1     ; номер файла в сортированном каталоге
         ret

.pre         ; перемещение назад
          call LDnF
          or a
         jr z,2F
          dec a
          sbc hl,bc
         jr 1F
.nxt        ; перемещение вперёд
          call LDnF
          bit 7,a
         jr nz,2F
          inc a
          add hl,bc
1        jr c,2F
          ex af,af'
          ld a,(hl)
          or a
         jr z,2F
          dec a
         jr z,2F
          ex af,af'
          ld (.FDaddr),hl
          ld (.NumF),a
          ldir
2         call SwapSCRS.ldSCR_    ; восстанавливаем прежнее
          call LOADUNDO
         jp dldscrA_.ld
.sel
          or a
         ret z
          dec a
         jr z,.pre
          dec a
         jr z,.nxt
.error  call SwapSCRS.ldSCR_    ; восстанавливаем прежнее
.error_ call LOADUNDO
        call LOADSCR
        or a
        scf
       ret

;.keys     call WAITKEY_
;          ld a,(DIRECT)
;          and #10
;         jr z,2F
;1         xor a
;         ret
;2         ld a,(CANCEL)
;          or a
;          ld a,#FF
;         ret nz
;          ld a,(LAST_KEY)
;          cp 13
;         jr z,1B
;          cp 65
;         jr c,1F
;          set 5,a
;1
;          ld hl,.k_tb
;          ld c,2
;          call .k_lp_
;         ret nc
;          dec c
;          call .k_lp_
;         ret nc
;          dec c
;          dec c
;          call .k_lp_
;         ret nc
;         jr .keys

;.k_lp_     ld b,5
;1          cp (hl)
;         jr z,1F
;           inc hl
;          djnz 1B
;           scf
;          ret
;1          ld a,c
;           or a
;          ret


;.k_tb    DB 5,9,10,"a","p"  ;2/ 5   ; inv.vid(CS/4)=5 ; ->(CS/8)=9 ; V(CS/6)=10
;         DB 4,8,11,"q","o"  ;1/ 5   ; tr.vid(CS/3)=4 ; <-(CS/5)=8 ; ^(CS/7)=11
;         DB 7,12,14,"z","u" ;#FF/ 5 ; ESC(CS/1)=7 ; DEL(CS/0)=12 ; ext(CS/SS)=14


.keys   ;  ld a,(BORDER)
       ;   xor 1       ; смена цвета для индикации гигаскрина
        ;  out (#FE),a
1         halt
          ld a,BUTTON
          call GUI
          call .keysB
         jr z,1B
      ;    push af
      ;    call MixRgb.oBord
      ;    pop af
         ret

.keysB    bit 0,a
         jr nz,.kfire_
          and %110   ; cancels
          ld a,#FF
         ret nz
          ld a,20    ; задержка для скролла
.k_scrlPs EQU $-1
          dec a
          ld (.k_scrlPs),a
         jr nz,1F
          ld a,40
          ld (.k_scrlPs),a
          ld a,(MWHEEL)   ; обработка колёсика мыши
          or a
          ld c,a
         jr z, 1F
          xor a
          ld (MWHEEL),a
          inc a    ; 1 <-
          bit 7,c
          ret nz
          inc a    ; 2 ->
         ret   ; nz auto
1
          ld a,#7F
          in a,(#FE)
          cpl
          and 2
         ret z
          ld a,(DIRECT)  ; сейчас мыша здесь не задействована, только клава и джой.
          ld c,a
          and #10
         jr nz,.kfire_
          ld a,5
          and c
          ld a,2       ; 2 -->
         ret nz
          ld a,10
          and c
          ld a,1       ; 1 <-
         ret nz
.kfire_   ld a,0   ; не меняем флаг z
         ret


; dldscr_ LD HL,SORTscr
dldscrA_
         ld hl,SORTsAll       ; /DA
         CALL FilerE
         RET C
         ld a,SearchSrtF11
         call GUI
        ret c
         ld (LDnF.FDaddr),hl
         ld (LDnF.NumF),a
         CALL CLOSE_ALLW
         call SV_UNDO
         call SwapSCRS.svSCR_   ; in Screens.asm
         ld a,%1111
         ld (DLdScr.bt),a
;        CALL dlds
.ld     ; call NOKEY_     ; для перемещения по диску _
         call NoKEYss_   ; для перемещения по диску
1        xor a
         ld (LAST_KEY),a
         halt
         halt
         halt
         ld a,(LAST_KEY)
         or a
        jr nz,1B
         ld a,(SEC_LEN)
         cp 27   ; screen
        jr z,dlds
         cp 24   ; screen without attrs
        jr z,dlds
         cp 54   ; double screen
        jp z, dldIMG
         ld a,(FILE_TYPE)
         cp "p"
        jp z,dldBLC_
        ret
;       JP Main


;dlds    CALL SV_UNDO  ; изменил для использования из файлов
dlds ;    call .dlds
     ;   jp c,Main
     ;    ret
;.dlds   CALL SV_UNDO
        LD B,27
        LD A,(SEC_LEN)
    ;    CP 27  ; b уже 27 /DA
         cp b
        JR NC,jr1
        LD B,A
jr1     EXLOAD #8000,SCREEN,START_SEC,ScrPage
       jp c,LDnF.error_   ;  JP C,Main  /DA
        LD DE,FNameScr
        CALL ToName
        call LOADSCR
        call LDnF.keys
       jp LDnF.sel
    ;    or a     ; reset cf  /DA
    ;   RET


; Запись скрина на диск
;DSvScr  LD HL,FNameScr
;        CALL FNEdit
;MMM     JR C,edisk_
;        CALL dsvscr_
;        JP C,edisk_
;        JR edisk_

DSvScr   ld de,FNameScr    ; v3.12 /DA
         ld hl,SORTscr
         call FNSelect
MMM     jp c,edisk_
         cp #FF
        jp nz,dsvall_
         call dsvscr_
        jp edisk_

dsvscr_ LD HL,FNameScr
        CALL FromName
        LD B,27
        EXSAVEF #8000,SCREEN,6912,ScrPage
        RET

dsvscr  LD HL,FNameScr
        CALL FNEdit
        JP C,main
        CALL dsvscr_
        JP main

;  Загрузка любого файла

DLdAll  LD HL,SORTall
        CALL FilerE
        JR NC,dldall
        JP edisk_

dldall  CALL CLOSE
        CALL dlds
        JP Main

; Загрузка пакскрина с диска
;DLdBLC  CALL dldblc
;        JP edisk_

;ELdBLC  CALL dldblc
;        JP main_

;dldblc  LD HL,SORTblc
;        CALL FilerE
;        RET C
;        CALL SV_UNDO
;dldblc_ LD B,27
dldBLC_
        LD A,(SEC_LEN)
        CP 27
       jp nc,LDnF.error_  ; RET NC
        LD B,A
       ; EXLOAD #8000,SCRBGE,START_SEC,SuxPage
        EXLOAD #8000,SCREEN,START_SEC,SuxPage
       jp c,LDnF.error_   ; RET C
    ;    LD DE,FNameScr
    ;    CALL ToName
        CALL SuxRam
        LD HL,SCREEN  ; SCRBGE
        CALL IDBLC
       jp nz,LDnF.error_  ; JP NZ,dlds_  ; dldblc

         ld hl,Tunpack   ; добавил запрос на распаковку v3.12 /DA
         call AskQ
       jp c,LDnF.error_
         call NOKEY_

        LD HL,SCREEN  ; SCRBGE
        CALL DECOMPR
        CALL SAVESCR
        call SwapSCRS.svSCR_   ; in Screens.asm
        ld de,FNameScr
        call ToName
        call SscrExt_
        call LDnF.keys
       jp LDnF.sel

SscrExt_  ld hl,TscrExt_
          ld de,FNameScr+8
          ld bc,3
          ldir
       ;   or a   ; reset fc
         ret
    ;    JP Main

Tunpack    MSG_DISK_UnPack  : DB 0


;DLdImg  CALL dldimg
;        JP edisk_

;dldimg  LD HL,SORTimg
       ; CALL FilerE
       ; RET C
       ; CALL CLOSE_ALLW
       ; CALL SV_UNDO
dldIMG
        call .load
       jp c,LDnF.error   ; jr nc,1F
        ld de,FNameImg
        call ToName
        ld de,FNameScr
        call ToName
        call SscrExt_
        call LOADSCR
        call mscr_b
      ;  call LDnF.keys
      ;  push af
         call RetBorder
      ;  pop af
       jp LDnF.sel


.load   LD HL,(START_SEC)
        LD (TEK_SEC),HL
        LD B,27
        EXLOAD #8000,SCREEN,TEK_SEC,ScrPage
      ;  JP C,Main
       ret c
        LD B,27
        EXLOAD #8000,SCREEN,TEK_SEC,RamPage
      ;  JP C,Main
       ret
;        LD DE,FNameImg
;        CALL ToName
;        JP Main

DSvImg  CALL dsvimg
        JP edisk_

dsvimg  LD HL,FNameImg
        CALL FNEdit
        RET C
        XOR A
        LD (FLAGOBJ),A
        LD A,ScrPage
        CALL RAM
        LD HL,SCREEN
        LD DE,#A500
        LD BC,6912
        LDIR
        LD B,54
        EXSAVEF #A500-13824,#A500,13824,RamPage
        RET C
        JP main_

DSvScrIn
        LD HL,SORTscr
        JR dsvall

DSvAll  LD HL,SORTall
dsvall  CALL FilerE
        JP C,edisk_
dsvall_
      ; ;  ld hl,TxtAskD
      ;  ; ld (WAskTx),hl
      ;   ld hl,FILE_NAME
      ;   ld de,TxtAskDfn
      ;   ld bc,8
      ;   ldir
      ;   inc de
      ;   ld a,FormExt
      ;   call GUI
      ;  ; CALL ASK
      ;  ; ld hl,TxtAsk
      ;  ; ld (WAskTx),hl
      ;   ld hl,TxtAskD
      ;   call AskQ
         call ASK_SAVEin
        JP C,edisk_

        LD A,(SEC_LEN)
        CP 28
        JR C,svalo
        LD A,27
svalo   LD B,A
        LD HL,#8000
        LD DE,SCREEN
        LD IX,(START_SEC)
        LD C,#06
        LD A,ScrPage
        EX AF,AF'
        LD A,SL_BANK
        CALL GUI
        JP edisk_

FNameScr DB "noname  scr"
FNameImg DB "noname  img"
ReRead   DB 1

TscrExt_  DB "scr"

SORTscrNa DB %0000,24,#00   ;  добавляем безатрибутные картинки
SORTscr  ;  DB #00,27,#FF      ; 24,#FF
          DB %0000,27,#00
          DB %1010,"bge_ovr.Cod",#00
          DB %1001,"ovb","add","hlp","hst",#FF

SORTsAll  DB %0000,27,24,#00
          DB %0000,54,#00
SORTblc   DB %0001,"plc",#00
          DB %1010,"bge_ovr.Cod",#00
          DB %1001,"ovb","add","hlp","hst",#FF

SORTimg DB #00,54,#FF
; SORTblc DB #01,"p..",#FF
SORTall DB #01,"...",#FF


WDisk   DEFB 0,2,11,10,6*8,7,%00001111      ;15,6*8,7,%00001111
; Bit 0 - окно с заголовком/без
; Bit 1 - "перерисовать" окно да/нет
; Bit 2 - тискать окно по экрану да/нет
; Bit 3 - выход из окна-ткнуть только лишь за пределами (CANCEL)
        DEFB 0
        DEFW TDisk        ; объект-текст
        DEFW SDisk        ; объект-подсветка (выборка)
        DEFW #FFFF

;TxtAskDfn=$+2
;TxtAskD DB "> 12345678.9AB",13
   ; if rus
   ;     DB "  Да     Нет",13
   ; else
   ;     DB "  Yes     No",13
   ; endif
   ;     MSG_DOS_yes_no
   ;     DB 0



TDisk       ; измененоно на новую локализацию /DA

;   if rus
;       DB #94,#a0,#a9,#ab,13;"Файл",13
;       DB #8e,#e2,#aa,#e0,#eb,#e2,#ec,#5f,13;"Открыть_",13
;        DB #8e,#e2,#aa,#e0,#eb,#e2,#ec," BLC_",13
;        DB #91,#ae,#e5,#e0,#a0,#ad,#a8,#e2,#ec,#20,#aa,#a0,#aa,#5f,13;"Сохранить как_",13
;        DB #91,#ae,#e5,#e0,#a0,#ad,#a8,#e2,#ec,#20,#a2,#5f,13;"Сохранить в_",13
;        DB #8e,#e2,#aa,#e0,#eb,#e2,#ec,#20,#a4,#a2,#a0,#5f,13;"Открыть два_",13
;        DB #91,#ae,#e5,#e0,#a0,#ad,#a8,#e2,#ec,#20,#a4,#a2,#a0,#5f,13;"Сохранить два_",13
;        DB "RAM-",#a4,#a8,#e1,#aa,#5f,13;диск_",13
;        DB #8e,#e2,#aa,#e0,#eb,#e2,#ec,'+',13;"Открыть+_",13
;        DB #91,#ae,#e5,#e0,#a0,#ad,#a8,#e2,#ec,"+_",13;"Сохранить+_",13
;        DB #91,#af,#e0,#a0,#a9,#e2,'-',#e1,#aa,#a0,#ad,#a5,#e0,13;"Спрайт-сканер",13
;        DB #84,#a8,#e1,#aa,#ae,#a2,#ae,#a4,0;"Дисковод",0
;   else
;        DB "File",13
;        DB "Load_",13
;        DB "Load BLC_",13
;        DB "Save as_",13
;        DB "Save in_",13
;        DB "Load double_",13
;        DB "Save double_",13
;        DB "RAM-disk_",13
;        DB "Load+_",13
;        DB "Save+_",13
;        DB "Sprite scan",13
;        DB "Drive",0
;   endif

         MSG_DISK_File : DB 13
        ; MSG_DISK_Load_ : DB 13
          OpLoad_
      ;   MSG_DISK_BLC_  : DB 13
          OpSave_     ; MSG_DISK_SV_as_ : DB 13
      ;   MSG_DISK_SV_in_ : DB 13
      ;   MSG_DISK_LD_D_  : DB 13
         MSG_DISK_SV_D_  : DB 13
     ;    MSG_DISK_RAMdisk_ : DB 13   ; удалил отсюда, будет в оверлее /DA
         MSG_DISK_LD_p_  : DB 13
         MSG_DISK_SV_p_  : DB 13
     ;    MSG_DISK_SprtSCAN : DB 13    ; удалил ибо нефик, будет в плагинах /DA
   ;      MSG_DISK_Files : DB 13   ; удалено будет в оверлее /DA v3.12
       ;  MSG_DISK_drive : DB 0
         OpDrive
         DB 0

; x, y, длина, высота, флаг
; bit 0 - подсвечивать (да/нет)
; bit 1 - клавиша "заморожена"

SDisk   ; DEFB 1,3,9,1,%11
        ; DEFB 1,4,9,1,%11
        ; DEFB 1,5,9,1,%11
        ; DEFB 1,6,9,1,%11
        ; DEFB 1,7,9,1,%11
        ; DEFB 1,8,9,1,%11
        ; DEFB 1,9,9,1,%11
        ; DEFB 1,10,9,1,%11
        ; DEFB 1,11,9,1,%11
        ; DEFB 1,12,9,1,%11
        ; DEFB 1,13,9,1,%11
        DB 1,3,9,128+6,%11   ;11,%11
        DEFB #FF

edisk__ CALL CLOSE
        JP edisk_

;; Открытие/закрытие рам-диска
;dropen_ LD A,7
;        OUT (#FE),A
;        HALT
;     ;   LD A,(BORDER)
;     ;   OUT (#FE),A
;        call RetBorder
;        CALL NOKEY_
;dropeN  LD A,%1101
;        JR dropen

;DROpen  LD A,%1111
;dropen  LD IX,WROpen
;        LD (IX+6),A

;        LD A,(ExtMem)
;        AND A
;        JP Z,edisk_
;   ;     LD A,(ExtPage)
;   ;  ;  CP 15
;   ;      cp 7+list_pages+OVRLmpages
;         call TestExtMin
;        JP C,edisk_
;         sub b
;     ;   SUB 15
;     ;    sub 7+list_pages+OVRLmpages
;        INC A
;        LD (AR+1),A
;        DEC A
;        LD DE,TPAll
;        LD C,0
;        EX AF,AF'
;        LD A,GET_NUM
;        CALL GUI
;        CALL Win_
;        CP #FF
;        JP Z,edisk__

;        LD IX,WPage
;        CALL Window_
;        LD HL,TEPage
;        LD DE,#0104
;        LD B,3
;        LD A,6
;        EX AF,AF'
;        CALL EDIT_
;        CALL CLOSE_
;        JR C,dropeN
;        LD HL,TEPage
;        LD A,ASCII
;        CALL GUI
;        JP C,dropen_
;        LD A,L
;        AND A
;        JP Z,dropen_
;AR      LD B,0
;        CP B
;        JP NC,dropen_
;        LD (RRAM),A
;        CALL ROpen
;        JP edisk__




;------------------------------------------------
; *** DROpen - code removed to 'RDrive.asm' ***
;------------------------------------------------




;WPage   DEFB 3,8,8,6,6*8,7,%00001111
;; Bit 0 - окно с заголовком/без
;; Bit 1 - "перерисовать" окно да/нет
;; Bit 2 - тискать окно по экрану да/нет
;; Bit 3 - выход из окна-ткнуть только лишь за пределами (CANCEL)
;        DEFB 0
;        DEFW TPage        ; объект-текст
;        DEFW #FFFF

;TPage
;    if rus
;        DB #91,#e2,#e0,#a0,#ad,#a8,#e6,13;"Страниц",13
;        DB #82,#e1,#a5,#a3,#ae,':';"Всего:"
;    else
;        DB "Pages",13
;        DB "All:  "
;    endif
;TPAll   DB "000",13
;    if rus
;        DB #8d,#e3,#a6,#ad,#ae,':';"Нужно:"
;    else
;        DB "Need: "
;    endif
;TEPage  DB "000",0

;;--------------------
;WROpen  DEFB 2,7,8,5,7,7*8,%00001111
;; Bit 0 - окно с заголовком/без
;; Bit 1 - "перерисовать" окно да/нет
;; Bit 2 - тискать окно по экрану да/нет
;; Bit 3 - выход из окна-ткнуть только лишь за пределами (CANCEL)
;        DEFB 0
;        DEFW TRODisk      ; объект-текст
;        DEFW SRODisk      ; объект-подсветка (выборка)
;        DEFW #FFFF

;TRODisk
;    if rus
;        DB #82,#a8,#e0,#e2,'-',#a4,#a8,#e1,#aa,13;"Вирт-диск",13
;        DB #91,#ae,#a7,#a4,#a0,#e2,#ed,#5f,0;"Создать_",0
;    else
;        DB "RAM-disk",13
;        DB "Create_",0
;    endif


; x, y, длина, высота, флаг
; bit 0 - подсвечивать (да/нет)
; bit 1 - клавиша "заморожена"

;SRODisk DEFB 1,3,6,1,%11
;        DEFB #FF

FNameTxr DB "noname  txr"


; File name editor or select filename procedure, version for bge v3.12  /DA

; Вызов редактора имени файла с опцией файлера

FNSelect  ; in de <- name addres , hl <- sort tab.
          ; out -> filename to name addres, file parameters in FILE_PARAM,
          ; A -> file number or #FF for not filer used
          ; scf for error
          push de
          ld (TAB_SORT),hl
          ld hl,CS*256+1
          ld a,3
         jr FNEdit.FNEdit

; Редактор имени файла  HL -адрес имени файла

FNEdit_  xor a                  ; редактирование с запретом изменения диска
         ld (WEdit.SEdit+4),a
         call FNEdit
         ex af,af'
         ld a,%11
         ld (WEdit.SEdit+4),a
         ex af,af'
        ret

FNEdit   push hl
         ld hl,255*256+255   ; h - .Hdisk stop , l - button stop
         ld a,1              ; .XDpos
.FNEdit
         ld (WEdit.XDpos),a    ; выставляем позиции текста и селекта
         ld (WEdit.SEdit),a
         add a,2
         ld (WEdit.SEdit+5),a
         ld (.EdNp_),a
         add a,6
         ld (WEdit.SEdit+10),a
         ld (.EdEp_),a
         ld (WEdit.XEpos),a
         add a,3
         ld (WEdit.BtEdit),a
         add a,2
         ld (WEdit+2),a        ; размер окна
         ld a,l
         ld (WEdit.BtDisk),a
         ld a,h
         ld (WEdit.Hdisk),a
         pop hl

         call .flFF

         ld (.ENTER+1),hl
         call .swnm

         ld ix,WEdit
         call POPUP
.n0      ld a,%1110
.n1      ld ix,WEdit
         ld (ix+6),a
         ld a,(#5D19)
         add a,#41
         ld (WEdit.LDrive),a
         call Win_
         cp #FF
         scf
        jp z,CLOSE_
         ld bc,.TbEdit
         call TAB_JP
         ld a,%1100      ; окно не перерисвывать
        jr .n1

.EdName   ld hl,WEdit.Lname
          ld de,#0101
.EdNp_  EQU $-1
          ld b,8
          call .Eedit_
         ret c
.EdExt    ld hl,WEdit.Lext
          ld de,#0101
.EdEp_   EQU $-1
          ld b,3
          call .Eedit_
         ret c
.ENTER    ld de,0
          push de
          ld hl,WEdit.Lname
          ld bc,8
          ldir
          ld hl,WEdit.Lext
          ld c,3
          ldir
          pop hl
          ld de,FILE_NAME
          ld c,11
          ldir
          pop af     ; убираем возврат
          ld a,#FF
.flfiler  EQU $-1    ; флаг выбора имени из файлера
          or a
         jp CLOSE_

.Eedit_
         ; xor a
          call EDIT_      ; Edit_
.flFF     ld a,#FF
          ld (.flfiler),a
         ret

.Filer    ld hl,.n0
          ex (sp),hl     ; меняем возврат
          call CLOSE
          call  FilerE.St
         ret c
          ld (.flfiler),a
          ld hl,FILE_NAME
    ;      call .swnm
    ;     ret

.swnm    ld de,WEdit.Lname
         ld bc,8
         ldir
         ld de,WEdit.Lext
         ld c,3
         ldir
        ret

.Driver    call .flFF
          jp Driver

.TbEdit    DW  .Driver    ; 0  drive
           DW  .EdName    ; 1 edit name
           DW  .EdExt     ; 2 edit extantion
           DW  .ENTER     ; 3 Ok !
           DW  .Filer     ; 4 filer


WEdit   DB 10,10,14,3,6*8,6,%1110
        DB 0
        DW .TEdit     ; text
        DW .SEdit     ; selects
        DW .HEdit     ; hot keys
        DW .BtEdit    ; buttons
        DW #FFFF


.TEdit    DB 22
.XDpos    DB 1,0,13
.LDrive   DB "A:",#17,2
.Lname    DB "12345678.",22
.XEpos    DB 8,1
.Lext     DB "123",0

.SEdit    DB 1,1,1,1,%11     ; 0 drive
          DB 3,1,5,1,%11     ; 1 name
          DB 8,1,2,1,%11     ; 2 ext
          DB #FF

.HEdit    DB #0D,0           ; ENTER  -> button ok !
            DW 3
.Hdisk    DB #FF,"7"         ; UP     -> button disk
            DW 4
          DB CS,"1"          ; EDIT   -> button disk
            DW 4
          DB #FF

.BtEdit    DB 12,1,1,1,6*8,%11
           DW ButOk
.BtDisk    DB #FF,1,1,1,6*8,%11
           DW ButDsk
           DB #FF

ButOk     DB 0,1,69,73,49,33,1,255               ; sprite галка
ButDsk    DB 254,142,252,254,238,238,254,0       ; sprite disk



