        MAIN "",134
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 MSCR
        DW CLSSCRSCR
        DW CLSATR
        DW ACHA
        DW GRIDON
        DW GRIDOFF
        DW GRIDOFF_
        DW ADRSS
        DW ABOUT
        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
        SLA A
        SLA A
        SLA A
        LD D,A
        POP AF
        AND #38
        SRA A
        SRA A
        SRA A
        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
        CALL Win_
        CALL CLOSE
        JP misc_

WAbout  DEFB 6,1,19,23,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.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 15,13
        DB "          FIDOнет:",13
        DB "2:5002/47.8  Maxim Shelepov",13,13
        DB "           E-Мыло:",13
        DB "      tiden_dt@mail.ru",13
        DB "       sinn_dt@mail.ru",13,13
        DB "          Rus.Mail:",13
        DB "   656057,Россия, Барнаул,",13
        DB "      Панфиловцев 14-45",13
        DB "  Трофимову Кириллу (Sinn)",13
        DB 15,13
        DB "`      Все или Ничего!    `",13
        DB 0,#FF

WMisc   DEFB 22,2,10,16,6*8,6,%00000110
; 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
        DEFB 1,12,8,1,%11
        DEFB 1,13,8,1,%11
        DEFB 1,14,8,1,%11
        DEFB #FF

TMisc   DB "Всякое",13
        DB "Мультиэкран",13
        DB "Удалить",13
        DB "Текущий цвет",13
        DB "Инверт цвета",13
        DB "Вкл сетку",13
        DB "Выкл сетку",13
        DB "Выкл яркость",13
        DB "Адресация",13
        DB 15,13
        DB "О программе",13
        DB "Настройки",13
        DB "Выход в DOS",0

; --- Типа сэтып ---------------------------------
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
        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,13,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       ; кнопки мыши
        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 #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
        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 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
        RET 

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

LdSup   LD IX,Woutpgn
        CALL outpgn_
        LD HL,FnSup
        CALL FromName
        LD HL,ECODE
        LD DE,evar-svar
        LD BC,#01AE
        CALL DOS_FUNC_
        RET C
        CALL outpgn
        LD HL,ECODE
        LD DE,svar
        LD BC,evar-svar
        LDIR 
        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_

FnSup   DB "bgesys  sup"

svar:
; данные для настройки работы BGE
vmouse  DB #00          ; мышь
vrever  DB #00          ; реверс
vjoy    DB #00          ; джойстик
vturbo  DB #00          ; турбо
vext    DB #00          ; расш. память
vdisk   DB #02          ; нетурбо дисковод
vstep   DB #06          ; переменные для курсора
vlevel  DB #0A          ; переменные для курсора
vspeed  DB #01          ; переменные для курсора
evar:

TSup    DB "Настройки",13
        DB "Мышь",13
        DB "Реверс",13
        DB "Джойстик",13
        DB "Турбо драйв",13
        DB "Расш. память",13
        DB "#3d13: "
tsup    DB "C",13
        DB "Курсор_",13
        DB 15,13
        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
ssup    DEFB 1,7,9,1,%10
        DEFB 1,8,9,1,%11
        DEFB 1,9,9,1,%11
        DEFB 1,11,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
        AND 1
        JP 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
sw      EQU $-4
        DB 22,7,1,"+",13
        DB 22,8,1,"-",13
        DB 22,1,1,13
        DB "Level 000",13
lw      EQU $-4
        DB 22,7,2,"+",13
        DB 22,8,2,"-",13
        DB 22,1,2,13
        DB "Speed 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
        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
        CALL RAM
        LD HL,#A500
        LD DE,#C000
        LD BC,2048*2
        LDIR 

        LD A,#C0
        LD (rasch+1),A
        LD IX,cutix
        LD DE,BGE_SPR

        LD B,2
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
        CALL SaveWS
        LD HL,ECODE
        LD DE,ARWSPR
        LD BC,10*2
        LDIR 

        LD A,#40
        LD (rasch+1),A
        JP outpgn

lngfx   EQU $-LdGfx

;----------------------------
LMisc=$-Misc
        ENT 

