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:100,80>100,300>' |
950 | I_END:100,80>100,300>' |
836 | @@: |
951 | @@: |
837 | >380,30>30,300>380,380>30,300>30,380>300,300>15,33>90,123>15,33>90,123>27,12> |
952 | >380,30>30,300>380,380>30,300>30,380>300,300>15,33>90,123>15,33>90,123>27,12> |