MiscPgn
        DISP PgnAdr

Misc    LD A,%1111
misc    LD IX,WMisc
        LD (IX+6),A
        CALL Win_
        CP #FF
        JP Z,RES_TSK2
        LD BC,TBMisc
        JP TAB_JP

misc__  CALL CLOSE
misc_   LD A,%1101
        JR misc

TBMisc  DW SetUp ;MSCR
        DW SetUp ;CLSSCRSCR
        DW SetUp ;CLSATR
        DW SetUp ;ACHA
        DW SetUp ;GRIDON
        DW SetUp ;GRIDOFF
        DW SetUp ;GRIDOFF_
        DW SetUp ;ADRSS
      ;  DW ABOUT        ; убрал /DA
        DW HELP_
        DW SetUp
        DW ExDOS

ExDOS   CALL ASK
        JP C,misc_
        JP Exit_DOS

;ADRSS   CALL SAVEOBJ
;        JP ECOORD

ACHA    CALL SV_UNDO
        LD HL,SCREEN+6144
        LD BC,#300
acha    LD A,(HL)
        PUSH AF
        AND #C0
        LD E,A
        POP AF
        PUSH AF
        AND #07
        add a,a
    add a,a
    add a,a
        LD D,A
        POP AF
        AND #38
        rra
    rra
    rra
        OR D
        OR E
        LD (HL),A
        INC HL
        DEC BC
        LD A,C
        OR B
        JP NZ,acha
        JP Main

;ABOUT   LD IX,WAbout     ; удалил, вместо ABOUT будет загрузка справки HELP  /DA
;        CALL Win_
;        CALL CLOSE
;        JP misc_

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

;;TAbout  DB "  Burial Gfx Editor 3.o8",13
;;        DB " (c) 2oo1 Delirium Tremens",13
;;        DB "        from Freedom",13,13
;;        DB " - Sinn (coding, etc.)",13
;;        DB " - Others of dtr - support",13
;;        DB 0,#FF

;TAbout  DB "    Burial Gfx Editor 3.o9",13
;        DB "Based of Burial Gfx Editor 3.o5",13
;        DB "   (c) 2oo1 Delirium Tremens",13
;        DB "          from Freedom",13,13
;        DB "   - Sinn (coding, etc.)",13
;        DB "   - Others of dtr - support",13
;        DB 0,#FF

HELP_          ; загрузчик оверлея BGE_help.ovb    /DA
        ld de,.Fn
        call SeachPgn
       jr c,1F
        push af
        call CLOSE_ALLW
        pop af
       jp exe256.run
1       ld hl,.Fn
        call FromName
        ld a,LOAD_CAT
        call GUI
        ld a,6
       jr c,3F
        ld a,SEARCHFILE11
        call GUI
       jr c,2F
        call CLOSE_ALLW
        ld hl,Main
        push hl
        jp  LPgn.ld
2      ld a,1        ; not file
3      ex af,af'
       ld a,GET_MSG
       call GUI
       or a
      jr z,1B
      jp Main

.Fn      DB "BGE_Helpovb"  ; файл главного оверлея справки

WMisc
    if rus
        DEFB 22,2,10,16,6*8,6,%00000110
    else
        DEFB 21,2,11,16,6*8,6,%00000110
    endif
; Bit 0 - окно с заголовком/без
; Bit 1 - "перерисовать" окно да/нет
; Bit 2 - тискать окно по экрану да/нет
; Bit 3 - выход из окна-ткнуть только лишь за пределами (CANCEL)
        DEFB 0
        DEFW TMisc        ; объект-текст
        DEFW SMisc        ; объект-подсветка (выборка)
        DEFW #FFFF

; bit 0 - подсвечивать (да/нет)
; bit 1 - клавиша "заморожена"
SMisc   ; DEFB 1,3,8,1,%11
        ; DEFB 1,4,8,1,%11
        ; DEFB 1,5,8,1,%11
        ; DEFB 1,6,8,1,%11
        ; DEFB 1,7,8,1,%11
        ; DEFB 1,8,8,1,%11
        ; DEFB 1,9,8,1,%11
        ; DEFB 1,10,8,1,%11
        DB 1,3,8,128+8,%11
        ; DEFB 1,12,8,1,%11
        ; DEFB 1,13,8,1,%11
        ; DEFB 1,14,8,1,%11
        DB 1,12,8,128+3,%11
        DEFB #FF

TMisc
    if rus
        DB #82,#e1,#ef,#aa,#ae,#a5,13;"Всякое",13
        DB #8c,#e3,#ab,#ec,#e2,#a8,#ed,#aa,#e0,#a0,#ad,13;"Мультиэкран",13
        DB #93,#a4,#a0,#ab,#a8,#e2,#ec,13;"Удалить",13
        DB #92,#a5,#aa,#e3,#e9,#a8,#a9,#20,#e6,#a2,#a5,#e2,13;"Текущий цвет",13
        DB #88,#ad,#a2,#a5,#e0,#e2,#20,#e6,#a2,#a5,#e2,#a0,13;"Инверт цвета",13
        DB #82,#aa,#ab,#20,#e1,#a5,#e2,#aa,#e3,13;"Вкл сетку",13
        DB #82,#eb,#aa,#ab,#20,#e1,#a5,#e2,#aa,#e3,13;"Выкл сетку",13
        DB #82,#eb,#aa,#ab,#20,#ef,#e0,#aa,#ae,#e1,#e2,#ec,13;"Выкл яркость",13
        DB #80,#a4,#e0,#a5,#e1,#a0,#e6,#a8,#ef,13;"Адресация",13
    else
        DB "Miscellaneous",13
        DB "Multiscreen",13
        DB "Clear screen",13
        DB "Current color",13
        DB "Invert colors",13
        DB "Grid",13
        DB "Remove grid",13
        DB "Remove bright",13
        DB "Addressing",13
    endif
        DB 15,13
    if rus
       ; DB #8e,#20,#af,#e0,#ae,#a3,#e0,#a0,#ac,#ac,#a5,13;"О программе",13
        DB "Справка",13          ; /DA
        DB #8d,#a0,#e1,#e2,#e0,#ae,#a9,#aa,#a8,13;"Настройки",13
        DB #82,#eb,#e5,#ae,#a4,#20,#a2," DOS",0
    else
       ; DB "About",13
        DB "Help",13            ; /DA
        DB "Setup",13
        DB "Quit",0
    endif

; --- Типа сэтып ---------------------------------
SetUp   LD A,%1111
setup   LD IX,WSup
        LD (IX+6),A
        CALL Win_
        CP #FF
        JP Z,misc__
        CP 5
        JP Z,sedrv
        CP 6
        JP Z,SCurs
;        CP 7
         cp 10
       jp z, Sloupe    ; loupe setup /DA
        cp 11
        JP Z,SvSup
        JP misc__

sedrv  ; LD A,(RAMDR)
        CALL driver
        JR C,setup_
      ;  LD (vdisk),A
        CALL SetSup
setup_  LD A,%1101
        JR setup
setup__ CALL CLOSE
        JR setup_

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

; x, y, номер опции, состояние (#00/#FF)
SWUp
        DB 9,3,0,0
smouse  EQU $-1
        DW SetSup       ; мышь
        DB 9,4,1,0
srever  EQU $-1
       ; DW SetSup       ; прицел [бывш. кнопки мыши]
        DW SetSup        ; реверс кнопок мыши /DA
        DB 9,5,2,0
sjoy    EQU $-1
        DW SetSup       ; джойстик
        DB 9,6,3,0
sturbo  EQU $-1
        DW SetSup       ; турбо
        DB 9,7,4,0
sext    EQU $-1
        DW SetUpEx      ; расш. память
        DB 9,10,7,0
slow_M  EQU $-1
        DW SetSup      ; установка скорости мыши
        DB 9,11,8,0
sloupe8 EQU $-1
        DW SetSup      ; установка типа лупы
        DB 9,12,9,0
setOGr  EQU $-1
        DW SetSup      ; установка старой сетки лупы x8
        DB #FF


SetUpEx CALL delpgn
SetSup  LD HL,svar
        LD A,(smouse)
        LD (HL),A
        INC HL
        LD A,(srever)
        LD (HL),A
        INC HL
        LD A,(sjoy)
        LD (HL),A
        INC HL
        LD A,(sturbo)
        LD (HL),A
        INC HL
        LD A,(sext)
        LD (HL),A
        ld hl,vmgnX8   ; /DA
        ld a,(sloupe8)
        ld (hl),a
        ld (Magnify_x8),a
        inc hl
        ld a,(setOGr)
        ld (hl),a
        inc hl
        ld a,(slow_M)
        ld (hl),a
        inc hl

IniSup  LD HL,svar
        LD A,(HL)
        INC HL
        LD (smouse),A
        LD (MICE),A
        LD A,(HL)
        INC HL
        LD (srever),A
        LD (MB),A
        ;ld (CROSSON),A

        LD A,(HL)
        INC HL
        LD (sjoy),A
        LD (KJOY),A
        LD A,(HL)
        INC HL
        LD (sturbo),A
        LD (MODE),A
        LD A,(HL)
        INC HL
        LD (sext),A
        LD (ExtMem),A
        LD A,(HL)
        INC HL
    ;    LD (RAMDR),A
        ADD A,"A"
        LD (tsup),A

        LD A,GUIPage
        CALL RAM

        PUSH HL
        LD A,TEST
        CALL GUI_
        POP HL

        LD A,(HL)
        LD (STEP),A
        LD (STEPN),A
        INC HL
        LD DE,sw
        CALL GNU
        LD A,(HL)
        LD (LEVEL),A
        LD (LEVELN),A
        INC HL
        LD DE,lw
        CALL GNU
        LD A,(HL)
        LD (SPEED),A
        LD (SPEEDN),A
        INC HL
        LD DE,pw
        CALL GNU

        ld a,(hl)      ; vmgnX8  /DA
        inc hl
        ld (Magnify_x8),a
        ld (sloupe8),a
        ld a,(hl)
        inc hl
        call OldGrd4
        ld a,(hl)
        inc hl

        push hl           ; slow mouse
        call guiRAM
        call MOUSDR.speed ; установка скорости мыши
        pop hl

        ld a,(hl)
        inc hl
        ld (RadiMgn_CUR.CURview),a
        ld a,(hl)
        inc hl
        ld (RadiMgn_CUR.CURrmb),a
        ld a,(hl)
        inc hl
        ld (FlagsMgn_CUR.PixSmooth),a
        ld a,(hl)
        ld (FlagsMgn_CUR.FireScroll),a
        ret

        ;LD DE,pw
        ;CALL GNU
        ;RET

GNU     PUSH HL 
        LD C,0
        EX AF,AF'
        LD A,GET_NUM
        CALL GUI_
        POP HL
        RET

LdSup  ; LD IX,Woutpgn     ; в outpgn_ уже есть /DA
        CALL outpgn_
;        LD HL,FnSup       ; /DA
;        CALL FromName
;        LD HL,ECODE
;        LD DE,evar-svar
;        LD BC,#01AE
;        CALL DOS_FUNC_
        call SetUpload.pg
        RET C
        ld a,1
        ld (SetUpload.yes),a
        CALL outpgn
;        LD HL,ECODE    ; /DA
        call guiRAM
        ld hl, FBUFF
        LD DE,svar
        LD BC,evar-svar
        LDIR
     ;   xor a
     ;   ld (PMskSlot),a
        CALL IniSup
        XOR A
        RET

;SvSup   LD HL,FnSup
;        CALL FromName
;        LD HL,svar
;        LD DE,evar-svar
;        LD BC,#010B
;        CALL DOS_FUNC_
;        JP setup_

SvSup   call SvSup_             ; переделано для масок
        ld hl, svar
        ld bc,evar-svar
        ld de,FBUFF
        ldir
        call SvSup_S
        ld a,1
        ld (SetUpload.yes),a
        JP setup_

SvSup_  call  SetUpload.pg
        ret nc
SvSup_a ld hl,FBUFF
        ld de,FBUFF+1
        ld (hl),0
        ld bc,255
        ldir
        ld hl, svar
        ld bc,evar-svar
        ld de,FBUFF
        ldir
        ret

SvSup_S ld hl,FBUFF
        ld de,256
        LD BC,#010B
        call guiRAM
        LD A,DOS_FUNC
       JP GUI_

FnSup   DB "bgesys  sup"

   ; display "IniSup=",IniSup
svar:
; данные для настройки работы BGE
vmouse  DB #ff ;#00      ; мышь
vrever  DB #00          ; реверс
; vcross DB #ff;#00 ;прицел  ; вернул реверс /DA
vjoy    DB #00          ; джойстик
;vturbo  DB #00          ; турбо
vturbofs DB %0000       ; флаги турбодисков
vext    DB #00          ; расш. память
vdisk   DB #03;#02      ; нетурбо дисковод
vstep   DB #06          ; переменные для курсора
vlevel  DB #0A          ; переменные для курсора
vspeed  DB #01          ; переменные для курсора
vmgnX8  DB 0            ; тип лупы                        ; /DA
vmgnG4  DB 0            ; возвращать ли старый вариант сетки x4
vmslow  DB 0            ; медленная мышь
vmgncur db 0            ; тип курсора лупы
vmgn2bt db 0            ; тип 2-й кнопки мыши
vmgnsm  db #FF          ; флаг плавности
vmgnfs  db #FF          ; флаг скролла при огне
evar:


;TSup              ; new local /DA
;    if rus
;        DB #8d,#a0,#e1,#e2,#e0,#ae,#a9,#aa,#a8,13;"Настройки",13
;        DB #8c,#eb,#e8,#ec,13;"Мышь",13
;        ;    DB #90,#a5,#a2,#a5,#e0,#e1,13;"Реверс",13
;        db "Прицел",13
;        DB "Реверс",13
;        DB #84,#a6,#ae,#a9,#e1,#e2,#a8,#aa,13;"Джойстик",13
;        DB #92,#e3,#e0,#a1,#ae,#20,#a4,#e0,#a0,#a9,#a2,13;"Турбо драйв",13
;        DB #90,#a0,#e1,#e8,#2e,#20,#af,#a0,#ac,#ef,#e2,#ec,13;"Расш. память",13
;    else
;        DB "Setup",13
;        DB "Mouse",13
;        ;    DB "BSwap",13
;        db "Crosshair",13
;        DB "BSwap",13
;        DB "Joystick",13
;        DB "Turbo drive",13
;        DB "Ext. memory",13
;    endif
;        DB "#3d13: "
;tsup    DB "D",13
;    if rus
;        DB #8a,#e3,#e0,#e1,#ae,#e0,#5f,13;"Курсор_",13
;    else
;        DB "Cursor_",13
;    endif
;        DB 15,13
;    if rus
;        DB #91,#ae,#e5,#e0,#a0,#ad,#a8,#e2,#ec,13;"Сохранить",13
;    else
;        DB "Save",13
;    endif
;        DB 0

TSup
        MSG_SETUP_Head : DB 13
        MSG_SETUP_Mouse : DB 13
        MSG_SETUP_SMB : DB 13
        MSG_SETUP_Joi : DB 13
        MSG_SETUP_Turbo : DB 13
       ; MSG_SETUP_ExtMem : DB 13
        DB "ext.memory ",13
        DB "#3d13:   "
tsup    DB "D",13
        MSG_SETUP_Cursor : DB 13
        MSG_SETUP_Slow_M : DB 13
        MSG_SETUP_Loup8 : DB 13
        MSG_SETUP_LpGRD4 :DB 13
        MSG_SETUP_Loup : DB 13
        DB 15,13
        MSG_DISK_Save : DB 13
        DB 0




SSup    ; DEFB 1,3,9,1,%10
        ; DEFB 1,4,9,1,%10
        ; DEFB 1,5,9,1,%10
        ; DEFB 1,6,9,1,%10
        DB 1,3,9,128+4,%10
ssup    DEFB 1,7,9,1,%10
        ; DEFB 1,8,9,1,%11
        ; DEFB 1,9,9,1,%11
        DB 1,8,9,128+2,%11
        ; DB 1,10,9,1,%10
        ; DB 1,11,9,1,%10
        ; DB 1,12,9,1,%10
        DB 1,10,9,128+3,%10
        DB 1,13,9,1,%11     ;  loupe_ /DA
 ;       DEFB 1,11,9,1,%11
        DB 1,15,9,1,%11
        DEFB #FF
;----------------------- настройка курсорного девайса
SCurs   LD A,%1110
scurs   LD IX,WCur
        LD (IX+6),A
        CALL Win_
        CP #FF
        JP Z,setup__
       ; PUSH AF
       ; LD BC,TBSC
       ; CALL TAB_HL
       ; POP AF
         ld hl,v_step ; последовательность v_step, v_level, v_speed
         ld c,a
         ld b,0
         srl c
         add hl,bc 
        AND 1
        jr Z,vche
        LD A,(HL)
        DEC A
        JR Z,scurs_
        LD (HL),A
scurs_  CALL IniSup
        LD A,%1100
        JR scurs
vche    INC (HL)
        JR scurs_

WCur    DB #09,#0A,10,5,4*8,4,%1110,0
        DW TCur
        DW SCur
        DW #FFFF

;TCur    DB "Step  000",13    ; new local /DA
TCur    MSG_SETUP_Step : DB " 000",13
sw      EQU $-4
        DB 22,7,1,"+",13
        DB 22,8,1,"-",13
        DB 22,1,1,13
;        DB "Level 000",13    ; new local /DA
        MSG_SETUP_Level : DB " 000",13
lw      EQU $-4
        DB 22,7,2,"+",13
        DB 22,8,2,"-",13
        DB 22,1,2,13
;        DB "Speed 000",13    ; new local /DA
        MSG_SETUP_Speed : DB " 000",13
pw      EQU $-4
        DB 22,7,3,"+",13
        DB 22,8,3,"-",0

SCur    DB 7,1,1,1,%11
        DB 8,1,1,1,%11
        DB 7,2,1,1,%11
        DB 8,2,1,1,%11
        DB 7,3,1,1,%11
        DB 8,3,1,1,%11
        DB #FF
;----------------------------

;LdGfx   LD HL,ldgfx              ;; сместил в однократный блок инициализации /DA
;        LD DE,#A500+6144
;        PUSH DE
;        LD BC,lngfx
;        LDIR
;        RET

;ldgfx   LD A,GUIPage
;        CALL RAM

;        LD HL,FnGfx
;        CALL FromName
;        LD C,#0A
;        CALL DOS_FUNC_
;        RET C
;        LD DE,FILE_PARAM
;        LD BC,#10
;        LDIR
;        LD A,(SEC_LEN)
;        CP 28
;        RET NC
;        LD HL,#A500
;        LD DE,(START_SEC)
;        LD BC,#1805
;        CALL DOS_FUNC_
;        RET C
;        LD HL,#A500+#1000
;        LD DE,#C000
;        LD BC,2048
;        LDIR

; ;       LD A,SuxPage
;         ld a,RamPage|#10
;        CALL RAM
; ;       LD HL,#A500
; ;       LD DE,#C000
; ;       LD BC,2048*2
;        ld hl,#A500+2047
;        ld de,#A800+2047
;        ld bc,2048
; ;       LDIR
;        lddr

; ;       LD A,#C0
;         ld a,#A8
;        LD (rasch+1),A
;        LD IX,cutix
; ;       LD DE,BGE_SPR
;        ld de,#DB00

; ;       LD B,2
;        ld b,3
;dz2     PUSH BC
;        LD B,16
;dz1     PUSH BC
;        CALL SaveWS
;        INC (IX+0)
;        INC (IX+0)
;        POP BC
;        DJNZ dz1
;        POP BC
;        XOR A
;        LD (IX+0),A
;        INC (IX+1)
;        INC (IX+1)
;        DJNZ dz2
;;        LD B,7
;;dz3     PUSH BC
;;        CALL SaveWS
;;        INC (IX+0)
;;        INC (IX+0)
;;        POP BC
;;        DJNZ dz3

;        LD IX,cutix2
;;        LD DE,ECODE    ; /DA
;        ld de, FBUFF
;        CALL SaveWS
;;        LD HL,ECODE    ; /DA
;        ld hl, FBUFF
;        LD DE,ARWSPR
;        LD BC,10*2
;        LDIR
;        call GUI_E     ; /DA
;        LD A,#40
;        LD (rasch+1),A
;        JP outpgn

;lngfx   EQU $-LdGfx

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


