Subversion Repositories pentevo

Rev

Rev 1035 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ; LAST UPDATE: 15.02.2025 savelij
  3.  
  4. ; описатель окна (адрес в IX)
  5. ; +00 X координата
  6. ; +01 Y координата
  7. ; +02 V высота
  8. ; +03 H ширина
  9. ; +04 C цвет
  10. ; +05 C цвет курсора
  11. ; +06 F флаговый
  12. ; +07 N номер пункта в окне
  13. ;   бит 7-0=байты 8-9 текущий пункт меню,
  14. ;         1=байты 8-9 адрес хранения
  15. ; +08 | текущий
  16. ; +09 | пункт меню
  17. ; +0A : количество  
  18. ; +0B : пунктов меню
  19. ; +0C | адрес
  20. ; +0D | текста
  21. ; +0E : список адресов
  22. ; +0F : подпрограмм
  23. ; +10 | адрес списка активных
  24. ; +11 | зон для мыши        
  25. ; +12 : адрес списка
  26. ; +13 : горячих клавиш
  27.  
  28. ; формат флагового байта окна
  29. ; IX+6
  30. ; 7-0-нет, 1-есть нижний заголовок
  31. ; 6-0-с рамкой,1-без рамки
  32. ; 5-0-нет, 1-есть верхний заголовок
  33. ; 4-0-нет, 1-есть текст
  34. ; 3-0-меню, 1-показ файлов
  35. ; 2-
  36. ; 1-
  37. ; 0-
  38.  
  39. ; раскладка байт выделений
  40. ; +0 флаговый
  41. ;     7 при активности установлен
  42. ;     6 установлен, не выделяется
  43. ;     5 установлен, вызов вектора
  44. ;     4
  45. ;     3 \
  46. ;     2  } форма курсора
  47. ;     1  } при попадании
  48. ;     0 /
  49. ; +1 X координата
  50. ; +2 Y координата
  51. ; +3 V высота
  52. ; +4 H ширина
  53. ; +5 K код клавиши
  54.  
  55. ;===================MAIN MENU===================
  56. MAIN_MENU
  57.  WINHDR 0x04,0x04,.NUMS+2,0x20,0x0F,0x1F,%00100000,0x80, \
  58.         DAT_MAIN_MENU,.NUMS, \
  59.         .TXT_MAINMENU,.MAINMENU1,.MOUSE_MAINMENU,.MAINMKEYS
  60.  
  61. .TXT_MAINMENU   DB "\x17\xFFMAGIC Service"
  62.                 DB "\r 0.Continue program"
  63.                 DB "\r S.Setup"
  64.                 DB "\r F.File browser"
  65.         IF BUILD_DEBUG=1
  66.                 DB "\r D.Debugger STS"
  67.         ENDIF
  68.                 DB 0
  69.  
  70. .MAINMKEYS      DB .NUMS
  71.         IF BUILD_DEBUG=1
  72.                 DB "0sfd"
  73.         ELSE
  74.                 DB "0sf"
  75.         ENDIF
  76. .NUMS := LOW ($ - .MAINMKEYS) - 1
  77.  
  78. .MAINMENU1      DW CONTINUE_PROG
  79.                 DW SETUP
  80.                 DW FILE_BROWSER
  81.         IF BUILD_DEBUG=1
  82.                 DW DEBUGGER
  83.         ENDIF
  84. .EMAINMENU1
  85.  
  86. .MOUSE_MAINMENU DB 0xFF
  87. ;===================MAIN MENU===================
  88.  
  89. ;==================SETUP MENU===================
  90. SETUP_MENU
  91.  WINHDR 0x06,0x06,.NUMS+2,0x20,0x0F,0x1F,%00100000,0x80, \
  92.         DAT_SETUP_MENU,.NUMS, \
  93.         .TXT_SETUPMENU,.SETUPMENU1,.MOUSE_SETUPMENU,.SETUPKEYS
  94.  
  95. .TXT_SETUPMENU  DB "\x01\x17\xFFSetup"
  96.                 DB "\r 0.Main menu"
  97.                 DB "\r W.Turbo  \x2"
  98.                 DW TXT_TURBO_MODE
  99.                 DB "\r M.Memory  \x2"
  100.                 DW TXT_MEMORY_MODE
  101. ; для резидента HONEY COMANDER
  102.                 DB "\r R.Resident Honey Cmd  \x2"
  103.                 DW TXT_REZIDENT_MODE
  104.                 DB "\r K.Kill rezident       \x2"
  105.                 DW TXT_KILLREZID
  106.                 DB 0
  107.  
  108. ; для резидента HONEY COMANDER
  109. .SETUPKEYS      DB .NUMS
  110.                 DB "0wmrk"
  111. .NUMS := LOW ($ - .SETUPKEYS) - 1
  112.  
  113. .SETUPMENU1     DW RESTART_MAIN
  114.                 DW SET_TURBO
  115.                 DW SET_MEMORY
  116. ; для резидента HONEY COMANDER
  117.                 DW SET_REZIDENT
  118.                 DW KILL_REZID
  119. .ESETUPMENU1
  120.  
  121. .MOUSE_SETUPMENU        DB 0xFF
  122. ;==================SETUP MENU===================
  123.  
  124. ;================DEVICE NOT FOUND===============
  125. DEV_NOTFOUND
  126.  WINHDR 0x15,0x08,0x05,0x18,0x17,0x1F,%00000000,0x00, \
  127.         0,0,.TXT_DEVNOTFOUND,0,0,0
  128.  
  129. .TXT_DEVNOTFOUND
  130.                 DB "\r   Device not found"
  131.                 DB "\r\r   Press any key ...",0
  132. ;================DEVICE NOT FOUND===============
  133.  
  134. ;====================NO FILES===================
  135. NOFILES
  136.  WINHDR 0x00,0x00,0x03,0x1A,0x17,0x1F,%00000000,0x00, \
  137.         0,0,.TXT_NOFILES,0,0,0
  138.  
  139. .TXT_NOFILES    DB "\r Files or DIR not found",0
  140. ;====================NO FILES===================
  141.  
  142. ;==================SELECT DRIVE=================
  143. SEL_DRIVE       DB 0x010,0x08,0x00,0x1A,BLACK<<3+WHITE,MAGENTA<<3+WHITE,%00100000
  144. ESEL_DRIVE
  145.  
  146. TXT_SELDRIVES   DB "\x17\xFFSelect drives"
  147. ETXT_SELDRIVES
  148. ;==================SELECT DRIVE=================
  149.  
  150. ;==================FILE BROWSER=================
  151. FILESBROWSER
  152.  WINHDR 0x00,0x00,TXT.V_FILES,TXT.H_FILES,BLUE<<3+WHITE,BLUE<<3+BR_PAPER,%10101000,0xC0, \
  153.         DAT_FILEBROWS,0, \
  154.         .TXT_FILEBROWS,.SEL_FILEBROWS,.MOUS_FILEBROWS,.KEYS_FILEBROWS
  155.  
  156. .TXT_FILEBROWS  DB "\x17\xFFFile browser"
  157.                 DB "\x16",TXT.V_FILES-1,"\x02D.Drive select  ENTER.Select",0;  V.SCL/TRD view",0
  158.  
  159. .KEYS_FILEBROWS DB LOW (.SEL_FILEBROWS-$-1)
  160.         REPT TXT.V_FILES-2
  161.                 DB "\r"
  162.         ENDM
  163.                 DB "d"
  164.  
  165. .SEL_FILEBROWS
  166.         REPT TXT.V_FILES-2
  167.                 DW SELECT_FILE
  168.         ENDM
  169.                 DW SELECT_DRIVE
  170. ;               DW SCLTRD_VIEW
  171.  
  172. .MOUS_FILEBROWS DB 0,0x00,TXT.V_FILES-1,0x01,TXT.H_FILES/2-1,"d"
  173.                 DB 0,TXT.H_FILES/2-1,TXT.V_FILES-1,0x01,TXT.H_FILES/2,0x0D
  174.                 DB 0xFF
  175. ;==================FILE BROWSER=================
  176.  
  177. ;=========================IMAGE FDI ERROR================================
  178. LDFDIERROR
  179.  WINHDR (TXT.H_FILES-0x14)/2,0x08,0x04,0x14,0x17,0x00,%00000000,0, \
  180.         0,0,.TXT_LDFDIERR,0,0,0
  181.  
  182. .TXT_LDFDIERR   DB "\x17\xFF\r FDI image error\r Press any key",0
  183. ;=========================IMAGE FDI ERROR================================
  184.  
  185. ;================COLOR EXT FILES================
  186. LEGEND_EXT
  187.  WINHDR 0x3E,0x06,0x08,0x09,BLACK<<3+WHITE,0,0,0, \
  188.         0,0,.TXT_LEGENDEXT,0,0,0
  189.  
  190. .TXT_LEGENDEXT  DB "\r\x17",BR_INK+BLACK<<3+WHITE,"  DIR"
  191.                 DB "\r\x17",BR_INK+BLACK<<3+GREEN,"  TRD"
  192.                 DB "\r\x17",BR_INK+BLACK<<3+YELLOW,"  SCL"
  193.                 DB "\r\x17",BR_INK+BLACK<<3+YELLOW,"  FDI"
  194.                 DB "\r\x17",BR_INK+BLACK<<3+RED,"  TAP"
  195.                 DB "\r\x17",BR_INK+BLACK<<3+CYAN,"Unknown",0
  196. ;================COLOR EXT FILES================
  197.  
  198. ;==================монтировать или загружать в рамдиск===================
  199. WIN_SEL_MOUNT
  200.  WINHDR (TXT.H_FILES-0x0E)/2,0x07,.NUMS+2,0x10,BLACK<<3+WHITE,BLUE<<3+BR_PAPER,%00100000,0x80, \
  201.         DAT_MOUNT,.NUMS, \
  202.         .SELMOUNTTXT,.SELMOUNT1,0,.SELMOUNTKEYS
  203.  
  204. .SELMOUNTTXT    DB "\x17\xFFImages\r"
  205.                 DB " 0.Only load\r"
  206.                 DB " 1.Ramdisk A:\r"
  207.                 DB " 2.Ramdisk B:\r"
  208.                 DB " 3.Ramdisk C:\r"
  209.                 DB " 4.Ramdisk D:\r"
  210.                 DZ " X.Exit",0
  211.  
  212. .SELMOUNTKEYS   DB .NUMS
  213.                 DB "l1234x"
  214. .NUMS := LOW ($ - .SELMOUNTKEYS) - 1
  215.  
  216. .SELMOUNT1      DW LOADIMAGES
  217.                 DW TRD2RAMDISKA
  218.                 DW TRD2RAMDISKB
  219.                 DW TRD2RAMDISKC
  220.                 DW TRD2RAMDISKD
  221.                 DW SEARCHFILES.L1
  222. .SELMOUNT2
  223. ;==================монтировать или загружать в рамдиск===================
  224.  
  225. ;===============выбор TRD образа=========================================
  226. WIN_SEL_TRD
  227.  WINHDR (TXT.H_FILES-0x0E)/2,0x07,.NUMS+2,0x10,BLACK<<3+WHITE,BLUE<<3+BR_PAPER,%00100000,0x80, \
  228.         DAT_LOAD,.NUMS, \
  229.         .SELMOUNTTXT,.SELMOUNT1,0,.SELMOUNTKEYS
  230.  
  231. .SELMOUNTTXT    DB "\x17\xFFTRD to:\r"
  232.                 DB " 0.Only load\r"
  233.                 DB " 1.Ramdisk A:\r"
  234.                 DB " 2.Ramdisk B:\r"
  235.                 DB " 3.Ramdisk C:\r"
  236.                 DB " 4.Ramdisk D:\r"
  237.                 DB " 5.Mount A:\r"
  238.                 DB " 6.Mount B:\r"
  239.                 DB " 7.Mount C:\r"
  240.                 DB " 8.Mount D:\r"
  241.                 DZ " X.Exit",0
  242.  
  243. .SELMOUNTKEYS   DB .NUMS
  244.                 DB "012345678x"
  245. .NUMS := LOW ($ - .SELMOUNTKEYS) - 1
  246.  
  247. .SELMOUNT1      DW LOADIMAGES
  248.                 DW TRD2RAMDISKA
  249.                 DW TRD2RAMDISKB
  250.                 DW TRD2RAMDISKC
  251.                 DW TRD2RAMDISKD
  252.                 DW MOUNT_A
  253.                 DW MOUNT_B
  254.                 DW MOUNT_C
  255.                 DW MOUNT_D
  256.                 DW SEARCHFILES.L1
  257. .SELMOUNT2
  258. ;===============выбор TRD образа=========================================
  259.  
  260. ; расширения файлов для раскраски
  261. FILES_EXT       DB "TRD"        ; 1
  262.                 DB "SCL"        ; 2
  263.                 DB "FDI"        ; 3
  264.                 DB "TAP"        ; 4
  265.                 DB 0
  266. EFILES_EXT
  267.  
  268. ; цвет раскраски строки по расширениям
  269. COLOR_EXT       DB CYAN,GREEN,YELLOW,YELLOW,RED,MAGENTA
  270.  
  271. TXT_TURBO       DB " 7.0 3.514.0"
  272. TXT_ONOFF       DB "on "
  273. TXT_MEMORY      DB "off 48128"
  274.  
  275. ; список клавиш проверяемых всегда
  276. MAIN_KEYS       DB .NUMS
  277.                 DB " ",0x07,0x08,0x09,0x0A,0x0B,0x0D
  278. .NUMS := LOW ($ - MAIN_KEYS) - 1
  279.  
  280. ADREXEKEYS      DW ENTER                        ; SPACE
  281.                 DW RESTART                      ; EDIT
  282.                 DW PAGEUP                       ; 0x08
  283.                 DW PAGEDN                       ; 0x09
  284.                 DW CURSOR_DOWN                  ; 0x0A
  285.                 DW CURSOR_UP                    ; 0x0B
  286.                 DW ENTER                        ; 0x0D
  287. EADREXEKEYS
  288.  
  289. ; текст для отображения найденных разделов, по 16 байт строка
  290. TXT4MENU_DEVICE    ;1234567890123456
  291.                 DB ".HDDNemo   MAST:"
  292.                 DB ".HDDNemo   SLAV:"
  293.                 DB ".HDDSmuc   MAST:"
  294.                 DB ".HDDSmuc   SLAV:"
  295.                 DB ".HDDDivIDE MAST:"
  296.                 DB ".HDDDivIDE SLAV:"
  297.                 DB ".HDDProfi  MAST:"
  298.                 DB ".HDDProfi  SLAV:"
  299.                 DB ".HDDTurbo2 MAST:"
  300.                 DB ".HDDTurbo2 SLAV:"
  301.                 DB ".NeoGS   SDCard:"
  302.                 DB ".ZContr  SDCard:"
  303.  
  304. ; тип раздела
  305. TXT4MENU_TYPE   DB "FAT12"
  306.                 DB "FAT16"
  307.                 DB "FAT32"
  308.