;LAST UPDATE: 10.03.2020 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
;===============МЫШИНЫЙ КУРСОР В ДВУХ ВИДАХ================
;[МЕНЮ ДИСКОВОЙ ОШИБКИ]
DSK_ERR DB 0X08,0X08,LOW ((D_ERR2-D_ERR1)/2)+2,0X11,0X17,0X3A,%00100000,0
DW 0,((D_ERR2-D_ERR1)/2)
DW DSKERRTXT,D_ERR1,0,DSK_ERR_KEY
DSKERRTXT DB 0X17,0XFF,"DOS MEDITATE!"
DB 0X0D," R.Retry: "
NUM_TRK_TXT DB " /"
NUM_SEC_TXT DB " /"
SIDE_DISK DB " " ;r
DB 0X0D," I.Ignore sector" ;i
DB 0X0D," B.Break",0 ;b
DSK_ERR_KEY DB LOW (D_ERR1-$-1),"rib"
D_ERR1 DW _RETRY
DW _IGNORE
DW _STUPID
D_ERR2
;===============МЕНЮ ДИСКОВОЙ ОШИБКИ=======================
;[СЕРВИСНОЕ МЕНЮ]
MKILLS DB 0X0A,0X07,LOW ((KILL2-KILL1)/2)+2,0X12,0X0F,0X1F,%00100000,0
DW 0,((KILL2-KILL1)/2)
DW MKILLSTXT,KILL1,0,MKILLS_KEY
MKILLSTXT DB 0X17,0XFF,"Services"
DB 0X0D," R.Reset NeoGS" ;r
DB 0X0D," E.Reset CMOS" ;e
DB 0X0D," K.Format ramdisk 640k" ;k
DB 0X0D," V.Basic 48 standart" ;v
DB 0X0D," B.Basic 128 standart" ;b
DB 0X0D," M.Edit CMOS" ;m
DB 0X0D," S.Test PC keyboard" ;s
DB 0X0D," D.HDD detector" ;d
DB 0X0D," C.ATM CP/M" ;c
DB 0X0D," T.IS-DOS boot" ;t
DB 0X0D," F.Fast update ROM" ;f
DB 0X0D," U.Update custom ROM" ;u
DB 0X0D," N.Dismount image" ;n
DB 0X0D," 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 DB 0X0F,0X08,LOW ((WDISM2-WDISM1)/2)+2,0X0C,0X07,0X1F,%00100000,0
DW 0,((WDISM2-WDISM1)/2)
DW WDISMTXT,WDISM1,0,WDISMKEY
WDISMTXT DB 0X17,0XFF,"Dismount"
DB 0X0D," 1.Dismount A:" ;1
DB 0X0D," 2.Dismount B:" ;2
DB 0X0D," 3.Dismount C:" ;3
DB 0X0D," 4.Dismount D:" ;4
DB 0X0D," 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 DB 0X07,0X07,LOW ((SETUPER2-SETUPER1)/2)+2,0X15,0X0F,0X1F,%00100000,0
DW 0,((SETUPER2-SETUPER1)/2)
DW SETUPERTXT,SETUPER1,0,SETUPERKEY
SETUPERTXT DB 1,0X17,0XFF,"Setup"
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
IFDEF REZIDENT
DB "\r R.Resident Honey Cmd: off"
TXT_REZIDENT EQU $-2
DB "\r E.Kill rezident: off"
TXT_KILLREZID EQU $-2
ENDIF;REZIDENT
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
DB "\r X.Exit"
DB 0
;ДЛЯ РЕЗИДЕНТА HONEY COMANDER
IFDEF REZIDENT
SETUPERKEY DB LOW (SETUPER1-$-1),"sgkrethx"
ELSE
SETUPERKEY DB LOW (SETUPER1-$-1),"sgkthx"
ENDIF;REZIDENT
SETUPER1 DW SOUND_KEYS ;s
DW ACS_SDNGS ;g
DW AYPRN_SETUP ;k
;ДЛЯ РЕЗИДЕНТА HONEY COMANDER
IFDEF REZIDENT
DW REZID_SETUP ;r
DW KILL_REZID ;e
ENDIF;REZIDENT
DW AUTO_TAPE ;t
DW HDDTIMEOUT ;h
; DW SCRSAVTIMEOUT ;l
DW RESTART ;x
SETUPER2
;===============МЕНЮ УСТАНОВОК=============================
;[ВЫБОР FAT УСТРОЙСТВА]
SEL_FAT_DEV DB 0X03,0X04,0X00,0X16,0X07,0X1F,%00100000,0
DW 0,0
DW SEL_FAT_DRV,0,0,0
SELFATDEVEXE EQU $-6
TXT_FAT_SEL DB 0X17,0XFF,"Drive select"
ETXT_FAT_SEL
;===============ВЫБОР FAT УСТРОЙСТВА=======================
;[ГЛАВНОЕ МЕНЮ]
MAINMENU DB 0X11,0X06,LOW ((MAIN2-MAIN1)/2)+2,0X0C,0X0F,0X1F,%00100000,0
DW 0,((MAIN2-MAIN1)/2)
DW MAINTXT,MAIN1,MAIN_ZONE,MAINMENU_KEY
MAINTXT DB 0X17,0XFF,"Main menu"
DB 0X0D," Z.TR-DOS boot" ;z
DB 0X0D," F.File browse" ;f
DB 0X0D," T.Tape load" ;t
DB 0X0D," B.HDD boot" ;b
DB 0X0D," D.CD boot" ;d
DB 0X0D," 5.SDcard boot" ;5
DB 0X0D," X.Perfect Cmd" ;x
DB 0X0D," S.TR-DOS" ;s
DB 0X0D," I.48k basic" ;i
DB 0X0D," U.128k basic" ;u
DB 0X0D," C.Setup" ;c
DB 0X0D," R.Service" ;r
DB 0
MAINMENU_KEY DB LOW (MAIN1-$-1),"zftbd5xsiucrwmlg123489vyhejn";,0XAC
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 DB 0X06,0X08,0X04,0X14,0X0E,0X0F,%00000000,0
DW 0,0
DW TAPELDTTXT,0,0,0
TAPELDTTXT DB 0X17,0XFF,0X0D,3,"Tape loading..."
DB 0X0D,3,"Press PLAY on tape",0
;===============ДЛЯ ЗАГРУЗКИ С ЛЕНТЫ=======================
;[НЕ TR-DOS ДИСК]
NONETRDOS DB 0X06,0X08,0X03,0X16,0X16,0X0F,%00000000,0
DW 0,0
DW TXT_NONETRDOS,0,0,0
TXT_NONETRDOS DB 0X17,0XFF,0X0D,3,"Not TR-DOS disk",0
;===============НЕ TR-DOS ДИСК=============================
;[МОНТИРОВАТЬ ИЛИ ЗАГРУЖАТЬ В РАМДИСК]
SEL_MOUNT DB 0X07,0X07,LOW ((SELMOUNT2-SELMOUNT1)/2)+2,0X0B,0X07,0X1F,%00100000,0
DW 0,((SELMOUNT2-SELMOUNT1)/2)
DW SELMOUNTTXT,SELMOUNT1,0,SELMOUNTKEYS
SELMOUNTTXT DB 0X17,0XFF,"Mounter"
DB 0X0D," L.Ramdisk"
DB 0X0D," 1.Mount A:"
DB 0X0D," 2.Mount B:"
DB 0X0D," 3.Mount C:"
DB 0X0D," 4.Mount D:"
DB 0X0D," X.Exit",0
SELMOUNTKEYS DB LOW (SELMOUNT1-$-1),"l1234x"
SELMOUNT1 DW LOADIMAGE
DW MOUNT_A
DW MOUNT_B
DW MOUNT_C
DW MOUNT_D
DW RESTART
SELMOUNT2
;===============МОНТИРОВАТЬ ИЛИ ЗАГРУЖАТЬ В РАМДИСК========
;[ОКНО ВЫВОДА НАЙДЕННЫХ ФАЙЛОВ TR-DOS]
WIN_FILES DB 0X00,0X00,0X00,0X0C,0X0F,0X1F,%00010010,0
DW 0,0
DW 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 DB 0X00,0X00,0X00,0X0C,0X0F,0X1F,%10100010,0
DW 0,0
DW FATFILESTXT,FATFILES1,FB_ZONE,FATFILESKEYS
FATFILESTXT DB 0X17,0XFF,"File browser"
DB 0X16,0X17,8,"D.Drive ENTER.Run/Load V.View",0
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===========
;[ОКНО ПОДСКАЗКИ ДЛЯ ФАЙЛОВ FAT]
;===============ОКНО ПОДСКАЗКИ ДЛЯ ФАЙЛОВ FAT==============
;[НЕТ БЕЙСИК ФАЙЛОВ]
NOBASIC DB 0X00,0X00,0X03,0X0C,0X0F,0X27,%00000000,0
DW 0,0
DW TXTNOBASIC,ADRNOBAS,0,0
TXTNOBASIC DB 0X17,0XFF,0X0D,3,"No Progs",0
ADRNOBAS DW RESTART
;===============НЕТ БЕЙСИК ФАЙЛОВ==========================
;[HDD НЕ НАЙДЕН]
HDDBOOT_ERROR DB 0X08,0X08,0X04,0X10,0X17,0X00,%00000000,0
DW 0,0
DW TXT_HDDBOOTERR,0,0,0
TXT_HDDBOOTERR DB 0X17,0XFF,0X0D,3,"HDD not found",0X0D,3,"Press any key",0
;===============HDD НЕ НАЙДЕН==============================
;[IMAGE FDI ERROR]
LDFDIERROR DB 0X08,0X08,0X04,0X10,0X17,0X00,%00000000,0
DW 0,0
DW TXT_LDFDIERR,0,0,0
TXT_LDFDIERR DB 0X17,0XFF,0X0D,3,"FDI image error",0X0D,3,"Press any key",0
;===============IMAGE FDI ERROR============================
;[FILE NOT FOUND]
FILENONE DB 0X08,0X08,0X04,0X10,0X17,0X00,%00000000,0
DW 0,0
DW TXT_FILENONE,0,0,0
TXT_FILENONE DB 0X17,0XFF,0X0D,3,"File not found",0X0D,3,"Press any key",0
;===============FILE NOT FOUND=============================
;[VIRTUAL ERROR]
ERR_VIRTUAL DB 0X05,0X08,0X04,0X18,0X17,0X00,%00000000,0
DW 0,0
DW TXT_ERRVIRTUAL,0,0,0
TXT_ERRVIRTUAL DB 0X17,0XFF,0X0D,3,"Virtual drive not formatted"
DB 0X0D,3,"or image not loaded",0
;===============VIRTUAL ERROR==============================
;[UPDATE ROM]
UPDATE_WIN DB 0X09,0X08,0X0B,0X12,0X17,0X00,%00100000,0
DW 0,0
DW TXT_UPDATEWIN,0,0,0
TXT_UPDATEWIN DB 0X17,0XFF,"Update FLASH ROM",0X0D
DB 0X0D,3,"Page 0"
DB 0X0D,3,"Page 1"
DB 0X0D,3,"Page 2"
DB 0X0D,3,"Page 3"
DB 0X0D,3,"Page 4"
DB 0X0D,3,"Page 5"
DB 0X0D,3,"Page 6"
DB 0X0D,3,"Page 7",0
;===============UPDATE ROM=================================
;[UPDATE CUSTOM ROM]
UPDATE_CUSTOM DB 0X09,0X08,0X04,0X12,0X17,0X00,%00100000,0
DW 0,0
DW TXT_UPDATECUST,0,0,0
TXT_UPDATECUST DB 0X17,0XFF,"Update custom ROM",0
;===============UPDATE CUSTOM ROM==========================
;[ERASE ROM]
ERASE_ROM DB 0X0D,0X03,0X05,0X0A,0X17,0X00,%00000000,0
DW 0,0
DW TXT_ERASEROM,0,0,0
TXT_ERASEROM DB 0X17,0XFF,0X0D,3,"Erase FLASH",0
;===============ERASE ROM==================================
;[СТРАНИЦА ПОМОЩИ]
WIN_HELP DB 0X01,0X03,0X14,0X1A,0X0F,0X00,%00100000,0
DW 0,0
DW TXT_WINHELP,0,0,0
TXT_WINHELP DB 0X17,0XFF,"Help"
DB 0X0D," Key+RESET:"
DB 0X0D," Space=TRDOS"
DB 0X0D," CS=Basic128"
DB 0X0D," SS=Basic48"
DB 0X0D," D=Grass!512b(PSB^Halloween CC04)"
DB 0X0D," C=ColorTable+border keys+COVOX"
DB 0X0D," S=old CMOS SetUp"
DB 0X0D," 0=return to EVO Reset Service"
DB 0X0D,"----------------------------------"
DB 0X0D," In main menu:"
DB 0X0D," 1-4=TR-DOS drive"
DB 0X0D," V=TR-DOS drive"
DB 0X0D," Y=Virtual drive"
DB 0X0D," M=memory mode"
DB 0X0D," W=turbo 3,5-7-14 MHz"
DB 0X0D," 8=on/off mouse"
DB 0X0D," 9=on/off time"
DB 0X0D," & uppercased option keys.",0
;===============СТРАНИЦА ПОМОЩИ============================
;[SD КАРТА УДАЛЕНА]
SDCARD_LOST DB 0X08,0X08,0X04,0X10,0X17,0,%00000000,0
DW 0,0
DW TXT_SDLOST,0,0,0
TXT_SDLOST DB 0X17,0XFF,0X0D,3,"SD card lost",0X0D,3,"Press RESET",0
;===============SD КАРТА УДАЛЕНА===========================
;[ТЕКСТЫ И ПРОЧАЯ ФИГНЯ]
TXTFULLSCR DB 0X16,0X00,0X00,0X17,GREEN,"EVO Reset Service v",VERSBIOS
DB 0X16,0X01,0X00,0X17,YELLOW,"ZX-Evolution 4096 Kb "
DB 0X16,0X02,0X00,0X17,CYAN+BR_INK,"www.nedopc.com "
DB 0X16,0X03,0X00,0X17,CYAN,"Baseconf: ",0X17,0XFF
VERS_CONF DB "NONE "
DB 0X16,0X04,0X00,0X17,CYAN,"AVR Boot: ",0X17,0XFF
; 12345678901234567890123456789012
VERS_BOOT DB "NONE "
;РАСПЕЧАТКА ВРЕМЕНИ И ДАТЫ СБОРКИ ERS
IF BUILD_DEBUG=1
DB 0X16,0X05,0X00,0X17,BLUE,"Build ERS: ",TIME," "
TEXTDATE
DB " "
ENDIF
DB 0X16,0X17,0X00,0X17,MAGENTA+BR_INK,"H.Help ",0X17,0XFF,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 0X16,0X06,0X00,0X17,MAGENTA,"1-4.TR-DOS Drive: ",0X17,0XFF,"A",0
TXT_DRIVE EQU $-2
SPEED_MODE DB 0X16,0X09,0X00,0X17,MAGENTA,"W.CPU frequency: ",0X17,0XFF,"14.0",0
TXT_SPEED EQU $-5
MEM_MODE DB 0X16,0X08,0X00,0X17,MAGENTA,"M.Memory Lock: ",0X17,0XFF
TXT_MEM DB "128",0
VIRTUAL_DRV DB 0X16,0X07,0X00,0X17,MAGENTA,"Y.Virtual Drive: ",0X17,0XFF," A ",0
VIRT_DRIVE EQU $-4
EMUTAPLOAD DB 0X16,0X0A,0X00,0X17,MAGENTA,"L.Emu tape load: ",0X17,0XFF,"off",0
EMTAPLOAD EQU $-3
SET_RESET DB 0X16,0X0B,0X00,0X17,MAGENTA,"G.RESET=>",0X17,0X46," ",0X17,0XFF,0
TXT_RESET EQU $-0X0F
ROMLOADFONT DB 0X16,0X0C,0X00,0X17,MAGENTA,"E.Reload FONT: ",0X17,0XFF,"off",0
EROMLOADFONT EQU $-3
TYPESFONT DB 0X16,0X0D,0X00,0X17,MAGENTA,"J.Type FONT: ",0X17,0XFF," ATM",0
ETYPESFONT EQU $-6
TXT_AUTOMOUNT DB 0X16,0X0E,0X00,0X17,MAGENTA,"N.Automount TRD: ",0X17,0XFF,"off",0
ETXT_AUTOMOUNT EQU $-3
;[СПИСОК КЛАВИШ ПРОВЕРЯЕМЫХ ВСЕГДА]
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 0X16,0X00,0XD0,0X17,WHITE," ",0X16,0X01,0XD0," ",0X17,0XFF,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 "TRDSCLFDITAPSPG$C BMPSNA",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"
;ИНФА ДЛЯ СОЗДАНИЯ 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
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
STOP_SEC DB 0
STOP_MIN DB 0
STOP_HOUR DB 0
TIMEOUTSCRSAV DB 0
CURR_SEC DB 0
CURR_MIN DB 0
CURR_HOUR DB 0
TXT_DOSTYPES0 DB "EVO-DOS"
TXT_DOSTYPES1 DB " TR-DOS"
ETXT_DOSTYPES
DRV_SYM DB 0 ;НОМЕР ВЫБРАННОГО ДИСКОВОДА
MEMMODE DB 0 ;РЕЖИМ ПАМЯТИ
SYSREG1 DB 0 ;КОПИЯ ДЛЯ ВЫВОДА В ПОРТ EFF7
TURBO_NUM DB 0 ;НОМЕР ТУРБОРЕЖИМА
ERS_FLAGS DB 0
;BIT 7
BITMASK LOAD_IMG,6 ;BIT 6-=1-ЗАГРУЗКА ОБРАЗА В РАМДИСК
BITMASK VIEW_IMG,5 ;BIT 5-=1-ПОКАЗ СОДЕРЖИМОГО ОБРАЗА (SCL TRD ONLY),=0-ОБЫЧНАЯ РАБОТА
BITMASK EMU_TAPE,4 ;BIT 4-=1-ЭМУЛЯЦИЯ ЗАГРУЗКИ С ЛЕНТЫ, =0-ЗАГРУЗКА ЧЕРЕЗ МАГНИТОФОННЫЙ ВХОД
BITMASK RUN_FAT,3 ;BIT 3-=1-ЗАПУСК С ФАТА, =0-ЗАПУСК С ДИСКЕТЫ
BITMASK CLOCK_ON,2 ;BIT 2-=1-ЧАСЫ НАЙДЕНЫ, =0-НЕТ
BITMASK MOUSE_ON,1 ;BIT 1-=1-МЫШЬ ЕСТЬ, =0-НЕТ
BITMASK NUM_CURSOR,0 ;BIT 0-=КАКОЙ КУРСОР РИСОВАТЬ, ДЛЯ МИГАНИЯ
;[RUN_BASIC]
RUN_BASIC DW 1 ;НОМЕР СТРОКИ БЕЙСИК ПРОГИ
DW ERUN_BASIC-RUN_BASIC-5 ;ДЛИНА БЕЙСИК СТРОКИ
DB __CLEAR,__VAL,"\"65368\":"
DB __RANDOMIZE,__USR,__VAL,"\"15619\":"
DB __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
;***********************************
;[ПЕРЕМЕННЫЕ ДЛЯ КОШАКА]
WAITINGH DW 0 ;СЧЕТЧИК ОЖИДАНИЯ НАЖАТЫХ КЛАВИШ ИЛИ ДВИЖЕНИЯ МЫШИ
WAITINGL DB 0 ;СЧЕТЧИК ПАУЗЫ ПЕРЕРИСОВКИ ФАЗЫ КОШАКА
NUMKOSHAK DB 0 ;НОМЕР ВЫВОДИМОГО СПРАЙТА КОШАКА
ZEVOK DB 0 ;КОЛИЧЕСТВО ЗЕВАНИЙ КОШАКА
KOSHAK binclude kot_anim.bin,9
ICON binclude icon.bin,9
BAS_VAR binclude bas_var.bin
EBAS_VAR