Subversion Repositories pentevo

Rev

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

Rev Author Line No. Line
507 savelij 1
 
1186 savelij 2
; LAST UPDATE: 15.02.2025 savelij
507 savelij 3
 
1031 savelij 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 : горячих клавиш
507 savelij 27
 
1031 savelij 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-
507 savelij 38
 
1031 savelij 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 код клавиши
507 savelij 54
 
55
;===================MAIN MENU===================
1186 savelij 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
507 savelij 60
 
1186 savelij 61
.TXT_MAINMENU   DB "\x17\xFFMAGIC Service"
62
                DB "\r 0.Continue program"
63
                DB "\r S.Setup"
64
                DB "\r F.File browser"
761 savelij 65
        IF BUILD_DEBUG=1
1186 savelij 66
                DB "\r D.Debugger STS"
761 savelij 67
        ENDIF
585 savelij 68
                DB 0
761 savelij 69
 
1186 savelij 70
.MAINMKEYS      DB .NUMS
761 savelij 71
        IF BUILD_DEBUG=1
1186 savelij 72
                DB "0sfd"
761 savelij 73
        ELSE
1186 savelij 74
                DB "0sf"
761 savelij 75
        ENDIF
1186 savelij 76
.NUMS := LOW ($ - .MAINMKEYS) - 1
507 savelij 77
 
1186 savelij 78
.MAINMENU1      DW CONTINUE_PROG
585 savelij 79
                DW SETUP
1186 savelij 80
                DW FILE_BROWSER
761 savelij 81
        IF BUILD_DEBUG=1
1031 savelij 82
                DW DEBUGGER
761 savelij 83
        ENDIF
1186 savelij 84
.EMAINMENU1
507 savelij 85
 
1186 savelij 86
.MOUSE_MAINMENU DB 0xFF
507 savelij 87
;===================MAIN MENU===================
88
 
585 savelij 89
;==================SETUP MENU===================
1186 savelij 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
507 savelij 94
 
1186 savelij 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
1031 savelij 101
; для резидента HONEY COMANDER
838 savelij 102
                DB "\r R.Resident Honey Cmd  \x2"
1186 savelij 103
                DW TXT_REZIDENT_MODE
838 savelij 104
                DB "\r K.Kill rezident       \x2"
105
                DW TXT_KILLREZID
585 savelij 106
                DB 0
761 savelij 107
 
1031 savelij 108
; для резидента HONEY COMANDER
1186 savelij 109
.SETUPKEYS      DB .NUMS
110
                DB "0wmrk"
111
.NUMS := LOW ($ - .SETUPKEYS) - 1
507 savelij 112
 
1186 savelij 113
.SETUPMENU1     DW RESTART_MAIN
585 savelij 114
                DW SET_TURBO
115
                DW SET_MEMORY
1031 savelij 116
; для резидента HONEY COMANDER
795 savelij 117
                DW SET_REZIDENT
838 savelij 118
                DW KILL_REZID
1186 savelij 119
.ESETUPMENU1
507 savelij 120
 
1186 savelij 121
.MOUSE_SETUPMENU        DB 0xFF
585 savelij 122
;==================SETUP MENU===================
507 savelij 123
 
585 savelij 124
;================DEVICE NOT FOUND===============
1186 savelij 125
DEV_NOTFOUND
126
 WINHDR 0x15,0x08,0x05,0x18,0x17,0x1F,%00000000,0x00, \
127
        0,0,.TXT_DEVNOTFOUND,0,0,0
507 savelij 128
 
1186 savelij 129
.TXT_DEVNOTFOUND
130
                DB "\r   Device not found"
131
                DB "\r\r   Press any key ...",0
585 savelij 132
;================DEVICE NOT FOUND===============
507 savelij 133
 
585 savelij 134
;====================NO FILES===================
1186 savelij 135
NOFILES
136
 WINHDR 0x00,0x00,0x03,0x1A,0x17,0x1F,%00000000,0x00, \
137
        0,0,.TXT_NOFILES,0,0,0
507 savelij 138
 
1186 savelij 139
.TXT_NOFILES    DB "\r Files or DIR not found",0
585 savelij 140
;====================NO FILES===================
507 savelij 141
 
585 savelij 142
;==================SELECT DRIVE=================
1031 savelij 143
SEL_DRIVE       DB 0x010,0x08,0x00,0x1A,BLACK<<3+WHITE,MAGENTA<<3+WHITE,%00100000
585 savelij 144
ESEL_DRIVE
507 savelij 145
 
1186 savelij 146
TXT_SELDRIVES   DB "\x17\xFFSelect drives"
585 savelij 147
ETXT_SELDRIVES
148
;==================SELECT DRIVE=================
507 savelij 149
 
585 savelij 150
;==================FILE BROWSER=================
1186 savelij 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
507 savelij 155
 
1186 savelij 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
507 savelij 158
 
1186 savelij 159
.KEYS_FILEBROWS DB LOW (.SEL_FILEBROWS-$-1)
160
        REPT TXT.V_FILES-2
161
                DB "\r"
162
        ENDM
163
                DB "d"
507 savelij 164
 
1186 savelij 165
.SEL_FILEBROWS
166
        REPT TXT.V_FILES-2
585 savelij 167
                DW SELECT_FILE
1186 savelij 168
        ENDM
585 savelij 169
                DW SELECT_DRIVE
1186 savelij 170
;               DW SCLTRD_VIEW
585 savelij 171
 
1186 savelij 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
1031 savelij 174
                DB 0xFF
585 savelij 175
;==================FILE BROWSER=================
176
 
177
;=========================IMAGE FDI ERROR================================
1186 savelij 178
LDFDIERROR
179
 WINHDR (TXT.H_FILES-0x14)/2,0x08,0x04,0x14,0x17,0x00,%00000000,0, \
180
        0,0,.TXT_LDFDIERR,0,0,0
761 savelij 181
 
1186 savelij 182
.TXT_LDFDIERR   DB "\x17\xFF\r FDI image error\r Press any key",0
585 savelij 183
;=========================IMAGE FDI ERROR================================
184
 
1031 savelij 185
;================COLOR EXT FILES================
1186 savelij 186
LEGEND_EXT
187
 WINHDR 0x3E,0x06,0x08,0x09,BLACK<<3+WHITE,0,0,0, \
188
        0,0,.TXT_LEGENDEXT,0,0,0
585 savelij 189
 
1186 savelij 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
1031 savelij 196
;================COLOR EXT FILES================
585 savelij 197
 
1031 savelij 198
;==================монтировать или загружать в рамдиск===================
1186 savelij 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
585 savelij 203
 
1186 savelij 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
585 savelij 211
 
1186 savelij 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
761 savelij 252
                DW MOUNT_A
585 savelij 253
                DW MOUNT_B
254
                DW MOUNT_C
255
                DW MOUNT_D
1186 savelij 256
                DW SEARCHFILES.L1
257
.SELMOUNT2
258
;===============выбор TRD образа=========================================
585 savelij 259
 
1186 savelij 260
; расширения файлов для раскраски
261
FILES_EXT       DB "TRD"        ; 1
262
                DB "SCL"        ; 2
263
                DB "FDI"        ; 3
264
                DB "TAP"        ; 4
265
                DB 0
585 savelij 266
EFILES_EXT
267
 
1186 savelij 268
; цвет раскраски строки по расширениям
588 savelij 269
COLOR_EXT       DB CYAN,GREEN,YELLOW,YELLOW,RED,MAGENTA
585 savelij 270
 
271
TXT_TURBO       DB " 7.0 3.514.0"
795 savelij 272
TXT_ONOFF       DB "on "
585 savelij 273
TXT_MEMORY      DB "off 48128"
274
 
1031 savelij 275
; список клавиш проверяемых всегда
1186 savelij 276
MAIN_KEYS       DB .NUMS
277
                DB " ",0x07,0x08,0x09,0x0A,0x0B,0x0D
278
.NUMS := LOW ($ - MAIN_KEYS) - 1
585 savelij 279
 
1186 savelij 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
585 savelij 287
EADREXEKEYS
288
 
1031 savelij 289
; текст для отображения найденных разделов, по 16 байт строка
585 savelij 290
TXT4MENU_DEVICE    ;1234567890123456
1186 savelij 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:"
585 savelij 303
 
1031 savelij 304
; тип раздела
585 savelij 305
TXT4MENU_TYPE   DB "FAT12"
306
                DB "FAT16"
307
                DB "FAT32"