Subversion Repositories Kolibri OS

Rev

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

Rev 1418 Rev 1436
1
;   RTF READER FOR MENUET v1.
1
;   RTF READER FOR MENUET v1.
2
;   Written in pure assembler by Ivushkin Andrey aka Willow
2
;   Written in pure assembler by Ivushkin Andrey aka Willow
3
;
3
;
4
;---------------------------------------------------------------------
4
;---------------------------------------------------------------------
5
M64 equ 64*1024
5
M64 equ 64*1024
6
N_A equ 0x412f4e
6
N_A equ 0x412f4e
7
RTFSIZE equ M64
7
RTFSIZE equ M64
8
RTFSTACKSIZE equ M64
8
RTFSTACKSIZE equ M64
9
BGIFONTSIZE equ 120*1024
9
BGIFONTSIZE equ 120*1024
10
ESPSIZE equ M64
10
ESPSIZE equ M64
11
LMARGIN equ 20
11
LMARGIN equ 20
12
CHARW equ 6
12
CHARW equ 6
13
CHARH equ 11
13
CHARH equ 11
14
WINW  equ 600
14
WINW  equ 600
15
WINH  equ 450
15
WINH  equ 450
16
WIN_COLOR equ 0x3f0f0f0
16
WIN_COLOR equ 0x3f0f0f0
17
DEFCOLOR equ 0x303030
17
DEFCOLOR equ 0x303030
18
;RENDER equ PIX
18
;RENDER equ PIX
19
;RENDER equ BGI
19
;RENDER equ BGI
20
RENDER equ FREE
20
RENDER equ FREE
21
 
21
 
22
BGIFONT_PATH equ '/sys/fonts/'
22
BGIFONT_PATH equ '/sys/fonts/'
23
FONT_NAME equ 'LITT'
23
FONT_NAME equ 'LITT'
24
TOP =55
24
TOP =55
25
MODE equ RTF
25
MODE equ RTF
26
INVALHEX equ 0
26
INVALHEX equ 0
27
RTF_COLORLESS equ 1
27
RTF_COLORLESS equ 1
28
RTF_ALIGNLESS equ 2
28
RTF_ALIGNLESS equ 2
29
RTF_NO1STLINE equ 4
29
RTF_NO1STLINE equ 4
30
RTF_OPENING   equ 8
30
RTF_OPENING   equ 8
31
RTF_HELP      equ 16
31
RTF_HELP      equ 16
32
RTF_VALID     equ 32
32
RTF_VALID     equ 32
33
RTF_BLIND     equ 64
33
RTF_BLIND     equ 64
34
RTF_TOEOF     equ 128
34
RTF_TOEOF     equ 128
35
RTF_BOTTOM    equ 256
35
RTF_BOTTOM    equ 256
36
STEPBYSTEP equ 10
36
STEPBYSTEP equ 10
37
DEBUG_BLOCK equ 10
37
DEBUG_BLOCK equ 10
38
SHOWALIGN equ 10
38
SHOWALIGN equ 10
39
GUTTER equ 10
39
GUTTER equ 10
40
BENCH  equ 0;1
40
BENCH  equ 0;1
41
syms equ 12
41
syms equ 12
42
 
42
 
43
  use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
43
  use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
44
  org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
44
  org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
45
 
45
 
46
  db     'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
46
  db     'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
47
  dd     0x01        ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
47
  dd     0x01        ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
48
  dd     START       ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
48
  dd     START       ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
49
  dd     I_END0      ; à §¬¥à ¯à®£à ¬¬ë
49
  dd     I_END0      ; à §¬¥à ¯à®£à ¬¬ë
50
  dd     esp_end     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
50
  dd     esp_end     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
51
  dd     sys_mem     ;  ¤à¥á ¢¥à設ë áâíª 
51
  dd     sys_mem     ;  ¤à¥á ¢¥à設ë áâíª 
52
  dd     fname_buf   ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
52
  dd     fname_buf   ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
53
  dd     0x0         ; § à¥§¥à¢¨à®¢ ­®
53
  dd     0x0         ; § à¥§¥à¢¨à®¢ ­®
54
 
54
 
55
include '..\..\..\MACROS.INC' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
55
include '..\..\..\MACROS.INC' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
56
include '..\..\..\develop\libraries\box_lib\load_lib.mac'
56
include '..\..\..\develop\libraries\box_lib\load_lib.mac'
57
include '..\..\..\develop\libraries\box_lib\asm\trunk\opendial.mac'
57
include '..\..\..\develop\libraries\box_lib\asm\trunk\opendial.mac'
58
 
58
 
59
;include 'MACROS.INC'
59
;include 'MACROS.INC'
60
;include 'load_lib.mac'
60
;include 'load_lib.mac'
61
;include 'opendial.mac'
61
;include 'opendial.mac'
62
 
62
 
63
include 'debug.inc'
63
include 'debug.inc'
64
 
64
 
65
	use_OpenDialog
65
	use_OpenDialog
66
if ~ RENDER eq PIX
66
if ~ RENDER eq PIX
67
  TOP=TOP+4
67
  TOP=TOP+4
68
  include 'bgifont.inc'
68
  include 'bgifont.inc'
69
end if
69
end if
70
include 'rtf_lite.inc'
70
include 'rtf_lite.inc'
71
include 'ascl.inc'
71
include 'ascl.inc'
72
;---------------------------------------------------------------------
72
;---------------------------------------------------------------------
73
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
73
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
74
;---------------------------------------------------------------------
74
;---------------------------------------------------------------------
75
help_file:
75
help_file:
76
file  'reader.rtf'
76
file  'reader.rtf'
77
help_end:
77
help_end:
78
 
78
 
79
START:
79
START:
80
        mcall 68, 11
80
        mcall 68, 11
81
;OpenDialog initialisation
81
;OpenDialog initialisation
82
init_OpenDialog	OpenDialog_data
82
init_OpenDialog	OpenDialog_data
83
 
83
 
84
    mov  [pitch],2
84
    mov  [pitch],2
85
  if ~ RENDER eq PIX
85
  if ~ RENDER eq PIX
86
    mov  edx,FONT_NAME
86
    mov  edx,FONT_NAME
87
    mov  edi,save_limit
87
    mov  edi,save_limit
88
    BGIfont_Prepare
88
    BGIfont_Prepare
89
  end if
89
  end if
90
 start2:
90
 start2:
91
    cmp  byte[fname_buf],0
91
    cmp  byte[fname_buf],0
92
    je   load_file;top_red
92
    je   load_file;top_red
93
    jmp  noactivate
93
    jmp  noactivate
94
 prep_load:
94
 prep_load:
95
;    mcall 18,3,dword[prcinfo+30]
95
;    mcall 18,3,dword[prcinfo+30]
96
 noactivate:
96
 noactivate:
97
;    and  ebp,not RTF_OPENING
97
;    and  ebp,not RTF_OPENING
98
;    and  ebp,not RTF_HELP
98
;    and  ebp,not RTF_HELP
99
 
99
 
100
;    and  [mode],not RTF_OPENING
100
;    and  [mode],not RTF_OPENING
101
    and  [mode],not (RTF_HELP+RTF_OPENING)
101
    and  [mode],not (RTF_HELP+RTF_OPENING)
102
    mov  ecx,16
102
    mov  ecx,16
103
    mov  edi,fileinfo.name
103
    mov  edi,fileinfo.name
104
    mov  esi,fname_buf
104
    mov  esi,fname_buf
105
    rep  movsd
105
    rep  movsd
106
 load_file:
106
 load_file:
107
        mov     eax, 70
107
        mov     eax, 70
108
        and     [fileattr+32], 0
108
        and     [fileattr+32], 0
109
        mov     ebx, attrinfo
109
        mov     ebx, attrinfo
110
        mcall
110
        mcall
111
        mov     ebx, [fileattr+32]
111
        mov     ebx, [fileattr+32]
112
        test    eax, eax
112
        test    eax, eax
113
        jz      .sizok
113
        jz      .sizok
114
        mov     dword [fileinfo.name], N_A
114
        mov     dword [fileinfo.name], N_A
115
.sizok:
115
.sizok:
116
    and  [wSave],0
116
    and  [wSave],0
117
    mov  [HClick],-100
117
    mov  [HClick],-100
118
    mov  eax,ebx
118
    mov  eax,ebx
119
    and  eax,RTFSIZE-1
119
    and  eax,RTFSIZE-1
120
    add  eax,I_END
120
    add  eax,I_END
121
    mov  [tail],eax
121
    mov  [tail],eax
122
    shr  ebx,16
122
    shr  ebx,16
123
;    dpd ebx
123
;    dpd ebx
124
    mov  [max_block],ebx
124
    mov  [max_block],ebx
125
    xor  eax,eax
125
    xor  eax,eax
126
    mov  ecx,256
126
    mov  ecx,256
127
    mov  edi,fileinfo.name
127
    mov  edi,fileinfo.name
128
    repne scasb
128
    repne scasb
129
    sub  edi,fileinfo.name+1
129
    sub  edi,fileinfo.name+1
130
    mov  [fname_size],edi
130
    mov  [fname_size],edi
131
top_red:
131
top_red:
132
    mov  [top],TOP
132
    mov  [top],TOP
133
red:                    ; ¯¥à¥à¨á®¢ âì ®ª­®
133
red:                    ; ¯¥à¥à¨á®¢ âì ®ª­®
134
 
134
 
135
    call draw_window    ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
135
    call draw_window    ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
136
 
136
 
137
;---------------------------------------------------------------------
137
;---------------------------------------------------------------------
138
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
138
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
139
;---------------------------------------------------------------------
139
;---------------------------------------------------------------------
140
 
140
 
141
still:
141
still:
142
    mcall 10            ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
142
    mcall 10            ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
143
 
143
 
144
    cmp  eax,1          ; ¯¥à¥à¨á®¢ âì ®ª­® ?
144
    cmp  eax,1          ; ¯¥à¥à¨á®¢ âì ®ª­® ?
145
    je   red            ; ¥á«¨ ¤  - ­  ¬¥âªã red
145
    je   red            ; ¥á«¨ ¤  - ­  ¬¥âªã red
146
    cmp  eax,3          ; ­ ¦ â  ª­®¯ª  ?
146
    cmp  eax,3          ; ­ ¦ â  ª­®¯ª  ?
147
    je   button         ; ¥á«¨ ¤  - ­  button
147
    je   button         ; ¥á«¨ ¤  - ­  button
148
 
148
 
149
;---------------------------------------------------------------------
149
;---------------------------------------------------------------------
150
 
150
 
151
 
151
 
152
  key:                  ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
152
  key:                  ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
153
    mcall 2             ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah)
153
    mcall 2             ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah)
154
    cmp  ah,104         ; HELP
154
    cmp  ah,104         ; HELP
155
    jne  .nohelp
155
    jne  .nohelp
156
  .help:
156
  .help:
157
    xor  [mode],RTF_HELP
157
    xor  [mode],RTF_HELP
158
    test [mode],RTF_HELP
158
    test [mode],RTF_HELP
159
    jz   load_file
159
    jz   load_file
160
    mov  ecx,help_end-help_file
160
    mov  ecx,help_end-help_file
161
    mov  [block_end],ecx
161
    mov  [block_end],ecx
162
    add  [block_end],I_END
162
    add  [block_end],I_END
163
    mov  [tail],ecx
163
    mov  [tail],ecx
164
    add  [tail],I_END
164
    add  [tail],I_END
165
    mov  esi,help_file
165
    mov  esi,help_file
166
    mov  edi,I_END
166
    mov  edi,I_END
167
    rep  movsb
167
    rep  movsb
168
;    or   [mode],RTF_HELP
168
;    or   [mode],RTF_HELP
169
    xor  eax,eax
169
    xor  eax,eax
170
    mov  [max_block],eax
170
    mov  [max_block],eax
171
    jmp  top_red
171
    jmp  top_red
172
  .nohelp:
172
  .nohelp:
173
;    test [mode],RTF_HELP
173
;    test [mode],RTF_HELP
174
;    jz   .nohelp2
174
;    jz   .nohelp2
175
;    and  [mode],not RTF_HELP
175
;    and  [mode],not RTF_HELP
176
;    cmp  dword[fileinfo.name],N_A
176
;    cmp  dword[fileinfo.name],N_A
177
;    je   still
177
;    je   still
178
;    jmp  prep_load
178
;    jmp  prep_load
179
  .nohelp2:
179
  .nohelp2:
180
    cmp  ah,114         ; R - redraw
180
    cmp  ah,114         ; R - redraw
181
    je   red
181
    je   red
182
    cmp  ah,99          ; C - color
182
    cmp  ah,99          ; C - color
183
    jne  .nocolor
183
    jne  .nocolor
184
  .color:
184
  .color:
185
    xor  [mode],RTF_COLORLESS
185
    xor  [mode],RTF_COLORLESS
186
    jmp  red
186
    jmp  red
187
  .nocolor:
187
  .nocolor:
188
    cmp  ah,97          ; A - alignment
188
    cmp  ah,97          ; A - alignment
189
    jne  .noalign
189
    jne  .noalign
190
  .alignment:
190
  .alignment:
191
    xor  [mode],RTF_ALIGNLESS
191
    xor  [mode],RTF_ALIGNLESS
192
    jmp  red
192
    jmp  red
193
  .noalign:
193
  .noalign:
194
    cmp  ah,44          ; < - pitch dec
194
    cmp  ah,44          ; < - pitch dec
195
    jne  .nopd
195
    jne  .nopd
196
  .decp:
196
  .decp:
197
    dec  [pitch]
197
    dec  [pitch]
198
    jmp  red
198
    jmp  red
199
  .nopd:
199
  .nopd:
200
    cmp  ah,46          ; < - pitch inc
200
    cmp  ah,46          ; < - pitch inc
201
    jne  .nopi
201
    jne  .nopi
202
  .incp:
202
  .incp:
203
    inc  [pitch]
203
    inc  [pitch]
204
    jmp  red
204
    jmp  red
205
  .nopi:
205
  .nopi:
206
    cmp  ah,180         ; Home
206
    cmp  ah,180         ; Home
207
    je   top_red
207
    je   top_red
208
    mov  ebx,dword[prcinfo+46]
208
    mov  ebx,dword[prcinfo+46]
209
    sub  ebx,TOP+15
209
    sub  ebx,TOP+15
210
    cmp  ah,183 ;PgDn
210
    cmp  ah,183 ;PgDn
211
    jne  .nopgdn
211
    jne  .nopgdn
212
    sub  [top],bx
212
    sub  [top],bx
213
    jmp  red
213
    jmp  red
214
  .nopgdn:
214
  .nopgdn:
215
    cmp  ah,177 ;arrDn
215
    cmp  ah,177 ;arrDn
216
    jne  .noardn
216
    jne  .noardn
217
    sub  [top],CHARH
217
    sub  [top],CHARH
218
    jmp  red
218
    jmp  red
219
  .noardn:
219
  .noardn:
220
    mov  cx,[top]
220
    mov  cx,[top]
221
    cmp  ah,184 ;PgUp
221
    cmp  ah,184 ;PgUp
222
    jne  .nopgup
222
    jne  .nopgup
223
    add  [top],bx
223
    add  [top],bx
224
    cmp  [top],TOP
224
    cmp  [top],TOP
225
    jl   red
225
    jl   red
226
    mov  [top],TOP
226
    mov  [top],TOP
227
    cmp  cx,[top]
227
    cmp  cx,[top]
228
    je   still
228
    je   still
229
    jmp  red
229
    jmp  red
230
  .nopgup:
230
  .nopgup:
231
    cmp  ah,178 ;arrUp
231
    cmp  ah,178 ;arrUp
232
    jne  .noarup
232
    jne  .noarup
233
    add  [top],CHARH
233
    add  [top],CHARH
234
    cmp  [top],TOP
234
    cmp  [top],TOP
235
    jl   red
235
    jl   red
236
    mov  [top],TOP
236
    mov  [top],TOP
237
    cmp  cx,[top]
237
    cmp  cx,[top]
238
    je   still
238
    je   still
239
    jmp  red
239
    jmp  red
240
  .noarup:
240
  .noarup:
241
  if  RENDER eq FREE
241
  if  RENDER eq FREE
242
    cmp  ah,56 ;zoom+
242
    cmp  ah,56 ;zoom+
243
    jne  .noplus
243
    jne  .noplus
244
  .zplus:
244
  .zplus:
245
    fld  [FreeFontscale]
245
    fld  [FreeFontscale]
246
    fmul [Zoomscale]
246
    fmul [Zoomscale]
247
  .zoom:
247
  .zoom:
248
    fstp [FreeFontscale]
248
    fstp [FreeFontscale]
249
    jmp  red
249
    jmp  red
250
  .noplus:
250
  .noplus:
251
    cmp  ah,54 ;zoom-
251
    cmp  ah,54 ;zoom-
252
    jne  .nominus
252
    jne  .nominus
253
  .zminus:
253
  .zminus:
254
    fld  [FreeFontscale]
254
    fld  [FreeFontscale]
255
    fdiv [Zoomscale]
255
    fdiv [Zoomscale]
256
    jmp  .zoom
256
    jmp  .zoom
257
  .nominus:
257
  .nominus:
258
  end if
258
  end if
259
    cmp  ah,108         ; L - load
259
    cmp  ah,108         ; L - load
260
    jne  stilld
260
    jne  stilld
261
  .file_open:
261
  .file_open:
262
;---------------------------------------------------------------------
262
;---------------------------------------------------------------------
263
;OpenDialog_start:
263
;OpenDialog_start:
264
	call	get_filter_data
-
 
265
;	copy_path	open_dialog_name,path,library_path,0
264
;	copy_path	open_dialog_name,path,library_path,0
266
	
265
	
267
	start_OpenDialog	OpenDialog_data
266
	start_OpenDialog	OpenDialog_data
268
 
267
 
269
	cmp	[OpenDialog_data.status],2 ; OpenDialog does not start
268
	cmp	[OpenDialog_data.status],2 ; OpenDialog does not start
270
	je	.sysxtree  ; 	some kind of alternative, instead OpenDialog
269
	je	.sysxtree  ; 	some kind of alternative, instead OpenDialog
271
	cmp	[OpenDialog_data.status],1
270
	cmp	[OpenDialog_data.status],1
272
;	jne	still ; OpenDialog user say cancel
-
 
273
;	copy path
-
 
274
;	call	draw_window
-
 
275
	je	prep_load
271
	je	prep_load
276
	
-
 
277
;.copy_dir_path:
272
	jmp	still
278
;    mov   esi,fname_buf
-
 
279
;    mov   edi,temp_dir_pach
-
 
280
;	call  copy_dir_path
-
 
281
	
-
 
282
	jmp	still ; OpenDialog user selected the target file
-
 
283
	; [OpenDialog_data.openfile_pach] pointer of area the target file  
-
 
284
  
-
 
285
;---------------------------------------------------------------------  
273
;---------------------------------------------------------------------  
286
.sysxtree:
274
.sysxtree:
287
    or   [mode],RTF_OPENING
275
    or   [mode],RTF_OPENING
288
    opendialog draw_window, prep_load, st_1, fname_buf
276
    opendialog draw_window, prep_load, st_1, fname_buf
289
  st_1:
277
  st_1:
290
    and  [mode],not RTF_OPENING
278
    and  [mode],not RTF_OPENING
291
    jmp  still;red
279
    jmp  still;red
292
  stilld:
280
  stilld:
293
    jmp  still
281
    jmp  still
294
;---------------------------------------------------------------------
282
;---------------------------------------------------------------------
295
get_filter_data:
283
get_filter_data:
296
	mov	edi,[OpenDialog_data.com_area]
284
	mov	edi,[OpenDialog_data.com_area]
297
	test	edi,edi
285
	test	edi,edi
298
	jnz	@f
286
	jnz	@f
299
	add	esp,4
287
	add	esp,4
300
	jmp	still
288
	jmp	still
301
@@:
289
@@:
302
	add	edi,4096+4
290
	add	edi,4096+4
303
	mov	esi,Filter
291
	mov	esi,Filter
304
	mov	ecx,[esi]
292
	mov	ecx,[esi]
305
	inc	ecx
293
	inc	ecx
306
	cld
294
	cld
307
	rep	movsb
295
	rep	movsb
308
	mov	edi,[OpenDialog_data.com_area]
296
	mov	edi,[OpenDialog_data.com_area]
309
	mov	[edi+4096],dword 1
297
	mov	[edi+4096],dword 1
310
	ret
298
	ret
311
;---------------------------------------------------------------------
299
;---------------------------------------------------------------------
312
 
300
 
313
  button:
301
  button:
314
    mcall 17            ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
302
    mcall 17            ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
315
    cmp   ah,2
303
    cmp   ah,2
316
    je    key.help
304
    je    key.help
317
    cmp   ah,3
305
    cmp   ah,3
318
    je    key.color
306
    je    key.color
319
    cmp   ah,4
307
    cmp   ah,4
320
    je    key.alignment
308
    je    key.alignment
321
    cmp   ah,5
309
    cmp   ah,5
322
    je    key.file_open
310
    je    key.file_open
323
    cmp   ah,6
311
    cmp   ah,6
324
    je    key.incp
312
    je    key.incp
325
    cmp   ah,7
313
    cmp   ah,7
326
    je    key.decp
314
    je    key.decp
327
  if RENDER eq FREE
315
  if RENDER eq FREE
328
    cmp   ah,8
316
    cmp   ah,8
329
    je    key.zminus
317
    je    key.zminus
330
    cmp   ah,9
318
    cmp   ah,9
331
    je    key.zplus
319
    je    key.zplus
332
  end if
320
  end if
333
    cmp   ah, 1         ; ¥á«¨ … ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
321
    cmp   ah, 1         ; ¥á«¨ … ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
334
    jne   .noexit       ;  ¢¥à­ãâìáï
322
    jne   .noexit       ;  ¢¥à­ãâìáï
335
 
323
 
336
  .exit:
324
  .exit:
337
    mcall -1            ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
325
    mcall -1            ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
338
  .noexit:
326
  .noexit:
339
    cmp   ah,20
327
    cmp   ah,20
340
    jne   still
328
    jne   still
341
    mcall 37,1
329
    mcall 37,1
342
    and   eax,0xffff
330
    and   eax,0xffff
343
    cmp   eax,[HClick]
331
    cmp   eax,[HClick]
344
    je    still
332
    je    still
345
    mov   [HClick],eax
333
    mov   [HClick],eax
346
    sub   eax,25
334
    sub   eax,25
347
    mul   [HDoc]
335
    mul   [HDoc]
348
    mov   ebx,dword[prcinfo+46]
336
    mov   ebx,dword[prcinfo+46]
349
    sub   ebx,25
337
    sub   ebx,25
350
    div   ebx
338
    div   ebx
351
    dpd   eax
339
    dpd   eax
352
    mov   [top],TOP
340
    mov   [top],TOP
353
    sub   [top],ax
341
    sub   [top],ax
354
    dps   'B'
342
    dps   'B'
355
    jmp   red;still
343
    jmp   red;still
356
;---------------------------------------------------------------------
344
;---------------------------------------------------------------------
357
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
345
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
358
;---------------------------------------------------------------------
346
;---------------------------------------------------------------------
359
 
347
 
360
draw_window:
348
draw_window:
361
 
349
 
362
    mcall 12, 1                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
350
    mcall 12, 1                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
363
                                   ; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
351
                                   ; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
364
 
352
 
365
    mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0
353
    mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0
366
    mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title
354
    mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title
367
    mov  esi,ecx
355
    mov  esi,ecx
368
    mcall 47,0x30000,isymImplemented,<114,8>
356
    mcall 47,0x30000,isymImplemented,<114,8>
369
    add  edx,36 shl 16
357
    add  edx,36 shl 16
370
    mcall ,,isymMax
358
    mcall ,,isymMax
371
    add  edx,40 shl 16
359
    add  edx,40 shl 16
372
    mov  esi,0x104e00e7;0x10f27840
360
    mov  esi,0x104e00e7;0x10f27840
373
    cmp  dword[fileinfo.name],N_A
361
    cmp  dword[fileinfo.name],N_A
374
    jne  .noNA
362
    jne  .noNA
375
    mov  esi,0x10ff0000
363
    mov  esi,0x10ff0000
376
  .noNA:
364
  .noNA:
377
    mcall 4,edx,esi,fileinfo.name,[fname_size]
365
    mcall 4,edx,esi,fileinfo.name,[fname_size]
378
    mov  edi,prcinfo
366
    mov  edi,prcinfo
379
    mcall 9,edi,-1
367
    mcall 9,edi,-1
380
    and  [mode],not RTF_TOEOF
368
    and  [mode],not RTF_TOEOF
381
    mov  ebx,[edi+42]
369
    mov  ebx,[edi+42]
382
    cmp  ebx,[wSave]
370
    cmp  ebx,[wSave]
383
    je   .nochg
371
    je   .nochg
384
  .chg:
372
  .chg:
385
    mov  [wSave],ebx
373
    mov  [wSave],ebx
386
    or   [mode],RTF_TOEOF
374
    or   [mode],RTF_TOEOF
387
    and  [HDoc],0
375
    and  [HDoc],0
388
    and  [line_count],0
376
    and  [line_count],0
389
    mov  [HClick],-100
377
    mov  [HClick],-100
390
  .nochg:
378
  .nochg:
391
 
379
 
392
 
380
 
393
mcall 13,<5,dword[prcinfo+42]>,<21,21>,0x8000459a
381
mcall 13,<5,dword[prcinfo+42]>,<21,21>,0x8000459a
394
 
382
 
395
mcall 8,7*65536+39,23*65536+16,5,0x459a           ;load
383
mcall 8,7*65536+39,23*65536+16,5,0x459a           ;load
396
mcall 8,46*65536+57,23*65536+16,4,0x459a ;align
384
mcall 8,46*65536+57,23*65536+16,4,0x459a ;align
397
mcall 8,103*65536+44,23*65536+16,3,0x459a   ;color
385
mcall 8,103*65536+44,23*65536+16,3,0x459a   ;color
398
mcall 8,147*65536+37,23*65536+16,2,0x459a        ;help
386
mcall 8,147*65536+37,23*65536+16,2,0x459a        ;help
399
 
387
 
400
mcall 8,184*65536+44,23*65536+16,7,0x459a ;prev
388
mcall 8,184*65536+44,23*65536+16,7,0x459a ;prev
401
mcall 8,229*65536+46,23*65536+16,6,0x459a      ;next
389
mcall 8,229*65536+46,23*65536+16,6,0x459a      ;next
402
 
390
 
403
if RENDER eq FREE
391
if RENDER eq FREE
404
mcall 8,276*65536+44,23*65536+16,9,0x459a ;zoom+
392
mcall 8,276*65536+44,23*65536+16,9,0x459a ;zoom+
405
mcall 8,320*65536+44,23*65536+16,8,0x459a ;zoom-
393
mcall 8,320*65536+44,23*65536+16,8,0x459a ;zoom-
406
end if
394
end if
407
 
395
 
408
 
396
 
409
 
397
 
410
 
398
 
411
;    sub  ebx,60
399
;    sub  ebx,60
412
;    shl  ebx,16
400
;    shl  ebx,16
413
;    mov  bx,12
401
;    mov  bx,12
414
;    mov  ecx,5 shl 16+12
402
;    mov  ecx,5 shl 16+12
415
;    mov  esi,0xb810e7
403
;    mov  esi,0xb810e7
416
;    mov  edx,2
404
;    mov  edx,2
417
; BTN_SPACE equ 14 shl 16
405
; BTN_SPACE equ 14 shl 16
418
;    mcall 8             ;2
406
;    mcall 8             ;2
419
;    sub  ebx,BTN_SPACE
407
;    sub  ebx,BTN_SPACE
420
;    inc  edx
408
;    inc  edx
421
;    mcall 8,,,,0x459a    ;3
409
;    mcall 8,,,,0x459a    ;3
422
;    sub  ebx,BTN_SPACE
410
;    sub  ebx,BTN_SPACE
423
;    inc  edx
411
;    inc  edx
424
;    mcall ,,,,0x107a30  ;4
412
;    mcall ,,,,0x107a30  ;4
425
;    sub  ebx,BTN_SPACE
413
;    sub  ebx,BTN_SPACE
426
;    inc  edx
414
;    inc  edx
427
;    mcall ,,,,0xcc0000  ;5
415
;    mcall ,,,,0xcc0000  ;5
428
;    sub  ebx,BTN_SPACE
416
;    sub  ebx,BTN_SPACE
429
;    inc  edx
417
;    inc  edx
430
;    mcall ,,,,0x575f8c  ;6
418
;    mcall ,,,,0x575f8c  ;6
431
;    sub  ebx,BTN_SPACE
419
;    sub  ebx,BTN_SPACE
432
;    inc  edx
420
;    inc  edx
433
;    mcall ,,,,0x575f8c  ;7
421
;    mcall ,,,,0x575f8c  ;7
434
;  if RENDER eq FREE
422
;  if RENDER eq FREE
435
;    sub  ebx,BTN_SPACE
423
;    sub  ebx,BTN_SPACE
436
;    inc  edx
424
;    inc  edx
437
;    mcall ,,,,0x6a73d0  ;8
425
;    mcall ,,,,0x6a73d0  ;8
438
;    sub  ebx,BTN_SPACE
426
;    sub  ebx,BTN_SPACE
439
;    inc  edx
427
;    inc  edx
440
;    mcall ,,,,0xd048c8  ;9
428
;    mcall ,,,,0xd048c8  ;9
441
;  end if
429
;  end if
442
;text
430
;text
443
;    shr  ecx,16
431
;    shr  ecx,16
444
;    mov  bx,cx
432
;    mov  bx,cx
445
;    add  ebx,3 shl 16+3
433
;    add  ebx,3 shl 16+3
446
    mcall 4,10*65536+27,0x10ddeeff,btn_text,btn_end-btn_text
434
    mcall 4,10*65536+27,0x10ddeeff,btn_text,btn_end-btn_text
447
 
435
 
448
    sub  dword[prcinfo+42],LMARGIN
436
    sub  dword[prcinfo+42],LMARGIN
449
    sub  dword[prcinfo+46],CHARH
437
    sub  dword[prcinfo+46],CHARH
450
 if GUTTER eq 1
438
 if GUTTER eq 1
451
    mov  ebx,LMARGIN shl 16+20
439
    mov  ebx,LMARGIN shl 16+20
452
    mov  ecx,20
440
    mov  ecx,20
453
    mov  eax,4
441
    mov  eax,4
454
    mov  edx,arrow
442
    mov  edx,arrow
455
    mov  esi,1
443
    mov  esi,1
456
  .loop1:
444
  .loop1:
457
    push ecx
445
    push ecx
458
    mcall ,,0xff0000
446
    mcall ,,0xff0000
459
    pop  ecx
447
    pop  ecx
460
    add  ebx,50 shl 16
448
    add  ebx,50 shl 16
461
    loop .loop1
449
    loop .loop1
462
 end if
450
 end if
463
    mov  ebx,dword[prcinfo+42]
451
    mov  ebx,dword[prcinfo+42]
464
    shl  ebx,16
452
    shl  ebx,16
465
    add  ebx,2 shl 16+13
453
    add  ebx,2 shl 16+13
466
    mov  ecx,dword[prcinfo+46]
454
    mov  ecx,dword[prcinfo+46]
467
    add  ecx,40 shl 16-35
455
    add  ecx,40 shl 16-35
468
    mov  edx,20+1 shl 29
456
    mov  edx,20+1 shl 29
469
    mcall 8
457
    mcall 8
470
    mov  ecx,[HClick]
458
    mov  ecx,[HClick]
471
    shl  ecx,16
459
    shl  ecx,16
472
    add  ecx,6-3 shl 16 + 7
460
    add  ecx,6-3 shl 16 + 7
473
    mcall 13,,,0xe26830
461
    mcall 13,,,0xe26830
474
 if MODE eq RTF
462
 if MODE eq RTF
475
    test [mode],RTF_OPENING
463
    test [mode],RTF_OPENING
476
    jne  .ex
464
    jne  .ex
477
    and  [mode],not (RTF_BOTTOM);+RTF_TOEOF)
465
    and  [mode],not (RTF_BOTTOM);+RTF_TOEOF)
478
    mov  [colorptr],colortbl
466
    mov  [colorptr],colortbl
479
    mov  eax,DEFCOLOR
467
    mov  eax,DEFCOLOR
480
    mov  edi,colortbl
468
    mov  edi,colortbl
481
    mov  ecx,16
469
    mov  ecx,16
482
    rep  stosd
470
    rep  stosd
483
    xor  eax,eax
471
    xor  eax,eax
484
    mov  [cGroup],eax
472
    mov  [cGroup],eax
485
    mov  edi,Chp
473
    mov  edi,Chp
486
    mov  ecx,SIZE_save
474
    mov  ecx,SIZE_save
487
    rep  stosb
475
    rep  stosb
488
    mov  ax,[top]
476
    mov  ax,[top]
489
    mov  word[Free+6],10
477
    mov  word[Free+6],10
490
    mov  word[Free+4],ax
478
    mov  word[Free+4],ax
491
    mov  esi,I_END
479
    mov  esi,I_END
492
    call RtfParse
480
    call RtfParse
493
    dpd  eax
481
    dpd  eax
494
    dps  'Lines='
482
    dps  'Lines='
495
    mov  eax,[line_count]
483
    mov  eax,[line_count]
496
    dpd  eax
484
    dpd  eax
497
    newline
485
    newline
498
;    movzx  eax,word[Free+4]
486
;    movzx  eax,word[Free+4]
499
;    dpd  eax
487
;    dpd  eax
500
    mov  eax,dword[prcinfo+42]
488
    mov  eax,dword[prcinfo+42]
501
    mov  edx,WIN_COLOR
489
    mov  edx,WIN_COLOR
502
    call draw_progress
490
    call draw_progress
503
if BENCH eq 1
491
if BENCH eq 1
504
    mcall 26,9
492
    mcall 26,9
505
    sub  eax,[bench]
493
    sub  eax,[bench]
506
    dps  <13,10,'Bench='>
494
    dps  <13,10,'Bench='>
507
    dpd  eax
495
    dpd  eax
508
end if
496
end if
509
 else
497
 else
510
    mov  [char],0
498
    mov  [char],0
511
    mov  ebx,10 shl 16+TOP
499
    mov  ebx,10 shl 16+TOP
512
    mov  ecx,16
500
    mov  ecx,16
513
  .l0:
501
  .l0:
514
    push ecx
502
    push ecx
515
    mov  ecx,16
503
    mov  ecx,16
516
  .l1:
504
  .l1:
517
    push ecx
505
    push ecx
518
  if RENDER eq BGI
506
  if RENDER eq BGI
519
    mov  edx,char
507
    mov  edx,char
520
    mov  ecx,0x48000000
508
    mov  ecx,0x48000000
521
    mov  esi,1
509
    mov  esi,1
522
    BGIfont_Outtext
510
    BGIfont_Outtext
523
  else
511
  else
524
    mcall 4,,0x10000000,char,1
512
    mcall 4,,0x10000000,char,1
525
  end if
513
  end if
526
    pop  ecx
514
    pop  ecx
527
    inc  [char]
515
    inc  [char]
528
    add  ebx,(CHARW+3) shl 16
516
    add  ebx,(CHARW+3) shl 16
529
    loop .l1
517
    loop .l1
530
    pop  ecx
518
    pop  ecx
531
    add  ebx,CHARH+2
519
    add  ebx,CHARH+2
532
    and  ebx,0x0000ffff
520
    and  ebx,0x0000ffff
533
    add  ebx,10 shl 16
521
    add  ebx,10 shl 16
534
    loop .l0
522
    loop .l0
535
 end if
523
 end if
536
 .ex:
524
 .ex:
537
    mcall 12, 2                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
525
    mcall 12, 2                    ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
538
                                   ; 2, § ª®­ç¨«¨ à¨á®¢ âì
526
                                   ; 2, § ª®­ç¨«¨ à¨á®¢ âì
539
    ret                            ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
527
    ret                            ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
540
 
528
 
541
if GUTTER eq 1
529
if GUTTER eq 1
542
   arrow db 0x19
530
   arrow db 0x19
543
end if
531
end if
544
;---------------------------------------------------------------------
532
;---------------------------------------------------------------------
545
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
533
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
546
;---------------------------------------------------------------------
534
;---------------------------------------------------------------------
547
 
535
 
548
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë©
536
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë©
549
;  ‚ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª)
537
;  ‚ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª)
550
 
538
 
551
title:
539
title:
552
  db 'RTF Reader v1.    (     ):'
540
  db 'RTF Reader v1.    (     ):'
553
titlesize:
541
titlesize:
554
btn_text:
542
btn_text:
555
    db 'Load Aligment Color Help    <      >'
543
    db 'Load Aligment Color Help    <      >'
556
if RENDER eq FREE
544
if RENDER eq FREE
557
    db '    Zoom+ Zoom- '
545
    db '    Zoom+ Zoom- '
558
  end if 
546
  end if 
559
btn_end:
547
btn_end:
560
;---------------------------------------------------------------------
548
;---------------------------------------------------------------------
561
OpenDialog_data:
549
OpenDialog_data:
562
.type			dd 0
550
.type			dd 0
563
.procinfo		dd procinfo ;+4
551
.procinfo		dd procinfo ;+4
564
.com_area_name		dd communication_area_name ;+8
552
.com_area_name		dd communication_area_name ;+8
565
.com_area		dd 0 ;+12
553
.com_area		dd 0 ;+12
566
.opendir_pach		dd temp_dir_pach ;+16
554
.opendir_pach		dd temp_dir_pach ;+16
567
.dir_default_pach	dd communication_area_default_pach ;+20
555
.dir_default_pach	dd communication_area_default_pach ;+20
568
.start_path		dd open_dialog_path ;+24
556
.start_path		dd open_dialog_path ;+24
569
.draw_window		dd draw_window ;+28
557
.draw_window		dd draw_window ;+28
570
.status			dd 0 ;+32
558
.status			dd 0 ;+32
571
.openfile_pach		dd fname_buf ;+36
559
.openfile_pach		dd fname_buf ;+36
-
 
560
.filename_area		dd 0	;+40
-
 
561
.filter_area		dd Filter
572
 
562
 
573
communication_area_name:
563
communication_area_name:
574
	db 'FFFFFFFF_open_dialog',0
564
	db 'FFFFFFFF_open_dialog',0
575
open_dialog_path:
565
open_dialog_path:
576
	db '/sys/File Managers/opendial',0
566
	db '/sys/File Managers/opendial',0
577
communication_area_default_pach:
567
communication_area_default_pach:
578
	db '/rd/1',0
568
	db '/rd/1',0
579
 
569
 
580
Filter:
570
Filter:
581
dd  Filter.end - Filter
571
dd Filter.end - Filter
-
 
572
.1:
582
db 'RTF',0
573
db 'RTF',0
583
.end:
574
.end:
584
db 0
575
db 0
585
;---------------------------------------------------------------------
576
;---------------------------------------------------------------------
586
attrinfo:
577
attrinfo:
587
        dd      5
578
        dd      5
588
        dd      0
579
        dd      0
589
        dd      0
580
        dd      0
590
        dd      0
581
        dd      0
591
        dd      fileattr
582
        dd      fileattr
592
        db      0
583
        db      0
593
        dd      fileinfo.name
584
        dd      fileinfo.name
594
 
585
 
595
fileinfo:
586
fileinfo:
596
  dd 0
587
  dd 0
597
.block:
588
.block:
598
  dd 0
589
  dd 0
599
  dd 0
590
  dd 0
600
.size  dd 1
591
.size  dd 1
601
  dd I_END
592
  dd I_END
602
.name:
593
.name:
603
;   db '//'
594
;   db '//'
604
;  db ' /HD/1/RTF/texts/FASM.TXT',0
595
;  db ' /HD/1/RTF/texts/FASM.TXT',0
605
;  db '/HD/1/RTF/TEST2.RTF',0
596
;  db '/HD/1/RTF/TEST2.RTF',0
606
;  db '/HD/1/RTF/texts/index_ru.RTF',0
597
;  db '/HD/1/RTF/texts/index_ru.RTF',0
607
;  db '/HD/1/RTF/texts/stas.RTF',0
598
;  db '/HD/1/RTF/texts/stas.RTF',0
608
;  db '/HD/1/RTF/texts/zed.RTF',0
599
;  db '/HD/1/RTF/texts/zed.RTF',0
609
;  db '/HD/1/RTF/PRACT.RTF',0
600
;  db '/HD/1/RTF/PRACT.RTF',0
610
;  db '/HD/1/RTF/SETUP2.RTF',0
601
;  db '/HD/1/RTF/SETUP2.RTF',0
611
;  db '/HD/1/RTF/texts/TC_RU.RTF',0
602
;  db '/HD/1/RTF/texts/TC_RU.RTF',0
612
;  db '/HD/1/RTF/texts/WORD.RTF',0
603
;  db '/HD/1/RTF/texts/WORD.RTF',0
613
;  db '/HD/1/RTF/texts/WORD97.RTF',0
604
;  db '/HD/1/RTF/texts/WORD97.RTF',0
614
;  db '/HD/1/RTF/texts/MASTAPP.RTF',0
605
;  db '/HD/1/RTF/texts/MASTAPP.RTF',0
615
;  db '/HD/1/RTF/texts/1c_tor77.RTF',0
606
;  db '/HD/1/RTF/texts/1c_tor77.RTF',0
616
;  db '/HD/1/RTF/texts/RELATION.RTF',0
607
;  db '/HD/1/RTF/texts/RELATION.RTF',0
617
;  db '/HD/1/RTF/texts/PLANETS.RTF',0
608
;  db '/HD/1/RTF/texts/PLANETS.RTF',0
618
;  db '/HD/1/RTF/texts/LOTRRUS.RTF',0
609
;  db '/HD/1/RTF/texts/LOTRRUS.RTF',0
619
;  db '/HD/1/RTF/texts/RULEBOOK.RTF',0
610
;  db '/HD/1/RTF/texts/RULEBOOK.RTF',0
620
;  db '/HD/1/RTF/texts/RULEBK2.RTF',0
611
;  db '/HD/1/RTF/texts/RULEBK2.RTF',0
621
;  db '/HD/1/RTF/texts/GLEB.RTF',0
612
;  db '/HD/1/RTF/texts/GLEB.RTF',0
622
;  db '/HD/1/RTF/texts/DWG13_14.RTF',0
613
;  db '/HD/1/RTF/texts/DWG13_14.RTF',0
623
;  db '/HD/1/RTF/texts/LK.RTF',0
614
;  db '/HD/1/RTF/texts/LK.RTF',0
624
 
615
 
625
;  db '/HD/1/RTF/texts/JUSTIFY.RTF',0
616
;  db '/HD/1/RTF/texts/JUSTIFY.RTF',0
626
   rb  256-($-.name)
617
   rb  256-($-.name)
627
;---------------------------------------------------------------------
618
;---------------------------------------------------------------------
628
;blind db ?
619
;blind db ?
629
if RENDER eq PIX
620
if RENDER eq PIX
630
;  rd 2
621
;  rd 2
631
  Free rd 9
622
  Free rd 9
632
else
623
else
633
if RENDER eq BGI
624
if RENDER eq BGI
634
  FreeFontscale dd 0.07
625
  FreeFontscale dd 0.07
635
else
626
else
636
  Zoomscale dd 1.15
627
  Zoomscale dd 1.15
637
  FreeFontscale dd 0.04
628
  FreeFontscale dd 0.04
638
end if
629
end if
639
  Free BGIfree FONT_NAME,0,0,1.0,1.0,char,1,0x44000000,0
630
  Free BGIfree FONT_NAME,0,0,1.0,1.0,char,1,0x44000000,0
640
end if
631
end if
641
I_END0:
632
I_END0:
642
fname_buf:
633
fname_buf:
643
        rb      1024+16
634
        rb      1024+16
644
fileattr rd 40/4
635
fileattr rd 40/4
645
if BENCH eq 1
636
if BENCH eq 1
646
  bench dd ?
637
  bench dd ?
647
end if
638
end if
648
tail dd ?
639
tail dd ?
649
cGroup dd ?
640
cGroup dd ?
650
Chp:
641
Chp:
651
  CHP
642
  CHP
652
Pap:
643
Pap:
653
  PAP
644
  PAP
654
Sep:
645
Sep:
655
  SEP
646
  SEP
656
Dop:
647
Dop:
657
  DOP
648
  DOP
658
rds db ?
649
rds db ?
659
ris db ?
650
ris db ?
660
cbBin dd ?
651
cbBin dd ?
661
lParam dd ?
652
lParam dd ?
662
fSkipDestIfUnk db ?
653
fSkipDestIfUnk db ?
663
mode dd ?
654
mode dd ?
664
curheight dw ?
655
curheight dw ?
665
maxheight dw ?
656
maxheight dw ?
666
RetroBlock dd ?
657
RetroBlock dd ?
667
RetroSave:
658
RetroSave:
668
  SAVE
659
  SAVE
669
prcinfo rb 1024
660
prcinfo rb 1024
670
RetroPtr dd ?
661
RetroPtr dd ?
671
colorptr dd ?
662
colorptr dd ?
672
colortbl rd 16
663
colortbl rd 16
673
ct_end:
664
ct_end:
674
fname_size dd ?
665
fname_size dd ?
675
max_block dd ?
666
max_block dd ?
676
cur_block dd ?
667
cur_block dd ?
677
HDoc dd ?
668
HDoc dd ?
678
HClick dd ?
669
HClick dd ?
679
top dw ?
670
top dw ?
680
line_count dd ?
671
line_count dd ?
681
par_count  dd ?
672
par_count  dd ?
682
char db ?
673
char db ?
683
pitch db ?
674
pitch db ?
684
wSave dd ?
675
wSave dd ?
685
RetroXY dd ?
676
RetroXY dd ?
686
RetroGroup dd ?
677
RetroGroup dd ?
687
 
678
 
688
save_stack:
679
save_stack:
689
rb RTFSTACKSIZE
680
rb RTFSTACKSIZE
690
save_limit:
681
save_limit:
691
rb BGIFONTSIZE
682
rb BGIFONTSIZE
692
 
683
 
693
listptr dd ?
684
listptr dd ?
694
szKeyword rb 31
685
szKeyword rb 31
695
szParameter rb 21
686
szParameter rb 21
696
block_end dd ?
687
block_end dd ?
697
I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
688
I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
698
 
689
 
699
procinfo process_information
690
procinfo process_information
700
rb RTFSIZE
691
rb RTFSIZE
701
esp1:
692
esp1:
702
rb ESPSIZE
693
rb ESPSIZE
703
sys_mem:
694
sys_mem:
704
rb ESPSIZE
695
rb ESPSIZE
705
;---------------------------------------------------------------------
696
;---------------------------------------------------------------------
706
temp_dir_pach:
697
temp_dir_pach:
707
        rb 4096
698
        rb 4096
708
;---------------------------------------------------------------------
699
;---------------------------------------------------------------------
709
esp_end:
700
esp_end: