Subversion Repositories Kolibri OS

Rev

Rev 2195 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2195 Rev 2532
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;                                                   ;
2
;                                                   ;
3
;    MENUBAR for KolibriOS  - Compile with fasm     ;
3
;    MENUBAR for KolibriOS  - Compile with fasm     ;
4
;                                                   ;
4
;                                                   ;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
6
;------------------------------------------------------------------------------	
-
 
7
; last update:  31/03/2012
-
 
8
; changed by:   Marat Zakiyanov aka Mario79, aka Mario
-
 
9
; changes:      The program uses only 20 Kb memory is now.
-
 
10
;               Code optimizing and refactoring.
-
 
11
;------------------------------------------------------------------------------
6
 
-
 
7
use32
12
	use32
8
  org  0x0
13
	org 0x0
9
  db   'MENUET01'   ; 8 byte id
14
	db 'MENUET01'	; 8 byte id
10
  dd   0x01	    ; header version
15
	dd 0x01		; header version
11
  dd   START	    ; program start
16
	dd START	; program start
12
  dd   I_END	    ; program image size
17
	dd IM_END	;I_END	    ; program image size
13
  dd   0xA000	    ; reguired amount of memory - 10 Kb
18
	dd I_END	;0xA000	    ; reguired amount of memory - 10 Kb
14
  dd   0xA000	    ; esp
19
	dd stack_top	;0xA000	    ; esp
15
  dd   0x0,0x0	    ; param, icon
20
	dd 0x0		; boot parameters
16
 
21
	dd 0x0		; path
-
 
22
;------------------------------------------------------------------------------	
17
include 'lang.inc'
23
include 'lang.inc'
18
include '..\..\..\macros.inc'
24
include '..\..\..\macros.inc'
19
include 'MOI.INC'   ;à áª« ¤ª¨ ª« ¢¨ âãàë
25
include 'MOI.INC'	;à áª« ¤ª¨ ª« ¢¨ âãàë
Line 20... Line 26...
20
 
26
 
Line 34... Line 40...
34
graph_text	dd    1
40
graph_text	dd    1
35
soften_middle	dd    1  ;  0 no         ; 1 yes
41
soften_middle	dd    1  ;  0 no         ; 1 yes
36
icons		dd    1  ;  0 defaults   ; 1 activate
42
icons		dd    1  ;  0 defaults   ; 1 activate
Line 37... Line 43...
37
 
43
 
38
PANEL_HEIGHT = 18
-
 
-
 
44
PANEL_HEIGHT = 18
39
 
45
;------------------------------------------------------------------------------	
40
 
46
align 4
41
handle_key:
-
 
42
 
47
handle_key:
43
    mcall 18, 7
48
	mcall	18, 7
Line 44... Line 49...
44
    mov  [active_process],eax
49
	mov	[active_process],eax
45
 
50
 
46
	mcall 2
51
	mcall	2
-
 
52
	cmp	al, 2
47
	cmp	al, 2
53
	jnz	begin_1.ret
48
	jnz	begin_1.ret
54
 
49
	mov	ebx, exec_fileinfo
55
	mov	ebx, exec_fileinfo
50
	shr	eax, 8
56
	shr	eax, 8
-
 
57
	cmp	al, 0
51
	cmp	al, 0
58
	je	prod
52
	je	prod
59
 
53
	mov	[key_r],al
60
	mov	[key_r],al
54
	sub	[key_r],2
61
	sub	[key_r],2
-
 
62
	cmp	al, 2
55
	cmp	al, 2
63
	jz	alter
56
	jz	alter
64
 
-
 
65
	cmp	al, 3
57
	cmp	al, 3
66
	jz	alter
58
	jz	alter
67
 
-
 
68
	cmp	al, 4
59
	cmp	al, 4
69
	jz	alter
60
	jz	alter
70
 
-
 
71
	cmp	al, 5
61
	cmp	al, 5
72
	jz	alter
62
	jz	alter
73
 
-
 
74
	cmp	al, 6
63
	cmp	al, 6
75
	jz	alter
64
	jz	alter
76
 
-
 
77
	cmp	al, 7
65
	cmp	al, 7
78
	jz	alter
66
	jz	alter
79
 
-
 
80
	cmp	al, 8
-
 
81
	jz	alter
67
	cmp	al, 8
82
;--------------------------------------
68
	jz	alter
-
 
69
prod:
83
align 4
70
	;{Albom
84
prod:
71
	if caps_lock_check
85
if caps_lock_check
-
 
86
	cmp	al,58
72
		cmp al, 58
87
	jne	@f
73
		jne @f
88
 
74
		pusha
-
 
75
		mov  eax,26
-
 
76
		mov  ebx,2
-
 
77
		mov  ecx,9
89
	pusha
78
		int  0x40
90
	mcall	26,2,9
79
		mov  ebx,eax
91
	mov	ebx,eax
80
		mov eax, 2
92
	mov	eax,2
81
		call draw_window ;;;???
93
	call	draw_window ;;;???
82
		popa
94
	popa
83
		ret
95
	ret
84
	@@:
-
 
85
	end if
96
@@:
86
	;}Albom
97
end if
-
 
98
	cmp	al, 15
87
	cmp	al, 15
99
	jz	alt_tab_pressed
88
	jz	alt_tab_pressed
100
 
-
 
101
	cmp	al, 88
89
	cmp	al, 88
102
	jz	start_end_application
90
	jz	start_end_application
103
 
-
 
104
	cmp	al, 91
91
	cmp	al, 91
105
	jz	start_menu_application
92
	jz	start_menu_application
106
 
-
 
107
	cmp	al, 92
93
	cmp	al, 92
108
	jz	start_menu_application
94
	jz	start_menu_application
109
 
-
 
110
	cmp	al, 62
95
	cmp	al, 62
111
	jz	kill_active_application
96
	jz	kill_active_application
112
 
-
 
113
;	cmp	al, 71
97
;	cmp	al, 71
114
;	jz	page_list_next
98
;	jz	page_list_next
115
 
-
 
116
;	cmp	al, 72
99
;	cmp	al, 72
117
;	jz	page_list_prev
100
;	jz	page_list_prev
118
 
Line 101... Line 119...
101
	cmp	al, 69
119
	cmp	al, 69
102
	jz	start_mousemul_application
120
	jz	start_mousemul_application
-
 
121
 
103
 
122
	cmp	[current_alt_tab_app], -1
104
	cmp	[current_alt_tab_app], -1
123
	jz	@f
-
 
124
 
-
 
125
	test	ah, 0x30
105
	jz	@f
126
	jz	alt_tab_released
106
	test	ah, 0x30
127
;--------------------------------------
107
	jz	alt_tab_released
-
 
108
@@:
128
align 4
109
; this is hotkey Ctrl+Shift ;or LShift+RShift
129
@@:
110
 
130
; this is hotkey Ctrl+Shift ;or LShift+RShift
111
	 jmp	 karu
131
	jmp	karu
-
 
132
;	mov	ebx, setup_exec
-
 
133
;	test	ah, 001100b
112
;        mov     ebx, setup_exec
134
;	jz	change_sys_lang
113
;        test    ah, 001100b
135
;------------------------------------------------------------------------------	
114
;        jz      change_sys_lang
136
align 4
115
change_key_lang:
137
change_key_lang:
116
	mov	dword [ebx+8], chlang
138
	mov	dword [ebx+8], chlang
117
	mcall	70
139
	mcall	70
118
	call	chlang_music
140
;--------------------------------------
119
;       mcall   5, 25
141
align 4
120
begin_1:
142
begin_1:
-
 
143
	mov	ecx,[active_process]
-
 
144
	mcall	18, 3
121
    mov  ecx,[active_process]
145
	mcall	5, 25
122
    mcall 18, 3
146
;--------------------------------------
-
 
147
align 4
123
    mcall 5, 25
148
.ret:
124
.ret:
149
	ret
125
	ret
150
;------------------------------------------------------------------------------	
126
 
151
;align 4
127
;change_sys_lang:
-
 
128
;        mov     dword [ebx+8], syslang
-
 
129
;        mcall   70
152
;change_sys_lang:
-
 
153
;    	mov	   dword [ebx+8], syslang
130
;        call    syslang_music
154
;        mcall   70
131
;;       mcall   5, 25
155
;        jmp     begin_1
132
;        jmp     begin_1
156
;------------------------------------------------------------------------------	
133
 
157
align 4
134
  start_end_application:
158
start_end_application:
-
 
159
	mov	dword [ebx+21],end_name
-
 
160
	mcall	70
135
	mov	dword [ebx+21], end_name
161
	ret
136
	mcall	70
162
;------------------------------------------------------------------------------	
137
	ret
163
align 4
138
  start_mousemul_application:
164
start_mousemul_application:
-
 
165
	mov	dword [ebx+21],mousemul_name
139
	mov	dword [ebx+21], mousemul_name
166
	mcall	70
140
	mcall	70
167
	ret
141
	ret
-
 
142
 
-
 
143
   kill_active_application:
-
 
144
;     mcall  18, 7
-
 
145
;     mov    ecx,eax
-
 
146
;
-
 
147
;     ;//{SPraid.simba do not kill panel and icon
-
 
148
;     push eax
-
 
149
;     mov eax,9
-
 
150
;     mov ebx, process_info_buffer
-
 
151
;     int 0x40
-
 
152
;     mov eax,process_info_buffer
-
 
153
;     add eax,10
-
 
154
;     mov ebx,[eax]
-
 
155
;     cmp ebx,'ICON'
-
 
156
;     je  no_kill
-
 
157
;     cmp ebx,'@PAN'
-
 
158
;     jne  kill_app
-
 
159
;     add eax,4
-
 
160
;     mov ebx,[eax]
-
 
161
;     and ebx,0x0000FFFF
-
 
162
;     cmp ebx,'EL'
-
 
163
;     je  no_kill
-
 
164
;   kill_app:
-
 
165
;     pop ecx
-
 
166
;     mcall  18, 2
-
 
167
;     jmp if_kill
-
 
168
;   no_kill:
-
 
169
;     pop eax
168
;------------------------------------------------------------------------------	
170
;   if_kill:
-
 
171
;     ;// }SPraid.simba
169
align 4
-
 
170
kill_active_application:
172
	mcall 72,1,3,1
171
	mcall	72,1,3,1
173
 
172
	jmp	begin_1.ret
174
     jmp    begin_1.ret
173
;------------------------------------------------------------------------------	
175
 
174
align 4
176
   start_menu_application:
175
start_menu_application:
177
	mov	[draw_window_1], 1
-
 
178
	mov	dword [ebx+21], menu_name
-
 
179
	mcall	70
176
	mov	[draw_window_1], 1
-
 
177
	mov	dword [ebx+21], menu_name
180
	call	menu_music
178
	mcall	70
181
     mcall 5,50
179
	jmp	begin_1.ret
182
     jmp   begin_1.ret
180
;------------------------------------------------------------------------------	
183
 
181
;align 4
-
 
182
;page_list_next:
184
;page_list_next:
183
;	cmp	[page_list],15
185
;    cmp  [page_list],15
184
;	je	@f
186
;    je	   @f
185
;
187
;    inc  [page_list]
186
;	inc	[page_list]
-
 
187
;	mov	[draw_window_1],1
188
;    mov  [draw_window_1],1
188
;@@:
189
;  @@:
189
;	jmp  begin_1.ret
190
;    jmp  begin_1.ret
190
;------------------------------------------------------------------------------	
191
;
191
;align 4
-
 
192
;page_list_prev:
192
;page_list_prev:
193
;	cmp	[page_list],0
193
;    cmp  [page_list],0
194
;	je	@f
194
;    je	   @f
195
;
195
;    dec  [page_list]
196
;	dec	[page_list]
-
 
197
;	mov	[draw_window_1],1
196
;    mov  [draw_window_1],1
198
;@@:
197
;  @@:
199
;	jmp  begin_1.ret
198
;    jmp  begin_1.ret
200
;------------------------------------------------------------------------------	
199
 
201
align 4
200
alt_tab_pressed:
202
alt_tab_pressed:
201
; handle Alt+Tab and Alt+Shift+Tab
203
; handle Alt+Tab and Alt+Shift+Tab
202
	mov	ebp, eax
204
	mov	ebp, eax
203
	cmp	[current_alt_tab_app], -1
205
	cmp	[current_alt_tab_app], -1
204
	jnz	has_alt_tab_app
206
	jnz	has_alt_tab_app
205
; § ¯®«­ï¥¬ â ¡«¨æ㠯ਫ®¦¥­¨©, ¯®¤«¥¦ é¨å ¯¥à¥ª«î祭¨î
207
; § ¯®«­ï¥¬ â ¡«¨æ㠯ਫ®¦¥­¨©, ¯®¤«¥¦ é¨å ¯¥à¥ª«î祭¨î
206
	xor	edx, edx
-
 
207
	mov	ebx, 0x8000
208
	xor	edx, edx
208
	mov	ecx, 1
209
	mov	ebx, procinfo_window_tabs	;0x8000 ; WTF???!!!
209
	mov	eax, 9
210
	mov	ecx, 1
210
.fill:
211
.fill:
211
	inc	ecx
212
	inc	ecx
-
 
213
	mcall	9
212
	int	0x40
214
	call	need_window_tab
213
	call	need_window_tab
215
	jz	@f
-
 
216
 
214
	jz	@f
217
	cmp	edx, 256
215
	cmp	edx, 256
218
	jz	@f
216
	jz	@f
219
 
217
	mov	[alt_tab_list+edx*8], ecx
220
	mov	[alt_tab_list+edx*8], ecx
-
 
221
	movzx	esi, word [ebx+4]
-
 
222
	mov	[alt_tab_list+edx*8+4], esi
218
	movzx	esi, word [ebx+4]
223
	inc	edx
219
	mov	[alt_tab_list+edx*8+4], esi
224
;--------------------------------------
220
	inc	edx
-
 
221
@@:
225
align 4
-
 
226
@@:
222
	cmp	ecx, eax
227
	cmp	ecx,eax
223
	mov	eax, 9
228
	jb	.fill
224
	jb	.fill
229
 
-
 
230
	mov	[alt_tab_list_size], edx
225
	mov	[alt_tab_list_size], edx
231
	test	edx, edx
226
	test	edx, edx
232
	jz	begin_1.ret
227
	jz	begin_1.ret
233
 
-
 
234
	mcall	66,4,0,0	; «®¢¨¬ ¬®¬¥­â ®â¯ã᪠­¨ï ¢á¥å ã¯à ¢«ïîé¨å ª« ¢¨è
228
	mcall	66,4,0,0	; «®¢¨¬ ¬®¬¥­â ®â¯ã᪠­¨ï ¢á¥å ã¯à ¢«ïîé¨å ª« ¢¨è
235
	test	eax, eax
229
	test	eax, eax
236
	jnz	begin_1.ret
230
	jnz	begin_1.ret
237
 
231
	xor	edx, edx
238
	xor	edx, edx
-
 
239
	mov	eax, [alt_tab_list+4]
-
 
240
	xor	ecx, ecx
232
	mov	eax, [alt_tab_list+4]
241
	inc	ecx
233
	xor	ecx, ecx
242
;--------------------------------------
234
	inc	ecx
243
align 4
-
 
244
.findmax:
235
.findmax:
245
	cmp	[alt_tab_list+ecx*8+4], eax
236
	cmp	[alt_tab_list+ecx*8+4], eax
246
	jb	@f
-
 
247
 
-
 
248
	mov	edx, ecx
237
	jb	@f
249
	mov	eax, [alt_tab_list+ecx*8+4]
238
	mov	edx, ecx
250
;--------------------------------------
239
	mov	eax, [alt_tab_list+ecx*8+4]
251
align 4
240
@@:
252
@@:
-
 
253
	inc	ecx
241
	inc	ecx
254
	cmp	ecx, [alt_tab_list_size]
-
 
255
	jb	.findmax
-
 
256
 
242
	cmp	ecx, [alt_tab_list_size]
257
	mov	[current_alt_tab_app], edx
243
	jb	.findmax
258
;--------------------------------------
244
	mov	[current_alt_tab_app], edx
259
align 4
245
has_alt_tab_app:
260
has_alt_tab_app:
246
	mov	eax, [current_alt_tab_app]
261
	mov	eax, [current_alt_tab_app]
247
	mov	edx, [alt_tab_list+eax*8+4]	; slot
262
	mov	edx, [alt_tab_list+eax*8+4]	; slot
248
	xor	ecx, ecx
263
	xor	ecx, ecx
-
 
264
	or	eax, -1
249
	or	eax, -1
265
	test	ebp, 300h
-
 
266
	jz	.notshift
-
 
267
 
250
	test	ebp, 300h
268
	or	esi, -1
251
	jz	.notshift
269
;--------------------------------------
252
	or	esi, -1
270
align 4
-
 
271
.loop1:
253
.loop1:
272
	cmp	[alt_tab_list+ecx*8+4], edx
254
	cmp	[alt_tab_list+ecx*8+4], edx
273
	jbe	@f
-
 
274
 
255
	jbe	@f
275
	cmp	[alt_tab_list+ecx*8+4], esi
256
	cmp	[alt_tab_list+ecx*8+4], esi
276
	jae	@f
-
 
277
 
-
 
278
	mov	eax, ecx
257
	jae	@f
279
	mov	esi, [alt_tab_list+ecx*8+4]
258
	mov	eax, ecx
280
;--------------------------------------
259
	mov	esi, [alt_tab_list+ecx*8+4]
281
align 4
260
@@:
282
@@:
-
 
283
	inc	ecx
261
	inc	ecx
284
	cmp	ecx, [alt_tab_list_size]
262
	cmp	ecx, [alt_tab_list_size]
285
	jb	.loop1
-
 
286
 
263
	jb	.loop1
287
	cmp	eax, -1
264
	cmp	eax, -1
288
	jnz	.found
265
	jnz	.found
289
 
-
 
290
	xor	edx, edx
-
 
291
	xor	ecx, ecx
266
	xor	edx, edx
292
	jmp	.loop1
267
	xor	ecx, ecx
293
;--------------------------------------
-
 
294
align 4
-
 
295
.notshift:
268
	jmp	.loop1
296
	xor	esi, esi
269
.notshift:
297
;--------------------------------------
270
	xor	esi, esi
298
align 4
-
 
299
.loop2:
271
.loop2:
300
	cmp	[alt_tab_list+ecx*8+4], edx
272
	cmp	[alt_tab_list+ecx*8+4], edx
301
	jae	@f
-
 
302
 
273
	jae	@f
303
	cmp	[alt_tab_list+ecx*8+4], esi
274
	cmp	[alt_tab_list+ecx*8+4], esi
304
	jbe	@f
-
 
305
 
-
 
306
	mov	eax, ecx
275
	jbe	@f
307
	mov	esi, [alt_tab_list+ecx*8+4]
276
	mov	eax, ecx
308
;--------------------------------------
277
	mov	esi, [alt_tab_list+ecx*8+4]
309
align 4
278
@@:
310
@@:
-
 
311
	inc	ecx
279
	inc	ecx
312
	cmp	ecx, [alt_tab_list_size]
280
	cmp	ecx, [alt_tab_list_size]
313
	jb	.loop2
-
 
314
 
281
	jb	.loop2
315
	cmp	eax, -1
282
	cmp	eax, -1
316
	jnz	.found
283
	jnz	.found
317
 
-
 
318
	or	edx, -1
-
 
319
	xor	ecx, ecx
284
	or	edx, -1
320
	jmp	.loop2
285
	xor	ecx, ecx
321
;--------------------------------------
286
	jmp	.loop2
322
align 4
287
.found:
323
.found:
288
	mov	[current_alt_tab_app], eax
324
	mov	[current_alt_tab_app], eax
Line 297... Line 333...
297
	or	eax, -1
333
	or	eax, -1
298
	rep	stosd
334
	rep	stosd
299
	pop	edi
335
	pop	edi
300
	pop	ecx
336
	pop	ecx
301
	sub	ecx, edx
337
	sub	ecx, edx
-
 
338
;--------------------------------------
-
 
339
align 4
302
@@:
340
@@:
303
	cmp	ecx, [alt_tab_list_size]
341
	cmp	ecx, [alt_tab_list_size]
304
	jae	redraw_window_tabs
342
	jae	redraw_window_tabs
-
 
343
 
305
	mov	eax, [alt_tab_list+ecx*8]
344
	mov	eax, [alt_tab_list+ecx*8]
306
	stosd
345
	stosd
307
	inc	ecx
346
	inc	ecx
308
	jmp	@b
347
	jmp	@b
-
 
348
;--------------------------------------
309
 
349
align 4
310
alt_tab_released:
350
alt_tab_released:
311
	mcall	66,5,0,0	; 㦥 ¯®©¬ «¨, 墠â¨â :)
351
	mcall	66,5,0,0	; 㦥 ¯®©¬ «¨, 墠â¨â :)
312
	or	eax, -1
352
	or	eax, -1
313
	xchg	eax, [current_alt_tab_app]
353
	xchg	eax, [current_alt_tab_app]
314
	mov	ecx, [alt_tab_list+eax*8]
354
	mov	ecx, [alt_tab_list+eax*8]
315
	mov	eax, 18
-
 
316
	mov	ebx, 3
355
	mcall	18,3
317
	int	0x40
-
 
318
	jmp	redraw_window_tabs
356
	jmp	redraw_window_tabs
-
 
357
;------------------------------------------------------------------------------	
319
 
358
align 4
320
active_process	dd 0
359
active_process	dd 0
Line 321... Line -...
321
 
-
 
322
calendar_music:
-
 
323
    mcall 55, eax, , , calendarmusic
-
 
324
    ret
-
 
325
setup_music:
-
 
326
    mcall 55,eax, , ,setupmusic
-
 
327
    ret
-
 
328
sysmeter_music:
-
 
329
    mcall 55,eax, , ,sysmetermusic
-
 
330
    ret
-
 
331
button_music:
-
 
332
    mcall 55,eax, , ,buttonmusic
-
 
333
    ret
-
 
334
;syslang_music:
-
 
335
;    mcall 55, eax, , , syslangmusic
-
 
336
;    ret
-
 
337
chlang_music:
-
 
338
    mcall 55, eax, , , chlangmusic
-
 
339
    ret
-
 
340
menu_music:
-
 
341
    mcall 55,eax, , ,menumusic
-
 
342
    ret
-
 
343
 
-
 
344
chlangmusic:	db 0x82,0x60,0x83,0x65,0x82,0x60,0
-
 
345
 
-
 
346
;syslangmusic:   db 0x82,0x65,0x83,0x70,0x82,0x65,0
-
 
347
 
-
 
348
menumusic:	db 0x82,0x50,0x84,0x48,0x82,0x50,0x84,0x53,0x82,0x51,0
-
 
349
 
-
 
350
activatemusic:	db 0x83,0x30,0x85,0x60,0
-
 
351
 
-
 
352
buttonmusic:	db 0x85,0x25,0x85,0x40,0
-
 
353
 
-
 
354
sysmetermusic:	db 0x85,0x35,0x85,0x45,0
-
 
355
 
-
 
356
setupmusic:	db 0x85,0x40,0x85,0x50,0
-
 
357
 
-
 
358
calendarmusic:	db 0x85,0x37,0x85,0x48,0
-
 
359
 
360
 
Line 360... Line 361...
360
;  .exit: mcall -1
361
;  .exit: mcall -1
361
 
-
 
362
 
-
 
363
START:
-
 
364
;       mov     eax, 51
-
 
365
;       mov     ebx, 1
-
 
366
;       mov     ecx, detect_start
362
 
367
;       mov     edx, detect_stack
363
 
368
;       int     0x40
364
START:
369
	mcall 66,4,0,2		; LShift+RShift
365
	mcall	66,4,0,2	; LShift+RShift
370
	mcall 66, , ,11h	; Ctrl+Shift
366
	mcall	66,,,11h	; Ctrl+Shift
Line 384... Line 380...
384
	mcall 66,,6		; Alt+5
380
	mcall	66,,6		; Alt+5
385
	mcall 66,,7		; Alt+6
381
	mcall	66,,7		; Alt+6
386
	mcall 66,,8		; Alt+7
382
	mcall	66,,8		; Alt+7
387
	mcall 66,,,101h 	; Alt+Shift+Tab
383
	mcall	66,,,101h 	; Alt+Shift+Tab
388
	mcall 66,,69		; Alt+Shift+NumLock
384
	mcall	66,,69		; Alt+Shift+NumLock
389
	;{Albom
385
 
390
	; CapsLock
-
 
391
	if caps_lock_check
386
if caps_lock_check
392
		mov eax, 66
-
 
393
		mov edx, 0
-
 
394
		mov ebx, 4
-
 
395
		xor ecx, ecx
387
	xor	edx,edx
396
		mov cl, 58
388
	mcall	66,4,58
397
		int 0x40
-
 
398
	end if
389
end if
399
	;}Albom
-
 
400
 
-
 
401
    mcall 18, 8, 1
390
	mcall	18,8,1
402
    test eax, eax
391
	test	eax,eax
403
    jne  @f
392
	jne	@f
404
    mcall 18, 8, 2
393
	mcall	18,8,2
-
 
394
;--------------------------------------
-
 
395
align 4
405
  @@:
396
@@:
406
	mov	eax, 70
-
 
407
	mov	ebx, dat_fileinfo
397
	mcall	70,dat_fileinfo
408
	int	0x40
-
 
Line 409... Line 398...
409
 
398
 
410
    mov  edi,width
399
	mov	edi,width
411
    mov  esi,I_END
400
	mov	esi,I_END
-
 
401
	xor	eax,eax
-
 
402
;--------------------------------------
412
    xor  eax,eax
403
align 4
413
  new_number:
404
new_number:
414
    cmp  [esi],byte ';'
405
	cmp	[esi],byte ';'
-
 
406
	je	number_ready
415
    je	 number_ready
407
 
416
    imul eax,10
408
	imul	eax,10
417
    movzx ebx,byte [esi]
409
	movzx	ebx,byte [esi]
418
    sub  ebx,'0'
410
	sub	ebx,'0'
419
    add  eax,ebx
411
	add	eax,ebx
420
    inc  esi
412
	inc	esi
-
 
413
	jmp	new_number
-
 
414
;--------------------------------------
421
    jmp  new_number
415
align 4
422
  number_ready:
416
number_ready:
423
    stosd
417
	stosd
424
    xor  eax,eax
418
	xor	eax,eax
425
    inc  esi
419
	inc	esi
426
    cmp  [esi],byte 'x'
420
	cmp	[esi],byte 'x'
Line 427... Line 421...
427
    jne  new_number
421
	jne	new_number
428
 
422
 
Line 429... Line -...
429
	mcall	14
-
 
430
	mov	[screen_size],eax
-
 
431
 
-
 
432
	;mcall  48,5            ; barsuk {
423
	mcall	14
433
	mov	eax, 14
424
	mov	[screen_size],eax
434
	int	0x40
425
 
435
	mov	ecx,eax
426
	mov	ecx,eax
436
;eax = [xsize]*65536 + [ysize], £¤¥
427
;eax = [xsize]*65536 + [ysize], £¤¥
437
	shr	ecx, 16
-
 
Line 438... Line 428...
438
	and	eax, 0xFFFF
428
	shr	ecx,16
Line 439... Line -...
439
	lea	edx,[eax-PANEL_HEIGHT-1]
-
 
440
				; barsuk }
-
 
441
 
429
	and	eax,0xFFFF
442
	mcall	48,6
-
 
443
 
-
 
444
; // Alver 26.08.2007 // {
430
	lea	edx,[eax-PANEL_HEIGHT-1]
445
   mov	eax, 9			    ; info of process
431
 
446
   mov	ebx, process_info_buffer
432
	mcall	48,6
447
   mov	ecx, -1
433
 
448
   mcall
-
 
Line 449... Line 434...
449
   mov	ecx, dword [process_info_buffer+30]
434
	mcall	9,process_info_buffer,-1
-
 
435
	mov	ecx,[process_info_buffer+30]
450
   mcall 18,21
436
	mcall	18,21
451
   mov	[this_slot], eax
437
	mov	[this_slot],eax
452
   mov	[max_slot], 255
-
 
453
; } \\ Alver \\
438
	mov	[max_slot],255
454
 
439
 
455
    call set_variables
440
	call	set_variables
Line 456... Line -...
456
 
-
 
457
start_after_minimize:
441
;--------------------------------------
458
 
-
 
459
    call draw_window
442
align 4
460
    call draw_info
443
start_after_minimize:
-
 
444
	call	draw_window
461
    call draw_running_applications
445
	call	draw_info
462
 
446
	call	draw_running_applications
463
    mov  eax, 23
-
 
464
    mov  ebx, 30
-
 
465
    int  0x40
-
 
466
    call    load_ini
-
 
467
    call    fir_lng
447
 
468
 
448
	mcall	23,30
Line 469... Line 449...
469
still:
449
	call	load_ini
470
;     mcall  13,<390,70>,<3,11>,0xffffff
-
 
471
;     mov    ecx,[button_presssed_alt]
-
 
472
;     mcall  47,0x80100,ecx ,400 shl 16+5,0
450
	call	fir_lng
473
 
451
;------------------------------------------------------------------------------
474
    call draw_info
-
 
475
    call draw_running_applications
452
align 4
476
 
453
still:
477
	mov	eax, 18 			; check if active window changed
454
	call	draw_info
478
	mov	ebx, 7				; barsuk
-
 
479
	int	0x40
455
	call	draw_running_applications
480
	cmp	eax, [last_active_window]
456
 
481
	jz	@f
457
	mcall	18,7	; check if active window changed
Line 482... Line 458...
482
 
458
	cmp	eax, [last_active_window]
483
; need_window_tab:
-
 
484
; in: ebx->process info
459
	jz	@f
485
; out: ZF set <=> do not draw
-
 
Line 486... Line 460...
486
 
460
; need_window_tab:
487
	mov	ebx, [last_active_window]
461
; in: ebx->process info
Line 488... Line -...
488
	mov	[prev_active_window], ebx
-
 
489
	mov	[last_active_window], eax
-
 
490
 
462
; out: ZF set <=> do not draw
491
	mov	ecx, eax
-
 
492
	mov	eax, 9
463
	mov	ebx,[last_active_window]
493
	mov	ebx, process_info_buffer
464
	mov	[prev_active_window], ebx
-
 
465
	mov	[last_active_window], eax
494
	int	0x40
466
 
495
 
467
	mov	ecx, eax
496
	call	need_window_tab
468
	mcall	9,process_info_buffer
-
 
469
 
497
	jnz	.need_repaint
470
	call	need_window_tab
498
 
471
	jnz	.need_repaint
499
	mov	eax, 9
-
 
500
	mov	ebx, process_info_buffer
-
 
501
	mov	ecx, [prev_active_window]
472
 
502
	int	0x40
-
 
503
	call	need_window_tab
-
 
504
	jz	@f
473
	mcall	9,process_info_buffer,[prev_active_window]
505
 
474
	call	need_window_tab
-
 
475
	jz	@f
506
.need_repaint:
476
;--------------------------------------
507
	mov	dword [active_window_changed], 1
477
align 4
508
 
-
 
Line -... Line 478...
-
 
478
.need_repaint:
509
@@:
479
	mov	dword [active_window_changed], 1
510
 
480
;--------------------------------------
Line 511... Line 481...
511
    mov  eax, 23
481
align 4
-
 
482
@@:
512
    mov  ebx, 20
483
	mcall	23,20
513
    int  0x40
484
	cmp	eax,1		; redraw ?
514
 
-
 
515
    cmp  eax,1		; redraw ?
-
 
516
    jz	 red
485
	jz	red
517
    cmp  eax,3		; button ?
486
 
Line 518... Line 487...
518
    jz	 button
487
	cmp	eax,3		; button ?
519
	call	handle_key
488
	jz	button
520
 
489
 
521
	cmp  dword [active_window_changed], 0
490
	call	handle_key
522
	jnz   red_active
491
	cmp	dword [active_window_changed], 0
523
 
492
	jnz	red_active
-
 
493
 
524
	jmp	still
494
	jmp	still
525
 
495
;------------------------------------------------------------------------------	
526
  red_active:		; barsuk
496
align 4
527
 
497
red_active:
-
 
498
red:
528
  red:			 ; redraw window
499
	mov	dword [active_window_changed], 0
529
 
500
 
530
	mov	dword [active_window_changed], 0
501
	mcall	14
-
 
502
	movzx	ecx,ax
531
 
503
	mov	edx,eax
532
	mcall	14
504
	shr	edx,16
533
	movzx	ecx,ax
-
 
534
	mov	edx,eax
505
	cmp	[screen_size.height],ax
535
	shr	edx,16
506
	jne	@f
536
	cmp	[screen_size.height],ax
507
 
-
 
508
	rol	eax,16
537
	jne	@f
509
	cmp	[screen_size.width],ax
538
	rol	eax,16
510
	je	.lp1
539
	cmp	[screen_size.width],ax
511
	rol	eax,16
540
	je	.lp1
-
 
541
	rol	eax,16
-
 
542
    @@: mov	[screen_size],eax
512
@@:
543
	sub	ecx,PANEL_HEIGHT
513
	mov	[screen_size],eax
544
	mcall	67,0,,,PANEL_HEIGHT
-
 
-
 
514
	sub	ecx,PANEL_HEIGHT
545
 
515
	mcall	67,0,,,PANEL_HEIGHT
546
  .lp1:
516
;--------------------------------------
Line 547... Line 517...
547
 
517
align 4
548
    call draw_window
518
.lp1:
549
    call draw_info
519
	call	draw_window
Line 566... Line 536...
566
 
536
 
567
    movzx ecx,byte ah
537
	movzx	ecx,byte ah
568
    sub  ecx,52
538
	sub	ecx,52
Line 569... Line -...
569
    shl  ecx,2
-
 
570
 
-
 
571
    mov  eax,18
539
	shl	ecx,2
572
    mov  ebx,3
540
 
573
    mov  ecx,[app_list+ecx]
-
 
574
    int  0x40
-
 
575
;    cmp  [music_type],0
-
 
576
;    je   still
-
 
577
    mcall 55,eax, , ,activatemusic
-
 
578
    jmp  still
-
 
Line -... Line 541...
-
 
541
	mov	ecx,[app_list+ecx]
-
 
542
	mcall	18,3,
-
 
543
 
-
 
544
;	mcall	55,eax,,,activatemusic
-
 
545
	jmp	still
579
 
546
;------------------------------------------------------------------------------	
580
right_mouse:			; barsuk
547
align 4
-
 
548
right_mouse:
581
 
549
	cmp	ah,50
582
    cmp  ah,50
550
	jb	still
Line 583... Line 551...
583
    jb	 still
551
 
584
    cmp  ah,70
552
	cmp	ah,70
Line 585... Line 553...
585
    jg	 still
553
	jg	still
586
 
554
 
Line 587... Line 555...
587
    movzx ecx,byte ah
555
	movzx	ecx,byte ah
588
    sub  ecx,52
-
 
589
 
-
 
590
    cmp  ecx, [app_tab_count]
556
	sub	ecx,52
591
    jge  still
-
 
592
 
557
 
593
    shl  ecx,2
558
	cmp	ecx, [app_tab_count]
594
 
559
	jge	still
595
    mov  eax, 37
560
 
596
    mov  ebx, 0
561
	shl	ecx,2
Line 597... Line -...
597
    int  0x40
-
 
598
    mov  ebx, eax
562
	mcall	37,0
599
    shr  eax, 16
563
	mov	ebx, eax
600
    mov  [x_coord], ax
564
	shr	eax, 16
601
    and  ebx, 0xFFFF
-
 
602
    mov  [y_coord], bx
-
 
603
 
-
 
604
    mov  eax, 9
-
 
Line 605... Line -...
605
    mov  ecx,[app_list+ecx]	; ecx->selected app.slot
-
 
606
    mov  [n_slot], ecx
-
 
607
    mov  ebx, procinfo_for_detect
565
	mov	[x_coord], ax
608
    int  0x40
-
 
609
 
-
 
Line 610... Line 566...
610
;    cmp  dword [procinfo_for_detect+process_information.slot_state],9
566
	and	ebx, 0xFFFF
611
;    jz   still
-
 
612
 
567
	mov	[y_coord], bx
613
	mov	eax, 51
-
 
-
 
568
 
614
	mov	ebx, 1
569
	mov	ecx,[app_list+ecx]	; ecx->selected app.slot
615
	mov	ecx, context_menu_start
570
	mov	[n_slot], ecx
616
	mov	edx, ctx_menu_stack
-
 
617
	int	0x40
-
 
618
 
571
	mcall	9,procinfo_for_detect
619
	mov	[ctx_menu_PID], eax
572
 
Line 620... Line 573...
620
 
573
	mcall	51,1,context_menu_start,ctx_menu_stack
621
    jmp  still
574
 
Line 622... Line -...
622
 
-
 
623
 
575
	mov	[ctx_menu_PID], eax
624
  no_activate:
576
	jmp	still
-
 
577
;------------------------------------------------------------------------------	
625
 
578
align 4
626
 
579
no_activate:
-
 
580
	cmp	ah,101 	  ; minimize to left
627
    cmp  ah,101 	  ; minimize to left
581
	je	left_button
628
    je	 left_button
582
 
629
 
-
 
Line 630... Line 583...
630
    cmp  ah,102 	  ; minimize to right
583
	cmp	ah,102 	  ; minimize to right
631
    je	 right_button
584
	je	right_button
-
 
585
 
632
 
586
	cmp	ah, 103
633
; // Alver 26.08.2007 // {
-
 
634
    cmp  ah, 103
587
	je	clean_desktop		    ; minimize all windows
635
    je	 clean_desktop		    ; minimize all windows
-
 
636
    cmp  ah, 104
588
 
-
 
589
	cmp	ah, 104
-
 
590
	je	restore_desktop	    ; restore minimized windows
637
    je	 restore_desktop	    ; restore minimized windows
591
 
638
    cmp  ah, 105
-
 
639
    je	 swap_minimized_desktop     ; minimize normal windows, and restore minimized windows
592
	cmp	ah, 105
640
; } \\ Alver \\
593
	je	swap_minimized_desktop     ; minimize normal windows, and restore minimized windows
641
 
594
 
-
 
595
	cmp	ah,byte 1	  ; start/terminate menu
642
    cmp  ah,byte 1	  ; start/terminate menu
596
	jnz	noselect
643
    jnz  noselect
597
 
644
    call menu_handler
-
 
645
;    cmp  [music_type],0
-
 
646
;    je   still
598
	call	menu_handler
-
 
599
 
647
    call menu_music
600
	jmp	still
648
    jmp  still
601
;--------------------------------------
649
  noselect:
602
align 4	
650
 
603
noselect:
-
 
604
	mov	ebx, exec_fileinfo
651
	mov	ebx, exec_fileinfo
605
	cmp	ah,byte 2	       ; start calendar
652
    cmp  ah,byte 2	       ; start calendar
606
	jnz	noid15  ;noclock
653
    jnz  noid15  ;noclock
607
 
654
	mov	dword [ebx+21], calendar_name
-
 
655
	mov	eax, 70
-
 
656
	int	0x40
-
 
657
    call calendar_music
608
	mov	dword [ebx+21], calendar_name
-
 
609
	mcall	70
658
    jmp  still
610
	jmp	still
659
 
611
;--------------------------------------
660
  noid15:
612
align 4	
661
    cmp  ah,16
613
noid15:
-
 
614
	cmp	ah,16
662
    jne  noid16
615
	jne	noid16
663
	mov	ebx, setup_exec
616
 
664
	mov	dword [ebx+8], chlang
-
 
665
	mov	eax, 70
-
 
666
	int	0x40
-
 
667
    call chlang_music
617
	mov	ebx, setup_exec
668
    mcall 5, 25
618
	mov	dword [ebx+8], chlang
-
 
619
	mcall	70
669
    jmp  still
620
	jmp	still
670
 
621
;--------------------------------------
671
  noid16:
622
align 4	
672
;    cmp  ah,17
623
noid16:
-
 
624
;	cmp	ah,17
673
;    jne  noid17
625
;	jne	noid17
674
;        mov     ebx, setup_exec
626
;
675
;        mov     dword [ebx+8], syslang
-
 
676
;        mov     eax, 70
-
 
677
;        int     0x40
627
;	mov	ebx, setup_exec
-
 
628
;	mov	dword [ebx+8], syslang
678
;    call syslang_music
629
;	mcall	70
679
;    mcall 5, 25
630
;	jmp	still
680
;    jmp  still
631
;--------------------------------------
681
;
632
;align 4	
682
;  noid17:
-
 
683
    cmp  ah,18
-
 
684
    jne  noid18
-
 
685
	mov	dword [ebx+21], sysmeter_name
-
 
686
	mov	eax, 70
-
 
Line 687... Line 633...
687
	int	0x40
633
;  noid17:
688
    call sysmeter_music
634
	cmp	ah,18
689
    jmp  still
635
	jne	noid18
-
 
636
 
690
 
637
	mov	dword [ebx+21], sysmeter_name
691
  noid18:
638
	mcall	70
692
    cmp  ah,19
639
	jmp	still
693
    jne  noid19
640
;--------------------------------------
-
 
641
align 4	
694
;    inc  [music_type]
642
noid18:
695
;    and  [music_type],1
643
	cmp	ah,19
696
    mcall 18,8,2
644
	jne	noid19
697
;    mcall 18,8
-
 
698
;    mov [sound_flag],al
-
 
699
 
645
 
-
 
646
	mcall	18,8,2
700
;    mcall 15,4,2
647
	mcall	15,3
701
    mcall 15,3
648
	jmp	red
702
    jmp  red
649
;--------------------------------------
703
 
650
align 4	
704
  noid19:
-
 
-
 
651
noid19:
705
    cmp  ah,20		   ; start system setup
652
	cmp	ah,20		   ; start system setup
706
    jnz  noid20
653
	jnz	noid20
707
	mov	ebx, setup_exec
-
 
708
	and	dword [ebx+8], 0
-
 
709
	mov	eax, 70
-
 
710
	int	0x40
654
 
711
    call setup_music
655
	mov	ebx, setup_exec
-
 
656
	and	dword [ebx+8], 0
712
    jmp still
657
	mcall	70
713
 
-
 
714
 noid20:
-
 
715
    cmp  ah,21
658
	jmp	still
716
    jnz  noid21
659
;--------------------------------------
717
; // Alver 25.08.2007 // {
660
align 4	
-
 
661
noid20:
718
    cmp  [page_list], 99
662
	cmp	ah,21
719
    jnc  @f
663
	jnz	noid21
-
 
664
 
720
  ;  cmp  [page_list],15
665
	cmp	[page_list], 99
721
  ;  je    @f
666
	jnc	still
722
; } \\ Alver \\
-
 
723
    inc  [page_list]
-
 
724
    jmp  red
-
 
-
 
667
	inc	[page_list]
725
  @@:
668
	jmp	red
726
    jmp still
-
 
727
 
-
 
728
 noid21:
-
 
729
    cmp  ah,22
-
 
730
    jnz  noid22
669
;--------------------------------------
731
    cmp  [page_list],0
670
align 4	
732
    je	   @f
671
noid21:
733
    dec  [page_list]
672
	cmp	ah,22
734
    jmp  red
673
	jnz	still
-
 
674
 
-
 
675
	cmp	[page_list],0
735
  @@:
676
	je	still
736
    jmp  still
677
 
737
 
678
	dec	[page_list]
738
 noid22:
679
	jmp	red
739
 
680
;------------------------------------------------------------------------------	
740
    jmp  still
681
align 4
-
 
682
restore_desktop:
741
 
683
	mcall	9,process_info_buffer,-1
742
; // Alver 26.08.2007 //{
684
	mov	[max_slot], eax
743
restore_desktop:
685
	mov	ecx, 2
744
    mcall   9,process_info_buffer,-1
686
	mov	edx, 2
745
    mov     [max_slot], eax
687
;--------------------------------------
-
 
688
align 4	
-
 
689
@@:
746
    mov     ecx, 2
690
	mcall	18, 22
747
    mov     edx, 2
691
	inc	edx
-
 
692
	cmp	edx, [max_slot]
-
 
693
	jbe	@b
748
@@:
694
	jmp	still
749
    mcall   18, 22
695
;------------------------------------------------------------------------------	
750
    inc     edx
696
align 4
-
 
697
swap_minimized_desktop:
751
    cmp     edx, [max_slot]
698
	xor	esi, esi
752
    jbe     @b
699
	inc	esi
753
    jmp  still
700
	jmp	min_swap_desktop
754
 
701
;------------------------------------------------------------------------------	
-
 
702
align 4
755
swap_minimized_desktop:
703
clean_desktop:
756
    xor  esi, esi
704
	xor	esi,esi
757
    inc esi
705
;--------------------------------------
758
    jmp  min_swap_desktop
706
align 4	
759
clean_desktop:
707
min_swap_desktop:		   ; input esi 0 - min, <>0 swap
-
 
708
	mov	ecx, 2		   ;  ç «ì­ë© ­®¬¥à á«®â  ¯à®æ¥áá 
760
    xor esi,esi
709
	mov	ebx, process_info_buffer
761
 min_swap_desktop:		   ; input esi 0 - min, <>0 swap
710
;--------------------------------------
762
     mov    ecx, 2		   ;  ç «ì­ë© ­®¬¥à á«®â  ¯à®æ¥áá 
711
align 4
-
 
712
.loop1:
763
     mov    ebx, process_info_buffer
713
	cmp	ecx, [this_slot]
764
 
714
	je	.loop1xx
-
 
715
 
765
.loop1:
716
	mcall	9
766
     cmp    ecx, [this_slot]
717
	mov	[max_slot], eax
-
 
718
	mov	dx, word [process_info_buffer+50]
767
     je     .loop1xx
719
	cmp	dx, 9		    ; à®¢¥àª  ᢮¡®¤¥­ «¨ ¤ ­­ë© á«®â
768
     mcall  9
720
	jz	.loop1xx
-
 
721
 
-
 
722
	mov	edx, dword [ebx+10]
769
     mov    [max_slot], eax
723
	cmp	dl, '@'
770
     mov    dx, word [process_info_buffer+50]
724
	je	.loop1xx
771
     cmp    dx, 9		    ; à®¢¥àª  ᢮¡®¤¥­ «¨ ¤ ­­ë© á«®â
725
 
Line 772... Line 726...
772
     jz     .loop1xx
726
	cmp	dword [ebx+10], 'ICON'
773
     mov    edx, dword [ebx+10]
727
	jnz	@f
774
     cmp    dl, '@'
728
 
775
     je     .loop1xx
729
	cmp	[ebx+42], dword 51
776
     cmp    dword [ebx+10], 'ICON'
730
	jnz	@f
-
 
731
 
777
     jnz    @f
732
	cmp	[ebx+46], dword 51
778
     cmp    [ebx+42], dword 51
733
	jz	.loop1xx
779
     jnz    @f
734
;--------------------------------------
-
 
735
align 4
780
     cmp    [ebx+46], dword 51
736
@@:
-
 
737
	cmp	[ebx+10], dword '    '
-
 
738
	jz	.loop1xx
781
     jz     .loop1xx
739
 
782
@@:
740
	pushad
783
     cmp    [ebx+10], dword '    '
741
	mov	  edx, ecx
-
 
742
	xor	  ecx, ecx
-
 
743
	or     esi, esi
784
     jz     .loop1xx
744
	jz     @f
785
 
745
 
786
     pushad
746
	movzx  eax, byte [process_info_buffer+70]
787
     mov    edx, ecx
747
	and	  eax, 2	      ; mask minimize
788
     xor    ecx, ecx
748
	jz     @f
-
 
749
 
789
     or     esi, esi
750
	mov	  ecx, 2	      ; restore
790
     jz     @f
-
 
791
     movzx  eax, byte [process_info_buffer+70]
751
;--------------------------------------
792
     and    eax, 2	      ; mask minimize
-
 
793
     jz     @f
752
align 4
Line 794... Line 753...
794
     mov    ecx, 2	      ; restore
753
@@:
795
@@:
754
	mcall	18, 22
Line 813... Line 772...
813
 
772
 
814
    cmp  edi,[running_applications]
773
	cmp	edi,[running_applications]
815
    jne  noret
774
	jne	noret
816
    popa
775
	popa
-
 
776
	ret
-
 
777
;--------------------------------------
817
    ret
778
align 4
818
  noret:
-
 
819
 
-
 
820
;    cmp  edi,[running_applications]
-
 
821
;    jge  no_application_decrease
779
noret:
822
    call draw_window
-
 
823
;  no_application_decrease:
-
 
824
 
780
	call	draw_window
825
    mov  [running_applications],edi
-
 
826
 
781
	mov	[running_applications],edi
-
 
782
	call	redraw_window_tabs
827
	call	redraw_window_tabs
783
;--------------------------------------
828
 
784
align 4
829
  dr_ret:
-
 
830
 
785
dr_ret:
831
    popa
-
 
832
 
786
	popa
-
 
787
	ret
833
    ret
788
;------------------------------------------------------------------------------	
834
 
789
align 4
835
need_window_tab:
790
need_window_tab:
836
; in: ebx->process info
791
; in: ebx->process info
837
; out: ZF set <=> do not draw
792
; out: ZF set <=> do not draw
838
	cmp	byte [ebx+10], '@'
793
	cmp	byte [ebx+10], '@'
839
	jz	.nodraw
-
 
840
; \begin{diamond}[29.03.2007]
794
	jz	.nodraw
841
; do not draw undefined (zero-sized) windows
795
; do not draw undefined (zero-sized) windows
842
	cmp	dword [ebx+42], 0
796
	cmp	dword [ebx+42], 0
843
	jnz	@f
797
	jnz	@f
844
	cmp	dword [ebx+46], 0
798
	cmp	dword [ebx+46], 0
-
 
799
	jz	.nodraw
-
 
800
;--------------------------------------
845
	jz	.nodraw
801
align 4
846
@@:
-
 
847
; \end{diamond}[29.03.2007]
-
 
848
;  (pterox)[12.10.2010] 
802
@@:
849
; do not draw OpenDialog windows
803
; do not draw OpenDialog windows
850
	push	EDI
804
	push	edi
851
	mov	EDI, dword [EBX+10]
805
	mov	edi, dword [ebx+10]
852
	or	EDI, 0x20202020
806
	or	edi, 0x20202020
853
	cmp	EDI, 'open'
807
	cmp	edi, 'open'
-
 
808
	jne	@f
854
	jne	@f
809
 
855
	mov	EDI, dword [EBX+14]
810
	mov	edi, dword [ebx+14]
856
	or	EDI, 0x20202020
811
	or	edi, 0x20202020
857
	cmp	dword [EBX+14], 'dial'
812
	cmp	dword [ebx+14], 'dial'
858
	jne	@f
-
 
859
	pop	EDI
-
 
Line -... Line 813...
-
 
813
	jne	@f
-
 
814
 
-
 
815
	pop	edi
-
 
816
	jmp	.nodraw
860
	jmp	.nodraw
817
;--------------------------------------
861
 
818
align 4
862
@@:
-
 
863
	pop	EDI
819
@@:
864
;  (pterox)[12.10.2010] 
820
	pop	edi
-
 
821
	cmp	dword [ebx+10], 'ICON'
865
	cmp	dword [ebx+10], 'ICON'
822
	jnz	@f
866
	jnz	@f
823
 
-
 
824
	cmp	[ebx+42], dword 51
867
	cmp	[ebx+42], dword 51
825
	jnz	@f
868
	jnz	@f
826
 
-
 
827
	cmp	[ebx+46], dword 51
-
 
828
	jz	.nodraw
869
	cmp	[ebx+46], dword 51
829
;--------------------------------------
870
	jz	.nodraw
830
align 4
-
 
831
@@:
-
 
832
	cmp	[ebx+10], dword '    '
871
@@:
833
;--------------------------------------
872
	cmp	[ebx+10], dword '    '
834
align 4
-
 
835
.nodraw:
873
.nodraw:
836
	ret
874
	ret
837
;------------------------------------------------------------------------------	
875
 
838
align 4
876
redraw_window_tabs:
839
redraw_window_tabs:
Line 877... Line 840...
877
	xor	edi, edi
840
	xor	edi, edi
878
	mov	[contrast], 0
841
	mov	[contrast], 0
879
 
842
 
-
 
843
	push	ebp
880
	push	ebp			; barsuk {
844
	mcall	18,7
881
	mov	eax, 18
-
 
882
	mov	ebx, 7
-
 
883
	int	0x40
845
	mov	ebp,eax
884
	mov	ebp, eax		; barsuk }
846
;--------------------------------------
885
 
847
align 4
886
.loop:
848
.loop:
Line 887... Line 849...
887
	mov	ecx, [app_list+edi*4]
849
	mov	ecx,[app_list+edi*4]
888
	cmp	ecx, -1
-
 
889
	jz	.done
850
	cmp	ecx,-1
890
 
-
 
Line 891... Line -...
891
	push	ecx
-
 
892
	mov	eax, 9
851
	jz	.done
893
	mov	ebx, 0x8000
-
 
894
	int	0x40
-
 
895
 
852
 
896
	mov	eax, 13
-
 
897
	imul	ebx, edi, 6*10*10000h
-
 
Line 898... Line -...
898
; // Alver 26.08.2007 // {
-
 
899
;       add     ebx, 6*10*10000h + 7*10000h + 54
853
	push	ecx
900
	add	ebx, 12*10*10000h + 7*10000h + 54
854
	mcall	9,procinfo_window_tabs	;0x8000	; WTF???!!!
901
; } // Alver //
855
 
902
	mov	ecx, 3*10000h + 14
856
	imul	ebx, edi, 6*10*10000h
903
 
857
	add	ebx, 12*10*10000h + 7*10000h + 54
904
;       xor     edx, edx
858
 
905
	mov	edx, 0x383838		; barsuk
859
	mcall	13,,<3,14>,0x383838
906
	int	0x40
860
 
907
	sub	ebx, 10000h + 53
861
	sub	ebx, 10000h + 53
908
	mov	ecx, 4*10000h + 12
862
	mcall	,,<4,12>
909
	int	0x40
863
 
910
	sub	ebx, 10000h
864
	sub	ebx, 10000h
911
	mov	ecx, 5*10000h + 10
865
	mcall	,,<5,10>
912
	int	0x40
-
 
Line 913... Line 866...
913
	add	ebx, 56*10000h
866
 
914
	mov	ecx, 4*10000h + 12
867
	add	ebx, 56*10000h
915
	int	0x40
868
	mcall	,,<4,12>
916
	add	ebx, 10000h
869
 
-
 
870
	add	ebx, 10000h
917
	mov	ecx, 5*10000h + 10
871
	mcall	,,<5,10>
-
 
872
 
-
 
873
	mov	edx, [wcolor]	; barsuk
918
	int	0x40
874
	pop	ecx
919
 
875
	cmp	ebp, ecx	; ecx=active slot number
920
	mov	edx, [wcolor]	; barsuk
876
	jnz	@f
921
	pop	ecx
877
 
-
 
878
	mov	edx, [system_colours.work_button]
922
	cmp	ebp, ecx	; ecx=active slot number
879
;--------------------------------------
923
	jnz	@f
880
align 4
924
	mov	edx, [system_colours.work_button]
-
 
-
 
881
@@:
925
@@:
882
	mov	esi, [current_alt_tab_app]
-
 
883
	cmp	esi, -1
-
 
884
	jz	@f
926
	mov	esi, [current_alt_tab_app]
885
 
927
	cmp	esi, -1
886
	cmp	ecx, [alt_tab_list+esi*8]
928
	jz	@f
887
	jnz	@f
929
	cmp	ecx, [alt_tab_list+esi*8]
888
 
930
	jnz	@f
889
	mov	edx, 0xFF8000
931
;	xor	edx, 0xFFFFFF
890
;--------------------------------------
932
	mov	edx, 0xFF8000
891
align 4
933
@@:
892
@@:
934
	sub	ebx, 55*10000h - 53
893
	sub	ebx, 55*10000h - 53
Line 935... Line -...
935
	mov	ecx, 4*10000h + 12
-
 
936
	int	0x40
894
	mcall	,,<4,12>
-
 
895
	
937
	sub	ebx, 10000h + 53
896
	sub	ebx, 10000h + 53
938
	mov	ecx, 5*10000h + 10
897
	mcall	,,<5,10>
939
	int	0x40
-
 
940
	add	ebx, 55*10000h
898
 
941
	int	0x40
-
 
942
 
899
	add	ebx, 55*10000h
943
	mov	eax, 4
900
	mcall
944
	sub	ebx, 51*10000h - 6
901
 
945
	mov	ecx, [system_colours.work_button_text]	;0xffffff
902
	sub	ebx, 51*10000h - 6
-
 
903
	mov	edx, procinfo_window_tabs+10	;0x8000+10		; WTF???!!!
-
 
904
	mcall	4,,[system_colours.work_button_text],,11
946
	mov	edx, 0x8000+10
905
;--------------------------------------
947
	mov	esi, 11
906
align 4
948
	int	0x40
907
.nodraw:
-
 
908
	inc	edi
949
 
909
	cmp	edi, [max_applications]
950
.nodraw:
910
	jb	.loop
951
	inc	edi
-
 
952
	cmp	edi, [max_applications]
911
;--------------------------------------
953
	jb	.loop
912
align 4
954
.done:
913
.done:
955
	pop	ebp
914
	pop	ebp
-
 
915
	ret
956
	ret
916
;------------------------------------------------------------------------------	
-
 
917
align 4
-
 
918
calculate_applications:
957
 
919
	mov	eax,[max_applications]
958
calculate_applications:
920
	mul	[page_list]
Line 959... Line 921...
959
 
921
	test	eax,eax
960
    mov  eax,[max_applications]
922
	je	@f
Line 971... Line 933...
971
    cld
933
	cld
972
    rep  stosd
934
	rep	stosd
Line 973... Line 935...
973
 
935
 
974
    mov  edi,0
936
	mov	edi,0
-
 
937
	mov	ecx,2
975
    mov  ecx,2
938
;--------------------------------------
976
 
939
align 4
977
  cnewpr:
-
 
978
 
-
 
979
    mov  eax,9
940
cnewpr:
980
    mov  ebx,0x8000
-
 
Line 981... Line 941...
981
    int  0x40
941
	mcall	9,procinfo_window_tabs	;0x8000	; WTF???!!!
982
 
942
 
-
 
943
	call	need_window_tab
983
	call	need_window_tab
944
	jz	cnorpl
984
	jz	cnorpl
945
 
Line 985... Line 946...
985
	sub	[draw_start_position], 1
946
	sub	[draw_start_position], 1
986
	jg	cnorpl
-
 
987
 
947
	jg	cnorpl
-
 
948
 
988
    mov  [app_list+edi*4],ecx
949
	mov	[app_list+edi*4],ecx
989
 
950
	inc	edi
990
    inc  edi
951
;--------------------------------------
991
 
-
 
992
  cnorpl:
952
align 4
993
    inc  ecx
953
cnorpl:
Line 994... Line 954...
994
 
954
	inc	ecx
995
    cmp  eax,ecx
-
 
996
    jge  cnewpr
955
	cmp	eax,ecx
997
 
-
 
-
 
956
	jge	cnewpr
998
    mov  [app_tab_count], edi	; barsuk
957
 
999
 
958
	mov	[app_tab_count], edi
1000
    ret
-
 
1001
 
959
	ret
Line 1002... Line 960...
1002
 
960
;------------------------------------------------------------------------------	
1003
draw_application_buttons:
961
align 4
Line 1004... Line 962...
1004
 
962
draw_application_buttons:
1005
    pusha
-
 
1006
 
-
 
1007
    cmp [icons],1
963
	pusha
Line 1008... Line -...
1008
    jne da_ret
-
 
1009
 
-
 
1010
    mov  eax,14
-
 
1011
    int  0x40
-
 
1012
 
-
 
1013
    shr  eax,16
-
 
1014
 
-
 
1015
; // Alver 25.08.2007 // {
-
 
1016
 ;   cmp  eax,639
-
 
1017
 ;   jne  now1
-
 
1018
 ;   mov  [max_applications],7  ;6
-
 
1019
 ; now1:
-
 
1020
 ;   cmp  eax,799
-
 
1021
 ;   jne  now2
-
 
1022
 ;   mov  [max_applications],9 ;10    ;8
-
 
1023
 ; now2:
-
 
1024
 ;   cmp  eax,1023
-
 
1025
 ;   jne  now3
-
 
1026
 ;   mov  [max_applications],12 ;13   ;8
-
 
1027
 ; now3:
964
 
1028
 ;   cmp  eax,1279
965
	cmp	[icons],1
1029
 ;   jne  now4
966
	jne	da_ret
-
 
967
 
-
 
968
	mcall	14
1030
 ;   mov  [max_applications],17 ;18    ;8
969
	shr	eax,16
1031
 ; now4:
970
 
1032
 ;   mov  edi,1
971
	sub	eax, 281
1033
 
972
	jnc	._01
1034
     sub  eax, 281
973
	xor	eax, eax
1035
     jnc  ._01
974
;--------------------------------------
1036
     xor  eax, eax
975
align 4
1037
._01:
976
._01:
1038
     mov  bl, 60
977
	mov	bl, 60
1039
     div  bl
-
 
1040
     xor  ah, ah		       ; eax - ª®«¨ç¥á⢮ 㬥é îè¨åáï ¯¨ªâ®¢
-
 
1041
     mov  [max_applications], eax
978
	div	bl
1042
     mov  edi,1
979
	xor	ah, ah		       ; eax - ª®«¨ç¥á⢮ 㬥é îè¨åáï ¯¨ªâ®¢
1043
;  } \\ Alver \\
980
	mov	[max_applications], eax
1044
 
981
	mov	edi,1
1045
  nb:
-
 
1046
 
982
;--------------------------------------
1047
    mov  eax,8
983
align 4
1048
    mov  ebx,edi
984
nb:
1049
    shl  ebx,16
985
	mov	ebx,edi
-
 
986
	shl	ebx,16
1050
    imul ebx,6*10	     ;13
987
	imul	ebx,6*10	     ;13
-
 
988
	add	ebx,75*65536+10*6-1 ; << Alver 25.08.2007 >> 15*65536+10*6-1  ;13
-
 
989
	mov	edx,edi
1051
    add  ebx,75*65536+10*6-1 ; << Alver 25.08.2007 >> 15*65536+10*6-1  ;13
990
	add	edx,51
1052
    mov  ecx,1*65536+17
991
	cmp	[buttons],1
1053
    mov  edx,edi
992
	je	bufr
1054
    add  edx,51
993
 
Line 1055... Line 994...
1055
    cmp  [buttons],1
994
	or	edx,0x60000000
1056
    je	 bufr
995
;--------------------------------------
1057
    or	 edx,0x60000000
996
align 4
-
 
997
bufr:
1058
  bufr:
998
	mov	esi,[wcolor]
1059
    mov  esi,[wcolor]
999
	sub	ebx,11 shl 16
1060
    sub  ebx,11 shl 16
-
 
1061
    int  0x40
1000
	mcall	8,,<1,17>
1062
 
-
 
1063
    inc  edi
1001
 
1064
    cmp  edi,[max_applications]
-
 
-
 
1002
	inc	edi
1065
    jbe  nb
1003
	cmp	edi,[max_applications]
1066
 
1004
	jbe	nb
1067
  da_ret:
-
 
1068
 
1005
;--------------------------------------
1069
    popa
1006
align 4
1070
 
1007
da_ret:
1071
    ret
1008
	popa
-
 
1009
	ret
1072
 
1010
;------------------------------------------------------------------------------	
1073
 
1011
align 4
1074
menu_handler:
-
 
1075
	mov	eax, 70
1012
menu_handler:
-
 
1013
	mov	ebx, exec_fileinfo
Line 1076... Line 1014...
1076
	mov	ebx, exec_fileinfo
1014
	mov	[ebx+21],dword menu_name
1077
	mov	dword [ebx+21], menu_name
-
 
1078
	int	0x40
-
 
1079
	ret
-
 
1080
 
-
 
1081
draw_small_right:
1015
	mcall	70
1082
 
1016
	ret
1083
    pusha
1017
;------------------------------------------------------------------------------	
1084
 
1018
align 4
1085
    mov  eax,12
1019
draw_small_right:
Line 1086... Line 1020...
1086
    mov  ebx,1
1020
	pusha
1087
    int  0x40
-
 
1088
 
-
 
1089
    mov  eax,0
1021
	mcall	12,1
1090
    mov  edx,[wcolor]
-
 
1091
    mov  esi,edx
1022
 
1092
    mov  edi,edx
-
 
Line 1093... Line -...
1093
    or	 edx, 0x01000000
-
 
1094
    int  0x40
1023
	xor	eax,eax
1095
 
1024
	mov	edx,[wcolor]
1096
    mov  eax,8
1025
	mov	esi,edx
-
 
1026
	mov	edi,edx
1097
    mov  ebx,0*65536+9
1027
	or	edx, 0x01000000
-
 
1028
	mcall
-
 
1029
 
1098
    mov  ecx,0*65536
1030
	xor	ecx,ecx
1099
    mov  cx,[b_size_y]
1031
	mov	cx,[b_size_y]
1100
    mov  edx,1
1032
	mcall	8,<0,9>,,1,[wcolor]
1101
    mov  esi,[wcolor]
1033
 
1102
    int  0x40
-
 
1103
 
-
 
1104
    mov  eax,4
-
 
1105
    mov  ebx,2*65536+16
-
 
1106
    cmp  [graph_text],1
-
 
1107
    jne  nos3
-
 
Line -... Line 1034...
-
 
1034
	mov	ebx,2*65536+16
1108
    mov  ebx,2*65536+7
1035
	cmp	[graph_text],1
1109
  nos3:
-
 
1110
    mov  ecx,[wcolor]
1036
	jne	nos3
1111
    add  ecx,0x303030
-
 
1112
    mov  edx,hidetext
-
 
-
 
1037
 
1113
    mov  esi,1
1038
	mov	ebx,2*65536+7
1114
    int  0x40
1039
;--------------------------------------
1115
 
-
 
1116
    mov  eax,12
1040
align 4
-
 
1041
nos3:
Line 1117... Line 1042...
1117
    mov  ebx,2
1042
	mov	ecx,[wcolor]
1118
    int  0x40
-
 
1119
 
-
 
1120
    popa
-
 
1121
 
-
 
1122
    ret
1043
	add	ecx,0x303030
1123
 
1044
	mcall	4,,,hidetext,1
1124
 
1045
 
1125
 
1046
	mcall	12,2
1126
draw_small_left:
1047
	popa
Line 1127... Line 1048...
1127
 
1048
	ret
1128
    pusha
1049
;------------------------------------------------------------------------------	
Line 1129... Line -...
1129
 
-
 
1130
    mov  eax,12
-
 
1131
    mov  ebx,1
-
 
1132
    int  0x40
-
 
1133
 
1050
align 4
1134
    mov  eax,0
-
 
Line 1135... Line -...
1135
    mov  edx,[wcolor]
-
 
1136
    mov  esi,edx
-
 
1137
    mov  edi,edx
1051
draw_small_left:
1138
    or	 edx, 0x01000000
1052
	pusha
1139
    int  0x40
1053
	mcall	12,1
1140
 
1054
 
1141
    cmp  [graph_text],1
1055
	xor	eax,eax
1142
    je	 nos4
-
 
1143
 
1056
	mov	edx,[wcolor]
1144
    mov  eax,8
-
 
1145
    mov  ebx,0*65536+9
-
 
1146
    mov  ecx,0*65536+18-6
-
 
1147
    mov  edx,2
1057
	mov	esi,edx
1148
    mov  esi,[wcolor]
1058
	mov	edi,edx
1149
    int  0x40
1059
	or	edx, 0x01000000
-
 
1060
	mcall
1150
 
1061
 
1151
    mov  eax,4
1062
	cmp	[graph_text],1
-
 
1063
	je	nos4
-
 
1064
 
1152
    mov  ebx,2*65536+4
1065
	mcall	8,<0,9>,<0,12>,2,[wcolor]
1153
    mov  ecx,[wcolor]
-
 
1154
    add  ecx,0x303030
1066
 
1155
    mov  edx,hidetext+2
-
 
Line 1156... Line -...
1156
    mov  esi,1
-
 
1157
    int  0x40
1067
	mov	ecx,[wcolor]
1158
 
1068
	add	ecx,0x303030
1159
  nos4:
1069
	mcall	4,<2,4>,,hidetext+2,1
-
 
1070
;--------------------------------------
1160
 
1071
align 4
-
 
1072
nos4:
-
 
1073
	mov	ecx,13*65536+25
1161
    mov  eax,8
1074
	cmp	[graph_text],1
1162
    mov  ebx,0*65536+9
1075
	jne	nos6
1163
    mov  ecx,13*65536+25
1076
 
1164
    cmp  [graph_text],1
1077
	xor	ecx,ecx
1165
    jne  nos6
-
 
1166
    mov  ecx,0*65536
-
 
1167
    mov  cx,word [b_size_y]
-
 
1168
  nos6:
-
 
1169
    mov  edx,1
-
 
1170
    mov  esi,[wcolor]
-
 
Line -... Line 1078...
-
 
1078
	mov	cx,word [b_size_y]
1171
    int  0x40
1079
;--------------------------------------
1172
 
1080
align 4
1173
    mov  eax,4
-
 
1174
    mov  ebx,3*65536+22
-
 
1175
    cmp  [graph_text],1
1081
nos6:
1176
    jne  nos7
1082
	mcall	8,<0,9>,,1,[wcolor]
1177
    mov  ebx,3*65536+7
1083
 
1178
  nos7:
-
 
1179
    mov  ecx,[wcolor]
-
 
1180
    add  ecx,0x303030
-
 
1181
    mov  edx,hidetext+1
1084
	mov	ebx,3*65536+22
Line 1182... Line 1085...
1182
    mov  esi,1
1085
	cmp	[graph_text],1
-
 
1086
	jne	nos7
1183
    int  0x40
1087
 
1184
 
1088
	mov	ebx,3*65536+7
1185
    mov  eax,12
1089
;--------------------------------------
1186
    mov  ebx,2
1090
align 4
1187
    int  0x40
1091
nos7:
1188
 
1092
	mov	ecx,[wcolor]
1189
    popa
1093
	add	ecx,0x303030
Line 1190... Line 1094...
1190
    ret
1094
	mcall	4,,,hidetext+1,1
1191
 
-
 
1192
 
1095
 
1193
;-------------------------------------------------
-
 
1194
 
1096
	mcall	12,2
1195
right_button:
1097
	popa
1196
 
1098
	ret
1197
    call button_music
-
 
1198
 
-
 
1199
    mov  [small_draw],dword draw_small_right
-
 
1200
 
1099
;------------------------------------------------------------------------------	
Line 1201... Line 1100...
1201
    mcall 14
1100
align 4
1202
    shr eax, 16
-
 
1203
    mov ebx, eax
1101
right_button:
1204
    mov ecx, -1
-
 
1205
    mov edx, 9
-
 
Line 1206... Line 1102...
1206
    sub ebx, edx
1102
	mov	[small_draw],dword draw_small_right
1207
    mov esi, -1
-
 
1208
    mcall 67
1103
 
1209
 
1104
	mcall	14
1210
    call draw_small_right
1105
 
1211
 
-
 
1212
    jmp  small_wait
1106
	shr	eax, 16
1213
 
-
 
1214
;-------------------------------------------------
-
 
1215
 
1107
	mov	ebx, eax
1216
left_button:
1108
	mov	ecx, -1
-
 
1109
	mov	edx, 9
1217
 
1110
	sub	ebx, edx
1218
    call  button_music
1111
	mov	esi, -1
-
 
1112
	mcall	67
-
 
1113
 
1219
 
1114
	call	draw_small_right
1220
    mov  [small_draw],dword draw_small_left
1115
	jmp	small_wait
1221
 
1116
;------------------------------------------------------------------------------	
-
 
1117
align 4
1222
    mov   ebx, 0
1118
left_button:
1223
    mov   edx, 9
1119
	mov	[small_draw],dword draw_small_left
-
 
1120
 
-
 
1121
	xor	ebx,ebx
1224
    mov   ecx, -1
1122
	mcall	67,,-1,9,-1
1225
    mov   esi, -1
-
 
1226
    mcall 67
1123
 
1227
 
-
 
1228
    call draw_small_left
-
 
1229
 
1124
	call	draw_small_left
1230
;-------------------------------------------------
1125
;--------------------------------------
Line 1231... Line 1126...
1231
 
1126
align 4
1232
  small_wait:
1127
small_wait:
1233
 
1128
	mcall	10
1234
    mov  eax, 10
1129
	cmp	eax,1
1235
    int  0x40
1130
	jne	no_win
1236
 
-
 
1237
    cmp  eax,1
-
 
1238
    jne  no_win
1131
 
1239
    call [small_draw]
-
 
1240
    jmp  small_wait
-
 
Line 1241... Line 1132...
1241
  no_win:
1132
	call	[small_draw]
1242
    cmp  eax,2
-
 
-
 
1133
	jmp	small_wait
1243
    jne  no_key
1134
;--------------------------------------
1244
    call handle_key
1135
align 4
1245
    jmp  small_wait
-
 
1246
no_key:
1136
no_win:
1247
 
-
 
1248
    mov  eax,17
1137
	cmp	eax,2
1249
    int  0x40
-
 
1250
 
-
 
-
 
1138
	jne	no_key
1251
    cmp  ah,1
1139
 
1252
    jne  no_full
1140
	call	handle_key
1253
 
-
 
1254
    mov   eax, 14		    ; get screen max x & max y
1141
	jmp	small_wait
1255
    int   0x40
-
 
1256
    mov   edx, eax
1142
;--------------------------------------
1257
    shr   edx, 16
1143
align 4
1258
    xor   ebx, ebx
1144
no_key:
-
 
1145
	mcall	17
1259
    mov   ecx, -1
1146
	cmp	ah,1
-
 
1147
	jne	no_full
-
 
1148
 
1260
    mov   esi, -1
1149
	mcall	14	; get screen max x & max y
1261
    mcall 67 ; x0 y0 xs ys
-
 
1262
 
1150
 
1263
    call  button_music
1151
	mov	edx, eax
1264
 
1152
	shr	edx, 16
-
 
1153
	xor	ebx, ebx
1265
    jmp   still
1154
	mcall	67,,-1,,-1 ; x0 y0 xs ys
-
 
1155
 
-
 
1156
	jmp	still
1266
 
1157
;--------------------------------------
1267
 
-
 
1268
  no_full:
-
 
1269
 
1158
align 4
1270
    call menu_handler
-
 
1271
 
-
 
1272
    jmp  small_wait
-
 
Line 1273... Line 1159...
1273
 
1159
no_full:
1274
 
1160
	call	menu_handler
1275
 
1161
	jmp	small_wait
1276
set_variables:
1162
;------------------------------------------------------------------------------	
1277
 
1163
align 4
Line 1278... Line 1164...
1278
     pusha
1164
set_variables:
1279
 
1165
	pusha
1280
     mov  [b_size_y],dword 38
-
 
1281
     cmp  [graph_text],1
-
 
-
 
1166
	mov	[b_size_y],dword 38
1282
     jne  noy2
1167
	cmp	[graph_text],1
1283
     mov  [b_size_y],dword 18
1168
	jne	noy2
1284
   noy2:
1169
 
1285
 
1170
	mov	[b_size_y],dword 18
1286
     mov  [button_frames],0x0
1171
;--------------------------------------
1287
     cmp  [buttons],0
-
 
1288
     jne  no_frames
-
 
1289
     mov  [button_frames],0x40000000
-
 
1290
   no_frames:
-
 
1291
 
1172
align 4
1292
 
1173
noy2:
1293
     mov  eax,48	   ; 3d button look
-
 
1294
     mov  ebx,1
1174
	mov	[button_frames],0x0
Line 1295... Line 1175...
1295
     mov  ecx,1
1175
	cmp	[buttons],0
1296
     int  0x40
1176
	jne	no_frames
1297
 
1177
 
Line 1328... Line 1208...
1328
    pushad
1208
	pushad
1329
;    dec  ebx
1209
;	dec	ebx
1330
    sub  ebx,2
1210
	sub	ebx,2
1331
    shl  ebx, 16
1211
	shl	ebx, 16
1332
    add  ebx, 15 ;25
1212
	add	ebx, 15 ;25
1333
    mov  ecx, 4*65536+13
-
 
1334
    mov  edx,0
1213
	xor	edx,edx
1335
    mov  eax,13
1214
	mcall	13,,<4,13>
1336
    int  0x40
1215
 
1337
    add  ebx,1 shl 16
1216
	add	ebx,1 shl 16
1338
    sub  ebx,2
1217
	sub	ebx,2
1339
    mov  ecx, 5 shl 16+11
1218
	mov	ecx, 5 shl 16+11
1340
    cmp  [type_lang],1
1219
	cmp	[type_lang],1
1341
    je	label_1
1220
	je	label_1
-
 
1221
 
1342
    mov  edx,0xff ;[wcolor]
1222
	mov	edx,0xff ;[wcolor]
1343
    jmp  label_2
1223
	jmp	label_2
-
 
1224
;--------------------------------------
-
 
1225
align 4
1344
label_1:
1226
label_1:
1345
    mov  edx,0x7700
1227
	mov	edx,0x7700
-
 
1228
;--------------------------------------
-
 
1229
align 4
1346
label_2:
1230
label_2:
1347
    mov  eax, 13
1231
	mcall
1348
    int  0x40
-
 
1349
    popad
1232
	popad
Line 1350... Line 1233...
1350
 
1233
 
1351
    shl  ebx,16
1234
	shl	ebx,16
Line 1352... Line 1235...
1352
    add  ebx,7	;24
1235
	add	ebx,7	;24
Line 1353... Line -...
1353
 
-
 
1354
    mov  ecx,[bte] ; color
1236
 
1355
 
1237
	mov	ecx,[bte] ; color
-
 
1238
 
1356
	;{Albom
1239
if caps_lock_check
1357
	if caps_lock_check
-
 
1358
		call flag_text_setup ; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state.
-
 
1359
	end if
1240
; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state.
1360
	;}Albom
1241
	call	flag_text_setup
1361
	
1242
end if
1362
    dec  edx
1243
	dec	edx
1363
    shl  edx,1
-
 
1364
    add  edx,flag_text
-
 
Line 1365... Line 1244...
1365
    mov  esi,2
1244
	shl	edx,1
1366
    mov  eax,4
1245
	add	edx,flag_text
1367
    int  0x40
1246
	mcall	4,,,,2
1368
 
1247
 
1369
    mov  ebx,[maxx]
-
 
1370
    sub  ebx,48
1248
	mov	ebx,[maxx]
1371
    shl  ebx,16
1249
	sub	ebx,48
1372
    mov  bx,34
1250
	shl	ebx,16
1373
    mov  ecx,3 shl 16+14
1251
	mov	bx,34
1374
    xor  edx,edx
1252
	xor	edx,edx
1375
    mov  eax,13
1253
	mcall	13,,<3,14>
1376
    int  0x40
1254
 
1377
    add  ebx,1 shl 16
1255
	add	ebx,1 shl 16
Line 1378... Line 1256...
1378
    sub  ebx,2
1256
	sub	ebx,2
1379
    mov  ecx,4 shl 16+12
1257
	mov	ecx,4 shl 16+12
1380
    mov  edx,time_bgr_color
-
 
1381
    int  0x40
-
 
1382
 
-
 
1383
    popa
-
 
1384
    ret
-
 
-
 
1258
	mov	edx,time_bgr_color
1385
 
1259
    mcall
1386
;mini_flag:
1260
 
1387
;    popa
1261
    popa
1388
;    ret
1262
    ret
1389
 
-
 
1390
;{Albom
-
 
1391
if caps_lock_check
1263
;------------------------------------------------------------------------------	
1392
	flag_text_setup:
-
 
1393
		pusha
-
 
1394
	
1264
align 4
1395
		mov eax, 66
1265
if caps_lock_check
1396
		mov ebx, 3
-
 
1397
		int 40h
1266
flag_text_setup:
1398
	
1267
	pusha
-
 
1268
	mcall	66,3
1399
		mov edi, flag_text
1269
	mov	edi, flag_text
-
 
1270
	mov	esi, flag_text_caps_off
-
 
1271
	test	eax, 0x40
1400
		mov esi, flag_text_caps_off
1272
	jz	@f
1401
	
1273
	
1402
		test eax, 0x40
1274
	add	esi, 14
Line 1403... Line 1275...
1403
		jz @f
1275
;--------------------------------------
1404
		add esi, 14
1276
align 4
-
 
1277
@@:
1405
	@@:
1278
	mov	ecx, 14
1406
		mov ecx, 14
1279
	rep	movsb
1407
		rep movsb	
1280
	
1408
	
-
 
1409
		popa
-
 
1410
		ret
-
 
-
 
1281
	popa
1411
		flag_text_caps_off db 'enfigerufretua' 
1282
	ret
1412
		db 'ENFIGERUFRETUA'
1283
 
1413
end if
1284
flag_text_caps_off db 'enfigerufretua' 
1414
;Albom}
-
 
1415
 
1285
db 'ENFIGERUFRETUA'
1416
 
1286
end if
1417
; ***************************************************
-
 
1418
; ********* WINDOW DEFINITIONS AND DRAW *************
1287
;------------------------------------------------------------------------------	
1419
; ***************************************************
-
 
1420
 
1288
; ***************************************************
1421
 
1289
; ********* WINDOW DEFINITIONS AND DRAW *************
-
 
1290
; ***************************************************
Line 1422... Line -...
1422
draw_window:
-
 
1423
 
-
 
1424
    pusha
-
 
1425
 
-
 
1426
    mov  [running_applications],-1
-
 
1427
    mov  [checks],-1
-
 
1428
 
1291
align 4
1429
    mov  eax, 12		   ; tell os about redraw
-
 
1430
    mov  ebx, 1
-
 
Line 1431... Line 1292...
1431
    int  0x40
1292
draw_window:
1432
 
1293
	pusha
1433
    mov  eax, 48
1294
	mov	[running_applications],-1
Line 1434... Line 1295...
1434
    mov  ebx, 3
1295
	mov	[checks],-1
1435
    mov  ecx, system_colours
-
 
Line 1436... Line 1296...
1436
    mov  edx, 10*4
1296
	mcall	12,1
1437
    int  0x40
1297
 
-
 
1298
	mcall	48,3,system_colours,10*4
1438
 
1299
 
1439
    mov  eax, [system_colours+4*6]
1300
	mov	eax, [system_colours+4*6]
1440
    sub  eax, 0x101010
1301
	sub	eax, 0x101010
1441
    mov  [wcolor], eax
1302
	mov	[wcolor], eax
-
 
1303
 
-
 
1304
	mcall	14	; get screen max x & max y
1442
 
1305
 
1443
    mov  eax,14 		   ; get screen max x & max y
-
 
1444
    int  0x40
1306
	cmp	[width],0
1445
 
1307
	je	no_def_width
1446
    cmp  [width],0
1308
 
1447
    je	 no_def_width
1309
	and	eax,0xffff
1448
    and  eax,0xffff
1310
	mov	ebx,[width]
Line 1460... Line 1322...
1460
    add  ecx,0*65536+38
1322
	add	ecx,0*65536+38
1461
    cmp  [graph_text],1
1323
	cmp	[graph_text],1
1462
    jne  no_text_1
1324
	jne	no_text_1
1463
    mov  cx,PANEL_HEIGHT
1325
	mov	cx,PANEL_HEIGHT
1464
    add  ecx,20*65536
1326
	add	ecx,20*65536
-
 
1327
;--------------------------------------
-
 
1328
align 4
1465
  no_text_1:
1329
no_text_1:
1466
    mov  eax, 0 		    ; DEFINE AND DRAW WINDOW
1330
	xor	eax,eax 		    ; DEFINE AND DRAW WINDOW
1467
    mov  edx, [wcolor]
1331
	mov 	edx, [wcolor]
1468
    or	 edx, 0x01000000 ; do not draw the window
1332
	or	edx, 0x01000000 ; do not draw the window
1469
    mov  esi, [wcolor]
1333
	mov	esi, [wcolor]
1470
    or	 esi, 0x01000000 ; unmovable window
1334
	or	esi, 0x01000000 ; unmovable window
1471
    mov  edi, [wcolor]
1335
	mov 	edi, [wcolor]
1472
 
-
 
1473
    mov  [panel_x_pos], ebx
1336
	mov	[panel_x_pos], ebx
1474
    mov  [panel_y_pos], ecx	 ; ®ª  çâ® â ª.
1337
	mov	[panel_y_pos], ecx	 ; ®ª  çâ® â ª.
1475
 
-
 
1476
    int  0x40
1338
	mcall
Line 1477... Line 1339...
1477
 
1339
 
1478
    movzx ebx,word [screenxy+2]
1340
	movzx	ebx,word [screenxy+2]
1479
    mov  ecx,0*65536+0
1341
	mov	ecx,0*65536+0
1480
    mov  edx,[wcolor]
1342
	mov	edx,[wcolor]
-
 
1343
	add	edx,0x161616
-
 
1344
;--------------------------------------
1481
    add  edx,0x161616
1345
align 4
1482
  newline_:			; debug.inc has macros with the same name
1346
newline_:			; debug.inc has macros with the same name
1483
    sub  edx,0x040404
1347
	sub	edx,0x040404
1484
    mov  eax,38
1348
	mov	eax,38
1485
    cmp  [soften_up],1
1349
	cmp	[soften_up],1
-
 
1350
	jne	no_su
1486
    jne  no_su
1351
 
-
 
1352
	and	edx,0x00FFFFFF
-
 
1353
	mcall
1487
    and  edx,0x00FFFFFF
1354
;--------------------------------------
1488
    int  0x40
1355
align 4
1489
  no_su:
-
 
1490
 
1356
no_su:
1491
    pusha
1357
	pusha
1492
    cmp  [soften_down],1
1358
	cmp	[soften_down],1
-
 
1359
	jne	no_sd
1493
    jne  no_sd
1360
 
1494
    sub  edx,0x141414
1361
	sub	edx,0x141414
1495
    mov  edi,[b_size_y]
1362
	mov	edi,[b_size_y]
1496
    shl  edi,16
1363
	shl	edi,16
1497
    add  edi,[b_size_y]
1364
	add	edi,[b_size_y]
1498
    add  ecx,edi
1365
	add	ecx,edi
1499
    sub  ecx,3*65536+3
1366
	sub	ecx,3*65536+3
-
 
1367
	and	edx,0x00FFFFFF
-
 
1368
	mcall
1500
    and  edx,0x00FFFFFF
1369
;--------------------------------------
1501
    int  0x40
1370
align 4
1502
  no_sd:
1371
no_sd:
Line 1503... Line 1372...
1503
    popa
1372
	popa
1504
 
1373
 
Line 1511... Line 1380...
1511
 
1380
 
1512
    movzx ebx,word [screenxy+2]
1381
	movzx	ebx,word [screenxy+2]
1513
    mov   ecx,5*65536+5
1382
	mov	ecx,5*65536+5
1514
    mov   esi,stripe
1383
	mov	esi,stripe
-
 
1384
	mov	edx,[wcolor]
-
 
1385
;--------------------------------------
1515
    mov   edx,[wcolor]
1386
align 4
1516
  newline3:
1387
newline3:
1517
    add  edx,[esi]
1388
	add	edx,[esi]
Line 1518... Line -...
1518
    add  esi,4
-
 
1519
 
1389
	add	esi,4
1520
    mov  eax,38
1390
 
1521
    and  edx,0x00FFFFFF
1391
	and	edx,0x00FFFFFF
1522
    int  0x40
1392
	mcall	38
1523
    add  ecx,1*65536+1
1393
	add	ecx,1*65536+1
-
 
1394
	cmp	cx,15
1524
    cmp  cx,15
1395
	jb	newline3
1525
    jb	 newline3
1396
;--------------------------------------
1526
 
-
 
1527
  no_sm:
1397
align 4
1528
 
1398
no_sm:
1529
    cmp  [minimize_left],1
-
 
1530
    jne  no_mleft
-
 
-
 
1399
	cmp	[minimize_left],1
1531
    mov  eax,8				     ; ABS LEFT
1400
	jne	no_mleft
1532
    mov  ebx,0 *65536+9
1401
 
1533
    mov  ecx,1 *65536
1402
	mov	ecx,1 *65536
1534
    add  ecx,[b_size_y]
1403
	add	ecx,[b_size_y]
1535
    dec  ecx
1404
	dec	ecx
1536
    mov  edx,101
1405
	mov	edx,101
1537
    add  edx,[button_frames]
1406
	add	edx,[button_frames]
1538
    mov  esi,[wcolor]
-
 
1539
    int  0x40
1407
	mcall	8,<0,9>,,,[wcolor]	; ABS LEFT
1540
    mov  eax,4				     ; HIDE TEXT
1408
 
1541
    mov  ebx,2*65536+17
1409
	mov	ebx,2*65536+17
-
 
1410
	cmp	[graph_text],1
1542
    cmp  [graph_text],1
1411
	jne	no_y1
-
 
1412
 
-
 
1413
	mov	bx,7
1543
    jne  no_y1
1414
;--------------------------------------
1544
    mov  bx,7
1415
align 4
1545
  no_y1:
1416
no_y1:
1546
    mov  ecx,[wcolor]
1417
	mov	ecx,[wcolor]
1547
    add  ecx,0x303030
1418
	add	ecx,0x303030
1548
    mov  edx,hidetext
1419
	mcall	4,,,hidetext,1	; HIDE TEXT
1549
    mov  esi,1
1420
;--------------------------------------
1550
    int  0x40
-
 
1551
  no_mleft:
1421
align 4
1552
 
1422
no_mleft:
1553
    movzx eax,word [screenxy+2]
-
 
1554
    mov  [maxx],eax
1423
	movzx	eax,word [screenxy+2]
1555
 
1424
	mov	[maxx],eax
1556
    cmp  [minimize_right],1
1425
	cmp	[minimize_right],1
1557
    jne  no_mright
1426
	jne	no_mright
1558
    mov  eax,[maxx]
1427
	mov	eax,[maxx]
1559
    sub  eax,77
1428
	sub	eax,77
1560
    shl  eax,16
1429
	shl	eax,16
1561
    mov  ebx,eax
-
 
-
 
1430
	mov	ebx,eax
1562
    add  ebx,67
1431
	add	ebx,67
1563
    mov  eax,8				     ; ABS RIGHT
1432
 
1564
    mov  ecx,1 *65536
1433
	mov	ecx,1 *65536
1565
    add  ecx,[b_size_y]
1434
	add	ecx,[b_size_y]
1566
    dec  ecx
1435
	dec	ecx
1567
    add  ebx,68*65536
1436
	add	ebx,68*65536
1568
    mov  bx,9
1437
	mov	bx,9
1569
    mov  edx,102
1438
	mov	edx,102
1570
    add  edx,[button_frames]
1439
	add	edx,[button_frames]
1571
    mov  esi,[wcolor]
1440
	mcall	8,,,,[wcolor]	; ABS RIGHT
1572
    int  0x40
1441
 
1573
    mov  edx,hidetext+1
1442
	mov	edx,hidetext+1
1574
    mov  eax,4
1443
	mov	eax,4
1575
    mov  ebx,[maxx]
1444
	mov	ebx,[maxx]
1576
    sub  ebx,6
1445
	sub	ebx,6
1577
    shl  ebx,16
1446
	shl	ebx,16
1578
    mov  bx,17
1447
	mov	bx,17
-
 
1448
	cmp	[graph_text],1
1579
    cmp  [graph_text],1
1449
	jne	no_y2
-
 
1450
 
-
 
1451
	mov	bx,7
1580
    jne  no_y2
1452
;--------------------------------------
1581
    mov  bx,7
1453
align 4
1582
  no_y2:
1454
no_y2:
1583
    mov  ecx,[wcolor]
1455
	mov	ecx,[wcolor]
-
 
1456
	add	ecx,0x303030
-
 
1457
	mov	esi,1
1584
    add  ecx,0x303030
1458
	mcall
1585
    mov  esi,1
1459
;--------------------------------------
1586
    int  0x40
-
 
1587
  no_mright:
1460
align 4
1588
 
-
 
1589
    call draw_menuet_icon
1461
no_mright:
1590
 
-
 
1591
    call draw_program_icons
1462
	call	draw_menuet_icon
1592
 
1463
;	call	draw_program_icons
1593
    mov  [ptime],0
-
 
1594
    call draw_info
1464
	mov	[ptime],0
Line 1595... Line -...
1595
 
-
 
1596
    call draw_application_buttons
-
 
1597
 
-
 
1598
;     mov    ecx,[button_presssed_alt]
-
 
1599
;     mcall  47,0x80100,ecx ,400 shl 16+5,0
1465
	call	draw_info
1600
 
-
 
1601
    mov  eax,12
-
 
1602
    mov  ebx,2
1466
	call	draw_application_buttons
1603
    int  0x40
1467
 
-
 
1468
	mcall	12,2
1604
 
1469
	popa
1605
    popa
-
 
1606
    ret
1470
	ret
1607
 
-
 
1608
; // Alver 26.08.2007 // {
1471
;------------------------------------------------------------------------------	
1609
dr_button_clean:
1472
align 4
-
 
1473
dr_button_clean:
1610
    mov  ecx, 3*65536+13
1474
	mcall	8,,<3,13>
1611
    mcall 8
-
 
1612
    ret
1475
	ret
1613
; } \\ Alver \\
-
 
1614
 
1476
;------------------------------------------------------------------------------	
1615
draw_menuet_icon:
-
 
1616
 
-
 
1617
    pusha
1477
align 4
1618
 
1478
draw_menuet_icon:
1619
; // Alver 26.08.2007 // {
1479
	pusha
1620
; Inserted code for drowing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
1480
; Inserted code for drawing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
1621
    mov  esi, dword [system_colours+24]    ; drawing buttons
1481
	mov	esi, dword [system_colours+24]    ; drawing buttons
1622
    and  esi, 0x00ffffff
1482
	and	esi, 0x00ffffff
-
 
1483
	mov	edx, 103
1623
    mov  edx, 103
1484
	mov	ebx, 67*65536+13
1624
    mov  ebx, 67*65536+13
1485
	call	dr_button_clean
1625
    call dr_button_clean
1486
	
-
 
1487
	inc	edx
1626
    inc  edx
1488
	mov	ebx, 86*65536+13
1627
    mov  ebx, 86*65536+13
1489
	call	dr_button_clean
1628
    call dr_button_clean
1490
	
-
 
1491
	inc	edx
1629
    inc  edx
1492
	mov	ebx, 105*65536+13
1630
    mov  ebx, 105*65536+13
1493
	call	dr_button_clean
1631
    call dr_button_clean
-
 
1632
    mov  ecx, dword [system_colours+28]
-
 
1633
    and  ecx, 0x00ffffff
1494
	
1634
    xor  esi, esi
-
 
1635
    inc  esi
-
 
1636
    mov  edx, page_clean_but
1495
	mov	ecx, dword [system_colours+28]
1637
    mov  eax, 4
1496
	and	ecx, 0x00ffffff
1638
    mov  ebx, 71*65536+6
1497
	mcall	4,<71,6>,,page_clean_but,1
1639
    int  0x40
1498
 
1640
    inc  edx
1499
	inc	edx
1641
    mov  ebx, 90*65536+6
1500
	mcall	,<90,6>
1642
    int  0x40
-
 
1643
    inc  edx
-
 
Line 1644... Line 1501...
1644
    mov  ebx, 109*65536+6
1501
 
1645
    int  0x40
1502
	inc	edx
Line 1646... Line -...
1646
; } \\ Alver \\
-
 
1647
 
-
 
1648
    cmp  [menu_enable],1
1503
	mcall	,<109,6>
1649
    jne  no_menu
1504
 
1650
 
1505
	cmp	[menu_enable],1
-
 
1506
	jne	no_menu
1651
 
1507
 
-
 
1508
	mov	ebx, 10*65536 + 47
-
 
1509
	cmp	[minimize_left], 0
1652
    mov  eax, 8 			      ; M BUTTON
1510
	jne	@f
1653
    mov  ebx, 10*65536 + 47
1511
 
1654
    cmp  [minimize_left], 0
1512
	sub	ebx, 10*65536
1655
    jne  @f
1513
;--------------------------------------
1656
    sub  ebx, 10*65536
-
 
1657
  @@:
1514
align 4
1658
    mov  ecx, 1*65536
1515
@@:
1659
    add  ecx, [b_size_y]
1516
	mov	ecx, 1*65536
1660
    dec  ecx
-
 
Line 1661... Line 1517...
1661
;    mov  edx, 0x20000001			; dunkaist[
1517
	add	ecx, [b_size_y]
1662
    mov  edx, 0x20d1ff01			; dunkaist]
1518
	dec	ecx
Line 1663... Line 1519...
1663
    add  edx, [button_frames]
1519
	mov	edx, 0x20d1ff01
1664
    mov  esi, [wcolor]
-
 
1665
    int  0x40
-
 
1666
 
-
 
1667
    cmp  [graph_text], 1
-
 
1668
    jne  no_mtext
1520
	add	edx, [button_frames]
1669
 
-
 
1670
    push ebx
-
 
1671
    mov  eax,13
-
 
1672
    mov  ebx,12 shl 16+44  ;51
-
 
1673
    mov  ecx,1 shl 16+17
-
 
1674
;    xor  edx,edx
-
 
1675
    mov edx, 0x383838
-
 
1676
    int  0x40
-
 
1677
;    mov  ebx,63 shl 16+1
-
 
1678
    mov  ebx,56 shl 16+1
-
 
1679
    mov  ecx,2 shl 16+15
-
 
1680
    int  0x40
-
 
1681
    mov  ebx,57 shl 16+1
-
 
1682
    mov  ecx,4 shl 16+11
-
 
1683
    int  0x40
-
 
1684
    mov  ebx,58 shl 16+1
-
 
1685
    mov  ecx,6	shl 16+7
-
 
1686
    int  0x40
-
 
1687
;    mov  ebx,66  shl 16+1
-
 
1688
;    mov  ecx,9 shl 16+1
-
 
1689
;    int  0x40
-
 
1690
    mov  ebx,13 shl 16+43 ;50
-
 
1691
    mov  ecx,2 shl 16+15
-
 
1692
    mov  edx,0x7700
-
 
1693
    int  0x40
-
 
1694
;    mov  ebx,62 shl 16+1
-
 
1695
;    mov  ecx,3 shl 16+14
-
 
1696
;    int  0x40
-
 
1697
    mov  ebx,56 shl 16+1
-
 
1698
    mov  ecx,4 shl 16+11
-
 
1699
    int  0x40
-
 
1700
    mov  ebx,57 shl 16+1
-
 
1701
    mov  ecx,6 shl 16+7
-
 
1702
    int  0x40
-
 
1703
    pop  ebx
-
 
1704
 
-
 
1705
    mov  eax, 4
-
 
1706
    mov  bx,  7
-
 
1707
    add  ebx, 8*65536
-
 
1708
    mov  ecx, 0x10ffffff
-
 
1709
    mov  edx, m_text
-
 
Line -... Line 1521...
-
 
1521
	mcall	8,,,,[wcolor]	; M BUTTON
Line -... Line 1522...
-
 
1522
 
Line 1710... Line 1523...
1710
    mov  esi, 4
1523
;	cmp	[graph_text], 1
1711
    int  0x40
-
 
Line 1712... Line -...
1712
 
-
 
1713
    popa
-
 
1714
    ret
1524
;	jne	no_mtext
1715
 
-
 
Line 1716... Line -...
1716
  no_mtext:
-
 
1717
 
-
 
1718
 
1525
 
Line -... Line 1526...
-
 
1526
	push	ebx
1719
 
1527
	mcall	13,<12,44>,<1,17>,0x383838
Line 1720... Line 1528...
1720
    mov  eax,[wcolor]
1528
 
1721
    mov  [m_icon+4],eax
1529
	mcall	,<56,1>,<2,15>
Line 1722... Line -...
1722
 
-
 
1723
; load & display menuet.bmp
-
 
1724
	mov	eax, 70
-
 
1725
	mov	ebx, m_bmp_fileinfo
-
 
1726
	int	0x40
1530
 
1727
 
-
 
Line 1728... Line -...
1728
    mov  eax,40
-
 
1729
    mov  ebx,0
-
 
1730
    mov  edi,image+53
-
 
1731
 
-
 
1732
   new_m_pix:
-
 
1733
 
-
 
1734
;    movzx ecx,byte [edi]
-
 
1735
;    shr  ecx,5
-
 
1736
 
-
 
1737
    cmp    byte [edi], 10
-
 
1738
    jb	   nopix
-
 
1739
    cmp    byte [edi+1], 10
-
 
1740
    jb	   nopix
1531
	mcall	,<57,1>,<4,11>
-
 
1532
 
-
 
1533
	mcall	,<58,1>,<6,7>
-
 
1534
 
-
 
1535
	mcall	,<13,43>,<2,15>,0x7700
-
 
1536
 
-
 
1537
	mcall	,<56,1>,<4,11>
-
 
1538
 
-
 
1539
	mcall	,<57,1>,<6,7>
-
 
1540
	pop	ebx
-
 
1541
 
-
 
1542
	mov	bx,  7
-
 
1543
	add	ebx, 8*65536
-
 
1544
 
-
 
1545
	mcall	4,,0x10ffffff,m_text,4
-
 
1546
 
-
 
1547
	popa
-
 
1548
	ret
-
 
1549
;--------------------------------------
-
 
1550
;align 4
-
 
1551
;no_mtext:
-
 
1552
;	mov	eax,[wcolor]
-
 
1553
;	mov	[m_icon+4],eax
-
 
1554
;; load & display menuet.bmp
-
 
1555
;	mcall	70,m_bmp_fileinfo
-
 
1556
 
-
 
1557
;	mov	eax,40
-
 
1558
;	mov	ebx,0
-
 
1559
;	mov	edi,image+53
-
 
1560
;--------------------------------------
-
 
1561
;align 4
-
 
1562
;new_m_pix:
-
 
1563
;	cmp	byte [edi], 10
-
 
1564
;	jb	nopix
-
 
1565
 
-
 
1566
;	cmp	byte [edi+1], 10
-
 
1567
;	jb	nopix
Line -... Line 1568...
-
 
1568
 
-
 
1569
;	cmp	byte [edi+2], 10
-
 
1570
;	jb	nopix
1741
    cmp    byte [edi+2], 10
1571
 
1742
    jb	   nopix
-
 
1743
 
1572
;	pusha
1744
    pusha
1573
;	cmp	[minimize_left],0
1745
    cmp  [minimize_left],0
1574
;	jne	no_m_s2
1746
    jne  no_m_s2
1575
 
1747
    sub  ebx,10
1576
;	sub	ebx,10
1748
  no_m_s2:
1577
;--------------------------------------
1749
;    mov  edx,[ecx*4+m_icon]
1578
;align 4
1750
    mov  edx,[edi+1]
1579
;no_m_s2:
-
 
1580
;	mov	edx,[edi+1]
1751
 
1581
;	mov	ecx,eax
1752
    mov  ecx,eax
1582
;	add	ebx,12
1753
    mov  eax,1
-
 
1754
    add  ebx,12
1583
;	mcall	1	; point - WTF???!!!
1755
    int  0x40
1584
 
-
 
1585
;	popa
-
 
1586
;--------------------------------------
-
 
1587
;align 4
-
 
1588
;nopix:
Line -... Line 1589...
-
 
1589
;	add	edi,3
-
 
1590
;	add	ebx,1
Line 1756... Line -...
1756
    popa
-
 
1757
 
-
 
1758
   nopix:
-
 
1759
 
-
 
1760
    add  edi,3
-
 
1761
    add  ebx,1
-
 
1762
    cmp  ebx,40
-
 
1763
    jnz  new_m_pix
1591
;	cmp	ebx,40
1764
 
1592
;	jnz	new_m_pix
-
 
1593
 
1765
    mov  ebx,0
1594
;	mov	ebx,0
1766
    dec  eax
1595
;	dec	eax
1767
    jnz  new_m_pix
-
 
1768
 
1596
;	jnz	new_m_pix
1769
  no_menu:
1597
;--------------------------------------
1770
 
1598
align 4
-
 
1599
no_menu:
1771
    popa
1600
	popa
1772
    ret
-
 
1773
 
1601
	ret
1774
 
1602
;------------------------------------------------------------------------------	
1775
draw_program_icons:
1603
;align 4
1776
 
1604
;draw_program_icons:
1777
    pusha
1605
;	pusha
1778
 
1606
 
1779
    cmp  [icons],0
1607
;	cmp	[icons],0
1780
    jne  dp_ret
1608
;	jne	dp_ret
1781
 
1609
 
1782
    mov  edi,1
1610
;	mov	edi,1
1783
    push edi
1611
;	push	edi
1784
 
-
 
1785
  new_icon_file:
-
 
1786
 
-
 
1787
    pusha
-
 
1788
    mov  edx,[esp+32]
-
 
1789
    add  edx,10
1612
;--------------------------------------
1790
    push edx
-
 
1791
    mov  esi,[wcolor]
-
 
1792
    mov  ecx,1*65536
1613
;align 4
1793
    add  ecx,[b_size_y]
-
 
1794
    dec  ecx
1614
;new_icon_file:
1795
    mov  eax,edi
-
 
1796
    dec  eax
-
 
1797
    imul eax,40
-
 
1798
    mov  ebx,eax
-
 
1799
    add  ebx,[icons_position]
-
 
1800
    shl  ebx,16
-
 
1801
    mov  bx,39
-
 
1802
    pop  edx
-
 
1803
    add  edx,[button_frames]
-
 
1804
    or	 edx, 0x20000000
-
 
1805
    mov  eax,8
1615
;	pusha
1806
    int  0x40
-
 
1807
    popa
-
 
1808
 
-
 
1809
    mov  ecx,[esp]
-
 
1810
    add  ecx,48
-
 
1811
    mov  [iconf+6],cl
-
 
1812
 
-
 
1813
	mov	eax, 70
-
 
1814
	mov	ebx, iconf_fileinfo
-
 
1815
	int	0x40
-
 
1816
 
-
 
1817
    mov  eax,0
-
 
1818
    mov  ebx,32
-
 
1819
    mov  edi,image+51+32*33*3
-
 
1820
 
-
 
1821
   np2: 			    ; new pixel of file
-
 
1822
 
1616
;	mov	edx,[esp+32]
Line 1823... Line 1617...
1823
    mov  edx,[edi]
1617
;	add	edx,10
1824
    and  edx,0xffffff
-
 
1825
 
-
 
1826
    cmp  eax,3			    ; Y draw limits
1618
 
1827
    jb	 nopix2
-
 
1828
    cmp  eax,36
-
 
1829
    jg	 nopix2
1619
;	push	edx
Line 1830... Line -...
1830
    cmp  ebx,38 		    ; X draw limits
-
 
1831
    jg	 nopix2
1620
;	mov	ecx,1*65536
1832
    cmp  ebx,2
-
 
1833
    jb	 nopix2
-
 
1834
 
-
 
1835
    cmp  edx,0
-
 
1836
    jz	 nopix2
-
 
1837
 
-
 
Line -... Line 1621...
-
 
1621
;	add	ecx,[b_size_y]
-
 
1622
;	dec	ecx
-
 
1623
;	mov	eax,edi
-
 
1624
;	dec	eax
1838
    cmp  [graph_text],1
1625
;	imul	eax,40
-
 
1626
;	mov	ebx,eax
-
 
1627
;	add	ebx,[icons_position]
-
 
1628
;	shl	ebx,16
Line -... Line 1629...
-
 
1629
;	mov	bx,39
1839
    jne  no_icon_text
1630
;	pop	edx
Line -... Line 1631...
-
 
1631
 
1840
 
1632
;	add	edx,[button_frames]
Line 1841... Line -...
1841
    pusha
-
 
1842
 
-
 
1843
    mov  ebx,[esp+32]
-
 
1844
    dec  ebx
-
 
1845
    imul ebx,40
-
 
1846
    add  ebx,8
-
 
1847
    add  ebx,[icons_position]
-
 
1848
    shl  ebx,16
-
 
1849
    mov  bx,7
-
 
1850
 
-
 
1851
    mov  eax,4
1633
;	or	edx, 0x20000000
1852
    mov  ecx,0xffffff
-
 
1853
    mov  edx,[esp+32]
-
 
1854
    dec  edx
-
 
1855
    imul edx,4
1634
;	mcall	8,,,,[wcolor]
Line -... Line 1635...
-
 
1635
;	popa
1856
    add  edx,mi_text
1636
 
Line 1857... Line -...
1857
    mov  esi,4
-
 
1858
    int  0x40
-
 
1859
 
-
 
1860
    popa
-
 
1861
 
-
 
1862
    jmp  nopix2
-
 
1863
 
1637
;	mov	ecx,[esp]
1864
  no_icon_text:
1638
;	add	ecx,48
1865
 
-
 
1866
    mov  esi,[esp]
-
 
1867
    pusha
-
 
1868
    push edx
-
 
1869
    mov  ecx,eax
-
 
1870
    add  ecx,2
-
 
Line 1871... Line 1639...
1871
    mov  eax,esi
1639
;	mov	[iconf+6],cl
1872
    dec  eax
-
 
1873
    imul eax,40
-
 
1874
    add  ebx,eax
1640
 
1875
    add  ebx,3
-
 
1876
    add  ebx,[icons_position]
-
 
1877
    pop  edx
-
 
1878
    mov  eax,1
-
 
1879
    int  0x40
-
 
1880
    popa
-
 
1881
 
-
 
Line -... Line 1641...
-
 
1641
;	mcall	70,iconf_fileinfo
-
 
1642
 
1882
  nopix2:
1643
;	mov	eax,0
-
 
1644
;	mov	ebx,32
-
 
1645
;	mov	edi,image+51+32*33*3
-
 
1646
;--------------------------------------
-
 
1647
;align 4
-
 
1648
;np2: 			    ; new pixel of file
Line -... Line 1649...
-
 
1649
;	mov	edx,[edi]
-
 
1650
;	and	edx,0xffffff
-
 
1651
 
-
 
1652
;	cmp	eax,3		; Y draw limits
-
 
1653
;	jb	nopix2
1883
 
1654
 
-
 
1655
;	cmp	eax,36
-
 
1656
;	jg	nopix2
-
 
1657
 
-
 
1658
;	cmp	ebx,38		; X draw limits
-
 
1659
;	jg	nopix2
1884
    sub  edi,3
1660
 
Line -... Line 1661...
-
 
1661
;	cmp	ebx,2
-
 
1662
;	jb	nopix2
-
 
1663
 
-
 
1664
;	cmp	edx,0
-
 
1665
;	jz	nopix2
-
 
1666
 
-
 
1667
;	cmp	[graph_text],1
-
 
1668
;	jne	no_icon_text
-
 
1669
 
-
 
1670
;	pusha
Line -... Line 1671...
-
 
1671
;	mov	ebx,[esp+32]
-
 
1672
;	dec	ebx
-
 
1673
;	imul	ebx,40
-
 
1674
;	add	ebx,8
-
 
1675
;	add	ebx,[icons_position]
-
 
1676
;	shl	ebx,16
-
 
1677
;	mov	bx,7
-
 
1678
 
Line -... Line 1679...
-
 
1679
;	mov	edx,[esp+32]
-
 
1680
;	dec	edx
-
 
1681
;	imul	edx,4
-
 
1682
;	add	edx,mi_text
-
 
1683
;	mcall	4,,0xffffff,,4
-
 
1684
;	popa
-
 
1685
;	jmp  nopix2
-
 
1686
;--------------------------------------
-
 
1687
;align 4
-
 
1688
;no_icon_text:
-
 
1689
;	mov	esi,[esp]
-
 
1690
;	pusha
-
 
1691
	
-
 
1692
;	push	edx
-
 
1693
;	mov	ecx,eax
-
 
1694
;	add	ecx,2
-
 
1695
;	mov	eax,esi
-
 
1696
;	dec	eax
-
 
1697
;	imul	eax,40
-
 
1698
;	add	ebx,eax
-
 
1699
;	add	ebx,3
-
 
1700
;	add	ebx,[icons_position]
-
 
1701
;	pop	edx
-
 
1702
 
-
 
1703
;	mcall	1	; WTF???!!!
-
 
1704
;	popa
1885
    dec  ebx
1705
;--------------------------------------
1886
    jnz  np2
-
 
1887
 
1706
;align 4
1888
    mov  ebx,32
-
 
1889
    add  eax,1
1707
;nopix2:
1890
    cmp  eax,32
1708
;	sub	edi,3
Line 1891... Line 1709...
1891
    jnz  np2
1709
;	dec	ebx
1892
 
1710
;	jnz	np2
1893
    add  dword [esp],1
1711
 
-
 
1712
;	mov	ebx,32
1894
    mov  edi,[esp]
1713
;	add	eax,1
1895
    cmp  dword [esp],4
1714
;	cmp	eax,32
1896
    jbe  new_icon_file
-
 
1897
    add  esp,4
1715
;	jnz	np2
1898
 
1716
 
1899
    mov  eax,4
1717
;	add	dword [esp],1
1900
    mov  ebx,40
1718
;	mov	edi,[esp]
-
 
1719
;	cmp	dword [esp],4
1901
    imul ebx,3
1720
;	jbe	new_icon_file
Line 1902... Line 1721...
1902
    add  ebx,[icons_position]
1721
 
Line 1903... Line 1722...
1903
    add  ebx,10
1722
;	add	esp,4
1904
    shl  ebx,16
1723
 
1905
    mov  bx,23
1724
;	mov	ebx,40
1906
    mov  ecx,[wcolor]
1725
;	imul	ebx,3
1907
    mov  edx,gpl
1726
;	add	ebx,[icons_position]
1908
    mov  esi,3
1727
;	add	ebx,10
1909
    int  0x40
1728
;	shl	ebx,16
1910
 
1729
;	mov	bx,23
1911
  dp_ret:
1730
;	mcall	4,,[wcolor],gpl,3
-
 
1731
;--------------------------------------
1912
 
1732
;align 4
-
 
1733
;dp_ret:
-
 
1734
;	popa
1913
    popa
1735
;	ret
1914
    ret
1736
;------------------------------------------------------------------------------	
1915
 
1737
align 4
1916
 
1738
draw_info:    ; draw cpu usage, time, date
1917
 
1739
    pusha
1918
draw_info:    ; draw cpu usage, time, date
1740
	cmp	[setup_enable],1
1919
 
1741
	jne	no_setup
1920
    pusha
1742
 
1921
 
-
 
1922
    cmp  [setup_enable],1
-
 
1923
    jne  no_setup
-
 
1924
 
-
 
Line -... Line 1743...
-
 
1743
	cmp	[minimize_right],0
-
 
1744
	jne	no_m_r
-
 
1745
	add	[maxx],10
Line 1925... Line -...
1925
    cmp  [minimize_right],0
-
 
1926
    jne  no_m_r
-
 
1927
    add  [maxx],10
-
 
1928
 
-
 
1929
   no_m_r:
-
 
1930
 
-
 
1931
    mov  eax,3
-
 
1932
    int  0x40
-
 
1933
    cmp  eax,[ptime]
-
 
1934
    jz	 _ret
1746
;--------------------------------------
1935
    mov  [ptime],eax
1747
align 4
1936
 
1748
no_m_r:
1937
    call draw_cpu_usage
1749
	mov	eax,3
1938
 
1750
	mcall
1939
    mov  eax,[maxx]   ; blink sec
1751
	cmp	eax,[ptime]
1940
    sub  eax,33
1752
	jz	_ret
-
 
1753
 
1941
    shl  eax,16
1754
	mov	[ptime],eax
Line 1942... Line 1755...
1942
    mov  ebx,eax
1755
 
1943
    add  ebx,9
1756
   	call	draw_cpu_usage
1944
    mov  eax,3
1757
 
1945
    int  0x40
1758
	mov	eax,[maxx]   ; blink sec
Line 1946... Line -...
1946
    cmp  [graph_text],1
-
 
1947
    jne  no_y4
1759
	sub	eax,33
1948
    sub  bx,2
1760
	shl	eax,16
1949
  no_y4:
-
 
1950
    mov  ecx,eax
1761
	mov	ebx,eax
1951
    shr  ecx,16
1762
	add	ebx,9
1952
    and  ecx,1
-
 
1953
    mov  edx,[bte]
1763
	mcall	3
1954
    sub  edx,time_bgr_color;[wcolor]
1764
 
1955
    imul ecx,edx
1765
	cmp	[graph_text],1
1956
    add  ecx,time_bgr_color;[wcolor]
1766
	jne	no_y4
Line 1957... Line -...
1957
    mov  edx,sec
-
 
1958
    mov  eax,4
1767
 
1959
    mov  esi,1
1768
	sub	bx,2
1960
    int  0x40
1769
;--------------------------------------
1961
 
1770
align 4
1962
 
-
 
-
 
1771
no_y4:
1963
;    mov  eax,26          ; check for change in time or country
1772
	mov	ecx,eax
1964
;    mov  ebx,5
-
 
1965
;    int  0x40
1773
	shr	ecx,16
1966
;    mov  edx,eax
1774
	and	ecx,1
1967
    mov  eax,26
1775
	mov	edx,[bte]
1968
    mov  ebx,2
1776
	sub	edx,time_bgr_color;[wcolor]
1969
    mov  ecx,9
1777
	imul	ecx,edx
1970
    int  0x40
1778
	add	ecx,time_bgr_color;[wcolor]
1971
;    add  edx,eax
1779
 
1972
    mov  edx,eax
1780
	mcall	4,,,sec,1
-
 
1781
 
1973
    mov  eax,3
1782
	mcall	26,2,9
1974
    int  0x40
1783
 
1975
    and  eax,0xffff
1784
	mov	edx,eax
1976
    add  edx,eax
1785
	mcall	3
-
 
1786
 
1977
    cmp  edx,[checks]
1787
	and	eax,0xffff
1978
    je	 _ret
1788
	add	edx,eax
1979
    mov  [checks],edx
1789
	cmp	edx,[checks]
-
 
1790
	je	_ret
1980
 
1791
 
1981
    mov  ebx,[maxx]
1792
	mov	[checks],edx
1982
    sub  ebx,48 ;;94 ;;74
1793
 
1983
    shl  ebx,16
1794
	mov	ebx,[maxx]
1984
    add  ebx,33 ;;84 ;;64
-
 
1985
 
-
 
1986
    mov  eax,8		     ; time/date button
-
 
1987
    mov  ecx,3 *65536
1795
	sub	ebx,48 ;;94 ;;74
1988
    add  ecx,[b_size_y]
-
 
Line -... Line 1796...
-
 
1796
	shl	ebx,16
1989
;    dec  ecx
1797
	add	ebx,33 ;;84 ;;64
-
 
1798
 
Line 1990... Line 1799...
1990
    sub  cx,5
1799
	mov	ecx,3 *65536
1991
    mov  edx,0x40000002
-
 
1992
    mov  esi,[wcolor]
-
 
1993
    int  0x40
-
 
Line 1994... Line -...
1994
    and  edx,0xffff
-
 
1995
    add  edx,[button_frames]
-
 
1996
    int  0x40
-
 
1997
 
-
 
1998
    mov  eax,8                 ;other tray buttons
-
 
1999
    mov  ebx,[maxx]
-
 
2000
    sub  ebx,77 ;80
-
 
2001
    shl  ebx,16
-
 
2002
    add  ebx,14
1800
	add	ecx,[b_size_y]
Line 2003... Line 1801...
2003
    mov  ecx,4 shl 16+12
1801
	sub	cx,5
2004
    mov  edx,16+0x40000000+0x20000000  ;button 16
1802
	mcall	8,,,0x40000002,[wcolor]	; time/date button
2005
    mov  esi,[wcolor]
1803
 
Line 2006... Line 1804...
2006
    int  0x40
1804
	and	edx,0xffff
-
 
1805
	add	edx,[button_frames]
2007
    sub  ebx,17 shl 16
1806
	mcall
Line 2008... Line 1807...
2008
    inc  edx		    ;button 17
1807
 
2009
;    int  0x40
1808
	mov	ebx,[maxx]
2010
    add  ebx,33 shl 16
1809
	sub	ebx,77 ;80
2011
    mov  bx,8
1810
	shl	ebx,16
2012
    inc  edx		    ;button 18
-
 
2013
    int  0x40
1811
	add	ebx,14
2014
    sub  ebx,30 shl 16
1812
 
2015
    mov  bx,10
1813
	mcall	,,<4,12>,0x60000010,[wcolor]	;button 16
2016
    inc  edx		    ;button 19
1814
 
2017
    int  0x40
1815
	sub	ebx,17 shl 16
2018
    sub  ebx,14 shl 16
-
 
2019
    inc  edx		    ;button 20
1816
	inc	edx		    ;button 17
2020
    int  0x40
1817
 
2021
    sub  ebx,12 shl 16
1818
	add	ebx,33 shl 16
2022
    mov  bx,8
1819
	mov	bx,8
2023
    mov  ecx,6 shl 16+10
-
 
2024
    inc  edx	    ;button 21
1820
	inc	edx		    ;button 18
2025
    int  0x40
1821
	mcall
2026
    sub  ebx,24 shl 16	; << Alver 25.08.2007 >> 18 shl 16
1822
 
2027
    inc  edx	    ;button 22
1823
	sub	ebx,30 shl 16
2028
    int  0x40
-
 
2029
 
1824
	mov	bx,10
-
 
1825
	inc	edx		    ;button 19
2030
 
1826
	mcall
2031
    ; flags
-
 
2032
 
1827
 
-
 
1828
	sub	ebx,14 shl 16
2033
;   mov  eax,26
1829
	inc	edx		    ;button 20
2034
;   mov  ebx,5
1830
	mcall
2035
;   int  0x40
-
 
Line 2036... Line -...
2036
;   mov  ebx,eax
-
 
2037
 
-
 
2038
;   mov  eax,2
1831
 
2039
;   mov  [type_lang],al
1832
	sub	ebx,12 shl 16
Line 2040... Line 1833...
2040
;   call draw_flag
1833
	mov	bx,8
2041
 
1834
	mov	ecx,6 shl 16+10
2042
    mov  eax,26
1835
	inc	edx	    ;button 21
2043
    mov  ebx,2
1836
	mcall
2044
    mov  ecx,9
1837
 
2045
    int  0x40
1838
	sub	ebx,24 shl 16
2046
    mov  ebx,eax
-
 
2047
 
1839
	inc	edx	    ;button 22
2048
    mov  eax,2
-
 
2049
    mov  [type_lang],al
1840
	mcall
2050
    call draw_flag
1841
 
2051
 
1842
	mcall	26,2,9
2052
    mcall 18,8,1
1843
 
-
 
1844
	mov	ebx,eax
2053
    mov  [sound_flag],al
1845
 
2054
 
1846
	mov	eax,2
-
 
1847
	mov	[type_lang],al
2055
    mov  ebx,[maxx]
1848
   	call	draw_flag
2056
    sub  ebx,92 ;109 ;112 ;28
1849
 
2057
    shl  ebx,16
1850
	mcall	18,8,1
-
 
1851
 
2058
    mov  bx,12
1852
	mov	[sound_flag],al
2059
    mov  ecx, 4*65536+13
1853
 
2060
    mov  edx,0
-
 
2061
    mov  eax,13
1854
	mov	ebx,[maxx]
2062
    int  0x40
1855
	sub	ebx,92 ;109 ;112 ;28
2063
    add  ebx,1 shl 16
1856
	shl	ebx,16
2064
    sub  bx,2
1857
	mov	bx,12
2065
    mov  ecx,5 shl 16+11
-
 
2066
    mov  edx,0xcc
1858
	xor	edx,edx
2067
    int  0x40
1859
	mcall	13,,<4,13>
2068
    add  ebx,1 shl 16
1860
 
2069
    mov  bx,5
1861
	add	ebx,1 shl 16
2070
    mov  ecx,8 shl 16+5
1862
	sub	bx,2
2071
    mov  edx,0xdddd00
-
 
2072
    int  0x40
1863
	mcall	,,<5,11>,0xcc
2073
    add  ebx,5 shl 16
1864
 
2074
    mov  bx,1
-
 
2075
    mov  ecx,7 shl 16+7
1865
	add	ebx,1 shl 16
2076
    int  0x40
1866
	mov	bx,5
2077
    add  ebx,1 shl 16
1867
	mcall	,,<8,5>,0xdddd00
2078
    mov  ecx,6 shl 16+9
1868
 
2079
    int  0x40
-
 
-
 
1869
	add	ebx,5 shl 16
2080
    add  ebx,1 shl 16
1870
	mov	bx,1
2081
    mov  ecx,5 shl 16+11
-
 
2082
    int  0x40
1871
	mcall	,,<7,7>
2083
 
1872
 
2084
;    cmp  [music_type],0
1873
	add	ebx,1 shl 16
Line 2085... Line -...
2085
;    jne   dalshe
-
 
2086
    cmp  [sound_flag],0
-
 
2087
    je	 dalshe
1874
	mcall	,,<6,9>
2088
 
1875
 
2089
    sub  ebx,8 shl 16
1876
	add	ebx,1 shl 16
2090
    ror  ebx,16
1877
	mcall	,,<5,11>
2091
    mov  cx,bx
-
 
2092
    rol  ebx,16
1878
 
2093
    mov  bx,cx
-
 
2094
    add  bx,8
1879
	cmp	[sound_flag],0
2095
    mov  ecx,5 shl 16+15
1880
	je	dalshe
2096
    mov  edx,0xff0000
-
 
2097
    mov  eax,38
1881
 
2098
    int  0x40
1882
	sub	ebx,8 shl 16
-
 
1883
	ror	ebx,16
2099
    add  ebx,1 shl 16
1884
	mov	cx,bx
2100
    inc  bx
-
 
2101
    int  0x40
1885
	rol	ebx,16
2102
    rol  ecx,16
-
 
2103
    int  0x40
1886
	mov	bx,cx
2104
    sub  ebx,1 shl 16
1887
	add	bx,8
2105
    dec  bx
-
 
2106
    int  0x40
-
 
2107
 
1888
	mcall	38,,<5,15>,0xff0000
2108
dalshe:
1889
 
2109
 
-
 
Line 2110... Line -...
2110
    mov  ebx,[maxx]
-
 
2111
    sub  ebx,106;123
-
 
2112
    shl  ebx,16
1890
	add	ebx,1 shl 16
2113
    mov  bx,12
-
 
2114
    mov  ecx, 4*65536+13
-
 
2115
    mov  edx,0
1891
	inc	bx
2116
    mov  eax,13
-
 
2117
    int  0x40
1892
	mcall
2118
    add  ebx,1 shl 16
1893
 
2119
    sub  bx,2
1894
	rol	ecx,16
2120
    mov  ecx,5 shl 16+11
1895
	mcall
2121
    mov  edx,0xffcc00
1896
 
2122
    int  0x40
1897
	sub	ebx,1 shl 16
Line 2123... Line -...
2123
    mov  eax,4
-
 
2124
    mov  ebx,[maxx]
-
 
2125
    sub  ebx,104;121
-
 
2126
    shl  ebx,16
1898
	dec	bx
2127
    mov  bx,7
1899
	mcall
2128
    mov  ecx,0x10000000
1900
;--------------------------------------
2129
    mov  edx,file_sys
1901
align 4
2130
    mov  esi,1
1902
dalshe:
2131
    int  0x40
-
 
2132
    add  ebx,1 shl 16
-
 
2133
    int  0x40
-
 
2134
 
-
 
2135
    mov  edx,0
-
 
2136
    mov  eax,13
-
 
Line 2137... Line -...
2137
    mov  ebx,[maxx]
-
 
2138
    sub  ebx,117;134
-
 
2139
    shl  ebx,16
-
 
2140
    mov  bx,9
-
 
2141
    mov  ecx,6 shl 16+11
-
 
2142
    int  0x40
-
 
2143
; // Alver 25.08.2007 // {
-
 
2144
  ;  sub  ebx,18 shl 16
-
 
2145
  ;  int  0x40
-
 
2146
  ;  add  ebx,19 shl 16
-
 
2147
    sub  ebx,24 shl 16 ; 18 shl 16
-
 
2148
    int  0x40
-
 
2149
    add  ebx,25 shl 16 ; 19 shl 16
-
 
2150
; } \\ Alver \\
-
 
2151
    sub  bx,2
-
 
2152
    mov  ecx,7 shl 16+9
-
 
2153
    mov  edx,0xffffff
-
 
2154
    int  0x40
-
 
2155
; // Alver 25.08.2007 // {
-
 
2156
 ;   sub  ebx,18 shl 16
-
 
2157
    sub  ebx,24 shl 16
-
 
2158
; } \\ Alver \\
-
 
2159
    int  0x40
-
 
2160
 
-
 
2161
    mov  eax,4
-
 
2162
    mov  edx,page_a1
-
 
2163
    mov  ebx,[maxx]
-
 
2164
; // Alver 25.08.2007 // {
-
 
2165
   ; sub  ebx,133;150
-
 
2166
    sub  ebx, 139
-
 
2167
; } \\ Alver \\
-
 
2168
    shl  ebx,16
-
 
2169
    mov  bx,8
-
 
2170
    mov  esi,5	   ;4
-
 
2171
    int  0x40
-
 
2172
    add  ebx,1 shl 16
-
 
2173
    int  0x40
-
 
2174
 
-
 
2175
    mov  eax,47
-
 
2176
    mov  ebx,0x20000  ; 0x10100 (
1903
	mov	ebx,[maxx]
2177
    mov  ecx,[page_list]
-
 
Line 2178... Line 1904...
2178
    mov  edx,[maxx]
1904
	sub	ebx,106;123
2179
    sub  edx,130 ; 124 (
1905
	shl	ebx,16
2180
    shl  edx,16
1906
	mov	bx,12
2181
    mov  dx,7
1907
	xor	edx,edx
2182
    mov  esi,0xffffff
1908
	mcall	13,,<4,13>
2183
    int  0x40
-
 
2184
 
1909
 
2185
;    sub  ebx,14 shl 16
-
 
2186
;    mov  bx,7
1910
	add	ebx,1 shl 16
2187
;    mov  edx,turn_text
1911
	sub	bx,2
Line 2188... Line 1912...
2188
;    mov  esi,1
1912
	mcall	,,<5,11>,0xffcc00
2189
 
1913
 
Line 2248... Line 1972...
2248
 
1972
 
Line 2249... Line 1973...
2249
    mov  ecx,[bte]
1973
	mov	ecx,[bte]
2250
 
1974
 
-
 
1975
	cmp	[graph_text],1
2251
    cmp  [graph_text],1
1976
	jne	no_y3
2252
    jne  no_y3
1977
 
-
 
1978
	sub	bx,2
2253
    sub  bx,2
1979
;--------------------------------------
2254
;    mov  ecx,0xffffff
-
 
2255
  no_y3:
-
 
2256
  
1980
align 4
2257
mov  ecx,0xffffff
1981
no_y3:
2258
    mov  edx,[esp]	       ; __:_X
-
 
2259
    and  edx,15
1982
	mov	edx,[esp]	       ; __:_X
2260
    mov  eax,4
1983
	and	edx,15
2261
    add  ebx,10*65536
-
 
2262
    add  edx,text
-
 
2263
    mov  esi,1
1984
	add	ebx,10*65536
-
 
1985
	add	edx,text
2264
    int  0x40
1986
	mcall	4,,0xffffff,,1
2265
mov  ecx,0xffffff
1987
 
2266
    pop  edx			; __:X_
1988
	pop	edx			; __:X_
2267
    shr  edx,4
-
 
2268
    and  edx,15
1989
	shr	edx,4
2269
    mov  eax,4
1990
	and	edx,15
2270
    sub  ebx,6*65536
1991
	sub	ebx,6*65536
2271
    add  edx,text
1992
	add	edx,text
2272
    mov  esi,1
-
 
2273
    int  0x40
1993
	mcall	
2274
mov  ecx,0xffffff
1994
 
2275
    mov  edx,[esp]	       ; _X:__
-
 
2276
    and  edx,15
1995
	mov	edx,[esp]	       ; _X:__
2277
    mov  eax,4
1996
	and	edx,15
2278
    sub  ebx,11*65536
1997
	sub	ebx,11*65536
2279
    add  edx,text
1998
	add	edx,text
2280
    mov  esi,1
-
 
2281
    int  0x40
1999
	mcall
2282
mov  ecx,0xffffff
2000
 
2283
    pop  edx			; X_:__
2001
	pop	edx			; X_:__
2284
    shr  edx,4
-
 
2285
    and  edx,15
2002
	shr	edx,4
2286
    mov  eax,4
2003
	and	edx,15
2287
    sub  ebx,6*65536
2004
	sub	ebx,6*65536
2288
    add  edx,text
-
 
Line 2289... Line 2005...
2289
    mov  esi,1
2005
	add	edx,text
-
 
2006
	mcall
2290
    int  0x40
2007
 
2291
 
2008
   	call	draw_cpu_usage
2292
    call draw_cpu_usage
-
 
2293
 
2009
;--------------------------------------
2294
  _ret:
2010
align 4
-
 
2011
_ret:
2295
 
2012
	cmp	[minimize_right],0
-
 
2013
	jne	no_m_r2
-
 
2014
 
2296
    cmp  [minimize_right],0
2015
	sub	[maxx],10
2297
    jne  no_m_r2
-
 
2298
    sub  [maxx],10
2016
;--------------------------------------
2299
   no_m_r2:
-
 
2300
 
2017
align 4
2301
   no_setup:
2018
no_m_r2:
2302
 
-
 
2303
    popa
-
 
-
 
2019
no_setup:
2304
    ret
2020
	popa
2305
 
2021
	ret
2306
 
-
 
2307
 
2022
;------------------------------------------------------------------------------	
2308
draw_cpu_usage:
-
 
2309
 
2023
align 4
2310
    pushad
2024
draw_cpu_usage:
2311
 
2025
	pushad
-
 
2026
	mov	[ysi],30
2312
    mov  [ysi],30
2027
	cmp	[graph_text],1
-
 
2028
	jne	@f
-
 
2029
 
2313
    cmp  [graph_text],1
2030
	mov	[ysi],12
-
 
2031
;--------------------------------------
Line 2314... Line -...
2314
    jne  @f
-
 
2315
    mov  [ysi],12
-
 
2316
  @@:
-
 
2317
 
-
 
2318
 
2032
align 4
2319
    mov  eax,18    ; TSC / SEC
2033
@@:
2320
    mov  ebx,5
2034
	mcall	18,5	; TSC / SEC
2321
    int  0x40
-
 
2322
    shr  eax,20
2035
 
2323
    push eax
2036
	shr	eax,20
2324
    mov  eax,18    ; IDLE / SEC
2037
	push	eax
2325
    mov  ebx,4
2038
	mcall	18,4	; IDLE / SEC
2326
    int  0x40
-
 
2327
    shr  eax,20
2039
 
2328
    xor  edx,edx
2040
	shr	eax,20
2329
    imul eax,[ysi]
2041
	xor	edx,edx
2330
 
2042
	imul	eax,[ysi]
2331
    cdq
2043
	cdq
2332
    pop  ebx
2044
	pop	ebx
-
 
2045
	inc	ebx
2333
    inc  ebx
2046
	div	ebx
-
 
2047
	cmp	eax,[ysi]
-
 
2048
	jng	no_bug
2334
    div  ebx
2049
 
2335
    cmp  eax,[ysi]
2050
	mov	eax,[ysi]
Line 2336... Line -...
2336
    jng  no_bug
-
 
2337
    mov  eax,[ysi]
2051
;--------------------------------------
2338
no_bug:
2052
align 4
2339
    push eax
2053
no_bug:
2340
 
2054
	push	eax
2341
    mov  eax,13
2055
 
2342
    mov  ebx,[maxx]
2056
	mov	ebx,[maxx]
2343
    sub  ebx,60
2057
	sub	ebx,60
2344
    shl  ebx,16
-
 
Line 2345... Line 2058...
2345
    add  ebx,8
2058
	shl	ebx,16
2346
    mov  ecx,5 shl 16
2059
	add	ebx,8
2347
    add  ecx,[ysi]
2060
	mov	ecx,5 shl 16
2348
    mov  edx,0xdd2222
2061
	add	ecx,[ysi]
2349
    int  0x40
2062
	mcall	13,,,0xdd2222
2350
 
-
 
Line 2351... Line 2063...
2351
    pop  eax
2063
 
2352
    mov  ecx,5 shl 16
2064
	pop	eax
2353
    add  ecx,eax
-
 
-
 
2065
	mov	ecx,5 shl 16
2354
    mov  eax,13
2066
	add	ecx,eax
2355
    mov  edx,0x44aa44
2067
	mov	eax,13
-
 
2068
	mcall	13,,,0x44aa44
2356
    int  0x40
2069
 
2357
 
2070
	popad
2358
    popad
-
 
2359
    ret
2071
	ret
2360
 
2072
;------------------------------------------------------------------------------	
2361
;;;include 'detect.asm'
2073
align 4
2362
include 'ctx_menu.asm'
2074
include 'ctx_menu.asm'
2363
 
2075
;------------------------------------------------------------------------------	
Line 2392... Line 2104...
2392
mi_text   db   'WAVETETRBGRDGPL '
2104
mi_text		db 'WAVETETRBGRDGPL '
Line 2393... Line 2105...
2393
 
2105
 
Line 2394... Line 2106...
2394
flag_text db 'EnFiGeRuFrEtUa'
2106
flag_text	db 'EnFiGeRuFrEtUa'
2395
 
-
 
-
 
2107
 
2396
type_lang db 0
2108
type_lang	db 0
2397
;music_type db 1
2109
 
Line 2398... Line 2110...
2398
sound_flag db 0
2110
sound_flag	db 0
2399
button_frames  dd  0x0
2111
button_frames	dd 0x0
Line 2423... Line 2135...
2423
small_draw dd 0x0
2135
small_draw	dd 0x0
Line 2424... Line 2136...
2424
 
2136
 
2425
ptime	dd 0x0
2137
ptime		dd 0x0
2426
maxx	dd 0x0
2138
maxx		dd 0x0
2427
text	db '0123456789'
-
 
2428
; // Alver 25.08.2007 // {
-
 
-
 
2139
text		db '0123456789'
2429
;page_a1 db '<  >'
2140
 
2430
page_a1        db '<   >'
2141
page_a1		db '<   >'
2431
page_clean_but db 25,24,18
2142
page_clean_but	db 25,24,18
2432
; } \\ Alver \\
2143
 
Line 2433... Line 2144...
2433
bte	dd 0xccddee
2144
bte	dd 0xccddee
Line 2434... Line 2145...
2434
 
2145
 
Line 2442... Line 2153...
2442
stcount     dd	0x0
2153
stcount     dd	0x0
Line 2443... Line 2154...
2443
 
2154
 
2444
setup_exec:
2155
setup_exec:
2445
	dd	7
2156
		dd 7
2446
	dd	0
2157
		dd 0
2447
.cmdline dd	?
2158
.cmdline	dd 0
2448
	dd	0
2159
		dd 0
2449
	dd	0
2160
		dd 0
2450
	db	'/sys/'
2161
		db '/sys/'
Line 2455... Line 2166...
2455
	dd	0
2166
	dd 0
2456
	dd	0
2167
	dd 0
2457
	dd	0
2168
	dd 0
2458
	dd	0
2169
	dd 0
2459
	db	0
2170
	db 0
2460
.name	dd	?
2171
.name	dd 0
Line 2461... Line 2172...
2461
 
2172
 
2462
end_name	db	'/sys/END',0
2173
end_name	db '/sys/END',0
2463
menu_name	db	'/sys/@MENU',0
2174
menu_name	db '/sys/@MENU',0
2464
calendar_name	db	'/sys/CALENDAR',0
2175
calendar_name	db '/sys/CALENDAR',0
Line 2471... Line 2182...
2471
	dd	0
2182
	dd 0
2472
	dd	1024
2183
	dd 1024
2473
	dd	I_END
2184
	dd I_END
2474
	db	'/sys/PANEL.DAT',0
2185
	db '/sys/PANEL.DAT',0
Line 2475... Line 2186...
2475
 
2186
 
2476
m_bmp_fileinfo:
2187
;m_bmp_fileinfo:
2477
	dd	0
2188
;	dd 0
2478
	dd	0
2189
;	dd 0
2479
	dd	0
2190
;	dd 0
2480
	dd	8192
2191
;	dd 8192
2481
	dd	image
2192
;	dd image
-
 
2193
;	db '/sys/MENUET.BMP',0
-
 
2194
 
-
 
2195
;iconf_fileinfo:
-
 
2196
;	dd 0
-
 
2197
;	dd 0
-
 
2198
;	dd 0
-
 
2199
;	dd 8192
-
 
2200
;	dd image
-
 
2201
;	db '/sys/'
Line 2482... Line 2202...
2482
	db	'/sys/MENUET.BMP',0
2202
;iconf	db 'MBAR_IX.BMP',0
2483
 
2203
 
-
 
2204
this_slot	dd 0	      ; Slot of this process
2484
iconf_fileinfo:
2205
max_slot	dd 255
-
 
2206
;------------------------------------------------------------------------------	
2485
	dd	0
2207
IM_END:
2486
	dd	0
2208
;------------------------------------------------------------------------------	
2487
	dd	0
2209
align 4
2488
	dd	8192
2210
last_active_window	rd 1
2489
	dd	image
2211
prev_active_window	rd 1
Line 2490... Line 2212...
2490
	db	'/sys/'
2212
active_window_changed	rd 1
Line 2491... Line 2213...
2491
iconf	db	'MBAR_IX.BMP',0
2213
app_tab_count		rd 1
2492
 
-
 
2493
I_END:
2214
 
Line -... Line 2215...
-
 
2215
alt_tab_list_size	rd 1
-
 
2216
 
-
 
2217
panel_x_pos	rd	1
2494
 
2218
panel_y_pos	rd	1
2495
screen_size:
2219
 
2496
  .height dw ?
2220
screen_size:
-
 
2221
.height	rw 1
-
 
2222
.width	rw 1
2497
  .width  dw ?
2223
;------------------------------------------------------------------------------	
-
 
2224
align 4
-
 
2225
system_colours	system_colors ; rd 10
2498
 
2226
;------------------------------------------------------------------------------	
-
 
2227
align 4
2499
this_slot      dd 0	      ; Slot of this process
2228
app_list	rd 50
2500
max_slot       dd 255
2229
;------------------------------------------------------------------------------	
-
 
2230
align 4
-
 
2231
alt_tab_list	rd 256*2
-
 
2232
;------------------------------------------------------------------------------	
2501
system_colours	system_colors ; rd 10
2233
align 4
-
 
2234
process_info_buffer:
-
 
2235
	rb 1024
-
 
2236
;------------------------------------------------------------------------------	
-
 
2237
align 4
-
 
2238
procinfo_for_detect:
-
 
2239
	rb 1024
-
 
2240
;------------------------------------------------------------------------------	
2502
app_list rd 50
2241
align 4
2503
alt_tab_list	rd	256*2
2242
procinfo_window_tabs:
-
 
2243
	rb 1024
2504
alt_tab_list_size dd	?
2244
;-----------------------------------------------------------------------------
2505
process_info_buffer  rb 1024
2245
align 4
2506
procinfo_for_detect  rb 1024
2246
tictable:
-
 
2247
	rd 256
-
 
2248
;------------------------------------------------------------------------------	
2507
tictable:
2249
align 4
2508
  rd 256
2250
	rb 256
2509
 
-
 
2510
	rb	256
-
 
2511
detect_stack:
-
 
2512
	rb	256
-
 
2513
ctx_menu_stack:
-
 
2514
 
-
 
2515
panel_x_pos	rd	1
-
 
2516
panel_y_pos	rd	1
-
 
2517
 
-
 
2518
last_active_window	dd	0
-
 
2519
prev_active_window	dd	0
2251
detect_stack:
-
 
2252
;------------------------------------------------------------------------------	
-
 
2253
align 4
-
 
2254
	rb 256
-
 
2255
ctx_menu_stack:
-
 
2256
;------------------------------------------------------------------------------
-
 
2257
align 4
-
 
2258
	rb 0x1000
-
 
2259
stack_top:
-
 
2260
;------------------------------------------------------------------------------	
2520
active_window_changed	dd	0
2261
;align 4