Rev 9870 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9870 | Rev 9883 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;; Copyright (C) 2021-2022, Michail Frolov aka Doczom |
1 | ;; Copyright (C) 2021-2022, Michael Frolov aka Doczom |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | macro send_notify send_str{ |
3 | macro send_notify send_str{ |
4 | mov dword[run_notify.message], send_str |
4 | mov dword[run_notify.message], send_str |
5 | mcall SF_FILE, run_notify |
5 | mcall SF_FILE, run_notify |
Line 20... | Line 20... | ||
20 | include '..\..\proc32.inc' |
20 | include '..\..\proc32.inc' |
21 | include '..\..\macros.inc' |
21 | include '..\..\macros.inc' |
22 | include '..\..\KOSfuncs.inc' |
22 | include '..\..\KOSfuncs.inc' |
23 | include '..\..\dll.inc' |
23 | include '..\..\dll.inc' |
Line 24... | Line 24... | ||
24 | 24 | ||
25 | ; include 'parser.inc' ; this modul does not work |
25 | include 'parser.inc' |
26 | START: |
26 | START: |
27 | ;init heap |
27 | ;init heap |
28 | mcall 68, 11 |
28 | mcall 68, 11 |
29 | ; load lib |
29 | ; load lib |
Line 33... | Line 33... | ||
33 | ; init opendial |
33 | ; init opendial |
34 | invoke OpenDialog_Init, OpenDialog_data |
34 | invoke OpenDialog_Init, OpenDialog_data |
35 | ; init futex |
35 | ; init futex |
36 | mcall SF_FUTEX, SSF_CREATE, futex_cmd |
36 | mcall SF_FUTEX, SSF_CREATE, futex_cmd |
37 | mov [futex_handle], eax |
37 | mov [futex_handle], eax |
38 | ; parse cmd_line TODO: fix parser and testing |
38 | ; parse cmd_line |
39 | ;call pars_cmd |
39 | cmp byte[PATH], 0 |
40 | ;test eax, eax |
40 | jz @f |
41 | ;jnz exit |
41 | call parse_cmd |
- | 42 | @@: |
|
42 | ;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó |
43 | ;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó |
43 | mcall SF_SET_EVENTS_MASK,0x05 |
44 | mcall SF_SET_EVENTS_MASK, 0x05 |
44 | ;load driver |
45 | ;load driver |
45 | mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, [drv_ptr], 0 |
46 | mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, [drv_ptr], 0 |
46 | mov dword[drv_struct.handl],eax |
47 | mov dword[drv_struct.handl], eax |
47 | test eax,eax ;ïðîâåðêà çàãðóçêè |
48 | test eax, eax ;ïðîâåðêà çàãðóçêè |
48 | jz error_drv |
49 | jz error_drv |
49 | main: |
50 | main: |
50 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
51 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
- | 52 | cmp dword[save_ptr], 0 |
|
- | 53 | jz still |
|
- | 54 | mcall 51, 1, thread_auto_save, thread_auto_save.stack |
|
51 | cmp byte[PATH], 0 |
55 | cmp eax, -1 |
52 | jz still |
56 | jz still |
53 | ;call add_file |
57 | mov dword[PID_AUTO_SAVE], eax |
54 | still: ;void main() |
58 | still: ;void main() |
55 | call draw |
59 | call draw |
56 | ;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ |
60 | ;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ |
57 | mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second |
61 | mcall SF_WAIT_EVENT_TIMEOUT, 200 ;2 second |
58 | dec eax ; redraw request ? |
62 | dec eax ; redraw request ? |
Line 180... | Line 184... | ||
180 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
184 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
Line 181... | Line 185... | ||
181 | 185 | ||
182 | cmp byte[flag_micro_info],1 |
186 | cmp byte[flag_micro_info], 1 |
183 | mov eax,SF_CHANGE_WINDOW |
187 | mov eax, SF_CHANGE_WINDOW |
184 | mov ebx,-1 |
188 | mov ebx, -1 |
185 | mov ecx,ebx;-1 |
189 | mov ecx, ebx |
Line 186... | Line 190... | ||
186 | jz draw.micro |
190 | jz draw.micro |
187 | 191 | ||
188 | mov esi,0x00000115 ; link with 58 line |
192 | mov esi,0x00000115 ; link with 58 line |
Line 384... | Line 388... | ||
384 | mov ecx,0x001d0015 |
388 | mov ecx, 0x001d0015 |
385 | mov edx,eax;0x00000008 |
389 | mov edx, eax;0x00000008 |
386 | mov esi,[sc.work_button] |
390 | mov esi, [sc.work_button] |
387 | mcall |
391 | mcall |
Line 388... | Line 392... | ||
388 | 392 | ||
389 | mov eax,SF_DRAW_TEXT;4 |
393 | mov eax, SF_DRAW_TEXT |
390 | mov ebx,0x000a0020 |
394 | mov ebx, 0x000a0020 |
391 | mov ecx,0x90000000 |
395 | mov ecx, 0x90000000 |
392 | add ecx,[sc.work_text] |
396 | add ecx, [sc.work_text] |
393 | mov edx,_Tctl |
397 | mov edx, _Tctl |
Line 553... | Line 557... | ||
553 | mcall 68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì |
557 | mcall 68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì |
554 | ; destroy futex |
558 | ; destroy futex |
555 | mcall SF_FUTEX, SSF_DESTROY, [futex_handle] |
559 | mcall SF_FUTEX, SSF_DESTROY, [futex_handle] |
556 | mcall 68, 13, [log_ptr] ; free page |
560 | mcall 68, 13, [log_ptr] ; free page |
Line -... | Line 561... | ||
- | 561 | ||
557 | 562 | mcall 18, 18, dword[PID_AUTO_SAVE] |
|
Line 558... | Line 563... | ||
558 | mcall SF_TERMINATE_PROCESS |
563 | mcall SF_TERMINATE_PROCESS |
559 | 564 | ||
560 | err_load_lib: |
565 | err_load_lib: |
Line 652... | Line 657... | ||
652 | movsd |
657 | movsd |
653 | movsd |
658 | movsd |
654 | movsd |
659 | movsd |
655 | movsd |
660 | movsd |
Line 656... | Line 661... | ||
656 | 661 | ||
657 | ; cmp dword[save_file], 0 |
662 | cmp dword[save_ptr], 0 |
658 | ; jnz .no_save_mode |
663 | jz .no_save_mode |
659 | ; push dword[log_path] |
664 | push dword[log_path] |
660 | ; mov eax, [save_ptr] |
665 | mov eax, [save_ptr] |
661 | ; mov [log_path], eax |
666 | mov [log_path], eax |
662 | ; mcall 70, file_log |
667 | mcall 70, file_log |
663 | ; pop dword[log_path] |
668 | pop dword[log_path] |
664 | ;.no_save_mode: |
669 | .no_save_mode: |
665 | jmp @b |
670 | jmp @b |
666 | .err_alloc_2: |
671 | .err_alloc_2: |
667 | send_notify Error_text.alloc_2 |
672 | send_notify Error_text.alloc_2 |
668 | jmp @b |
673 | jmp @b |
Line 673... | Line 678... | ||
673 | test byte[futex_cmd], 1 |
678 | test byte[futex_cmd], 1 |
674 | jz @b |
679 | jz @b |
675 | .exit: |
680 | .exit: |
676 | mov byte[futex_cmd], 0x00 |
681 | mov byte[futex_cmd], 0x00 |
677 | mcall -1 |
682 | mcall -1 |
- | 683 | ||
- | 684 | thread_auto_save: |
|
- | 685 | mcall 40, 0 ;clear event mask |
|
- | 686 | ;calculate first data in file(4 value border graphic) |
|
- | 687 | mov eax,[drv_data.Tmax] |
|
- | 688 | mov ebx, graph_start_1.new_data |
|
- | 689 | call int_to_str |
|
- | 690 | ;create file |
|
- | 691 | mcall 70, .file |
|
- | 692 | mov dword[.file], 3 |
|
- | 693 | mov dword[.log_size], 20 |
|
- | 694 | mov dword[.log_offset], 19 |
|
- | 695 | mov dword[.log_ptr], graph_start_1.new_data |
|
- | 696 | @@: |
|
- | 697 | mcall 5, 100*60 |
|
- | 698 | ; add new item in file |
|
- | 699 | push dword[.log_offset] |
|
- | 700 | mov dword[.log_size], 4 |
|
- | 701 | mov dword[.log_offset], 2 |
|
- | 702 | mov eax,[.index_item] |
|
- | 703 | imul eax,1000 |
|
- | 704 | mov ebx, graph_start_1.new_data |
|
- | 705 | call int_to_str |
|
- | 706 | mcall SF_FILE, .file |
|
- | 707 | inc dword[.index_item] |
|
- | 708 | pop dword[.log_offset] |
|
- | 709 | mov dword[.log_size], 20 |
|
- | 710 | ; get string y koord |
|
- | 711 | mov eax,[drv_data.Tctl] |
|
- | 712 | mov ebx, graph_start_1.new_data_2 |
|
- | 713 | call int_to_str |
|
- | 714 | mcall SF_FILE, .file |
|
- | 715 | add dword[.log_offset], 20 |
|
- | 716 | jmp @b |
|
- | 717 | mcall -1 |
|
- | 718 | .index_item: dd 1 |
|
- | 719 | .file: |
|
- | 720 | dd 2 |
|
- | 721 | .log_offset: dd 0 |
|
- | 722 | dd 0 |
|
- | 723 | .log_size: dd 19 |
|
- | 724 | .log_ptr: dd graph_start_1 |
|
- | 725 | db 0 |
|
- | 726 | save_ptr: dd 0 ; pointer to save file or zero |
|
- | 727 | PID_AUTO_SAVE: dd 0 ; for break this thread |
|
678 | ;Data_program; |
728 | ;Data_program; |
679 | title db 'AMDtemp',0 |
729 | title db 'AMDtemp',0 |
680 | path_drv db '/kolibrios/drivers/sensors/k10temp.sys',0 |
730 | path_drv db '/kolibrios/drivers/sensors/k10temp.sys',0 |
681 | Error_text db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0 |
731 | 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 |
732 | .save_log: db '"Error save log\nThe log has not been created" -tdE',0 |
Line 723... | Line 773... | ||
723 | log_path: dd openfile_path |
773 | log_path: dd openfile_path |
Line 724... | Line 774... | ||
724 | 774 | ||
725 | futex_handle: dd 0 |
775 | futex_handle: dd 0 |
Line 726... | Line -... | ||
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 ïî ñòàðèíêå |
776 | futex_cmd: dd 0 ;1- stop 2 - save in file & no exit 3 - save in file & exit |
Line 729... | Line 777... | ||
729 | ;save_ptr: dd 0 ; pointer to save file |
777 | |
730 | drv_ptr: dd path_drv ; pointer to path on driver |
778 | drv_ptr: dd path_drv ; pointer to path on driver |
Line 797... | Line 845... | ||
797 | .message: dd Error_text |
845 | .message: dd Error_text |
798 | dd 0 |
846 | dd 0 |
799 | dd 0 |
847 | dd 0 |
800 | db '/sys/@notify',0 |
848 | db '/sys/@notify',0 |
801 | align 4 |
849 | align 4 |
- | 850 | graph_start_1: db '0 0000 0 ' ; 9 byte |
|
- | 851 | .new_data: db '0000.0000 ' ; 10-19 byte 10 byte |
|
- | 852 | .new_data_2: db '0000.0000 ' ; 20-29 byte 10 byte |
|
- | 853 | align 4 |
|
802 | graph_start: db '0 0000 0 ' ; 9 byte |
854 | graph_start: db '0 0000 0 ' ; 9 byte |
803 | .new_data: db '0000.0000 ' ; 10-19 byte 10 byte |
855 | .new_data: db '0000.0000 ' ; 10-19 byte 10 byte |
804 | .new_data_2: db '0000.0000 ' ; 20-29 byte 10 byte |
856 | .new_data_2: db '0000.0000 ' ; 20-29 byte 10 byte |
Line 805... | Line 857... | ||
805 | 857 | ||
Line 854... | Line 906... | ||
854 | rd 256 |
906 | rd 256 |
855 | STACKTOP: |
907 | STACKTOP: |
Line 856... | Line 908... | ||
856 | 908 | ||
857 | rb 512 ; 512 byte for stack |
909 | rb 512 ; 512 byte for stack |
- | 910 | thread_timer.stack: |
|
- | 911 | rb 512 ; 512 byte for stack |
|
858 | thread_timer.stack: |
912 | thread_auto_save.stack: |
859 | ;rb 1024 |
913 | ;rb 1024 |
860 | procinfo process_information |
914 | procinfo process_information |
861 | openfile_path: |
915 | openfile_path: |
862 | rb 4096 |
916 | rb 4096 |
863 | MEM:-| |
917 | MEM:-| |