;cтраница 7
 
TMOM    LD A,(CONTRB)
 
        AND %10000
 
        RET Z
 
        JR NZ,TMOM
 
 
 
;----работа с меню
 
bSETUP  ;нач
 
        XOR A
 
        LD (_S_CFt),A
 
        LD HL,TXC2-1
 
        LD (_S_CFx),HL
 
        ;
 
        LD HL,KEYJOY
 
        PUSH HL
 
        LD DE,S_kj
 
        LD BC,12
 
        LDIR
 
        LD HL,S_gSPD
 
        LD A,18
 
        SUB (HL)
 
        LD (HL),A
 
        DEC HL
 
        DEC (HL)
 
        LD HL,0
 
        LD (S_kb),HL
 
        POP HL
 
        LD A,(HL)
 
        OR A
 
        RET NZ
 
        LD HL,(KEYS)
 
        LD DE,KBR
 
        SBC HL,DE
 
        LD HL,S_kb
 
        JR Z,bSE1
 
        INC HL
 
bSE1    INC (HL)
 
        RET
 
 
 
SETUP    CALL bSETUP ;вх.уст
 
         CALL TMOM
 
         CALL oSETUP
 
         JP eSETUP
 
 
 
oSETUP  ;блок настроек
 
        CALL STD ;????
 
        if EGA
 
;выключить стрелочку 
 
;стереть стрелочку
 
        LD A,2
 
        LD (V_FLAG),A
 
        CALL V_PUT1
 
        endif        
 
        LD HL,setuTB
 
        LD B,6
 
sup1    PUSH BC
 
        LD E,(HL)
 
        INC HL
 
        LD D,(HL)
 
        INC HL
 
        LD C,(HL)
 
        INC HL
 
        LD B,(HL)
 
        INC HL
 
        INC HL
 
        CALL MU_BOX
 
        POP BC
 
        DJNZ sup1
 
        ;выв текстов
 
        LD DE,#102
 
        LD HL,TXC1
 
        CALL PRINTS
 
        LD DE,#402
 
        LD HL,TXM2
 
        CALL PRINTS
 
        LD DE,#502
 
        LD HL,TXM3
 
        CALL PRINTS
 
        LD DE,#602
 
        LD HL,TXM4
 
        CALL PRINTS
 
        LD DE,#903
 
        LD HL,TXM5
 
        CALL PRINTS
 
        LD DE,#C02
 
        LD HL,TX_MUS
 
        CALL PRINTS
 
        LD DE,#D02
 
        LD HL,TX_EFF
 
        CALL PRINTS
 
        LD DE,#E02
 
        LD HL,TXcolr
 
        CALL PRINTS
 
        LD DE,#F02
 
        LD HL,TXdisc
 
        CALL PRINTS
 
        LD DE,#1202
 
        LD HL,TXM9
 
        CALL PRINTS
 
        LD DE,#1502
 
        LD HL,TXM10
 
        CALL PRINTS
 
        ;раскрас
 
        LD HL,setuTB
 
        CALL STS
 
        LD B,6
 
sup2    PUSH BC
 
        LD E,(HL)
 
        INC HL
 
        LD D,(HL)
 
        INC HL
 
        LD B,(HL)
 
        INC HL
 
        LD C,(HL)
 
        INC HL
 
        LD A,(HL)
 
        INC HL
 
        PUSH HL
 
        EX DE,HL
 
        LD E,A
 
        CALL ATRBAR
 
        POP HL
 
        POP BC
 
        DJNZ sup2
 
        if EGA
 
;прочитать стрелочку
 
;включить стрелочку
 
        CALL V_GET1
 
        xor a
 
        LD (V_FLAG),A
 
        else
 
        LD HL,#2828
 
        LD (ATR+532),HL
 
        LD (ATR+564),HL
 
        LD HL,#3939
 
        LD (ATR+468),HL
 
        LD (ATR+436),HL
 
        endif
 
Setup0
 
        if EGA==0
 
        CALL BLITE2 ;иначе мигает
 
        endif
 
        CALL oSETpr
 
 
 
        if EGA
 
        LD A,2
 
        LD (V_FLAG),A ;cursor off
 
        CALL V_PUT1 ;visible screen
 
        endif
 
        
 
        CALL Copper
 
        
 
        if EGA
 
        CALL V_GET1
 
        call V_MRK1 ;на видимом экране (в это время G_MX не обновляется, т.к. стрелочка выключена)
 
        xor a
 
        LD (V_FLAG),A ;cursor on
 
        endif
 
        
 
        CALL BMOV
 
        CALL fSzone
 
        HALT ;YIELD никогда не попадёт в наш перехваченный обработчик прерываний
 
        JR Setup0
 
 
 
BLITE2  CALL BLITER ;копируем на экран, рисуем курсор
 
        JP V_PUT2 ;стираем курсор
 
 
 
TXM2    DEFB 22,59,48,50,56,48,66,67,64,48, 10, 32,12,26,28,24, 127
 
TXM3    DEFB 20,61,66,53,64,68,53,57,65, 10, 02, 127
 
TXM4    DEFB 22,53,60,63,65,66,62,61, 10, 52,54,62,57,65,66,56,58, 127
 
TXM5    DEFB 22,53,60,63,65,66,62,61, 10, 60,75,72,58,48, 127
 
TX_MUS  DEFB 12,86,10,24,67,55,75,58,48, 127
 
TX_EFF  DEFB 12,86,10,40,68,68,53,58,66,75, 127
 
TXcolr  DEFB 34,50,53,66,61,48,79,10,56,51,64,48, 127
 
TXdisc  DEFB 26,66,51,64,67,55,58,56,10,61,48,10,87,12,88, 127
 
TXM9    DEFB 24,84,81,10,10, 22,67,64,65,62,64,10,10, 24,12,33,127
 
TXM10   DEFB 24,84,81,10, 29,58,62,64,62,65,66,74,10
 
        DEFB 56,51,64,75,10, 24,12,33,127
 
 
 
 
 
;врем парм - порядок неизm
 
S_kb    DEFB 1
 
S_in2   DEFB 0
 
S_kj    DEFB 0
 
 
 
S_km    DEFB 0 ;начальное значение не влияет? см. PMOUSE
 
S_ayM   DEFB 1
 
S_ayE   DEFB 0
 
S_colr  DEFB 1
 
S_disk  DEFB 0
 
S_cSPD  DEFB 4
 
S_gSPD  DEFB 16
 
S_ani   DEFB 1
 
S_vis   DEFB 0
 
S_gsML  DEFB 15 ;unus
 
S_gsEL  DEFB 2 ;
 
 
 
_S_cnt  DEFB 1
 
_S_cn_  DEFB 1
 
_S_CFx  DEFW 0
 
_S_CFt  DEFB 0
 
_S_CFc  DEFB 0
 
 
 
_oSlet  LD A,12
 
        JR _oSpx1
 
        ;
 
_oSpx   LD A,96
 
_oSpx1  ADD A,(HL)
 
        INC HL
 
        CALL PRINT
 
        INC D
 
        DEC E
 
        RET
 
 
 
oSETpr  ;выв парм. сетупа
 
        CALL STD
 
        LD DE,#414
 
        LD HL,S_kb
 
        LD B,3
 
oSP1    CALL _oSpx
 
        DJNZ oSP1
 
        LD DE,#912
 
        CALL _oSpx
 
        LD B,3
 
        LD DE,#C0F
 
oSP2    CALL _oSpx
 
        DJNZ oSP2
 
        CALL _oSlet
 
        LD DE,#1302
 
        LD B,14
 
        CALL _oSlin
 
        LD DE,#1602
 
        LD B,19
 
        CALL _oSlin
 
        LD A,(S_ani)
 
        OR A
 
        LD A,113
 
        JR NZ,oSP3
 
        LD A,56
 
oSP3    LD DE,#B014
 
        CALL _oSani
 
        CALL ANIMTR
 
        LD A,(S_vis)
 
        CALL _shdw
 
        LD A,49
 
        LD DE,#A8B4
 
        JP _oSani
 
 
 
_oSlin  ;выв рулера (B-длина)
 
        LD A,92
 
        CALL PRINT
 
_oSl1   LD A,93
 
        CALL PRINT
 
        DJNZ _oSl1
 
        LD A,95
 
        CALL PRINT
 
        LD A,(HL)
 
        INC HL
 
        ADD A,3
 
        LD E,A
 
        LD A,94
 
        JP PRINT
 
 
 
SzoneT  ;X,widhtX, Y,widhtY
 
        DEFB 2,20, 4,3
 
        DEFB 3,16, 9,1
 
        DEFB 2,15, 12,4
 
        DEFB 3,14, 18,3
 
        DEFB 3,19, 21,3
 
        DEFB 19,4, 12,3
 
        DEFB 19,4, 16,3
 
        DEFB 24,8, 0,24
 
 
 
 
 
SFU5    LD HL,S_vis;темнота
 
        JR SFU_
 
 
 
SFU6    LD HL,S_ani
 
        JR SFU_
 
 
 
SFU0    LD HL,S_kb ;тип упр
 
        PUSH HL
 
        LD (HL),0
 
        INC HL
 
        LD (HL),0
 
        INC HL
 
        LD (HL),0
 
        POP HL
 
        CALL BA
 
        INC (HL)
 
        RET
 
 
 
SFU1    LD HL,S_km;мыша
 
SFU_    LD A,(_S_cnt)
 
        OR A
 
        RET NZ
 
        LD A,(HL)
 
        XOR 1
 
        LD (HL),A
 
        RET
 
 
 
SFU2    EX AF,AF
 
        LD A,(_S_cnt)
 
        OR A
 
        RET NZ
 
        EX AF,AF
 
        LD HL,S_ayM ;тип муз
 
        CALL BA
 
        XOR 1
 
        LD (HL),A
 
        RET
 
 
 
SFU3    LD A,(BX)
 
        SUB 3
 
        LD (S_cSPD),A
 
        RET
 
 
 
SFU4    LD A,(BX)
 
        SUB 3
 
        LD (S_gSPD),A
 
        RET
 
 
 
SFU7    ;return
 
        LD A,(_S_cnt)
 
        OR A
 
        RET NZ
 
        POP AF;!
 
        RET
 
 
 
SzoneF  DEFW SFU0,SFU1,SFU2,SFU3,SFU4,SFU5,SFU6,SFU7
 
fSzone  ;ф-ции по зонам
 
        LD HL,_S_cn_
 
        LD A,(HL)
 
        LD (_S_cnt),A
 
        LD A,(CONTRB)
 
        LD (HL),A
 
        AND %10000
 
        RET Z
 
fS4     LD B,0
 
        LD HL,SzoneT
 
fS0     PUSH HL
 
        CALL _fSzs
 
        POP HL
 
        JR C,fS1
 
        INC HL
 
        INC HL
 
        INC HL
 
        INC HL
 
        INC B
 
        LD A,B
 
        CP 8; макс число зон
 
        JR C,fS0
 
        RET NC
 
fS1     PUSH AF
 
        LD A,B
 
        LD HL,SzoneF
 
        CALL WT
 
        POP AF
 
        JP (HL)
 
 
 
_fSzs   LD DE,(BX)
 
        LD A,E
 
        SUB (HL)
 
        INC HL
 
        CP (HL)
 
        RET NC
 
        LD A,D
 
        INC HL
 
        SUB (HL)
 
        INC HL
 
        CP (HL)
 
        RET
 
 
 
TXC1    DEFB 10,10,10,10,35,80,64,61,75,57, 10
 
        DEFB 14,62,64,62,61, 10,10,10,10,127
 
TXC2    DEFB 12,50,66,62,64, 10
 
        DEFB 14,45,29,45,24,53,52,61,62,61,62,51,62,50, 127
 
TXC3    DEFB 29,26,28,28,17,82,10,85,17,17,30,10,10,87,65,88,1,9,9,7,127
 
TXC4    DEFB 10,10,10, 29,48,61,58,66,91,27,53,66,53,64,49,67,64,51
 
        DEFB 10,10,10, 127, 126
 
 
 
        if 1==0
 
;-----pM
 
 
 
tst60a  PUSH DE ;[**] на вх. =#C9
 
        PUSH AF
 
tst60   ADD A,(HL) ;[**]
 
        INC HL
 
        DEC C
 
        JR NZ,tst60
 
        DEC B
 
        JR NZ,tst60
 
        LD HL,#DB00
 
        CP (HL)
 
        RET NZ;err
 
        POP AF
 
        POP HL
 
        LD (tst60a),HL
 
        RET
 
        endif
 
 
 
Copper  LD HL,(_S_CFx)
 
        LD A,(HL)
 
        CP 127
 
        JR NZ,Cop1
 
        LD HL,_S_CFt
 
        INC (HL)
 
        LD A,(HL)
 
        CP 60
 
        RET C
 
        LD A,2
 
        LD (_S_CFc),A
 
        LD (_S_CFt),A
 
        LD HL,(_S_CFx)
 
        INC HL
 
        LD A,(HL)
 
        CP 126
 
        JR NZ,Cop2
 
        LD HL,TXC1
 
Cop2    LD (_S_CFx),HL
 
        RET
 
Cop1    LD HL,_S_CFc
 
        LD E,(HL)
 
        INC (HL)
 
        LD D,1
 
        LD HL,(_S_CFx)
 
        LD A,(HL)
 
        INC HL
 
        LD (_S_CFx),HL
 
        CALL PRINT
 
        RET
 
 
 
eSETUP  ;out menu
 
        LD HL,S_kj
 
        PUSH HL
 
        LD DE,KEYJOY
 
        LD BC,12
 
        LDIR
 
        LD HL,SLOW
 
        LD A,18
 
        SUB (HL)
 
        LD (HL),A
 
        DEC HL
 
        INC (HL)
 
        POP HL
 
        LD A,(HL)
 
        OR A
 
        RET NZ
 
        DEC HL
 
        LD A,(HL)
 
        OR A
 
        LD HL,KBR
 
        JR Z,eSE1
 
        LD HL,INT2
 
eSE1    LD (KEYS),HL
 
        RET
 
 
 
 
 
 
 
TXMM1   DEFB 31,65,66,48,61,62,50,56,66,74,10, 62,63,70,56,56,127
 
TXMM2   DEFB 10,29,62,69,64,48,61,56,66,74, 10, 56,51,64,67,127
 
TXMM3   DEFB 17,73,80,10, 62,52,61,48,10, 63,62,63,75,66,58,48,127
 
TXMM4   DEFB 10,19,48,58,62,61,71,56,66,74,10, 56,51,64,67,127
 
 
 
M_MENU  ;>>главное меню
 
        LD A,2
 
        LD (V_FLAG),A ;cursor off
 
        if EGA
 
        CALL V_PUT1 ;visible screen
 
        endif
 
        
 
        CALL STS
 
        ;пункты
 
        LD B,4
 
        LD HL,#403
 
M_M1    PUSH BC
 
        PUSH HL
 
        LD BC,#312
 
        LD E,#7A
 
        CALL ATRBAR
 
        LD BC,#1203
 
        POP DE
 
        PUSH DE
 
        CALL MU_BOX
 
        POP HL
 
        INC H
 
        INC H
 
        INC H
 
        INC H
 
        POP BC
 
        DJNZ M_M1
 
        LD HL,TXMM1
 
        LD DE,#504
 
        LD B,4
 
M_M2    PUSH DE
 
        CALL PRINTS
 
        INC HL
 
        POP DE
 
        INC D
 
        INC D
 
        INC D
 
        INC D
 
        DJNZ M_M2
 
 
 
        if EGA
 
        CALL V_GET1
 
        call V_MRK1 ;на видимом экране (в это время G_MX не обновляется, т.к. стрелочка выключена)
 
        endif
 
        XOR A
 
        LD (V_FLAG),A ;cursor on
 
        ;опрос гл.меню
 
        CALL TMOM
 
M_M3    CALL Mfunc
 
        LD B,4
 
        LD HL,#1003
 
M_M30   LD A,D
 
        INC A
 
        CP B
 
        LD E,#7A
 
        JR NZ,M_M31
 
        LD E,#71
 
M_M31   PUSHs
 
        LD BC,#312
 
        CALL ATRBAR
 
        POPs
 
        DEC H
 
        DEC H
 
        DEC H
 
        DEC H
 
        DJNZ M_M30
 
        HALT
 
        LD A,(CONTRB)
 
        AND %10000
 
        JR Z,M_M3
 
        ;по ф-циям
 
        LD A,D
 
        CP #FF
 
        RET Z
 
        OR A
 
        JP Z,SETUP ;-в уст
 
        CP 2
 
        JP C,M_M9
 
        PUSH AF
 
        ;exit menu
 
        LD A,2
 
        LD (V_FLAG),A
 
        CALL V_PUT1
 
        LD HL,TXMMex
 
        LD DE,#1104
 
        POP AF
 
        PUSH AF
 
        JR NZ,M_M5
 
        LD HL,TXMrst
 
        LD D,#D
 
M_M5    CALL PRINTS
 
        CALL YES_NO
 
        JR Z,M_M6
 
        POP AF ;No
 
        RET
 
M_M6    POP AF
 
        JP Z,LODrtr
 
        ;exit
 
        
 
        if 1==1
 
;NedoOS
 
        call swapimer
 
        im 1
 
        call shutay ;outSND уже затёрт?
 
        ei
 
        halt ;чтобы кнопка была поймана системой
 
        GET_KEY ;вычитать кнопку Y
 
        QUIT
 
shutay
 
        ld de,0xe00
 
shutay0
 
        dec d
 
        ld bc,0xfffd
 
        out (c),d
 
        ld b,0xbf
 
        out (c),e
 
        jr nz,shutay0
 
        ret
 
 
 
        else
 
        
 
        DI
 
        LD HL,#4000
 
        LD DE,#4001
 
        LD (HL),4
 
        LD B,#20
 
        LDIR
 
        XOR A
 
        LD BC,#7FFD
 
        JP M_Mexi
 
        endif
 
 
 
YES_NO  LD BC,#DFFE  ;Z-Yes/NZ-No
 
        IN A,(C)
 
        AND #10
 
        RET Z
 
        LD B,#7F
 
        IN A,(C)
 
        CPL
 
        AND 8
 
        RET NZ
 
        JR YES_NO
 
 
 
Mfunc   CALL BMOV ;(D:=#FF,0-3)
 
        LD D,#FF
 
        LD A,(BX)
 
        CP 3
 
        RET C
 
        CP 21
 
        RET NC
 
        LD A,(BY)
 
        SUB 4
 
        RET C
 
        CP 16
 
        RET NC
 
        LD E,A
 
        AND 3
 
        CP 3
 
        RET Z
 
        LD D,E
 
        SRL D
 
        SRL D
 
        RET
 
 
 
TXMMex  DEFB 27,64,62,73,48,53,60,65,79,10,87,86,90,81,88,44,127
 
TXMrst  DEFB 10,28,53,65,66,48,64,66,10,87,86,90,81,88,44,10,127
 
TXMsav  DEFB 61,48,10,52,56,65,58,10,00,43,87,86,90,81,88,44,127 ;на диск Х
 
 
 
M_M9    ;меню save
 
        INC A
 
        LD (V_FLAG),A
 
        CALL V_PUT2
 
        LD HL,#606
 
        PUSH HL
 
        LD BC,#C0C
 
        PUSH BC
 
        LD E,#4
 
        CALL ATRBAR
 
        POP BC
 
        POP DE
 
        CALL MU_BOX
 
        LD B,8
 
        LD DE,#F08
 
        LD HL,TXMgme
 
M_M90   PUSHs
 
        LD A,B
 
        LD (TXMgme+7),A
 
        CALL PRINTS
 
        POPs
 
        DEC D
 
        DJNZ M_M90
 
        CALL V_GET1
 
        XOR A
 
        LD (V_FLAG),A
 
        CALL TMOM
 
M_M91   HALT
 
        CALL BMOV
 
        LD D,#FF
 
        LD HL,(BX)
 
        LD A,L
 
        SUB 6
 
        CP 12
 
        JR NC,M_M92
 
        LD A,H
 
        SUB 8
 
        CP 8
 
        JR NC,M_M92
 
        LD D,A
 
M_M92   LD B,8
 
        LD HL,#F06
 
M_M94   PUSHs
 
        LD A,D
 
        INC A
 
        CP B
 
        LD E,#4
 
        JR NZ,M_M93
 
        LD E,#4F
 
M_M93   LD BC,#10C
 
        CALL ATRBAR
 
        POPs
 
        DEC H
 
        DJNZ M_M94
 
        LD A,(CONTRB)
 
        AND %10000
 
        JR Z,M_M91
 
        CALL TMOM
 
        LD A,D
 
        CP #FF
 
        RET Z
 
        PUSH AF
 
        LD A,2
 
        LD (V_FLAG),A
 
        CALL V_PUT1
 
        LD BC,#0414
 
        LD HL,#1102
 
        LD E,#57
 
        PUSH HL
 
        CALL ATRBAR
 
        POP DE
 
        LD BC,#1404
 
        CALL MU_BOX
 
        LD HL,TXMM2
 
        LD DE,#1204
 
        CALL PRINTS
 
        LD A,(SAVDSK)
 
        ADD A,12
 
        LD (TXMsav+8),A
 
        LD DE,#1304
 
        LD HL,TXMsav
 
        CALL PRINTS
 
        CALL YES_NO
 
        POP BC
 
        RET NZ
 
        LD A,B
 
        JP SAVgam
 
 
 
;----окончание
 
MU_END  ;A=1/2 -победа/поражение
 
        PUSH AF
 
        CALL STS
 
        LD A,2
 
        LD (V_FLAG),A
 
        CALL V_PUT1
 
        POP AF
 
        DEC A
 
        JR NZ,meMIS
 
        ;победа
 
        LD DE,#701
 
        PUSH DE
 
        LD BC,#160C
 
        CALL MU_BOX
 
        POP HL
 
        LD BC,#0C16
 
        LD E,%01001110
 
        CALL ATRBAR
 
        LD DE,#909
 
        LD HL,Evic1
 
        CALL PRINTS
 
        LD DE,#A03
 
        LD HL,Evic2
 
        CALL PRINTS
 
        LD DE,#C05
 
        CALL TUtime
 
        LD DE,#1004
 
        LD HL,TXMM2
 
        CALL PRINTS
 
        LD DE,#1109
 
        LD HL,Ey_n
 
        CALL PRINTS
 
        ATRs #1005,#20E,%01011110
 
        CALL YES_NO
 
        CALL Z,M_M9
 
        JP LODnxt
 
meMIS   ;поражение
 
        LD DE,#802
 
        PUSH DE
 
        LD BC,#140A
 
        CALL MU_BOX
 
        POP HL
 
        LD BC,#A14
 
        LD E,%01111010
 
        CALL ATRBAR
 
        LD DE,#A06
 
        LD HL,Emis1
 
        CALL PRINTS
 
        LD DE,#C07
 
        LD HL,Emis2
 
        CALL PRINTS
 
        LD DE,#F05
 
        PUSH DE
 
        LD HL,Emis3
 
        CALL PRINTS
 
        POP HL
 
        LD BC,#10F
 
        LD E,%01101010
 
        CALL ATRBAR
 
        CALL bWAIT
 
        CALL TMOM
 
        JP LODrtr
 
 
 
setuTB  DEFW #0000,#1807
 
        DEFB #31
 
        DEFW #0B01,#170D
 
        DEFB #4E
 
        DEFW #0800,#1509
 
        DEFB #69
 
        DEFW #0301,#1507
 
        DEFB #7A
 
        DEFW #0802,#1203
 
        DEFB #7B
 
        DEFW #0C13,#0407
 
        DEFB #60
 
 
 
;----- п/п вывода панели
 
 
 
oMN_WD  ;вывод денег/леcа
 
        LD HL,(MONEY1)
 
        LD A,L
 
        OR H
 
        JR NZ,oMN1WD
 
        LD HL,(WOOD1)
 
        LD A,L
 
        OR H
 
        JR NZ,oMN1WD
 
        LD HL,ATR+57
 
        EXX
 
        LD DE,#119
 
        LD HL,MONEY
 
        CALL outmw
 
        LD HL,ATR+121
 
        EXX
 
        LD DE,#319
 
        LD HL,WOOD
 
outmw   LD C,0
 
om0     LD A,(HL)
 
        INC HL
 
        OR A
 
        JR NZ,om2
 
        CP C
 
        JR NZ,om2
 
        LD A,11
 
        LD B,#50
 
        JR om1
 
om2     INC C
 
        LD B,#68
 
om1     CALL MONEYPRINT
 
        if EGA==0
 
        LD A,B
 
        EXX
 
        LD (HL),A
 
        INC HL
 
        EXX
 
        endif
 
        LD A,E
 
        CP #1E
 
        JR C,om0
 
        RET NZ
 
        LD A,(HL)
 
        JR om2
 
 
 
oMN1WD  LD HL,ATR+57 ;альт.вывод
 
        EXX
 
        LD DE,#119
 
        LD HL,MONEY1+1
 
        CALL out1mw
 
        LD HL,ATR+121
 
        EXX
 
        LD DE,#319
 
        LD HL,WOOD1+1
 
out1mw  LD C,0
 
        LD A,11
 
        CALL MONEYPRINT
 
        LD A,11
 
        CALL MONEYPRINT
 
        if EGA==0
 
        EXX
 
        LD (HL),#50
 
        INC HL
 
        LD (HL),#50
 
        INC HL
 
        EXX
 
        endif
 
o1m8    CALL o1m0
 
o1m0    LD A,(HL)
 
        RLCA
 
        RLCA
 
        RLCA
 
        RLCA
 
        CALL o1m7
 
        LD A,(HL)
 
        LD (HL),0
 
        DEC HL
 
o1m7    AND #F
 
        OR A
 
        JR NZ,o1m2
 
        CP C
 
        JR NZ,o1m2
 
        LD A,E
 
        CP #1E
 
        LD A,0
 
        JR NC,o1m2
 
        LD A,11
 
        LD B,#50
 
        JR o1m1
 
o1m2    INC C
 
        LD B,#58
 
o1m1    CALL MONEYPRINT
 
        if EGA==0
 
        LD A,B
 
        EXX
 
        LD (HL),A
 
        INC HL
 
        EXX
 
        endif
 
        RET
 
 
 
TX48x7  
 
;выв.назв.героя
 
        if EGA
 
        ld a,24;29
 
        call _128
 
        LD A,2
 
        LD (V_FLAG),A ;выключить стрелочку
 
        CALL V_PUT1 ;на видимом экране
 
        LD de,(TX_AD) ;выв.назв.героя (переменная в 8000+!)
 
        call setpgsscr40008000_current
 
        call TX48x7doscr ;на выходе должна поставить pgmain
 
        CALL V_GET1
 
        call V_MRK1 ;на видимом экране (в это время G_MX не обновляется, т.к. стрелочка выключена)
 
        xor a
 
        LD (V_FLAG),A ;включить стрелочку
 
        CALL V_PUT2 ;на рисуемом экране
 
        LD de,(TX_AD) ;выв.назв.героя (переменная в 8000+!)
 
        call setpgsscr40008000 ;на рисуемом экране
 
        call TX48x7doscr ;на выходе должна поставить pgmain
 
        jp V_GET_MRK2 ;на рисуемом экране
 
TX48x7doscr
 
        ld hl,scrbase+(65*40)+25
 
        ld bc,0x0718
 
        jp primgega_pixsz
 
        else ;~EGA
 
        LD HL,(TX_AD) ;выв.назв.героя
 
        LD E,(HL)
 
        INC HL
 
        LD D,(HL)
 
        INC HL
 
        LD (SET_SP+1),SP
 
        LD SP,HL
 
        LD HL,SCR+#900+25
 
        LD B,3
 
T4S0    LD (HL),E
 
        INC H
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        INC H
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        INC H
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        LD H,SCR/256+9
 
        INC L
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        INC H
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        INC H
 
        LD (HL),D
 
        INC H
 
        POP DE
 
        LD (HL),E
 
        INC H
 
        LD (HL),D
 
        POP DE
 
        LD H,SCR/256+9
 
        INC L
 
        DJNZ T4S0
 
        JP SET_SP
 
        endif
 
 
 
OUTBAR  ;общий вывод панели
 
;TODO выводить это всё на двух экранах и обвязать стиранием стрелочки
 
        CALL STS
 
;;      LD HL,WFONT
 
;;      LD (FONT),HL
 
        CALL oMN_WD
 
        CALL outTX
 
        CALL oINDY
 
        if EGA
 
        call clearbuttonframes ;затирает рамки кнопок (немножко срезает с левой цифры)
 
        CALL oBUT ;не перерисовывает кнопки, если они не изменились?
 
        CALL outNUM ;
 
        CALL outSQR
 
        else
 
        CALL outSQR
 
        CALL oBUT
 
        CALL outNUM
 
        endif
 
        JP outLED
 
 
 
        ;ds #FFFE-$
 
        ;nop ;CHK_7     DEFB #EE; [**B] чек-сум7 7:#FFFE
 
        ;ds 1