Rev 111 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 111 | Rev 131 | ||
---|---|---|---|
Line 25... | Line 25... | ||
25 | ; random bug deleted eax is use. |
25 | ; random bug deleted eax is use. |
26 | ;0.11 loadfile from me +puttxt bug del ~07.09.2004 |
26 | ;0.11 loadfile from me +puttxt bug del ~07.09.2004 |
27 | ;0.12 open/save dialog ~13.09.2004 |
27 | ;0.12 open/save dialog ~13.09.2004 |
28 | ;0.13 dialogs bugs deleted |
28 | ;0.13 dialogs bugs deleted |
29 | ;0.14 drawlbut ~03.10.2004 |
29 | ;0.14 drawlbut ~03.10.2004 |
- | 30 | ;0.15 extendet label! |
|
Line 30... | Line 31... | ||
30 | 31 | ||
31 | ; LOADFILE |
32 | ; LOADFILE |
32 | ; (SYNTAX) LOADFILE 'full_path_to_file',file_load_area,file_temp_area |
33 | ; (SYNTAX) LOADFILE 'full_path_to_file',file_load_area,file_temp_area |
Line -... | Line 34... | ||
- | 34 | ; (SAMPLE) LOADFILE '/rd/1/clock.bmp',load_area,temp_area |
|
33 | ; (SAMPLE) LOADFILE '/rd/1/clock.bmp',load_area,temp_area |
35 | |
34 | 36 | ||
35 | macro loadfile file_name,file_load_area,file_temp_area |
37 | macro loadfile file_name,file_load_area,file_temp_area |
36 | { |
38 | { |
37 | local open,fileinfo,string |
39 | local open,fileinfo,string |
Line 57... | Line 59... | ||
57 | mov ebx,fileinfo |
59 | mov ebx,fileinfo |
58 | int 0x40 |
60 | int 0x40 |
59 | } |
61 | } |
Line 60... | Line 62... | ||
60 | 62 | ||
- | 63 | ||
- | 64 | ;macro wordstoreg reg,hiword,loword |
|
- | 65 | ;{ |
|
- | 66 | ;if hiword eqtype 0 & loword eqtype 0 |
|
- | 67 | ; mov reg,dword hiword*65536+loword |
|
- | 68 | ;else if hiword eqtype 12 & loword eqtype eax |
|
- | 69 | ; mov reg,dword hiword*65536 |
|
- | 70 | ; add reg,dword loword |
|
- | 71 | ;else if hiword eqtype 12 & loword eqtype [123] |
|
- | 72 | ; mov reg,dword hiword*65536 |
|
- | 73 | ; add reg,dword loword |
|
- | 74 | ;else |
|
- | 75 | ; mov reg,dword hiword |
|
- | 76 | ; shl reg,16 |
|
- | 77 | ; add reg,dword loword |
|
- | 78 | ;end if |
|
- | 79 | ;} |
|
- | 80 | ||
- | 81 | macro dword2reg reg,doubleword |
|
- | 82 | { |
|
- | 83 | if doubleword eq |
|
- | 84 | ; not changes |
|
- | 85 | else |
|
- | 86 | mov reg,dword doubleword |
|
- | 87 | end if |
|
- | 88 | } |
|
61 | 89 | ||
- | 90 | macro words2reg reg,hiword,lowword |
|
- | 91 | { |
|
- | 92 | if hiword eq |
|
- | 93 | if lowword eq |
|
62 | macro wordstoreg reg,hiword,loword |
94 | ; not changes |
- | 95 | else |
|
63 | { |
96 | if lowword eqtype 12 |
- | 97 | and reg,dword 0xffff0000 |
|
64 | if hiword eqtype 0 & loword eqtype 0 |
98 | add reg,dword lowword |
65 | mov reg,(hiword)*65536+(loword) |
99 | else |
66 | else if hiword eqtype 12 & loword eqtype eax |
100 | and reg,dword 0xffff0000 |
- | 101 | add reg,dword lowword |
|
- | 102 | end if |
|
67 | mov reg,(hiword)*65536 |
103 | end if |
68 | add reg,loword |
104 | else |
69 | else if hiword eqtype 0 & loword eqtype [123] |
105 | if lowword eq |
70 | mov reg,(hiword)*65536 |
106 | if hiword eqtype 12 |
71 | add reg,loword |
107 | and reg,dword 0x0000ffff |
72 | else if (hiword eq ) & (loword eq ) |
- | |
73 | else |
108 | add reg,dword hiword*65536 |
- | 109 | else |
|
- | 110 | shl reg,16 |
|
- | 111 | add reg,dword hiword |
|
- | 112 | ror reg,16 |
|
- | 113 | end if |
|
- | 114 | else |
|
- | 115 | if lowword eqtype 12 & hiword eqtype 12 |
|
- | 116 | if lowword eq 0 & hiword eq 0 |
|
- | 117 | xor reg,reg |
|
- | 118 | else |
|
- | 119 | mov reg,dword hiword*65536+lowword |
|
- | 120 | end if |
|
- | 121 | else |
|
74 | mov reg,hiword |
122 | mov reg,dword hiword |
- | 123 | shl reg,16 |
|
- | 124 | add reg,dword lowword |
|
75 | shl reg,16 |
125 | end if |
76 | add reg,loword |
126 | end if |
Line -... | Line 127... | ||
- | 127 | end if |
|
- | 128 | } |
|
77 | end if |
129 | |
Line 78... | Line 130... | ||
78 | } |
130 | |
79 | 131 | ||
80 | 132 | ||
81 | ; DRAW BUTTON with label |
133 | ; DRAW BUTTON with label |
82 | 134 | ||
83 | macro drawlbut x,y,xs,ys,text,id,bcolor,tcolor |
135 | macro drawlbut x,y,xs,ys,text,id,bcolor,tcolor |
84 | { |
136 | { |
85 | local asd,lab |
137 | local asd,lab |
86 | jmp asd |
138 | jmp asd |
87 | lab db text ;arg label |
139 | lab db text ;arg label |
88 | asd: |
140 | asd: |
89 | wordstoreg ebx,x,xs |
141 | words2reg ebx,x,xs |
Line 326... | Line 378... | ||
326 | dd procinfo ; 0x10000 |
378 | dd procinfo ; 0x10000 |
327 | ;run_filepath |
379 | ;run_filepath |
328 | db '/RD/1/SYSXTREE',0 |
380 | db '/RD/1/SYSXTREE',0 |
Line 329... | Line 381... | ||
329 | 381 | ||
330 | procinfo: |
382 | procinfo: |
331 | times 256 db 0 |
383 | times 1024 db 0 |
Line 332... | Line 384... | ||
332 | } |
384 | } |
333 | 385 | ||
Line 388... | Line 440... | ||
388 | 440 | ||
389 | ; define IPC memory |
441 | ; define IPC memory |
390 | mov eax,60 |
442 | mov eax,60 |
391 | mov ebx,1 ; define IPC |
443 | mov ebx,1 ; define IPC |
392 | mov ecx,path ; offset of area |
444 | mov ecx,path ; offset of area |
393 | mov edx,120 ; size 150 bytes |
445 | mov edx,150 ; size 150 bytes |
Line 394... | Line 446... | ||
394 | int 0x40 |
446 | int 0x40 |
395 | 447 | ||
396 | ; change wanted events list 7-bit IPC event |
448 | ; change wanted events list 7-bit IPC event |
Line 456... | Line 508... | ||
456 | 508 | ||
457 | mred: |
509 | mred: |
458 | call redproc |
510 | call redproc |
459 | jmp getmesloop |
511 | jmp getmesloop |
- | 512 | mkey: |
|
460 | mkey: |
513 | mov eax,2 |
461 | int 0x40 ; read (eax=2) |
514 | int 0x40 ; read (eax=2) |
462 | jmp getmesloop |
515 | jmp getmesloop |
463 | mbutton: |
516 | mbutton: |
464 | mov eax,17 ; get id |
517 | mov eax,17 ; get id |
Line 524... | Line 577... | ||
524 | get_loops dd 0 |
577 | get_loops dd 0 |
525 | dlg_pid_get dd 0 |
578 | dlg_pid_get dd 0 |
526 | DLGPID dd 0 |
579 | DLGPID dd 0 |
Line 527... | Line 580... | ||
527 | 580 | ||
528 | param: |
581 | param: |
529 | rb 4 ; My dec PID |
582 | dd 0 ; My dec PID |
Line 530... | Line 583... | ||
530 | rb 6 ; Type of dialog |
583 | dd 0,0 ; Type of dialog |
531 | 584 | ||
532 | run_fileinfo: |
585 | run_fileinfo: |
533 | dd 16 |
586 | dd 16 |
534 | dd 0 |
587 | dd 0 |
535 | dd param |
588 | dd param |
536 | dd 0 |
589 | dd 0 |
537 | dd procinfo |
590 | dd procinfo |
Line 538... | Line 591... | ||
538 | run_filepath: |
591 | ;run_filepath: |
539 | db '/RD/1/SYSXTREE',0 |
592 | db '/RD/1/SYSXTREE',0 |
540 | 593 | ||
Line 633... | Line 686... | ||
633 | macro puttxt x,y,offs,size,color |
686 | macro puttxt x,y,offs,size,color |
634 | { |
687 | { |
635 | ; mov ebx,x |
688 | ; mov ebx,x |
636 | ; shl ebx,16 |
689 | ; shl ebx,16 |
637 | ; add ebx,y |
690 | ; add ebx,y |
638 | wordstoreg ebx,x,y |
691 | words2reg ebx,x,y |
- | 692 | ||
- | 693 | dword2reg ecx,color |
|
- | 694 | dword2reg edx,offs |
|
- | 695 | dword2reg esi,size |
|
- | 696 | ||
639 | mov ecx,color |
697 | ; mov ecx,color |
640 | mov edx,offs |
698 | ; mov edx,offs |
641 | mov esi,size |
699 | ; mov esi,size |
642 | mov eax,4 |
700 | mov eax,4 |
643 | int 0x40 |
701 | int 0x40 |
644 | } |
702 | } |
Line 645... | Line 703... | ||
645 | 703 | ||
646 | macro outcount data, x, y, color, numtype |
704 | macro outcount data, x, y, color, numtype |
647 | { |
705 | { |
648 | mov ecx,data |
706 | mov ecx,data |
649 | mov ebx,numtype |
707 | mov ebx,numtype |
650 | mov bl,0 |
708 | mov bl,0 |
651 | ; mov edx,x*65536+y |
709 | ; mov edx,x*65536+y |
652 | wordstoreg edx,x,y |
710 | words2reg edx,x,y |
653 | mov esi,color |
711 | mov esi,color |
654 | mov eax,47 |
712 | mov eax,47 |
655 | int 0x40 |
713 | int 0x40 |
Line 726... | Line 784... | ||
726 | 784 | ||
727 | macro window arg1,arg2,arg3,arg4,arg5 |
785 | macro window arg1,arg2,arg3,arg4,arg5 |
728 | { |
786 | { |
729 | ; mov ebx,arg1*65536+arg3 |
787 | ; mov ebx,arg1*65536+arg3 |
730 | ; mov ecx,arg2*65536+arg4 |
788 | ; mov ecx,arg2*65536+arg4 |
731 | wordstoreg ebx,arg1,arg3 |
789 | words2reg ebx,arg1,arg3 |
732 | wordstoreg ecx,arg2,arg4 |
790 | words2reg ecx,arg2,arg4 |
733 | mov edx,arg5 |
791 | mov edx,arg5 |
734 | mov eax,0 |
792 | mov eax,0 |
735 | int 0x40 |
793 | int 0x40 |
Line 767... | Line 825... | ||
767 | 825 | ||
768 | ; LABEL - Put text to frame |
826 | ; LABEL - Put text to frame |
769 | ; (SYNTAX) LABEL Xstart,Ystart,'Text',Color |
827 | ; (SYNTAX) LABEL Xstart,Ystart,'Text',Color |
Line 770... | Line 828... | ||
770 | ; (SAMPLE) LABEL 10,12,'Hello World!',cl_Green+font_Big |
828 | ; (SAMPLE) LABEL 10,12,'Hello World!',cl_Green+font_Big |
771 | 829 | ||
772 | macro label arg1,arg2,arg3,arg4 |
830 | macro glabel arg1,arg2,arg3,arg4 |
773 | { |
831 | { |
774 | local asd,lab |
832 | local asd,lab |
775 | jmp asd |
833 | jmp asd |
776 | lab db arg3 ;arg label |
834 | lab db arg3 ;arg label |
777 | asd: |
835 | asd: |
778 | ; mov ebx,arg1 ;arg1=y arg2=x |
836 | ; mov ebx,arg1 ;arg1=y arg2=x |
- | 837 | ; shl ebx,16 |
|
779 | ; shl ebx,16 |
838 | ; add ebx,arg2 |
- | 839 | ||
780 | ; add ebx,arg2 |
840 | words2reg ebx,arg1,arg2 |
781 | wordstoreg ebx,arg1,arg2 |
- | |
782 | if ~(arg4 eq ) |
841 | |
783 | mov ecx,arg4 ;arg4 color |
842 | dword2reg ecx,arg4 |
784 | end if |
843 | |
785 | mov edx,lab |
844 | mov edx,lab |
786 | mov esi,asd-lab ;calc size |
845 | mov esi,asd-lab ;calc size |
787 | mov eax,4 |
846 | mov eax,4 |