-   
- ; LAST UPDATE: 09.11.2022 savelij 
-   
- ;ОПИСАТЕЛЬ ОКНА (АДРЕС В IX) 
- ;+00 X КООРДИНАТА 
- ;+01 Y КООРДИНАТА 
- ;+02 V ВЫСОТА 
- ;+03 H ШИРИНА 
- ;+04 C ЦВЕТ 
- ;+05 C ЦВЕТ КУРСОРА 
- ;+06 F ФЛАГОВЫЙ 
- ;+07 N НОМЕР ПУНКТА В ОКНЕ 
- ;  БИТ 7-0=БАЙТЫ 8-9 ТЕКУЩИЙ ПУНКТ МЕНЮ, 
- ;        1=БАЙТЫ 8-9 АДРЕС ХРАНЕНИЯ 
- ;+08 | ТЕКУЩИЙ 
- ;+09 | ПУНКТ МЕНЮ 
- ;+0A : КОЛИЧЕСТВО 
- ;+0B : ПУНКТОВ МЕНЮ 
- ;+0C | АДРЕС 
- ;+0D | ТЕКСТА 
- ;+0E : СПИСОК АДРЕСОВ 
- ;+0F : ПОДПРОГРАММ 
- ;+10 | АДРЕС СПИСКА АКТИВНЫХ 
- ;+11 | ЗОН ДЛЯ МЫШИ 
- ;+12 : АДРЕС СПИСКА 
- ;+13 : ГОРЯЧИХ КЛАВИШ 
-   
- ;ФОРМАТ ФЛАГОВОГО БАЙТА ОКНА 
- ;IX+6 
- ;7-0-НЕТ, 1-ЕСТЬ НИЖНИЙ ЗАГОЛОВОК 
- ;6-0-С РАМКОЙ,1-БЕЗ РАМКИ 
- ;5-0-НЕТ, 1-ЕСТЬ ВЕРХНИЙ ЗАГОЛОВОК 
- ;4-0-НЕТ, 1-ЕСТЬ ТЕКСТ 
- ;3 
- ;2- 
- ;1- 
- ;0- 
-   
- ;РАСКЛАДКА БАЙТ ВЫДЕЛЕНИЙ 
- ;+0 ФЛАГОВЫЙ 
- ;    7 ПРИ АКТИВНОСТИ УСТАНОВЛЕН 
- ;    6 УСТАНОВЛЕН, НЕ ВЫДЕЛЯЕТСЯ 
- ;    5 УСТАНОВЛЕН, ВЫЗОВ ВЕКТОРА 
- ;    4 
- ;    3 \ 
- ;    2  } ФОРМА КУРСОРА 
- ;    1  } ПРИ ПОПАДАНИИ 
- ;    0 / 
- ;+1 X КООРДИНАТА 
- ;+2 Y КООРДИНАТА 
- ;+3 V ВЫСОТА 
- ;+4 H ШИРИНА 
- ;+5 K КОД КЛАВИШИ 
-   
- ;===============мышиный курсор в двух видах================ 
- SPRAR           DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x50,0x03,0x48,0x01,0x4C,0x01,0x70,0x07,0x00 
- SPRAR2          DB 0x3F,0x00,0x1F,0x40,0x0F,0x60,0x07,0x70,0x03,0x78,0x01,0x7C,0x01,0x70,0x07,0x00 
- ;===============мышиный курсор в двух видах================ 
-   
- ; инфа для создания 9 сектора нового диска 
- DSKINFO         DB 0                    ; + 0xE1 - НОМЕР ПЕРВОГО СВОБОДНОГО СЕКТОРА 
-                 DB 1                    ; + 0xE2 - НОМЕР ПЕРВОГО СВОБОДНОГО ТРЕКА 
-                 DB 0x16                 ; + 0xE3 - ТИП ДИСКЕТЫ 
-                 DB 0                    ; + 0xE4 - КОЛИЧЕСТВО ФАЙЛОВ НА ДИСКЕТЕ 
- SECFREE         DW 2544                 ; + 0xE5 - КОЛИЧЕСТВО СВОБОДНЫХ СЕКТОРОВ 
-                 DB 0x10                 ; + 0xE7 - ИДЕНТИФИКАЦИОННЫЙ КОД TRDOS 
-                 DW 0                    ; + 0xE8 - 2 БАЙТА 0 
-                 DUPL 9,0x20             ; + 0xEA - 9 БАЙТ 0x20 
-                 DB 0                    ; + 0xF3 - 1 БАЙТ 0 
-                 DB 0                    ; + 0xF4 - КОЛИЧЕСТВО УДАЛЕННЫХ ФАЙЛОВ 
-                 DB "RAMDISKO"           ; + 0xF5 - ИМЯ ДИСКЕТЫ 
- DSK_END 
-   
- ;===============меню дисковой ошибки======================= 
- DSK_ERR 
-  WINHDR 0x08,0x08,LOW ((D_ERR2-D_ERR1)/2)+2,0x11,0x17,0x3A,%00100000,0, \ 
-         0,((D_ERR2-D_ERR1)/2),DSKERRTXT,D_ERR1,0,DSK_ERR_KEY 
- DSKERRTXT       DB "\x17\xFFDOS MEDITATE!" 
-                 DB "\r R.Retry:  " 
- NUM_TRK_TXT     DB "  /" 
- NUM_SEC_TXT     DB "  /" 
- SIDE_DISK       DB " "                          ;r 
-                 DB "\r I.Ignore sector"         ;i 
-                 DB "\r B.Break",0               ;b 
- DSK_ERR_KEY     DB LOW (D_ERR1-$-1),"rib" 
-   
- D_ERR1          DW _RETRY 
-                 DW _IGNORE 
-                 DW _STUPID 
- D_ERR2 
- ;===============меню дисковой ошибки======================= 
-   
- ;===============сервисное меню============================= 
- MKILLS 
-  WINHDR 0x0A,0x07,LOW ((KILL2-KILL1)/2)+2,0x12,0x0F,0x1F,%00100000,0, \ 
-         0,((KILL2-KILL1)/2),MKILLSTXT,KILL1,0,MKILLS_KEY 
- MKILLSTXT       DB "\x17\xFFServices" 
-                 DB "\r R.Reset NeoGS"                   ;r 
-                 DB "\r E.Reset CMOS"                    ;e 
-                 DB "\r K.Format ramdisk 640k"           ;k 
-                 DB "\r V.Basic 48 standart"             ;v 
-                 DB "\r B.Basic 128 standart"            ;b 
-                 DB "\r M.Edit CMOS"                     ;m 
-                 DB "\r S.Test PC keyboard"              ;s 
-                 DB "\r D.HDD detector"                  ;d 
-                 DB "\r C.ATM CP/M"                      ;c 
-                 DB "\r T.IS-DOS boot"                   ;t 
-                 DB "\r F.Fast update ROM"               ;f 
-                 DB "\r U.Update custom ROM"             ;u 
-                 DB "\r N.Dismount image"                ;n 
-                 DB "\r X.Exit",0                        ;x 
- MKILLS_KEY      DB LOW (KILL1-$-1),"rekvbmsdctfunx" 
-   
- KILL1           DW RESETNGS                     ;r 
-                 DW RESET_CMOS                   ;e 
-                 DW RAM_640                      ;k 
-                 DW BAS48STD                     ;v 
-                 DW BAS128STD                    ;b 
-                 DW EDIT_CMOS                    ;m 
-                 DW PC_KEYS_TEST                 ;s 
-                 DW HDD_DETECTOR                 ;d 
-                 DW ATM_CPM                      ;c 
-                 DW ISDOS_BOOT                   ;t 
-                 DW LOAD4FLASH_FULL              ;f 
-                 DW LOAD4FLASH_CUST              ;u 
-                 DW UMOUNTIMAGE                  ;n 
-                 DW RESTART                      ;x 
- KILL2 
- ;===============сервисное меню============================= 
-   
- ;===============демонтирование образов===================== 
- WDISMOUNT 
-  WINHDR 0x0F,0x08,LOW ((WDISM2-WDISM1)/2)+2,0x0C,0x07,0x1F,%00100000,0, \ 
-         0,((WDISM2-WDISM1)/2),WDISMTXT,WDISM1,0,WDISMKEY 
- WDISMTXT        DB "\x17\xFFDismount" 
-                 DB "\r 1.Dismount A:"           ;1 
-                 DB "\r 2.Dismount B:"           ;2 
-                 DB "\r 3.Dismount C:"           ;3 
-                 DB "\r 4.Dismount D:"           ;4 
-                 DB "\r X.Exit",0                ;x 
-   
- WDISMKEY        DB LOW (WDISM1-$-1),"1234x" 
-   
- WDISM1          DW DISMOUNT_A                   ;1 
-                 DW DISMOUNT_B                   ;2 
-                 DW DISMOUNT_C                   ;3 
-                 DW DISMOUNT_D                   ;4 
-                 DW RESTART                      ;x 
- WDISM2 
- ;===============демонтирование образов===================== 
-   
- ;===============меню установок============================= 
- SETUPER 
-  WINHDR 0x07,0x07,LOW ((SETUPER2-SETUPER1)/2)+2,0x15,0x0F,0x1F,%00100000,0, \ 
-         0,((SETUPER2-SETUPER1)/2),SETUPERTXT,SETUPER1,0,SETUPERKEY 
- SETUPERTXT      DB "\x01\x17\xFFSetup" 
-                 DB "\r S.Sound on keys:      off" 
- SNDKEYS_STAT    EQU $-2 
-                 DB "\r G.Access SD NeoGS:    ofN" 
- ACCSSDG_STAT    EQU $-2 
-                 DB "\r K.DRV AY printer:     off" 
- ETXT_AYPRINTER  EQU $-2 
- ;ДЛЯ РЕЗИДЕНТА HONEY COMANDER  
-                 DB "\r R.Resident Honey Cmd: off" 
- TXT_REZIDENT    EQU $-2 
-                 DB "\r E.Kill rezident:      off" 
- TXT_KILLREZID   EQU $-2 
-                 DB "\r T.Autostart tape:     off" 
- TXT_AUTOTAPE    EQU $-2 
-                 DB "\r H.Delay for HDD, secs  5" 
- TXT_HDDTIMEOUT  EQU $-1 
-                 DB "\r L.Screensaver, minute: 5" 
- TXT_SCRSAVDELAY EQU $-1 
-                 DZ "\r X.Exit" 
- ;ДЛЯ РЕЗИДЕНТА HONEY COMANDER 
- SETUPERKEY      DB LOW (SETUPER1-$-1),"sgkrethlx" 
-   
- SETUPER1        DW SOUND_KEYS                   ;s 
-                 DW ACS_SDNGS                    ;g 
-                 DW AYPRN_SETUP                  ;k 
- ;ДЛЯ РЕЗИДЕНТА HONEY COMANDER 
-                 DW REZID_SETUP                  ;r 
-                 DW KILL_REZID                   ;e 
-                 DW AUTO_TAPE                    ;t 
-                 DW HDDTIMEOUT                   ;h 
-                 DW SCRSAVTIMEOUT                ;l 
-                 DW RESTART                      ;x 
- SETUPER2 
- ;===============меню установок============================= 
-   
- ;===============выбор FAT устройства======================= 
- SEL_FAT_DEV 
-  WINHDR 0x03,0x04,0x00,0x16,0x07,0x1F,%00100000,0, \ 
-         0,0,SEL_FAT_DRV,0,0,0 
- SELFATDEVEXE    EQU $-6 
- TXT_FAT_SEL     DB "\x17\xFFDrive select" 
- ETXT_FAT_SEL 
- ;===============выбор FAT устройства======================= 
-   
- ;===============главное меню=============================== 
- MAINMENU 
-  WINHDR 0x11,0x06,LOW ((MAIN2-MAIN1)/2)+2,0x0C,0x0F,0x1F,%00100000,0, \ 
-         0,((MAIN2-MAIN1)/2),MAINTXT,MAIN1,MAIN_ZONE,MAINMENU_KEY 
- MAINTXT         DB "\x17\xFFMain menu" 
-                 DB "\r Z.TR-DOS boot"           ;z 
-                 DB "\r F.File browse"           ;f 
-                 DB "\r T.Tape load"             ;t 
-                 DB "\r B.HDD boot"              ;b 
-                 DB "\r D.CD boot"               ;d 
-                 DB "\r 5.SDcard boot"           ;5 
-                 DB "\r X.Perfect Cmd"           ;x 
-                 DB "\r S.TR-DOS"                ;s 
-                 DB "\r I.48k basic"             ;i 
-                 DB "\r U.128k basic"            ;u 
-                 DB "\r C.Setup"                 ;c 
-                 DB "\r R.Service"               ;r 
-                 DB 0 
- MAINMENU_KEY    DB LOW (MAIN1-$-1),"zftbd5xsiucrwmlg123489vyhejn" 
-   
- MAIN1           DW GLUBOOT                      ;z ДИСКЕТОЗАГРУЗЧИК 
-                 DW FILES_BROWSE                 ;f ЗАГРУЗЧИК С ФАТА 
-                 DW TAPELOAD                     ;t ЗАГРУЗКА С ЛЕНТЫ 
-                 DW HDD_BOOT                     ;b СТАРЫЙ ЗАГРУЗЧИК С ВИНТА 
-                 DW CDBOOT                       ;d СТАРЫЙ ЗАГРУЗЧИК С СИДЮКА 
-                 DW SDCARDBOOT                   ;5 ЗАГРУЗЧИК С SD КАРТЫ 
-                 DW PERFECT                      ;x PERFECT COMANDER 
-                 DW DOS128                       ;s ПЕРЕХОД В TR-DOS 
-                 DW BAS48                        ;i ПЕРЕХОД В БЕЙСИК 48 
-                 DW BAS128                       ;u ПЕРЕХОД В БЕЙСИК 128 
-                 DW SETUPM                       ;c УСТАНОВКИ 
-                 DW _KILLS                       ;r СЕРВИС МЕНЮ 
- MAIN2           DW CHNGTURBO                    ;w ИЗМЕНЕНИЕ ТУРБО 
-                 DW CHNGMODE                     ;m ИЗМЕНЕНИЕ РЕЖИМА ПАМЯТИ 
-                 DW CHNGTAPMODE                  ;l ПЕРЕКЛЮЧЕНИЕ ЭМУЛЯЦИИ ЛЕНТЫ 
-                 DW CHNGGLUKMOD                  ;g РАЗРЕШЕНИЕ СБРОСА В ГЛЮК 
-                 DW SELDRV                       ;1 ВЫБОР ДИСКОВОДА A 
-                 DW SELDRV                       ;2 ВЫБОР ДИСКОВОДА B 
-                 DW SELDRV                       ;3 ВЫБОР ДИСКОВОДА C 
-                 DW SELDRV                       ;4 ВЫБОР ДИСКОВОДА D 
-                 DW MOUSE_ONOFF                  ;8 ВКЛ/ВЫКЛ КУРСОРА МЫШИ 
-                 DW CMOS_ONOFF                   ;9 ВКЛ/ВЫКЛ ОТОБРАЖЕНИЯ ЧАСОВ 
-                 DW NEXTDRIVE                    ;v ПЕРЕБОР РЕАЛЬНЫХ ДИСКОВОДОВ 
-                 DW NEXTVIRT                     ;y ПЕРЕБОР ВИРТУАЛЬНЫХ ДИСКОВОДОВ 
-                 DW VIEW_HELP                    ;h ВЫВОД ХЕЛПА 
-                 DW EN_LOADFONT                  ;e РАЗРЕШЕНИЕ ПЕРЕЗАГРУЗКИ ШРИФТА ПО СБРОСУ 
-                 DW SET_TYPEFONT                 ;j ВЫБОР ТИПА ШРИФТА 
-                 DW EN_AUTOMNT                   ;n ВКЛ/ВЫКЛ АВТОМОНТИРОВАНИЯ ИЗ ФАЙЛА 
- ;===============главное меню=============================== 
-   
- ;===============для загрузки с ленты======================= 
- BAS4TAPE        binclude "bas4tape.bin" 
- EBAS4TAPE 
-   
- ;===============для загрузки с ленты======================= 
- TAPE_LDT 
-  WINHDR 0x06,0x08,0x04,0x14,0x0E,0x0F,%00000000,0, \ 
-         0,0,TAPELDTTXT,0,0,0 
- TAPELDTTXT      DB "\x17\xFF\r\x03Tape loading..." 
-                 DZ "\r\x03Press PLAY on tape" 
- ;===============для загрузки с ленты======================= 
-   
- ;===============не TR-DOS диск============================= 
- NONETRDOS 
-  WINHDR 0x06,0x08,0x03,0x16,0x16,0x0F,%00000000,0, \ 
-         0,0,TXT_NONETRDOS,0,0,0 
- TXT_NONETRDOS   DB "\x17\xFF\r\x03Not TR-DOS disk",0  
- ;===============не TR-DOS диск============================= 
-   
- ;===============загрузка SCL образа======================== 
- LOAD_SCL 
-  WINHDR 0x07,0x07,LOW ((.SELMOUNT2-.SELMOUNT1)/2)+2,0x0C,0x07,0x1F,%00100000,0, \ 
-         0,((.SELMOUNT2-.SELMOUNT1)/2),.SELMOUNTTXT,.SELMOUNT1,0,.SELMOUNTKEYS 
- .SELMOUNTTXT    DB "\x17\xFFSCL to:\r" 
-                 DB " 0.Only load\r" 
-                 DB " 1.Ramdisk A:\r" 
-                 DB " 2.Ramdisk B:\r" 
-                 DB " 3.Ramdisk C:\r" 
-                 DB " 4.Ramdisk D:\r" 
-                 DZ " X.Exit" 
-   
- .SELMOUNTKEYS   DB LOW (.SELMOUNT1-$-1),"01234x" 
-   
- .SELMOUNT1      DW LOADIMAGE 
-                 DW SCL_A 
-                 DW SCL_B 
-                 DW SCL_C 
-                 DW SCL_D 
-                 DW RESTART 
- .SELMOUNT2 
- ;===============загрузка SCL образа======================== 
-   
- ;===============запуск из TRD образа======================= 
- RUN_IMAGE 
-  WINHDR 0x07,0x03,LOW ((.SELMOUNT2-.SELMOUNT1)/2)+2,0x0C,0x07,0x1F,%00100000,0, \ 
-         0,((.SELMOUNT2-.SELMOUNT1)/2),.SELMOUNTTXT,.SELMOUNT1,0,.SELMOUNTKEYS 
- .SELMOUNTTXT    DB "\x17\xFFTRD to:\r" 
-                 DB " 0.Only load\r" 
-                 DB " 1.Ramdisk A:\r" 
-                 DB " 2.Ramdisk B:\r" 
-                 DB " 3.Ramdisk C:\r" 
-                 DB " 4.Ramdisk D:\r" 
-                 DB " 5.Mount A:\r" 
-                 DB " 6.Mount B:\r" 
-                 DB " 7.Mount C:\r" 
-                 DB " 8.Mount D:\r" 
-                 DB " W.Copy to A:\r" 
-                 DB " E.Copy to B:\r" 
-                 DB " R.Copy to C:\r" 
-                 DB " T.Copy to D:\r" 
-                 DZ " X.Exit" 
-   
- .SELMOUNTKEYS   DB LOW (.SELMOUNT1-$-1),"012345678wertx" 
-   
- .SELMOUNT1      DW LOADIMAGE 
-                 DW RUNIMG_A 
-                 DW RUNIMG_B 
-                 DW RUNIMG_C 
-                 DW RUNIMG_D 
-                 DW MOUNT_A 
-                 DW MOUNT_B 
-                 DW MOUNT_C 
-                 DW MOUNT_D 
-                 DW SEL4COPY_A 
-                 DW SEL4COPY_B 
-                 DW SEL4COPY_C 
-                 DW SEL4COPY_D 
-                 DW RESTART 
- .SELMOUNT2 
- ;===============запуск из образа=========================== 
-   
- ;===============окно вывода найденных файлов TR-DOS======== 
- WIN_FILES 
-  WINHDR 0x00,0x00,0x00,0x0C,0x0F,0x1F,%00010010,0, \ 
-         0,0,SEL_FAT_DRV,WFILES1,0,WFILESKEYS 
-   
- WFILESKEYS      DB LOW (WFILES1-$-1) 
-                 REPT FH_FILE-2 
-                 DB 0 
-                 ENDM 
-                 DB "x" 
-   
- WFILES1         REPT FH_FILE-2 
-                 DW RUNFILE 
-                 ENDM 
-                 DW SEL_FILES_WIN 
- ;===============окно вывода найденных файлов TR-DOS======== 
-   
- ;===============окно вывода найденных файлов FAT=========== 
- FAT_FILES 
-  WINHDR 0x00,0x00,0x00,0x0C,0x0F,0x1F,%10100010,0, \ 
-         0,0,FATFILESTXT,FATFILES1,FB_ZONE,FATFILESKEYS 
- FATFILESTXT     DB "\x17\xFFFile browser" 
-                 DZ "\x16\x17\x08D.Drive ENTER.Run/Load V.View" 
-   
- FATFILESKEYS    DB LOW (FATFILES1-$-1) 
-                 REPT FH_FILE 
-                 DB 0x0D 
-                 ENDM 
-                 DB "dvx" 
-   
- FATFILES1       REPT FH_FILE 
-                 DW RUN_HOB 
-                 ENDM 
-                 DW SELECT_DEVICE 
-                 DW VIEW_IMAGE 
-                 DW RESTART 
-   
- FB_ZONE         DB 0,0x00,FH_FILE-1,0x01,0x07,"d" 
-                 DB 0,0x07,FH_FILE-1,0x01,0x0C,0x0D 
-                 DB 0,0x13,FH_FILE-1,0x01,0x07,"v" 
-                 DB 0xFF 
- ;===============окно вывода найденных файлов FAT=========== 
-   
- ;===============нет бейсик файлов========================== 
- NOBASIC 
-  WINHDR 0x00,0x00,0x03,0x0C,0x0F,0x27,%00000000,0, \ 
-         0,0,TXTNOBASIC,ADRNOBAS,0,0 
- TXTNOBASIC      DZ "\x17\xFF\r\x03No Progs" 
- ADRNOBAS        DW RESTART 
- ;===============нет бейсик файлов========================== 
-   
- ;===============HDD не найден============================== 
- HDDBOOT_ERROR 
-  WINHDR 0x08,0x08,0x04,0x10,0x17,0x00,%00000000,0, \ 
-         0,0,TXT_HDDBOOTERR,0,0,0 
- TXT_HDDBOOTERR  DZ "\x17\xFF\r\x03HDD not found\r\x03Press any key" 
- ;===============HDD не найден============================== 
-   
- ;===============image FDI error============================ 
- LDFDIERROR 
-  WINHDR 0x08,0x08,0x04,0x10,0x17,0x00,%00000000,0, \ 
-         0,0,TXT_LDFDIERR,0,0,0 
- TXT_LDFDIERR    DZ "\x17\xFF\r\x03FDI image error\r\x03Press any key" 
- ;===============image FDI error============================ 
-   
- ;===============file not found============================= 
- FILENONE 
-  WINHDR 0x08,0x08,0x04,0x10,0x17,0x00,%00000000,0, \ 
-         0,0,TXT_FILENONE,0,0,0 
- TXT_FILENONE    DZ "\x17\xFF\r\x03File not found\r\x03Press any key" 
- ;===============file not found============================= 
-   
- ;===============virtual error============================== 
- ERR_VIRTUAL 
-  WINHDR 0x05,0x08,0x04,0x18,0x17,0x00,%00000000,0, \ 
-         0,0,TXT_ERRVIRTUAL,0,0,0 
- TXT_ERRVIRTUAL  DB "\x17\xFF\r\x03Virtual drive not formatted" 
-                 DZ "\r\x03or image not loaded" 
- ;===============virtual error============================== 
-   
- ;===============update ROM================================= 
- UPDATE_WIN 
-  WINHDR 0x09,0x08,0x0B,0x12,0x17,0x00,%00100000,0, \ 
-         0,0,TXT_UPDATEWIN,0,0,0 
- TXT_UPDATEWIN   DB "\x17\xFFUpdate FLASH ROM\r" 
-                 DB "\r\x03Page 0" 
-                 DB "\r\x03Page 1" 
-                 DB "\r\x03Page 2" 
-                 DB "\r\x03Page 3" 
-                 DB "\r\x03Page 4" 
-                 DB "\r\x03Page 5" 
-                 DB "\r\x03Page 6" 
-                 DZ "\r\x03Page 7" 
- ;===============update ROM================================= 
-   
- ;===============update custom ROM========================== 
- UPDATE_CUSTOM 
-  WINHDR 0x09,0x08,0x04,0x12,0x17,0x00,%00100000,0, \ 
-         0,0,TXT_UPDATECUST,0,0,0 
- TXT_UPDATECUST  DZ "\x17\xFFUpdate custom ROM" 
- ;===============update custom ROM========================== 
-   
- ;===============erase ROM================================== 
- ERASE_ROM 
-  WINHDR 0x0D,0x03,0x05,0x0A,%00010111,%00000000,%00000000,0, \ 
-         0,0,TXT_ERASEROM,0,0,0 
- TXT_ERASEROM    DZ "\x17\xFF\r\x03Erase FLASH" 
- ;===============erase ROM================================== 
-   
- ;===============копирование образа на TR-DOS диск========== 
- WINCOPY_IMAGE 
-  WINHDR 0x04,0x05,0x05,0x12,%00010111,%00000000,%00000000,0, \ 
-         0,0,.TXT,0,0,0 
- .TXT            DZ "\x17\xFF\r\x03Copy image" 
- ;===============копирование образа на TR-DOS диск========== 
-   
- ;===============страница помощи============================ 
- WIN_HELP 
-  WINHDR 0x01,0x03,0x14,0x1A,0x0F,0x00,%00100000,0, \ 
-         0,0,TXT_WINHELP,0,0,0 
- TXT_WINHELP     DB "\x17\xFFHelp" 
-                 DB "\r Key+RESET:" 
-                 DB "\r Space=TRDOS" 
-                 DB "\r CS=Basic128" 
-                 DB "\r SS=Basic48" 
-                 DB "\r D=Grass!512b(PSB^Halloween CC04)" 
-                 DB "\r C=ColorTable+border keys+COVOX" 
-                 DB "\r S=old CMOS SetUp" 
-                 DB "\r 0=return to EVO Reset Service" 
-                 DB "\r----------------------------------" 
-                 DB "\r In main menu:" 
-                 DB "\r 1-4=TR-DOS drive" 
-                 DB "\r V=TR-DOS drive" 
-                 DB "\r Y=Virtual drive" 
-                 DB "\r M=memory mode" 
-                 DB "\r W=turbo 3,5-7-14 MHz" 
-                 DB "\r 8=on/off mouse" 
-                 DB "\r 9=on/off time" 
-                 DZ "\r & uppercased option keys." 
- ;===============страница помощи============================ 
-   
- ;===============SD карта удалена=========================== 
- SDCARD_LOST 
-  WINHDR 0x08,0x08,0x04,0x10,0x17,0,%00000000,0, \ 
-         0,0,TXT_SDLOST,0,0,0 
- TXT_SDLOST      DZ "\x17\xFF\r\x03SD card lost\r\x03Press RESET" 
- ;===============SD карта удалена=========================== 
-   
- ;===============тексты и прочая фигня====================== 
- TXTFULLSCR      DB "\x16\x00\x00\x17",GREEN,"EVO Reset Service v",VERSBIOS 
-                 DB "\x16\x01\x00\x17",YELLOW,"ZX-Evolution 4096 Kb " 
-                 DB "\x16\x02\x00\x17",CYAN+BR_INK,"www.nedopc.com " 
-                 DB "\x16\x03\x00\x17",CYAN,"Baseconf: \x17\xFF" 
- VERS_CONF       DB "NONE                            " 
-                 DB "\x16\x04\x00\x17",CYAN,"AVR Boot: \x17\xFF" 
-                 ;   12345678901234567890123456789012 
- VERS_BOOT       DB "NONE                            " 
- ; распечатка времени и даты сборки ERS 
-         IF BUILD_DEBUG=1 
-                 DB "\x16\x05\x00\x17",BLUE,"Build ERS:  " 
-                 TEXTTIME 
-                 DB "  " 
-                 TEXTDATE 
-                 DB "  " 
-         ENDIF 
-                 DB "\x16\x17\x00\x17",MAGENTA+BR_INK,"H.Help \x17\xFF",0 
-   
- ;===============текст смонтированных дисков============= 
- MOUNTED_DRV     DB 0x16,0x12,0x00,0x17,GREEN,"Mount A: ",0x17,YELLOW 
- MNT_DRV_A       DB "NONE        " 
-                 DB 0x16,0x13,0x00,0x17,GREEN,"Mount B: ",0x17,YELLOW 
- MNT_DRV_B       DB "NONE        " 
-                 DB 0x16,0x14,0x00,0x17,GREEN,"Mount C: ",0x17,YELLOW 
- MNT_DRV_C       DB "NONE        " 
-                 DB 0x16,0x15,0x00,0x17,GREEN,"Mount D: ",0x17,YELLOW 
- MNT_DRV_D       DB "NONE        " 
-                 DB 0x16,0x11,0x00,0x17,GREEN,"Ramdisk: ",0x17,YELLOW 
- IN_RAMDISK      DB "NONE        " 
-                 DB 0x17,0xFF,0 
- ;===============текст смонтированных дисков============= 
-   
- ;===============текст настроек главного меню============ 
- TRDDRV_MODE     DB "\x16\x06\x00\x17",MAGENTA,"1-4.TR-DOS Drive:  \x17\xFFA",0 
- TXT_DRIVE       EQU $-2 
- SPEED_MODE      DB "\x16\x09\x00\x17",MAGENTA,"W.CPU frequency: \x17\xFF14.0",0 
- TXT_SPEED       EQU $-5 
- MEM_MODE        DB "\x16\x08\x00\x17",MAGENTA,"M.Memory Lock:    \x17\xFF" 
- TXT_MEM         DB "128",0 
- VIRTUAL_DRV     DB "\x16\x07\x00\x17",MAGENTA,"Y.Virtual Drive:  \x17\xFF A ",0 
- VIRT_DRIVE      EQU $-4 
- EMUTAPLOAD      DB "\x16\x0A\x00\x17",MAGENTA,"L.Emu tape load:  \x17\xFFoff",0 
- EMTAPLOAD       EQU $-3 
- SET_RESET       DB "\x16\x0B\x00\x17",MAGENTA,"G.RESET=>\x17",YELLOW+BR_INK,"            \x17\xFF",0 
- TXT_RESET       EQU $-0x0F 
- ROMLOADFONT     DB "\x16\x0C\x00\x17",MAGENTA,"E.Reload FONT:    \x17\xFFoff",0 
- EROMLOADFONT    EQU $-3 
- TYPESFONT       DB "\x16\x0D\x00\x17",MAGENTA,"J.Type FONT:    \x17\xFF  ATM",0 
- ETYPESFONT      EQU $-6 
- TXT_AUTOMOUNT   DB "\x16\x0E\x00\x17",MAGENTA,"N.Automount TRD:  \x17\xFFoff",0 
- ETXT_AUTOMOUNT  EQU $-3 
- ;===============текст настроек главного меню============ 
-   
- ;===============текст не соответствия прошики FPGA====== 
- INCORRECTFPGA   DB 0x16,0x16,0x00,0x17,RED << 3 + WHITE," Incorrect FPGA zxevo_fw.bin ",0 
- ;===============текст не соответствия прошики FPGA====== 
-   
- ;===============СПИСОК КЛАВИШ ПРОВЕРЯЕМЫХ ВСЕГДА======== 
- MAIN_KEYS       DB LOW (EMAIN_KEYS-$-1),"qaop ",0x07,0x08,0x09,0x0A,0x0B,0x0D 
- EMAIN_KEYS 
-   
- ADREXEKEYS      DW UP                                   ; q 
-                 DW DOWN                                 ; a 
-                 DW LEFT                                 ; o 
-                 DW RIGHT                                ; p 
-                 DW ENTER                                ; SPACE 
-                 DW RESTART                              ; EDIT 
-                 DW LEFT                                 ; 0x08 
-                 DW RIGHT                                ; 0x09 
-                 DW DOWN                                 ; 0x0A 
-                 DW UP                                   ; 0x0B 
-                 DW ENTER                                ; 0x0D 
- EADREXEKEYS 
-   
- ;===============ПРОВЕРЯЕМЫЕ ЗОНЫ МЫШИ=================== 
- ; F,X,Y,V,H,SYM 
- MAIN_ZONE       DB 0,0x00,0x06,0x01,0x10,"v"            ; перебор дисководов 
-                 DB 0,0x00,0x07,0x01,0x10,"y"            ; перебор виртуальных дисководов 
-                 DB 0,0x00,0x08,0x01,0x10,"m"            ; перебор режимов памяти 
-                 DB 0,0x00,0x09,0x01,0x10,"w"            ; перебор турбо 
-                 DB 0,0x00,0x0A,0x01,0x10,"l"            ; перебор эмуляции ленты 
-                 DB 0,0x00,0x0B,0x01,0x10,"g"            ; перебор разрешения глюка 
-                 DB 0,0x00,0x0C,0x01,0x10,"e"            ; перебор разрешения перезагрузки фонта 
-                 DB 0,0x00,0x0D,0x01,0x10,"j"            ; перебор типа шрифта 
- ;               DB 0,0X00,0X0E,0X01,0X10,"k"            ; перебор драйвера принтера 
- ;               DB 0,0x00,0x17,0x01,0x05,"h"            ; вызов помощи 
-                 DB 0,0x00,0x0E,0x01,0x10,"n"            ; вкл/выкл автомонтирования из файла 
- ;               DB 0,0x1D,0x15,0x03,0x03,0xAC 
-                 DB 0xFF 
-   
- BUFF_TIME       DB 0x16,0x00,0xD0,0x17,BLUE << 3 + YELLOW + BR_INK 
- TXT_TIME        DB "00:00:00",0x16,0x01,0xD0 
- TXT_DATA        DB "00.00.00",0x17,0xFF 
-   
- ; 000   PENT    TV      71680 
- ; 001   PENT    VGA     71680 
- ; 010   60Hz    TV      58688 
- ; 011   60Hz    VGA     58688 
- ; 100   48K     TV      69888 
- ; 101   48K     VGA     69888 
- ; 110   128K    TV      70908 
- ; 111   128K    VGA     70908 
- TXT_VMODE       DB 0x16,2,0xD0,0x17,GREEN+BR_INK 
-                 DB "        ",0 
- TV_VGA          EQU $-9 
-   
- TXT_TVVGA       DB "TV VGA" 
- TXT_HZ          DB "PENT60Hz 48K128K" 
-   
- TIME_OFF        DB "\x16\x00\xD0\x17",WHITE,"        \x16\x01\xD0        \x17\xFF",0 
-   
- TXT_RESETTO     DB " EVO Service" 
-                 DB "GLUK Service" 
-                 DB " EVO ProfROM" 
-                 DB "  Custom ROM" 
-   
- TXT_SELDOS      DB "EVO-DOS" 
-                 DB " TR-DOS" 
-   
- TXTMODTYPE      DB "  ATMCP866" 
- TXTTURBOMODE    DB " 3,5 7,014,0" 
-   
- ;===============ПОДДЕРЖИВАЕМЫЕ РАСШИРЕНИЯ================== 
- SUPPORT_EXT     DB "TRD"        ; 1 
-                 DB "SCL"        ; 2 
-                 DB "FDI"        ; 3 
-                 DB "TAP"        ; 4 
-                 DB "SPG"        ; 5 
-                 DB "$C "        ; 6 
-                 DB "BMP"        ; 7 
-                 DB "SNA"        ; 8 
-                 DB 0 
-   
- ;===============НОМЕРА ПОДДЕРЖИВАЕМЫХ РАСШИРЕНИЙ=========== 
- NUM_SUP_EXT     DUPL 17,0 
-   
- TYPE_FILE       DB 0 
-   
- SIGN_SCL        DB "SINCLAIR" 
- IMAGES          DB "FDIBMP" 
- VIEW_IMAGES     DB "TRDSCL",0 
- TAPES           DB "TAP",0 
- HOBETA          DB "$C SPGSNA",0 
- ROMS            DB "ROM",0 
- FONTS           DB "FNT",0 
-   
- ; текст для отображения найденных разделов, по 16 байт строка 
- TXT4MENU_DEVICE    ;12345678901234567890 
-                 DB ".HDDNemo     MASTER:" 
-                 DB ".HDDNemo      SLAVE:" 
-                 DB ".HDDSmuc     MASTER:" 
-                 DB ".HDDSmuc      SLAVE:" 
-                 DB ".HDDDIVIDE   MASTER:" 
-                 DB ".HDDDIVIDE    SLAVE:" 
-                 DB ".HDDProfi    MASTER:" 
-                 DB ".HDDProfi     SLAVE:" 
-                 DB ".HDDTURBO2   MASTER:" 
-                 DB ".HDDTURBO2    SLAVE:" 
-                 DB ".NeoGS       SDCard:" 
-                 DB ".ZContr      SDCard:" 
-   
- ;ТИП РАЗДЕЛА 
- TXT4MENU_TYPE   DB "FAT12" 
-                 DB "FAT16" 
-                 DB "FAT32" 
-   
- TXT_EDITCMOS1   DB "Press cursor keys, 0..9, A..F for edit,  X.Exit",0 
- TXT_EDITCMOS2   DB "CMOS Editor",0 
-   
- ;                   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F 
- ;80                 А    Б    В    Г    Д    Е    Ж    З    И    Й    К    Л    М    Н    О    П 
- CONV_CP866_ATM  DB 0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0 
- ;90                 Р    С    Т    У    Ф    Х    Ц    Ч    Ш    Щ    Ъ    Ы    Ь    Э    Ю    Я 
-                 DB 0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1 
- ;A0                 а    б    в    г    д    е    ж    з    и    й    к    л    м    н    о    п 
-                 DB 0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0 
- ;B0                 ░    ▒    ▓    │    ┤    ╡    ╢    ╖    ╕    ╣    ║    ╗    ╝    ╜    ╛    ┐ 
-                 DB 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F 
- ;C0                 └    ┴    ┬    ├    ─    ┼    ╞    ╟    ╚    ╔    ╩    ╦    ╠    ═    ╬    ╧ 
-                 DB 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F 
- ;D0                 ╨    ╤    ╥    ╙    ╘    ╒    ╓    ╫    ╪    ┘    ┌    █    ▄    ▌    ▐    ▀ 
-                 DB 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF 
- ;E0                 р    с    т    у    ф    х    ц    ч    ш    щ    ъ    ы    ь    э    ю    я 
-                 DB 0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1 
- ;F0                 Ё    ё    Є    є    Ї    ї    Ў    ў    °    ∙    ·    √    №    ¤    ■ 
-                 DB 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF 
-   
-         if 0 
- ;                   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F 
- ;80                 ░    ▒    ▓    │    ┤    ╡    ╢    ╖    ╕    ╣    ║    ╗    ╝    ╜    ╛    ┐ 
- CONV_ATM_CP866  DB 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF 
- ;90                 └    ┴    ┬    ├    ─    ┼    ╞    ╟    ╚    ╔    ╩    ╦    ╠    ═    ╬    ╧ 
-                 DB 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF 
- ;A0                 ╨    ╤    ╥    ╙    ╘    ╒    ╓    ╫    ╪    ┘    ┌    █    ▄    ▌    ▐    ▀ 
-                 DB 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF 
- ;B0                 Ё    ё    Є    є    Ї    ї    Ў    ў    °    ∙    ·    √    №    ¤    ■      
-                 DB 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF 
- ;C0                 Ю    А    Б    Ц    Д    Е    Ф    Г    Х    И    Й    К    Л    М    Н    О 
-                 DB 0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83,0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E 
- ;D0                 П    Я    Р    С    Т    У    Ж    В    Ь    Ы    З    Ш    Э    Щ    Ч    Ъ 
-                 DB 0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82,0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A 
- ;E0                 ю    а    б    ц    д    е    ф    г    х    и    й    к    л    м    н    о 
-                 DB 0xEE,0xA0,0xA1,0xE6,0xA4,0xA5,0xE4,0xA3,0xE5,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE 
- ;F0                 п    я    р    с    т    у    ж    в    ь    ы    з    ш    э    щ    ч    ъ 
-                 DB 0xAF,0xEF,0xE0,0xE1,0xE2,0xE3,0xA6,0xA2,0xEC,0xEB,0xA7,0xE8,0xED,0xE9,0xE7,0xEC 
-         endif 
-   
- ;===============TXT_HELP======================================== 
- ;                   0123456789ABCDEF0123456789ABCDEF 
- TXT_HELPREG     DB "SECOND                         ",0          ; 00 
-                 DB "SECOND ALARM                   ",0          ; 01 
-                 DB "MINUTE                         ",0          ; 02 
-                 DB "MINUTE ALARM                   ",0          ; 03 
-                 DB "HOUR                           ",0          ; 04 
-                 DB "HOUR ALARM                     ",0          ; 05 
-                 DB "DAY OF WEEK                    ",0          ; 06 
-                 DB "DAY                            ",0          ; 07 
-                 DB "MONTH                          ",0          ; 08 
-                 DB "YEAR                           ",0          ; 09 
-                 DB "#20                            ",0          ; 0A 
-                 DB "#02                            ",0          ; 0B 
-                 DB "#00                            ",0          ; 0C 
-                 DB "#80                            ",0          ; 0D 
-                 DB "BIT 7=TURBO,BIT 2-0=MEMORY MODE",0          ; 0E 
-                 DB "                               ",0          ; 0F 
-                 DB "NUMBER TR-DOS DRIVE            ",0          ; 10 
-                 DB "#AA OR #55                     ",0          ; 11 
- EMPTY_STROKA    DB "                               ",0 
-   
-                 DUPL 0x10,0 
- DSTUPID         DW _STUPID 
-   
- MSTUPID         DB 3,8,3,26,0xEA 
-                 DC "GO SLEEP,STUPID USER!!!" 
-                 DB 0xFF 
-   
- TXT_BETA        DB " beta" 
- TXT_NONE        DB "NONE        " 
- ETXT_NONE 
-   
- T_ALL           DB "off"        ; 0 
- T_128           DB "128"        ; 2 
- T_48            DB " 48"        ; 1 
-   
- SCRSAV 
- .START          DD 0 
- .CURR           DD 0 
- .TIMEOUT        DB 0 
-   
- ; переменные при обращении к TR-DOS 
- DOSVARS 
- .CURR_IX        DW 0 
- .COPY_1F        DB 0 
- .DSKERR         DB 0 
- .TMP_ERR_SP     DW 0 
- .CNT_COPY       DB 0 
-   
- TXT_DOSTYPES0   DB "EVO-DOS" 
- TXT_DOSTYPES1   DB " TR-DOS" 
- ETXT_DOSTYPES 
-   
- NUMFAT_SELECT   DW 0    ; номер выбранного файла 
- FILESIZE_BLOCKS DW 0    ; размер файла в блоках по 16К 
- DRV_SYM         DB 0    ; номер выбранного дисковода 
- MEMMODE         DB 0    ; режим памяти 
- SYSREG1         DB 0    ; копия для вывода в порт EFF7 
- TURBO_NUM       DB 0    ; номер турборежима 
- ERS_FLAGS       DB 0 
-   
-  BITMASK LOAD_IMG,      6       ; =1-загрузка образа в рамдиск 
-  BITMASK VIEW_IMG,      5       ; =1-показ содержимого образа (SCL TRD ONLY),=0-обычная работа 
-  BITMASK EMU_TAPE,      4       ; =1-эмуляция загрузки с ленты, =0-загрузка через магнитофонный вход 
-  BITMASK RUN_FAT,       3       ; =1-запуск с фата, =0-запуск с дискеты 
-  BITMASK CLOCK_ON,      2       ; =1-часы найдены, =0-нет 
-  BITMASK MOUSE_ON,      1       ; =1-мышь есть, =0-нет 
-  BITMASK NUM_CURSOR,    0       ; =какой курсор рисовать, для мигания 
-   
- ;===============RUN_BASIC================================== 
- RUN_BASIC       DW 0x100                                ; номер строки бейсик проги 
-                 DW ERUN_BASIC-RUN_BASIC-5               ; длина бейсик строки 
-                 DB __CLEAR,__VAL,"\"65368\":" 
-                 DB __RANDOMIZE,__USR,__VAL,"\"15619\":",__REM,":",__RUN,"\"" 
- RUNNAM          DUPL 8,0                                ; место под 8 символов имени для запуска файла 
-                 DB 0x22,0x0D,0x80 
- ERUN_BASIC 
-   
- ; RUN_CODE 
- RUN_CODE        DW 0x100 
-                 DW ERUN_CODE-RUN_CODE-5 
-                 DB __RANDOMIZE,__USR,"0",0x0E,0,0,0,0,0,0x0D,0x80 
- ERUN_CODE 
-   
- OUT_NAME_FILE   DB 0x16,0,0,0x17,0xFF 
- OUT_NAME_FILET  DUPL 0x100,0 
-   
- TRSTPAL         DB 0x00,0x21,0x42,0x63,0x90,0xB1,0xD2,0xF3 
-                 DB 0xE0,0xE1,0xE2,0xE3,0xF0,0xF1,0xF2,0xF3 
-   
- ;===============бумкалка в AY============================== 
- DIN             DW 0x10 
-                 DUPL 4,0 
-                 DB 0x0F,0x36,0xF0,0,0 
-                 dw 0x100 
- gFenv           EQU $-1 
-                 DB 9 
- ;===============бумкалка в AY============================== 
-   
- ;===============переменные для кошака====================== 
- WAITINGH        DW 0            ; счетчик ожидания нажатых клавиш или движения мыши 
- WAITINGL        DB 0            ; счетчик паузы перерисовки фазы кошака 
- NUMKOSHAK       DB 0            ; номер выводимого спрайта кошака 
- ZEVOK           DB 0            ; количество зеваний кошака 
- ;===============переменные для кошака====================== 
-