        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 

