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: 21.02.2023 savelij |
2 | ; LAST UPDATE: 16.02.2025 savelij |
| 3 | 3 | ||
| 4 | TITLE "menu_execute.a80" |
4 | TITLE "menu_execute.a80" |
| 5 | 5 | ||
| 6 | ; загрузка с ленты |
6 | ; загрузка с ленты |
| 7 | TAPELOAD LD H,CMOS_BYTE_00 |
7 | TAPELOAD LD H,CMOS.BYTE_00 |
| 8 | CALL READCMOS |
8 | CALL READCMOS |
| 9 | AND M_EMUL_TAPE |
9 | AND CMOS_ED.M_EMUL_TAPE |
| 10 | JP NZ,EMULTAPLOAD |
10 | JP NZ,EMULTAPLOAD |
| 11 | LD IX,TAPE_LDT |
11 | LD IX,TAPE_LDT |
| 12 | RST8 _WINW |
12 | RST8 _WINW |
| 13 | TAPELOAD1 CALL MEMSET ; выставили режимы памяти и турбы |
13 | TAPELOAD1 CALL MEMSET ; выставили режимы памяти и турбы |
| 14 | LD HL,BAS4TAPE |
14 | LD HL,BAS4TAPE |
| Line 91... | Line 91... | ||
| 91 | FILE_NONE LD IX,FILENONE |
91 | FILE_NONE LD IX,FILENONE |
| 92 | RST8 _WINW |
92 | RST8 _WINW |
| 93 | JP STUPID1 |
93 | JP STUPID1 |
| 94 | 94 | ||
| 95 | ; проверка виртуального привода |
95 | ; проверка виртуального привода |
| 96 | CMP_VIRTUAL LD H,VIRT_REAL_DRIVE |
96 | CMP_VIRTUAL LD H,CMOS.VIRT_REAL_DRIVE |
| 97 | CALL READCMOS |
97 | CALL READCMOS |
| 98 | LD A,(DRV_SYM) |
98 | LD A,(DRV_SYM) |
| 99 | LD D,A ; номер текущего реального дисковода |
99 | LD D,A ; номер текущего реального дисковода |
| 100 | LD A,L |
100 | LD A,L |
| 101 | RRCA |
101 | RRCA |
| Line 356... | Line 356... | ||
| 356 | RST8 _CMOS_RW,_CLEAR_CMOS |
356 | RST8 _CMOS_RW,_CLEAR_CMOS |
| 357 | CALL SET_MODES |
357 | CALL SET_MODES |
| 358 | JP RESTART |
358 | JP RESTART |
| 359 | 359 | ||
| 360 | ; установка задержки до определения HDD |
360 | ; установка задержки до определения HDD |
| 361 | HDDTIMEOUT LD H,HDD_TIMEOUT |
361 | HDDTIMEOUT LD H,CMOS.HDD_TIMEOUT |
| 362 | CALL READCMOS |
362 | CALL READCMOS |
| 363 | LD E,A |
363 | LD E,A |
| 364 | AND 0x0F |
364 | AND 0x0F |
| 365 | INC A |
365 | INC A |
| 366 | CP 10 |
366 | CP 10 |
| Line 376... | Line 376... | ||
| 376 | ADD A,'0' |
376 | ADD A,'0' |
| 377 | LD (TXT_HDDTIMEOUT),A |
377 | LD (TXT_HDDTIMEOUT),A |
| 378 | JR REPRINT_MENU |
378 | JR REPRINT_MENU |
| 379 | 379 | ||
| 380 | ; установка задержки запуска screensaver |
380 | ; установка задержки запуска screensaver |
| 381 | SCRSAVTIMEOUT LD H,HDD_TIMEOUT |
381 | SCRSAVTIMEOUT LD H,CMOS.HDD_TIMEOUT |
| 382 | CALL READCMOS |
382 | CALL READCMOS |
| 383 | LD E,A |
383 | LD E,A |
| 384 | AND 0xF0 |
384 | AND 0xF0 |
| 385 | ADD A,0x10 |
385 | ADD A,0x10 |
| 386 | CP 0xA0 |
386 | CP 0xA0 |
| Line 401... | Line 401... | ||
| 401 | ADD A,'0' |
401 | ADD A,'0' |
| 402 | LD (TXT_SCRSAVDELAY),A |
402 | LD (TXT_SCRSAVDELAY),A |
| 403 | JR REPRINT_MENU |
403 | JR REPRINT_MENU |
| 404 | 404 | ||
| 405 | ; установка разрешения/запрещения озвучки клавиатуры |
405 | ; установка разрешения/запрещения озвучки клавиатуры |
| 406 | SOUND_KEYS LD C,M_SOUNDKEYS |
406 | SOUND_KEYS LD C,CMOS_EC.M_SOUNDKEYS |
| 407 | LD HL,SNDKEYS_STAT |
407 | LD HL,SNDKEYS_STAT |
| 408 | SET_MENU PUSH HL |
408 | SET_MENU PUSH HL |
| 409 | LD H,CMOS_BYTE_01 |
409 | LD H,CMOS.BYTE_01 |
| 410 | SET_MENU1 CALL READCMOS |
410 | SET_MENU1 CALL READCMOS |
| 411 | XOR C |
411 | XOR C |
| 412 | LD L,A |
412 | LD L,A |
| 413 | CALL WRITECMOS |
413 | CALL WRITECMOS |
| 414 | AND C |
414 | AND C |
| Line 419... | Line 419... | ||
| 419 | CALL REST_COLCURS |
419 | CALL REST_COLCURS |
| 420 | RST8 _COM_DEV,_CONTROL_SD |
420 | RST8 _COM_DEV,_CONTROL_SD |
| 421 | JP _RULILKA |
421 | JP _RULILKA |
| 422 | 422 | ||
| 423 | ; установка разрешения/запрещения доступа к SD карте NEOGS |
423 | ; установка разрешения/запрещения доступа к SD карте NEOGS |
| 424 | ACS_SDNGS LD C,M_ACCESSSDG |
424 | ACS_SDNGS LD C,CMOS_EC.M_SD_NGS_ONOFF |
| 425 | LD HL,ACCSSDG_STAT |
425 | LD HL,ACCSSDG_STAT |
| 426 | JR SET_MENU |
426 | JR SET_MENU |
| 427 | 427 | ||
| 428 | ; установка выбора драйвера принтера |
428 | ; установка выбора драйвера принтера |
| 429 | AYPRN_SETUP LD C,M_TYPE_FONT |
429 | AYPRN_SETUP LD C,CMOS_ED.M_TYPE_FONT |
| 430 | LD HL,ETXT_AYPRINTER |
430 | LD HL,ETXT_AYPRINTER |
| 431 | JR SET_MENU |
431 | JR SET_MENU |
| 432 | 432 | ||
| 433 | ; включение/выключение автостарта TAP файла при выборе в FILE BROWSER |
433 | ; включение/выключение автостарта TAP файла при выборе в FILE BROWSER |
| 434 | AUTO_TAPE LD C,M_AUTO_TAPE |
434 | AUTO_TAPE LD C,CMOS_ED.M_AUTO_TAPE |
| 435 | LD HL,TXT_AUTOTAPE |
435 | LD HL,TXT_AUTOTAPE |
| 436 | PUSH HL |
436 | PUSH HL |
| 437 | LD H,CMOS_BYTE_00 |
437 | LD H,CMOS.BYTE_00 |
| 438 | JR SET_MENU1 |
438 | JR SET_MENU1 |
| 439 | 439 | ||
| 440 | ; для резидента HONEY COMANDER |
440 | ; для резидента HONEY COMANDER |
| 441 | ; включение/выключение резидента |
441 | ; включение/выключение резидента |
| 442 | REZID_SETUP LD C,M_REZIDENT |
442 | REZID_SETUP LD C,CMOS_EC.M_REZIDENT |
| 443 | LD HL,TXT_REZIDENT |
443 | LD HL,TXT_REZIDENT |
| 444 | JR SET_MENU |
444 | JR SET_MENU |
| 445 | 445 | ||
| 446 | ; включение/выключения порчи резидента при запуске |
446 | ; включение/выключения порчи резидента при запуске |
| 447 | KILL_REZID LD C,M_KILL_REZIDENT |
447 | KILL_REZID LD C,CMOS_E9.M_KILL_REZIDENT |
| 448 | LD HL,TXT_KILLREZID |
448 | LD HL,TXT_KILLREZID |
| 449 | PUSH HL |
449 | PUSH HL |
| 450 | LD H,CMOS_BYTE_03 |
450 | LD H,CMOS.BYTE_03 |
| 451 | JR SET_MENU1 |
451 | JR SET_MENU1 |
| 452 | 452 | ||
| 453 | ; установка перед выводом меню SETUP |
453 | ; установка перед выводом меню SETUP |
| 454 | SETUPM LD IX,SETUPER |
454 | SETUPM LD IX,SETUPER |
| 455 | LD H,CMOS_BYTE_01 |
455 | LD H,CMOS.BYTE_01 |
| 456 | CALL READCMOS |
456 | CALL READCMOS |
| 457 | LD B,A |
457 | LD B,A |
| 458 | AND M_SOUNDKEYS |
458 | AND CMOS_EC.M_SOUNDKEYS |
| 459 | LD HL,SNDKEYS_STAT |
459 | LD HL,SNDKEYS_STAT |
| 460 | CALL SET_ONOFF |
460 | CALL SET_ONOFF |
| 461 | LD A,B |
461 | LD A,B |
| 462 | AND M_ACCESSSDG |
462 | AND CMOS_EC.M_SD_NGS_ONOFF |
| 463 | LD HL,ACCSSDG_STAT |
463 | LD HL,ACCSSDG_STAT |
| 464 | CALL SET_ONOFF |
464 | CALL SET_ONOFF |
| 465 | LD H,CMOS_BYTE_00 |
465 | LD H,CMOS.BYTE_00 |
| 466 | CALL READCMOS |
466 | CALL READCMOS |
| 467 | AND M_AUTO_TAPE |
467 | AND CMOS_ED.M_AUTO_TAPE |
| 468 | LD HL,TXT_AUTOTAPE |
468 | LD HL,TXT_AUTOTAPE |
| 469 | CALL SET_ONOFF |
469 | CALL SET_ONOFF |
| 470 | LD H,HDD_TIMEOUT |
470 | LD H,CMOS.HDD_TIMEOUT |
| 471 | CALL READCMOS |
471 | CALL READCMOS |
| 472 | LD D,A |
472 | LD D,A |
| 473 | AND 0x0F |
473 | AND 0x0F |
| 474 | ADD A,'0' |
474 | ADD A,'0' |
| 475 | LD (TXT_HDDTIMEOUT),A |
475 | LD (TXT_HDDTIMEOUT),A |
| Line 483... | Line 483... | ||
| 483 | LD (TXT_SCRSAVDELAY),A |
483 | LD (TXT_SCRSAVDELAY),A |
| 484 | RST8 _WINW |
484 | RST8 _WINW |
| 485 | JP _RULILKA |
485 | JP _RULILKA |
| 486 | 486 | ||
| 487 | ; установка разрешения/запрещения эмуляции ленты |
487 | ; установка разрешения/запрещения эмуляции ленты |
| 488 | SET_EMU_TAPE LD H,CMOS_BYTE_00 |
488 | SET_EMU_TAPE LD H,CMOS.BYTE_00 |
| 489 | CALL READCMOS |
489 | CALL READCMOS |
| 490 | AND M_EMUL_TAPE |
490 | AND CMOS_ED.M_EMUL_TAPE |
| 491 | RET Z |
491 | RET Z |
| 492 | LD BC,BREAK_LOW |
492 | LD BC,BREAK_LOW |
| 493 | LD A,LOW (ADRBRK_EMUTAP) |
493 | LD A,LOW (ADRBRK_EMUTAP) |
| 494 | OUT (C),A |
494 | OUT (C),A |
| 495 | LD B,HIGH (BREAK_HIGH) |
495 | LD B,HIGH (BREAK_HIGH) |