Subversion Repositories Kolibri OS

Rev

Rev 3377 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3377 Rev 3446
1
;=============================================================================
1
;=============================================================================
2
; Kolibri Graphics Benchmark 0.6
2
; Kolibri Graphics Benchmark 0.7
3
;--------------------------------------
3
;--------------------------------------
4
; MGB - Menuet Graphics Benchmark 0.3
4
; MGB - Menuet Graphics Benchmark 0.3
5
; Compile with FASM
5
; Compile with FASM
6
;
6
;
7
;=============================================================================
7
;=============================================================================
-
 
8
; version:	0.7
-
 
9
; last update:  05/04/2013
-
 
10
; written by:   Marat Zakiyanov aka Mario79, aka Mario
-
 
11
; changes:      benchmark GS selector - read screen area
-
 
12
;---------------------------------------------------------------------
8
; version:	0.6
13
; version:	0.6
9
; last update:  14/03/2013
14
; last update:  14/03/2013
10
; written by:   Marat Zakiyanov aka Mario79, aka Mario
15
; written by:   Marat Zakiyanov aka Mario79, aka Mario
11
; changes:      benchmark f36 - read screen area
16
; changes:      benchmark f36 - read screen area
12
;---------------------------------------------------------------------
17
;---------------------------------------------------------------------
13
; version:	0.5
18
; version:	0.5
14
; last update:  05/03/2013
19
; last update:  05/03/2013
15
; written by:   Marat Zakiyanov aka Mario79, aka Mario
20
; written by:   Marat Zakiyanov aka Mario79, aka Mario
16
; changes:      benchmark f73-blitter
21
; changes:      benchmark f73-blitter
17
;---------------------------------------------------------------------
22
;---------------------------------------------------------------------
18
; version:	0.4
23
; version:	0.4
19
; last update:  18/09//2010
24
; last update:  18/09//2010
20
; written by:   Marat Zakiyanov aka Mario79, aka Mario
25
; written by:   Marat Zakiyanov aka Mario79, aka Mario
21
; changes:      select path with OpenDialog,
26
; changes:      select path with OpenDialog,
22
;               use of Box_Lib and Proc_Lib,
27
;               use of Box_Lib and Proc_Lib,
23
;               support start with path for *.mgb file
28
;               support start with path for *.mgb file
24
;               optimization code and size of use memory
29
;               optimization code and size of use memory
25
;---------------------------------------------------------------------
30
;---------------------------------------------------------------------
26
; Original author and copyrights holder:
31
; Original author and copyrights holder:
27
;     Mikhail Lisovin a.k.a. Mihasik
32
;     Mikhail Lisovin a.k.a. Mihasik
28
;     lisovin@26.ru
33
;     lisovin@26.ru
29
;
34
;
30
; Disassembled with IDA 5.0.0.879:
35
; Disassembled with IDA 5.0.0.879:
31
;     http://www.datarescue.com/
36
;     http://www.datarescue.com/
32
; With use of 'ida.int' and 'kloader.ldw':
37
; With use of 'ida.int' and 'kloader.ldw':
33
;     Eugene Grechnikov a.k.a. diamond
38
;     Eugene Grechnikov a.k.a. diamond
34
;     diamondz@land.ru
39
;     diamondz@land.ru
35
;     http://diamondz.land.ru/
40
;     http://diamondz.land.ru/
36
;
41
;
37
; Modified for version 0.3:
42
; Modified for version 0.3:
38
;     Mike Semenako a.k.a mike.dld
43
;     Mike Semenako a.k.a mike.dld
39
;     mike.dld@gmail.com
44
;     mike.dld@gmail.com
40
;     http://www.mikedld.com/
45
;     http://www.mikedld.com/
41
;
46
;
42
;=============================================================================
47
;=============================================================================
43
 
48
 
44
org 0x0
49
org 0x0
45
use32
50
use32
46
 
51
 
47
	db 'MENUET01'
52
	db 'MENUET01'
48
	dd 1
53
	dd 1
49
	dd start
54
	dd start
50
	dd IM_END
55
	dd IM_END
51
	dd I_END	;0x200000
56
	dd I_END	;0x200000
52
	dd stacktop	;0x07FFF0
57
	dd stacktop	;0x07FFF0
53
	dd fname_buf
58
	dd fname_buf
54
	dd cur_dir_path
59
	dd cur_dir_path
55
 
60
 
56
include '../../../config.inc'		;for nightbuild
61
include '../../../config.inc'		;for nightbuild
57
include '..\..\..\macros.inc'
62
include '..\..\..\macros.inc'
58
include '..\..\..\proc32.inc'
63
include '..\..\..\proc32.inc'
-
 
64
;include '..\..\..\debug.inc'
59
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
65
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
60
include '../../../develop/libraries/box_lib/load_lib.mac'
66
include '../../../develop/libraries/box_lib/load_lib.mac'
61
	@use_library
67
	@use_library
62
;---------------------------------------------------------------------
68
;---------------------------------------------------------------------
63
start:
69
start:
64
	mcall	68,11
70
	mcall	68,11
65
 
71
 
66
load_libraries l_libs_start,end_l_libs
72
load_libraries l_libs_start,end_l_libs
67
 
73
 
68
	cmp	eax,-1
74
	cmp	eax,-1
69
	jz	close
75
	jz	close
70
;---------------------------------------------------------------------
76
;---------------------------------------------------------------------
71
	mov	edi,filename_area
77
	mov	edi,filename_area
72
	mov	esi,start_temp_file_name
78
	mov	esi,start_temp_file_name
73
	call	copy_str_1
79
	call	copy_str_1
74
 
80
 
75
	mov	edi,comment_string_1
81
	mov	edi,comment_string_1
76
	mov	esi,aComment1
82
	mov	esi,aComment1
77
	call	copy_str_1
83
	call	copy_str_1
78
 
84
 
79
	mov	edi,comment_string_2
85
	mov	edi,comment_string_2
80
	mov	esi,aComment2
86
	mov	esi,aComment2
81
	call	copy_str_1
87
	call	copy_str_1
82
 
88
 
83
	mov	edi,fname_buf
89
	mov	edi,fname_buf
84
	cmp	[edi],byte 0
90
	cmp	[edi],byte 0
85
	jne	@f
91
	jne	@f
86
	mov	esi,path4
92
	mov	esi,path4
87
	call	copy_str_1
93
	call	copy_str_1
88
	jmp	.OpenDialog
94
	jmp	.OpenDialog
89
@@:
95
@@:
90
	call	locLoadFile
96
	call	locLoadFile
91
	xor	dword [wFlags],1
97
	xor	dword [wFlags],1
92
.OpenDialog:
98
.OpenDialog:
93
;OpenDialog	initialisation
99
;OpenDialog	initialisation
94
	push	dword OpenDialog_data
100
	push	dword OpenDialog_data
95
	call	[OpenDialog_Init]
101
	call	[OpenDialog_Init]
96
;---------------------------------------------------------------------
102
;---------------------------------------------------------------------
97
	mcall	40,0x27
103
	mcall	40,0x27
98
red:
104
red:
99
	call	draw_window
105
	call	draw_window
100
still:
106
still:
101
	mcall	10
107
	mcall	10
102
	cmp	eax,1
108
	cmp	eax,1
103
	jz	red
109
	jz	red
104
	cmp	eax,2
110
	cmp	eax,2
105
	jz	key
111
	jz	key
106
	cmp	eax,3
112
	cmp	eax,3
107
	jz	button
113
	jz	button
108
	jmp	still
114
	jmp	still
109
;---------------------------------------------------------------------
115
;---------------------------------------------------------------------
110
copy_str_1:
116
copy_str_1:
111
	xor	eax,eax
117
	xor	eax,eax
112
	cld
118
	cld
113
@@:
119
@@:
114
	lodsb
120
	lodsb
115
	stosb
121
	stosb
116
	test	eax,eax
122
	test	eax,eax
117
	jnz	@b
123
	jnz	@b
118
	ret
124
	ret
119
;---------------------------------------------------------------------
125
;---------------------------------------------------------------------
120
key:
126
key:
121
	mcall	2
127
	mcall	2
122
	cmp	ah,'t'
128
	cmp	ah,'t'
123
	jz	ActionTest
129
	jz	ActionTest
124
	cmp	ah,'c'
130
	cmp	ah,'c'
125
	jz	ActionComment
131
	jz	ActionComment
126
	cmp	ah,'p'
132
	cmp	ah,'p'
127
	jz	ActionPattern
133
	jz	ActionPattern
128
	cmp	ah,'o'
134
	cmp	ah,'o'
129
	jz	ActionOpen
135
	jz	ActionOpen
130
	cmp	ah,'s'
136
	cmp	ah,'s'
131
	jz	ActionSave
137
	jz	ActionSave
132
	jmp	still
138
	jmp	still
133
;---------------------------------------------------------------------
139
;---------------------------------------------------------------------
134
button:
140
button:
135
	mcall	17
141
	mcall	17
136
	cmp	ah,1
142
	cmp	ah,1
137
	jnz	NotClose
143
	jnz	NotClose
138
close:
144
close:
139
	mcall	-1
145
	mcall	-1
140
NotClose:
146
NotClose:
141
	cmp	ah,2
147
	cmp	ah,2
142
	jnz	locNotTest
148
	jnz	locNotTest
143
ActionTest:
149
ActionTest:
144
	test	dword [wFlags],1
150
	test	dword [wFlags],1
145
	jnz	still
151
	jnz	still
146
	mcall	51,1,TestWndProc,thread_stack1
152
	mcall	51,1,TestWndProc,thread_stack1
147
	jmp	still
153
	jmp	still
148
;---------------------------------------------------------------------
154
;---------------------------------------------------------------------
149
locNotTest:
155
locNotTest:
150
	cmp	ah,3
156
	cmp	ah,3
151
	jnz	NotComment
157
	jnz	NotComment
152
ActionComment:
158
ActionComment:
153
	test	dword [wFlags],1
159
	test	dword [wFlags],1
154
	jnz	still
160
	jnz	still
155
	mcall	51,1,thread_comment,thread_stack2
161
	mcall	51,1,thread_comment,thread_stack2
156
	jmp	still
162
	jmp	still
157
;---------------------------------------------------------------------
163
;---------------------------------------------------------------------
158
NotComment:
164
NotComment:
159
	cmp	ah,4
165
	cmp	ah,4
160
	jnz	NotPattern
166
	jnz	NotPattern
161
ActionPattern:
167
ActionPattern:
162
	test	dword [wFlags],1
168
	test	dword [wFlags],1
163
	jnz	still
169
	jnz	still
164
	mov	esi,results_table
170
	mov	esi,results_table
165
	cld
171
	cld
166
@@:
172
@@:
167
	lodsd
173
	lodsd
168
	mov	[esi],eax
174
	mov	[esi],eax
169
	add	esi,TEST_REC_SIZE-4
175
	add	esi,TEST_REC_SIZE-4
170
	cmp	dword [esi+TEST_REC_SIZE-4],0
176
	cmp	dword [esi+TEST_REC_SIZE-4],0
171
	jne	@b
177
	jne	@b
172
	mov	esi,comment_string_1
178
	mov	esi,comment_string_1
173
	mov	edi,comment_string_2
179
	mov	edi,comment_string_2
174
	call	copy_str_1
180
	call	copy_str_1
175
	call	DrawBars
181
	call	DrawBars
176
	jmp	still
182
	jmp	still
177
;---------------------------------------------------------------------
183
;---------------------------------------------------------------------
178
NotPattern:
184
NotPattern:
179
	cmp	ah,5
185
	cmp	ah,5
180
	jnz	NotOpen
186
	jnz	NotOpen
181
ActionOpen:
187
ActionOpen:
182
	test	dword [wFlags],1
188
	test	dword [wFlags],1
183
	jnz	still
189
	jnz	still
184
	mov	[OpenDialog_data.type],0 ; open
190
	mov	[OpenDialog_data.type],0 ; open
185
	call	OpenDialog_Start_1
191
	call	OpenDialog_Start_1
186
	jne	still
192
	jne	still
187
	call	locLoadFile
193
	call	locLoadFile
188
	call	DrawBars
194
	call	DrawBars
189
.1:
195
.1:
190
	xor	dword [wFlags],1
196
	xor	dword [wFlags],1
191
	jmp	still
197
	jmp	still
192
;---------------------------------------------------------------------
198
;---------------------------------------------------------------------
193
OpenDialog_Start_1:
199
OpenDialog_Start_1:
194
	push    dword OpenDialog_data
200
	push    dword OpenDialog_data
195
	call	[OpenDialog_Start]
201
	call	[OpenDialog_Start]
196
	cmp	[OpenDialog_data.status],1
202
	cmp	[OpenDialog_data.status],1
197
	ret
203
	ret
198
;---------------------------------------------------------------------
204
;---------------------------------------------------------------------
199
NotOpen:
205
NotOpen:
200
	cmp	ah,6
206
	cmp	ah,6
201
	jnz	still
207
	jnz	still
202
ActionSave:
208
ActionSave:
203
	test	dword [wFlags],1
209
	test	dword [wFlags],1
204
	jnz	still
210
	jnz	still
205
	mov	[OpenDialog_data.type],1 ; save
211
	mov	[OpenDialog_data.type],1 ; save
206
	call	OpenDialog_Start_1
212
	call	OpenDialog_Start_1
207
	jne	still
213
	jne	still
208
	call	locSaveFile
214
	call	locSaveFile
209
	jmp	ActionOpen.1
215
	jmp	ActionOpen.1
210
;---------------------------------------------------------------------
216
;---------------------------------------------------------------------
211
TestWndProc:
217
TestWndProc:
212
	mcall	68,12,90*123*3
218
	mcall	68,12,90*123*3
213
	mov	[area_for_f36],eax
219
	mov	[area_for_f36],eax
214
	or	dword [wFlags],1
220
	or	dword [wFlags],1
215
	mov	esi,results_table+8
221
	mov	esi,results_table+8
216
align 4
222
align 4
217
.next_test:
223
.next_test:
218
	xor	edi,edi
224
	xor	edi,edi
219
	mcall	 26,9
225
	mcall	 26,9
220
	inc	eax
226
	inc	eax
221
	mov	ecx,eax
227
	mov	ecx,eax
222
	add	eax,100
228
	add	eax,100
223
	mov	[dwTestEndTime],eax
229
	mov	[dwTestEndTime],eax
224
align 4
230
align 4
225
@@:
231
@@:
226
	mcall	 26
232
	mcall	 26
227
	cmp	eax,ecx
233
	cmp	eax,ecx
228
	jb	@r
234
	jb	@r
229
align 4
235
align 4
230
@@:
236
@@:
231
	push	esi
237
	push	esi
232
	call	dword [esi]
238
	call	dword [esi]
233
	pop	esi
239
	pop	esi
234
	inc	edi
240
	inc	edi
235
	mcall	26,9
241
	mcall	26,9
236
	cmp	eax,[dwTestEndTime]
242
	cmp	eax,[dwTestEndTime]
237
	jb	@b
243
	jb	@b
238
	mov	[esi-8],edi
244
	mov	[esi-8],edi
239
 
245
 
240
	add	esi,TEST_REC_SIZE
246
	add	esi,TEST_REC_SIZE
241
	cmp	dword [esi],0
247
	cmp	dword [esi],0
242
	jnz	.next_test
248
	jnz	.next_test
243
	xor	dword [wFlags],1
249
	xor	dword [wFlags],1
244
	mcall	68,13,[area_for_f36]
250
	mcall	68,13,[area_for_f36]
245
	mcall	-1
251
	mcall	-1
246
;---------------------------------------------------------------------
252
;---------------------------------------------------------------------
247
draw_window:
253
draw_window:
248
	mcall	12,1
254
	mcall	12,1
249
	mcall	48,4
255
	mcall	48,4
250
	mov	ebx,100*65536+72*5+14
256
	mov	ebx,100*65536+72*5+14
251
	mov	ecx,80*65536+TESTS_NUM*LINE_HEIGHT+15+20+35
257
	mov	ecx,80*65536+TESTS_NUM*LINE_HEIGHT+15+20+35
252
	add	cx,ax
258
	add	cx,ax
253
	xor	eax,eax
259
	xor	eax,eax
254
	xor	esi,esi
260
	xor	esi,esi
255
	mcall	,,,34000000h,,aCaption
261
	mcall	,,,34000000h,,aCaption
256
 
262
 
257
	mov	eax,8
263
	mov	eax,8
258
	mov	ebx,050036h+12
264
	mov	ebx,050036h+12
259
	mov	ecx,5*65536+20
265
	mov	ecx,5*65536+20
260
	mov	edx,2
266
	mov	edx,2
261
	mov	esi,0x00007F7F
267
	mov	esi,0x00007F7F
262
@@:
268
@@:
263
	mcall
269
	mcall
264
	add	ebx,72*65536
270
	add	ebx,72*65536
265
	inc	edx
271
	inc	edx
266
	cmp	edx,7
272
	cmp	edx,7
267
	jb	@r
273
	jb	@r
268
 
274
 
269
	mov	ecx,31
275
	mov	ecx,31
270
	mov	edx,0x00007F7F
276
	mov	edx,0x00007F7F
271
	mov	esi,(72*5)/2
277
	mov	esi,(72*5)/2
272
	call	drawSeparator
278
	call	drawSeparator
273
 
279
 
274
	mcall	4,<27,12>,0x80DDEEFF,aButtonsText
280
	mcall	4,<27,12>,0x80DDEEFF,aButtonsText
275
	call	DrawBars
281
	call	DrawBars
276
 
282
 
277
	mov	ecx,TESTS_NUM*LINE_HEIGHT+15+21
283
	mov	ecx,TESTS_NUM*LINE_HEIGHT+15+21
278
	mov	edx,0x00007F7F
284
	mov	edx,0x00007F7F
279
	mov	esi,(72*5)/2
285
	mov	esi,(72*5)/2
280
	call	drawSeparator
286
	call	drawSeparator
281
	mcall	12,2
287
	mcall	12,2
282
	ret
288
	ret
283
;---------------------------------------------------------------------
289
;---------------------------------------------------------------------
284
drawSeparator:
290
drawSeparator:
285
	mov	eax,1
291
	mov	eax,1
286
	mov	ebx,3
292
	mov	ebx,3
287
@@:
293
@@:
288
	mcall
294
	mcall
289
	add	ebx,2
295
	add	ebx,2
290
	dec	esi
296
	dec	esi
291
	jnz	@b
297
	jnz	@b
292
	ret
298
	ret
293
;---------------------------------------------------------------------
299
;---------------------------------------------------------------------
294
align 4
300
align 4
295
testDrawWindow:
301
testDrawWindow:
296
	xor	eax,eax
302
	xor	eax,eax
297
	mcall	,640145h,4F0190h,3000000h
303
	mcall	,640145h,4F0190h,3000000h
298
	ret
304
	ret
299
;---------------------------------------------------------------------
305
;---------------------------------------------------------------------
300
align 4
306
align 4
301
testDrawBar:
307
testDrawBar:
302
	mcall	13,0A0064h,1E00FAh,6A73D0h
308
	mcall	13,0A0064h,1E00FAh,6A73D0h
303
	ret
309
	ret
304
;---------------------------------------------------------------------
310
;---------------------------------------------------------------------
305
align 4
311
align 4
306
testDrawPicture:
312
testDrawPicture:
307
;	xor	ebx,ebx
313
;	xor	ebx,ebx
308
	mcall	7,[area_for_f36],<90,123>,<15,33>
314
	mcall	7,[area_for_f36],<90,123>,<15,33>
309
	ret
315
	ret
310
;---------------------------------------------------------------------
316
;---------------------------------------------------------------------
311
align 4
317
align 4
312
testDrawPicture_f73:
318
testDrawPicture_f73:
313
	xor	ebx,ebx
319
	xor	ebx,ebx
314
	mcall	73,,params_f73
320
	mcall	73,,params_f73
315
	ret
321
	ret
316
;---------------------------------------------------------------------
322
;---------------------------------------------------------------------
317
align 4
323
align 4
318
testGetScreen_f36:
324
testGetScreen_f36:
319
	xor	ebx,ebx
325
	xor	ebx,ebx
320
	mcall	36,[area_for_f36],<90,123>,<15,33>
326
	mcall	36,[area_for_f36],<90,123>,<15,33>
321
	ret
327
	ret
322
;---------------------------------------------------------------------
328
;---------------------------------------------------------------------
323
align 4
329
align 4
-
 
330
testGetScreen_GS:
-
 
331
	push	edi
-
 
332
	mov	[start_x],15
-
 
333
	mov	[start_y],33
-
 
334
	mov	[size_x],90
-
 
335
	mov	[size_y],123
-
 
336
	mov	edi,[area_for_f36]
-
 
337
 
-
 
338
	mcall	61,2
-
 
339
	cmp	eax,24
-
 
340
	je	get_area_with_GS_24
-
 
341
;-----------------------------------------------------------------------------
-
 
342
align 4
-
 
343
get_area_with_GS_32:	
-
 
344
	mcall	61,1
-
 
345
	shr	eax,16
-
 
346
	shl	eax,2
-
 
347
	mov	[offset_x],eax
-
 
348
 
-
 
349
	mov	esi,[start_y]
-
 
350
	imul	esi,eax
-
 
351
	
-
 
352
	mov	eax,[start_x]
-
 
353
	shl	eax,2
-
 
354
	add	esi,eax
-
 
355
 
-
 
356
	mov	eax,[size_x]
-
 
357
	shl	eax,2
-
 
358
	sub	[offset_x],eax
-
 
359
	
-
 
360
	mov	edx,[size_y]
-
 
361
	mov	ebx,[offset_x]
-
 
362
	sub	esi,ebx
-
 
363
	mov	ebp,[size_x]
-
 
364
;--------------------------------------
-
 
365
align 4
-
 
366
.start_y:
-
 
367
	add	esi,ebx
-
 
368
	mov	ecx,ebp
-
 
369
;--------------------------------------
-
 
370
align 4
-
 
371
.start_x:	
-
 
372
	mov	eax,[gs:esi]
-
 
373
	mov	[edi],eax
-
 
374
	add	esi,4
-
 
375
	add	edi,3
-
 
376
	
-
 
377
        dec     ecx
-
 
378
        jnz     .start_x
-
 
379
	
-
 
380
        dec     edx
-
 
381
        jnz     .start_y
-
 
382
	
-
 
383
	pop	edi
-
 
384
	ret
-
 
385
;-----------------------------------------------------------------------------
-
 
386
align 4
-
 
387
get_area_with_GS_24:	
-
 
388
	mcall	61,1
-
 
389
	shr	eax,16
-
 
390
	lea	eax,[eax*3]
-
 
391
	mov	[offset_x],eax
-
 
392
	
-
 
393
	mov	esi,[start_y]
-
 
394
	imul	esi,eax
-
 
395
	
-
 
396
	mov	eax,[start_x]
-
 
397
	lea	eax,[eax*3]
-
 
398
	add	esi,eax
-
 
399
	
-
 
400
	mov	eax,[size_x]
-
 
401
	lea	eax,[eax*3]
-
 
402
	sub	[offset_x],eax
-
 
403
	
-
 
404
	mov	edx,[size_y]
-
 
405
	mov	ebx,[offset_x]
-
 
406
	sub	esi,ebx
-
 
407
	mov	ebp,[size_x]
-
 
408
;--------------------------------------
-
 
409
align 4
-
 
410
.start_y:
-
 
411
	add	esi,ebx
-
 
412
	mov	ecx,ebp
-
 
413
;--------------------------------------
-
 
414
align 4
-
 
415
.start_x:	
-
 
416
	mov	eax,[gs:esi]
-
 
417
	mov	[edi],eax
-
 
418
	add	esi,3
-
 
419
	add	edi,3
-
 
420
 
-
 
421
        dec     ecx
-
 
422
        jnz     .start_x
-
 
423
	
-
 
424
        dec     edx
-
 
425
        jnz     .start_y
-
 
426
 
-
 
427
	pop	edi
-
 
428
	ret
-
 
429
;-----------------------------------------------------------------------------
-
 
430
align 4
324
testDrawVertLine:
431
testDrawVertLine:
325
	mcall	38,<300,300>,<30,380>,1090207Fh
432
	mcall	38,<300,300>,<30,380>,1090207Fh
326
	ret
433
	ret
327
;---------------------------------------------------------------------
434
;---------------------------------------------------------------------
328
align 4
435
align 4
329
testDrawHorzLine:
436
testDrawHorzLine:
330
	mcall	38,<30,300>,<380,380>,1090207Fh
437
	mcall	38,<30,300>,<380,380>,1090207Fh
331
	ret
438
	ret
332
;---------------------------------------------------------------------
439
;---------------------------------------------------------------------
333
align 4
440
align 4
334
testDrawFreeLine:
441
testDrawFreeLine:
335
	mcall	38,<30,300>,<380,30>,1090207Fh
442
	mcall	38,<30,300>,<380,30>,1090207Fh
336
	ret
443
	ret
337
;---------------------------------------------------------------------
444
;---------------------------------------------------------------------
338
align 4
445
align 4
339
testDrawText1:
446
testDrawText1:
340
	mcall	4,0C012Ch,0AA66h,aTestText,34
447
	mcall	4,0C012Ch,0AA66h,aTestText,34
341
	ret
448
	ret
342
;---------------------------------------------------------------------
449
;---------------------------------------------------------------------
343
align 4
450
align 4
344
testDrawText2:
451
testDrawText2:
345
	mcall	4,1B013Bh,10E7B850h,aTestText,34
452
	mcall	4,1B013Bh,10E7B850h,aTestText,34
346
	ret
453
	ret
347
;---------------------------------------------------------------------
454
;---------------------------------------------------------------------
348
align 4
455
align 4
349
testDrawNumber:
456
testDrawNumber:
350
	mcall	47,80000h,12345678,2A014Ah,0E0B27Bh
457
	mcall	47,80000h,12345678,2A014Ah,0E0B27Bh
351
	ret
458
	ret
352
;---------------------------------------------------------------------
459
;---------------------------------------------------------------------
353
align 4
460
align 4
354
testDrawPixel:
461
testDrawPixel:
355
	mcall	1,100,100,0FFFFFFh
462
	mcall	1,100,100,0FFFFFFh
356
	ret
463
	ret
357
;---------------------------------------------------------------------
464
;---------------------------------------------------------------------
358
DrawBars:
465
DrawBars:
359
	mov	edi,results_table
466
	mov	edi,results_table
360
	mov	ebx,30+7
467
	mov	ebx,30+7
361
.next_result:
468
.next_result:
362
	cmp	dword[edi+TEST_REC_SIZE-4],0
469
	cmp	dword[edi+TEST_REC_SIZE-4],0
363
	je	.exit
470
	je	.exit
364
 
471
 
365
	push	ebx
472
	push	ebx
366
	movzx	ecx,bx
473
	movzx	ecx,bx
367
	add	ecx,-2
474
	add	ecx,-2
368
	shl	ecx,16
475
	shl	ecx,16
369
	mov	cx,LINE_HEIGHT
476
	mov	cx,LINE_HEIGHT
370
	mov	ebx,0*65536+72*5+5
477
	mov	ebx,0*65536+72*5+5
371
	xor	edx,edx
478
	xor	edx,edx
372
	mcall	13
479
	mcall	13
373
	pop	ebx
480
	pop	ebx
374
 
481
 
375
	and	ebx,0x0000FFFF
482
	and	ebx,0x0000FFFF
376
	or	ebx,5*65536
483
	or	ebx,5*65536
377
	mov	edx,[edi+TEST_REC_SIZE-4]
484
	mov	edx,[edi+TEST_REC_SIZE-4]
378
	mcall	4,,0x8000CCCC
485
	mcall	4,,0x8000CCCC
379
 
486
 
380
	push	'=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F
487
	push	'=' 0x00FFFF00 0x00FFFF7F 0x00FFFF7F
381
	mov	eax,[edi+0]
488
	mov	eax,[edi+0]
382
	cmp	eax,[edi+4]
489
	cmp	eax,[edi+4]
383
	je	@f
490
	je	@f
384
	jb	.lp1
491
	jb	.lp1
385
	mov	dword[esp+0],0x007FFF7F
492
	mov	dword[esp+0],0x007FFF7F
386
	mov	dword[esp+4],0x00FF7F7F
493
	mov	dword[esp+4],0x00FF7F7F
387
	mov	dword[esp+8],0x0000FF00
494
	mov	dword[esp+8],0x0000FF00
388
	mov	byte[esp+12],'>'
495
	mov	byte[esp+12],'>'
389
.lp1:
496
.lp1:
390
	ja	@f
497
	ja	@f
391
	mov	dword[esp+0],0x00FF7F7F
498
	mov	dword[esp+0],0x00FF7F7F
392
	mov	dword[esp+4],0x007FFF7F
499
	mov	dword[esp+4],0x007FFF7F
393
	mov	dword[esp+8],0x00FF0000
500
	mov	dword[esp+8],0x00FF0000
394
	mov	byte[esp+12],'<'
501
	mov	byte[esp+12],'<'
395
@@:
502
@@:
396
	pop	ecx
503
	pop	ecx
397
	call	int2str
504
	call	int2str
398
	add	ebx,(72*5-6*8*2-6-10-5)*65536 ; 196
505
	add	ebx,(72*5-6*8*2-6-10-5)*65536 ; 196
399
	mcall	4,,,textarea,8
506
	mcall	4,,,textarea,8
400
 
507
 
401
	pop	ecx
508
	pop	ecx
402
	mov	eax,[edi+4]
509
	mov	eax,[edi+4]
403
	call	int2str
510
	call	int2str
404
	add	ebx,(6*8+6+10)*65536
511
	add	ebx,(6*8+6+10)*65536
405
	mcall	4
512
	mcall	4
406
 
513
 
407
	pop	ecx
514
	pop	ecx
408
	add	ebx,(-6-5)*65536
515
	add	ebx,(-6-5)*65536
409
	mov	edx,esp
516
	mov	edx,esp
410
	mov	esi,1
517
	mov	esi,1
411
	mcall
518
	mcall
412
	add	esp,4
519
	add	esp,4
413
 
520
 
414
	add	edi,TEST_REC_SIZE
521
	add	edi,TEST_REC_SIZE
415
	add	bx,LINE_HEIGHT
522
	add	bx,LINE_HEIGHT
416
	jmp	.next_result
523
	jmp	.next_result
417
.exit:
524
.exit:
418
	mov	ebx, 0*65536+72*5+5
525
	mov	ebx, 0*65536+72*5+5
419
	mov	ecx, (TESTS_NUM*LINE_HEIGHT+15+25)*65536+26
526
	mov	ecx, (TESTS_NUM*LINE_HEIGHT+15+25)*65536+26
420
	xor	edx, edx
527
	xor	edx, edx
421
	mcall	13
528
	mcall	13
422
 
529
 
423
	mov	ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27)
530
	mov	ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27)
424
	mcall	4,,0x8000CCCC,aLeft
531
	mcall	4,,0x8000CCCC,aLeft
425
 
532
 
426
	add	ebx, (6*10)*65536
533
	add	ebx, (6*10)*65536
427
	mcall	,,0x80FFFF00,comment_string_1
534
	mcall	,,0x80FFFF00,comment_string_1
428
 
535
 
429
	mov	ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+12)
536
	mov	ebx, 5*65536+(TESTS_NUM*LINE_HEIGHT+15+27+12)
430
	mcall	,,0x8000CCCC,aRight
537
	mcall	,,0x8000CCCC,aRight
431
 
538
 
432
	add	ebx, (6*10)*65536
539
	add	ebx, (6*10)*65536
433
	mcall	,,0x80FFFF00,comment_string_2
540
	mcall	,,0x80FFFF00,comment_string_2
434
	ret
541
	ret
435
;---------------------------------------------------------------------
542
;---------------------------------------------------------------------
436
int2str:
543
int2str:
437
	push	eax ecx edx edi
544
	push	eax ecx edx edi
438
	mov	edi,textarea+7
545
	mov	edi,textarea+7
439
	mov	dword[textarea+0],'    '
546
	mov	dword[textarea+0],'    '
440
	mov	dword[textarea+4],'    '
547
	mov	dword[textarea+4],'    '
441
	mov	ecx,10
548
	mov	ecx,10
442
@@:
549
@@:
443
	xor	edx,edx
550
	xor	edx,edx
444
	div	ecx
551
	div	ecx
445
	add	dl,'0'
552
	add	dl,'0'
446
	mov	[edi],dl
553
	mov	[edi],dl
447
	dec	edi
554
	dec	edi
448
	or	eax,eax
555
	or	eax,eax
449
	jnz	@b
556
	jnz	@b
450
	pop	edi edx ecx eax
557
	pop	edi edx ecx eax
451
	ret
558
	ret
452
;---------------------------------------------------------------------
559
;---------------------------------------------------------------------
453
thread_comment:
560
thread_comment:
454
	or	dword [wFlags],1
561
	or	dword [wFlags],1
455
	mcall	40,0x27
562
	mcall	40,0x27
456
	mov	esi,comment_string_1
563
	mov	esi,comment_string_1
457
	cld
564
	cld
458
@@:
565
@@:
459
	lodsb
566
	lodsb
460
	test	al,al
567
	test	al,al
461
	jne	@r
568
	jne	@r
462
	sub	esi,comment_string_1
569
	sub	esi,comment_string_1
463
	mov	eax,esi
570
	mov	eax,esi
464
	dec	eax
571
	dec	eax
465
	mov	edi, edit1
572
	mov	edi, edit1
466
	mov	[edi+48], eax	;ed_size
573
	mov	[edi+48], eax	;ed_size
467
	mov	[edi+52], eax	;ed_pos
574
	mov	[edi+52], eax	;ed_pos
468
;---------------------------------------------------------------------
575
;---------------------------------------------------------------------
469
.red:
576
.red:
470
	call .draw_window
577
	call .draw_window
471
.still:
578
.still:
472
	mcall	10	; wait here for event
579
	mcall	10	; wait here for event
473
	cmp	eax,1	; redraw request ?
580
	cmp	eax,1	; redraw request ?
474
	je	.red
581
	je	.red
475
	cmp	eax,2	; key in buffer ?
582
	cmp	eax,2	; key in buffer ?
476
	je	.key
583
	je	.key
477
	cmp	eax,3	; button in buffer ?
584
	cmp	eax,3	; button in buffer ?
478
	je	.button
585
	je	.button
479
 
586
 
480
	push	dword name_editboxes
587
	push	dword name_editboxes
481
	call	[edit_box_mouse]
588
	call	[edit_box_mouse]
482
	jmp	.still
589
	jmp	.still
483
;---------------------------------------------------------------------
590
;---------------------------------------------------------------------
484
.key:		; key
591
.key:		; key
485
	mcall	2
592
	mcall	2
486
	cmp	ah,13
593
	cmp	ah,13
487
	je	.close	;.close_with_open_file
594
	je	.close	;.close_with_open_file
488
	cmp	ah,27
595
	cmp	ah,27
489
	je	.close
596
	je	.close
490
	
597
	
491
	push	dword name_editboxes
598
	push	dword name_editboxes
492
	call	[edit_box_key]
599
	call	[edit_box_key]
493
	jmp	.still
600
	jmp	.still
494
;---------------------------------------------------------------------
601
;---------------------------------------------------------------------
495
.button:		; button
602
.button:		; button
496
	mcall	17
603
	mcall	17
497
	cmp	ah,1	; button id=1 ?
604
	cmp	ah,1	; button id=1 ?
498
	jne	.still
605
	jne	.still
499
.close:
606
.close:
500
	xor	dword [wFlags],1
607
	xor	dword [wFlags],1
501
	mcall	-1
608
	mcall	-1
502
;---------------------------------------------------------------------
609
;---------------------------------------------------------------------
503
.draw_window:
610
.draw_window:
504
	mcall	12,1
611
	mcall	12,1
505
	xor	eax,eax
612
	xor	eax,eax
506
	xor	esi,esi
613
	xor	esi,esi
507
	mcall	,<100,300>,<100,80>,0x34780078,,aComment
614
	mcall	,<100,300>,<100,80>,0x34780078,,aComment
508
	push	dword name_editboxes
615
	push	dword name_editboxes
509
	call	[edit_box_draw]
616
	call	[edit_box_draw]
510
	mcall	12,2
617
	mcall	12,2
511
	ret
618
	ret
512
;---------------------------------------------------------------------
619
;---------------------------------------------------------------------
513
locLoadFile:
620
locLoadFile:
514
	mov	[stFileInfoBlock], 0
621
	mov	[stFileInfoBlock], 0
515
	or	dword [wFlags],1
622
	or	dword [wFlags],1
516
	mcall	70,stFileInfoBlock
623
	mcall	70,stFileInfoBlock
517
	mov	esi,mgb_data
624
	mov	esi,mgb_data
518
	mov	edi,results_table+4
625
	mov	edi,results_table+4
519
	cld
626
	cld
520
@@:
627
@@:
521
	cmp	dword[edi+TEST_REC_SIZE-8],0
628
	cmp	dword[edi+TEST_REC_SIZE-8],0
522
	je	@f
629
	je	@f
523
	movsd
630
	movsd
524
	add	edi,TEST_REC_SIZE-4
631
	add	edi,TEST_REC_SIZE-4
525
	jmp	@b
632
	jmp	@b
526
@@:
633
@@:
527
	mov	edi,comment_string_2
634
	mov	edi,comment_string_2
528
	mov	ecx,44
635
	mov	ecx,44
529
	rep	movsb
636
	rep	movsb
530
	ret
637
	ret
531
;---------------------------------------------------------------------
638
;---------------------------------------------------------------------
532
locSaveFile:
639
locSaveFile:
533
	mov	[stFileInfoBlock], 2
640
	mov	[stFileInfoBlock], 2
534
	or	dword [wFlags],1
641
	or	dword [wFlags],1
535
	mov	esi,results_table+4
642
	mov	esi,results_table+4
536
	mov	edi,mgb_data
643
	mov	edi,mgb_data
537
	cld
644
	cld
538
@@:
645
@@:
539
	cmp	dword[esi+TEST_REC_SIZE-8],0
646
	cmp	dword[esi+TEST_REC_SIZE-8],0
540
	je	@f
647
	je	@f
541
	movsd
648
	movsd
542
	add	esi,TEST_REC_SIZE-4
649
	add	esi,TEST_REC_SIZE-4
543
	jmp	@b
650
	jmp	@b
544
@@:
651
@@:
545
	mov	esi,comment_string_2
652
	mov	esi,comment_string_2
546
	mov	ecx,44
653
	mov	ecx,44
547
	rep	movsb
654
	rep	movsb
548
	mcall	70,stFileInfoBlock
655
	mcall	70,stFileInfoBlock
549
	ret
656
	ret
550
;---------------------------------------------------------------------
657
;---------------------------------------------------------------------
551
align 4
658
align 4
552
stFileInfoBlock dd 0,0,0
659
stFileInfoBlock dd 0,0,0
553
dwDataSize	dd TESTS_NUM*4+44	;1
660
dwDataSize	dd TESTS_NUM*4+44	;1
554
		dd mgb_data
661
		dd mgb_data
555
		db 0
662
		db 0
556
		dd fname_buf
663
		dd fname_buf
557
;---------------------------------------------------------------------
664
;---------------------------------------------------------------------
558
wFlags		dd 0
665
wFlags		dd 0
559
;---------------------------------------------------------------------
666
;---------------------------------------------------------------------
560
align 4
667
align 4
561
results_table dd \
668
results_table dd \
562
	?,?,testDrawWindow,aDrawingWindow,\
669
	?,?,testDrawWindow,aDrawingWindow,\
563
	?,?,testDrawBar,aDrawingBar,\
670
	?,?,testDrawBar,aDrawingBar,\
564
	?,?,testGetScreen_f36,aGetScreenF36,\
671
	?,?,testGetScreen_f36,aGetScreenF36,\
-
 
672
	?,?,testGetScreen_GS,aGetScreen_GS,\
565
	?,?,testDrawPicture,aDrawingPicture,\
673
	?,?,testDrawPicture,aDrawingPicture,\
566
	?,?,testDrawPicture_f73,aDrawingPictF73,\
674
	?,?,testDrawPicture_f73,aDrawingPictF73,\
567
	?,?,testDrawVertLine,aDrawingVLine,\
675
	?,?,testDrawVertLine,aDrawingVLine,\
568
	?,?,testDrawHorzLine,aDrawingHLine,\
676
	?,?,testDrawHorzLine,aDrawingHLine,\
569
	?,?,testDrawFreeLine,aDrawingFLine,\
677
	?,?,testDrawFreeLine,aDrawingFLine,\
570
	?,?,testDrawText1,aDrawingText1,\
678
	?,?,testDrawText1,aDrawingText1,\
571
	?,?,testDrawText2,aDrawingText2,\
679
	?,?,testDrawText2,aDrawingText2,\
572
	?,?,testDrawNumber,aDrawingNumber,\
680
	?,?,testDrawNumber,aDrawingNumber,\
573
	?,?,testDrawPixel,aDrawingPixel,\
681
	?,?,testDrawPixel,aDrawingPixel,\
574
	0,0,0,0
682
	0,0,0,0
575
;---------------------------------------------------------------------
683
;---------------------------------------------------------------------
576
LINE_HEIGHT   = 13
684
LINE_HEIGHT   = 13
577
TEST_REC_SIZE = 16
685
TEST_REC_SIZE = 16
578
TESTS_NUM     = ($ - results_table) / TEST_REC_SIZE - 1
686
TESTS_NUM     = ($ - results_table) / TEST_REC_SIZE - 1
579
;---------------------------------------------------------------------
687
;---------------------------------------------------------------------
580
aDrawingWindow	db 'Window Of Type #3, 325x400 px',0
688
aDrawingWindow	db 'Window Of Type #3, 325x400 px',0
581
aDrawingBar	db 'Filled Rectangle, 100x250 px',0
689
aDrawingBar	db 'Filled Rectangle, 100x250 px',0
582
aDrawingPicture db 'Picture, 90x123, px',0
690
aDrawingPicture db 'Picture, 90x123, px',0
583
aDrawingPictF73	db 'Picture for Blitter, 90x123, px',0
691
aDrawingPictF73	db 'Picture for Blitter, 90x123, px',0
584
aGetScreenF36	db 'Get a piece of screen, 90x123, px',0
692
aGetScreenF36	db 'Get a piece of screen f.36, 90x123, px',0
-
 
693
aGetScreen_GS	db 'Get a piece of screen GS, 90x123, px',0
585
aDrawingVLine	db 'Vertical Line, 350 px',0
694
aDrawingVLine	db 'Vertical Line, 350 px',0
586
aDrawingHLine	db 'Horizontal Line, 270 px',0
695
aDrawingHLine	db 'Horizontal Line, 270 px',0
587
aDrawingFLine	db 'Free-angled Line, 350 px',0
696
aDrawingFLine	db 'Free-angled Line, 350 px',0
588
aDrawingText1	db 'Fixed-width Text, 34 chars',0
697
aDrawingText1	db 'Fixed-width Text, 34 chars',0
589
aDrawingText2	db 'Proportional Text, 34 chars',0
698
aDrawingText2	db 'Proportional Text, 34 chars',0
590
aDrawingNumber	db 'Decimal Number, 8 digits',0
699
aDrawingNumber	db 'Decimal Number, 8 digits',0
591
aDrawingPixel	db 'Single Pixel',0
700
aDrawingPixel	db 'Single Pixel',0
592
 
701
 
593
aTestText	db 'This is a 34-charachters test text'
702
aTestText	db 'This is a 34-charachters test text'
594
aButtonsText	db 'Test      Comment+    Pattern+      Open        Save',0
703
aButtonsText	db 'Test      Comment+    Pattern+      Open        Save',0
595
aCaption	db 'Kolibri Graphical Benchmark 0.6',0
704
aCaption	db 'Kolibri Graphical Benchmark 0.7',0
596
 
705
 
597
aLeft	db 'Left    :',0
706
aLeft	db 'Left    :',0
598
aRight	db 'Right   :',0
707
aRight	db 'Right   :',0
599
 
708
 
600
aComment1	db 'current',0
709
aComment1	db 'current',0
601
aComment2	db 'no pattern',0
710
aComment2	db 'no pattern',0
602
aComment	db 'Comment',0
711
aComment	db 'Comment',0
603
;---------------------------------------------------------------------
712
;---------------------------------------------------------------------
604
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
713
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
605
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
714
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
606
;---------------------------------------------------------------------
715
;---------------------------------------------------------------------
607
head_f_i:
716
head_f_i:
608
head_f_l	db 'System error',0
717
head_f_l	db 'System error',0
609
 
718
 
610
err_message_found_lib1	db 'box_lib.obj - Not found!',0
719
err_message_found_lib1	db 'box_lib.obj - Not found!',0
611
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
720
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
612
 
721
 
613
err_message_import1	db 'box_lib.obj - Wrong import!',0
722
err_message_import1	db 'box_lib.obj - Wrong import!',0
614
err_message_import2	db 'proc_lib.obj - Wrong import!',0
723
err_message_import2	db 'proc_lib.obj - Wrong import!',0
615
;---------------------------------------------------------------------
724
;---------------------------------------------------------------------
616
align 4
725
align 4
617
l_libs_start:
726
l_libs_start:
618
 
727
 
619
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
728
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
620
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
729
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
621
 
730
 
622
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
731
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
623
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
732
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
624
 
733
 
625
end_l_libs:
734
end_l_libs:
626
;---------------------------------------------------------------------
735
;---------------------------------------------------------------------
627
align 4
736
align 4
628
OpenDialog_data:
737
OpenDialog_data:
629
.type			dd 1	; Save
738
.type			dd 1	; Save
630
.procinfo		dd procinfo	;+4
739
.procinfo		dd procinfo	;+4
631
.com_area_name		dd communication_area_name	;+8
740
.com_area_name		dd communication_area_name	;+8
632
.com_area		dd 0	;+12
741
.com_area		dd 0	;+12
633
.opendir_pach		dd temp_dir_pach	;+16
742
.opendir_pach		dd temp_dir_pach	;+16
634
.dir_default_pach	dd communication_area_default_pach	;+20
743
.dir_default_pach	dd communication_area_default_pach	;+20
635
.start_path		dd open_dialog_path	;+24
744
.start_path		dd open_dialog_path	;+24
636
.draw_window		dd draw_window	;+28
745
.draw_window		dd draw_window	;+28
637
.status			dd 0	;+32
746
.status			dd 0	;+32
638
.openfile_pach 		dd fname_buf	;+36
747
.openfile_pach 		dd fname_buf	;+36
639
.filename_area		dd filename_area	;+40
748
.filename_area		dd filename_area	;+40
640
.filter_area		dd Filter
749
.filter_area		dd Filter
641
.x:
750
.x:
642
.x_size			dw 420 ;+48 ; Window X size
751
.x_size			dw 420 ;+48 ; Window X size
643
.x_start		dw 10 ;+50 ; Window X position
752
.x_start		dw 10 ;+50 ; Window X position
644
.y:
753
.y:
645
.y_size			dw 320 ;+52 ; Window y size
754
.y_size			dw 320 ;+52 ; Window y size
646
.y_start		dw 10 ;+54 ; Window Y position
755
.y_start		dw 10 ;+54 ; Window Y position
647
 
756
 
648
communication_area_name:
757
communication_area_name:
649
	db 'FFFFFFFF_open_dialog',0
758
	db 'FFFFFFFF_open_dialog',0
650
open_dialog_path:
759
open_dialog_path:
651
if __nightbuild eq yes
760
if __nightbuild eq yes
652
	db '/sys/MANAGERS/opendial',0
761
	db '/sys/MANAGERS/opendial',0
653
else
762
else
654
	db '/sys/File Managers/opendial',0
763
	db '/sys/File Managers/opendial',0
655
end if
764
end if
656
communication_area_default_pach:
765
communication_area_default_pach:
657
	db '/rd0/1/',0
766
	db '/rd0/1/',0
658
 
767
 
659
Filter:
768
Filter:
660
dd	Filter.end - Filter
769
dd	Filter.end - Filter
661
.1:
770
.1:
662
db	'MGB',0
771
db	'MGB',0
663
.end:
772
.end:
664
db	0
773
db	0
665
 
774
 
666
start_temp_file_name:	db 'pattern.mgb',0
775
start_temp_file_name:	db 'pattern.mgb',0
667
 
776
 
668
path4	db '/rd/1/pattern.mgb',0
777
path4	db '/rd/1/pattern.mgb',0
669
;---------------------------------------------------------------------
778
;---------------------------------------------------------------------
670
align 4
779
align 4
671
params_f73:
780
params_f73:
672
; destination
781
; destination
673
.offset_X_dest	dd 0	; +0
782
.offset_X_dest	dd 0	; +0
674
.offset_Y_dest	dd 0	; +4
783
.offset_Y_dest	dd 0	; +4
675
.width_dest	dd 90	; +8
784
.width_dest	dd 90	; +8
676
.height_dest	dd 123	; +12
785
.height_dest	dd 123	; +12
677
; source
786
; source
678
.offset_X_src	dd 0	; +16
787
.offset_X_src	dd 0	; +16
679
.offset_Y_src	dd 0	; +20
788
.offset_Y_src	dd 0	; +20
680
.width_src	dd 90	; +24
789
.width_src	dd 90	; +24
681
.height_src	dd 123	; +28
790
.height_src	dd 123	; +28
682
; other
791
; other
683
.pointer	dd 0	; 90*4	; +32
792
.pointer	dd 0	; 90*4	; +32
684
.row_size	dd 90*4	; +36
793
.row_size	dd 90*4	; +36
685
;---------------------------------------------------------------------
794
;---------------------------------------------------------------------
686
align 4
795
align 4
687
ProcLib_import:
796
ProcLib_import:
688
OpenDialog_Init		dd aOpenDialog_Init
797
OpenDialog_Init		dd aOpenDialog_Init
689
OpenDialog_Start	dd aOpenDialog_Start
798
OpenDialog_Start	dd aOpenDialog_Start
690
;OpenDialog__Version	dd aOpenDialog_Version
799
;OpenDialog__Version	dd aOpenDialog_Version
691
	dd 0
800
	dd 0
692
	dd 0
801
	dd 0
693
aOpenDialog_Init	db 'OpenDialog_init',0
802
aOpenDialog_Init	db 'OpenDialog_init',0
694
aOpenDialog_Start	db 'OpenDialog_start',0
803
aOpenDialog_Start	db 'OpenDialog_start',0
695
;aOpenDialog_Version	db 'Version_OpenDialog',0
804
;aOpenDialog_Version	db 'Version_OpenDialog',0
696
;---------------------------------------------------------------------
805
;---------------------------------------------------------------------
697
align 4
806
align 4
698
Box_lib_import:	
807
Box_lib_import:	
699
;init_lib		dd a_init
808
;init_lib		dd a_init
700
;version_lib		dd a_version
809
;version_lib		dd a_version
701
 
810
 
702
 
811
 
703
edit_box_draw		dd aEdit_box_draw
812
edit_box_draw		dd aEdit_box_draw
704
edit_box_key		dd aEdit_box_key
813
edit_box_key		dd aEdit_box_key
705
edit_box_mouse		dd aEdit_box_mouse
814
edit_box_mouse		dd aEdit_box_mouse
706
;version_ed		dd aVersion_ed
815
;version_ed		dd aVersion_ed
707
 
816
 
708
;check_box_draw		dd aCheck_box_draw
817
;check_box_draw		dd aCheck_box_draw
709
;check_box_mouse	dd aCheck_box_mouse
818
;check_box_mouse	dd aCheck_box_mouse
710
;version_ch		dd aVersion_ch
819
;version_ch		dd aVersion_ch
711
 
820
 
712
;option_box_draw	dd aOption_box_draw
821
;option_box_draw	dd aOption_box_draw
713
;option_box_mouse	dd aOption_box_mouse
822
;option_box_mouse	dd aOption_box_mouse
714
;version_op		dd aVersion_op
823
;version_op		dd aVersion_op
715
 
824
 
716
;scrollbar_ver_draw	dd aScrollbar_ver_draw
825
;scrollbar_ver_draw	dd aScrollbar_ver_draw
717
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
826
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
718
;scrollbar_hor_draw	dd aScrollbar_hor_draw
827
;scrollbar_hor_draw	dd aScrollbar_hor_draw
719
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
828
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
720
;version_scrollbar	dd aVersion_scrollbar
829
;version_scrollbar	dd aVersion_scrollbar
721
 
830
 
722
;dinamic_button_draw	dd aDbutton_draw
831
;dinamic_button_draw	dd aDbutton_draw
723
;dinamic_button_mouse	dd aDbutton_mouse
832
;dinamic_button_mouse	dd aDbutton_mouse
724
;version_dbutton	dd aVersion_dbutton
833
;version_dbutton	dd aVersion_dbutton
725
 
834
 
726
;menu_bar_draw		dd aMenu_bar_draw
835
;menu_bar_draw		dd aMenu_bar_draw
727
;menu_bar_mouse		dd aMenu_bar_mouse
836
;menu_bar_mouse		dd aMenu_bar_mouse
728
;menu_bar_activate	dd aMenu_bar_activate
837
;menu_bar_activate	dd aMenu_bar_activate
729
;version_menu_bar	dd aVersion_menu_bar
838
;version_menu_bar	dd aVersion_menu_bar
730
 
839
 
731
;FileBrowser_draw	dd aFileBrowser_draw
840
;FileBrowser_draw	dd aFileBrowser_draw
732
;FileBrowser_mouse	dd aFileBrowser_mouse
841
;FileBrowser_mouse	dd aFileBrowser_mouse
733
;FileBrowser_key	dd aFileBrowser_key
842
;FileBrowser_key	dd aFileBrowser_key
734
;Version_FileBrowser	dd aVersion_FileBrowser
843
;Version_FileBrowser	dd aVersion_FileBrowser
735
 
844
 
736
;PathShow_prepare	dd sz_PathShow_prepare
845
;PathShow_prepare	dd sz_PathShow_prepare
737
;PathShow_draw		dd sz_PathShow_draw
846
;PathShow_draw		dd sz_PathShow_draw
738
;Version_path_show	dd szVersion_path_show
847
;Version_path_show	dd szVersion_path_show
739
			dd 0
848
			dd 0
740
			dd 0
849
			dd 0
741
 
850
 
742
;a_init			db 'lib_init',0
851
;a_init			db 'lib_init',0
743
;a_version		db 'version',0
852
;a_version		db 'version',0
744
 
853
 
745
aEdit_box_draw		db 'edit_box',0
854
aEdit_box_draw		db 'edit_box',0
746
aEdit_box_key		db 'edit_box_key',0
855
aEdit_box_key		db 'edit_box_key',0
747
aEdit_box_mouse		db 'edit_box_mouse',0
856
aEdit_box_mouse		db 'edit_box_mouse',0
748
;aVersion_ed		db 'version_ed',0
857
;aVersion_ed		db 'version_ed',0
749
 
858
 
750
;aCheck_box_draw	db 'check_box_draw',0
859
;aCheck_box_draw	db 'check_box_draw',0
751
;aCheck_box_mouse	db 'check_box_mouse',0
860
;aCheck_box_mouse	db 'check_box_mouse',0
752
;aVersion_ch		db 'version_ch',0
861
;aVersion_ch		db 'version_ch',0
753
 
862
 
754
;aOption_box_draw	db 'option_box_draw',0
863
;aOption_box_draw	db 'option_box_draw',0
755
;aOption_box_mouse	db 'option_box_mouse',0
864
;aOption_box_mouse	db 'option_box_mouse',0
756
;aVersion_op		db 'version_op',0
865
;aVersion_op		db 'version_op',0
757
 
866
 
758
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
867
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
759
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
868
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
760
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
869
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
761
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
870
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
762
;aVersion_scrollbar	db 'version_scrollbar',0
871
;aVersion_scrollbar	db 'version_scrollbar',0
763
 
872
 
764
;aDbutton_draw		db 'dbutton_draw',0
873
;aDbutton_draw		db 'dbutton_draw',0
765
;aDbutton_mouse		db 'dbutton_mouse',0
874
;aDbutton_mouse		db 'dbutton_mouse',0
766
;aVersion_dbutton	db 'version_dbutton',0
875
;aVersion_dbutton	db 'version_dbutton',0
767
 
876
 
768
;aMenu_bar_draw		db 'menu_bar_draw',0
877
;aMenu_bar_draw		db 'menu_bar_draw',0
769
;aMenu_bar_mouse		db 'menu_bar_mouse',0
878
;aMenu_bar_mouse		db 'menu_bar_mouse',0
770
;aMenu_bar_activate	db 'menu_bar_activate',0
879
;aMenu_bar_activate	db 'menu_bar_activate',0
771
;aVersion_menu_bar	db 'version_menu_bar',0
880
;aVersion_menu_bar	db 'version_menu_bar',0
772
 
881
 
773
;aFileBrowser_draw	db 'FileBrowser_draw',0
882
;aFileBrowser_draw	db 'FileBrowser_draw',0
774
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
883
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
775
;aFileBrowser_key	db 'FileBrowser_key',0
884
;aFileBrowser_key	db 'FileBrowser_key',0
776
;aVersion_FileBrowser	db 'version_FileBrowser',0
885
;aVersion_FileBrowser	db 'version_FileBrowser',0
777
 
886
 
778
;sz_PathShow_prepare	db 'PathShow_prepare',0
887
;sz_PathShow_prepare	db 'PathShow_prepare',0
779
;sz_PathShow_draw	db 'PathShow_draw',0
888
;sz_PathShow_draw	db 'PathShow_draw',0
780
;szVersion_path_show	db 'version_PathShow',0
889
;szVersion_path_show	db 'version_PathShow',0
781
;---------------------------------------------------------------------
890
;---------------------------------------------------------------------
782
; for EDITBOX
891
; for EDITBOX
783
align 4
892
align 4
784
name_editboxes:
893
name_editboxes:
785
edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,comment_string_1,mouse_dd,ed_focus+ed_always_focus,0
894
edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,comment_string_1,mouse_dd,ed_focus+ed_always_focus,0
786
name_editboxes_end:
895
name_editboxes_end:
787
;---------------------------------------------------------------------
896
;---------------------------------------------------------------------
788
 
897
 
789
IM_END:
898
IM_END:
790
align 4
899
align 4
791
mouse_dd	rd 1
900
mouse_dd	rd 1
792
area_for_f36	rd 1
901
area_for_f36	rd 1
793
dwTestEndTime	rd 1
902
dwTestEndTime	rd 1
794
dwMainPID	rd 1
903
dwMainPID	rd 1
-
 
904
;-----------------------------------------------------------------------------
-
 
905
start_x		rd 1
-
 
906
start_y		rd 1
-
 
907
size_x		rd 1
-
 
908
size_y		rd 1
-
 
909
offset_x	rd 1
795
;---------------------------------------------------------------------
910
;---------------------------------------------------------------------
796
textarea:
911
textarea:
797
	rb 8
912
	rb 8
798
;---------------------------------------------------------------------
913
;---------------------------------------------------------------------
799
comment_string_1:
914
comment_string_1:
800
	rb 44
915
	rb 44
801
;---------------------------------------------------------------------
916
;---------------------------------------------------------------------
802
comment_string_2:
917
comment_string_2:
803
	rb 44
918
	rb 44
804
;---------------------------------------------------------------------
919
;---------------------------------------------------------------------
805
mgb_data:
920
mgb_data:
806
	rb 100
921
	rb 100
807
;---------------------------------------------------------------------
922
;---------------------------------------------------------------------
808
procinfo:
923
procinfo:
809
	rb 1024
924
	rb 1024
810
;---------------------------------------------------------------------
925
;---------------------------------------------------------------------
811
cur_dir_path:
926
cur_dir_path:
812
	rb 4096
927
	rb 4096
813
;---------------------------------------------------------------------
928
;---------------------------------------------------------------------
814
library_path:
929
library_path:
815
	rb 4096
930
	rb 4096
816
;---------------------------------------------------------------------
931
;---------------------------------------------------------------------
817
temp_dir_pach:
932
temp_dir_pach:
818
	rb 4096
933
	rb 4096
819
;---------------------------------------------------------------------
934
;---------------------------------------------------------------------
820
fname_buf:
935
fname_buf:
821
	rb 4096
936
	rb 4096
822
;---------------------------------------------------------------------
937
;---------------------------------------------------------------------
823
filename_area:
938
filename_area:
824
	rb 256
939
	rb 256
825
;---------------------------------------------------------------------
940
;---------------------------------------------------------------------
826
	rb 4096
941
	rb 4096
827
thread_stack2:
942
thread_stack2:
828
;---------------------------------------------------------------------
943
;---------------------------------------------------------------------
829
	rb 4096
944
	rb 4096
830
thread_stack1:
945
thread_stack1:
831
;---------------------------------------------------------------------
946
;---------------------------------------------------------------------
832
	rb 4096
947
	rb 4096
833
	rb 0x2884	; for F73 image size 123*90*4
948
	rb 0x2884	; for F73 image size 123*90*4
834
stacktop:
949
stacktop:
835
I_END:
950
I_END:
836
@@:
951
@@:
837
>
952
>