Rev 1026 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
801 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 16.02.2025 savelij |
801 | savelij | 3 | |
1186 | savelij | 4 | X4DUMP EQU 0x0C |
5 | Y4DUMP EQU 0x05 |
||
801 | savelij | 6 | |
7 | EDIT_CMOS DI |
||
8 | LD A,%01001111 |
||
9 | CALL CLEAR_TXTSCR |
||
1186 | savelij | 10 | LD H,CMOS.BYTE_00 |
801 | savelij | 11 | CALL READCMOS |
1186 | savelij | 12 | AND CMOS_ED.M_TYPE_FONT |
801 | savelij | 13 | LD (TYPEFONT),A |
14 | LD DE,0 |
||
1186 | savelij | 15 | LD BC,0x5019 |
801 | savelij | 16 | CALL RAMKA4TXTSCR |
1186 | savelij | 17 | LD DE,0x2201 |
801 | savelij | 18 | LD HL,TXT_EDITCMOS2 |
19 | CALL PRTT_MSG |
||
1186 | savelij | 20 | LD DE,0x1217 |
801 | savelij | 21 | LD HL,TXT_EDITCMOS1 |
22 | CALL PRTT_MSG |
||
23 | LD IX,0 |
||
24 | CALL INVERS_CUR |
||
25 | EC02 CALL LOAD_CMOS |
||
26 | CALL PRINT_DUMP |
||
27 | CALL HELP_REG |
||
28 | CALL TXTMODE_ON |
||
29 | EC01 EI |
||
30 | HALT |
||
1186 | savelij | 31 | LD H,CMOS.REG_C |
801 | savelij | 32 | CALL READCMOS |
1186 | savelij | 33 | BIT CMOSREG.B_C_RO_UF,A |
801 | savelij | 34 | CALL NZ,PRINT0STROKA |
35 | BIT 5,(IY+1) |
||
36 | JP Z,EC01 |
||
37 | RES 5,(IY+1) |
||
1186 | savelij | 38 | LD A,(0x5C08) |
39 | CP 'l' |
||
801 | savelij | 40 | JR Z,EC02 |
1186 | savelij | 41 | CP 'x' |
801 | savelij | 42 | JR Z,EC06 |
1186 | savelij | 43 | CP 's' |
801 | savelij | 44 | JR NZ,EC03 |
45 | CALL SAVE_CMOS |
||
46 | JR EC01 |
||
47 | |||
48 | EC03 CP 9 |
||
49 | CALL Z,CUR_RIGHT |
||
50 | CP 8 |
||
51 | CALL Z,CUR_LEFT |
||
1186 | savelij | 52 | CP 0x0B |
801 | savelij | 53 | CALL Z,CUR_UP |
1186 | savelij | 54 | CP 0x0A |
801 | savelij | 55 | CALL Z,CUR_DOWN |
1186 | savelij | 56 | CP '0' |
801 | savelij | 57 | JR C,EC01 |
1186 | savelij | 58 | CP ':' |
801 | savelij | 59 | JR C,EC05 |
60 | RES 5,A |
||
1186 | savelij | 61 | EC04 CP 'A' |
801 | savelij | 62 | JR C,EC01 |
1186 | savelij | 63 | CP 'G' |
801 | savelij | 64 | JR NC,EC01 |
65 | EC05 CALL INPUT_HALFBYTE |
||
66 | JR EC01 |
||
67 | |||
68 | EC06 CALL TXTMODE_OFF |
||
1186 | savelij | 69 | LD A,0x10 |
801 | savelij | 70 | CALL SET_7FFD |
71 | JP RESTART |
||
72 | |||
1186 | savelij | 73 | ; �ᮢ���� ������� ࠬ�� ���� � ⥪�⬮�� |
74 | ; D-X E-Y B-H C-V |
||
801 | savelij | 75 | RAMKA4TXTSCR DEC B |
76 | DEC B |
||
77 | DEC C |
||
78 | DEC C |
||
79 | PUSH DE |
||
80 | PUSH BC |
||
1186 | savelij | 81 | LD A,'�' |
801 | savelij | 82 | CALL PRTSYMTXTMODE |
1186 | savelij | 83 | R4TXTS1 LD A,'�' |
801 | savelij | 84 | CALL PRTSYMTXTMODE |
85 | DJNZ R4TXTS1 |
||
1186 | savelij | 86 | LD A,'�' |
801 | savelij | 87 | CALL PRTSYMTXTMODE |
88 | DEC D |
||
89 | INC E |
||
1186 | savelij | 90 | R4TXTS2 LD A,'�' |
801 | savelij | 91 | CALL PRTSYMTXTMODE |
92 | DEC D |
||
93 | INC E |
||
94 | DEC C |
||
95 | JR NZ,R4TXTS2 |
||
96 | POP BC |
||
97 | POP DE |
||
98 | INC E |
||
1186 | savelij | 99 | R4TXTS3 LD A,'�' |
801 | savelij | 100 | CALL PRTSYMTXTMODE |
101 | DEC D |
||
102 | INC E |
||
103 | DEC C |
||
104 | JR NZ,R4TXTS3 |
||
1186 | savelij | 105 | LD A,'�' |
801 | savelij | 106 | CALL PRTSYMTXTMODE |
1186 | savelij | 107 | R4TXTS4 LD A,'�' |
801 | savelij | 108 | CALL PRTSYMTXTMODE |
109 | DJNZ R4TXTS4 |
||
1186 | savelij | 110 | LD A,'�' |
801 | savelij | 111 | JP PRTSYMTXTMODE |
112 | |||
1186 | savelij | 113 | INPUT_HALFBYTE SUB '0' |
114 | CP 0x0A |
||
801 | savelij | 115 | JR C,IHB1 |
116 | SUB 7 |
||
117 | IHB1 LD E,A |
||
118 | LD A,IXH |
||
119 | LD L,A |
||
1186 | savelij | 120 | LD H,0xC0 |
801 | savelij | 121 | LD A,IXL |
122 | AND A |
||
123 | JR NZ,LOW_HALF |
||
124 | LD A,(HL) |
||
1186 | savelij | 125 | AND 0x0F |
801 | savelij | 126 | LD D,A |
127 | LD A,E |
||
128 | RRCA |
||
129 | RRCA |
||
130 | RRCA |
||
131 | RRCA |
||
132 | OR D |
||
133 | JR LOW_HALF1 |
||
134 | |||
135 | LOW_HALF LD A,(HL) |
||
1186 | savelij | 136 | AND 0xF0 |
801 | savelij | 137 | OR E |
138 | LOW_HALF1 LD (HL),A |
||
139 | LD A,L |
||
140 | PUSH AF |
||
141 | LD D,A |
||
142 | LD E,(HL) |
||
143 | EX DE,HL |
||
144 | CALL WRITECMOS |
||
145 | POP AF |
||
146 | CALL PRINT_STROKA |
||
147 | JP CUR_RIGHT |
||
148 | |||
149 | CUR_UP PUSH AF |
||
150 | CALL INVERS_CUR |
||
151 | LD A,IXH |
||
1186 | savelij | 152 | SUB 0x10 |
153 | CP 0xF0 |
||
801 | savelij | 154 | JR C,CUR_UP1 |
1186 | savelij | 155 | AND 0x0F |
156 | OR 0xE0 |
||
801 | savelij | 157 | CUR_UP1 LD IXH,A |
158 | JR ECUR_RIGHT |
||
159 | |||
160 | CUR_DOWN PUSH AF |
||
161 | CALL INVERS_CUR |
||
162 | LD A,IXH |
||
1186 | savelij | 163 | ADD A,0x10 |
164 | CP 0xF0 |
||
801 | savelij | 165 | JR C,CUR_DOWN1 |
1186 | savelij | 166 | AND 0x0F |
801 | savelij | 167 | CUR_DOWN1 LD IXH,A |
168 | JR ECUR_RIGHT |
||
169 | |||
170 | CUR_RIGHT PUSH AF |
||
171 | CALL INVERS_CUR |
||
172 | INC IXL |
||
173 | LD A,IXL |
||
174 | CP 2 |
||
175 | JR C,ECUR_RIGHT |
||
176 | INC IXH |
||
177 | LD A,IXH |
||
1186 | savelij | 178 | CP 0xF0 |
801 | savelij | 179 | JR C,CUR_RIGHT1 |
180 | LD IXH,0 |
||
181 | CUR_RIGHT1 LD IXL,0 |
||
182 | ECUR_RIGHT CALL HELP_REG |
||
183 | CALL INVERS_CUR |
||
184 | POP AF |
||
185 | RET |
||
186 | |||
187 | CUR_LEFT PUSH AF |
||
188 | CALL INVERS_CUR |
||
189 | DEC IXL |
||
190 | JP P,ECUR_RIGHT |
||
191 | LD IXL,1 |
||
192 | DEC IXH |
||
193 | LD A,IXH |
||
1186 | savelij | 194 | CP 0xF0 |
801 | savelij | 195 | JR C,ECUR_RIGHT |
1186 | savelij | 196 | LD IX,CMOS.CRCHIGH << 8 + 1 |
801 | savelij | 197 | JR ECUR_RIGHT |
198 | |||
199 | HELP_REG LD A,IXH |
||
200 | LD HL,EMPTY_STROKA |
||
1186 | savelij | 201 | CP 0x12 |
801 | savelij | 202 | JR NC,HELP_REG1 |
203 | LD L,A |
||
204 | LD H,0 |
||
205 | ADD HL,HL |
||
206 | ADD HL,HL |
||
207 | ADD HL,HL |
||
208 | ADD HL,HL |
||
209 | ADD HL,HL |
||
210 | LD DE,TXT_HELPREG |
||
211 | ADD HL,DE |
||
1186 | savelij | 212 | HELP_REG1 LD DE,0x1203 |
801 | savelij | 213 | JP PRTT_MSG |
214 | |||
1186 | savelij | 215 | INVERS_CUR LD A,0x1B |
801 | savelij | 216 | CALL SET_7FFD |
217 | LD A,IXH |
||
1186 | savelij | 218 | AND 0xF0 |
801 | savelij | 219 | RRCA |
220 | RRCA |
||
221 | RRCA |
||
222 | RRCA |
||
223 | ADD A,Y4DUMP |
||
224 | LD L,A |
||
225 | LD H,0 |
||
226 | LD D,H |
||
1186 | savelij | 227 | REPT 6 |
801 | savelij | 228 | ADD HL,HL |
1186 | savelij | 229 | ENDM |
801 | savelij | 230 | LD A,IXH |
1186 | savelij | 231 | AND 0x0F |
801 | savelij | 232 | LD E,A |
233 | ADD A,A |
||
234 | ADD A,E |
||
235 | LD E,A |
||
236 | LD A,IXL |
||
237 | ADD A,X4DUMP+7 |
||
238 | ADD A,E |
||
239 | LD E,A |
||
240 | SRL E |
||
241 | ADD HL,DE |
||
242 | AND 1 |
||
243 | RRCA |
||
244 | RRCA |
||
245 | RRCA |
||
1186 | savelij | 246 | OR 0xC1 |
801 | savelij | 247 | LD D,A |
1186 | savelij | 248 | LD E,0xC0 |
801 | savelij | 249 | ADD HL,DE |
250 | LD A,(HL) |
||
251 | XOR %00000100 |
||
252 | LD (HL),A |
||
1186 | savelij | 253 | LD A,0x1F |
801 | savelij | 254 | JP SET_7FFD |
255 | |||
1186 | savelij | 256 | ; ���⪠ ⥪�⬮����� ��࠭� |
801 | savelij | 257 | CLEAR_TXTSCR PUSH AF |
1186 | savelij | 258 | LD A,0x1F |
801 | savelij | 259 | CALL SET_7FFD |
1186 | savelij | 260 | LD HL,0xC1C0 |
261 | LD A,' ' |
||
801 | savelij | 262 | CALL CLS_TXTSCR |
1186 | savelij | 263 | LD HL,0xE1C0 |
801 | savelij | 264 | CALL CLS_TXTSCR |
1186 | savelij | 265 | LD A,0x1B |
801 | savelij | 266 | CALL SET_7FFD |
1186 | savelij | 267 | LD HL,0xC1C0 |
801 | savelij | 268 | POP AF |
269 | CALL CLS_TXTSCR |
||
1186 | savelij | 270 | LD HL,0xE1C0 |
801 | savelij | 271 | CALL CLS_TXTSCR |
1186 | savelij | 272 | LD A,0x1F |
801 | savelij | 273 | JP SET_7FFD |
274 | |||
1186 | savelij | 275 | ; ���⪠ ���窠 ⥪�⬮����� ��࠭� |
801 | savelij | 276 | CLS_TXTSCR LD D,H |
277 | LD E,L |
||
1186 | savelij | 278 | LD BC,0x63F |
801 | savelij | 279 | LD (HL),A |
280 | INC DE |
||
281 | LDIR |
||
282 | RET |
||
283 | |||
1186 | savelij | 284 | ; ����� ⥪�⮢�� ��ப� �� ��⬮���� ��࠭� |
801 | savelij | 285 | PRTT_MSG LD A,(HL) |
286 | INC HL |
||
287 | AND A |
||
288 | RET Z |
||
289 | CALL PRTSYMTXTMODE |
||
290 | JR PRTT_MSG |
||
291 | |||
1186 | savelij | 292 | PRINT0STROKA LD H,CMOS.SECOND |
801 | savelij | 293 | CALL READCMOS |
1186 | savelij | 294 | LD (0xC000),A |
295 | LD H,CMOS.MINUTE |
||
801 | savelij | 296 | CALL READCMOS |
1186 | savelij | 297 | LD (0xC002),A |
298 | LD H,CMOS.HOUR |
||
801 | savelij | 299 | CALL READCMOS |
1186 | savelij | 300 | LD (0xC004),A |
801 | savelij | 301 | XOR A |
302 | LD L,A |
||
303 | PUSH IX |
||
304 | LD IX,0 |
||
305 | CALL PRINT_STROKA1 |
||
306 | POP IX |
||
307 | RET |
||
308 | |||
309 | PRINT_STROKA LD A,IXH |
||
1186 | savelij | 310 | AND 0xF0 |
801 | savelij | 311 | LD L,A |
312 | PRINT_STROKA1 LD B,1 |
||
313 | LD H,0 |
||
314 | RRCA |
||
315 | RRCA |
||
316 | RRCA |
||
317 | RRCA |
||
318 | ADD A,Y4DUMP |
||
319 | LD E,A |
||
320 | LD D,X4DUMP |
||
321 | JR PRINT1STROKA |
||
322 | |||
1186 | savelij | 323 | PRINT_DUMP LD B,0x0F |
324 | LD DE,X4DUMP*0x100+Y4DUMP |
||
801 | savelij | 325 | LD HL,0 |
326 | PRINT1STROKA CALL PRTT_SMESH |
||
1186 | savelij | 327 | LD A,0xC0 |
801 | savelij | 328 | OR H |
329 | LD H,A |
||
330 | CALL PRTT_STROKA |
||
331 | LD A,H |
||
1186 | savelij | 332 | AND 0x3F |
801 | savelij | 333 | LD H,A |
334 | INC E |
||
335 | LD D,X4DUMP |
||
336 | DJNZ PRINT1STROKA |
||
337 | RET |
||
338 | |||
1186 | savelij | 339 | PRTT_STROKA LD C,0x10 |
801 | savelij | 340 | PRTT_STROKA1 LD A,(HL) |
341 | INC HL |
||
342 | CALL PRTT_A_ |
||
1186 | savelij | 343 | LD A,' ' |
801 | savelij | 344 | CALL PRTSYMTXTMODE |
345 | DEC C |
||
346 | JR NZ,PRTT_STROKA1 |
||
347 | RET |
||
348 | |||
349 | PRTT_SMESH CALL PRTT_HL_ |
||
1186 | savelij | 350 | LD A,':' |
801 | savelij | 351 | CALL PRTSYMTXTMODE |
1186 | savelij | 352 | LD A,' ' |
801 | savelij | 353 | JR PRTSYMTXTMODE |
354 | |||
355 | PRTT_HL_ LD A,H |
||
356 | CALL PRTT_A_ |
||
357 | LD A,L |
||
358 | PRTT_A_ PUSH AF |
||
359 | RRCA |
||
360 | RRCA |
||
361 | RRCA |
||
362 | RRCA |
||
363 | CALL PRTT_A_1 |
||
364 | POP AF |
||
1186 | savelij | 365 | PRTT_A_1 AND 0x0F |
366 | CP 0x0A |
||
801 | savelij | 367 | CCF |
1186 | savelij | 368 | ADC A,'0' |
801 | savelij | 369 | DAA |
1186 | savelij | 370 | AND 0x7F |
371 | ; ����� ᨬ���� �� ⥪�⬮���� ��࠭� |
||
372 | ; D-X E-Y |
||
801 | savelij | 373 | PRTSYMTXTMODE PUSH DE |
374 | PUSH HL |
||
375 | LD L,A |
||
376 | LD A,0 |
||
377 | TYPEFONT EQU $-1 |
||
378 | AND A |
||
379 | LD A,L |
||
380 | JR NZ,.LOOP |
||
1186 | savelij | 381 | CP 0x80 |
801 | savelij | 382 | JR C,.LOOP |
383 | LD HL,CONV_CP866_ATM |
||
384 | PUSH BC |
||
385 | RES 7,A |
||
386 | LD B,0 |
||
387 | LD C,A |
||
388 | ADD HL,BC |
||
389 | LD A,(HL) |
||
390 | POP BC |
||
391 | .LOOP PUSH AF |
||
392 | LD L,E |
||
393 | LD A,D |
||
394 | LD H,0 |
||
395 | LD D,H |
||
396 | ADD HL,HL |
||
397 | ADD HL,HL |
||
398 | ADD HL,HL |
||
399 | ADD HL,HL |
||
400 | ADD HL,HL |
||
401 | ADD HL,HL |
||
402 | LD E,A |
||
403 | SRL E |
||
404 | ADD HL,DE |
||
405 | AND 1 |
||
406 | RRCA |
||
407 | RRCA |
||
408 | RRCA |
||
1186 | savelij | 409 | OR 0xC1 |
801 | savelij | 410 | LD D,A |
1186 | savelij | 411 | LD E,0xC0 |
801 | savelij | 412 | ADD HL,DE |
413 | POP AF |
||
414 | LD (HL),A |
||
415 | POP HL |
||
416 | POP DE |
||
417 | INC D |
||
418 | RET |
||
419 | |||
420 | SET_C_A OUT (C),A |
||
421 | RET |
||
422 | |||
1186 | savelij | 423 | LOAD_CMOS LD HL,0xC000 |
801 | savelij | 424 | LD D,0 |
425 | EDITCMOS1 EX DE,HL |
||
426 | CALL READCMOS |
||
427 | EX DE,HL |
||
428 | LD (HL),E |
||
429 | INC HL |
||
430 | INC D |
||
1186 | savelij | 431 | LD A,0xF0 |
801 | savelij | 432 | CP D |
433 | JR NZ,EDITCMOS1 |
||
434 | RET |
||
435 | |||
1186 | savelij | 436 | SAVE_CMOS LD HL,0xC000 |
801 | savelij | 437 | LD D,0 |
438 | SAVECMOS1 LD E,(HL) |
||
439 | EX DE,HL |
||
440 | CALL WRITECMOS |
||
441 | EX DE,HL |
||
442 | INC HL |
||
443 | INC D |
||
1186 | savelij | 444 | LD A,0xF0 |
801 | savelij | 445 | CP D |
446 | JR NZ,SAVECMOS1 |
||
447 | RET |
||
448 | |||
1186 | savelij | 449 | ; �� �室�: H-���� �祩�� |
450 | ; L-���⠭��� ���祭�� |
||
801 | savelij | 451 | READCMOS DI |
452 | PUSH BC |
||
453 | LD BC,PENT_CONF |
||
1186 | savelij | 454 | LD A,CMOS_ON ; ࠧ�襭�� ����㯠 � ����� |
801 | savelij | 455 | OUT (C),A |
456 | LD B,HIGH (CMOS_SET_ADR) |
||
457 | OUT (C),H |
||
458 | LD B,HIGH (CMOS_RD_WR) |
||
459 | IN L,(C) |
||
1186 | savelij | 460 | LD A,CMOS_OFF ; ����� ����㯠 � ����� |
801 | savelij | 461 | LD B,HIGH (PENT_CONF) |
462 | OUT (C),A |
||
463 | POP BC |
||
464 | LD A,L |
||
465 | AND A |
||
466 | RET |
||
467 | |||
1186 | savelij | 468 | ; �� �室�: H-���� �祩�� |
469 | ; L-�� �㤠 ������� |
||
1026 | savelij | 470 | WRITECMOS |
471 | RST8 _CMOS_RW,_WRITE_CMOS |
||
801 | savelij | 472 | RET |
473 | |||
1186 | savelij | 474 | ; �⥭�� ���ᨨ FPGA ��� BOOTLOADER, � �� ���⥢� |
801 | savelij | 475 | GET_VERS_EVO LD C,L |
1186 | savelij | 476 | LD H,CMOS.READ_PS2 |
477 | CALL WRITECMOS ; ��襬 � ���� 0xF0 ��� ����祭�� ���ᨨ |
||
478 | CALL READCMOS ; �⠥� �⢥� |
||
479 | CP C ; ᮢ���� � ⥬ �� ����ᠭ�, �� �����ন������ |
||
480 | RET Z ; � �� �� ���⥢� (��� ����� FPGA ����). ��室�� |
||
481 | INC A ; ��襫 0xFF, ����� �ᮢ ���� |
||
482 | RET Z ; ��室�� |
||
801 | savelij | 483 | DI |
1186 | savelij | 484 | DEC A ; �����頥� ��⠭��� ���祭�� |
801 | savelij | 485 | PUSH DE |
1186 | savelij | 486 | LD (DE),A ; �������� � ���� 㦥 ���⠭�� ���� |
801 | savelij | 487 | INC DE |
1186 | savelij | 488 | LD B,0x0F ; ��⠫��� ������ ��⠫�� �� 15 ���� |
801 | savelij | 489 | GVE1 INC H |
1186 | savelij | 490 | CALL READCMOS ; �⠥� ���� |
801 | savelij | 491 | LD (DE),A |
492 | INC DE |
||
1186 | savelij | 493 | DJNZ GVE1 ; �⠥� ���� �� ����� �� ������� |
494 | POP DE ; ���� � ���� 12 ���� ⥪�� |
||
801 | savelij | 495 | LD H,D |
496 | LD L,E |
||
1186 | savelij | 497 | LD B,0x0C ; � ⥪�� ���� �饬 ���� 0 (�ਧ��� ���� ⥪��) |
801 | savelij | 498 | GVE2 LD A,(DE) |
499 | AND A |
||
500 | JR Z,GVE3 |
||
501 | INC DE |
||
502 | DJNZ GVE2 |
||
1186 | savelij | 503 | GVE3 LD BC,0x0C ; ���ࠫ� �� ���� 2 ���� ���� � ᯥ��ଠ� |
801 | savelij | 504 | ADD HL,BC |
505 | LD C,(HL) |
||
506 | INC HL |
||
507 | LD B,(HL) |
||
508 | EX DE,HL |
||
1186 | savelij | 509 | LD (HL),' ' ; ������塞 � ⥪��� ���-ࠧ����⥫� |
801 | savelij | 510 | INC HL |
511 | |||
512 | ;����������� ���� |
||
513 | UNVERS LD A,C |
||
1186 | savelij | 514 | AND 0x1F ; �㦭� 5 ���-� ����� |
515 | CALL A2TXT ; �������� � 㪫���� ���� |
||
801 | savelij | 516 | SRL B |
1186 | savelij | 517 | RR C ; ᤢ��㫨 ��� 楫��⭮�� ����� ����� |
518 | LD A,C ; �� ���� ����� |
||
801 | savelij | 519 | RRCA |
520 | RRCA |
||
521 | RRCA |
||
1186 | savelij | 522 | RRCA ; ᤢ��㫨 � ����訥 ���� |
523 | AND 0x0F ; ��� �㦭� ⮫쪮 4 ��� ����� |
||
524 | LD (HL),'.' ; ࠧ����⥫쭠� �窠 |
||
801 | savelij | 525 | INC HL |
1186 | savelij | 526 | CALL A2TXT ; �������� � 㪫���� ����� |
527 | LD (HL),'.' ; ࠧ����⥫쭠� �窠 |
||
801 | savelij | 528 | INC HL |
1186 | savelij | 529 | LD (HL),'2' |
801 | savelij | 530 | INC HL |
1186 | savelij | 531 | LD (HL),'0' ; �������� � ���� ��� ��ન |
801 | savelij | 532 | INC HL |
1186 | savelij | 533 | LD A,B ; �� ����� ���� |
534 | AND 0x3F ; �㦭� ⮫쪮 6 ��� |
||
535 | CALL A2TXT ; �������� � 㪫���� ���� |
||
536 | BIT 6,B ; � ��� 6 (ᤢ����� ��� 7) ��⠭����� |
||
537 | RET NZ ; � �����蠥� ��ப� |
||
538 | EX DE,HL ; ���� ����� ���, � 祬 ������塞 ⥪�� � ���� |
||
801 | savelij | 539 | LD HL,TXT_BETA |
540 | LD BC,5 |
||
541 | LDIR |
||
542 | EX DE,HL |
||
543 | RET |
||
544 | |||
1186 | savelij | 545 | ; �ᯥ�⪠ �� ��࠭� �६���, ���� � ��� ������ |
801 | savelij | 546 | PRINTTIME LD A,(ERS_FLAGS) |
547 | AND M_CLOCK_ON |
||
1186 | savelij | 548 | RET Z ; ��� �� �����㦥��, ��室�� ��祣� �� �뢮�� |
549 | LD H,CMOS.REG_C |
||
801 | savelij | 550 | CALL READCMOS |
1186 | savelij | 551 | AND CMOSREG.M_C_RO_UF |
552 | RET Z ; � �६� �� �� ����������, ��室�� ��祣� �� �뢮�� |
||
553 | LD H,CMOS.BYTE_01 |
||
801 | savelij | 554 | CALL READCMOS |
1186 | savelij | 555 | AND CMOS_EC.M_CLOCK_VIEW |
556 | JR NZ,VIDEOMODE ; �⮡ࠦ���� �몫�祭�, ��室�� ��祣� �� �뢮�� |
||
801 | savelij | 557 | DI |
558 | EXX |
||
1186 | savelij | 559 | LD BC,TXT_TIME ; �⥭�� � �८�ࠧ������ �६��� |
560 | LD H,CMOS.HOUR |
||
561 | CALL READCMOS ; ���⠫� ��� |
||
1026 | savelij | 562 | LD (SCRSAV.CURR+2),A |
1186 | savelij | 563 | CALL BYTE2TXT ; ����⨫� ��� � 㪫����� � ���� |
801 | savelij | 564 | LD A,(BC) |
1186 | savelij | 565 | XOR ':'-' ' ; �������� �����饣� ������� |
801 | savelij | 566 | LD (BC),A |
567 | INC BC |
||
1186 | savelij | 568 | LD H,CMOS.MINUTE |
569 | CALL READCMOS ; ���⠫� ������ |
||
1026 | savelij | 570 | LD (SCRSAV.CURR+1),A |
1186 | savelij | 571 | CALL BYTE2TXT ; ����⨫� ��� � 㪫����� � ���� |
801 | savelij | 572 | LD A,(BC) |
1186 | savelij | 573 | XOR ':'-' ' ; �������� �����饣� ������� |
801 | savelij | 574 | LD (BC),A |
575 | INC BC |
||
1186 | savelij | 576 | LD H,CMOS.SECOND |
577 | CALL READCMOS ; ���⠫� ᥪ㭤� |
||
1026 | savelij | 578 | LD (SCRSAV.CURR),A |
801 | savelij | 579 | CALL BYTE2TXT |
1186 | savelij | 580 | LD BC,TXT_DATA ; ����� �⥭�� � �८�ࠧ������ ���� |
581 | LD H,CMOS.DAY_MONTH |
||
801 | savelij | 582 | CALL READCMOS |
583 | CALL BYTE2TXT |
||
584 | INC BC |
||
1186 | savelij | 585 | LD H,CMOS.MONTH |
801 | savelij | 586 | CALL READCMOS |
587 | CALL BYTE2TXT |
||
588 | INC BC |
||
1186 | savelij | 589 | LD H,CMOS.YEAR |
801 | savelij | 590 | CALL READCMOS |
591 | CALL BYTE2TXT |
||
1186 | savelij | 592 | LD HL,BUFF_TIME ; ���⥬ �६� �� ���� |
1026 | savelij | 593 | RST8 _PRINT_MESSAGE |
801 | savelij | 594 | EXX |
595 | |||
596 | VIDEOMODE DI |
||
1186 | savelij | 597 | LD HL,CMOS.READ_PS2 << 8 + 3 |
801 | savelij | 598 | LD BC,PENT_CONF |
1186 | savelij | 599 | LD A,CMOS_ON ; ࠧ�襭�� ����㯠 � ����� |
801 | savelij | 600 | OUT (C),A |
601 | LD B,HIGH (CMOS_SET_ADR) |
||
602 | OUT (C),H |
||
603 | LD B,HIGH (CMOS_RD_WR) |
||
604 | OUT (C),L |
||
1186 | savelij | 605 | LD A,CMOS_OFF ; ����� ����㯠 � ����� |
801 | savelij | 606 | LD B,HIGH (PENT_CONF) |
607 | OUT (C),A |
||
608 | CALL READCMOS |
||
609 | LD DE,TV_VGA |
||
610 | PUSH AF |
||
611 | AND %00110000 |
||
612 | RRCA |
||
613 | RRCA |
||
614 | LD C,A |
||
615 | LD B,0 |
||
616 | LD HL,TXT_HZ |
||
617 | ADD HL,BC |
||
618 | LDI |
||
619 | LDI |
||
620 | LDI |
||
621 | LDI |
||
622 | INC DE |
||
623 | POP AF |
||
624 | BIT 0,A |
||
625 | LD HL,TXT_TVVGA |
||
626 | JR Z,VMODE1 |
||
627 | INC HL |
||
628 | INC HL |
||
629 | INC HL |
||
630 | VMODE1 LDI |
||
631 | LDI |
||
632 | LDI |
||
1186 | savelij | 633 | LD HL,TXT_VMODE ; ���⥬ ⥪�騩 ����� ०�� |
1026 | savelij | 634 | RST8 _PRINT_MESSAGE |
801 | savelij | 635 | RET |
636 | |||
1186 | savelij | 637 | ; ��ॢ�� "A" � ������� � � ⥪�� |
801 | savelij | 638 | A2TXT PUSH HL |
639 | LD L,A |
||
640 | LD H,0 |
||
641 | LD DE,10 |
||
642 | XOR A |
||
643 | DEC A |
||
644 | INC A |
||
645 | SBC HL,DE |
||
646 | JR NC,$-3 |
||
647 | ADD HL,DE |
||
1186 | savelij | 648 | ADD A,'0' |
801 | savelij | 649 | LD D,A |
650 | LD A,L |
||
1186 | savelij | 651 | ADD A,'0' |
801 | savelij | 652 | POP HL |
653 | LD (HL),D |
||
654 | INC HL |
||
655 | LD (HL),A |
||
656 | INC HL |
||
657 | RET |
||
658 | |||
659 | BYTE2TXT LD L,A |
||
1186 | savelij | 660 | LD H,'0' |
801 | savelij | 661 | RRCA |
662 | RRCA |
||
663 | RRCA |
||
664 | RRCA |
||
1186 | savelij | 665 | AND 0x0F |
801 | savelij | 666 | ADD A,H |
667 | LD (BC),A |
||
668 | INC BC |
||
669 | LD A,L |
||
1186 | savelij | 670 | AND 0x0F |
801 | savelij | 671 | ADD A,H |
672 | LD (BC),A |
||
673 | INC BC |
||
674 | RET |
||
675 | |||
1026 | savelij | 676 | TXTMODE_ON |
677 | PEC_ON M_SHADOW_BF |
||
1186 | savelij | 678 | LD BC,0xFF77 |
679 | LD A,0xA6 |
||
801 | savelij | 680 | CALL SET_C_A |
1026 | savelij | 681 | PEC_OFF M_SHADOW_BF |
801 | savelij | 682 | RET |
683 | |||
1026 | savelij | 684 | TXTMODE_OFF |
685 | PEC_ON M_SHADOW_BF |
||
1186 | savelij | 686 | LD BC,0xFF77 |
687 | LD A,0xA3 |
||
801 | savelij | 688 | CALL SET_C_A |
1026 | savelij | 689 | PEC_OFF M_SHADOW_BF |
801 | savelij | 690 | RET |
1026 | savelij | 691 | |
692 | CHECK_SCREENSAVER |
||
693 | LD A,(SCRSAV.TIMEOUT) |
||
694 | AND A |
||
695 | RET Z |
||
696 | PUSH AF |
||
697 | LD HL,SCRSAV.CURR |
||
698 | LD DE,(SCRSAV.START) |
||
699 | LD BC,(SCRSAV.START+2) |
||
700 | CALL BCDEHLM |
||
701 | POP AF |
||
702 | CP D |
||
703 | RET NZ |
||
704 | LD A,B |
||
705 | OR E |
||
706 | RET NZ |
||
707 | CALL START_SONGLN |
||
708 | RESET_SCREENSAVER |
||
709 | LD DE,SCRSAV.START |
||
1186 | savelij | 710 | LD H,CMOS.SECOND |
1026 | savelij | 711 | CALL READCMOS |
712 | LD (DE),A |
||
713 | INC DE |
||
1186 | savelij | 714 | LD H,CMOS.MINUTE |
1026 | savelij | 715 | CALL READCMOS |
716 | LD (DE),A |
||
717 | INC DE |
||
1186 | savelij | 718 | LD H,CMOS.HOUR |
1026 | savelij | 719 | CALL READCMOS |
720 | LD (DE),A |
||
721 | INC DE |
||
722 | XOR A |
||
723 | LD (DE),A |
||
724 | RET |