Rev 1067 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1067 | Rev 1186 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | 1 | ||
| 2 | ; LAST UPDATE: 24.02.2023 savelij |
2 | ; LAST UPDATE: 16.02.2025 savelij |
| 3 | 3 | ||
| 4 | PAGE |
4 | PAGE |
| 5 | TITLE "main.a80" |
5 | TITLE "main.a80" |
| 6 | 6 | ||
| 7 | include ../../macros.a80 |
7 | include macros.a80 |
| 8 | include ../../define.a80 |
8 | include define.a80 |
| 9 | include ../../global_vars.a80 |
9 | include global_vars.a80 |
| 10 | include ../../ports_ide.a80 |
10 | include ports_ide.a80 |
| 11 | include ../../basic_tokens.a80 |
11 | include basic_tokens.a80 |
| 12 | include ../../bas_trd_vars.a80 |
12 | include bas_trd_vars.a80 |
| 13 | include ../../tmpkeys.a80 |
13 | include tmpkeys.a80 |
| 14 | include ../../version.a80 |
14 | include version.a80 |
| 15 | include ../../nums_devices.a80 |
15 | include nums_devices.a80 |
| 16 | include ../../ports_ngs.a80 |
16 | include ports_ngs.a80 |
| - | 17 | include fat_dir.a80 |
|
| 17 | 18 | ||
| 18 | TO_DOS EQU 0x3D2F |
19 | TO_DOS EQU 0x3D2F |
| 19 | 20 | ||
| 20 | INIT_VAR 0xC000 |
21 | INIT_VAR 0xC000 |
| 21 | SETVAR ADR_CAT, 0xC00 ; адрес буфера для дискеты или образа |
22 | SETVAR ADR_CAT, 0xC00 ; адрес буфера для дискеты или образа |
| Line 53... | Line 54... | ||
| 53 | START3 |
54 | START3 |
| 54 | RST8 _COM_DEV,_CONTROL_SD |
55 | RST8 _COM_DEV,_CONTROL_SD |
| 55 | EI |
56 | EI |
| 56 | HALT |
57 | HALT |
| 57 | DI |
58 | DI |
| 58 | LD H,0 |
59 | LD H,CMOS.SECOND |
| 59 | CALL READCMOS ; чтение секунд для определения наличия кмос |
60 | CALL READCMOS ; чтение секунд для определения наличия кмос |
| 60 | INC L |
61 | INC L |
| 61 | LD HL,ERS_FLAGS |
62 | LD HL,ERS_FLAGS |
| 62 | JR NZ,START2 ; если прочиталось 0xFF, то |
63 | JR NZ,START2 ; если прочиталось 0xFF, то |
| 63 | RES B_CLOCK_ON,(HL) ; кмос не найден |
64 | RES B_CLOCK_ON,(HL) ; кмос не найден |
| Line 72... | Line 73... | ||
| 72 | LD (ARXY),HL ; установка дефолтной позиции мыши при старте |
73 | LD (ARXY),HL ; установка дефолтной позиции мыши при старте |
| 73 | CALL DISK_NONE |
74 | CALL DISK_NONE |
| 74 | CALL SYSTEM |
75 | CALL SYSTEM |
| 75 | CALL RESET_VG ; сброс вгшки и установка перехватчика ошибок dos |
76 | CALL RESET_VG ; сброс вгшки и установка перехватчика ошибок dos |
| 76 | RESTART DI |
77 | RESTART DI |
| - | 78 | XOR A |
|
| - | 79 | RST8 _NMI_FB_BLOCK ; разблокировка File Browser на NMI |
|
| 77 | LD A,0x10 |
80 | LD A,0x10 |
| 78 | CALL SET_7FFD ; включили басик48 и страничку 0 |
81 | CALL SET_7FFD ; включили басик48 и страничку 0 |
| 79 | CALL TURBO_7MHZ |
82 | CALL TURBO_7MHZ |
| 80 | CALL SYSTEM |
83 | CALL SYSTEM |
| 81 | RES 3,(IY+55) |
84 | RES 3,(IY+55) |
| Line 88... | Line 91... | ||
| 88 | LD (TEK_SP),SP |
91 | LD (TEK_SP),SP |
| 89 | CALL S_FACE ; вывод на экран основного вида |
92 | CALL S_FACE ; вывод на экран основного вида |
| 90 | LD IX,MAINMENU |
93 | LD IX,MAINMENU |
| 91 | RST8 _WINW |
94 | RST8 _WINW |
| 92 | RES 5,(IY+1) ; на клавиатуре ничего не нажато |
95 | RES 5,(IY+1) ; на клавиатуре ничего не нажато |
| 93 | LD H,HDD_TIMEOUT |
96 | LD H,CMOS.HDD_TIMEOUT |
| 94 | CALL READCMOS |
97 | CALL READCMOS |
| 95 | RRCA |
98 | RRCA |
| 96 | RRCA |
99 | RRCA |
| 97 | RRCA |
100 | RRCA |
| 98 | RRCA |
101 | RRCA |
| Line 105... | Line 108... | ||
| 105 | PEC_ON M_SHADOW_BF |
108 | PEC_ON M_SHADOW_BF |
| 106 | EVOPORT WIN_P2,RAM_DATARAMD |
109 | EVOPORT WIN_P2,RAM_DATARAMD |
| 107 | EVOPORT WIN_P2,ZXSTD_CPU2 |
110 | EVOPORT WIN_P2,ZXSTD_CPU2 |
| 108 | PEC_OFF M_SHADOW_BF!0xFF |
111 | PEC_OFF M_SHADOW_BF!0xFF |
| 109 | 112 | ||
| 110 | LD HL,VIRT_REAL_DRIVE << 8 |
113 | LD HL,CMOS.VIRT_REAL_DRIVE << 8 |
| 111 | CALL WRITECMOS |
114 | CALL WRITECMOS |
| 112 | LD HL,ADR_TXT_BOOT |
115 | LD HL,ADR_TXT_BOOT |
| 113 | JP RUNFILE1 |
116 | JP RUNFILE1 |
| 114 | 117 | ||
| 115 | ADR_TXT_BOOT DB "boot " |
118 | ADR_TXT_BOOT DB "boot " |
| Line 319... | Line 322... | ||
| 319 | RLCA |
322 | RLCA |
| 320 | RLCA |
323 | RLCA |
| 321 | RLCA |
324 | RLCA |
| 322 | OR L |
325 | OR L |
| 323 | LD C,A |
326 | LD C,A |
| 324 | LD H,CMOS_BYTE_01 |
327 | LD H,CMOS.BYTE_01 |
| 325 | CALL READCMOS |
328 | CALL READCMOS |
| 326 | AND %01111100 |
329 | AND %01111100 |
| 327 | OR C |
330 | OR C |
| 328 | CHANGE_MODES LD L,A |
331 | CHANGE_MODES LD L,A |
| 329 | CALL WRITECMOS ; сохранили в кмос измененый режим |
332 | CALL WRITECMOS ; сохранили в кмос измененый режим |
| Line 349... | Line 352... | ||
| 349 | LD DE,0x1000 |
352 | LD DE,0x1000 |
| 350 | JR Z,CHNGTURBO2 |
353 | JR Z,CHNGTURBO2 |
| 351 | DEC A |
354 | DEC A |
| 352 | LD DE,0 |
355 | LD DE,0 |
| 353 | JR Z,CHNGTURBO2 |
356 | JR Z,CHNGTURBO2 |
| 354 | LD DE,0X10*0X100+M_TURBO14 |
357 | LD DE,0x10 << 8 + CMOS_ED.M_TURBO14 |
| 355 | CHNGTURBO2 LD A,D |
358 | CHNGTURBO2 LD A,D |
| 356 | LD HL,SYSREG1 |
359 | LD HL,SYSREG1 |
| 357 | LD A,(HL) |
360 | LD A,(HL) |
| 358 | AND %11101111 ; инверсия бита турборежима |
361 | AND %11101111 ; инверсия бита турборежима |
| 359 | OR D |
362 | OR D |
| 360 | LD (HL),A |
363 | LD (HL),A |
| 361 | LD H,CMOS_BYTE_00 |
364 | LD H,CMOS.BYTE_00 |
| 362 | CALL READCMOS |
365 | CALL READCMOS |
| 363 | AND M_TURBO14!0XFF |
366 | AND CMOS_ED.M_TURBO14 ! 0xFF |
| 364 | OR E |
367 | OR E |
| 365 | LD L,A |
368 | LD L,A |
| 366 | LD H,CMOS_BYTE_00 |
369 | LD H,CMOS.BYTE_00 |
| 367 | CALL WRITECMOS |
370 | CALL WRITECMOS |
| 368 | JP CHNGMODEY |
371 | JP CHNGMODEY |
| 369 | 372 | ||
| 370 | CHNGTAPMODE LD H,CMOS_BYTE_00 |
373 | CHNGTAPMODE LD H,CMOS.BYTE_00 |
| 371 | CALL READCMOS |
374 | CALL READCMOS |
| 372 | XOR M_EMUL_TAPE |
375 | XOR CMOS_ED.M_EMUL_TAPE |
| 373 | JR CHANGE_MODES |
376 | JR CHANGE_MODES |
| 374 | 377 | ||
| 375 | CHNGGLUKMOD LD H,CMOS_BYTE_00 |
378 | CHNGGLUKMOD LD H,CMOS.BYTE_00 |
| 376 | CALL READCMOS |
379 | CALL READCMOS |
| 377 | AND MKOL_MODES!0xFF |
380 | AND CMOS_EC.MKOL_MODES ! 0xFF |
| 378 | LD C,A |
381 | LD C,A |
| 379 | LD A,L |
382 | LD A,L |
| 380 | AND MKOL_MODES |
383 | AND CMOS_EC.MKOL_MODES |
| 381 | INC A |
384 | INC A |
| 382 | CP KOL_MODES |
385 | CP CMOS_EC.KOL_MODES |
| 383 | JR C,CHNGGLUKMOD1 |
386 | JR C,CHNGGLUKMOD1 |
| 384 | XOR A |
387 | XOR A |
| 385 | CHNGGLUKMOD1 OR C |
388 | CHNGGLUKMOD1 OR C |
| 386 | LD L,A |
389 | LD L,A |
| 387 | JR CHANGE_MODES |
390 | JR CHANGE_MODES |
| 388 | 391 | ||
| 389 | EN_AUTOMNT LD H,CMOS_BYTE_01 |
392 | EN_AUTOMNT LD H,CMOS.BYTE_01 |
| 390 | CALL READCMOS |
393 | CALL READCMOS |
| 391 | XOR M_AUTOMOUNT |
394 | XOR CMOS_EC.M_AUTOMOUNT |
| 392 | JP CHANGE_MODES |
395 | JP CHANGE_MODES |
| 393 | 396 | ||
| 394 | EN_LOADFONT LD H,CMOS_BYTE_00 |
397 | EN_LOADFONT LD H,CMOS.BYTE_00 |
| 395 | CALL READCMOS |
398 | CALL READCMOS |
| 396 | XOR M_RELOAD_FONT |
399 | XOR CMOS_ED.M_RELOAD_FONT |
| 397 | JP CHANGE_MODES |
400 | JP CHANGE_MODES |
| 398 | 401 | ||
| 399 | SET_TYPEFONT LD H,CMOS_BYTE_00 |
402 | SET_TYPEFONT LD H,CMOS.BYTE_00 |
| 400 | CALL READCMOS |
403 | CALL READCMOS |
| 401 | XOR M_TYPE_FONT |
404 | XOR CMOS_ED.M_TYPE_FONT |
| 402 | PUSH AF |
405 | PUSH AF |
| 403 | PUSH HL |
406 | PUSH HL |
| 404 | AND M_TYPE_FONT |
407 | AND CMOS_ED.M_TYPE_FONT |
| 405 | JR Z,SETTYPEFONT |
408 | JR Z,SETTYPEFONT |
| 406 | LD A,1 |
409 | LD A,1 |
| 407 | SETTYPEFONT |
410 | SETTYPEFONT |
| 408 | RST8 _SETUP_FONT |
411 | RST8 _SETUP_FONT |
| 409 | POP HL |
412 | POP HL |
| Line 412... | Line 415... | ||
| 412 | 415 | ||
| 413 | ; включение/выключениe отображения часов |
416 | ; включение/выключениe отображения часов |
| 414 | CMOS_ONOFF LD A,(ERS_FLAGS) |
417 | CMOS_ONOFF LD A,(ERS_FLAGS) |
| 415 | AND M_CLOCK_ON ; проверка наличия кмоса |
418 | AND M_CLOCK_ON ; проверка наличия кмоса |
| 416 | JP Z,MAINLOP |
419 | JP Z,MAINLOP |
| 417 | LD H,CMOS_BYTE_01 |
420 | LD H,CMOS.BYTE_01 |
| 418 | CALL READCMOS |
421 | CALL READCMOS |
| 419 | XOR M_CLOCK_VIEW |
422 | XOR CMOS_EC.M_CLOCK_VIEW |
| 420 | LD L,A |
423 | LD L,A |
| 421 | PUSH AF |
424 | PUSH AF |
| 422 | LD H,CMOS_BYTE_01 |
425 | LD H,CMOS.BYTE_01 |
| 423 | CALL WRITECMOS |
426 | CALL WRITECMOS |
| 424 | POP AF |
427 | POP AF |
| 425 | AND M_CLOCK_VIEW |
428 | AND CMOS_EC.M_CLOCK_VIEW |
| 426 | JP Z,MAINLOP |
429 | JP Z,MAINLOP |
| 427 | LD HL,TIME_OFF |
430 | LD HL,TIME_OFF |
| 428 | RST8 _PRINT_MESSAGE |
431 | RST8 _PRINT_MESSAGE |
| 429 | JP MAINLOP |
432 | JP MAINLOP |
| 430 | 433 | ||
| Line 459... | Line 462... | ||
| 459 | EX AF,AF' |
462 | EX AF,AF' |
| 460 | RRA |
463 | RRA |
| 461 | RET |
464 | RET |
| 462 | 465 | ||
| 463 | E4E3 XOR A |
466 | E4E3 XOR A |
| 464 | IN A,(0XFE) |
467 | IN A,(0xFE) |
| 465 | CPL |
468 | CPL |
| 466 | AND 0x1F |
469 | AND 0x1F |
| 467 | JR NZ,E4E3 |
470 | JR NZ,E4E3 |
| 468 | LD (LAST_K),A |
471 | LD (LAST_K),A |
| 469 | RES 5,(IY+1) ; на клавиатуре ничего не нажато |
472 | RES 5,(IY+1) ; на клавиатуре ничего не нажато |
| Line 496... | Line 499... | ||
| 496 | 499 | ||
| 497 | ; распечатка текущего виртуального дисковода |
500 | ; распечатка текущего виртуального дисковода |
| 498 | PRT_VIRTDRV |
501 | PRT_VIRTDRV |
| 499 | RST8 _MOUNTER,_GET_VIRT_BITS |
502 | RST8 _MOUNTER,_GET_VIRT_BITS |
| 500 | LD D,A |
503 | LD D,A |
| 501 | LD H,VIRT_REAL_DRIVE |
504 | LD H,CMOS.VIRT_REAL_DRIVE |
| 502 | CALL READCMOS |
505 | CALL READCMOS |
| 503 | AND 3 |
506 | AND 3 |
| 504 | LD B,A |
507 | LD B,A |
| 505 | INC B |
508 | INC B |
| 506 | ADD A,'A' |
509 | ADD A,'A' |
| Line 655... | Line 658... | ||
| 655 | MEMORY48 CALL ON_BIT128 |
658 | MEMORY48 CALL ON_BIT128 |
| 656 | LD A,0x30 |
659 | LD A,0x30 |
| 657 | JR SET_7FFD |
660 | JR SET_7FFD |
| 658 | 661 | ||
| 659 | ; чтение CMOS и изменение сообщений для вывода на экран об установленных режимах |
662 | ; чтение CMOS и изменение сообщений для вывода на экран об установленных режимах |
| 660 | SET_MODES LD H,0x0B ; читать режим счета часов |
663 | SET_MODES LD H,CMOS.REG_B ; читать режим счета часов |
| 661 | CALL READCMOS |
664 | CALL READCMOS |
| 662 | RES 2,L ; принудительно включаем бинарный счет |
665 | RES CMOSREG.B_B_RW_DM,L ; принудительно включаем бинарный счет |
| 663 | CALL WRITECMOS ; сохраняем изменения |
666 | CALL WRITECMOS ; сохраняем изменения |
| 664 | LD H,CMOS_BYTE_01 ; читаем установки турбо и памяти |
667 | LD H,CMOS.BYTE_01 ; читаем установки турбо и памяти |
| 665 | CALL READCMOS |
668 | CALL READCMOS |
| 666 | AND M_TURBO357 |
669 | AND CMOS_EC.M_TURBO357 |
| 667 | RRCA |
670 | RRCA |
| 668 | RRCA |
671 | RRCA |
| 669 | RRCA |
672 | RRCA |
| 670 | LD (SYSREG1),A ; содержимое для записи в порт EFF7 |
673 | LD (SYSREG1),A ; содержимое для записи в порт EFF7 |
| 671 | LD B,A |
674 | LD B,A |
| 672 | LD A,L |
675 | LD A,L |
| 673 | AND _128K | _48K | _1MB |
676 | AND CMOS_EC._128K | CMOS_EC._48K | CMOS_EC._1MB |
| 674 | LD (MEMMODE),A ; выбранный режим памяти |
677 | LD (MEMMODE),A ; выбранный режим памяти |
| 675 | LD H,CMOS_BYTE_00 |
678 | LD H,CMOS.BYTE_00 |
| 676 | CALL READCMOS ; читаем основные установки |
679 | CALL READCMOS ; читаем основные установки |
| 677 | LD C,A |
680 | LD C,A |
| 678 | AND M_TURBO14 |
681 | AND CMOS_ED.M_TURBO14 |
| 679 | LD HL,TURBO_NUM ; номер турбо режима |
682 | LD HL,TURBO_NUM ; номер турбо режима |
| 680 | LD (HL),2 ; режим 14МГЦ |
683 | LD (HL),2 ; режим 14МГЦ |
| 681 | JR NZ,SETMODES04 |
684 | JR NZ,SETMODES04 |
| 682 | LD A,B |
685 | LD A,B |
| 683 | DEC (HL) ; режим 7МГЦ |
686 | DEC (HL) ; режим 7МГЦ |
| Line 696... | Line 699... | ||
| 696 | LDI |
699 | LDI |
| 697 | LDI |
700 | LDI |
| 698 | LDI |
701 | LDI |
| 699 | LDI ; перенесли для вывода экран |
702 | LDI ; перенесли для вывода экран |
| 700 | LD C,A |
703 | LD C,A |
| 701 | AND M_EMUL_TAPE |
704 | AND CMOS_ED.M_EMUL_TAPE |
| 702 | LD HL,EMTAPLOAD |
705 | LD HL,EMTAPLOAD |
| 703 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
706 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
| 704 | LD A,C |
707 | LD A,C |
| 705 | AND M_RELOAD_FONT |
708 | AND CMOS_ED.M_RELOAD_FONT |
| 706 | XOR M_RELOAD_FONT |
709 | XOR CMOS_ED.M_RELOAD_FONT |
| 707 | LD HL,EROMLOADFONT |
710 | LD HL,EROMLOADFONT |
| 708 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
711 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
| 709 | LD A,C |
712 | LD A,C |
| 710 | AND M_TYPE_FONT |
713 | AND CMOS_ED.M_TYPE_FONT |
| 711 | PUSH BC |
714 | PUSH BC |
| 712 | LD HL,TXTMODTYPE |
715 | LD HL,TXTMODTYPE |
| 713 | LD BC,5 |
716 | LD BC,5 |
| 714 | JR Z,SET_FONT2 |
717 | JR Z,SET_FONT2 |
| 715 | ADD HL,BC |
718 | ADD HL,BC |
| 716 | SET_FONT2 LD DE,ETYPESFONT |
719 | SET_FONT2 LD DE,ETYPESFONT |
| 717 | LDIR |
720 | LDIR |
| 718 | POP BC |
721 | POP BC |
| 719 | LD A,C |
722 | LD A,C |
| 720 | AND MKOL_MODES |
723 | AND CMOS_EC.MKOL_MODES |
| 721 | CP KOL_MODES |
724 | CP CMOS_EC.KOL_MODES |
| 722 | JR C,SETMODES03 |
725 | JR C,SETMODES03 |
| 723 | XOR A |
726 | XOR A |
| 724 | SETMODES03 LD L,A |
727 | SETMODES03 LD L,A |
| 725 | ADD A,A |
728 | ADD A,A |
| 726 | ADD A,L |
729 | ADD A,L |
| Line 733... | Line 736... | ||
| 733 | LD DE,TXT_RESET |
736 | LD DE,TXT_RESET |
| 734 | LD A,C |
737 | LD A,C |
| 735 | LD BC,0x0C |
738 | LD BC,0x0C |
| 736 | LDIR |
739 | LDIR |
| 737 | LD C,A |
740 | LD C,A |
| 738 | AND M_PRINTER_AY |
741 | AND CMOS_ED.M_PRINTER_AY |
| 739 | LD HL,ETXT_AYPRINTER |
742 | LD HL,ETXT_AYPRINTER |
| 740 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
743 | CALL SET_ONOFF ; перенос символов для вывода на экран, ON или OFF |
| 741 | SETMODES02 LD A,(MEMMODE) |
744 | SETMODES02 LD A,(MEMMODE) |
| 742 | AND A |
745 | AND A |
| 743 | LD HL,T_ALL |
746 | LD HL,T_ALL |
| Line 748... | Line 751... | ||
| 748 | LD HL,T_128 ; 128K |
751 | LD HL,T_128 ; 128K |
| 749 | SETMODES01 LD DE,TXT_MEM ; режим памяти |
752 | SETMODES01 LD DE,TXT_MEM ; режим памяти |
| 750 | LD A,C |
753 | LD A,C |
| 751 | LD BC,3 |
754 | LD BC,3 |
| 752 | LDIR |
755 | LDIR |
| 753 | LD H,CMOS_BYTE_01 |
756 | LD H,CMOS.BYTE_01 |
| 754 | CALL READCMOS |
757 | CALL READCMOS |
| 755 | PUSH AF |
758 | PUSH AF |
| 756 | AND M_AUTOMOUNT |
759 | AND CMOS_EC.M_AUTOMOUNT |
| 757 | LD HL,ETXT_AUTOMOUNT |
760 | LD HL,ETXT_AUTOMOUNT |
| 758 | CALL SET_ONOFF |
761 | CALL SET_ONOFF |
| 759 | POP AF |
762 | POP AF |
| 760 | ; для резидента HONEY COMANDER |
763 | ; для резидента HONEY COMANDER |
| 761 | AND M_REZIDENT |
764 | AND CMOS_EC.M_REZIDENT |
| 762 | LD HL,TXT_REZIDENT |
765 | LD HL,TXT_REZIDENT |
| 763 | CALL SET_ONOFF |
766 | CALL SET_ONOFF |
| 764 | LD H,CMOS_BYTE_03 |
767 | LD H,CMOS.BYTE_03 |
| 765 | CALL READCMOS |
768 | CALL READCMOS |
| 766 | AND M_KILL_REZIDENT |
769 | AND CMOS_E9.M_KILL_REZIDENT |
| 767 | LD HL,TXT_KILLREZID |
770 | LD HL,TXT_KILLREZID |
| 768 | CALL SET_ONOFF |
771 | CALL SET_ONOFF |
| 769 | LD A,(ERS_FLAGS) |
772 | LD A,(ERS_FLAGS) |
| 770 | AND M_CLOCK_ON |
773 | AND M_CLOCK_ON |
| 771 | RET Z |
774 | RET Z |
| Line 935... | Line 938... | ||
| 935 | LD BC,EBAS_VAR-BAS_VAR |
938 | LD BC,EBAS_VAR-BAS_VAR |
| 936 | LDIR ; установка стандартных переменных BASIC и TR-DOS |
939 | LDIR ; установка стандартных переменных BASIC и TR-DOS |
| 937 | GET_DRV_SYM LD A,(ERS_FLAGS) ; проверяем наличие кмоса |
940 | GET_DRV_SYM LD A,(ERS_FLAGS) ; проверяем наличие кмоса |
| 938 | AND M_CLOCK_ON |
941 | AND M_CLOCK_ON |
| 939 | JR Z,SET_DRIVE |
942 | JR Z,SET_DRIVE |
| 940 | LD H,VIRT_REAL_DRIVE |
943 | LD H,CMOS.VIRT_REAL_DRIVE |
| 941 | CALL READCMOS |
944 | CALL READCMOS |
| 942 | RRCA |
945 | RRCA |
| 943 | RRCA |
946 | RRCA |
| 944 | AND 3 |
947 | AND 3 |
| 945 | SETUP_DRIVE LD (DRV_SYM),A ; установка выбранного реального дисковода |
948 | SETUP_DRIVE LD (DRV_SYM),A ; установка выбранного реального дисковода |
| Line 951... | Line 954... | ||
| 951 | LD (TRD_5CF8),HL |
954 | LD (TRD_5CF8),HL |
| 952 | OR 0x3C |
955 | OR 0x3C |
| 953 | LD (TRD_5D16),A |
956 | LD (TRD_5D16),A |
| 954 | RET |
957 | RET |
| 955 | 958 | ||
| 956 | GLUDIN LD H,CMOS_BYTE_01 |
959 | GLUDIN LD H,CMOS.BYTE_01 |
| 957 | CALL READCMOS |
960 | CALL READCMOS |
| 958 | AND M_SOUNDKEYS |
961 | AND CMOS_EC.M_SOUNDKEYS |
| 959 | RET Z |
962 | RET Z |
| 960 | LD HL,DIN+0x0D |
963 | LD HL,DIN+0x0D |
| 961 | LD A,0x0D |
964 | LD A,0x0D |
| 962 | GLUDIN1 LD BC,0xFFFD |
965 | GLUDIN1 LD BC,0xFFFD |
| 963 | OUT (C),A |
966 | OUT (C),A |
| Line 965... | Line 968... | ||
| 965 | OUTD |
968 | OUTD |
| 966 | SUB 1 |
969 | SUB 1 |
| 967 | JR NC,GLUDIN1 |
970 | JR NC,GLUDIN1 |
| 968 | RET |
971 | RET |
| 969 | 972 | ||
| 970 | SHUT2AY LD H,CMOS_BYTE_01 |
973 | SHUT2AY LD H,CMOS.BYTE_01 |
| 971 | CALL READCMOS |
974 | CALL READCMOS |
| 972 | AND M_SOUNDKEYS |
975 | AND CMOS_EC.M_SOUNDKEYS |
| 973 | RET Z |
976 | RET Z |
| 974 | LD DE,0x0E00 |
977 | LD DE,0x0E00 |
| 975 | SHUT2AY1 DEC D |
978 | SHUT2AY1 DEC D |
| 976 | LD H,D |
979 | LD H,D |
| 977 | LD L,E |
980 | LD L,E |