;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