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 |