Subversion Repositories Kolibri OS

Rev

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

Rev 9858 Rev 9870
-
 
1
;;      Copyright (C) 2021-2022, Michail Frolov aka Doczom
-
 
2
 
-
 
3
macro send_notify send_str{
-
 
4
      mov     dword[run_notify.message], send_str
-
 
5
      mcall   SF_FILE, run_notify
-
 
6
}
-
 
7
 
1
use32
8
  use32
2
  org    0
9
  org    0
3
 
10
 
4
  db     'MENUET01'
11
  db     'MENUET01'
5
  dd     1
12
  dd     1
6
  dd     START
13
  dd     START
7
  dd     I_END       ; à §¬¥à ¯à®£à ¬¬ë
14
  dd     I_END
8
  dd     MEM         ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
15
  dd     MEM
9
  dd     STACKTOP
16
  dd     STACKTOP
10
  dd     PATH
17
  dd     PATH
11
  dd     0
18
  dd     0
-
 
19
 
-
 
20
include '..\..\proc32.inc'
12
include '..\..\macros.inc'
21
include '..\..\macros.inc'
13
include '..\..\KOSfuncs.inc'
22
include '..\..\KOSfuncs.inc'
-
 
23
include '..\..\dll.inc'
-
 
24
 
14
 
25
; include 'parser.inc'    ; this modul does not work
-
 
26
START:
-
 
27
;init heap
-
 
28
        mcall  68, 11
-
 
29
; load lib
-
 
30
        stdcall dll.Load, @IMPORT
-
 
31
        or      eax, eax
-
 
32
        jnz     err_load_lib
-
 
33
;       init opendial
-
 
34
        invoke OpenDialog_Init, OpenDialog_data
-
 
35
; init futex
-
 
36
        mcall SF_FUTEX, SSF_CREATE, futex_cmd
-
 
37
        mov    [futex_handle], eax
-
 
38
; parse cmd_line TODO: fix parser and testing
-
 
39
        ;call    pars_cmd
-
 
40
        ;test    eax, eax
15
START:
41
        ;jnz     exit
16
;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó
42
;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó
17
       mcall SF_SET_EVENTS_MASK,0x05
43
       mcall SF_SET_EVENTS_MASK,0x05
18
;load driver
44
;load driver
19
       mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, path_drv, 0
45
       mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, [drv_ptr], 0
20
       mov dword[drv_struct.handl],eax
46
       mov dword[drv_struct.handl],eax
21
       test eax,eax ;ïðîâåðêà çàãðóçêè
47
       test eax,eax ;ïðîâåðêà çàãðóçêè
22
       jz  error_drv
48
       jz  error_drv
23
main:
49
main:
24
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
50
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
25
       cmp   byte[PATH], 0
51
       cmp   byte[PATH], 0
26
       jz    still
52
       jz    still
27
       call add_file
53
       ;call add_file
28
still:           ;void main()
54
still:           ;void main()
29
       call draw
55
       call draw
30
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
56
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
31
       mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second
57
       mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second
32
       dec eax                   ; redraw request ?
58
       dec eax                   ; redraw request ?
33
       je   still
59
       je   still
34
       cmp eax,2             ;button
60
       cmp eax,2             ;button
35
       jz button
61
       jz button
36
       jmp still
62
       jmp still
37
 
63
 
38
button:
64
button:
39
       mcall SF_GET_BUTTON
65
       mcall SF_GET_BUTTON
40
 
66
 
41
       cmp eax,1
67
       cmp eax,1
42
       jz still
68
       jz still
43
       dec ah
69
       dec ah
44
       je exit
70
       je exit
45
;; id button micro_info = 8
71
;; id button micro_info = 8
46
       cmp ah,7 ;// ah-1=7
72
       cmp ah,7 ;// ah-1=7
47
       jnz still
73
       jnz .no_micro_info
48
       xor byte[flag_micro_info],1
74
       xor byte[flag_micro_info],1
49
       jmp still
75
       jmp still
-
 
76
.no_micro_info:
-
 
77
; id button log = 9
-
 
78
        cmp  ah, 8 ; 9-1
-
 
79
        jnz  .no_log_button
-
 
80
        cmp  dword[text_log_butt], _start_log
-
 
81
        jnz  .log_stop
-
 
82
 
-
 
83
        cmp     dword[log_ptr], 0
-
 
84
        jnz     @f
-
 
85
        mcall   68, SSF_MEM_ALLOC, 19 ; íà÷àëüíûå äàííûå äëÿ Graph
-
 
86
        test    eax, eax
-
 
87
        jz      .err_alloc_mem
-
 
88
 
-
 
89
        mov     [log_ptr], eax
-
 
90
        mov     dword[log_size], 19
-
 
91
        mov     edi, eax
-
 
92
        mov     eax,[drv_data.Tmax]
-
 
93
        mov     ebx, graph_start.new_data
-
 
94
        call    int_to_str
-
 
95
        mov     esi, graph_start
-
 
96
        ; set base value in log
-
 
97
        movsd
-
 
98
        movsd
-
 
99
        movsd
-
 
100
        movsd
-
 
101
        movsw
-
 
102
        movsb
-
 
103
@@:
-
 
104
        mcall 51, 1, thread_timer, thread_timer.stack
-
 
105
        mov   dword[text_log_butt], _stop_log
-
 
106
        jmp still
-
 
107
.log_stop:
-
 
108
        ; ïðîáóæäàåì ïîòîê ÷åðåç ôüþòåêñ
-
 
109
        mov      byte[futex_cmd], 1  ; stop thread
-
 
110
        mcall    SF_FUTEX, SSF_WAKE, [futex_handle], 1
-
 
111
        mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
-
 
112
 
-
 
113
        ; ìåíÿåì òåêñò â êíîïêå
-
 
114
        mov     dword[text_log_butt], _start_log
-
 
115
        jmp     still
-
 
116
.err_alloc_mem:
-
 
117
        send_notify Error_text.alloc_1
-
 
118
        jmp  still
-
 
119
.no_log_button:
-
 
120
; id button save = 10
-
 
121
        cmp  ah, 9 ; 10-1
-
 
122
        jnz  still
-
 
123
        cmp  dword[log_ptr], 0
-
 
124
        jnz  @f
-
 
125
        send_notify Error_text.save_log
-
 
126
        jmp  still
-
 
127
@@:
-
 
128
        cmp     byte[futex_cmd], 2 ; 2 - save file
-
 
129
        jnz     @f
-
 
130
        send_notify Error_text.save_log_1
-
 
131
        jmp  still
-
 
132
@@:
-
 
133
        ; òóò âûçîâ ôóíêöèè openDialog
-
 
134
        invoke  OpenDialog_Start, OpenDialog_data
-
 
135
 
-
 
136
        cmp [OpenDialog_data.status],1
-
 
137
        jne   still
-
 
138
 
-
 
139
        ;mov      dword[log_path], openfile_path
-
 
140
 
-
 
141
        ; ïðîáóæäàåì ïîòîê ÷åðåç ôüþòåêñ
-
 
142
        mov      byte[futex_cmd], 2  ; save_log
-
 
143
        mcall    SF_FUTEX, SSF_WAKE, [futex_handle], 1
-
 
144
        test     eax, eax
-
 
145
        jnz      still
-
 
146
 
-
 
147
        mcall 51, 1, thread_timer, thread_timer.stack
-
 
148
        mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
-
 
149
@@:
-
 
150
        mov      byte[futex_cmd], 3  ; save_log  & exit
-
 
151
        mcall    SF_FUTEX, SSF_WAKE, [futex_handle], 1
-
 
152
        test     eax, eax
-
 
153
        jz       @b
-
 
154
        mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
-
 
155
        jmp  still
50
 
156
 
51
align 4
157
align 4
52
draw:
158
draw:
53
       mcall SF_REDRAW, SSF_BEGIN_DRAW
159
       mcall SF_REDRAW, SSF_BEGIN_DRAW
54
       mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
160
       mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
-
 
161
 
-
 
162
       mov eax, dword[sc.work_graph]
-
 
163
       mov dword[frame_struct.FR_OUTER_COLOR], eax
-
 
164
       mov eax, dword[sc.work_light]
-
 
165
       mov dword[frame_struct.FR_INNER_COLOR], eax
-
 
166
       mov eax, dword[sc.work_text]
-
 
167
       mov dword[frame_struct.FR_FORE_COLOR], eax
-
 
168
       mov eax, dword[sc.work]
-
 
169
       mov dword[frame_struct.FR_BACK_COLOR], eax
-
 
170
 
55
 
171
 
56
       mov eax,SF_CREATE_WINDOW
172
       mov eax,SF_CREATE_WINDOW
57
       mov ebx,0x00ff013f
173
       mov ebx,0x00ff0132
58
       mov ecx,0x001500cc
174
       mov ecx,0x00150114   ; link with  80 line
59
       mov edx,0x14000000
175
       mov edx,0x14000000
60
       add edx,[sc.work]
176
       add edx,[sc.work]
61
       mov edi,title
177
       mov edi,title
62
       mcall
178
       mcall
63
 
179
 
64
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
180
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
65
 
-
 
66
       cmp       byte[PATH], 0
-
 
67
       jz        @f
-
 
68
       dec       dword[update_flag]
-
 
69
       jnz       @f
-
 
70
       call      add_new_item
-
 
71
       mov       dword[update_flag], 30
-
 
72
@@:
-
 
73
 
181
 
74
       cmp byte[flag_micro_info],1
182
       cmp byte[flag_micro_info],1
75
       mov eax,SF_CHANGE_WINDOW
183
       mov eax,SF_CHANGE_WINDOW
76
       mov ebx,-1
184
       mov ebx,-1
77
       mov ecx,ebx;-1
185
       mov ecx,ebx;-1
78
       jz draw.micro
186
       jz draw.micro
79
 
187
 
80
       mov esi,0x000000cc
188
       mov esi,0x00000115     ; link with 58 line
81
       mov edx,0x0000013f
189
       mov edx,0x00000132
82
       mcall
190
       mcall
83
;;ñîçäàíèå êíîïêè ïåðåêëþ÷åíèÿ ðåæèìà
191
;;ñîçäàíèå êíîïêè ïåðåêëþ÷åíèÿ ðåæèìà
84
       mov eax,SF_DEFINE_BUTTON
192
       mov eax,SF_DEFINE_BUTTON
85
       mov ebx,0x01250010
193
       mov ebx,0x00fc0010
86
       mov ecx,0x001d0015
194
       mov ecx,0x001d0015
87
       mov edx,0x00000008
195
       mov edx,0x00000008
88
       mov esi,[sc.work_button]
196
       mov esi,[sc.work_button]
89
       mcall
197
       mcall
90
;;âûâîä çíàêà íà êíîïêó
198
;;âûâîä çíàêà íà êíîïêó
91
;;òàê êàê ôóíêöèÿ writeText íå äîëæíà èçìåíÿòü ðåãèñòðû
199
;;òàê êàê ôóíêöèÿ writeText íå äîëæíà èçìåíÿòü ðåãèñòðû
92
;;ïðèñâîåíèÿ â ðåãèñòðû eax è ecx ïðîèñõîäÿò òîëüêî 1 ðàç
200
;;ïðèñâîåíèÿ â ðåãèñòðû eax è ecx ïðîèñõîäÿò òîëüêî 1 ðàç
93
;; Äàëåå, òàê êàê òåêñò âûâîäèòñÿ ïî÷òè âñåãäà ñ îäèíàêîâûì
201
;; Äàëåå, òàê êàê òåêñò âûâîäèòñÿ ïî÷òè âñåãäà ñ îäèíàêîâûì
94
;; ñìåùåíèåì âíèç(ðàâíûì 15)  äûííûå(ñòðîêè) èìåþò îäèíàêîâûé
202
;; ñìåùåíèåì âíèç(ðàâíûì 15)  äûííûå(ñòðîêè) èìåþò îäèíàêîâûé
95
;; ðàçìåð , òî èñïîëüçóåòñÿ èíñòðóêöèÿ add
203
;; ðàçìåð , òî èñïîëüçóåòñÿ èíñòðóêöèÿ add
96
       mov eax,SF_DRAW_TEXT
204
       mov eax,SF_DRAW_TEXT
97
       mov ebx,0x01290020
205
       mov ebx,0x01000020
98
       mov ecx,0x81000000
206
       mov ecx,0x81000000
99
       add ecx,[sc.work_text]
207
       add ecx,[sc.work_text]
100
       mov edx,_up
208
       mov edx,_up
101
       mcall
209
       mcall
-
 
210
 
-
 
211
       ;ñîçäàíèå êíîïêè çàïóñêà/âûêëþ÷åíèÿ ëîãà
-
 
212
       mov eax,SF_DEFINE_BUTTON
-
 
213
       mov ebx,0x00a00070
-
 
214
       mov ecx,0x004a0015
-
 
215
       mov edx,0x00000009 ;id button
-
 
216
       mov esi,[sc.work_button]
-
 
217
       mcall
-
 
218
       ; âûâîä òåêñòà
-
 
219
       mov eax,SF_DRAW_TEXT
-
 
220
       mov ebx,0x00a8004c
-
 
221
       mov ecx,0x90000000
-
 
222
       add ecx,[sc.work_text]
-
 
223
       mov edx,[text_log_butt]
-
 
224
       mcall
-
 
225
 
-
 
226
       ;ñîçäàíèå êíîïêè ñîõðàíåíèÿ ëîãà â ôàéë
-
 
227
       mov eax,SF_DEFINE_BUTTON
-
 
228
       mov ebx,0x00a00070
-
 
229
       mov ecx,0x00630015
-
 
230
       mov edx,0x0000000a ; id=10
-
 
231
       mov esi,[sc.work_button]
-
 
232
       mcall
-
 
233
       ; âûâîä òåêñòà
-
 
234
       mov eax,SF_DRAW_TEXT
-
 
235
       mov ebx,0x00a80065
-
 
236
       mov ecx,0x90000000
-
 
237
       add ecx,[sc.work_text]
-
 
238
       mov edx,_save_log
-
 
239
       mcall
102
 
240
 
103
       ;âûâîä "Tctl:"
241
       ;âûâîä "Tctl:"
104
       mov ebx,0x000a0020
242
       mov ebx,0x00150035
105
       mov ecx,0x90000000
243
       mov ecx,0x90000000
106
       add ecx,[sc.work_text]
244
       add ecx,[sc.work_text]
107
       mov edx,_Tctl
245
       mov edx,_Tctl
108
       mcall
246
       mcall
109
 
247
 
110
       ;âûâîä "Tmax:"
248
       ;âûâîä "Tmax:"
111
       add ebx,0x15
249
       add ebx, 0x15
-
 
250
       add edx,7
-
 
251
       mcall
-
 
252
 
-
 
253
       ;âûâîä "Tcrit hyst:"
-
 
254
       ;mov ebx,0x0015005f
-
 
255
       add ebx, 0x15
112
       add edx,7
256
       add edx,7
113
       mcall
257
       mcall
114
 
258
 
115
       ;âûâîä "Tcrit:"
259
       ;âûâîä "Tcrit:"
-
 
260
       add ebx,0x15;0x2a
-
 
261
       add edx,7
-
 
262
       mcall
-
 
263
 
-
 
264
       ;âûâîä "Tdie:"
-
 
265
       ;mov ebx,0x00150089 ;0x00a5005f
116
       add ebx,0x2a
266
       add ebx, 0x15
117
       add edx,7
267
       add edx,7
118
       mcall
268
       mcall
119
 
269
 
120
       ;âûâîä "Tccd1:"
270
       ;âûâîä "Tccd1:"
121
       add ebx,0x19
271
       add ebx,0x2b;0x19
122
       add edx,7
272
       add edx,7
123
       mcall
273
       mcall
124
 
274
 
125
       ;âûâîä "Tccd2:"
275
       ;âûâîä "Tccd2:"
126
       add ebx,0x15
276
       add ebx,0x15
127
       add edx,7
277
       add edx,7
128
       mcall
278
       mcall
129
 
279
 
130
       ;âûâîä "Tccd3:"
280
       ;âûâîä "Tccd3:"
131
       add ebx,0x15
281
       add ebx,0x15
132
       add edx,7
282
       add edx,7
133
       mcall
283
       mcall
134
 
284
 
135
       ;âûâîä "Tccd4:"
285
       ;âûâîä "Tccd4:"
136
       add ebx,0x15
286
       add ebx,0x15
137
       add edx,7
287
       add edx,7
138
       mcall
288
       mcall
139
 
289
 
140
       ;âûâîä "Tccd5:"
290
       ;âûâîä "Tccd5:"
141
       mov ebx,0x00a50078
291
       mov ebx,0x009d00b4
142
       add edx,7
292
       add edx,7
143
       mcall
293
       mcall
144
 
294
 
145
       ;âûâîä "Tccd6:"
295
       ;âûâîä "Tccd6:"
146
       add ebx,0x15
296
       add ebx,0x15
147
       add edx,7
297
       add edx,7
148
       mcall
298
       mcall
149
 
299
 
150
       ;âûâîä "Tccd7:"
300
       ;âûâîä "Tccd7:"
151
       add ebx,0x15
301
       add ebx,0x15
152
       add edx,7
302
       add edx,7
153
       mcall
303
       mcall
154
 
304
 
155
       ;âûâîä "Tccd8:"
305
       ;âûâîä "Tccd8:"
156
       add ebx,0x15
306
       add ebx,0x15
157
       add edx,7
307
       add edx,7
158
       mcall
308
       mcall
159
 
-
 
160
       ;âûâîä "Tdie:"
-
 
161
       mov ebx,0x00a5005f
-
 
162
       add edx,7
-
 
163
       mcall
-
 
164
 
-
 
165
       ;âûâîä "Tcrit hyst:"
-
 
166
       mov ebx,0x000a004a
-
 
167
       add edx,7
-
 
168
       mcall
-
 
169
;;;;;;input data driver;;;;;;;;;
309
;;;;;;input data driver;;;;;;;;;
170
       mov eax,0x004a0020
310
       mov eax,0x004a0035  ;0x004a0020
171
       mov ebx, drv_data.Tctl  ;âûâîä äàííûõ îò äðàéâåðà
311
       mov ebx, drv_data.Tctl  ;âûâîä äàííûõ îò äðàéâåðà
172
       call write_data
312
       call write_data
173
 
313
 
174
       add eax,0x15
314
       add eax,0x15
175
       mov byte[write_data.defaunt_color], 1
315
       mov byte[write_data.defaunt_color], 1
176
       mov ebx, drv_data.Tmax
316
       mov ebx, drv_data.Tmax
177
       call write_data
317
       call write_data
178
 
318
 
179
       add eax,0x2a
319
       add eax,0x2a
180
       mov byte[write_data.defaunt_color], 1
320
       mov byte[write_data.defaunt_color], 1
181
       mov ebx, drv_data.Tcrit
321
       mov ebx, drv_data.Tcrit
182
       call write_data
322
       call write_data
183
 
323
 
184
       add eax,0x19
324
       add eax,0x40;0x19
185
       mov ebx, drv_data.Tccd1
325
       mov ebx, drv_data.Tccd1
186
       call write_data
326
       call write_data
187
 
327
 
188
       add eax,0x15
328
       add eax,0x15
189
       add ebx,4
329
       add ebx,4
190
       call write_data
330
       call write_data
191
 
331
 
192
       add eax,0x15
332
       add eax,0x15
193
       add ebx,4
333
       add ebx,4
194
       call write_data
334
       call write_data
195
 
335
 
196
       add eax,0x15
336
       add eax,0x15
197
       add ebx,4
337
       add ebx,4
198
       call write_data
338
       call write_data
199
 
339
 
200
       mov eax,0x00E50078
340
       mov eax,0x00d000b4
201
       add ebx,4
341
       add ebx,4
202
       call write_data
342
       call write_data
203
 
343
 
204
       add eax,0x15
344
       add eax,0x15
205
       add ebx,4
345
       add ebx,4
206
       call write_data
346
       call write_data
207
 
347
 
208
       add eax,0x15
348
       add eax,0x15
209
       add ebx,4
349
       add ebx,4
210
       call write_data
350
       call write_data
211
 
351
 
212
       add eax,0x15
352
       add eax,0x15
213
       add ebx,4
353
       add ebx,4
214
       call write_data
354
       call write_data
215
 
355
 
216
       mov eax,0x00E5005f
356
       mov eax,0x004a0089
217
       mov ebx, drv_data.Tdie
357
       mov ebx, drv_data.Tdie
218
       mov byte[write_data.defaunt_color], 1
358
       mov byte[write_data.defaunt_color], 1
219
       call write_data
359
       call write_data
220
 
360
 
221
       mov eax,0x007a004a
361
       mov eax,0x004a005f
222
       mov byte[write_data.defaunt_color], 1
362
       mov byte[write_data.defaunt_color], 1
223
       mov ebx, drv_data.Tcrit_hyst
363
       mov ebx, drv_data.Tcrit_hyst
224
       call write_data
364
       call write_data
-
 
365
 
-
 
366
       mov       dword[frame_struct.FR_WIDTH], 0x0f008a
-
 
367
       mov       dword[frame_struct.FR_HEIGHT], 0x280075
-
 
368
       mov       dword[frame_struct.FR_TEXT], frame_text_1
-
 
369
       invoke    frame_draw, frame_struct
-
 
370
 
-
 
371
       mov       dword[frame_struct.FR_WIDTH],0x0f0114
-
 
372
       mov       dword[frame_struct.FR_HEIGHT], 0xa70060
-
 
373
       mov       dword[frame_struct.FR_TEXT], frame_text_2
-
 
374
       invoke    frame_draw, frame_struct
-
 
375
 
225
       jmp @f
376
       jmp @f
226
.micro:
377
.micro:
227
       mov esi,0x00000035
378
       mov esi,0x00000035
228
       mov edx,0x000000c0
379
       mov edx,0x000000c0
229
       mcall
380
       mcall
230
 
381
 
231
       mov eax,SF_DEFINE_BUTTON
382
       mov eax,SF_DEFINE_BUTTON
232
       mov ebx,0x00a70010
383
       mov ebx,0x00a70010
233
       mov ecx,0x001d0015
384
       mov ecx,0x001d0015
234
       mov edx,eax;0x00000008
385
       mov edx,eax;0x00000008
235
       mov esi,[sc.work_button]
386
       mov esi,[sc.work_button]
236
       mcall
387
       mcall
237
 
388
 
238
       mov eax,SF_DRAW_TEXT;4
389
       mov eax,SF_DRAW_TEXT;4
239
       mov ebx,0x000a0020
390
       mov ebx,0x000a0020
240
       mov ecx,0x90000000
391
       mov ecx,0x90000000
241
       add ecx,[sc.work_text]
392
       add ecx,[sc.work_text]
242
       mov edx,_Tctl
393
       mov edx,_Tctl
243
       mcall
394
       mcall
244
 
395
 
245
       add ebx,0x00a00000
396
       add ebx,0x00a00000
246
       mov ecx,0x81000000
397
       mov ecx,0x81000000
247
       add ecx,[sc.work_text]
398
       add ecx,[sc.work_text]
248
       mov edx,_down
399
       mov edx,_down
249
       mcall
400
       mcall
250
 
401
 
251
       mov eax,0x004a0020
402
       mov eax,0x004a0020
252
       mov ebx, drv_data.Tctl
403
       mov ebx, drv_data.Tctl
253
       call write_data
404
       call write_data
254
@@:
405
@@:
255
       mcall SF_REDRAW, SSF_END_DRAW
406
       mcall SF_REDRAW, SSF_END_DRAW
256
       ret
407
       ret
257
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
408
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
258
;; procedure write_data(eax, ebx);
409
;; procedure write_data(eax, ebx);
259
;; eax=x*65536+y
410
;; eax=x*65536+y
260
;; ebx = pointer on value
411
;; ebx = pointer on value
261
;; edx = 1 - set color, 0 - set defaunt color
412
;; edx = 1 - set color, 0 - set defaunt color
262
;; ecx register don`t save
413
;; ecx register don`t save
263
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
414
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
264
align 4
415
align 4
265
write_data:
416
write_data:
266
       push eax
417
       push eax  ;save koord
267
       push ebx
418
       push ebx  ;save *value
268
       ;mov edx,[ebx]  ;edx=value
419
       ;mov edx,[ebx]  ;edx=value
269
       mov esi,ebx
420
       mov esi,ebx
270
       cmp dword[ebx],-1   ; flag ziro data
421
       cmp dword[ebx],-1   ; flag ziro data
271
       mov ecx,0x90000000
422
       mov ecx,0x90000000
272
       mov ebx,eax
423
       mov ebx,eax
273
       jnz @f
424
       jnz @f
274
       ;write n/a
425
       ;write n/a
275
       add ecx,[sc.work_text]
426
       add ecx,[sc.work_text]
276
       mov eax,SF_DRAW_TEXT
427
       mov eax,SF_DRAW_TEXT
-
 
428
       add ebx, 0x00100000
277
       mov edx,_NA
429
       mov edx,_NA
278
       mcall
430
       mcall
279
       pop ebx
431
       pop ebx
280
       pop eax
432
       pop eax
281
       ret
433
       ret
282
@@:
434
@@:
283
       ;set color
435
       ;set color
284
       push eax
436
       push eax
285
       push edx
437
       push edx
286
       push ecx
438
       push ecx
-
 
439
       mov  dword[.color_text], 0x000000cf  ;blue
287
       cmp  byte[.defaunt_color], 1
440
       cmp  byte[.defaunt_color], 1
288
       jnz  @f
441
       jnz  @f
289
       mov  dword[.color_text], 0x000000cf  ;blue
442
       ;mov  dword[.color_text], 0x000000cf  ;blue
290
       jmp  .end_set_color
443
       jmp  .end_set_color
291
@@:
444
@@:
-
 
445
       cmp  dword[drv_data.Tcrit], -1
-
 
446
       jz   .end_set_color
-
 
447
       cmp  dword[drv_data.Tcrit], 0
-
 
448
       jz   .end_set_color
-
 
449
 
292
       xor  edx, edx
450
       xor  edx, edx
293
       mov  eax, [esi]
451
       mov  eax, [esi]
294
       imul eax, 10
452
       imul eax, 10
295
       xor  edx, edx
453
       xor  edx, edx
296
       div  dword[drv_data.Tcrit]
454
       div  dword[drv_data.Tcrit]
297
       cmp  eax, 9
455
       cmp  eax, 9
298
       jb  @f
456
       jb  @f
299
       mov  dword[.color_text],0x00d50000 ; red
457
       mov  dword[.color_text],0x00d50000 ; red
300
       jmp  .end_set_color
458
       jmp  .end_set_color
301
@@:
459
@@:
302
       cmp  eax, 7
460
       cmp  eax, 7
303
       jb  @f
461
       jb  @f
304
       mov  dword[.color_text],0x00f07000 ; orange
462
       mov  dword[.color_text],0x00f07000 ; orange
305
       jmp  .end_set_color
463
       jmp  .end_set_color
306
@@:
464
@@:
307
       mov  dword[.color_text],0x0000d000 ; green
465
       mov  dword[.color_text],0x0000a500 ; green
308
.end_set_color:
466
.end_set_color:
309
       pop  ecx
467
       pop  ecx
310
       pop  edx
468
       pop  edx
311
       pop  eax
469
       pop  eax
312
       ;write_value
470
       ;write_value
313
; value / 1000 =value_in_1
471
; value / 1000 =value_in_1
314
;input value_in_1,koord_start
472
;input value_in_1,koord_start
315
; if value >=100 then dot_kord=4 ; =0x20
473
; if value >=100 then dot_kord=4 ; =0x20
316
;   if value >10 then  dot_kord=3; =0x18
474
;   if value >10 then  dot_kord=3; =0x18
317
;     dot_kord=2
475
;     dot_kord=2
318
;input ".", koord_start+dot_koord*size_w(char)
476
;input ".", koord_start+dot_koord*size_w(char)
319
;value-value_in_1 = value_in_2
477
;value-value_in_1 = value_in_2
320
;input value_in_2, koord_start+dot_kord+1*size_w(char=8)
478
;input value_in_2, koord_start+dot_kord+1*size_w(char=8)
321
       push eax
479
       push eax ;save koord
322
       mov eax,[esi]
480
       mov eax,[esi] ; eax = value
323
       xor edx,edx
481
       xor edx,edx
324
       mov ebx,1000
482
       mov ebx,1000
325
       div ebx
483
       div ebx
326
       cmp eax,100
484
       cmp eax, 100
327
       jae .dot_4
485
       jae .dot_4
328
       cmp eax,10
486
       cmp eax, 10
329
       jae .dot_3       ; ----|
487
       jae .dot_3       ; ----|
330
       mov edi,0x0c;0x10;     |
488
       mov edi, 0x10    ;     |
331
       jmp .write       ;     |
489
       jmp .write       ;     |
332
.dot_4:                 ;     |
490
.dot_4:                 ;     |
333
       mov edi,0x1c;0x20;     |
491
       xor edi, edi     ;     |
334
       jmp .write       ;     |
492
       jmp .write       ;     |
335
.dot_3:                 ;   <-|
493
.dot_3:                 ;   <-|
336
       mov edi,0x14;0x18
494
       mov edi, 8
337
.write:
495
.write:
338
       mov ecx,edx
496
       mov ecx,edx
339
       pop edx
497
       pop edx       ; edx = koord
340
       push ecx
498
       push ecx       ;save mask string
-
 
499
 
-
 
500
       shl  edi, 16
341
 
501
       push edx ; save koord
-
 
502
       add  edx, edi
342
       mov ecx,eax
503
       mov ecx,eax   ;ecx = value/1000
343
       mov ebx,0x80030000
504
       mov ebx,0x80030000 ; ebx = mask sysfn47
344
       mov eax,SF_DRAW_NUMBER
505
       mov eax,SF_DRAW_NUMBER
345
       mov esi,0x10000000
506
       mov esi,0x10000000
346
       add esi,[.color_text]
507
       add esi,[.color_text]
347
       mcall
508
       mcall
348
       shl edi,16
-
 
349
       mov eax,SF_DRAW_TEXT
-
 
350
       add edx,edi
-
 
351
       mov ebx,edx
-
 
-
 
509
 
-
 
510
       pop  ebx ; ebx = koord
-
 
511
       add  ebx, 0x00180000 ; x + x_size_char*3
352
 
512
       mov eax,SF_DRAW_TEXT
353
       mov ecx,0x90000000
513
       mov ecx,0x90000000
354
       add ecx,[.color_text]
514
       add ecx,[.color_text]
355
       mov edx,_dot
515
       mov edx,_dot
356
       mcall
516
       mcall
-
 
517
 
357
       mov eax,SF_DRAW_NUMBER
518
       mov eax,SF_DRAW_NUMBER
358
       mov edx,ebx
519
       mov edx,ebx
359
       mov esi,0x10000000
520
       mov esi,0x10000000
360
       add esi,[.color_text]
521
       add esi,[.color_text]
361
       mov ebx,0x00030000
522
       mov ebx,0x00030000
362
 
523
 
363
       add edx,0x80000
524
       add edx,0x80000
364
       pop ecx
525
       pop ecx
365
       mcall
526
       mcall
366
       mov eax,SF_DRAW_TEXT
527
       mov eax,SF_DRAW_TEXT
367
       mov ebx,edx
528
       mov ebx,edx
368
       mov ecx,0x80000000
529
       mov ecx,0x80000000
369
       add ecx,[.color_text]
530
       add ecx,[.color_text]
370
       add ebx,0x180000
531
       add ebx,0x180000
371
       mov edx,_t
532
       mov edx,_t
372
       mcall
533
       mcall
373
 
534
 
374
       mov ecx,0x90000000
535
       mov ecx,0x90000000
375
       add ecx,[.color_text]
536
       add ecx,[.color_text]
376
       add ebx,0x60000
537
       add ebx,0x60000
377
       mov edx,_C
538
       mov edx,_C
378
       mcall
539
       mcall
379
       pop ebx
540
       pop ebx
380
       pop eax
541
       pop eax
381
       mov byte[.defaunt_color], 0
542
       mov byte[.defaunt_color], 0
382
       ret
543
       ret
383
.color_text:    rd 1 ; color input temp
544
.color_text:    rd 1 ; color input temp
384
.defaunt_color: rb 1 ; flag set color
545
.defaunt_color: rb 1 ; flag set color
385
;; end proc
546
;; end proc
386
 
547
 
387
error_drv:
548
error_drv:
388
       mcall SF_FILE,run_notify
549
       send_notify Error_text
389
exit:
550
exit:
-
 
551
       mov      byte[futex_cmd], 2
-
 
552
       mcall    SF_FUTEX, SSF_WAKE, [futex_handle], 1
-
 
553
       mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
-
 
554
       ; destroy futex
-
 
555
       mcall    SF_FUTEX, SSF_DESTROY, [futex_handle]
-
 
556
       mcall    68, 13, [log_ptr] ; free page
-
 
557
 
390
       mcall SF_TERMINATE_PROCESS
558
       mcall SF_TERMINATE_PROCESS
391
 
-
 
392
align 4
559
 
393
add_file:
-
 
394
        mcall SF_FILE, graph_temp
-
 
395
        mov     dword[graph_temp], 3
-
 
396
        mov     dword[graph_temp.size], 10
-
 
397
        mov     dword[graph_temp.str], graph_start.new_data
-
 
398
        mov     eax,[drv_data.Tmax]
-
 
399
        mov     dword[graph_temp.index], 9
560
err_load_lib:
400
        mov     ebx, graph_start.new_data
-
 
401
        call    int_to_str
561
       send_notify Error_text.load_lib
402
        mcall SF_FILE, graph_temp
-
 
403
 
-
 
404
        mov     dword[graph_temp.index], 19
-
 
405
        mov     dword[graph_temp.size], 20
562
       mcall SF_TERMINATE_PROCESS
406
        ret
563
 
407
align 4
564
align 4
408
index_item:
565
index_item:
409
        dd    1
566
        dd    1
410
add_new_item:
-
 
411
        mov     eax,[index_item]
-
 
412
        imul    eax,1000
-
 
413
        mov     ebx, graph_start.new_data
-
 
414
        call    int_to_str
-
 
415
        mcall SF_FILE, graph_koord_x2 ;save x2=index_item
-
 
416
        inc     dword[index_item]
-
 
417
 
-
 
418
        mov     eax,[drv_data.Tctl]
-
 
419
        mov     ebx, graph_start.new_data_2
-
 
420
        call    int_to_str
-
 
421
        mcall SF_FILE, graph_temp
-
 
422
        add     dword[graph_temp.index], 20
-
 
423
        ret
-
 
424
 
567
 
425
;eax = int   value / 1000
568
;eax = int   value / 1000
426
;ebx = *str
569
;ebx = *str
427
; èç çà êîíêðåòèêè äàííîãî ïðèëàæåíèÿ(à èìåííî èçìåðåíèå òåìïåðàòóðû ïðîöà), ñîìíèâàþñü
570
; èç çà êîíêðåòèêè äàííîãî ïðèëàæåíèÿ(à èìåííî èçìåðåíèå òåìïåðàòóðû ïðîöà), ñîìíèâàþñü
428
; ÷òî ïîòðåáóåòñÿ áîëüøå 3 öèôð íà çíà÷åíèå(õõõ.õõõ) òàê ÷òî áóäåò êîñòûëü
571
; ÷òî ïîòðåáóåòñÿ áîëüøå 3 öèôð íà çíà÷åíèå(õõõ.õõõ) òàê ÷òî áóäåò êîñòûëü
429
align 4
572
align 4
430
int_to_str:
573
int_to_str:
431
        push    ecx edx esi
574
        push    ecx edx esi
432
        mov     ecx, '0000'
575
        mov     ecx, '0000'
433
        mov     [ebx], ecx
576
        mov     [ebx], ecx
434
        mov     [ebx+5], ecx
577
        mov     [ebx + 5], ecx
435
 
578
 
436
        xor     edx, edx
579
        xor     edx, edx
437
        mov     esi, 1000
580
        mov     esi, 1000
438
        div     esi
581
        div     esi
439
        push    edx
582
        push    edx
440
        mov     esi, 10
583
        mov     esi, 10
441
        push    ebx
584
        push    ebx
442
        add     ebx, 3
585
        add     ebx, 3
443
        and     eax, 0x3ff ; 1023
586
        and     eax, 0x3ff ; 1023
444
.loop:
587
.loop:
445
        test    eax, eax
588
        test    eax, eax
446
        jz      @f
589
        jz      @f
447
        xor     edx, edx
590
        xor     edx, edx
448
        div     esi
591
        div     esi
449
        add     edx, '0'
592
        add     edx, '0'
450
        mov     byte[ebx], dl
593
        mov     byte[ebx], dl
451
        dec     ebx
594
        dec     ebx
452
        jmp     .loop
595
        jmp     .loop
453
@@:
596
@@:
454
        pop     ebx
597
        pop     ebx
455
        add     ebx, 8;4
598
        add     ebx, 8;4
456
        pop     edx
599
        pop     edx
457
        test    edx, edx
600
        test    edx, edx
458
        jz      @f
601
        jz      @f
459
        mov     eax, edx
602
        mov     eax, edx
460
        imul    eax, 10
603
        imul    eax, 10
461
        xor     edx, edx
604
        xor     edx, edx
462
        push    edx
605
        push    edx
463
        push    ebx
606
        push    ebx
464
        jmp     .loop
607
        jmp     .loop
465
@@:
608
@@:
466
        pop     esi edx ecx
609
        pop     esi edx ecx
467
        ret
610
        ret
-
 
611
 
-
 
612
thread_timer:
-
 
613
        mcall   40, 0x00 ; î÷èùàåì ìàñêó ñîáûòèé
-
 
614
@@:
-
 
615
        mov     byte[futex_cmd], 0x00
-
 
616
        mcall   SF_FUTEX, SSF_WAIT, [futex_handle],[futex_cmd], 100*60 ; 1 min
-
 
617
        test    eax, eax
-
 
618
        jz      .check_cmd
-
 
619
        cmp     eax, -2
-
 
620
        je      .exit ; error
-
 
621
        ; realloc log
-
 
622
        mov     ecx, [log_size]
-
 
623
        mov     edx, [log_ptr]
-
 
624
        add     ecx, 20 ; size item data
-
 
625
        mov     ebx, SSF_MEM_REALLOC ; 20
-
 
626
        mcall   68
-
 
627
        test    eax, eax
-
 
628
        jz      .err_alloc_2
-
 
629
        mov     [log_ptr], eax
-
 
630
        add     eax, [log_size]
-
 
631
        mov     [log_size], ecx;edx
-
 
632
        mov     edi, eax
-
 
633
        ; get new data temp
-
 
634
        push    edi
-
 
635
        mov     eax,[index_item]
-
 
636
        imul    eax,1000
-
 
637
        mov     ebx, graph_start.new_data
-
 
638
        call    int_to_str
-
 
639
 
-
 
640
        mov     ebx, [log_ptr]
-
 
641
        mov     eax, [graph_start.new_data]
-
 
642
        mov     [ebx + 2], eax   ; rewrite index x koord
-
 
643
 
-
 
644
        inc     dword[index_item]
-
 
645
        mov     eax,[drv_data.Tctl]
-
 
646
        mov     ebx, graph_start.new_data_2
-
 
647
        call    int_to_str
-
 
648
        pop     edi
-
 
649
        mov     esi, graph_start.new_data
-
 
650
        ; save data
-
 
651
        movsd
-
 
652
        movsd
-
 
653
        movsd
-
 
654
        movsd
-
 
655
        movsd
-
 
656
 
-
 
657
;        cmp     dword[save_file], 0
-
 
658
;        jnz     .no_save_mode
-
 
659
;        push    dword[log_path]
-
 
660
;        mov     eax, [save_ptr]
-
 
661
;        mov     [log_path], eax
-
 
662
;        mcall   70, file_log
-
 
663
;        pop     dword[log_path]
-
 
664
;.no_save_mode:
-
 
665
        jmp     @b
-
 
666
.err_alloc_2:
-
 
667
        send_notify  Error_text.alloc_2
-
 
668
        jmp     @b
-
 
669
.check_cmd:
-
 
670
        test    byte[futex_cmd], 0x02 ; 1- stop 2 - save in file
-
 
671
        jz      .exit
-
 
672
        mcall   70, file_log
-
 
673
        test    byte[futex_cmd], 1
-
 
674
        jz      @b
-
 
675
.exit:
-
 
676
        mov     byte[futex_cmd], 0x00
-
 
677
        mcall   -1
468
;Data_program;
678
;Data_program;
469
title       db 'AMDtemp',0
679
title       db 'AMDtemp',0
470
path_drv    db '/kolibrios/drivers/sensors/k10temp.sys',0
680
path_drv    db '/kolibrios/drivers/sensors/k10temp.sys',0
471
Error_text  db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0
681
Error_text  db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0
-
 
682
.save_log:  db '"Error save log\nThe log has not been created" -tdE',0
-
 
683
.save_log_1:db '"Error save log\nThe log file is already saving" -tdE',0
-
 
684
.alloc_1:   db '"Error alloc memory for log" -tdE',0
-
 
685
.alloc_2:   db '"Error alloc memory for new koord" -tdE',0
-
 
686
.load_lib:  db '"Error load library" -tdE',0
-
 
687
 
472
_NA         db 'N/A',0
688
_NA         db 'N/A',0
473
_dot        db '.',0
689
_dot        db '.',0
474
_t          db 0x1d,0x00
690
_t          db 0x1d,0x00
475
_C          db 'C',0x00
691
_C          db 'C',0x00
476
_down       db 0x1f,0x00
692
_down       db 0x1f,0x00
477
_up         db 0x1e,0x00
693
_up         db 0x1e,0x00
478
 
694
 
479
 
695
 
480
_Tctl       db 'Tctl: ',0
696
_Tctl       db 'Tctl: ',0
481
_Tmax       db 'Tmax: ',0
697
_Tmax       db 'Tmax: ',0
-
 
698
_Tcrit_hyst db 'Thyst:',0;'Tcrit hyst:',0
482
_Tcrit      db 'Tcrit:',0
699
_Tcrit      db 'Tcrit:',0
-
 
700
_Tdie       db 'Tdie: ',0
483
_Tccd1      db 'Tccd1:',0
701
_Tccd1      db 'Tccd1:',0
484
_Tccd2      db 'Tccd2:',0
702
_Tccd2      db 'Tccd2:',0
485
_Tccd3      db 'Tccd3:',0
703
_Tccd3      db 'Tccd3:',0
486
_Tccd4      db 'Tccd4:',0
704
_Tccd4      db 'Tccd4:',0
487
_Tccd5      db 'Tccd5:',0
705
_Tccd5      db 'Tccd5:',0
488
_Tccd6      db 'Tccd6:',0
706
_Tccd6      db 'Tccd6:',0
489
_Tccd7      db 'Tccd7:',0
707
_Tccd7      db 'Tccd7:',0
490
_Tccd8      db 'Tccd8:',0
708
_Tccd8      db 'Tccd8:',0
-
 
709
 
-
 
710
_start_log:     db 'start loging',0
-
 
711
_stop_log:      db 'stop loging ',0
491
_Tdie       db 'Tdie: ',0
712
_save_log:      db '  save log  ',0
-
 
713
text_log_butt:  dd _start_log
-
 
714
 
-
 
715
align 4
-
 
716
file_log:
-
 
717
                dd 2
-
 
718
                dd 0
-
 
719
                dd 0
-
 
720
log_size:       dd 0
-
 
721
log_ptr:        dd 0
-
 
722
                db 0
-
 
723
log_path:       dd openfile_path
-
 
724
 
-
 
725
futex_handle:     dd 0
-
 
726
futex_cmd:        dd 0 ;1- stop 2 - save in file & no exit 3 - save in file & exit
-
 
727
 
-
 
728
;save_file:        db 0 ; 0 - no 1 - save ïî ñòàðèíêå
-
 
729
;save_ptr:         dd 0 ; pointer to save file
-
 
730
drv_ptr:          dd path_drv ; pointer to path on driver
-
 
731
 
492
_Tcrit_hyst db 'Tcrit hyst:',0
732
frame_text_1:     db 'General info',0
-
 
733
frame_text_2:     db 'Extended info',0
-
 
734
 
-
 
735
align 16
-
 
736
@IMPORT:
-
 
737
 
-
 
738
library box_lib         , 'box_lib.obj', \
-
 
739
        proc_lib        , 'proc_lib.obj'
-
 
740
 
-
 
741
import  proc_lib, \
-
 
742
        OpenDialog_Init     , 'OpenDialog_init',\
-
 
743
        OpenDialog_Start    , 'OpenDialog_start'
-
 
744
 
-
 
745
import  box_lib,\
-
 
746
        frame_draw      , 'frame_draw'
-
 
747
 
-
 
748
frame_struct:
-
 
749
                       dd      0;FR_STYLE     â êîäå ëèáû íå èñïîëüçóåòñÿ
-
 
750
.FR_WIDTH              dw      0x8a;FR_WIDTH
-
 
751
                       dw      0x0f;FR_LEFT start x
-
 
752
.FR_HEIGHT             dw      0x75;FR_HEIGHT
-
 
753
                       dw      0x28;FR_TOP  start y
-
 
754
.FR_OUTER_COLOR        dd      0xff;FR_OUTER_COLOR   âíåøíèé îêðàñ ëèíèè  ïðè ôëàãå x000z
-
 
755
.FR_INNER_COLOR        dd      0xff00;FR_INNER_COLOR âíóòðåíèé îêðàñ ëèíèè ïðè ôëàãå  x000z
-
 
756
                       dd      00001b;FR_FLAGS
-
 
757
                       ;FR_CAPTION equ 00001b ïîêàçûâàòü çàãîëîâîê èëè íåò
-
 
758
                       ;FR_FILLED  equ 10000b çàêðàøèâàåò âíóòðåíèþ îáëàñòü öâåòîì ôîíà òåêñòà
-
 
759
.FR_TEXT               dd      0;FR_TEXT   òóò è òàê ïîíÿòíî
-
 
760
                       dd      0;FR_TEXT_POSITION   0 - ñâåðõó òåêñò 1 - ñíèçó òåêñò
-
 
761
                       dd      1;FR_FONT
-
 
762
                       dd      0x0c;FR_FONT_HEIGHT     ñìåùåíèå êîîðäèíàòû y âûâîäèìîãî òåêñòà
-
 
763
.FR_FORE_COLOR         dd      0xff;FR_FORE_COLOR     öâåò òåêñòà
-
 
764
.FR_BACK_COLOR         dd      0xffffff;FR_BACK_COLOR     ôîí ñèìâîëîâ òåêñòà
493
 
765
 
494
;;flag mode input data
766
;;flag mode input data
495
flag_micro_info db 1
767
flag_micro_info db 1
496
drv_data:
768
drv_data:
497
.Tctl            dd -1
769
.Tctl            dd -1
498
.Tdie            dd -1
770
.Tdie            dd -1
499
.Tccd1           dd -1
771
.Tccd1           dd -1
500
.Tccd2           dd -1
772
.Tccd2           dd -1
501
.Tccd3           dd -1
773
.Tccd3           dd -1
502
.Tccd4           dd -1
774
.Tccd4           dd -1
503
.Tccd5           dd -1
775
.Tccd5           dd -1
504
.Tccd6           dd -1
776
.Tccd6           dd -1
505
.Tccd7           dd -1
777
.Tccd7           dd -1
506
.Tccd8           dd -1
778
.Tccd8           dd -1
507
 
779
 
508
.Tmax            dd -1
780
.Tmax            dd -1
509
.Tcrit           dd -1
781
.Tcrit           dd -1
510
.Tcrit_hyst      dd -1
782
.Tcrit_hyst      dd -1
511
.sizeof = $ - drv_data ;
783
.sizeof = $ - drv_data ;
512
 
784
 
513
align 4
785
align 4
514
drv_struct:
786
drv_struct:
515
.handl           dd 0
787
.handl           dd 0
516
                 dd 0
788
                 dd 0
517
                 dd 0
789
                 dd 0
518
                 dd 0
790
                 dd 0
519
                 dd drv_data
791
                 dd drv_data
520
                 dd drv_data.sizeof;52 ; 13*4
792
                 dd drv_data.sizeof;52 ; 13*4
521
align 4
793
align 4
522
run_notify:
794
run_notify:
523
                 dd 7
795
                 dd 7
524
                 dd 0
796
                 dd 0
525
                 dd Error_text
797
.message:        dd Error_text
526
                 dd 0
798
                 dd 0
527
                 dd 0
799
                 dd 0
528
                 db '/sys/@notify',0 ,0,0,0 ;âûðàâíèâàíèå
800
                 db '/sys/@notify',0
529
 
-
 
530
align 4
801
align 4
531
update_flag:    dd 30 ;1 minut
-
 
532
graph_start:    db '0 0000 0 '  ; 9 byte
802
graph_start:    db '0 0000 0 '  ; 9 byte
533
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
803
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
534
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
804
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
-
 
805
 
535
 
806
;äûííûå äëÿ äèàëîãà îòêðûòèÿ ôàéëîâ
536
align 4
807
align 4
-
 
808
OpenDialog_data:
-
 
809
.type                   dd 1 ;0 - îòêðûòü, 1 - ñîõðàíèòü, 2 - âûáðàòü äèðåêòîðèþ
537
graph_temp:
810
.procinfo               dd procinfo ;+4  ýòî äëÿ ïîëó÷åíèÿ äàííûõ ïîòîêà
-
 
811
.com_area_name          dd communication_area_name ;+8
-
 
812
.com_area               dd 0 ;+12     êàê ÿ ïîíÿë, ñþäà áóäåò çàïèñàí óêàçàòåëü íà ðàñøàðåíóþ ïàìÿòü
-
 
813
.opendir_path           dd 0 ;+16  ïóòü ê ïàïêå, êîòîðàÿ áóäåò ïðè îòêðûòèè êîìïîíåíòà
-
 
814
.dir_default_path       dd default_dir ;+20 ïóòü ê ïàïêå, åñëè opendir_path=0
-
 
815
.start_path             dd opendialog_path ;+24 ïóòü ê opendialog
-
 
816
.draw_window            dd draw ;+28 ôóíêöèÿ ïåðåðèñîâêè îêíà, âûçâàâøåãî opendialog
-
 
817
.status                 dd 0 ;+32  0, 2 - âûõîä èëè îøèáêà 1 - þçåð íàæàë OK
-
 
818
.openfile_path          dd openfile_path ;+36 óêàçàòåëü íà áóôåð äëÿ ïóòü ê îòêðûâàåìîìó ôàéëó
-
 
819
.filename_area          dd filename_area ;+40 óêàçàòåëü íà áóôåð äëÿ íàçâàíèÿ ôàéëà
-
 
820
.filter_area            dd 0;Filter  óêàçàòåëü íà ìàññèâ ôèëüòîðîâ ïîèñêà
538
                dd 2
821
.x:
539
.index:         dd 0
822
.x_size                 dw 420 ;+48 ; Window X size
-
 
823
.x_start                dw 10 ;+50 ; Window X position
540
                dd 0
824
.y:
541
.size:          dd 19 ;size 4 first value for Graph
825
.y_size                 dw 320 ;+52 ; Window y size
-
 
826
.y_start                dw 10 ;+54 ; Window Y position
542
.str:           dd graph_start ; çàìåíèòü
827
 
-
 
828
;ôîðìàò ôèëüòðîâ
543
                db 0
829
;Filter:
544
                dd PATH
830
;dd Filter.end - Filter.1
-
 
831
;.1:
545
align 4
832
;db 'ASM',0
546
graph_koord_x2:
833
;db 'INC',0
-
 
834
;db 'TXT',0
-
 
835
;.end:
-
 
836
;db 0
-
 
837
 
547
                dd 3
838
 
-
 
839
default_dir db '/sys',0 ;äèðåêòîðèÿ ïî óìîë÷àíèþ
-
 
840
 
548
                dd 2 ;index for rewrite 2 value
841
communication_area_name:
549
                dd 0
842
        db 'FFFFFFFF_open_dialog',0
550
                dd 4
843
opendialog_path:
-
 
844
        db '/sys/File managers/opendial',0
551
                dd graph_start.new_data ; çàìåíèòü
845
filename_area:
552
                db 0
846
        db 'temp1.grf',0
-
 
847
                rb 256
553
                dd PATH
848
 
554
align 4
849
align 4
555
PATH:
850
PATH:
556
   rb 512 ; buffer for command line. string for save log.
851
   rb 512 ; buffer for command line. string for save log.
557
sc      system_colors
852
sc      system_colors
558
I_END:
853
I_END:
559
   rd 256
854
   rd 256
560
STACKTOP:
855
STACKTOP:
-
 
856
 
-
 
857
        rb      512 ; 512 byte for stack
-
 
858
thread_timer.stack:
-
 
859
;rb 1024
-
 
860
        procinfo process_information
-
 
861
        openfile_path:
-
 
862
                rb 4096
561
MEM:
863
MEM:
562
>
864
>