Subversion Repositories pentevo

Rev

Rev 831 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
548 savelij 1
 
1186 savelij 2
; LAST UPDATE: 06.02.2025 savelij
548 savelij 3
 
4
PRTT_MSG        LD A,(HL)
5
                AND A
6
                RET Z
7
                CALL PRTT_UPR
8
                INC HL
9
                JR PRTT_MSG
10
 
11
PRTT_UPR        CP " "
12
                JP NC,PRTT_A_
1186 savelij 13
                CP 0x16
548 savelij 14
                JR Z,PRTT_COD16
1186 savelij 15
                CP 0x17
548 savelij 16
                JR Z,PRTT_COD17
17
                CP 9
18
                RET NZ
19
PRTT_COD09      LD A,D
20
                ADD A,8
1186 savelij 21
                AND 0xF8
548 savelij 22
                LD D,A
23
                RET
24
 
25
PRTT_COD17      INC HL
26
                LD A,(HL)
1186 savelij 27
                LD (TXT_COLOR),A                ; ⠭ 梥 
548 savelij 28
                RET
29
 
30
PRTT_COD16      INC HL
1186 savelij 31
                LD E,(HL)                       ; X 
548 savelij 32
                INC HL
1186 savelij 33
                LD D,(HL)                       ; Y 
548 savelij 34
                RET
35
 
1186 savelij 36
;  ᨬ  ⥪⬮ ࠭
37
; D-X E-Y C-COLOR
585 savelij 38
PRTT_A_         PUSH DE
548 savelij 39
                PUSH HL
40
                PUSH AF
41
                LD L,E
42
                LD A,D
43
                LD H,0
44
                LD D,H
1186 savelij 45
                ADD HL,HL       ; x2
46
                ADD HL,HL       ; x4
47
                ADD HL,HL       ; x8
48
                ADD HL,HL       ; x16
49
                ADD HL,HL       ; x32
50
                ADD HL,HL       ; x64
548 savelij 51
                LD E,A
52
                SRL E
53
                ADD HL,DE
54
                AND 1
55
                RRCA
56
                RRCA
57
                RRCA
58
                RRCA
585 savelij 59
                ADD A,HIGH (CPU3+LSYM)
548 savelij 60
                LD D,A
585 savelij 61
                LD E,LOW (CPU3+LSYM)
548 savelij 62
                ADD HL,DE
63
                POP AF
64
                LD (HL),A
65
                LD A,H
1186 savelij 66
                XOR 0x30
548 savelij 67
                LD H,A
68
                LD A,D
1186 savelij 69
                AND 0x10
548 savelij 70
                RLCA
71
                RLCA
72
                RLCA
73
                RLCA
74
                ADD A,L
75
                LD L,A
76
                LD A,(TXT_COLOR)
573 savelij 77
                INC A
78
                JR Z,PRTT_A1
79
                DEC A
548 savelij 80
                LD (HL),A
573 savelij 81
PRTT_A1         POP HL
548 savelij 82
                POP DE
83
                INC D
84
                RET
85
 
1186 savelij 86
; ⪠ ⥪⬮ ࠭
87
CLS_TXTMODE8    LD BC,0xFF77
88
                LD A,0xAF
548 savelij 89
                OUT (C),A
1186 savelij 90
        EVOPORT WIN_P3,0xF7
548 savelij 91
                LD A," "
573 savelij 92
                LD HL,CPU3+LSYM
93
                CALL CLSTXTMD1
94
                LD HL,CPU3+RSYM
95
                CALL CLSTXTMD1
585 savelij 96
                LD A,MAGIC_COLOR
573 savelij 97
                LD HL,CPU3+LATTR
98
                CALL CLSTXTMD1
99
                LD HL,CPU3+RATTR
100
CLSTXTMD1       EX AF,AF'
101
                LD A,25
102
                LD B,0
103
CLSTXTMD2       EX AF,AF'
104
                LD (HL),A
105
                EX AF,AF'
106
                LD D,H
548 savelij 107
                LD E,L
108
                INC DE
573 savelij 109
                LD C,39
548 savelij 110
                LDIR
573 savelij 111
                LD C,25
112
                ADD HL,BC
113
                DEC A
114
                JR NZ,CLSTXTMD2
115
                EX AF,AF'
548 savelij 116
                RET
117
 
1186 savelij 118
; ࠭ ⥪⬮ ࠭
119
STORE_TXTMODE
120
        EVOPORT WIN_P3,0xF7
121
                LD B,HIGH (WIN_P1)
736 savelij 122
                LD A,RAM_TEMP
585 savelij 123
                OUT (C),A
1186 savelij 124
                LD DE,CPU1+OFFSET_SCRSAVE
573 savelij 125
                LD HL,CPU3+LSYM
126
                CALL STORETXTMD1
127
                LD HL,CPU3+RSYM
128
                CALL STORETXTMD1
129
                LD HL,CPU3+LATTR
130
                CALL STORETXTMD1
131
                LD HL,CPU3+RATTR
132
STORETXTMD1     LD A,25
133
                LD B,0
134
STORETXTMD2     LD C,40
548 savelij 135
                LDIR
573 savelij 136
                LD C,24
137
                ADD HL,BC
138
                DEC A
139
                JR NZ,STORETXTMD2
140
                RET
548 savelij 141
 
1186 savelij 142
; ⠭ ⥪⬮ ࠭
143
RESTORE_TXTMODE
144
        EVOPORT WIN_P3,0xF7
145
                LD B,HIGH (WIN_P1)
736 savelij 146
                LD A,RAM_TEMP
585 savelij 147
                OUT (C),A
1186 savelij 148
                LD DE,CPU1+OFFSET_SCRSAVE
573 savelij 149
                LD HL,CPU3+LSYM
150
                CALL RESTORETXTMD1
151
                LD HL,CPU3+RSYM
152
                CALL RESTORETXTMD1
153
                LD HL,CPU3+LATTR
154
                CALL RESTORETXTMD1
155
                LD HL,CPU3+RATTR
156
RESTORETXTMD1   LD A,25
157
                LD B,0
158
RESTORETXTMD2   LD C,40
159
                EX DE,HL
548 savelij 160
                LDIR
573 savelij 161
                EX DE,HL
162
                LD C,24
163
                ADD HL,BC
164
                DEC A
165
                JR NZ,RESTORETXTMD2
166
                RET
548 savelij 167
 
646 savelij 168
MAGIC_FONT      LD HL,CP866_FONT
169
                LD DE,CPU1+OFFSET_BUFSYM
573 savelij 170
                PUSH DE
1186 savelij 171
        ROMCALL UNPACK,ROM_RST80
585 savelij 172
 
573 savelij 173
                LD HL,SYM00
1186 savelij 174
                LD DE,CPU1+OFFSET_BUFSYM+0xF2*8
573 savelij 175
                LD BC,END_MAGICSYM-SYM00
1186 savelij 176
                LDIR                            ;  ᯥ ᨬ  
585 savelij 177
 
1186 savelij 178
                LD BC,0x800
573 savelij 179
                POP HL
548 savelij 180
                LD DE,0
1186 savelij 181
        PEC_ON M_SHADOW_BF+M_FONT_BF
182
                LDIR                            ; ⠭ MAGIC font
183
        PEC_OFF M_FONT_BF
548 savelij 184
                RET
185
 
1186 savelij 186
RESTORE_FONT
187
        EVOPORT WIN_P1,RAM_SCR_FONT
678 savelij 188
                LD HL,CPU1+OFFSET_FNTSAVE
548 savelij 189
                LD DE,0
1186 savelij 190
                LD BC,0x800
191
        PEC_ON M_SHADOW_BF+M_FONT_BF
548 savelij 192
                LDIR
1186 savelij 193
        PEC_OFF M_FONT_BF
548 savelij 194
                RET