Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
6013 IgorA 1
use32
8174 IgorA 2
	org 0
6013 IgorA 3
	db 'MENUET01'
6200 IgorA 4
	dd 1,start,i_end,mem,stacktop,0,cur_dir_path
6013 IgorA 5
 
6
include '../../../../../proc32.inc'
7
include '../../../../../macros.inc'
6100 IgorA 8
include '../../../../../KOSfuncs.inc'
6200 IgorA 9
include '../../../../../load_img.inc'
8408 IgorA 10
include '../../../../../load_lib.mac'
6013 IgorA 11
include '../opengl_const.inc'
8174 IgorA 12
include '../zbuffer.inc'
6013 IgorA 13
include '../../../../../develop/info3ds/info_fun_float.inc'
14
 
8408 IgorA 15
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
6013 IgorA 16
 
6129 leency 17
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
6013 IgorA 18
 
8174 IgorA 19
;Макрос для параметров типа double (8 байт)
20
macro glpush GLDoubleVar {
21
	push dword[GLDoubleVar+4]
22
	push dword[GLDoubleVar]
23
}
6013 IgorA 24
 
25
align 4
26
start:
27
load_libraries l_libs_start,l_libs_end
28
	;проверка на сколько удачно загузились библиотеки
29
	mov	ebp,lib_0
30
	.test_lib_open:
31
	cmp	dword [ebp+ll_struc_size-4],0
32
	jz	@f
6100 IgorA 33
		mcall SF_TERMINATE_PROCESS
6013 IgorA 34
	@@:
35
	add ebp,ll_struc_size
36
	cmp ebp,l_libs_end
37
	jl .test_lib_open
38
 
6164 leency 39
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
6100 IgorA 40
	mcall SF_SET_EVENTS_MASK,0x27
6013 IgorA 41
 
6100 IgorA 42
	stdcall [kosglMakeCurrent], 5,30,[buf_ogl.w],[buf_ogl.h],ctx1
6013 IgorA 43
	stdcall [glEnable], GL_DEPTH_TEST
44
	stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
8174 IgorA 45
	call [gluNewQuadric]
6013 IgorA 46
	mov [qObj],eax
47
 
48
	stdcall [glClearColor], 0.25,0.25,0.25,0.0
49
	stdcall [glShadeModel], GL_SMOOTH
50
 
51
	mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
52
	mov eax,[eax] ;eax -> ZBuffer
8174 IgorA 53
	mov eax,[eax+ZBuffer.pbuf]
6013 IgorA 54
	mov dword[buf_ogl],eax
55
 
6200 IgorA 56
	load_image_file 'font8x9.bmp', image_data_toolbar, buf_1.w,buf_1.h
6013 IgorA 57
	stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер
58
	stdcall mem.Free,[image_data_toolbar] ;освобождаем память
59
	stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит
60
	stdcall [buf2d_convert_text_matrix], buf_1
6100 IgorA 61
 
6189 IgorA 62
	load_image_file 'toolb_1.png', image_data_toolbar
6013 IgorA 63
	call draw_3d
64
 
65
align 4
66
red_win:
67
	call draw_window
68
 
69
align 4
70
still:
6100 IgorA 71
	mcall SF_WAIT_EVENT
6013 IgorA 72
	cmp al,1
73
	jz red_win
74
	cmp al,2
75
	jz key
76
	cmp al,3
77
	jz button
78
	jmp still
79
 
80
align 4
81
draw_window:
82
	pushad
6100 IgorA 83
	mcall SF_REDRAW,SSF_BEGIN_DRAW
84
	mcall SF_CREATE_WINDOW,(50 shl 16)+420,(30 shl 16)+410,0x33ffffff,,caption
6013 IgorA 85
 
6100 IgorA 86
	mov esi,[sc.work_button]
6129 leency 87
	mcall SF_DEFINE_BUTTON,(6 shl 16)+19,(6 shl 16)+19,3+0x40000000 ;вершины вкл.
88
	mcall ,(36 shl 16)+19,,4+0x40000000 ;каркасные грани вкл.
89
	mcall ,(66 shl 16)+19,,5+0x40000000 ;сплошные грани вкл.
6189 IgorA 90
	mcall ,(96 shl 16)+19,,6+0x40000000 ;масштаб +
91
	mcall ,(126 shl 16)+19,,7+0x40000000 ;масштаб -
6100 IgorA 92
 
6129 leency 93
	mcall SF_PUT_IMAGE,[image_data_toolbar],(21 shl 16)+21,(5 shl 16)+5 ;вершины вкл.
6100 IgorA 94
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
6129 leency 95
	mcall ,,,(35 shl 16)+5 ;каркасные грани вкл.
6100 IgorA 96
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
6129 leency 97
	mcall ,,,(65 shl 16)+5 ;сплошные грани вкл.
6189 IgorA 98
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
99
	mcall ,,,(95 shl 16)+5 ;масштаб +
100
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
101
	mcall ,,,(125 shl 16)+5 ;масштаб -
6100 IgorA 102
 
8174 IgorA 103
	call [kosglSwapBuffers]
6100 IgorA 104
	mcall SF_REDRAW,SSF_END_DRAW
6013 IgorA 105
	popad
106
	ret
107
 
108
align 4
109
key:
6100 IgorA 110
	mcall SF_GET_KEY
6013 IgorA 111
 
112
	cmp ah,27 ;Esc
113
	je button.exit
114
 
115
	cmp ah,61 ;+
116
	jne @f
6189 IgorA 117
		call but_zoom_p
118
		jmp still
6013 IgorA 119
	@@:
120
	cmp ah,45 ;-
121
	jne @f
6189 IgorA 122
		call but_zoom_m
123
		jmp still
6013 IgorA 124
	@@:
125
	cmp ah,178 ;Up
126
	jne @f
127
		finit
128
		fld dword[angle_y]
129
		fadd dword[delt_size]
130
		fst dword[angle_y]
131
		mov word[NumberSymbolsAD],2
132
		fstp qword[Data_Double]
133
		call DoubleFloat_to_String
134
		mov byte[txt_angle_y.v],0
135
		stdcall str_cat, txt_angle_y.v,Data_String
136
		call draw_3d
8174 IgorA 137
		call [kosglSwapBuffers]
138
		jmp still
6013 IgorA 139
	@@:
140
	cmp ah,177 ;Down
141
	jne @f
142
		finit
143
		fld dword[angle_y]
144
		fsub dword[delt_size]
145
		fst dword[angle_y]
146
		mov word[NumberSymbolsAD],2
147
		fstp qword[Data_Double]
148
		call DoubleFloat_to_String
149
		mov byte[txt_angle_y.v],0
150
		stdcall str_cat, txt_angle_y.v,Data_String
151
		call draw_3d
8174 IgorA 152
		call [kosglSwapBuffers]
153
		jmp still
6013 IgorA 154
	@@:
155
	cmp ah,176 ;Left
156
	jne @f
157
		finit
158
		fld dword[angle_z]
159
		fadd dword[delt_size]
160
		fst dword[angle_z]
161
		mov word[NumberSymbolsAD],2
162
		fstp qword[Data_Double]
163
		call DoubleFloat_to_String
164
		mov byte[txt_angle_z.v],0
165
		stdcall str_cat, txt_angle_z.v,Data_String
166
		call draw_3d
8174 IgorA 167
		call [kosglSwapBuffers]
168
		jmp still
6013 IgorA 169
	@@:
170
	cmp ah,179 ;Right
171
	jne @f
172
		finit
173
		fld dword[angle_z]
174
		fsub dword[delt_size]
175
		fst dword[angle_z]
176
		mov word[NumberSymbolsAD],2
177
		fstp qword[Data_Double]
178
		call DoubleFloat_to_String
179
		mov byte[txt_angle_z.v],0
180
		stdcall str_cat, txt_angle_z.v,Data_String
181
		call draw_3d
8174 IgorA 182
		call [kosglSwapBuffers]
183
		;jmp still
6013 IgorA 184
	@@:
185
 
186
	jmp still
187
 
188
align 4
189
button:
6100 IgorA 190
	mcall SF_GET_BUTTON
191
	cmp ah,3
192
	jne @f
193
		call but_st_point
194
		jmp still
195
	@@:
196
	cmp ah,4
197
	jne @f
198
		call but_st_line
199
		jmp still
200
	@@:
201
	cmp ah,5
202
	jne @f
203
		call but_st_face
204
		jmp still
205
	@@:
6189 IgorA 206
	cmp ah,6
207
	jne @f
208
		call but_zoom_p
209
		jmp still
210
	@@:
211
	cmp ah,7
212
	jne @f
213
		call but_zoom_m
214
		jmp still
215
	@@:
6013 IgorA 216
	cmp ah,1
217
	jne still
218
.exit:
219
	stdcall [gluDeleteQuadric], [qObj]
6100 IgorA 220
	stdcall mem.Free,[image_data_toolbar]
221
	mcall SF_TERMINATE_PROCESS
6013 IgorA 222
 
6100 IgorA 223
align 4
224
but_st_point:
225
	stdcall [gluQuadricDrawStyle], [qObj],GLU_POINT
226
	call draw_3d
8174 IgorA 227
	call [kosglSwapBuffers]
6100 IgorA 228
	ret
6013 IgorA 229
 
230
align 4
6100 IgorA 231
but_st_line:
232
	stdcall [gluQuadricDrawStyle], [qObj],GLU_LINE
233
	call draw_3d
8174 IgorA 234
	call [kosglSwapBuffers]
6100 IgorA 235
	ret
236
 
237
align 4
238
but_st_face:
239
	stdcall [gluQuadricDrawStyle], [qObj],GLU_FILL
240
	call draw_3d
8174 IgorA 241
	call [kosglSwapBuffers]
6100 IgorA 242
	ret
243
 
6189 IgorA 244
align 4
245
but_zoom_p:
246
	finit
247
	fld dword[scale]
6200 IgorA 248
	fadd dword[sc_delt]
249
	fcom dword[sc_max]
250
	fstsw ax
251
	sahf
252
	jbe @f
253
		ffree st0
254
		fincstp
255
		fld dword[sc_max]
256
	@@:
6189 IgorA 257
	fst dword[scale]
258
	mov word[NumberSymbolsAD],3
259
	fstp qword[Data_Double]
260
	call DoubleFloat_to_String
261
	mov byte[txt_scale.v],0
262
	stdcall str_cat, txt_scale.v,Data_String
263
	call draw_3d
8174 IgorA 264
	call [kosglSwapBuffers]
6189 IgorA 265
	ret
6100 IgorA 266
 
267
align 4
6189 IgorA 268
but_zoom_m:
269
	finit
270
	fld dword[scale]
6200 IgorA 271
	fsub dword[sc_delt]
272
	fcom dword[sc_min]
273
	fstsw ax
274
	sahf
275
	ja @f
276
		ffree st0
277
		fincstp
278
		fld dword[sc_min]
279
	@@:
6189 IgorA 280
	fst dword[scale]
281
	mov word[NumberSymbolsAD],3
282
	fstp qword[Data_Double]
283
	call DoubleFloat_to_String
284
	mov byte[txt_scale.v],0
285
	stdcall str_cat, txt_scale.v,Data_String
286
	call draw_3d
8174 IgorA 287
	call [kosglSwapBuffers]
6189 IgorA 288
	ret
289
 
290
 
291
align 4
6013 IgorA 292
caption db 'Test gluSphere, [Esc] - exit, [<-],[->],[Up],[Down] - rotate',0
293
 
294
align 4
295
draw_3d:
296
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины
297
 
8174 IgorA 298
call [glPushMatrix]
6013 IgorA 299
	call SetLight
300
 
301
	stdcall [glTranslatef], 0.0,0.0,0.5
302
	stdcall [glScalef], [scale], [scale], [scale]
303
 
304
	stdcall [glColor3f], 1.0, 1.0, 0.0
305
	stdcall [glRotatef], [angle_z],0.0,0.0,1.0
306
	stdcall [glRotatef], [angle_y],0.0,1.0,0.0
307
	stdcall [gluSphere], [qObj], 1.0, 32,32
308
 
309
	stdcall [glColor3f], 1.0, 0.0, 0.0
310
	stdcall [glTranslatef], -1.6,0.0,0.0
311
	stdcall [gluSphere], [qObj], 0.55, 16,16
312
 
313
	stdcall [glColor3f], 0.0, 0.0, 1.0
314
	stdcall [glTranslatef], 3.2,0.0,0.0
315
	stdcall [gluSphere], [qObj], 0.55, 16,16
8174 IgorA 316
call [glPopMatrix]
6013 IgorA 317
 
318
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_scale,5,5,0xffff00
319
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_z,5,15,0xffff00
320
	stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_y,5,25,0xffff00
321
	ret
322
 
323
align 4
324
SetLight:
325
	stdcall [glLightfv], GL_LIGHT0, GL_POSITION, light_position
326
	stdcall [glLightfv], GL_LIGHT0, GL_SPOT_DIRECTION, light_dir
327
 
328
	stdcall [glLightfv], GL_LIGHT0, GL_DIFFUSE, white_light
329
	stdcall [glLightfv], GL_LIGHT0, GL_SPECULAR, white_light
330
 
331
	stdcall [glEnable], GL_COLOR_MATERIAL
332
	stdcall [glColorMaterial], GL_FRONT, GL_AMBIENT_AND_DIFFUSE
333
	stdcall [glMaterialfv], GL_FRONT, GL_SPECULAR, mat_specular
334
	stdcall [glMaterialf], GL_FRONT, GL_SHININESS, mat_shininess
335
	stdcall [glLightModelfv], GL_LIGHT_MODEL_AMBIENT, lmodel_ambient
336
 
337
	stdcall [glEnable],GL_LIGHTING
338
	stdcall [glEnable],GL_LIGHT0
339
ret
340
 
6200 IgorA 341
scale dd 0.4 ;начальный масштаб
342
sc_delt dd 0.05 ;изменение масштаба при нажатии
343
sc_min dd 0.1 ;минимальный масштаб
344
sc_max dd 1.1 ;максимальный масштаб
6013 IgorA 345
angle_z dd 0.0
346
angle_y dd 0.0
347
delt_size dd 3.0
348
 
349
light_position dd 3.0, 2.0, -10.0, 1.0 ; Расположение источника [0][1][2]
350
	;[3] = (0.0 - бесконечно удаленный источник, 1.0 - источник света на определенном расстоянии)
351
light_dir dd 0.0,0.0,0.0 ;направление лампы
352
mat_specular dd 0.1, 0.1, 0.1, 1.0 ; Цвет блика
353
mat_shininess dd 3.0 ; Размер блика (обратная пропорция)
354
white_light dd 0.8, 0.8, 0.8, 1.0 ; Цвет и интенсивность освещения, генерируемого источником
355
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
356
 
357
;--------------------------------------------------
358
align 4
8408 IgorA 359
import_tinygl:
6013 IgorA 360
 
361
macro E_LIB n
362
{
363
	n dd sz_#n
364
}
365
include '../export.inc'
366
	dd 0,0
367
macro E_LIB n
368
{
369
	sz_#n db `n,0
370
}
371
include '../export.inc'
372
 
373
align 4
374
import_buf2d:
375
	dd sz_init0
376
	buf2d_create dd sz_buf2d_create
377
	buf2d_create_f_img dd sz_buf2d_create_f_img
378
	buf2d_clear dd sz_buf2d_clear
379
	buf2d_draw dd sz_buf2d_draw
380
	buf2d_delete dd sz_buf2d_delete
381
	buf2d_resize dd sz_buf2d_resize
382
	buf2d_line dd sz_buf2d_line
383
	buf2d_rect_by_size dd sz_buf2d_rect_by_size
384
	buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
385
	buf2d_circle dd sz_buf2d_circle
386
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
387
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
388
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
389
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
390
	buf2d_bit_blt dd sz_buf2d_bit_blt
391
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
392
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
393
	buf2d_curve_bezier dd sz_buf2d_curve_bezier
394
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
395
	buf2d_draw_text dd sz_buf2d_draw_text
396
	buf2d_crop_color dd sz_buf2d_crop_color
397
	buf2d_offset_h dd sz_buf2d_offset_h
398
	buf2d_flood_fill dd sz_buf2d_flood_fill
399
	buf2d_set_pixel dd sz_buf2d_set_pixel
400
	dd 0,0
401
	sz_init0 db 'lib_init',0
402
	sz_buf2d_create db 'buf2d_create',0
403
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
404
	sz_buf2d_clear db 'buf2d_clear',0
405
	sz_buf2d_draw db 'buf2d_draw',0
406
	sz_buf2d_delete db 'buf2d_delete',0
407
	sz_buf2d_resize db 'buf2d_resize',0
408
	sz_buf2d_line db 'buf2d_line',0
409
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
410
	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
411
	sz_buf2d_circle db 'buf2d_circle',0
412
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
413
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
414
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
415
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
416
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
417
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
418
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
419
	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
420
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
421
	sz_buf2d_draw_text db 'buf2d_draw_text',0
422
	sz_buf2d_crop_color db 'buf2d_crop_color',0
423
	sz_buf2d_offset_h db 'buf2d_offset_h',0
424
	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
425
	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
426
 
427
align 4
428
import_libimg:
429
	dd alib_init1
8174 IgorA 430
;	img_is_img  dd aimg_is_img
431
;	img_info    dd aimg_info
432
;	img_from_file dd aimg_from_file
433
;	img_to_file dd aimg_to_file
434
;	img_from_rgb dd aimg_from_rgb
435
;	img_to_rgb  dd aimg_to_rgb
6013 IgorA 436
	img_to_rgb2 dd aimg_to_rgb2
437
	img_decode  dd aimg_decode
8174 IgorA 438
;	img_encode  dd aimg_encode
439
;	img_create  dd aimg_create
6013 IgorA 440
	img_destroy dd aimg_destroy
8174 IgorA 441
;	img_destroy_layer dd aimg_destroy_layer
442
;	img_count   dd aimg_count
443
;	img_lock_bits dd aimg_lock_bits
444
;	img_unlock_bits dd aimg_unlock_bits
445
;	img_flip    dd aimg_flip
446
;	img_flip_layer dd aimg_flip_layer
447
;	img_rotate  dd aimg_rotate
448
;	img_rotate_layer dd aimg_rotate_layer
449
;	img_draw    dd aimg_draw
450
;	img_convert dd aimg_convert
6013 IgorA 451
 
452
	dd 0,0
453
	alib_init1   db 'lib_init',0
8174 IgorA 454
;	aimg_is_img  db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
455
;	aimg_info    db 'img_info',0
456
;	aimg_from_file db 'img_from_file',0
457
;	aimg_to_file db 'img_to_file',0
458
;	aimg_from_rgb db 'img_from_rgb',0
459
;	aimg_to_rgb  db 'img_to_rgb',0 ;преобразование изображения в данные RGB
6013 IgorA 460
	aimg_to_rgb2 db 'img_to_rgb2',0
461
	aimg_decode  db 'img_decode',0 ;автоматически определяет формат графических данных
8174 IgorA 462
;	aimg_encode  db 'img_encode',0
463
;	aimg_create  db 'img_create',0
6013 IgorA 464
	aimg_destroy db 'img_destroy',0
8174 IgorA 465
;	aimg_destroy_layer db 'img_destroy_layer',0
466
;	aimg_count   db 'img_count',0
467
;	aimg_lock_bits db 'img_lock_bits',0
468
;	aimg_unlock_bits db 'img_unlock_bits',0
469
;	aimg_flip    db 'img_flip',0
470
;	aimg_flip_layer db 'img_flip_layer',0
471
;	aimg_rotate  db 'img_rotate',0
472
;	aimg_rotate_layer db 'img_rotate_layer',0
473
;	aimg_draw    db 'img_draw',0
474
;	aimg_convert db 'img_convert',0
6013 IgorA 475
 
476
;--------------------------------------------------
6737 leency 477
system_dir_0 db '/sys/lib/'
6013 IgorA 478
lib_name_0 db 'tinygl.obj',0
479
system_dir_1 db '/sys/lib/'
480
lib_name_1 db 'buf2d.obj',0
481
system_dir_2 db '/sys/lib/'
482
lib_name_2 db 'libimg.obj',0
483
;--------------------------------------------------
484
 
485
txt_scale:
486
db 'Scale: '
487
.v:
488
db 0
489
rb 10
490
 
491
txt_angle_z:
492
db 'Rotate z: '
493
.v:
494
db 0
495
rb 10
496
 
497
txt_angle_y:
498
db 'Rotate y: '
499
.v:
500
db 0
501
rb 10
502
 
503
align 4
504
buf_ogl:
505
	dd 0 ;указатель на буфер изображения
506
	dw 10,10 ;+4 left,top
507
.w: dd 400
508
.h: dd 350
509
	dd 0,24 ;+16 color,bit in pixel
510
 
511
align 4
512
buf_1:
513
	dd 0 ;указатель на буфер изображения
6200 IgorA 514
	dd 0 ;+4 left,top
515
.w: dd 0
516
.h: dd 0,0,24 ;+16 color,bit in pixel
6013 IgorA 517
 
518
align 4
519
l_libs_start:
8408 IgorA 520
	lib_0 l_libs lib_name_0, file_name, system_dir_0, import_tinygl
521
	lib_1 l_libs lib_name_1, file_name, system_dir_1, import_buf2d
522
	lib_2 l_libs lib_name_2, file_name, system_dir_2, import_libimg
6013 IgorA 523
l_libs_end:
524
 
525
align 4
526
i_end:
8174 IgorA 527
	ctx1 rb 28 ;sizeof.TinyGLContext = 28
8408 IgorA 528
	image_data_toolbar dd 0
8174 IgorA 529
	qObj dd 0
6013 IgorA 530
	run_file_70 FileInfoBlock
6100 IgorA 531
	sc system_colors
6013 IgorA 532
align 16
8408 IgorA 533
	cur_dir_path rb 4096
534
	file_name rb 4096
6013 IgorA 535
	rb 4096
536
stacktop:
537
mem: