Rev 821 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
507 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 14.02.2025 savelij |
585 | savelij | 3 | |
1186 | savelij | 4 | ; ࠭ ᪠ ࠭ |
5 | SAVE2X2 LD HL,SYSFLAGS |
||
6 | BIT SYSFLAGS.B_VIDEO_MODE,(HL) |
||
585 | savelij | 7 | RET NZ |
8 | LD HL,(ADR_REST) |
||
507 | savelij | 9 | LD DE,MOUSE_BUFF |
10 | LD B,8 |
||
1186 | savelij | 11 | .L1 LD A,(HL) |
507 | savelij | 12 | LD (DE),A |
13 | INC DE |
||
14 | INC L |
||
15 | LD A,(HL) |
||
16 | LD (DE),A |
||
17 | INC DE |
||
18 | DEC L |
||
19 | CALL INC_H |
||
1186 | savelij | 20 | DJNZ .L1 |
507 | savelij | 21 | RET |
22 | |||
1186 | savelij | 23 | ; ⠭ ᪠ ࠭ |
24 | REST2X2 LD HL,SYSFLAGS |
||
25 | BIT SYSFLAGS.B_VIDEO_MODE,(HL) |
||
585 | savelij | 26 | RET NZ |
27 | LD HL,(ADR_REST) |
||
507 | savelij | 28 | LD DE,MOUSE_BUFF |
29 | LD B,8 |
||
1186 | savelij | 30 | .L1 LD A,(DE) |
507 | savelij | 31 | LD (HL),A |
32 | INC DE |
||
33 | INC L |
||
34 | LD A,(DE) |
||
35 | LD (HL),A |
||
36 | INC DE |
||
37 | DEC L |
||
38 | CALL INC_H |
||
1186 | savelij | 39 | DJNZ .L1 |
507 | savelij | 40 | RET |
41 | |||
1186 | savelij | 42 | DETECTMOUSE LD HL,SYSFLAGS |
43 | LD BC,0xFBDF |
||
44 | LD E,0x20 |
||
507 | savelij | 45 | EI |
46 | HALT |
||
1186 | savelij | 47 | IN D,(C) ; 1.⠡쭮 X |
48 | .L1 IN A,(C) |
||
507 | savelij | 49 | CP D |
1186 | savelij | 50 | JR NZ,.L2 |
507 | savelij | 51 | DEC E |
1186 | savelij | 52 | JR NZ,.L1 ; 2.keys<>X |
507 | savelij | 53 | DEC B |
54 | IN A,(C) |
||
55 | CP D |
||
1186 | savelij | 56 | JR Z,.L2 ; 3.keys&7=7(LION17) |
507 | savelij | 57 | CPL |
58 | AND 7 |
||
1186 | savelij | 59 | SET SYSFLAGS.B_MOUSE_PRESENT,(HL) |
507 | savelij | 60 | RET Z |
1186 | savelij | 61 | .L2 RES SYSFLAGS.B_MOUSE_PRESENT,(HL) |
507 | savelij | 62 | SCF |
63 | RET |
||
64 | |||
1186 | savelij | 65 | MOUSE LD HL,SYSFLAGS |
66 | BIT SYSFLAGS.B_VIDEO_MODE,(HL) |
||
585 | savelij | 67 | RET NZ |
68 | LD HL,(ARXY) |
||
1186 | savelij | 69 | LD DE,(MOUPOS) ; D=Y , E=X न |
70 | LD BC,MOUSE_X |
||
71 | IN A,(C) ; ⥭ न X |
||
507 | savelij | 72 | LD (MOUPOS),A |
73 | SUB E |
||
74 | JR Z,MOUNX |
||
75 | JP P,MOUPX |
||
76 | ADD A,L |
||
1186 | savelij | 77 | JR C,.L1 |
507 | savelij | 78 | XOR A |
1186 | savelij | 79 | .L1 LD L,A |
507 | savelij | 80 | JR MOUNX |
81 | |||
82 | MOUPX ADD A,L |
||
1186 | savelij | 83 | JR C,.L1 |
84 | CP 0xF9 |
||
85 | JR C,.L2 |
||
86 | .L1 LD A,0xF9 |
||
87 | .L2 LD L,A |
||
88 | MOUNX LD BC,MOUSE_Y |
||
89 | IN A,(C) ; ⥭ न Y |
||
507 | savelij | 90 | LD (MOUPOS+1),A |
91 | SUB D |
||
92 | JR Z,MOUNY |
||
93 | NEG |
||
94 | JP P,MOUPY |
||
95 | ADD A,H |
||
1186 | savelij | 96 | JR C,.L1 |
507 | savelij | 97 | XOR A |
1186 | savelij | 98 | .L1 LD H,A |
507 | savelij | 99 | JR MOUNY |
100 | |||
101 | MOUPY ADD A,H |
||
1186 | savelij | 102 | JR C,.L1 |
103 | CP 0xB8 |
||
104 | JR C,.L2 |
||
105 | .L1 LD A,0xB8 |
||
106 | .L2 LD H,A |
||
507 | savelij | 107 | MOUNY LD (ARXY),HL |
108 | RET |
||
109 | |||
1186 | savelij | 110 | MOUOPT LD H,(IX+_Y_COORD) |
111 | LD L,(IX+_X_COORD) |
||
507 | savelij | 112 | LD DE,(ARXY) |
113 | LD B,3 |
||
1186 | savelij | 114 | .L2 SRL D |
507 | savelij | 115 | SRL E |
1186 | savelij | 116 | DJNZ .L2 |
507 | savelij | 117 | LD A,E |
118 | CP L |
||
1186 | savelij | 119 | RET C ; |
507 | savelij | 120 | LD A,L |
1186 | savelij | 121 | ADD A,(IX+_H_SIZE) |
507 | savelij | 122 | DEC A |
123 | CP E |
||
1186 | savelij | 124 | RET C ; ࠢ |
507 | savelij | 125 | LD A,D |
126 | INC H |
||
127 | CP H |
||
1186 | savelij | 128 | RET C ; 孥 ᪥ |
507 | savelij | 129 | LD A,H |
1186 | savelij | 130 | ADD A,(IX+_V_SIZE) |
507 | savelij | 131 | SUB 3 |
132 | CP D |
||
1186 | savelij | 133 | RET C ; ᪥ |
134 | ; । ࠡ祩 |
||
821 | savelij | 135 | LD A,(IX+_NUM_KOL_H) |
136 | AND A |
||
137 | JR NZ,.L1 |
||
138 | OR (IX+_NUM_KOL_L) |
||
139 | JR Z,.L1 |
||
1186 | savelij | 140 | ; ઠ ⢠ 㭪⮢ - 2 |
821 | savelij | 141 | PUSH HL |
142 | LD L,A |
||
143 | LD H,(IX+_NUM_KOL_H) |
||
507 | savelij | 144 | LD A,D |
821 | savelij | 145 | SUB (IX+_Y_COORD) |
146 | LD C,A |
||
147 | LD B,0 |
||
148 | AND A |
||
149 | SBC HL,BC |
||
150 | POP HL |
||
151 | RET C |
||
152 | .L1 LD A,D |
||
507 | savelij | 153 | SUB H |
154 | LD C,A |
||
1186 | savelij | 155 | LD L,(IX+_TEK_PKT_L) |
156 | LD H,(IX+_TEK_PKT_H) |
||
157 | BIT B_ADR_PUNKT,(IX+_NUM_PKT) |
||
507 | savelij | 158 | JR Z,MOUOPT1 |
159 | LD B,0 |
||
160 | LD C,(HL) |
||
161 | INC HL |
||
162 | LD E,(HL) |
||
163 | INC HL |
||
164 | LD D,(HL) |
||
165 | EX DE,HL |
||
166 | SBC HL,BC |
||
167 | LD C,A |
||
168 | ADD HL,BC |
||
169 | EX DE,HL |
||
170 | LD (HL),D |
||
171 | DEC HL |
||
172 | LD (HL),E |
||
173 | DEC HL |
||
174 | LD (HL),A |
||
175 | JP COLOR_CURSOR |
||
176 | |||
177 | MOUOPT1 LD B,0 |
||
178 | LD D,B |
||
1186 | savelij | 179 | LD E,(IX+_NUM_PKT) |
507 | savelij | 180 | SBC HL,DE |
181 | ADD HL,BC |
||
1186 | savelij | 182 | LD (IX+_NUM_PKT),C |
183 | LD (IX+_TEK_PKT_L),L |
||
184 | LD (IX+_TEK_PKT_H),H |
||
507 | savelij | 185 | JP COLOR_CURSOR |
186 | |||
187 | DRAW_MOUSE LD BC,(ARXY) |
||
188 | LD L,B |
||
189 | LD H,0 |
||
190 | ADD HL,HL |
||
191 | LD DE,BUFTSC |
||
192 | ADD HL,DE |
||
193 | LD A,C |
||
194 | RRCA |
||
195 | RRCA |
||
196 | RRCA |
||
1186 | savelij | 197 | AND 0x1F |
507 | savelij | 198 | ADD A,(HL) |
199 | INC HL |
||
200 | LD H,(HL) |
||
201 | LD L,A |
||
202 | LD (ADR_REST),HL |
||
203 | PUSH HL |
||
204 | CALL SAVE2X2 |
||
205 | LD A,(_MORG) |
||
206 | INC A |
||
1186 | savelij | 207 | LD HL,SYSFLAGS |
208 | CP 0x0C |
||
507 | savelij | 209 | JR NZ,_MORG3 |
1186 | savelij | 210 | LD A,SYSFLAGS.M_CURSOR_NUM |
507 | savelij | 211 | XOR (HL) |
212 | LD (HL),A |
||
213 | XOR A |
||
214 | _MORG3 LD (_MORG),A |
||
215 | LD A,(ARXY) |
||
216 | AND 7 |
||
217 | CPL |
||
218 | ADD A,9 |
||
219 | LD C,A |
||
1186 | savelij | 220 | LD A,(SYSFLAGS) |
221 | AND SYSFLAGS.M_CURSOR_NUM |
||
507 | savelij | 222 | LD HL,SPRAR |
223 | JR Z,_MORG2 |
||
224 | LD HL,SPRAR2 |
||
225 | _MORG2 LD B,8 |
||
226 | POP DE |
||
1186 | savelij | 227 | .L2 PUSH BC |
507 | savelij | 228 | LD B,C |
229 | LD C,(HL) |
||
230 | INC HL |
||
231 | PUSH HL |
||
232 | LD L,(HL) |
||
233 | EX DE,HL |
||
1186 | savelij | 234 | LD A,0xFF |
507 | savelij | 235 | LD D,0 |
1186 | savelij | 236 | .L1 SCF |
507 | savelij | 237 | RL C |
238 | RLA |
||
239 | SLA E |
||
240 | RL D |
||
1186 | savelij | 241 | DJNZ .L1 |
507 | savelij | 242 | AND (HL) |
243 | OR D |
||
244 | LD (HL),A |
||
245 | INC L |
||
246 | LD A,(HL) |
||
247 | AND C |
||
248 | OR E |
||
249 | LD (HL),A |
||
250 | DEC L |
||
251 | CALL INC_H |
||
252 | EX DE,HL |
||
253 | POP HL |
||
254 | INC HL |
||
255 | POP BC |
||
1186 | savelij | 256 | DJNZ .L2 |
507 | savelij | 257 | RET |
258 | |||
1186 | savelij | 259 | ; ⮯ |
260 | OPMSPL LD E,(IX+_ADR_MOUSE_L) |
||
261 | LD D,(IX+_ADR_MOUSE_H) |
||
507 | savelij | 262 | LD A,D |
263 | OR E |
||
1186 | savelij | 264 | RET Z ; ⥫ |
507 | savelij | 265 | PUSH IX |
266 | PUSH DE |
||
267 | POP IX |
||
1186 | savelij | 268 | LD HL,(ARXY) ; H=Y, L=X |
507 | savelij | 269 | SRL H |
270 | SRL H |
||
271 | SRL H |
||
272 | SRL L |
||
273 | SRL L |
||
1186 | savelij | 274 | SRL L ; HL=HL/8 |
507 | savelij | 275 | NXTPOS2 LD A,(IX+0) |
276 | INC A |
||
277 | JR Z,ENDWI |
||
278 | LD A,L |
||
279 | CP (IX+1) |
||
1186 | savelij | 280 | JR C,NXTPOS1 ; |
507 | savelij | 281 | LD A,(IX+1) |
282 | ADD A,(IX+4) |
||
283 | DEC A |
||
284 | CP L |
||
1186 | savelij | 285 | JR C,NXTPOS1 ; ࠢ |
507 | savelij | 286 | LD A,H |
287 | CP (IX+2) |
||
1186 | savelij | 288 | JR C,NXTPOS1 ; |
507 | savelij | 289 | LD A,(IX+2) |
290 | ADD A,(IX+3) |
||
291 | DEC A |
||
292 | CP H |
||
1186 | savelij | 293 | JR C,NXTPOS1 ; |
294 | LD A,(IX+5) ; 稫 |
||
295 | ENDWI POP IX ; |
||
296 | RET ; 室 |
||
507 | savelij | 297 | |
1186 | savelij | 298 | NXTPOS1 LD DE,6 ; 㤠 |
299 | ADD IX,DE ; 室 થ 饣 |
||
507 | savelij | 300 | JR NXTPOS2 |