Subversion Repositories Kolibri OS

Rev

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

Rev 8236 Rev 8255
Line 36... Line 36...
36
; Shift+~               - ᬥ­  ª®¤¨à®¢ª¨ (cp866 ¨«¨ cp1251,koi8-r)
36
; Shift+~               - ᬥ­  ª®¤¨à®¢ª¨ (cp866 ¨«¨ cp1251,koi8-r)
Line 37... Line 37...
37
 
37
 
38
;  ¬ïâì ¯¥à¥à á¯à¥¤¥«ï¥âáï ­  㢥«¨ç¥­¨¥ i umen'shenie.
38
;  ¬ïâì ¯¥à¥à á¯à¥¤¥«ï¥âáï ­  㢥«¨ç¥­¨¥ i umen'shenie.
Line 39... Line 39...
39
; ” ©« § £à㦠¥âáï 楫¨ª®¬.
39
; ” ©« § £à㦠¥âáï 楫¨ª®¬.
40
 
40
 
41
; Œ ªà®áë load_lib.mac, editbox_ex ¨ ¡¨¡«¨®â¥ªã box_lib.obj ᮧ¤ «¨:
41
; Œ ªà®áë load_lib.mac ¨ ¡¨¡«¨®â¥ªã box_lib.obj ᮧ¤ «¨:
42
;  - Alexey Teplov / €«¥ªá¥© ’¥¯«®¢
42
;  - Alexey Teplov / €«¥ªá¥© ’¥¯«®¢
43
; Mario79, Mario - Marat Zakiyanov / Œ à â ‡ ª¨ï­®¢
43
; Mario79, Mario - Marat Zakiyanov / Œ à â ‡ ª¨ï­®¢
44
; Diamondz - Evgeny Grechnikov / …¢£¥­¨© ƒà¥ç­¨ª®¢ ¨ ¤à.
44
; Diamondz - Evgeny Grechnikov / …¢£¥­¨© ƒà¥ç­¨ª®¢ ¨ ¤à.
45
;
45
;
46
; staper@inbox.ru
46
; staper@inbox.ru
47
; babalbes@yandex.ru
47
; babalbes@yandex.ru
48
;--------------------------------------------------------------------
48
;--------------------------------------------------------------------
49
use32
49
use32
50
	org	0x0
50
	org	0
51
	db	'MENUET01'
51
	db	'MENUET01'
52
	dd	0x1
52
	dd	1
53
	dd	START	;program start
53
	dd	START	;program start
54
	dd	I_END	;program image	size
54
	dd	I_END	;program image	size
55
	dd	(D_END+0x600) and not 3	;required amount of memory
55
	dd	(D_END+0x600) and not 3	;required amount of memory
Line 89... Line 89...
89
;--------------------------------------------------------------------
89
;--------------------------------------------------------------------
90
FIRST_HEX equ 0*65536+24
90
FIRST_HEX equ 0*65536+24
91
scroll_width_size equ 15
91
scroll_width_size equ 15
92
;--------------------------------------------------------------------
92
;--------------------------------------------------------------------
93
struct	f70
93
struct	f70
94
	func_n	rd 1
94
	Function	rd 1
95
	param1	rd 1
95
	Position	rd 1
96
	param2	rd 1
96
	Flags	rd 1
97
	param3	rd 1
97
	Count	rd 1
98
	param4	rd 1
98
	Buffer	rd 1
99
	rezerv	rb 1
99
	rezerv	rb 1
100
	name	rd 1
100
	FileName	rd 1
101
ends
101
ends
102
;--------------------------------------------------------------------
102
;--------------------------------------------------------------------
103
START:
103
START:
104
	mcall	68,11
104
	mcall	SF_SYS_MISC,SSF_HEAP_INIT
Line 105... Line 105...
105
 
105
 
106
load_libraries l_libs_start,end_l_libs
106
load_libraries l_libs_start,end_l_libs
107
;--------------------------------------------------------------------
107
;--------------------------------------------------------------------
108
;OpenDialog	initialisation
108
;OpenDialog	initialisation
Line 137... Line 137...
137
	lodsb
137
	lodsb
138
	stosb
138
	stosb
139
	test	eax,eax
139
	test	eax,eax
140
	jnz	@b
140
	jnz	@b
Line 141... Line 141...
141
 
141
 
Line 142... Line 142...
142
	mcall	40,0x27
142
	mcall	SF_SET_EVENTS_MASK,0x27
143
 
143
 
144
	mcall	68,12,32*1024	;áâà ­¨ç­ë© ¡ãä¥à
144
	mcall	SF_SYS_MISC,SSF_MEM_ALLOC,32*1024	;áâà ­¨ç­ë© ¡ãä¥à
Line 145... Line 145...
145
	mov	[screen_table],eax
145
	mov	[screen_table],eax
Line 146... Line 146...
146
	mcall	68,12,4*1024
146
	mcall	SF_SYS_MISC,SSF_MEM_ALLOC,4*1024
147
 
147
 
Line 148... Line 148...
148
	mov	[file_buffer],eax
148
	mov	[file_buffer],eax
149
 
149
 
Line 163... Line 163...
163
	sub	esi,cur_dir_path
163
	sub	esi,cur_dir_path
164
	mov	[edit1.pos],esi
164
	mov	[edit1.pos],esi
165
	mov	[edit1.size],esi
165
	mov	[edit1.size],esi
Line 166... Line 166...
166
 
166
 
167
	;®¡é¥á¨á⥬­ë¥ ª« ¢¨è¨ ¤«ï Shift+ªãàá®àë
167
	;®¡é¥á¨á⥬­ë¥ ª« ¢¨è¨ ¤«ï Shift+ªãàá®àë
168
;	mcall	66,4,75,1
168
;	mcall	SF_KEYBOARD,SSF_SET_SYS_HOTKEY,75,1
169
;	mcall	66,,77
169
;	mcall	SF_KEYBOARD,,77
170
;	mcall	66,,72
170
;	mcall	SF_KEYBOARD,,72
Line 171... Line 171...
171
;	mcall	66,,80
171
;	mcall	SF_KEYBOARD,,80
172
 
172
 
173
	call	ready_screen_buffer
173
	call	ready_screen_buffer
174
;	jmp	open_file
174
;	jmp	open_file
175
	mcall	9,procinfo,-1
175
	mcall	SF_THREAD_INFO,procinfo,-1
176
	mov	ecx,[ebx+30]	; PID
176
	mov	ecx,[ebx+30]	; PID
177
	mcall	18,21
177
	mcall	SF_SYSTEM,SSF_GET_THREAD_SLOT
178
	mov	[active_process],eax	; WINDOW SLOT
178
	mov	[active_process],eax	; WINDOW SLOT
179
;--------------------------------------------------------------------
179
;--------------------------------------------------------------------
180
; open the file if program has a file path, when it was launched
180
; open the file if program has a file path, when it was launched
181
	cmp	[fname_buf],byte 0
181
	cmp	[fname_buf],byte 0
182
	jne	open_dialog.start
182
	jne	open_dialog.start
183
;--------------------------------------------------------------------
183
;--------------------------------------------------------------------
184
redraw_all:
184
redraw_all:
185
	call	control_minimal_window_size
185
	call	control_minimal_window_size
186
	call	draw_window_1
186
	call	draw_window_1
Line 187... Line 187...
187
still:
187
still:
188
	mcall	10
188
	mcall	SF_WAIT_EVENT
189
 
189
 
190
	cmp	eax,6
190
	cmp	eax,6
Line 197... Line 197...
197
	jz	button
197
	jz	button
198
	jmp	still
198
	jmp	still
199
;---------------------------------------------------------------------
199
;---------------------------------------------------------------------
200
control_minimal_window_size:
200
control_minimal_window_size:
201
	pusha
201
	pusha
202
	mcall	9,procinfo,-1
202
	mcall	SF_THREAD_INFO,procinfo,-1
203
	mov	eax,[ebx+70]
203
	mov	eax,[ebx+70]
204
	test	eax,10b
204
	test	eax,10b
205
	jnz	.end
205
	jnz	.end
206
	test	eax,100b
206
	test	eax,100b
207
	jnz	.end
207
	jnz	.end
Line 211... Line 211...
211
	mov	eax,procinfo
211
	mov	eax,procinfo
212
	mov	eax,[eax+46]
212
	mov	eax,[eax+46]
213
	cmp	eax,299
213
	cmp	eax,299
214
	jae	@f
214
	jae	@f
215
	mov	esi,299
215
	mov	esi,299
216
	mcall	67,-1,ebx,ebx
216
	mcall	SF_CHANGE_WINDOW,-1,ebx,ebx
217
@@:
217
@@:
218
	mov	edx,-1
218
	mov	edx,-1
219
	mov	eax,procinfo
219
	mov	eax,procinfo
220
	mov	eax,[eax+42]
220
	mov	eax,[eax+42]
221
	cmp	eax,399
221
	cmp	eax,399
222
	jae	@f
222
	jae	@f
223
	mov	edx,399
223
	mov	edx,399
224
	mcall	67,-1,ebx,,ebx
224
	mcall	SF_CHANGE_WINDOW,-1,ebx,,ebx
225
@@:
225
@@:
226
.end:
226
.end:
227
	popa
227
	popa
228
	ret
228
	ret
229
;---------------------------------------------------------------------
229
;---------------------------------------------------------------------
Line 249... Line 249...
249
	call	main_area
249
	call	main_area
250
.end:
250
.end:
251
	ret
251
	ret
252
;---------------------------------------------------------------------
252
;---------------------------------------------------------------------
253
key:
253
key:
254
	mcall	2
254
	mcall	SF_GET_KEY
255
	dec	al
255
	dec	al
256
	jz	still
256
	jz	still
257
	dec	al
257
	dec	al
258
	jz	key.syst
258
	jz	key.syst
259
	cmp	ah,2
259
	cmp	ah,2
Line 358... Line 358...
358
	cmp	ah,77
358
	cmp	ah,77
359
	cmp	ah,80
359
	cmp	ah,80
360
	jmp	still
360
	jmp	still
361
;--------------------------------------------------------------------
361
;--------------------------------------------------------------------
362
button:
362
button:
363
	mcall	17
363
	mcall	SF_GET_BUTTON
364
	dec	ah
364
	dec	ah
365
	jnz	still
365
	jnz	still
Line 366... Line 366...
366
 
366
 
367
	jmp	close_prog
367
	jmp	close_prog
368
;--------------------------------------------------------------------
368
;--------------------------------------------------------------------
369
align	4
369
align	4
370
mouse:
370
mouse:
371
	mcall	18,7
371
	mcall	SF_SYSTEM,SSF_GET_ACTIVE_WINDOW
372
	cmp	[active_process],eax
372
	cmp	[active_process],eax
Line 373... Line 373...
373
	jne	still
373
	jne	still
374
 
374
 
375
	mcall	37,7
375
	mcall	SF_MOUSE_GET,SSF_SCROLL_DATA
376
	test	eax,eax
376
	test	eax,eax
377
	jz	.menu_bar_1;.mouse
377
	jz	.menu_bar_1;.mouse
378
	bt	eax,15
378
	bt	eax,15
Line 472... Line 472...
472
	jne	still
472
	jne	still
473
	call	create_help_window
473
	call	create_help_window
474
	jmp	still
474
	jmp	still
475
;--------------------------------------------------------------------
475
;--------------------------------------------------------------------
476
.scroll_bar:
476
.scroll_bar:
477
;	mcall	37,2
477
;	mcall	SF_MOUSE_GET,SSF_BUTTON
478
;	test	eax,eax
478
;	test	eax,eax
479
;	jnz	@f
479
;	jnz	@f
480
;	btr	[flags],5
480
;	btr	[flags],5
481
;	btr	[flags],7
481
;	btr	[flags],7
482
;	jmp	still
482
;	jmp	still
Line 483... Line 483...
483
 
483
 
484
.mouse:
484
.mouse:
485
.vertical:
485
.vertical:
486
	mcall	37,2
486
	mcall	SF_MOUSE_GET,SSF_BUTTON
487
	test	eax,eax
487
	test	eax,eax
488
	jnz	@f
488
	jnz	@f
489
	btr	[flags],5
489
	btr	[flags],5
490
	btr	[flags],7
490
	btr	[flags],7
Line 494... Line 494...
494
	bt	[flags],5
494
	bt	[flags],5
495
	jc	@f
495
	jc	@f
496
	bt	[flags],7
496
	bt	[flags],7
497
	jc	.horizontal_0
497
	jc	.horizontal_0
Line 498... Line 498...
498
 
498
 
499
	mcall	37,1
499
	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION
500
	shr	eax,16
500
	shr	eax,16
501
	cmp	ax,[scroll_bar_data_vertical.start_x]
501
	cmp	ax,[scroll_bar_data_vertical.start_x]
502
	jb	.horizontal
502
	jb	.horizontal
503
	sub	ax,[scroll_bar_data_vertical.start_x]
503
	sub	ax,[scroll_bar_data_vertical.start_x]
Line 564... Line 564...
564
.horizontal:
564
.horizontal:
565
	mov	eax,[scroll_bar_data_horizontal.max_area]
565
	mov	eax,[scroll_bar_data_horizontal.max_area]
566
	cmp	eax,[scroll_bar_data_horizontal.cur_area]
566
	cmp	eax,[scroll_bar_data_horizontal.cur_area]
567
	jbe	.other
567
	jbe	.other
Line 568... Line 568...
568
 
568
 
569
	mcall	37,1
569
	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION
570
	cmp	ax,[scroll_bar_data_horizontal.start_y]
570
	cmp	ax,[scroll_bar_data_horizontal.start_y]
571
	jb	still
571
	jb	still
572
	sub	ax,[scroll_bar_data_horizontal.start_y]
572
	sub	ax,[scroll_bar_data_horizontal.start_y]
573
	cmp	ax,[scroll_bar_data_horizontal.size_y]
573
	cmp	ax,[scroll_bar_data_horizontal.size_y]
Line 574... Line 574...
574
	jge	still
574
	jge	still
575
 
575
 
576
	; mouse event for Horizontal ScrollBar
576
	; mouse event for Horizontal ScrollBar
577
.horizontal_0:
577
.horizontal_0:
578
;	mcall	37,2
578
;	mcall	SF_MOUSE_GET,SSF_BUTTON
579
;	test	eax,eax
579
;	test	eax,eax
580
;	jnz	@f
580
;	jnz	@f
581
;	btr	[flags],5
581
;	btr	[flags],5
582
;	btr	[flags],7
582
;	btr	[flags],7
583
;	jmp	still
583
;	jmp	still
Line 584... Line 584...
584
;@@:;	bt	[flags],7
584
;@@:;	bt	[flags],7
585
;	jc	@f
585
;	jc	@f
586
 
586
 
587
;	mcall	37,1
587
;	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION
588
;	shr	eax,16
588
;	shr	eax,16
589
;	cmp	ax,[scroll_bar_data_vertical.start_x]
589
;	cmp	ax,[scroll_bar_data_vertical.start_x]
Line 949... Line 949...
949
	inc	ecx
949
	inc	ecx
950
.5:
950
.5:
951
	div	ecx
951
	div	ecx
952
	mov	[scroll_bar_data_vertical.position],eax
952
	mov	[scroll_bar_data_vertical.position],eax
Line 953... Line 953...
953
 
953
 
954
	mcall	37,2	;ª¯®¯ª 	¬ëè¨ ­ ¦ â  - ­¥â á¬ëá«  ¯¥à¥à¨á®¢ë¢ âì ScrollBar
954
	mcall	SF_MOUSE_GET,SSF_BUTTON	;ª¯®¯ª 	¬ëè¨ ­ ¦ â  - ­¥â á¬ëá«  ¯¥à¥à¨á®¢ë¢ âì ScrollBar
955
	test	eax,eax
955
	test	eax,eax
956
	jnz	.4
956
	jnz	.4
957
	push	dword scroll_bar_data_vertical
957
	push	dword scroll_bar_data_vertical
Line 993... Line 993...
993
	add	edi,palitra
993
	add	edi,palitra
994
	shl	bx,4
994
	shl	bx,4
995
	add	ebx,font_buffer
995
	add	ebx,font_buffer
996
	mov	ecx,8*65536+16
996
	mov	ecx,8*65536+16
997
	mov	ebp,0
997
	mov	ebp,0
998
	mcall	65
998
	mcall	SF_PUT_IMAGE_EXT
999
	pop	edi
999
	pop	edi
Line 1000... Line 1000...
1000
 
1000
 
1001
	add	edi,2
1001
	add	edi,2
Line 1044... Line 1044...
1044
	mov	ax,[scroll_bar_data_vertical.start_x]
1044
	mov	ax,[scroll_bar_data_vertical.start_x]
1045
	sub	ax,bx
1045
	sub	ax,bx
1046
	shl	ebx,16
1046
	shl	ebx,16
1047
	mov	bx,ax
1047
	mov	bx,ax
1048
	mov	cx,16
1048
	mov	cx,16
1049
	mcall	13,,,frgrd_color
1049
	mcall	SF_DRAW_RECT,,,frgrd_color
1050
.ls1:
1050
.ls1:
1051
	popad
1051
	popad
1052
	jmp	@f
1052
	jmp	@f
1053
;--------------------------------------------------------------------
1053
;--------------------------------------------------------------------
1054
.loop_str:
1054
.loop_str:
Line 1074... Line 1074...
1074
	jnz	.no_inc_ebx
1074
	jnz	.no_inc_ebx
1075
	inc	ebx
1075
	inc	ebx
1076
.no_inc_ebx:
1076
.no_inc_ebx:
1077
	sub	ecx,2*65536
1077
	sub	ecx,2*65536
1078
	mov	cx,2
1078
	mov	cx,2
1079
	mcall	13
1079
	mcall	SF_DRAW_RECT
1080
	popad
1080
	popad
Line 1081... Line 1081...
1081
 
1081
 
1082
	pushad
1082
	pushad
1083
	mov	ecx,edx
1083
	mov	ecx,edx
Line 1095... Line 1095...
1095
	mov	ax,[scroll_bar_data_vertical.size_x]
1095
	mov	ax,[scroll_bar_data_vertical.size_x]
1096
	test	ax,ax
1096
	test	ax,ax
1097
	jnz	.no_inc_ebx_2
1097
	jnz	.no_inc_ebx_2
1098
	inc	ebx
1098
	inc	ebx
1099
.no_inc_ebx_2:
1099
.no_inc_ebx_2:
1100
	mcall	13,,,frgrd_color
1100
	mcall	SF_DRAW_RECT,,,frgrd_color
1101
.10:
1101
.10:
1102
	popad
1102
	popad
1103
	jmp	@f
1103
	jmp	@f
1104
;--------------------------------------------------------------------
1104
;--------------------------------------------------------------------
1105
.next_string:
1105
.next_string:
Line 1225... Line 1225...
1225
	xor	ebx,ebx
1225
	xor	ebx,ebx
1226
	mov	bl,al
1226
	mov	bl,al
1227
	shl	ebx,4
1227
	shl	ebx,4
1228
	add	ebx,font_buffer
1228
	add	ebx,font_buffer
1229
	push	eax
1229
	push	eax
1230
	mcall	65
1230
	mcall	SF_PUT_IMAGE_EXT
1231
	pop	eax
1231
	pop	eax
1232
	sub	edx,8*65536
1232
	sub	edx,8*65536
1233
	dec	dword [esp]
1233
	dec	dword [esp]
1234
	jnz	@b
1234
	jnz	@b
1235
	add	esp,4
1235
	add	esp,4
Line 1266... Line 1266...
1266
	shl	eax,4
1266
	shl	eax,4
1267
	add	eax,font_buffer
1267
	add	eax,font_buffer
1268
	xchg	eax,ebx
1268
	xchg	eax,ebx
1269
	mov	edi,palitra.5
1269
	mov	edi,palitra.5
1270
	mov	ebp,0
1270
	mov	ebp,0
1271
	mcall	65
1271
	mcall	SF_PUT_IMAGE_EXT
1272
	add	edx,8*65536
1272
	add	edx,8*65536
1273
	pop	edi
1273
	pop	edi
1274
	inc	edi
1274
	inc	edi
1275
	dec	dword [esp]
1275
	dec	dword [esp]
1276
	jnz	.2
1276
	jnz	.2
Line 1355... Line 1355...
1355
	mov	[prev_f_size_bl],eax
1355
	mov	[prev_f_size_bl],eax
1356
	xor	edx,edx
1356
	xor	edx,edx
1357
	mul	ecx
1357
	mul	ecx
1358
	add	ecx,eax
1358
	add	ecx,eax
1359
.1:
1359
.1:
1360
	mcall	68,20,,[file_buffer]
1360
	mcall	SF_SYS_MISC,SSF_MEM_REALLOC,,[file_buffer]
1361
.ret:
1361
.ret:
1362
	popad
1362
	popad
1363
	ret
1363
	ret
1364
;--------------------------------------------------------------------
1364
;--------------------------------------------------------------------
1365
align	4
1365
align	4
Line 1392... Line 1392...
1392
;---------------------------------------------------------------------
1392
;---------------------------------------------------------------------
1393
align	4
1393
align	4
1394
draw_window:
1394
draw_window:
1395
	call	create_title
1395
	call	create_title
1396
	xor	esi,esi
1396
	xor	esi,esi
1397
	mcall	0,100*65536+653,100*65536+360,((0x73 shl 24) + frgrd_color),,title_buf	;title
1397
	mcall	SF_CREATE_WINDOW,100*65536+653,100*65536+360,((0x73 shl 24) + frgrd_color),,title_buf	;title
1398
	mcall	9,threath_buf,-1
1398
	mcall	SF_THREAD_INFO,threath_buf,-1
1399
;	cmp	byte [threath_buf+70],3	;®ª­® á¢ñà­ãâ® ¢ § £®«®¢®ª?
1399
;	cmp	byte [threath_buf+70],3	;®ª­® á¢ñà­ãâ® ¢ § £®«®¢®ª?
1400
;	jnae	@f
1400
;	jnae	@f
1401
	mov	eax,[threath_buf+70]
1401
	mov	eax,[threath_buf+70]
1402
	test	eax,10b
1402
	test	eax,10b
1403
	jnz	.@d
1403
	jnz	.@d
Line 1411... Line 1411...
1411
	cmp	dword [threath_buf+66],(24*4)	;¯à®¢¥àª  ¬¨­¨¬ «ì­®© ¢ëá®âë
1411
	cmp	dword [threath_buf+66],(24*4)	;¯à®¢¥àª  ¬¨­¨¬ «ì­®© ¢ëá®âë
1412
	jae	@f
1412
	jae	@f
1413
	mov	esi,dword [threath_buf+46]
1413
	mov	esi,dword [threath_buf+46]
1414
	sub	esi,dword [threath_buf+66]
1414
	sub	esi,dword [threath_buf+66]
1415
	add	esi,24*4
1415
	add	esi,24*4
1416
	mcall	67,-1,-1,-1,
1416
	mcall	SF_CHANGE_WINDOW,-1,-1,-1,
1417
	jmp	.@d
1417
	jmp	.@d
1418
;--------------------------------------
1418
;--------------------------------------
1419
@@:
1419
@@:
1420
	cmp	dword [threath_buf+62],(26*6)	;¯à®¢¥àª  ¬¨­¨¬ «ì­®© è¨à¨­ë
1420
	cmp	dword [threath_buf+62],(26*6)	;¯à®¢¥àª  ¬¨­¨¬ «ì­®© è¨à¨­ë
1421
	jae	@f
1421
	jae	@f
1422
	mov	edx,dword [threath_buf+42]
1422
	mov	edx,dword [threath_buf+42]
1423
	sub	edx,dword [threath_buf+62]
1423
	sub	edx,dword [threath_buf+62]
1424
	add	edx,26*6
1424
	add	edx,26*6
1425
	mcall	67,-1,-1,,-1
1425
	mcall	SF_CHANGE_WINDOW,-1,-1,,-1
1426
	jmp	.@d
1426
	jmp	.@d
1427
;--------------------------------------
1427
;--------------------------------------
1428
@@:
1428
@@:
1429
	mov	eax,[file_size]
1429
	mov	eax,[file_size]
1430
	mov	ebx,[bytes_per_line]
1430
	mov	ebx,[bytes_per_line]
Line 1466... Line 1466...
1466
	inc	ebx
1466
	inc	ebx
1467
	mov	ecx,(FIRST_HEX-18)
1467
	mov	ecx,(FIRST_HEX-18)
1468
	ror	ecx,16
1468
	ror	ecx,16
1469
	mov	cx,18
1469
	mov	cx,18
1470
	ror	ecx,16
1470
	ror	ecx,16
1471
	mcall	13,,,frgrd_color	;¯®«®á  ᢥàåã
1471
	mcall	SF_DRAW_RECT,,,frgrd_color	;¯®«®á  ᢥàåã
Line 1472... Line 1472...
1472
 
1472
 
Line 1473... Line 1473...
1473
	mcall	,,18,panel_clr1	;¢¥àå­ïï ¯ ­¥«ì
1473
	mcall	,,18,panel_clr1	;¢¥àå­ïï ¯ ­¥«ì
1474
 
1474
 
1475
	dec	ebx
1475
	dec	ebx
1476
	mcall	38,,<18,18>,panel_clr2
1476
	mcall	SF_DRAW_LINE,,<18,18>,panel_clr2
1477
	mov	ecx,dword [threath_buf+66]
1477
	mov	ecx,dword [threath_buf+66]
1478
	sub	cx,18
1478
	sub	cx,18
1479
	push	cx
1479
	push	cx
1480
	shl	ecx,16
1480
	shl	ecx,16
1481
	pop	cx
1481
	pop	cx
1482
	mcall	,,,panel_clr3	;­¨¦­ïï ¯ ­¥«ì
1482
	mcall	,,,panel_clr3	;­¨¦­ïï ¯ ­¥«ì
1483
	inc	ebx
1483
	inc	ebx
1484
	add	ecx,1*65536
1484
	add	ecx,1*65536
Line 1485... Line 1485...
1485
	mov	cx,18
1485
	mov	cx,18
1486
	mcall	13,,,panel_clr1
1486
	mcall	SF_DRAW_RECT,,,panel_clr1
1487
 
1487
 
Line 1518... Line 1518...
1518
	shl	ecx,16
1518
	shl	ecx,16
1519
	add	cx,dx
1519
	add	cx,dx
1520
	sub	ecx,1*65536
1520
	sub	ecx,1*65536
1521
	movzx	ebx,	word [scroll_bar_data_vertical.start_x]
1521
	movzx	ebx,	word [scroll_bar_data_vertical.start_x]
1522
	inc	ebx
1522
	inc	ebx
1523
	mcall	13,,,frgrd_color
1523
	mcall	SF_DRAW_RECT,,,frgrd_color
Line 1524... Line 1524...
1524
 
1524
 
Line 1525... Line 1525...
1525
	pop	eax
1525
	pop	eax
1526
 
1526
 
Line 1608... Line 1608...
1608
	bts	[flags],6
1608
	bts	[flags],6
1609
	ret
1609
	ret
1610
;--------------------------------------------------------------------
1610
;--------------------------------------------------------------------
1611
align	4
1611
align	4
1612
start_draw:
1612
start_draw:
1613
	mcall	12,1
1613
	mcall	SF_REDRAW,SSF_BEGIN_DRAW
1614
	ret
1614
	ret
1615
;--------------------------------------------------------------------
1615
;--------------------------------------------------------------------
1616
end_draw:
1616
end_draw:
1617
	mcall	12,2
1617
	mcall	SF_REDRAW,SSF_END_DRAW
1618
	ret
1618
	ret
1619
;--------------------------------------------------------------------
1619
;--------------------------------------------------------------------
1620
close_prog:
1620
close_prog:
1621
	mcall	-1
1621
	mcall	SF_TERMINATE_PROCESS
1622
;--------------------------------------------------------------------
1622
;--------------------------------------------------------------------
1623
change_codepage:	;¬¥­ï¥¬ ¢â®àãî ¯®«®¢¨­ã â ¡«¨æë
1623
change_codepage:	;¬¥­ï¥¬ ¢â®àãî ¯®«®¢¨­ã â ¡«¨æë
1624
	test	ah,ah
1624
	test	ah,ah
1625
	jnz	@f
1625
	jnz	@f
1626
	btc	[flags],4
1626
	btc	[flags],4
Line 1670... Line 1670...
1670
	push	edi
1670
	push	edi
1671
	mov	bl,[edi]
1671
	mov	bl,[edi]
1672
	shl	bx,4
1672
	shl	bx,4
1673
	add	ebx,font_buffer
1673
	add	ebx,font_buffer
1674
	mov	edi,palitra.5
1674
	mov	edi,palitra.5
1675
	mcall	65
1675
	mcall	SF_PUT_IMAGE_EXT
1676
	add	edx,8*65536
1676
	add	edx,8*65536
1677
	pop	edi
1677
	pop	edi
1678
	inc	edi
1678
	inc	edi
1679
	dec	dword [esp]
1679
	dec	dword [esp]
1680
	jnz	@b
1680
	jnz	@b
Line 1700... Line 1700...
1700
	mov	bl,[edi]
1700
	mov	bl,[edi]
1701
	shl	bx,4
1701
	shl	bx,4
1702
.2:
1702
.2:
1703
	add	ebx,font_buffer
1703
	add	ebx,font_buffer
1704
	mov	edi,palitra.5
1704
	mov	edi,palitra.5
1705
	mcall	65
1705
	mcall	SF_PUT_IMAGE_EXT
1706
	add	edx,8*65536
1706
	add	edx,8*65536
1707
	pop	edi
1707
	pop	edi
1708
	inc	edi
1708
	inc	edi
1709
	dec	dword [esp]
1709
	dec	dword [esp]
1710
	jnz	.1
1710
	jnz	.1
Line 1714... Line 1714...
1714
	;help window
1714
	;help window
1715
create_help_window:
1715
create_help_window:
1716
	pushad
1716
	pushad
1717
        cmp	[help_is_open_already], 1
1717
        cmp	[help_is_open_already], 1
1718
        jne	@f
1718
        jne	@f
1719
  	mov     ECX, [help_window_pid]
1719
  	mov     ecx, [help_window_pid]
1720
        mcall   18, 21
1720
        mcall   SF_SYSTEM, SSF_GET_THREAD_SLOT
1721
        xchg    EAX, ECX
1721
        xchg    eax, ecx
1722
        mcall   18, 3
1722
        mcall   SF_SYSTEM, SSF_FOCUS_WINDOW
1723
	popad
1723
	popad
1724
        ret
1724
        ret
1725
;---------------------------------------------------------------------
1725
;---------------------------------------------------------------------
1726
@@:
1726
@@:
1727
	mcall	51,1,.thread,(.threat_stack+16*4)
1727
	mcall	SF_CREATE_THREAD,1,.thread,(.threat_stack+16*4)
1728
        mov     [help_is_open_already], 1
1728
        mov     [help_is_open_already], 1
1729
        mov     [help_window_pid], EAX
1729
        mov     [help_window_pid], eax
1730
	popad
1730
	popad
1731
	ret
1731
	ret
1732
;--------------------------------------------------------------------
1732
;--------------------------------------------------------------------
1733
.thread:
1733
.thread:
1734
	call	.window
1734
	call	.window
1735
;--------------------------------------------------------------------
1735
;--------------------------------------------------------------------
1736
.still:
1736
.still:
1737
	mcall	10
1737
	mcall	SF_WAIT_EVENT
1738
	dec	al
1738
	dec	al
1739
	jz	.red
1739
	jz	.red
1740
	dec	al
1740
	dec	al
1741
	jz	.key
1741
	jz	.key
1742
	dec	al
1742
	dec	al
1743
	jz	.button
1743
	jz	.button
1744
	jmp	.still
1744
	jmp	.still
1745
;--------------------------------------------------------------------
1745
;--------------------------------------------------------------------
1746
        and	[help_is_open_already], 0
1746
        and	[help_is_open_already], 0
1747
	mcall	-1
1747
	mcall	SF_TERMINATE_PROCESS
1748
.button:
1748
.button:
1749
	mcall	17,1
1749
	mcall	SF_GET_BUTTON
1750
	cmp	ah,1
1750
	cmp	ah,1
1751
	jne	@f
1751
	jne	@f
1752
        and	[help_is_open_already], 0
1752
        and	[help_is_open_already], 0
1753
	mcall	-1
1753
	mcall	SF_TERMINATE_PROCESS
1754
@@:
1754
@@:
1755
	cmp	ah,2
1755
	cmp	ah,2
1756
	jne	@f
1756
	jne	@f
1757
	mov	edi,(help_end-help_text)/51
1757
	mov	edi,(help_end-help_text)/51
1758
	movzx	eax,[cur_help_string]
1758
	movzx	eax,[cur_help_string]
Line 1769... Line 1769...
1769
	je	.still
1769
	je	.still
1770
	dec	[cur_help_string]
1770
	dec	[cur_help_string]
1771
	jmp	.red
1771
	jmp	.red
1772
;--------------------------------------------------------------------
1772
;--------------------------------------------------------------------
1773
.key:
1773
.key:
1774
	mcall	2
1774
	mcall	SF_GET_KEY
1775
	jmp	.still
1775
	jmp	.still
1776
;--------------------------------------------------------------------
1776
;--------------------------------------------------------------------
1777
.red:
1777
.red:
1778
	call	.window
1778
	call	.window
1779
	jmp	.still
1779
	jmp	.still
1780
;--------------------------------------------------------------------
1780
;--------------------------------------------------------------------
1781
.window:
1781
.window:
1782
	pushad
1782
	pushad
1783
	mcall	12,1
1783
	mcall	SF_REDRAW,SSF_BEGIN_DRAW
1784
	mcall	0,50*65536+320,0x70*65536+240,0x13000000,,help_but_text
1784
	mcall	SF_CREATE_WINDOW,50*65536+320,0x70*65536+240,0x13000000,,help_but_text
1785
	mcall	8,<130,20>,<6,12>,2,0xaaaaaa
1785
	mcall	SF_DEFINE_BUTTON,<130,20>,<6,12>,2,0xaaaaaa
1786
	mcall	,<150,20>,,3,
1786
	mcall	,<150,20>,,3,
1787
	mov	ebx,8*65536+15
1787
	mov	ebx,8*65536+15
1788
	mov	ecx,0x00DDDDDD
1788
	mov	ecx,0x00DDDDDD
1789
	xor	edx,edx
1789
	xor	edx,edx
1790
	movzx	eax,byte [cur_help_string]
1790
	movzx	eax,byte [cur_help_string]
Line 1792... Line 1792...
1792
	sub	edi,eax
1792
	sub	edi,eax
1793
	mov	esi,51
1793
	mov	esi,51
1794
	mul	si
1794
	mul	si
1795
	mov	edx,help_text
1795
	mov	edx,help_text
1796
	add	edx,eax
1796
	add	edx,eax
1797
	mov	eax,4
1797
	mov	eax,SF_DRAW_TEXT
1798
@@:
1798
@@:
1799
	add	ebx,0x10
1799
	add	ebx,0x10
1800
	mcall
1800
	mcall
1801
	add	edx,51
1801
	add	edx,51
1802
	dec	edi
1802
	dec	edi
1803
	jnz	@b
1803
	jnz	@b
1804
	mcall	12,2
1804
	mcall	SF_REDRAW,SSF_END_DRAW
1805
	popad
1805
	popad
1806
	ret
1806
	ret
1807
;--------------------------------------------------------------------
1807
;--------------------------------------------------------------------
1808
.threat_stack:	times	16	dd	0
1808
.threat_stack:	times	16	dd	0
1809
;--------------------------------------------------------------------
1809
;--------------------------------------------------------------------
1810
open_file:
1810
open_file:
1811
	mov	[func_70.func_n],5
1811
	mov	[func_70.Function],SSF_GET_INFO
1812
	mov	[func_70.param1],0
1812
	mov	[func_70.Position],0
1813
	mov	[func_70.param2],0
1813
	mov	[func_70.Flags],0
1814
	mov	[func_70.param3],0
1814
	mov	[func_70.Count],0
1815
	mov	[func_70.param4],bufferfinfo
1815
	mov	[func_70.Buffer],bufferfinfo
1816
	mov	[func_70.rezerv],0
1816
	mov	[func_70.rezerv],0
1817
	mov	[func_70.name],file_name
1817
	mov	[func_70.FileName],file_name
1818
	mcall	70,func_70
1818
	mcall	SF_FILE,func_70
Line 1819... Line 1819...
1819
 
1819
 
1820
	test	al,al	;ä ©« ­ ©¤¥­?
1820
	test	al,al	;ä ©« ­ ©¤¥­?
1821
	jz	@f
1821
	jz	@f
1822
	mcall	4,400*65536+31,0x80CC0000,error_open_file_string
1822
	mcall	SF_DRAW_TEXT,400*65536+31,0x80CC0000,error_open_file_string
1823
	jmp	open_file
1823
	jmp	open_file
1824
;--------------------------------------------------------------------
1824
;--------------------------------------------------------------------
1825
@@:
-
 
1826
;	mov	edx,[blocks_counter]
-
 
1827
;	mov	edi,[blocks_table]
-
 
1828
;	@@:	mov	ecx,[edi]	;¢ë᢮¡®¦¤ ¥¬:
-
 
1829
;	mcall	68,13	;¡«®ª¨ ä ©« 
-
 
1830
;	add	edi,8
-
 
1831
;	dec	edx
-
 
1832
;	jnz	@b
-
 
1833
;	mcall	68,13,[blocks_table]	;â ¡«¨æã
-
 
1834
 
1825
@@:
1835
	mov	eax,	dword [bufferfinfo+32]	;ª®¯¨à㥬 à §¬¥à ä ©« 
1826
	mov	eax,	dword [bufferfinfo+32]	;ª®¯¨à㥬 à §¬¥à ä ©« 
Line 1836... Line -...
1836
	mov	[file_size],eax
-
 
1837
 
-
 
1838
;	mov	ebx,65536	;64Š ¡«®ª
-
 
1839
;	xor	edx,edx
-
 
1840
;	div	ebx
-
 
1841
;	push	dx	;¤«¨­  ¯®á«¥¤­¥£® ¡«®ª 
-
 
1842
;	test	dx,dx
-
 
1843
;	jz	@f
-
 
1844
;	inc	eax
-
 
1845
;	@@:	test	eax,eax
-
 
1846
;	jnz	@f
-
 
1847
;	inc	eax
-
 
1848
;	@@:	mov	[blocks_counter],eax
-
 
1849
;	sal	eax,3;*8	;à §¬¥à â ¡«¨æë á ¨­¤¥ªá ¬¨ ¡«®ª®¢
-
 
1850
;;	add	eax,32	;à¥è ¥¬	¯à®¡«¥¬ã á 32Œ ä ©« ¬¨
-
 
1851
 
-
 
1852
;	mov	ecx,eax	;¢ë¤¥«ï¥¬ ¯ ¬ïâì:
-
 
1853
;	mcall	68,12	;¯®¤ â ¡«¨æã
-
 
1854
;	mov	[blocks_table],eax
-
 
1855
;	mov	edi,eax
-
 
1856
;	mov	ecx,[blocks_counter]
-
 
1857
;	@@:	mov	dword [edi+4],65536
-
 
1858
;	add	edi,8
-
 
1859
;	loop	@b
-
 
1860
;	xor	edx,edx
-
 
1861
;	pop	dx	;¤«¨­  ¯®á«¥¤­¥£® ¡«®ª 
-
 
1862
;	mov	dword [edi-4],edx
-
 
1863
 
-
 
1864
;	mov	edx,[blocks_counter]
-
 
1865
;	mov	edi,[blocks_table]
-
 
1866
;@@:	mcall	68,12,[edi+4]	;¯®¤ ¡«®ª
-
 
1867
;	mov	[edi],eax
-
 
1868
;	add	edi,8
-
 
1869
;	dec	edx
-
 
1870
;	jnz	@b
1827
	mov	[file_size],eax
1871
 
1828
 
1872
	mcall	68,13,[file_buffer]
1829
	mcall	SF_SYS_MISC,SSF_MEM_FREE,[file_buffer]
1873
	test	eax,eax
1830
	test	eax,eax
1874
	jnz	@f
1831
	jnz	@f
1875
	;§¤¥áì ®è¨¡ª  ­  ­¥ ®á¢®¡®¦¤¥­¨¥ ¡«®ª 
1832
	;§¤¥áì ®è¨¡ª  ­  ­¥ ®á¢®¡®¦¤¥­¨¥ ¡«®ª 
-
 
1833
@@:
-
 
1834
	mov ecx,[file_size]
-
 
1835
	or ecx,ecx
-
 
1836
	jnz @f
-
 
1837
	inc ecx ;¥á«¨ à §¬¥à ä ©«  0 ¡ ©â
1876
@@:
1838
@@:
Line 1877... Line 1839...
1877
	mcall	68,12,[file_size]
1839
	mcall	SF_SYS_MISC,SSF_MEM_ALLOC
Line 1878... Line -...
1878
	mov	[file_buffer],eax
-
 
1879
 
-
 
1880
;;¨¬¥¥¬ â ¡«¨æã: [ DWORD 㪠§ â¥«ì ­  ¯¥à¢ë© í«¥¬¥­â ¡«®ª  : DWORD ¤«¨­  ¡«®ª  ]
1840
	mov	[file_buffer],eax
1881
 
1841
 
1882
;	mov	ecx,[blocks_counter]	;®âªà뢠¥¬ ä ©«
1842
;;¨¬¥¥¬ â ¡«¨æã: [ DWORD 㪠§ â¥«ì ­  ¯¥à¢ë© í«¥¬¥­â ¡«®ª  : DWORD ¤«¨­  ¡«®ª  ]
1883
;	mov	edi,[blocks_table]
1843
 
1884
	mov	[func_70.func_n],0
1844
	mov	[func_70.Function],SSF_READ_FILE
1885
	mov	[func_70.param1],0
-
 
1886
	mov	[func_70.param2],0
1845
	mov	[func_70.Position],0
1887
	mov	[func_70.rezerv],0
1846
	mov	[func_70.Flags],0
1888
	mov	[func_70.name],file_name
1847
	mov	[func_70.rezerv],0
1889
;@@:
1848
	mov	[func_70.FileName],file_name
1890
	push	dword [file_size];dword [edi+4]
1849
	push	dword [file_size];dword [edi+4]
1891
	pop	dword [func_70.param3]
-
 
1892
	push	dword [file_buffer];dword [edi]
-
 
1893
	pop	dword [func_70.param4]
-
 
Line 1894... Line 1850...
1894
	mcall	70,func_70
1850
	pop	dword [func_70.Count]
1895
;	add	edi,8
1851
	push	dword [file_buffer];dword [edi]
1896
;	add	dword [func_70.param1],65536
1852
	pop	dword [func_70.Buffer]
1897
;	loop	@b
1853
	mcall	SF_FILE,func_70
Line 1909... Line 1865...
1909
 
1865
 
1910
	push    dword OpenDialog_data
1866
	push    dword OpenDialog_data
Line 1911... Line 1867...
1911
	call    [OpenDialog_Start]
1867
	call    [OpenDialog_Start]
1912
 
-
 
1913
;	cmp	[OpenDialog_data.status],2	; OpenDialog does not start
-
 
1914
;;	je	.sysxtree	; some kind of alternative, instead OpenDialog
1868
 
1915
;	je	save_file
1869
;	cmp	[OpenDialog_data.status],2	; OpenDialog does not start
1916
	cmp	[OpenDialog_data.status],1
1870
	cmp	[OpenDialog_data.status],1
1917
	jne	still
1871
	jne	still
1918
	mov	esi,fname_buf
1872
	mov	esi,fname_buf
Line 1930... Line 1884...
1930
	mov	[edit1.size],esi
1884
	mov	[edit1.size],esi
1931
	mov	[edit1.pos],esi
1885
	mov	[edit1.pos],esi
1932
;	jmp	save_file
1886
;	jmp	save_file
1933
;-------------------------------------------------------------------------------
1887
;-------------------------------------------------------------------------------
1934
save_file:	;á®å࠭塞 ä ©«
1888
save_file:	;á®å࠭塞 ä ©«
1935
	mov	[func_70.func_n],2
1889
	mov	[func_70.Function],SSF_CREATE_FILE
1936
	mov	[func_70.param1],0
1890
	mov	[func_70.Position],0
1937
	mov	[func_70.param2],0
1891
	mov	[func_70.Flags],0
1938
	push	[file_size]
1892
	push	[file_size]
1939
	pop	[func_70.param3]
1893
	pop	[func_70.Count]
1940
	push	[file_buffer]
1894
	push	[file_buffer]
1941
	pop	[func_70.param4]
1895
	pop	[func_70.Buffer]
1942
	mov	[func_70.rezerv],0
1896
	mov	[func_70.rezerv],0
1943
	mov	[func_70.name],file_name
1897
	mov	[func_70.FileName],file_name
1944
	mcall	70,func_70
1898
	mcall	SF_FILE,func_70
1945
	cmp	al,0	;á®åà ­ñ­ 㤠筮?
1899
	cmp	al,0	;á®åà ­ñ­ 㤠筮?
1946
	je	redraw_all
1900
	je	redraw_all
1947
	mcall	4,400*65536+31,0x80CC0000,error_save_file_string
1901
	mcall	SF_DRAW_TEXT,400*65536+31,0x80CC0000,error_save_file_string
1948
	jmp	save_file
1902
	jmp	save_file
1949
;-------------------------------------------------------------------------------
1903
;-------------------------------------------------------------------------------
1950
draw_ed_box:	;à¨á®¢ ­¨¥ edit box' 
1904
draw_ed_box:	;à¨á®¢ ­¨¥ edit box' 
1951
.1:
1905
.1:
1952
	push	eax	ebx	ecx	edx
1906
	push	eax	ebx	ecx	edx
1953
	mcall	13,180*65536+220,25*65536+70,0xaaaaaa
1907
	mcall	SF_DRAW_RECT,180*65536+220,25*65536+70,0xaaaaaa
1954
	bt	[flags],9
1908
	bt	[flags],9
1955
	jnc	@f
1909
	jnc	@f
1956
	mcall	4,246*65536+35,0x80ffffff,sel_text
1910
	mcall	SF_DRAW_TEXT,246*65536+35,0x80ffffff,sel_text
1957
@@:
1911
@@:
1958
	bt	[flags],2
1912
	bt	[flags],2
1959
	jnc	@f
1913
	jnc	@f
1960
	push	dword Option_boxs
1914
	push	dword Option_boxs
1961
	call	[option_box_draw]
1915
	call	[option_box_draw]
Line 1972... Line 1926...
1972
	push	dword [eax]
1926
	push	dword [eax]
1973
	call	[edit_box_draw]
1927
	call	[edit_box_draw]
1974
	loop	@b
1928
	loop	@b
1975
	pop	edx	ecx	ebx	eax
1929
	pop	edx	ecx	ebx	eax
1976
.2:
1930
.2:
1977
	mcall	10
1931
	mcall	SF_WAIT_EVENT
1978
	cmp	al,6
1932
	cmp	al,6
1979
	je	.mouse
1933
	je	.mouse
1980
	cmp	al,3
1934
	cmp	al,3
1981
	je	.button
1935
	je	.button
1982
	cmp	al,2
1936
	cmp	al,2
Line 2016... Line 1970...
2016
	call	[option_box_mouse]
1970
	call	[option_box_mouse]
2017
@@:
1971
@@:
2018
	jmp	.2
1972
	jmp	.2
2019
;--------------------------------------------------------------------
1973
;--------------------------------------------------------------------
2020
.keys:
1974
.keys:
2021
	mcall	2
1975
	mcall	SF_GET_KEY
2022
	cmp	ah,13
1976
	cmp	ah,13
2023
	je	.4
1977
	je	.4
2024
	cmp	ah,27
1978
	cmp	ah,27
2025
	je	.3
1979
	je	.3
Line 2182... Line 2136...
2182
	push	dword [ed_box_data+4];[esp]
2136
	push	dword [ed_box_data+4];[esp]
2183
	call	[edit_box_key]
2137
	call	[edit_box_key]
2184
	jmp	.2
2138
	jmp	.2
2185
;--------------------------------------------------------------------
2139
;--------------------------------------------------------------------
2186
.button:
2140
.button:
2187
	mcall	17
2141
	mcall	SF_GET_BUTTON
2188
	cmp	ah,1
2142
	cmp	ah,1
2189
	jne	.2
2143
	jne	.2
2190
	jmp	close_prog
2144
	jmp	close_prog
2191
.3:
2145
.3:
2192
	btr	[flags],2
2146
	btr	[flags],2
2193
	btr	[flags],3
2147
	btr	[flags],3
2194
	add	esp,4
2148
	add	esp,4
2195
	jmp	redraw_all
2149
	jmp	redraw_all
2196
.4:
2150
.4:
2197
	mcall	13,180*65536+220,25*65536+70,frgrd_color
2151
	mcall	SF_DRAW_RECT,180*65536+220,25*65536+70,frgrd_color
2198
	ret
2152
	ret
2199
;--------------------------------------------------------------------
2153
;--------------------------------------------------------------------
2200
strtohex:
2154
strtohex:
2201
;enter: edi - pointer to string,ebx - pointer to size of string; exit: eax in hex
2155
;enter: edi - pointer to string,ebx - pointer to size of string; exit: eax in hex
2202
	mov	esi,hex8_string
2156
	mov	esi,hex8_string
Line 2754... Line 2708...
2754
	mov	eax,[shblock_end]
2708
	mov	eax,[shblock_end]
2755
	sub	eax,[shblock_beg]
2709
	sub	eax,[shblock_beg]
2756
	inc	eax
2710
	inc	eax
2757
	mov	ecx,eax
2711
	mov	ecx,eax
2758
	mov	[copy_len],eax
2712
	mov	[copy_len],eax
2759
	mcall	68,20,,[copy_buf]
2713
	mcall	SF_SYS_MISC,SSF_MEM_REALLOC,,[copy_buf]
2760
	mov	esi,[shblock_beg]
2714
	mov	esi,[shblock_beg]
2761
	mov	edi,[copy_buf]
2715
	mov	edi,[copy_buf]
2762
	add	esi,[file_buffer]
2716
	add	esi,[file_buffer]
2763
	mov	ecx,[copy_len]
2717
	mov	ecx,[copy_len]
2764
	cld
2718
	cld
Line 2913... Line 2867...
2913
 
2867
 
2914
	push    dword OpenDialog_data
2868
	push    dword OpenDialog_data
Line 2915... Line 2869...
2915
	call    [OpenDialog_Start]
2869
	call    [OpenDialog_Start]
2916
 
-
 
2917
;	cmp	[OpenDialog_data.status],2	; OpenDialog does not start
2870
 
2918
;	je	.sysxtree	; some kind of alternative, instead OpenDialog
2871
;	cmp	[OpenDialog_data.status],2	; OpenDialog does not start
2919
	cmp	[OpenDialog_data.status],1
2872
	cmp	[OpenDialog_data.status],1
2920
	jne	still
2873
	jne	still
2921
.start:
2874
.start: