;LAST UPDATE: 30.06.2019 savelij
 
 
 
PRTT_MSG        LD A,(HL)
 
                AND A
 
                RET Z
 
                CALL PRTT_UPR
 
                INC HL
 
                JR PRTT_MSG
 
 
 
PRTT_UPR        CP " "
 
                JP NC,PRTT_A_
 
                CP 0X16
 
                JR Z,PRTT_COD16
 
                CP 0X17
 
                JR Z,PRTT_COD17
 
                CP 9
 
                RET NZ
 
PRTT_COD09      LD A,D
 
                ADD A,8
 
                AND 0XF8
 
                LD D,A
 
                RET
 
 
 
PRTT_COD17      INC HL
 
                LD A,(HL)
 
                LD (TXT_COLOR),A                ;УСТАНОВКА ЦВЕТА ПЕЧАТИ
 
                RET
 
 
 
PRTT_COD16      INC HL
 
                LD E,(HL)                       ;X ПОЗИЦИЯ
 
                INC HL
 
                LD D,(HL)                       ;Y ПОЗИЦИЯ
 
                RET
 
 
 
;ПЕЧАТЬ СИМВОЛА НА ТЕКСТМОДНОМ ЭКРАНЕ
 
;D-X E-Y C-COLOR
 
PRTT_A_         PUSH DE
 
                PUSH HL
 
                PUSH AF
 
                LD L,E
 
                LD A,D
 
                LD H,0
 
                LD D,H
 
                ADD HL,HL       ;X2
 
                ADD HL,HL       ;X4
 
                ADD HL,HL       ;X8
 
                ADD HL,HL       ;X16
 
                ADD HL,HL       ;X32
 
                ADD HL,HL       ;X64
 
                LD E,A
 
                SRL E
 
                ADD HL,DE
 
                AND 1
 
                RRCA
 
                RRCA
 
                RRCA
 
                RRCA
 
                ADD A,HIGH (CPU3+LSYM)
 
                LD D,A
 
                LD E,LOW (CPU3+LSYM)
 
                ADD HL,DE
 
                POP AF
 
                LD (HL),A
 
                LD A,H
 
                XOR 0X30
 
                LD H,A
 
                LD A,D
 
                AND 0X10
 
                RLCA
 
                RLCA
 
                RLCA
 
                RLCA
 
                ADD A,L
 
                LD L,A
 
                LD A,(TXT_COLOR)
 
                INC A
 
                JR Z,PRTT_A1
 
                DEC A
 
                LD (HL),A
 
PRTT_A1         POP HL
 
                POP DE
 
                INC D
 
                RET
 
 
 
;ОЧИСТКА ТЕКСТМОДНОГО ЭКРАНА
 
CLS_TXTMODE8    LD BC,0XFF77
 
                LD A,0XAF
 
                OUT (C),A
 
                EVOPORT WIN_P3,0XF7
 
                LD A," "
 
                LD HL,CPU3+LSYM
 
                CALL CLSTXTMD1
 
                LD HL,CPU3+RSYM
 
                CALL CLSTXTMD1
 
                LD A,MAGIC_COLOR
 
                LD HL,CPU3+LATTR
 
                CALL CLSTXTMD1
 
                LD HL,CPU3+RATTR
 
CLSTXTMD1       EX AF,AF'
 
                LD A,25
 
                LD B,0
 
CLSTXTMD2       EX AF,AF'
 
                LD (HL),A
 
                EX AF,AF'
 
                LD D,H
 
                LD E,L
 
                INC DE
 
                LD C,39
 
                LDIR
 
                LD C,25
 
                ADD HL,BC
 
                DEC A
 
                JR NZ,CLSTXTMD2
 
                EX AF,AF'
 
                RET
 
 
 
;СОХРАНЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
 
STORE_TXTMODE   EVOPORT WIN_P3,0XF7
 
                LD B,HIGH (WIN_P5)
 
                LD A,RAM_TEMP
 
                OUT (C),A
 
                LD DE,CPU5+OFFSET_SCRSAVE
 
                LD HL,CPU3+LSYM
 
                CALL STORETXTMD1
 
                LD HL,CPU3+RSYM
 
                CALL STORETXTMD1
 
                LD HL,CPU3+LATTR
 
                CALL STORETXTMD1
 
                LD HL,CPU3+RATTR
 
STORETXTMD1     LD A,25
 
                LD B,0
 
STORETXTMD2     LD C,40
 
                LDIR
 
                LD C,24
 
                ADD HL,BC
 
                DEC A
 
                JR NZ,STORETXTMD2
 
                RET
 
 
 
;ВОССТАНОВЛЕНИЕ ТЕКСТМОДНОГО ЭКРАНА
 
RESTORE_TXTMODE EVOPORT WIN_P3,0XF7
 
                LD B,HIGH (WIN_P5)
 
                LD A,RAM_TEMP
 
                OUT (C),A
 
                LD DE,CPU5+OFFSET_SCRSAVE
 
                LD HL,CPU3+LSYM
 
                CALL RESTORETXTMD1
 
                LD HL,CPU3+RSYM
 
                CALL RESTORETXTMD1
 
                LD HL,CPU3+LATTR
 
                CALL RESTORETXTMD1
 
                LD HL,CPU3+RATTR
 
RESTORETXTMD1   LD A,25
 
                LD B,0
 
RESTORETXTMD2   LD C,40
 
                EX DE,HL
 
                LDIR
 
                EX DE,HL
 
                LD C,24
 
                ADD HL,BC
 
                DEC A
 
                JR NZ,RESTORETXTMD2
 
                RET
 
 
 
MAGIC_FONT      LD HL,CP866_FONT
 
                LD DE,CPU1+OFFSET_BUFSYM
 
                PUSH DE
 
                ROMCALL UNPACK,ROM_RST80
 
 
 
                LD HL,SYM00
 
                LD DE,CPU1+OFFSET_BUFSYM+0XF2*8
 
                LD BC,END_MAGICSYM-SYM00
 
                LDIR                            ;ДОБАВЛЕНИЕ СПЕЦ СИМВОЛОВ В НАБОР
 
 
 
                LD BC,0X800
 
                POP HL
 
                LD DE,0
 
                PEC_ON M_SHADOW_BF+M_FONT_BF
 
                LDIR                            ;УСТАНОВКА MAGIC FONT
 
                PEC_OFF M_FONT_BF
 
                RET
 
 
 
RESTORE_FONT    EVOPORT WIN_P1,RAM_SCR_FONT
 
                LD HL,CPU1+OFFSET_FNTSAVE
 
                LD DE,0
 
                LD BC,0X800
 
                PEC_ON M_SHADOW_BF+M_FONT_BF
 
                LDIR
 
                PEC_OFF M_FONT_BF
 
                RET