; Miscellanea

MiscPgn
             DISP PgnAdr

Misc         xor a
             call RAM
             ld a,%1111
misc         ld ix,WMisc
             ld (ix+6),a
             xor a
             ld (OVR_proc),a
             ld a,(Sys_Disk)
             add a,"A"
             ld (WMisc.tBGEdisk),a
             call Win_
             cp #FF
            jp z,CLOSE
          ;   push af          ; ERASE_ALLW не портит рег. A
             call ERASE_ALLW    ; Erase_AllW
          ;   pop af
             ld hl,EMisc
            push hl
             ld (#A500-2),sp  ; для выхода из меню плагинов
             ld hl,ReWin
            push hl
             ld bc,.TBMisc
             ld e,0           ; 0 for OVR_proc
            jp TAB_JP

.TBMisc       DW .Chank       ; дизеринг
              DW .Mixing      ; наложение
              DW .Fnt         ; шрифт FNT
              DW .Chr         ; шрифт CHR
              DW .SprExport   ; Спрайт экспорт
              DW .SprHack     ; Спрайт хакер
              DW .FileSRV     ; Диск сервис
              DW .diskBGE     ; Диск BGE
              DW .plgList     ; Меню плагинов
              DW .setup       ; setup
              DW .About       ; About
              DW .Quit        ; Выход


.diskBGE      ld a,(#5D19)
              push af
              call Driver
              pop bc
              ld a,(#5D19)
              ld (Sys_Disk),a
              cp b
             ret z
              ld a,b
              ex af,af'
              ld c,1
              call DOS_FUNC_
             jp LOAD_CAT_


.Fnt          inc e
.Chr          ld a,4
             jr .r_ovr
;.Sprites      ld a,3
;             jr .r_ovr
.SprExport    inc e
.plgList      ld a,5
             jr .r_ovr
;.SprHack      ld a,6   ;7
;             jr .r_ovr
.FileSRV      ld a,6   ;7
           ;   inc e  ; ld e,1
             jr .r_ovr

.About        inc e
.Mixing       inc e
.Chank        inc e
.SprHack      ld a,7
             jr .r_ovr

.setup        xor a
.r_ovr        ld hl,StartOVR
.r_ovr_       ld (StartOVR.num),a
              ld a,e
              ld (OVR_proc),a
              push hl
             jp retSWpgn

.Quit        call ASK
            ret c
            jp Exit_DOS


WMisc      DB 20,2,12,17,6*8,6,%1111
            ; Bit 0 - окно с заголовком/без
            ; Bit 1 - "перерисовать" окно да/нет
            ; Bit 2 - тискать окно по экрану да/нет
            ; Bit 3 - выход из окна-ткнуть только лишь за пределами (CANCEL)
           DB 0
           DW .Txt        ; объект-текст
           DW .Sel        ; объект-подсветка (выборка)
           DW #FFFF

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

.Sel       DB 1,3,10,128+7,%11
           DB 1,11,10,128+5,%11
           DB #FF

.Txt       MSG_MISC_Head : DB 13
           MSG_MISC_Dith : DB 13
           MSG_Mix_Mixing : DB 13
           MSG_MISC_Fnt : DB 13
           MSG_MISC_Chr : DB 13
;           MSG_MISC_Sprts : DB 13
           MSG_MISC_SprtCnv : DB 13
           MSG_MISC_SprtHac : DB 13
           MSG_MISC_FileSRV : DB 13
           DB 15,13
           MSG_MISC_SysDisk : DB " "
.tBGEdisk  DB "A",13
           MSG_MISC_PgnsList : DB 13
           MSG_MISC_Setup : DB 13
           MSG_MISC_About : DB 13
           MSG_MISC_Quit
           DB 0



;----------------------------------------
LMisc=$-Misc
        ASSERT  LMisc < 6144
        DISPLAY "MISC len   :",/a,LMisc
        ENT