Subversion Repositories Kolibri OS

Rev

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

Rev 551 Rev 1611
Line 4... Line 4...
4
;    Compile with FASM for Menuet
4
;    Compile with FASM for Menuet
5
;
5
;
6
;    < russian edition by Ivan Poddubny >
6
;    < russian edition by Ivan Poddubny >
7
;    < skin selection by Mike Semenyako >
7
;    < skin selection by Mike Semenyako >
8
;
8
;
9
 
-
 
-
 
9
; last update:  10/09/2010
-
 
10
; written by:   Marat Zakiyanov aka Mario79, aka Mario
-
 
11
; changes:      select path with OpenDialog
10
;******************************************************************************
12
;******************************************************************************
11
   use32
13
   use32
12
   org     0
14
   org     0
13
   db      'MENUET01'  ; identifier
15
   db      'MENUET01'  ; identifier
14
   dd      1           ; header version
16
   dd      1           ; header version
15
   dd      START       ; start address
17
   dd      START       ; start address
16
   dd      I_END       ; file size
18
   dd      I_END       ; file size
17
   dd      28000h      ; memory
19
   dd      i_end ;28000h      ; memory
18
   dd      10000h      ; stack pointer
20
   dd      stacktop    ; stack pointer
19
   dd      param,0     ; parameters, reserved
21
   dd      skin_info       ; parameters
-
 
22
   dd      cur_dir_path ; path to file
Line 20... Line 23...
20
 
23
   
21
   include 'lang.inc'
24
include 'lang.inc'
22
   include '..\..\..\macros.inc'
25
include '../../../macros.inc'
23
   include 'kglobals.inc'
26
include 'kglobals.inc'
-
 
27
include 'unpacker.inc'
-
 
28
include '../../../develop/libraries/box_lib/load_lib.mac'
24
   include 'unpacker.inc'
29
	@use_library
Line 25... Line 30...
25
;******************************************************************************
30
;******************************************************************************
26
 
31
 
Line 65... Line 70...
65
  _data  dd ?
70
  _data  dd ?
66
ends
71
ends
Line 67... Line 72...
67
 
72
 
-
 
73
 
-
 
74
START:                          ; start of execution
-
 
75
;---------------------------------------------------------------------
-
 
76
	mcall	68,11
-
 
77
	
-
 
78
	test	eax,eax
-
 
79
	jz	close	
-
 
80
 
-
 
81
load_libraries l_libs_start,end_l_libs
-
 
82
 
-
 
83
;if return code =-1 then exit, else nornary work
-
 
84
;        cmp     eax,-1
-
 
85
	inc	eax
-
 
86
	test	eax,eax
-
 
87
	jz	close
-
 
88
 
-
 
89
;---------------------------------------------------------------------
-
 
90
	mov	edi,filename_area
-
 
91
	mov	esi,start_temp_file_name
-
 
92
	xor	eax,eax
-
 
93
	cld
-
 
94
@@:
-
 
95
	lodsb
-
 
96
	stosb
-
 
97
	test	eax,eax
-
 
98
	jnz	@b
-
 
99
 
-
 
100
 
-
 
101
	mov	edi,fname
-
 
102
	mov	esi,default_dtp
-
 
103
	xor	eax,eax
-
 
104
	cld
-
 
105
@@:
-
 
106
	lodsb
-
 
107
	stosb
-
 
108
	test	eax,eax
-
 
109
	jnz	@b
-
 
110
 
-
 
111
;---------------------------------------------------------------------
-
 
112
;        mov     esi, param
-
 
113
;        cmp     byte [esi], 0
-
 
114
;		je	@f
-
 
115
;        jnz     has_param
-
 
116
;    mov  esi,default_skn
-
 
117
;    mov  edi,fname
-
 
118
;    mov  ecx,default_skn.size
-
 
119
;    rep  movsb
-
 
120
;    jmp  skin_path_ready
-
 
121
;has_param:
-
 
122
;        mov     ecx, 256/4
-
 
123
;        mov     edi, fname
-
 
124
;        rep     movsd
-
 
125
;		skin_path_ready
-
 
126
;---------------------------------------------------------------------
-
 
127
	mov	edi,skin_info
-
 
128
	cmp     byte [edi], 0
-
 
129
	jne	skin_path_ready
-
 
130
	mov	esi,default_skin
-
 
131
	xor	eax,eax
-
 
132
	cld
-
 
133
@@:
-
 
134
	lodsb
-
 
135
	stosb
-
 
136
	test	eax,eax
-
 
137
	jnz	@b
-
 
138
skin_path_ready:	
-
 
139
;---------------------------------------------------------------------
-
 
140
;OpenDialog	initialisation
-
 
141
	push    dword OpenDialog_data
-
 
142
	call    [OpenDialog_Init]
-
 
143
 
-
 
144
	push    dword OpenDialog_data2
-
 
145
	call    [OpenDialog_Init]
-
 
146
	
-
 
147
; prepare for PathShow
-
 
148
	push	dword PathShow_data_1
-
 
149
	call	[PathShow_prepare]
-
 
150
	
-
 
151
	push	dword PathShow_data_2
68
 
152
	call	[PathShow_prepare]
69
START:                          ; start of execution
153
;---------------------------------------------------------------------	
70
    mov  eax,48                 ; get current colors
154
    mov  eax,48                 ; get current colors
71
    mov  ebx,3
155
    mov  ebx,3
72
    mov  ecx,color_table
156
    mov  ecx,color_table
Line 73... Line -...
73
    mov  edx,4*10
-
 
74
    mcall
-
 
75
 
-
 
76
        mov     esi, param
-
 
77
        cmp     byte [esi], 0
-
 
78
        jnz     has_param
-
 
79
 
-
 
80
    mov  esi,default_skn
-
 
81
    mov  edi,fname
-
 
82
    mov  ecx,default_skn.size
-
 
83
    rep  movsb
-
 
84
    jmp  @f
-
 
85
has_param:
-
 
86
        mov     ecx, 256/4
-
 
87
        mov     edi, fname
157
    mov  edx,4*10
Line 88... Line 158...
88
        rep     movsd
158
    mcall
89
@@:
159
 
90
    call load_skin_file
160
    call load_skin_file.2
91
 
161
 
Line 122... Line 192...
122
 
192
 
123
  button:                       ; button
193
  button:                       ; button
124
    mov  al,17                  ; get id
194
    mov  al,17                  ; get id
Line 125... Line 195...
125
    mcall
195
    mcall
126
 
196
 
127
    cmp  ah,11                  ; read string
197
;    cmp  ah,11                  ; read string
128
    jne  no_string
198
;    jne  no_string
129
    call read_string
199
;    call read_string
Line 130... Line 200...
130
    jmp  still
200
;    jmp  still
131
  no_string:
201
;  no_string:
132
 
202
 
133
    cmp  ah,12                  ; load file
203
    cmp  ah,12                  ; load file
Line 178... Line 248...
178
    jmp  still
248
    jmp  still
179
  no_load_skin:
249
  no_load_skin:
Line 180... Line 250...
180
 
250
 
181
    cmp   ah,18                 ; apply skin
251
    cmp   ah,18                 ; apply skin
182
    jne   no_apply_skin
252
    jne   no_apply_skin
183
    cmp   [skin_info.fname],0
253
    cmp   [skin_info],0
184
    je    no_apply_skin
254
    je    no_apply_skin
185
    mcall 48,8,skin_info.fname
255
    mcall 48,8,skin_info
186
    call  draw_window
256
    call  draw_window
187
    jmp   still
257
    jmp   still
Line 188... Line 258...
188
  no_apply_skin:
258
  no_apply_skin:
Line 194... Line 264...
194
    shr  eax,8
264
    shr  eax,8
195
    sub  eax,31
265
    sub  eax,31
196
    shl  eax,2
266
    shl  eax,2
197
    mov  ebx,[color]
267
    mov  ebx,[color]
198
    mov  [eax+color_table],ebx
268
    mov  [eax+color_table],ebx
199
    cmp  dword[0x18000+SKIN_HEADER.ident],'SKIN'
269
    cmp  dword[not_packed_area+SKIN_HEADER.ident],'SKIN'
200
    jne  @f
270
    jne  @f
201
    mov  edi,[0x18000+SKIN_HEADER.params]
271
    mov  edi,[not_packed_area+SKIN_HEADER.params]
202
    mov  dword[edi+0x18000+SKIN_PARAMS.dtp.data+eax],ebx
272
    mov  dword[edi+not_packed_area+SKIN_PARAMS.dtp.data+eax],ebx
203
    call draw_skin
273
    call draw_skin
204
@@: call draw_colours
274
@@: call draw_colours
205
    jmp  still
275
    jmp  still
206
  no_new_colour:
276
  no_new_colour:
Line 207... Line 277...
207
 
277
 
208
    cmp  ah,1                   ; terminate
278
    cmp  ah,1                   ; terminate
-
 
279
    jnz  noid1
209
    jnz  noid1
280
close:
210
    or   eax,-1
281
    or   eax,-1
211
    mcall
282
    mcall
Line 212... Line 283...
212
  noid1:
283
  noid1:
Line 273... Line 344...
273
  no_color:
344
  no_color:
Line 274... Line 345...
274
 
345
 
275
    popa
346
    popa
Line 276... Line -...
276
    ret
-
 
-
 
347
    ret
277
 
348
 
-
 
349
;---------------------------------------------------------------------
-
 
350
load_file:
-
 
351
;---------------------------------------------------------------------
-
 
352
; invoke OpenDialog
-
 
353
	mov	[OpenDialog_data.type],dword 0
-
 
354
	push    dword OpenDialog_data
-
 
355
	call    [OpenDialog_Start]
-
 
356
	cmp	[OpenDialog_data.status],1
-
 
357
	je	.1
-
 
358
	ret
-
 
359
.1:
-
 
360
; prepare for PathShow
-
 
361
	push	dword PathShow_data_1
-
 
362
	call	[PathShow_prepare]
-
 
363
 
278
 
364
	call	draw_PathShow
279
load_file:
365
;---------------------------------------------------------------------
280
        xor     eax, eax
366
        xor     eax, eax
281
        mov     ebx, read_info
367
        mov     ebx, read_info
282
        mov     dword [ebx], eax       ; subfunction: read
368
        mov     dword [ebx], eax       ; subfunction: read
283
        mov     dword [ebx+4], eax     ; offset (low dword)
369
        mov     dword [ebx+4], eax     ; offset (low dword)
284
        mov     dword [ebx+8], eax     ; offset (high dword)
370
        mov     dword [ebx+8], eax     ; offset (high dword)
285
        mov     dword [ebx+12], 40     ; read colors file: 4*10 bytes
371
        mov     dword [ebx+12], 40     ; read colors file: 4*10 bytes
286
        mov     dword [ebx+16], color_table ; address
372
        mov     dword [ebx+16], color_table ; address
287
        mcall   70
-
 
-
 
373
        mcall   70
288
        ret
374
        ret
-
 
375
;---------------------------------------------------------------------
-
 
376
load_skin_file:
-
 
377
;---------------------------------------------------------------------
-
 
378
; invoke OpenDialog
-
 
379
	push    dword OpenDialog_data2
-
 
380
	call    [OpenDialog_Start]
-
 
381
	cmp	[OpenDialog_data2.status],1
-
 
382
	je	.1
-
 
383
	ret
-
 
384
.1:
-
 
385
; prepare for PathShow
-
 
386
	push	dword PathShow_data_2
-
 
387
	call	[PathShow_prepare]
-
 
388
 
-
 
389
	call	draw_PathShow
289
 
390
;---------------------------------------------------------------------
290
load_skin_file:
391
.2:
291
        xor     eax, eax
392
        xor     eax, eax
292
        mov     ebx, read_info
393
        mov     ebx, read_info2
293
        mov     dword [ebx], eax       ; subfunction: read
394
        mov     dword [ebx], eax       ; subfunction: read
294
        mov     dword [ebx+4], eax     ; offset (low dword)
395
        mov     dword [ebx+4], eax     ; offset (low dword)
295
        mov     dword [ebx+8], eax     ; offset (high dword)
396
        mov     dword [ebx+8], eax     ; offset (high dword)
296
        mov     dword [ebx+12], 32*1024 ; read: max 32 KBytes
397
        mov     dword [ebx+12], 32*1024 ; read: max 32 KBytes
Line 297... Line 398...
297
        mov     dword [ebx+16], 0x10000 ; address
398
        mov     dword [ebx+16], file_load_area ; address
Line 298... Line 399...
298
        mcall   70
399
        mcall   70
299
 
400
 
300
        mov     esi, 0x10000
401
        mov     esi, file_load_area
301
 
402
 
302
        cmp     dword [esi], 'KPCK'
403
        cmp     dword [esi], 'KPCK'
303
        jnz     notpacked
404
        jnz     notpacked
304
        cmp     dword [esi+4], 32*1024 ; max 32 KBytes
405
        cmp     dword [esi+4], 32*1024 ; max 32 KBytes
305
        ja      doret
406
        ja      doret
306
        push    0x20000
407
        push    unpack_area
Line 307... Line 408...
307
        push    esi
408
        push    esi
308
        call    unpack
409
        call    unpack
Line 309... Line 410...
309
        mov     esi, 0x20000
410
        mov     esi, unpack_area
310
notpacked:
411
notpacked:
311
 
412
 
Line 312... Line 413...
312
    cmp   dword[esi+SKIN_HEADER.ident],'SKIN'
413
    cmp   dword[esi+SKIN_HEADER.ident],'SKIN'
313
    jne   doret
414
    jne   doret
314
 
415
 
315
    mov   edi,0x18000
416
    mov   edi,not_packed_area
Line 316... Line 417...
316
    mov   ecx,0x8000/4
417
    mov   ecx,0x8000/4
317
    rep   movsd
418
    rep   movsd
318
 
419
 
319
    mov   esi,fname
420
;    mov   esi,fname
320
    mov   edi,skin_info.fname
421
;    mov   edi,skin_info.fname
321
    mov   ecx,257
422
;    mov   ecx,257
322
    rep   movsb
423
;    rep   movsb
323
 
424
 
Line 324... Line 425...
324
    mov   ebp,0x18000
425
    mov   ebp,not_packed_area
Line 325... Line -...
325
    mov   esi,[ebp+SKIN_HEADER.params]
-
 
-
 
426
    mov   esi,[ebp+SKIN_HEADER.params]
326
    add   esi,ebp
427
    add   esi,ebp
-
 
428
    lea   esi,[esi+SKIN_PARAMS.dtp.data]
-
 
429
    mov   edi,color_table
-
 
430
    mov   ecx,10
-
 
431
    rep   movsd
-
 
432
  doret:
-
 
433
 
-
 
434
ret
-
 
435
 
-
 
436
;---------------------------------------------------------------------
-
 
437
save_file:
-
 
438
;---------------------------------------------------------------------
-
 
439
; invoke OpenDialog
-
 
440
	mov	[OpenDialog_data.type],dword 1
-
 
441
	push    dword OpenDialog_data
-
 
442
	call    [OpenDialog_Start]
327
    lea   esi,[esi+SKIN_PARAMS.dtp.data]
443
	cmp	[OpenDialog_data.status],1
328
    mov   edi,color_table
444
	je	.1
329
    mov   ecx,10
445
	ret
330
    rep   movsd
446
.1:
331
  doret:
447
; prepare for PathShow
332
 
448
	push	dword PathShow_data_1
333
ret
449
	call	[PathShow_prepare]
334
 
450
 
-
 
451
	call	draw_PathShow
-
 
452
;---------------------------------------------------------------------
-
 
453
        mov     ebx, write_info
-
 
454
        mov     dword [ebx], 2         ; subfunction: write
-
 
455
        and     dword [ebx+4], 0       ; (reserved)
-
 
456
        and     dword [ebx+8], 0       ; (reserved)
-
 
457
        mov     dword [ebx+12], 10*4   ; bytes to write
-
 
458
        mov     dword [ebx+16], color_table ; address
-
 
459
        mcall   70
-
 
460
        ret
-
 
461
;---------------------------------------------------------------------
-
 
462
;read_string:
-
 
463
;
-
 
464
;    pusha
-
 
465
;
-
 
466
;    mov  edi,fname
-
 
467
;    mov  al,'_'
-
 
468
;    mov  ecx,87
-
 
469
;    cld
-
 
470
;    rep  stosb
-
 
471
;
-
 
472
;    call print_text
-
 
473
;
-
 
474
;    mov  edi,fname
-
 
475
;
-
 
476
;  f11:
-
 
477
;    mov  eax,10
-
 
478
;    mcall
-
 
479
;    cmp  eax,2
-
 
480
;    jne  read_done
-
 
481
;;    mov  eax,2
-
 
482
;    mcall
-
 
483
;    shr  eax,8
-
 
484
;    cmp  eax,13
-
 
485
;    je   read_done
-
 
486
;    cmp  eax,8
-
 
487
;    jne  nobsl
-
 
488
;    cmp  edi,fname
-
 
489
;    je   f11
-
 
490
;    dec  edi
-
 
491
;    mov  [edi],byte '_'
-
 
492
;    call print_text
-
 
493
;    jmp  f11
-
 
494
;   nobsl:
-
 
495
;    mov  [edi],al
-
 
496
;
-
 
497
;    call print_text
-
 
498
;
-
 
499
;    inc  edi
-
 
500
;    cmp  edi, fname+87
-
 
501
;    jne  f11
-
 
502
;
-
 
503
;  read_done:
-
 
504
;
-
 
505
;    mov  ecx, fname+88
Line 335... Line -...
335
 
-
 
336
save_file:
-
 
337
        mov     ebx, write_info
-
 
338
        mov     dword [ebx], 2         ; subfunction: write
-
 
339
        and     dword [ebx+4], 0       ; (reserved)
-
 
340
        and     dword [ebx+8], 0       ; (reserved)
-
 
341
        mov     dword [ebx+12], 10*4   ; bytes to write
-
 
342
        mov     dword [ebx+16], color_table ; address
-
 
343
        mcall   70
-
 
344
        ret
-
 
345
 
-
 
346
read_string:
-
 
347
 
-
 
348
    pusha
-
 
349
 
-
 
350
    mov  edi,fname
-
 
351
    mov  al,'_'
-
 
352
    mov  ecx,87
-
 
353
    cld
-
 
354
    rep  stosb
-
 
355
 
-
 
356
    call print_text
-
 
357
 
-
 
358
    mov  edi,fname
-
 
359
 
-
 
360
  f11:
-
 
361
    mov  eax,10
-
 
362
    mcall
-
 
363
    cmp  eax,2
-
 
364
    jne  read_done
-
 
365
;    mov  eax,2
-
 
366
    mcall
-
 
367
    shr  eax,8
-
 
368
    cmp  eax,13
-
 
369
    je   read_done
-
 
370
    cmp  eax,8
-
 
371
    jne  nobsl
-
 
372
    cmp  edi,fname
-
 
373
    je   f11
-
 
374
    dec  edi
-
 
375
    mov  [edi],byte '_'
-
 
376
    call print_text
-
 
377
    jmp  f11
-
 
378
   nobsl:
-
 
379
    mov  [edi],al
-
 
380
 
-
 
381
    call print_text
-
 
382
 
-
 
383
    inc  edi
-
 
384
    cmp  edi, fname+87
-
 
385
    jne  f11
-
 
386
 
-
 
387
  read_done:
-
 
388
 
-
 
389
    mov  ecx, fname+88
-
 
390
    sub  ecx, edi
-
 
391
    mov  eax, 0
-
 
392
    cld
-
 
393
    rep  stosb
-
 
394
 
-
 
395
    call print_text
-
 
396
 
-
 
397
    popa
-
 
398
 
-
 
399
    ret
-
 
Line -... Line 506...
-
 
506
;    sub  ecx, edi
-
 
507
;    mov  eax, 0
-
 
508
;    cld
-
 
509
;    rep  stosb
-
 
510
;
-
 
511
;    call print_text
-
 
512
;
-
 
513
;    popa
-
 
514
;
-
 
515
;    ret
400
 
516
 
401
 
517
 
Line 402... Line 518...
402
print_text:
518
;print_text:
Line 403... Line 519...
403
    pushad
519
;    pushad
Line 551... Line 667...
551
end virtual
667
end virtual
Line 552... Line 668...
552
 
668
 
553
draw_skin:
669
draw_skin:
Line 554... Line 670...
554
        mcall   13,,,0x00FFFFFF
670
        mcall   13,,,0x00FFFFFF
555
 
671
 
556
        mov     ebp,0x18000
672
        mov     ebp,not_packed_area
557
        mov     edi,[ebp+SKIN_HEADER.params]
673
        mov     edi,[ebp+SKIN_HEADER.params]
558
        add     edi,ebp
674
        add     edi,ebp
559
        mpack   ebx,wnd1.x,wnd1.width
675
        mpack   ebx,wnd1.x,wnd1.width
Line 668... Line 784...
668
        neg     edx
784
        neg     edx
669
        shl     edx,16
785
        shl     edx,16
670
        add     edx,(wnd3.x+wnd3.width)*65536+wnd3.y
786
        add     edx,(wnd3.x+wnd3.width)*65536+wnd3.y
671
        mcall   7
787
        mcall   7
Line 672... Line 788...
672
 
788
 
673
        mov     ebp,0x18000
789
        mov     ebp,not_packed_area
674
        mov     edi,[ebp+SKIN_HEADER.params]
790
        mov     edi,[ebp+SKIN_HEADER.params]
675
        add     edi,ebp
791
        add     edi,ebp
676
        mov     eax,dword[edi+SKIN_PARAMS.margin.left-2]
792
        mov     eax,dword[edi+SKIN_PARAMS.margin.left-2]
677
        mov     ax,word[edi+SKIN_PARAMS.skin_height]
793
        mov     ax,word[edi+SKIN_PARAMS.skin_height]
Line 732... Line 848...
732
        neg     edx
848
        neg     edx
733
        shl     edx,16
849
        shl     edx,16
734
        add     edx,(wnd4.x+wnd4.width)*65536+wnd4.y
850
        add     edx,(wnd4.x+wnd4.width)*65536+wnd4.y
735
        mcall   7
851
        mcall   7
Line 736... Line 852...
736
 
852
 
737
        mov     ebp,0x18000
853
        mov     ebp,not_packed_area
738
        mov     edi,[ebp+SKIN_HEADER.params]
854
        mov     edi,[ebp+SKIN_HEADER.params]
739
        add     edi,ebp
855
        add     edi,ebp
740
        pop     eax
856
        pop     eax
741
        lea     ebx,[eax+wnd4.x*65536+wnd4.y]
857
        lea     ebx,[eax+wnd4.x*65536+wnd4.y]
Line 780... Line 896...
780
        mov     bx,cx
896
        mov     bx,cx
781
        add     ebx,0x00060006
897
        add     ebx,0x00060006
782
        mcall   4,,[dtp.work_button_text],button_text,button_text.size
898
        mcall   4,,[dtp.work_button_text],button_text,button_text.size
Line 783... Line 899...
783
 
899
 
-
 
900
        ret
-
 
901
;---------------------------------------------------------------------
-
 
902
draw_PathShow:
-
 
903
	pusha
-
 
904
	mcall	13,<10,534>,<214,15>,0xffffff
-
 
905
	mcall	13,<10,534>,<232,15>,0xffffff
-
 
906
; draw for PathShow
-
 
907
	push	dword PathShow_data_1
Line -... Line 908...
-
 
908
	call	[PathShow_draw]
-
 
909
	
-
 
910
	push	dword PathShow_data_2
-
 
911
	call	[PathShow_draw]
-
 
912
	popa
784
        ret
913
	ret
785
 
914
;---------------------------------------------------------------------
786
;   *********************************************
915
;   *********************************************
Line 804... Line 933...
804
    mcall
933
    mcall
Line 805... Line 934...
805
 
934
 
806
                                      ; DRAW WINDOW
935
                                      ; DRAW WINDOW
807
    mov  eax,0                     ; function 0 : define and draw window
936
    mov  eax,0                     ; function 0 : define and draw window
808
    mov  ebx,110*65536+555         ; [x start] *65536 + [x size]
937
    mov  ebx,110*65536+555         ; [x start] *65536 + [x size]
809
    mov  ecx,50*65536+255          ; [y start] *65536 + [y size]
938
    mov  ecx,50*65536+275          ; [y start] *65536 + [y size]
810
    mov  edx,[w_work]              ; color of work area RRGGBB,8->color
939
    mov  edx,[w_work]              ; color of work area RRGGBB,8->color
811
    or   edx,0x14000000
940
    or   edx,0x14000000
812
    mov  edi,title                ; WINDOW LABEL
941
    mov  edi,title                ; WINDOW LABEL
Line 817... Line 946...
817
  save_w  = (5*2+6*9)
946
  save_w  = (5*2+6*9)
818
  flat_w  = (5*2+6*7)
947
  flat_w  = (5*2+6*7)
819
  apply_w = (5*2+6*9)
948
  apply_w = (5*2+6*9)
820
else
949
else
821
  load_w  = (5*2+6*6)
950
  load_w  = (5*2+6*6)
822
  save_w  = (5*2+6*6)
951
  save_w  = (5*2+6*8)
823
  flat_w  = (5*2+6*4)
952
  flat_w  = (5*2+6*4)
824
  apply_w = (5*2+6*7)
953
  apply_w = (5*2+6*7)
825
end if
954
end if
Line 826... Line 955...
826
 
955
 
827
    mov  eax,8                    ; FILENAME BUTTON
956
;    mov  eax,8                    ; FILENAME BUTTON
828
    mov  ebx,5*65536+545
957
;    mov  ebx,5*65536+545
829
    mov  ecx,212*65536+10
958
;    mov  ecx,212*65536+10
830
    mov  edx,0x4000000B
959
;    mov  edx,0x4000000B
831
    mov  esi,[w_grab_button]       ; button color RRGGBB
960
;    mov  esi,[w_grab_button]       ; button color RRGGBB
Line 832... Line 961...
832
    mcall
961
;    mcall
833
 
962
 
834
;   mov  eax,8                    ; LOAD BUTTON
963
    mov  eax,8                    ; LOAD BUTTON
835
    mov  ebx,15*65536+load_w
964
    mov  ebx,15*65536+load_w
836
    mov  ecx,(30+18*11)*65536+14
965
    mov  ecx,(35+18*12)*65536+14
837
    mov  edx,12
966
    mov  edx,12
Line 838... Line 967...
838
    mov  esi,[w_work_button]
967
    mov  esi,[w_work_button]
Line 869... Line 998...
869
    add  ebx,(load_w+6+2)*65536-load_w+apply_w
998
    add  ebx,(load_w+6+2)*65536-load_w+apply_w
870
    inc  edx
999
    inc  edx
871
    mcall
1000
    mcall
Line 872... Line 1001...
872
 
1001
 
873
    mov  eax, 4
1002
    mov  eax, 4
874
    mov  ebx, (339-t1.size*6-12)*65536+(30+18*11+4)
1003
    mov  ebx, (339-t1.size*6-12)*65536+(35+18*12+4)
875
    mov  ecx, [w_work_button_text]
1004
    mov  ecx, [w_work_button_text]
876
    mov  edx, t1
1005
    mov  edx, t1
877
    mov  esi, t1.size
1006
    mov  esi, t1.size
Line 878... Line 1007...
878
    mcall
1007
    mcall
879
 
1008
 
880
    mov  ebx,(336+(555-335)/2-t2.size*6/2)*65536+(30+18*11+4)
1009
    mov  ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4)
881
    mov  edx,t2
1010
    mov  edx,t2
Line -... Line 1011...
-
 
1011
    mov  esi,t2.size
-
 
1012
    mcall
-
 
1013
 
-
 
1014
    mov  ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4)
-
 
1015
    mov  edx,t3
882
    mov  esi,t2.size
1016
    mov  esi,t3.size
883
    mcall
1017
    mcall
884
 
1018
 
885
;   mov  eax, 4
1019
;   mov  eax, 4
886
;    mov  ebx, 277*65536+(30+18*12+4)
1020
;    mov  ebx, 277*65536+(30+18*12+4)
Line 933... Line 1067...
933
    cmp  [edx],byte 'x'
1067
    cmp  [edx],byte 'x'
934
    jne  newline
1068
    jne  newline
Line 935... Line 1069...
935
 
1069
 
Line 936... Line -...
936
    call draw_colours
-
 
937
 
-
 
938
    mcall 13,<5,546>,<212,11>,[w_work]
-
 
939
    mcall 13,<337,7>,<2,250>,[w_frame]
-
 
940
    shr   edx,1
-
 
941
    and   edx,0x007F7F7F
-
 
942
    mcall 38,<336,336>,<20,250>
-
 
943
    add   ebx,0x00080008
-
 
944
    mcall
1070
    call draw_colours
945
    sub   ebx,0x00040004
-
 
946
    mcall ,,<0,255>
-
 
947
    mcall ,<5,550>,<211,211>
-
 
Line -... Line 1071...
-
 
1071
 
-
 
1072
	call	draw_PathShow	
-
 
1073
	
-
 
1074
;    mcall 13,<5,546>,<212,11>,[w_work]
-
 
1075
;    mcall 13,<337,7>,<2,250>,[w_frame]
-
 
1076
;    shr   edx,1
-
 
1077
;    and   edx,0x007F7F7F
-
 
1078
;    mcall 38,<336,336>,<20,250>
948
    add   ecx,0x000C000C
1079
;    add   ebx,0x00080008
-
 
1080
;    mcall
-
 
1081
;    sub   ebx,0x00040004
-
 
1082
;    mcall ,,<0,255>
Line -... Line 1083...
-
 
1083
;    mcall ,<5,550>,<211,211>
-
 
1084
;    add   ecx,0x000C000C
949
    mcall
1085
;    mcall
950
 
1086
 
951
    call print_text
1087
;    call print_text
952
 
1088
 
Line 953... Line 1089...
953
    cmp  dword[0x18000+SKIN_HEADER.ident],'SKIN'
1089
    cmp  dword[not_packed_area+SKIN_HEADER.ident],'SKIN'
Line 973... Line 1109...
973
    ru,  ' €Ž—€Ÿ Ž‹€‘’œ                ',\
1109
    ru,  ' €Ž—€Ÿ Ž‹€‘’œ                ',\
974
    ru,  ' ŠŽŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ       ',\
1110
    ru,  ' ŠŽŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ       ',\
975
    ru,  ' ’…Š‘’ € ŠŽŠ…                ',\
1111
    ru,  ' ’…Š‘’ € ŠŽŠ…                ',\
976
    ru,  ' ’…Š‘’ ‚ €Ž—…‰ Ž‹€‘’ˆ        ',\
1112
    ru,  ' ’…Š‘’ ‚ €Ž—…‰ Ž‹€‘’ˆ        ',\
977
    ru,  ' ƒ€”ˆŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ      ',\
1113
    ru,  ' ƒ€”ˆŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ      ',\
978
    ru,  '                                ',\
-
 
979
    ru,  ' ‡€ƒ“‡ˆ’œ  ‘Ž•€ˆ’œ           ',\
-
 
980
    ru,  'x',\
1114
    ru,  'x',\
981
    en,  ' WINDOW FRAME                   ',\
1115
    en,  ' WINDOW FRAME                   ',\
982
    en,  ' WINDOW GRAB BAR                ',\
1116
    en,  ' WINDOW GRAB BAR                ',\
983
    en,  ' WINDOW GRAB BUTTON             ',\
1117
    en,  ' WINDOW GRAB BUTTON             ',\
984
    en,  ' WINDOW GRAB BUTTON TEXT        ',\
1118
    en,  ' WINDOW GRAB BUTTON TEXT        ',\
Line 986... Line 1120...
986
    en,  ' WINDOW WORK AREA               ',\
1120
    en,  ' WINDOW WORK AREA               ',\
987
    en,  ' WINDOW WORK AREA BUTTON        ',\
1121
    en,  ' WINDOW WORK AREA BUTTON        ',\
988
    en,  ' WINDOW WORK AREA BUTTON TEXT   ',\
1122
    en,  ' WINDOW WORK AREA BUTTON TEXT   ',\
989
    en,  ' WINDOW WORK AREA TEXT          ',\
1123
    en,  ' WINDOW WORK AREA TEXT          ',\
990
    en,  ' WINDOW WORK AREA GRAPH         ',\
1124
    en,  ' WINDOW WORK AREA GRAPH         ',\
991
    en,  '                                ',\
-
 
992
    en,  '  LOAD    SAVE                  ',\
-
 
993
    en,  'x',\
1125
    en,  'x',\
994
    et,  ' AKNA RAAM                      ',\
1126
    et,  ' AKNA RAAM                      ',\
995
    et,  ' AKNA HAARAMISE RIBA            ',\
1127
    et,  ' AKNA HAARAMISE RIBA            ',\
996
    et,  ' AKNA HAARAMISE NUPP            ',\
1128
    et,  ' AKNA HAARAMISE NUPP            ',\
997
    et,  ' AKNA HAARAMISE NUPU TEKST      ',\
1129
    et,  ' AKNA HAARAMISE NUPU TEKST      ',\
Line 999... Line 1131...
999
    et,  ' AKNA TÖÖPIIRKOND               ',\
1131
    et,  ' AKNA TÖÖPIIRKOND               ',\
1000
    et,  ' AKNA TÖÖPIIRKONNA NUPP         ',\
1132
    et,  ' AKNA TÖÖPIIRKONNA NUPP         ',\
1001
    et,  ' AKNA TÖÖPIIRKONNA NUPPU TEKST  ',\
1133
    et,  ' AKNA TÖÖPIIRKONNA NUPPU TEKST  ',\
1002
    et,  ' AKNA TÖÖPIIRKONNA TEKST        ',\
1134
    et,  ' AKNA TÖÖPIIRKONNA TEKST        ',\
1003
    et,  ' AKNA TÖÖPIIRKONNA GRAAFIKA     ',\
1135
    et,  ' AKNA TÖÖPIIRKONNA GRAAFIKA     ',\
1004
    et,  '                                ',\
-
 
1005
    et,  '  LAADI SALVESTA                ',\
-
 
1006
    et,  'x'
1136
    et,  'x'
Line 1007... Line 1137...
1007
 
1137
 
1008
lsz t1,\
1138
lsz t1,\
1009
    ru, '  3D   ‹Ž‘Šˆ…   ˆŒ…ˆ’œ ',\
1139
    ru, '  3D   ‹Ž‘Šˆ…   ˆŒ…ˆ’œ ',\
Line 1013... Line 1143...
1013
lsz t2,\
1143
lsz t2,\
1014
    ru,  ' ‡€ƒ“‡ˆ’œ   ˆŒ…ˆ’œ ',\
1144
    ru,  ' ‡€ƒ“‡ˆ’œ   ˆŒ…ˆ’œ ',\
1015
    en,  '  LOAD     APPLY  ',\
1145
    en,  '  LOAD     APPLY  ',\
1016
    et,  '  LAADI   KINNITA '
1146
    et,  '  LAADI   KINNITA '
Line -... Line 1147...
-
 
1147
 
-
 
1148
lsz t3,\
-
 
1149
    ru,  ' ‡€ƒ“‡ˆ’œ  ‘Ž•€ˆ’œ ',\
-
 
1150
    en,  '  LOAD     SAVE  ',\
-
 
1151
    et,  ' LAADI  SALVESTA',\
1017
 
1152
 
1018
lsz caption_text,\
1153
lsz caption_text,\
1019
    ru, '‡ £®«®¢®ª',\
1154
    ru, '‡ £®«®¢®ª',\
1020
    en, 'Caption',\
1155
    en, 'Caption',\
Line 1030... Line 1165...
1030
lsz button_text,\
1165
lsz button_text,\
1031
    ru, '’¥ªáâ ­  ª­®¯ª¥',\
1166
    ru, '’¥ªáâ ­  ª­®¯ª¥',\
1032
    en, 'Button text',\
1167
    en, 'Button text',\
1033
    et, 'Nupu tekst'
1168
    et, 'Nupu tekst'
Line 1034... Line 1169...
1034
 
1169
 
Line 1035... Line 1170...
1035
sz  default_skn, '/sys/DEFAULT.SKN',0
1170
;sz  default_skn, '/sys/DEFAULT.SKN',0
1036
 
1171
 
1037
if lang eq ru
1172
if lang eq ru
1038
  title db '€‘’Ž‰Š€ ŽŠŽ',0
1173
  title db '€‘’Ž‰Š€ ŽŠŽ',0
Line 1043... Line 1178...
1043
end if
1178
end if
Line 1044... Line 1179...
1044
 
1179
 
Line -... Line 1180...
-
 
1180
 
-
 
1181
color dd  0
-
 
1182
 
-
 
1183
;---------------------------------------------------------------------
-
 
1184
l_libs_start:
-
 
1185
 
-
 
1186
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
-
 
1187
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
-
 
1188
 
-
 
1189
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
-
 
1190
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
-
 
1191
 
-
 
1192
end_l_libs:
-
 
1193
;---------------------------------------------------------------------
-
 
1194
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
-
 
1195
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
-
 
1196
 
-
 
1197
head_f_i:
-
 
1198
head_f_l	db 'System error',0
-
 
1199
 
-
 
1200
err_message_found_lib1	db 'box_lib.obj - Not found!',0
-
 
1201
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
-
 
1202
 
-
 
1203
err_message_import1	db 'box_lib.obj - Wrong import!',0
-
 
1204
err_message_import2	db 'proc_lib.obj - Wrong import!',0
-
 
1205
 
-
 
1206
;---------------------------------------------------------------------
-
 
1207
align 4
-
 
1208
ProcLib_import:
-
 
1209
OpenDialog_Init		dd aOpenDialog_Init
-
 
1210
OpenDialog_Start	dd aOpenDialog_Start
-
 
1211
;OpenDialog__Version	dd aOpenDialog_Version
-
 
1212
        dd      0
-
 
1213
        dd      0
-
 
1214
aOpenDialog_Init	db 'OpenDialog_init',0
-
 
1215
aOpenDialog_Start	db 'OpenDialog_start',0
-
 
1216
;aOpenDialog_Version	db 'Version_OpenDialog',0
-
 
1217
;---------------------------------------------------------------------
-
 
1218
align 4
-
 
1219
Box_lib_import:	
-
 
1220
;init_lib		dd a_init
-
 
1221
;version_lib		dd a_version
-
 
1222
 
-
 
1223
 
-
 
1224
;edit_box_draw		dd aEdit_box_draw
-
 
1225
;edit_box_key		dd aEdit_box_key
-
 
1226
;edit_box_mouse		dd aEdit_box_mouse
-
 
1227
;version_ed		dd aVersion_ed
-
 
1228
 
-
 
1229
;check_box_draw		dd aCheck_box_draw
-
 
1230
;check_box_mouse	dd aCheck_box_mouse
-
 
1231
;version_ch		dd aVersion_ch
-
 
1232
 
-
 
1233
;option_box_draw	dd aOption_box_draw
-
 
1234
;option_box_mouse	dd aOption_box_mouse
-
 
1235
;version_op		dd aVersion_op
-
 
1236
 
-
 
1237
;scrollbar_ver_draw	dd aScrollbar_ver_draw
-
 
1238
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
-
 
1239
;scrollbar_hor_draw	dd aScrollbar_hor_draw
-
 
1240
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
-
 
1241
;version_scrollbar	dd aVersion_scrollbar
-
 
1242
 
-
 
1243
;dinamic_button_draw	dd aDbutton_draw
-
 
1244
;dinamic_button_mouse	dd aDbutton_mouse
-
 
1245
;version_dbutton	dd aVersion_dbutton
-
 
1246
 
-
 
1247
;menu_bar_draw		dd aMenu_bar_draw
-
 
1248
;menu_bar_mouse		dd aMenu_bar_mouse
-
 
1249
;menu_bar_activate	dd aMenu_bar_activate
-
 
1250
;version_menu_bar	dd aVersion_menu_bar
-
 
1251
 
-
 
1252
;FileBrowser_draw	dd aFileBrowser_draw
-
 
1253
;FileBrowser_mouse	dd aFileBrowser_mouse
-
 
1254
;FileBrowser_key	dd aFileBrowser_key
-
 
1255
;Version_FileBrowser	dd aVersion_FileBrowser
-
 
1256
 
-
 
1257
PathShow_prepare	dd sz_PathShow_prepare
-
 
1258
PathShow_draw		dd sz_PathShow_draw
-
 
1259
;Version_path_show	dd szVersion_path_show
-
 
1260
			dd 0
-
 
1261
			dd 0
-
 
1262
 
-
 
1263
;a_init			db 'lib_init',0
-
 
1264
;a_version		db 'version',0
-
 
1265
 
-
 
1266
;aEdit_box_draw		db 'edit_box',0
-
 
1267
;aEdit_box_key		db 'edit_box_key',0
-
 
1268
;aEdit_box_mouse	db 'edit_box_mouse',0
-
 
1269
;aVersion_ed		db 'version_ed',0
-
 
1270
 
-
 
1271
;aCheck_box_draw	db 'check_box_draw',0
-
 
1272
;aCheck_box_mouse	db 'check_box_mouse',0
-
 
1273
;aVersion_ch		db 'version_ch',0
-
 
1274
 
-
 
1275
;aOption_box_draw	db 'option_box_draw',0
-
 
1276
;aOption_box_mouse	db 'option_box_mouse',0
-
 
1277
;aVersion_op		db 'version_op',0
-
 
1278
 
-
 
1279
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
-
 
1280
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
-
 
1281
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
-
 
1282
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
-
 
1283
;aVersion_scrollbar	db 'version_scrollbar',0
-
 
1284
 
-
 
1285
;aDbutton_draw		db 'dbutton_draw',0
-
 
1286
;aDbutton_mouse		db 'dbutton_mouse',0
-
 
1287
;aVersion_dbutton	db 'version_dbutton',0
-
 
1288
 
-
 
1289
;aMenu_bar_draw		db 'menu_bar_draw',0
-
 
1290
;aMenu_bar_mouse		db 'menu_bar_mouse',0
-
 
1291
;aMenu_bar_activate	db 'menu_bar_activate',0
-
 
1292
;aVersion_menu_bar	db 'version_menu_bar',0
-
 
1293
 
-
 
1294
;aFileBrowser_draw	db 'FileBrowser_draw',0
-
 
1295
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
-
 
1296
;aFileBrowser_key	db 'FileBrowser_key',0
-
 
1297
;aVersion_FileBrowser	db 'version_FileBrowser',0
-
 
1298
 
-
 
1299
sz_PathShow_prepare	db 'PathShow_prepare',0
-
 
1300
sz_PathShow_draw	db 'PathShow_draw',0
-
 
1301
;szVersion_path_show	db 'version_PathShow',0
-
 
1302
;---------------------------------------------------------------------
-
 
1303
PathShow_data_1:
-
 
1304
.type			dd 0	;+0
-
 
1305
.start_y		dw 217	;+4
-
 
1306
.start_x		dw 12	;+6
-
 
1307
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
-
 
1308
.area_size_x		dw 530	;+10
-
 
1309
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
-
 
1310
.background_flag	dd 0	;+16
-
 
1311
.font_color		dd 0x0	;+20
-
 
1312
.background_color	dd 0x0	;+24
-
 
1313
.text_pointer		dd fname	;+28
-
 
1314
.work_area_pointer	dd text_work_area	;+32
-
 
1315
.temp_text_length	dd 0	;+36
-
 
1316
;---------------------------------------------------------------------
-
 
1317
PathShow_data_2:
-
 
1318
.type			dd 0	;+0
-
 
1319
.start_y		dw 235	;+4
-
 
1320
.start_x		dw 12	;+6
-
 
1321
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
-
 
1322
.area_size_x		dw 530	;+10
-
 
1323
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
-
 
1324
.background_flag	dd 0	;+16
-
 
1325
.font_color		dd 0x0	;+20
-
 
1326
.background_color	dd 0x0	;+24
-
 
1327
.text_pointer		dd skin_info	;+28
-
 
1328
.work_area_pointer	dd text_work_area2	;+32
-
 
1329
.temp_text_length	dd 0	;+36
-
 
1330
;---------------------------------------------------------------------
-
 
1331
OpenDialog_data:
-
 
1332
.type			dd 0
-
 
1333
.procinfo		dd procinfo	;+4
-
 
1334
.com_area_name		dd communication_area_name	;+8
-
 
1335
.com_area		dd 0	;+12
-
 
1336
.opendir_pach		dd temp_dir_pach	;+16
-
 
1337
.dir_default_pach	dd communication_area_default_pach	;+20
-
 
1338
.start_path		dd open_dialog_path	;+24
-
 
1339
.draw_window		dd draw_window	;+28
-
 
1340
.status			dd 0	;+32
-
 
1341
.openfile_pach 		dd fname	;+36
-
 
1342
.filename_area		dd filename_area	;+40
-
 
1343
.filter_area		dd Filter
-
 
1344
.x:
-
 
1345
.x_size			dw 420 ;+48 ; Window X size
-
 
1346
.x_start		dw 10 ;+50 ; Window X position
-
 
1347
.y:
-
 
1348
.y_size			dw 320 ;+52 ; Window y size
-
 
1349
.y_start		dw 10 ;+54 ; Window Y position
-
 
1350
 
-
 
1351
OpenDialog_data2:
-
 
1352
.type			dd 0
-
 
1353
.procinfo		dd procinfo	;+4
-
 
1354
.com_area_name		dd communication_area_name2	;+8
-
 
1355
.com_area		dd 0	;+12
-
 
1356
.opendir_pach		dd temp_dir_pach2	;+16
-
 
1357
.dir_default_pach	dd communication_area_default_pach	;+20
-
 
1358
.start_path		dd open_dialog_path	;+24
-
 
1359
.draw_window		dd draw_window	;+28
-
 
1360
.status			dd 0	;+32
-
 
1361
.openfile_pach 		dd skin_info	;+36
-
 
1362
.filename_area		dd filename_area2	;+40
-
 
1363
.filter_area		dd Filter2
-
 
1364
.x:
-
 
1365
.x_size			dw 420 ;+48 ; Window X size
-
 
1366
.x_start		dw 10 ;+50 ; Window X position
-
 
1367
.y:
-
 
1368
.y_size			dw 320 ;+52 ; Window y size
-
 
1369
.y_start		dw 10 ;+54 ; Window Y position
-
 
1370
 
-
 
1371
communication_area_name2:
-
 
1372
	db 'FFFFFFFF_open_dialog',0
-
 
1373
 
-
 
1374
communication_area_name:
-
 
1375
	db 'FFFFFFFF_open_dialog2',0
-
 
1376
open_dialog_path:
-
 
1377
	db '/sys/File Managers/opendial',0
-
 
1378
communication_area_default_pach:
-
 
1379
	db '/sys',0
-
 
1380
 
-
 
1381
Filter:
-
 
1382
dd	Filter.end - Filter
-
 
1383
.1:
-
 
1384
db	'DTP',0
-
 
1385
.end:
-
 
1386
db	0
-
 
1387
 
-
 
1388
Filter2:
-
 
1389
dd	Filter.end - Filter
-
 
1390
.1:
-
 
1391
db	'SKN',0
-
 
1392
.end:
-
 
1393
db	0
-
 
1394
 
-
 
1395
start_temp_file_name:	db 'default.dtp',0
-
 
1396
 
-
 
1397
default_skin:
-
 
1398
	db '/sys/default.skn',0
1045
 
1399
default_dtp:
Line 1046... Line 1400...
1046
color dd  0
1400
	db '/sys/default.dtp',0
Line 1047... Line 1401...
1047
 
1401
;---------------------------------------------------------------------
Line 1055... Line 1409...
1055
  .mode         dd ?            ; read
1409
  .mode         dd ?            ; read
1056
  .start_block  dd ?            ; first block
1410
  .start_block  dd ?            ; first block
1057
  .blocks       dd ?            ; 512 bytes
1411
  .blocks       dd ?            ; 512 bytes
1058
  .address      dd ?
1412
  .address      dd ?
1059
  .workarea     dd ?
1413
  .workarea     dd ?
1060
fname rb 256+1            ; filename (+1 - for zero at the end)
1414
fname rb 4096            ; filename
Line 1061... Line 1415...
1061
 
1415
 
1062
virtual at read_info
1416
virtual at read_info
1063
 write_info:
1417
 write_info:
1064
  .mode         dd ?
1418
  .mode         dd ?
1065
  rd 1
1419
  rd 1
1066
  .bytes2write  dd ?
1420
  .bytes2write  dd ?
1067
  .address      dd ?
1421
  .address      dd ?
1068
  .workarea     dd ?
1422
  .workarea     dd ?
Line 1069... Line 1423...
1069
end virtual
1423
end virtual
-
 
1424
 
-
 
1425
read_info2:
-
 
1426
  .mode         dd ?            ; read
-
 
1427
  .start_block  dd ?            ; first block
1070
 
1428
  .blocks       dd ?            ; 512 bytes
-
 
1429
  .address      dd ?
Line 1071... Line 1430...
1071
skin_info:
1430
  .workarea     dd ?
Line 1072... Line 1431...
1072
  .fname rb 256+1
1431
skin_info rb 4096
1073
 
1432
 
Line 1074... Line 1433...
1074
param   rb      257
1433
;param   rb      257
Line 1087... Line 1446...
1087
w_work_text          dd ?
1446
w_work_text          dd ?
1088
w_work_graph         dd ?
1447
w_work_graph         dd ?
Line 1089... Line 1448...
1089
 
1448
 
1090
color_table:
1449
color_table:
-
 
1450
  times 10 dd ?
-
 
1451
;---------------------------------------------------------------------
-
 
1452
align 4
-
 
1453
cur_dir_path:
-
 
1454
	rb 4096
-
 
1455
;---------------------------------------------------------------------
-
 
1456
library_path:
-
 
1457
	rb 4096
-
 
1458
;---------------------------------------------------------------------
-
 
1459
;fname_buf:
-
 
1460
;	rb 4096
-
 
1461
;---------------------------------------------------------------------
-
 
1462
temp_dir_pach:
-
 
1463
	rb 4096
-
 
1464
;---------------------------------------------------------------------
-
 
1465
temp_dir_pach2:
-
 
1466
	rb 4096
-
 
1467
;---------------------------------------------------------------------
-
 
1468
text_work_area:
-
 
1469
	rb 1024
-
 
1470
;---------------------------------------------------------------------
-
 
1471
text_work_area2:
-
 
1472
	rb 1024
-
 
1473
;---------------------------------------------------------------------
-
 
1474
procinfo:
-
 
1475
	rb 1024
-
 
1476
;---------------------------------------------------------------------
-
 
1477
filename_area:
-
 
1478
	rb 256
-
 
1479
;---------------------------------------------------------------------
-
 
1480
filename_area2:
-
 
1481
	rb 256
-
 
1482
;---------------------------------------------------------------------
-
 
1483
	rb 4096
-
 
1484
stacktop:
-
 
1485
;---------------------------------------------------------------------
-
 
1486
file_load_area:	; old 0x10000
-
 
1487
	rb 32*1024
-
 
1488
;---------------------------------------------------------------------
-
 
1489
not_packed_area:	; old 0x18000
-
 
1490
	rb 32*1024
-
 
1491
;---------------------------------------------------------------------
-
 
1492
unpack_area:	; old 0x20000
-
 
1493
	rb 32*1024
-
 
1494
;---------------------------------------------------------------------
1091
  times 10 dd ?
1495
i_end: