Rev 3904 | Rev 4962 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3904 | Rev 4187 | ||
---|---|---|---|
1 | ;#___________________________________________________________________________________________________ |
1 | ;#___________________________________________________________________________________________________ |
2 | ;****************************************************************************************************| |
2 | ;****************************************************************************************************| |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
4 | ;----------------------------------------------------------------------------------------------------| |
4 | ;----------------------------------------------------------------------------------------------------| |
5 | ;; Charset:DOS-866 Font:Courier New Size:9pt | |
5 | ;; Charset:DOS-866 Font:Courier New Size:9pt | |
6 | ;..................................................................................................... |
6 | ;..................................................................................................... |
7 | ;; compiler: FASM 1.69.31 | |
7 | ;; compiler: FASM 1.69.31 | |
8 | ;; version: 0.3.0 | |
8 | ;; version: 0.3.0 | |
9 | ;; last update: 08/11/2012 | |
9 | ;; last update: 07/11/2013 | |
10 | ;; e-mail: dr.steshin@gmail.com | |
10 | ;; e-mail: dr.steshin@gmail.com | |
11 | ;..................................................................................................... |
11 | ;..................................................................................................... |
12 | ;; History: | |
12 | ;; History: | |
13 | ;; 0.1.0 - ¥à¢ ï ¢¥àá¨ï ¯à®£à ¬¬ë. | |
13 | ;; 0.1.0 - ¥à¢ ï ¢¥àá¨ï ¯à®£à ¬¬ë. | |
14 | ;; 0.2.0 - á¯à ¢«¥® ¯®¯ ¤ ¨¥ ¢ á¥âªã, ¡¥à¥âáï ¡«¨¦ ©è¨© ¯® ¤¨ £® «¨ ¯¨ªá¥«ì. | |
14 | ;; 0.2.0 - á¯à ¢«¥® ¯®¯ ¤ ¨¥ ¢ á¥âªã, ¡¥à¥âáï ¡«¨¦ ©è¨© ¯® ¤¨ £® «¨ ¯¨ªá¥«ì. | |
15 | ;; - ®¡ ¢«¥ë ¯®«§ãª¨, ¤«ï ॣ㫨஢ ¨ï rgb á®áâ ¢«ïîé¨å 梥⠨ ¢ë¢®¤ íâ¨å á®áâ ¢«ïîé¨å. | |
15 | ;; - ®¡ ¢«¥ë ¯®«§ãª¨, ¤«ï ॣ㫨஢ ¨ï rgb á®áâ ¢«ïîé¨å 梥⠨ ¢ë¢®¤ íâ¨å á®áâ ¢«ïîé¨å. | |
16 | ;; - ¡à ¢ë¢®¤ 梥⠢ ¡¨ ஬ ¢¨¤¥ (¯®ª § ¥ ¤®¡®áâìî ¨ ¥ ªâã «ì®áâìî). | |
16 | ;; - ¡à ¢ë¢®¤ 梥⠢ ¡¨ ஬ ¢¨¤¥ (¯®ª § ¥ ¤®¡®áâìî ¨ ¥ ªâã «ì®áâìî). | |
17 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
17 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
18 | ;; 0.3.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¢¨¤®¢ 梥⮢ëå á奬 (ª®¯ª NEXT) | |
18 | ;; 0.3.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¢¨¤®¢ 梥⮢ëå á奬 (ª®¯ª NEXT) | |
19 | ;; - «ãçè¥ë ¯®«§ãª¨, ¯à®¨§¢®¤¨âáï ®¡à ¡®âª ¦ â¨ï à冷¬ á ¯®«§ãª®¬. | |
19 | ;; - «ãçè¥ë ¯®«§ãª¨, ¯à®¨§¢®¤¨âáï ®¡à ¡®âª ¦ â¨ï à冷¬ á ¯®«§ãª®¬. | |
20 | ;; - ¨á«® á¥â®ª ¢ 梥⮢®© á奬¥ 㬥ì襮 á 6 ¤® 4 (ªà â®áâì 256, ¨ ç¥ ¤ã¡«¨à®¢ ¨¥ 梥â ).| |
20 | ;; - ¨á«® á¥â®ª ¢ 梥⮢®© á奬¥ 㬥ì襮 á 6 ¤® 4 (ªà â®áâì 256, ¨ ç¥ ¤ã¡«¨à®¢ ¨¥ 梥â ).| |
21 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
21 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
22 | ;; 0.4.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¬¥¦¤ã ¤¢ã¬ï 梥⠬¨ | |
22 | ;; 0.4.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¬¥¦¤ã ¤¢ã¬ï 梥⠬¨ | |
23 | ;; - ®¡ ¢«¥ ¯®«§ã®ª ॣ㫨஢ ¨ï ¯à®§à ç®á⨠(¡¥§ ¢¨§ã «¨§ 樨). | |
23 | ;; - ®¡ ¢«¥ ¯®«§ã®ª ॣ㫨஢ ¨ï ¯à®§à ç®á⨠(¡¥§ ¢¨§ã «¨§ 樨). | |
24 | ;; - ®¡ ¢«¥® ¢ëà ¢¨¢ ¨¥ § 票© rgba ¯® æ¥âàã, ¢ § ¢¨á¨¬®á⨠®â ¤«¨ë. | |
24 | ;; - ®¡ ¢«¥® ¢ëà ¢¨¢ ¨¥ § 票© rgba ¯® æ¥âàã, ¢ § ¢¨á¨¬®á⨠®â ¤«¨ë. | |
25 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
25 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
26 | ;; - ¥¡®«ìè ï ®¯â¨¬¨§ æ¨ï. | |
26 | ;; - ¥¡®«ìè ï ®¯â¨¬¨§ æ¨ï. | |
27 | ;; 0.5.0 - ®¡ ¢«¥ ª®¯ª ᬥë ä® à ¡®ç¥£® á⮫ (®â Leency). | |
27 | ;; 0.5.0 - ®¡ ¢«¥ ª®¯ª ᬥë ä® à ¡®ç¥£® á⮫ (®â Leency). | |
28 | ;; - ®¡ ¢«¥® ¨§¬¥¥¨¥ ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
28 | ;; - ®¡ ¢«¥® ¨§¬¥¥¨¥ ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
34 | ;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
34 | ;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
35 | ;; 0.7.5 - ¦ ⨥ ¯à ¢®© ª« ¢¨è¥© ¬ëè¨ ï祩ªã á 梥⮬ ãáâ ¢«¨¢ ¥â ¥ ®á®¢®©, ¤®¯®«. 梥â | |
35 | ;; 0.7.5 - ¦ ⨥ ¯à ¢®© ª« ¢¨è¥© ¬ëè¨ ï祩ªã á 梥⮬ ãáâ ¢«¨¢ ¥â ¥ ®á®¢®©, ¤®¯®«. 梥â | |
36 | ;; - ¬¥ì襮 ¬¥àæ ¨¥ ¯à¨ à ¡®â¥ ¯¨¯¥âª¨ | |
36 | ;; - ¬¥ì襮 ¬¥àæ ¨¥ ¯à¨ à ¡®â¥ ¯¨¯¥âª¨ | |
- | 37 | ;; 0.7.6 - ¥à¥à ¡®â ०¨¬ H (hidden): ⥯¥àì 梥⠧ £à㦠îâáï ¨§ wallpaper.dat (eAndrew) | |
|
- | 38 | ;; - ਠãáâ ®¢ª¨ ä® ª®¯ª®©, 梥â ä® á®åà ï¥âáï ¢ wallpaper.dat (eAndrew) | |
|
37 | ;..................................................................................................... |
39 | ;..................................................................................................... |
38 | ;; All rights reserved. | |
40 | ;; All rights reserved. | |
39 | ;; | |
41 | ;; | |
40 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
42 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
41 | ;; provided that the following conditions are met: | |
43 | ;; provided that the following conditions are met: | |
42 | ;; * Redistributions of source code must retain the above copyright notice, this list of | |
44 | ;; * Redistributions of source code must retain the above copyright notice, this list of | |
43 | ;; conditions and the following disclaimer. | |
45 | ;; conditions and the following disclaimer. | |
44 | ;; * Redistributions in binary form must reproduce the above copyright notice, this list of | |
46 | ;; * Redistributions in binary form must reproduce the above copyright notice, this list of | |
45 | ;; conditions and the following disclaimer in the documentation and/or other materials | |
47 | ;; conditions and the following disclaimer in the documentation and/or other materials | |
46 | ;; provided with the distribution. | |
48 | ;; provided with the distribution. | |
47 | ;; * Neither the name of the |
49 | ;; * Neither the name of the |
48 | ;; endorse or promote products derived from this software without specific prior written | |
50 | ;; endorse or promote products derived from this software without specific prior written | |
49 | ;; permission. | |
51 | ;; permission. | |
50 | ;; | |
52 | ;; | |
51 | ;; THIS SOFTWARE IS PROVIDED BY Sergei Steshin ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, | |
53 | ;; THIS SOFTWARE IS PROVIDED BY Sergei Steshin ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, | |
52 | ;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |
54 | ;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |
53 | ;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
55 | ;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
54 | ;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
56 | ;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
55 | ;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
57 | ;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
56 | ;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
58 | ;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
57 | ;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
59 | ;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
58 | ;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
60 | ;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
59 | ;....................................................................................................| |
61 | ;....................................................................................................| |
60 | 62 | ||
61 | 63 | ||
62 | ;#___________________________________________________________________________________________________ |
64 | ;#___________________________________________________________________________________________________ |
63 | ;****************************************************************************************************| |
65 | ;****************************************************************************************************| |
64 | ; | |
66 | ; | |
65 | ;----------------------------------------------------------------------------------------------------/ |
67 | ;----------------------------------------------------------------------------------------------------/ |
66 | use32 |
68 | use32 |
67 | org 0x0 |
69 | org 0x0 |
68 | db 'MENUET01' |
70 | db 'MENUET01' |
69 | dd 0x01 |
71 | dd 0x01 |
70 | dd START |
72 | dd START |
71 | dd I_END |
73 | dd I_END |
72 | dd I_END+4096 |
74 | dd I_RDATA+4096 |
73 | dd I_END+4096 |
75 | dd I_RDATA+4096 |
74 | dd params |
76 | dd params |
75 | dd 0x0 |
77 | dd 0x0 |
76 | 78 | ||
77 | include '..\..\..\macros.inc' |
79 | include '../../../macros.inc' |
78 | 80 | ||
79 | WIN_W equ 295 ; è¨à¨ ®ª |
81 | WIN_W equ 295 ; è¨à¨ ®ª |
80 | WIN_H equ 195 ; ¢ëá®â ®ª |
82 | WIN_H equ 195 ; ¢ëá®â ®ª |
81 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
83 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
82 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
84 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
83 | 85 | ||
84 | panel: |
86 | panel: |
85 | file "panel.raw" |
87 | file "panel.raw" |
86 | 88 | ||
87 | START: |
89 | START: |
88 | mcall 68,11 ; ¨¨æ¨ «¨§ æ¨ï ªãç¨ |
90 | mcall 68,11 ; ¨¨æ¨ «¨§ æ¨ï ªãç¨ |
89 | mcall 40,0x27 ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
91 | mcall 40,0x27 ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
90 | include 'params_init.inc' ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
92 | include 'params_init.inc' ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
91 | 93 | ||
92 | ;#___________________________________________________________________________________________________ |
94 | ;#___________________________________________________________________________________________________ |
93 | ;****************************************************************************************************| |
95 | ;****************************************************************************************************| |
94 | ; - | |
96 | ; - | |
95 | ;----------------------------------------------------------------------------------------------------/ |
97 | ;----------------------------------------------------------------------------------------------------/ |
96 | red: |
98 | red: |
97 | call draw_main ; ¢ë§ë¢ ¥¬ ¯¥à¥à¨á®¢ªã ®ª ¯à¨«®¦¥¨ï |
99 | call draw_main ; ¢ë§ë¢ ¥¬ ¯¥à¥à¨á®¢ªã ®ª ¯à¨«®¦¥¨ï |
98 | still: |
100 | still: |
99 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
101 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
100 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
102 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
101 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
103 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
102 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
104 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
103 | je key ; ¥á«¨ ¤ - key |
105 | je key ; ¥á«¨ ¤ - key |
104 | cmp eax,3 ; ¦ â ª®¯ª ? |
106 | cmp eax,3 ; ¦ â ª®¯ª ? |
105 | je button ; ¥á«¨ ¤ - button |
107 | je button ; ¥á«¨ ¤ - button |
106 | cmp eax,6 ; ᮡë⨥ ®â ¬ëè¨ ¢¥ ®ª |
108 | cmp eax,6 ; ᮡë⨥ ®â ¬ëè¨ ¢¥ ®ª |
107 | je mouse ; ¥á«¨ ¤ - button |
109 | je mouse ; ¥á«¨ ¤ - button |
108 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
110 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
109 | ;end_still |
111 | ;end_still |
110 | 112 | ||
111 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
113 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
112 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
114 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
113 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
115 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
114 | ;end_key |
116 | ;end_key |
115 | 117 | ||
116 | mouse: |
118 | mouse: |
117 | cmp [renmode],2 |
119 | cmp [renmode],2 |
118 | jne left |
120 | jne left |
119 | call cyrcle_draw |
121 | call cyrcle_draw |
120 | jmp center |
122 | jmp center |
121 | left: |
123 | left: |
122 | mcall 37,2 |
124 | mcall 37,2 |
123 | cmp al,1b |
125 | cmp al,1b |
124 | jne right |
126 | jne right |
125 | mov [mouse_f],1 |
127 | mov [mouse_f],1 |
126 | jmp still |
128 | jmp still |
127 | right: |
129 | right: |
128 | cmp al,10b |
130 | cmp al,10b |
129 | jne still |
131 | jne still |
130 | mov [mouse_f],2 |
132 | mov [mouse_f],2 |
131 | jmp still |
133 | jmp still |
132 | center: |
134 | center: |
133 | mcall 37,2 |
135 | mcall 37,2 |
134 | cmp al,100b |
136 | cmp al,100b |
135 | jne still |
137 | jne still |
136 | mov [mouse_f],3 |
138 | mov [mouse_f],3 |
137 | mov [color],edx |
139 | mov [color],edx |
138 | call draw_result |
140 | call draw_result |
139 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
141 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
140 | ;end_mouse |
142 | ;end_mouse |
141 | 143 | ||
142 | button: |
144 | button: |
143 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
145 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
144 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
146 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
145 | jz bexit ; ¢ë室¨¬ |
147 | jz bexit ; ¢ë室¨¬ |
146 | ;®¡à ¡®âª ª®¯ª¨ Next |
148 | ;®¡à ¡®âª ª®¯ª¨ Next |
147 | cmp ah, 12 ; ¥á«¨ ¦ â ª®¯ª NEXT |
149 | cmp ah, 12 ; ¥á«¨ ¦ â ª®¯ª NEXT |
148 | jne next_bg ; ¢ë室¨¬ |
150 | jne next_bg ; ¢ë室¨¬ |
149 | inc [pnext] ; 㢥«¨ç¨¢ ¥¬ ¯à¨ ¦ ⨨ ®¬¥à ¯ «¨âàë |
151 | inc [pnext] ; 㢥«¨ç¨¢ ¥¬ ¯à¨ ¦ ⨨ ®¬¥à ¯ «¨âàë |
150 | mov [renmode],0 ; ¢ª«îç ¥¬ æ¢¥â®¢ë¥ á奬ë |
152 | mov [renmode],0 ; ¢ª«îç ¥¬ æ¢¥â®¢ë¥ á奬ë |
151 | mov eax,[pnext] ; § ®á¨¬ § 票¥ ¢ ¥ å |
153 | mov eax,[pnext] ; § ®á¨¬ § 票¥ ¢ ¥ å |
152 | cmp al,6 ; áà ¢¨¢ ¥¬ á § ¥ë¬ ª®«¨ç¥á⢮¬ ¯ «¨âà |
154 | cmp al,6 ; áà ¢¨¢ ¥¬ á § ¥ë¬ ª®«¨ç¥á⢮¬ ¯ «¨âà |
153 | jne next_redraw ; ¥á«¨ ¥ ¡®«ìè¥ ¬ ªá¨¬ã¬ â® ¢ë§®¢ ®âà¨á®¢ª¨ |
155 | jne next_redraw ; ¥á«¨ ¥ ¡®«ìè¥ ¬ ªá¨¬ã¬ â® ¢ë§®¢ ®âà¨á®¢ª¨ |
154 | xor eax,eax ; ¨ ç¥ § ã«ï¥¬ ¯ «¨âàã default |
156 | xor eax,eax ; ¨ ç¥ § ã«ï¥¬ ¯ «¨âàã default |
155 | mov [pnext],eax ; ¨ § ¯®¬¨ ¥¬ çâ® á¡à®á¨«¨ ¯ «¨âàã default |
157 | mov [pnext],eax ; ¨ § ¯®¬¨ ¥¬ çâ® á¡à®á¨«¨ ¯ «¨âàã default |
156 | next_redraw: |
158 | next_redraw: |
157 | call draw_palitra ; |
159 | call draw_palitra ; |
158 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
160 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
159 | next_bg: |
161 | next_bg: |
160 | cmp ah, 14 ; ®¯ª BACKGROUND |
162 | cmp ah, 14 ; ®¯ª BACKGROUND |
161 | jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
163 | jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
162 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
164 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
163 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
165 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
164 | circle_bg: |
166 | circle_bg: |
165 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
167 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
166 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
168 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
167 | mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
169 | mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
168 | call draw_palitra ; |
170 | call draw_palitra ; |
169 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
171 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
170 | next_end: |
172 | next_end: |
171 | cmp ah,13 ; COLOR SWAP |
173 | cmp ah,13 ; COLOR SWAP |
172 | jne color_swap_end |
174 | jne color_swap_end |
173 | push [color2] |
175 | push [color2] |
174 | push [color] |
176 | push [color] |
175 | pop [color2] |
177 | pop [color2] |
176 | pop [color] |
178 | pop [color] |
177 | call draw_result |
179 | call draw_result |
178 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
180 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
179 | color_swap_end: |
181 | color_swap_end: |
180 | cmp ah, 7 ; ஢¥à塞 ¦ â ª®¯ª á ID=7 |
182 | cmp ah, 7 ; ஢¥à塞 ¦ â ª®¯ª á ID=7 |
181 | jne color_button ; ᫨ ¥ ¦ â , â® ¨¤ñ¬ ¤ «ìè¥ |
183 | jne color_button ; ᫨ ¥ ¦ â , â® ¨¤ñ¬ ¤ «ìè¥ |
182 | call mouse_get ; ç¥ ¢ª«îç ¥¬ ®¡à ¡®â稪 ¬ëè¨, ç⮡ë áç¨â âì § 票¥ 梥â á ¯ «¨âàë |
184 | call mouse_get ; ç¥ ¢ª«îç ¥¬ ®¡à ¡®â稪 ¬ëè¨, ç⮡ë áç¨â âì § 票¥ 梥â á ¯ «¨âàë |
183 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
185 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
184 | color_button: ; 𠪮®à¤¨ â ¤«ï ¯®«§ãª®¢ RGBA |
186 | color_button: ; 𠪮®à¤¨ â ¤«ï ¯®«§ãª®¢ RGBA |
185 | push eax ; § ¯®¬¨ ¥¬ ¥ å |
187 | push eax ; § ¯®¬¨ ¥¬ ¥ å |
186 | call mouse_local ; ¯®«ãç ¥¬ «®ª «ìë¥ ª®®à¤¨ âë |
188 | call mouse_local ; ¯®«ãç ¥¬ «®ª «ìë¥ ª®®à¤¨ âë |
187 | mov ebx,137 ; ¨¦ïï £à ¨æ ¯®«§ãª ¯® |
189 | mov ebx,137 ; ¨¦ïï £à ¨æ ¯®«§ãª ¯® |
188 | mov ecx,[mouse_y] ; § ¨á¨¬ ¢ ¥áå § 票¥ ªãàá®à ¯® |
190 | mov ecx,[mouse_y] ; § ¨á¨¬ ¢ ¥áå § 票¥ ªãàá®à ¯® |
189 | sub ebx,ecx ; 室¨¬ à §®áâì (â.¥. ªã¤ á¬¥é ¥âáï ¯®«§ã®ª) |
191 | sub ebx,ecx ; 室¨¬ à §®áâì (â.¥. ªã¤ á¬¥é ¥âáï ¯®«§ã®ª) |
190 | mov ecx,3 ; § ®á¨¬ ¢ ¥áå æ¨äàã 3 (256/3=85, £¤¥ 85-¢ëá®â ¯®«§ãª®¢) |
192 | mov ecx,3 ; § ®á¨¬ ¢ ¥áå æ¨äàã 3 (256/3=85, £¤¥ 85-¢ëá®â ¯®«§ãª®¢) |
191 | imul ecx,ebx ; 室¨¬ ¨áâ¨ë© ¯ à ¬¥âà 梥â á ãçñ⮬ ¬ áèâ ¡ ¯®«§ãª ---+ |
193 | imul ecx,ebx ; 室¨¬ ¨áâ¨ë© ¯ à ¬¥âà 梥â á ãçñ⮬ ¬ áèâ ¡ ¯®«§ãª ---+ |
192 | pop eax ; ¢®ááâ ¢«¨¢ ¥¬ ¥ å : |
194 | pop eax ; ¢®ááâ ¢«¨¢ ¥¬ ¥ å : |
193 | ;red_button: ; à áë© à¥ª¡ à : |
195 | ;red_button: ; à áë© à¥ª¡ à : |
194 | cmp ah, 8 ; ID=8 : |
196 | cmp ah, 8 ; ID=8 : |
195 | jne green_button ; ¥á«¨ ¥â, â® ¯à®¢¥à塞 §¥«ñë© â४¡ à : |
197 | jne green_button ; ¥á«¨ ¥â, â® ¯à®¢¥à塞 §¥«ñë© â४¡ à : |
196 | mov [cred],cl ; ¨ ç¥ ¯à¨á¢ ¨¢ ¥¬ § 票¥, ªà ᮬã 梥âã ᯥªâà <------+ |
198 | mov [cred],cl ; ¨ ç¥ ¯à¨á¢ ¨¢ ¥¬ § 票¥, ªà ᮬã 梥âã ᯥªâà <------+ |
197 | call set_spectr ; ãáâ ¢«¨¢ ¥¬ ᯥªâà |
199 | call set_spectr ; ãáâ ¢«¨¢ ¥¬ ᯥªâà |
198 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
200 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
199 | green_button: |
201 | green_button: |
200 | cmp ah, 9 |
202 | cmp ah, 9 |
201 | jne blue_button |
203 | jne blue_button |
202 | mov [cgreen],cl |
204 | mov [cgreen],cl |
203 | call set_spectr |
205 | call set_spectr |
204 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
206 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
205 | blue_button: |
207 | blue_button: |
206 | cmp ah, 10 |
208 | cmp ah, 10 |
207 | jne alpha_button |
209 | jne alpha_button |
208 | mov [cblue],cl |
210 | mov [cblue],cl |
209 | call set_spectr |
211 | call set_spectr |
210 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
212 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
211 | alpha_button: |
213 | alpha_button: |
212 | cmp ah, 11 |
214 | cmp ah, 11 |
213 | jne still |
215 | jne still |
214 | mov [calpha],cl |
216 | mov [calpha],cl |
215 | call set_spectr |
217 | call set_spectr |
216 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
218 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
217 | bexit: |
219 | bexit: |
218 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
220 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
219 | ;end_button |
221 | ;end_button |
220 | 222 | ||
221 | ;#___________________________________________________________________________________________________ |
223 | ;#___________________________________________________________________________________________________ |
222 | ;****************************************************************************************************| |
224 | ;****************************************************************************************************| |
223 | ; | |
225 | ; | |
224 | ;----------------------------------------------------------------------------------------------------/ |
226 | ;----------------------------------------------------------------------------------------------------/ |
225 | draw_main: |
227 | draw_main: |
226 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
228 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
227 | mov ebx,1 ; 1, ç «® à¨á®¢ ¨ï |
229 | mov ebx,1 ; 1, ç «® à¨á®¢ ¨ï |
228 | int 0x40 ; à¥àë¢ ¨¥ |
230 | int 0x40 ; à¥àë¢ ¨¥ |
229 | 231 | ||
230 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª® |
232 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª® |
231 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. |
233 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. |
232 | mov ecx,sc ; ª § â¥«ì ¡ãä¥à à §¬¥à®¬ edx ¡ ©â, ¯®¤ áâàãªâãàã |
234 | mov ecx,sc ; ª § â¥«ì ¡ãä¥à à §¬¥à®¬ edx ¡ ©â, ¯®¤ áâàãªâãàã |
233 | mov edx,sizeof.system_colors ; §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥ ¡ëâì 40 ¡ ©â) |
235 | mov edx,sizeof.system_colors ; §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥ ¡ëâì 40 ¡ ©â) |
234 | int 0x40 ; à¥àë¢ ¨¥ |
236 | int 0x40 ; à¥àë¢ ¨¥ |
235 | 237 | ||
236 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª®. |
238 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª®. |
237 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ¢®§¢à é ¥â eax = ¢ëá®â ᪨ . |
239 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ¢®§¢à é ¥â eax = ¢ëá®â ᪨ . |
238 | int 0x40 ; à¥àë¢ ¨¥ |
240 | int 0x40 ; à¥àë¢ ¨¥ |
239 | mov ecx,eax ; ¯®¬¨ ¥¬ ¢ëá®âã ᪨ |
241 | mov ecx,eax ; ¯®¬¨ ¥¬ ¢ëá®âã ᪨ |
240 | 242 | ||
241 | mov edi,[runmode] |
243 | mov edi,[runmode] |
242 | cmp edi,2 |
244 | cmp edi,2 |
243 | jne no_hiddenmode |
245 | jne no_hiddenmode |
244 | mov edi,hidden |
246 | mov edi,hidden |
245 | jmp set_title |
247 | jmp set_title |
246 | no_hiddenmode: |
248 | no_hiddenmode: |
247 | cmp edi,3 |
249 | cmp edi,3 |
248 | jne no_dialogmode |
250 | jne no_dialogmode |
249 | mov edi,hidden |
251 | mov edi,hidden |
250 | jmp set_title |
252 | jmp set_title |
251 | no_dialogmode: |
253 | no_dialogmode: |
252 | mov edi,title ; £®«®¢®ª ®ª |
254 | mov edi,title ; £®«®¢®ª ®ª |
253 | set_title: |
255 | set_title: |
254 | 256 | ||
255 | xor eax,eax ; ç¨é ¥¬ eax (mov eax,0) (ãªæ¨ï 0) |
257 | xor eax,eax ; ç¨é ¥¬ eax (mov eax,0) (ãªæ¨ï 0) |
256 | mov ebx,WIN_X shl 16+WIN_W ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
258 | mov ebx,WIN_X shl 16+WIN_W ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
257 | add ecx,WIN_Y shl 16+WIN_H ; ëá®â ᪨ + [ª®®à¤¨ â ¯® y]*65536 + [à §¬¥à ¯® y] (168 ¤«ï ¢¥àᨨ 0.2) |
259 | add ecx,WIN_Y shl 16+WIN_H ; ëá®â ᪨ + [ª®®à¤¨ â ¯® y]*65536 + [à §¬¥à ¯® y] (168 ¤«ï ¢¥àᨨ 0.2) |
258 | mov edx,[sc.work] ; ¨¤¨¬® áâ¨«ì ®ª ¯® ¤¥ä®«âã |
260 | mov edx,[sc.work] ; ¨¤¨¬® áâ¨«ì ®ª ¯® ¤¥ä®«âã |
259 | or edx,0x34000000 ; «¨ ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢ |
261 | or edx,0x34000000 ; «¨ ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢ |
260 | 262 | ||
261 | int 0x40 ; à¥àë¢ ¨¥ |
263 | int 0x40 ; à¥àë¢ ¨¥ |
262 | 264 | ||
263 | 265 | ||
264 | call draw_palitra ; |
266 | call draw_palitra ; |
265 | call draw_result ; |
267 | call draw_result ; |
266 | 268 | ||
267 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã |
269 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã |
268 | mov ebx,110 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
270 | mov ebx,110 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
269 | mov ecx,9 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
271 | mov ecx,9 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
270 | mov edx,0x60000007 ; ç «ì®¥ ID ª®¯®ª - 0xXYnnnnnn |
272 | mov edx,0x60000007 ; ç «ì®¥ ID ª®¯®ª - 0xXYnnnnnn |
271 | int 0x40 |
273 | int 0x40 |
272 | 274 | ||
273 | mov ebx,13 shl 16+12 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
275 | mov ebx,13 shl 16+12 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
274 | mov edx,0x60000008 ; ID = 8 |
276 | mov edx,0x60000008 ; ID = 8 |
275 | mov ecx,51 shl 16+85 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
277 | mov ecx,51 shl 16+85 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
276 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ red |
278 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ red |
277 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
279 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
278 | inc edx ; ID = 9 |
280 | inc edx ; ID = 9 |
279 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ green |
281 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ green |
280 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
282 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
281 | inc edx ; ID = 10 |
283 | inc edx ; ID = 10 |
282 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ blue |
284 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ blue |
283 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
285 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
284 | inc edx ; ID = 11 |
286 | inc edx ; ID = 11 |
285 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ alpha |
287 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ alpha |
286 | 288 | ||
287 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã ( ) |
289 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã ( ) |
288 | mov ebx,11 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
290 | mov ebx,11 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
289 | mov ecx,12 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
291 | mov ecx,12 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
290 | mov edx,0x6000000D ; ID = 13 |
292 | mov edx,0x6000000D ; ID = 13 |
291 | int 0x40 |
293 | int 0x40 |
292 | 294 | ||
293 | call draw_bottom_panel |
295 | call draw_bottom_panel |
294 | call draw_left_panel |
296 | call draw_left_panel |
295 | 297 | ||
296 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
298 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
297 | mov ebx,2 ; 2 - ª®¥æ à¨á®¢ ¨ï |
299 | mov ebx,2 ; 2 - ª®¥æ à¨á®¢ ¨ï |
298 | int 0x40 ; à¥àë¢ ¨¥ |
300 | int 0x40 ; à¥àë¢ ¨¥ |
299 | ret |
301 | ret |
300 | 302 | ||
301 | ;#___________________________________________________________________________________________________ |
303 | ;#___________________________________________________________________________________________________ |
302 | ;****************************************************************************************************| |
304 | ;****************************************************************************************************| |
303 | ; | |
305 | ; | |
304 | ;----------------------------------------------------------------------------------------------------/ |
306 | ;----------------------------------------------------------------------------------------------------/ |
305 | 307 | ||
306 | 308 | ||
307 | ;------------------------------------------------------------------------------------------------+ |
309 | ;------------------------------------------------------------------------------------------------+ |
308 | draw_left_panel: ; âà¨á®¢ª ¡®ª®¢®© ¯ ¥«¨ |
310 | draw_left_panel: ; âà¨á®¢ª ¡®ª®¢®© ¯ ¥«¨ |
309 | ;................................................................................................. |
311 | ;................................................................................................. |
310 | mov eax,8 ; button_next_colorsheme |
312 | mov eax,8 ; button_next_colorsheme |
311 | mov ebx,266 shl 16+16 ; [x] + [size] |
313 | mov ebx,266 shl 16+16 ; [x] + [size] |
312 | mov ecx,9 shl 16+16 ; [y] + [size] |
314 | mov ecx,9 shl 16+16 ; [y] + [size] |
313 | mov edx,0x6000000C ; ID = 12 |
315 | mov edx,0x6000000C ; ID = 12 |
314 | mov esi,[sc.work_button] ; RGB |
316 | mov esi,[sc.work_button] ; RGB |
315 | int 0x40 ; call |
317 | int 0x40 ; call |
316 | ; circle diagram |
318 | ; circle diagram |
317 | add ecx,19 shl 16 ; move rect |
319 | add ecx,19 shl 16 ; move rect |
318 | mov edx,0x6000000F ; ID = 15 |
320 | mov edx,0x6000000F ; ID = 15 |
319 | int 0x40 ; call |
321 | int 0x40 ; call |
320 | 322 | ||
321 | mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
323 | mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
322 | mov ebx,panel ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
324 | mov ebx,panel ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
323 | mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
325 | mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
324 | mov edx,266 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
326 | mov edx,266 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
325 | int 0x40 |
327 | int 0x40 |
326 | 328 | ||
327 | ;mov eax,13 ; draw rect |
329 | ;mov eax,13 ; draw rect |
328 | ;mov ebx,266 shl 16+16 ; [x] + [size] |
330 | ;mov ebx,266 shl 16+16 ; [x] + [size] |
329 | ;mov ecx,9 shl 16+16 ; [y] + [size] |
331 | ;mov ecx,9 shl 16+16 ; [y] + [size] |
330 | ;mov edx,0x666666 ; RGB |
332 | ;mov edx,0x666666 ; RGB |
331 | ;push esi ; backup esi |
333 | ;push esi ; backup esi |
332 | ;mov esi,8 ; counter=8 |
334 | ;mov esi,8 ; counter=8 |
333 | ;draw_lpanel: ; loop label |
335 | ;draw_lpanel: ; loop label |
334 | ; int 0x40 ; call draw black rect |
336 | ; int 0x40 ; call draw black rect |
335 | ; add ecx,19 shl 16 ; move rect |
337 | ; add ecx,19 shl 16 ; move rect |
336 | ; dec esi ; decrement counter |
338 | ; dec esi ; decrement counter |
337 | ; cmp esi,0 ; if counter!=zero |
339 | ; cmp esi,0 ; if counter!=zero |
338 | ; jne draw_lpanel ; then goto label |
340 | ; jne draw_lpanel ; then goto label |
339 | ; mov esi,8 ; else counter=8 |
341 | ; mov esi,8 ; else counter=8 |
340 | ; mov ebx,267 shl 16+14 ; [x] + [size] |
342 | ; mov ebx,267 shl 16+14 ; [x] + [size] |
341 | ; mov ecx,10 shl 16+14 ; [y] + [size] |
343 | ; mov ecx,10 shl 16+14 ; [y] + [size] |
342 | ; mov edx,0xF3F3F3 ; RGB |
344 | ; mov edx,0xF3F3F3 ; RGB |
343 | ;draw_lpanel2: ; 2 loop label |
345 | ;draw_lpanel2: ; 2 loop label |
344 | ; int 0x40 ; call draw white rect |
346 | ; int 0x40 ; call draw white rect |
345 | ; add ecx,19 shl 16 ; move rect |
347 | ; add ecx,19 shl 16 ; move rect |
346 | ; dec esi ; decrement counter |
348 | ; dec esi ; decrement counter |
347 | ; cmp esi,0 ; if counter!=0 |
349 | ; cmp esi,0 ; if counter!=0 |
348 | ; jne draw_lpanel2 ; then goto label2 |
350 | ; jne draw_lpanel2 ; then goto label2 |
349 | ;pop esi ; restore esi |
351 | ;pop esi ; restore esi |
350 | ; draw_left_arrow for button_next_colorsheme |
352 | ; draw_left_arrow for button_next_colorsheme |
351 | ;mov eax,4 ; Write string |
353 | ;mov eax,4 ; Write string |
352 | ;mov ebx,272 shl 16+13 ; [x] + [y] |
354 | ;mov ebx,272 shl 16+13 ; [x] + [y] |
353 | ;mov ecx,0x0 ; RGB |
355 | ;mov ecx,0x0 ; RGB |
354 | ;mov edx,larrow ; string pointer |
356 | ;mov edx,larrow ; string pointer |
355 | ;mov esi,1 ; count symbol |
357 | ;mov esi,1 ; count symbol |
356 | ;int 0x40 ; call |
358 | ;int 0x40 ; call |
357 | ;mov eax,38 ; draw line |
359 | ;mov eax,38 ; draw line |
358 | ;mov ebx,270 shl 16+272 ; [start x] + [end x] |
360 | ;mov ebx,270 shl 16+272 ; [start x] + [end x] |
359 | ;mov ecx,16 shl 16+16 ; [start y] + [end y] |
361 | ;mov ecx,16 shl 16+16 ; [start y] + [end y] |
360 | ;mov edx,0x0 ; RGB |
362 | ;mov edx,0x0 ; RGB |
361 | ;int 0x40 ; call |
363 | ;int 0x40 ; call |
362 | ret ; return |
364 | ret ; return |
363 | ;................................................................................................. |
365 | ;................................................................................................. |
364 | 366 | ||
365 | 367 | ||
366 | ;------------------------------------------------------------------------------------------------+ |
368 | ;------------------------------------------------------------------------------------------------+ |
367 | draw_bottom_panel: ; âà¨á®¢ª ¨¦¥© ¯ ¥«¨ |
369 | draw_bottom_panel: ; âà¨á®¢ª ¨¦¥© ¯ ¥«¨ |
368 | ;................................................................................................. |
370 | ;................................................................................................. |
369 | mov eax,8 ; draw button |
371 | mov eax,8 ; draw button |
370 | mov ebx,92 shl 16+100 ; [x] + [size] |
372 | mov ebx,92 shl 16+100 ; [x] + [size] |
371 | mov ecx,169 shl 16+16 ; [y] + [size] |
373 | mov ecx,169 shl 16+16 ; [y] + [size] |
372 | mov edx,14 ; ID = 14 |
374 | mov edx,14 ; ID = 14 |
373 | mov esi,[sc.work_button] ; RGB |
375 | mov esi,[sc.work_button] ; RGB |
374 | int 0x40 ; call |
376 | int 0x40 ; call |
375 | mov eax,4 ; Write string |
377 | mov eax,4 ; Write string |
376 | mov ebx,113 shl 16+174 ; [x] + [y] |
378 | mov ebx,113 shl 16+174 ; [x] + [y] |
377 | mov ecx,[sc.work_button_text] ; RGB |
379 | mov ecx,[sc.work_button_text] ; RGB |
378 | mov edx,bground ; string pointer |
380 | mov edx,bground ; string pointer |
379 | mov esi,10 ; count symbol |
381 | mov esi,10 ; count symbol |
380 | int 0x40 ; call |
382 | int 0x40 ; call |
381 | mov eax,38 ; draw line |
383 | mov eax,38 ; draw line |
382 | mov ebx,4 shl 16+282 ; [start x] + [end x] |
384 | mov ebx,4 shl 16+282 ; [start x] + [end x] |
383 | mov ecx,163 shl 16+163 ; [start y] + [end y] |
385 | mov ecx,163 shl 16+163 ; [start y] + [end y] |
384 | mov edx,0x00666666 ; RGB |
386 | mov edx,0x00666666 ; RGB |
385 | int 0x40 ; call |
387 | int 0x40 ; call |
386 | ret ; return |
388 | ret ; return |
387 | ;................................................................................................. |
389 | ;................................................................................................. |
388 | 390 | ||
389 | mouse_global: |
391 | mouse_global: |
390 | ;................................................................................................. |
392 | ;................................................................................................. |
391 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ |
393 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ |
392 | ;................................................................................................. |
394 | ;................................................................................................. |
393 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
395 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
394 | mov ebx,0 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
396 | mov ebx,0 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
395 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
397 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
396 | mov ecx,eax ; |
398 | mov ecx,eax ; |
397 | shr ecx,16 ; ecx = x+1 |
399 | shr ecx,16 ; ecx = x+1 |
398 | movzx edx,ax ; edx = y+1 |
400 | movzx edx,ax ; edx = y+1 |
399 | dec ecx ; ecx = x |
401 | dec ecx ; ecx = x |
400 | dec edx ; edx = y |
402 | dec edx ; edx = y |
401 | mov [mouse_x],ecx ; mouse_x = x |
403 | mov [mouse_x],ecx ; mouse_x = x |
402 | mov [mouse_y],edx ; mouse_y = y |
404 | mov [mouse_y],edx ; mouse_y = y |
403 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
405 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
404 | ;end_mouse_global |
406 | ;end_mouse_global |
405 | 407 | ||
406 | mouse_local: |
408 | mouse_local: |
407 | ;................................................................................................. |
409 | ;................................................................................................. |
408 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
410 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
409 | ;................................................................................................. |
411 | ;................................................................................................. |
410 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
412 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
411 | mov ebx,1 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
413 | mov ebx,1 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
412 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
414 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
413 | mov ecx,eax ; |
415 | mov ecx,eax ; |
414 | shr ecx,16 ; ecx = x+1 |
416 | shr ecx,16 ; ecx = x+1 |
415 | movzx edx,ax ; edx = y+1 |
417 | movzx edx,ax ; edx = y+1 |
416 | dec ecx ; ecx = x |
418 | dec ecx ; ecx = x |
417 | dec edx ; edx = y |
419 | dec edx ; edx = y |
418 | mov [mouse_x],ecx ; mouse_x = x |
420 | mov [mouse_x],ecx ; mouse_x = x |
419 | mov [mouse_y],edx ; mouse_y = y |
421 | mov [mouse_y],edx ; mouse_y = y |
420 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
422 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
421 | ;end_mouse_local |
423 | ;end_mouse_local |
422 | 424 | ||
423 | set_background: |
425 | set_background: |
424 | ;................................................................................................. |
426 | ;................................................................................................. |
425 | ; áâ ¢«¨¢ ¥â ä® à ¡®ç¥£® á⮫ |
427 | ; áâ ¢«¨¢ ¥â ä® à ¡®ç¥£® á⮫ |
426 | ;................................................................................................. |
428 | ;................................................................................................. |
427 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
429 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
428 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . |
430 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . |
429 | mov ecx,2 ; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1) |
431 | mov ecx,2 ; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1) |
430 | int 0x40 ; ë§ë¢ ¥¬ |
432 | int 0x40 ; ë§ë¢ ¥¬ |
431 | 433 | ||
432 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
434 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
433 | mov ebx,1 ; ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. |
435 | mov ebx,1 ; ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. |
434 | mov ecx,2 ; ¨à¨ ¨§®¡à ¦¥¨ï |
436 | mov ecx,2 ; ¨à¨ ¨§®¡à ¦¥¨ï |
435 | mov edx,2 ; ëá®â ¨§®¡à ¦¥¨ï |
437 | mov edx,2 ; ëá®â ¨§®¡à ¦¥¨ï |
436 | int 0x40 ; ë§ë¢ ¥¬ |
438 | int 0x40 ; ë§ë¢ ¥¬ |
437 | 439 | ||
438 | mov eax,[color] |
440 | mov eax,[color] |
439 | mov [cm+0],al |
441 | mov [cm+0],al |
440 | mov [cm+9],al |
442 | mov [cm+9],al |
441 | shr eax,8 |
443 | shr eax,8 |
442 | mov [cm+1],al |
444 | mov [cm+1],al |
443 | mov [cm+10],al |
445 | mov [cm+10],al |
444 | shr eax,8 |
446 | shr eax,8 |
445 | mov [cm+2],al |
447 | mov [cm+2],al |
446 | mov [cm+11],al |
448 | mov [cm+11],al |
447 | 449 | ||
448 | mov eax,[color2] |
450 | mov eax,[color2] |
449 | mov [cm+3],al |
451 | mov [cm+3],al |
450 | mov [cm+6],al |
452 | mov [cm+6],al |
451 | shr eax,8 |
453 | shr eax,8 |
452 | mov [cm+4],al |
454 | mov [cm+4],al |
453 | mov [cm+7],al |
455 | mov [cm+7],al |
454 | shr eax,8 |
456 | shr eax,8 |
455 | mov [cm+5],al |
457 | mov [cm+5],al |
456 | mov [cm+8],al |
458 | mov [cm+8],al |
457 | 459 | ||
458 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
460 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
459 | mov ebx,5 ; ®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. |
461 | mov ebx,5 ; ®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. |
460 | mov ecx,cm ; ª § â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR |
462 | mov ecx,cm ; ª § â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR |
461 | mov edx,0 ; C¬¥é¥¨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï |
463 | mov edx,0 ; C¬¥é¥¨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï |
462 | mov esi,3*4 ; §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥© |
464 | mov esi,3*4 ; §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥© |
463 | int 0x40 ; ë§ë¢ ¥¬ |
465 | int 0x40 ; ë§ë¢ ¥¬ |
464 | 466 | ||
465 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
467 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
466 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. |
468 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. |
467 | int 0x40 ; ë§ë¢ ¥¬ |
469 | int 0x40 ; ë§ë¢ ¥¬ |
- | 470 | ||
- | 471 | mov eax, [color] |
|
- | 472 | mov [fi.file+0], al |
|
- | 473 | shr eax, 8 |
|
- | 474 | mov [fi.file+1], al |
|
- | 475 | shr eax, 8 |
|
- | 476 | mov [fi.file+2], al |
|
- | 477 | ||
- | 478 | mov eax, [color2] |
|
- | 479 | mov [fi.file+3], al |
|
- | 480 | shr eax, 8 |
|
- | 481 | mov [fi.file+4], al |
|
- | 482 | shr eax, 8 |
|
- | 483 | mov [fi.file+5], al |
|
- | 484 | ||
- | 485 | mov [fi.p00], dword 2 |
|
- | 486 | mov [fi.p04], dword 0 |
|
- | 487 | mov [fi.p08], dword 0 |
|
- | 488 | mov [fi.p12], dword 6 |
|
- | 489 | mov [fi.p16], dword fi.file |
|
- | 490 | mov [fi.p20], dword 0 |
|
- | 491 | mov [fi.p21], dword dat_file |
|
- | 492 | mcall 70, fi |
|
468 | 493 | ||
469 | ret |
494 | ret |
470 | ;end_set_background |
495 | ;end_set_background |
471 | 496 | ||
472 | desktop_get: |
497 | desktop_get: |
473 | ;................................................................................................. |
498 | ;................................................................................................. |
474 | ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà |
499 | ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà |
475 | ;................................................................................................. |
500 | ;................................................................................................. |
476 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
501 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
477 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
502 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
478 | mov ebx,eax ; |
503 | mov ebx,eax ; |
479 | shr ebx,16 ; ebx = xsize-1 |
504 | shr ebx,16 ; ebx = xsize-1 |
480 | movzx edx,ax ; edx = ysize-1 («¨è¨© ª®¤) |
505 | movzx edx,ax ; edx = ysize-1 («¨è¨© ª®¤) |
481 | inc ebx ; ebx = xsize |
506 | inc ebx ; ebx = xsize |
482 | inc edx ; edx = ysize («¨è¨© ª®¤) |
507 | inc edx ; edx = ysize («¨è¨© ª®¤) |
483 | mov [desctop_w],ebx |
508 | mov [desctop_w],ebx |
484 | mov [desctop_h],edx |
509 | mov [desctop_h],edx |
485 | ret |
510 | ret |
486 | ;end_desktop_get |
511 | ;end_desktop_get |
487 | 512 | ||
488 | mouse_get: |
513 | mouse_get: |
489 | mov esi,2 ; : ä« £ ¤«ï ¨§¡¥¦ ¨ï § 横«¨¢ ¨ï |
514 | mov esi,2 ; : ä« £ ¤«ï ¨§¡¥¦ ¨ï § 横«¨¢ ¨ï |
490 | call mouse_global |
515 | call mouse_global |
491 | call desktop_get |
516 | call desktop_get |
492 | re_mouse_loop: ; : ¬¥âª ¤«ï ¢®§¢à ⠥᫨ ¯®¯ «¨ ¢ á¥âªã |
517 | re_mouse_loop: ; : ¬¥âª ¤«ï ¢®§¢à ⠥᫨ ¯®¯ «¨ ¢ á¥âªã |
493 | mov ebx,[desctop_w] |
518 | mov ebx,[desctop_w] |
494 | imul ebx,[mouse_y] ; ebx = y*xsize |
519 | imul ebx,[mouse_y] ; ebx = y*xsize |
495 | add ebx,[mouse_x] ; ebx = y*xsize+x |
520 | add ebx,[mouse_x] ; ebx = y*xsize+x |
496 | 521 | ||
497 | ;................................................................................................. |
522 | ;................................................................................................. |
498 | ; ¥à¥¬ 梥â á ¯ «¨âàë ¢ ¯¥à¥¬¥ãî |
523 | ; ¥à¥¬ 梥â á ¯ «¨âàë ¢ ¯¥à¥¬¥ãî |
499 | ;................................................................................................. |
524 | ;................................................................................................. |
500 | mov eax,35 ; ãªæ¨ï ¢§ïâ¨ï 梥â |
525 | mov eax,35 ; ãªæ¨ï ¢§ïâ¨ï 梥â |
501 | ;mov ebx,ecx ;; ebx = y*xsize+x («¨è¨© ª®¤) |
526 | ;mov ebx,ecx ;; ebx = y*xsize+x («¨è¨© ª®¤) |
502 | int 0x40 ; ®«ãç ¥¬ 梥⠢ eax |
527 | int 0x40 ; ®«ãç ¥¬ 梥⠢ eax |
503 | cmp eax,[sc.work] ; à ¢¨¢ ¥¬ á ä®®¬ ¯à¨«®¦¥¨ï |
528 | cmp eax,[sc.work] ; à ¢¨¢ ¥¬ á ä®®¬ ¯à¨«®¦¥¨ï |
504 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
529 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
505 | cmp eax,0x222222 ; à ¢¨¢ ¥¬ á 梥⮬ á¥âª¨ |
530 | cmp eax,0x222222 ; à ¢¨¢ ¥¬ á 梥⮬ á¥âª¨ |
506 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
531 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
507 | jmp mouse_set ; : ¯àë£ ¥¬ çâ®¡ë ¥ ¡à âì 梥â á¥âª¨ |
532 | jmp mouse_set ; : ¯àë£ ¥¬ çâ®¡ë ¥ ¡à âì 梥â á¥âª¨ |
508 | mouse_err: ; : ¥á«¨ ¯®¯ «¨ ¢ á¥âªã ¨«¨ ä® |
533 | mouse_err: ; : ¥á«¨ ¯®¯ «¨ ¢ á¥âªã ¨«¨ ä® |
509 | inc [mouse_y] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ á ç « ¯® å |
534 | inc [mouse_y] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ á ç « ¯® å |
510 | inc [mouse_x] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ ¯®â®¬ ¯® ã |
535 | inc [mouse_x] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ ¯®â®¬ ¯® ã |
511 | dec esi ; : ¬¥ìè ¥¬ ä« £ |
536 | dec esi ; : ¬¥ìè ¥¬ ä« £ |
512 | cmp esi,0 ; : à ¢¨¢ ¥¬ á ã«¥¬ |
537 | cmp esi,0 ; : à ¢¨¢ ¥¬ á ã«¥¬ |
513 | jz mouse_exit ; : ᫨ ®«ì ⮠ᤥ« «¨ ¢áñ çâ® ¬®£«¨ |
538 | jz mouse_exit ; : ᫨ ®«ì ⮠ᤥ« «¨ ¢áñ çâ® ¬®£«¨ |
514 | jmp re_mouse_loop ; : ᫨ ¥ ®«ì â® ¯®¯à®¡ã¥¬ ¢§ïâì á®á¥«¨© ¯¨ªá¥«ì |
539 | jmp re_mouse_loop ; : ᫨ ¥ ®«ì â® ¯®¯à®¡ã¥¬ ¢§ïâì á®á¥«¨© ¯¨ªá¥«ì |
515 | mouse_set: ; ç¥ § ¯®¬¨ ¥¬ ®¢ë© 梥â |
540 | mouse_set: ; ç¥ § ¯®¬¨ ¥¬ ®¢ë© 梥â |
516 | cmp [mouse_f],1 |
541 | cmp [mouse_f],1 |
517 | jne was_right |
542 | jne was_right |
518 | mov [color],eax |
543 | mov [color],eax |
519 | call draw_result |
544 | call draw_result |
520 | jmp mouse_exit |
545 | jmp mouse_exit |
521 | was_right: |
546 | was_right: |
522 | cmp [mouse_f],2 |
547 | cmp [mouse_f],2 |
523 | jne mouse_exit |
548 | jne mouse_exit |
524 | mov [color2],eax |
549 | mov [color2],eax |
525 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
550 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
526 | mouse_exit: |
551 | mouse_exit: |
527 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
552 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
528 | ;end_mouse_get---------------------------------------------------------------------------------------- |
553 | ;end_mouse_get---------------------------------------------------------------------------------------- |
529 | 554 | ||
530 | draw_palitra: |
555 | draw_palitra: |
531 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
556 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
532 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
557 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
533 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
558 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
534 | mov edx,[sc.work] ; 梥â |
559 | mov edx,[sc.work] ; 梥â |
535 | int 0x40 |
560 | int 0x40 |
536 | 561 | ||
537 | cmp [renmode],2 |
562 | cmp [renmode],2 |
538 | je cyrcle_draw |
563 | je cyrcle_draw |
539 | ;cmp [renmode],1 |
564 | ;cmp [renmode],1 |
540 | ;je picker_draw |
565 | ;je picker_draw |
541 | cmp [renmode],0 |
566 | cmp [renmode],0 |
542 | je sheme_draw |
567 | je sheme_draw |
543 | ret |
568 | ret |
544 | 569 | ||
545 | ;................................................................................................. |
570 | ;................................................................................................. |
546 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
571 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
547 | ;................................................................................................. |
572 | ;................................................................................................. |
548 | cyrcle_draw: |
573 | cyrcle_draw: |
549 | ;mov eax,13 |
574 | ;mov eax,13 |
550 | ;mov edx,0x666666 |
575 | ;mov edx,0x666666 |
551 | ;mov ebx,108*65536+152 |
576 | ;mov ebx,108*65536+152 |
552 | ;mov ecx,125*65536+33 |
577 | ;mov ecx,125*65536+33 |
553 | ;mcall |
578 | ;mcall |
554 | ;mov edx,0xF3F3F3 |
579 | ;mov edx,0xF3F3F3 |
555 | ;mov ebx,109*65536+150 |
580 | ;mov ebx,109*65536+150 |
556 | ;mov ecx,126*65536+31 |
581 | ;mov ecx,126*65536+31 |
557 | ;mcall |
582 | ;mcall |
558 | 583 | ||
559 | ;mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
584 | ;mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
560 | ;mov ebx,115 shl 16+131 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
585 | ;mov ebx,115 shl 16+131 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
561 | ;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
586 | ;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
562 | ;mov edx,hint ; 㪠§ ⥫ì ç «® áâப¨ |
587 | ;mov edx,hint ; 㪠§ ⥫ì ç «® áâப¨ |
563 | ;mov esi,24 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
588 | ;mov esi,24 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
564 | ;mcall |
589 | ;mcall |
565 | ;mov ebx,125 shl 16+144 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
590 | ;mov ebx,125 shl 16+144 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
566 | ;mov edx,hint2 ; 㪠§ ⥫ì ç «® áâப¨ |
591 | ;mov edx,hint2 ; 㪠§ ⥫ì ç «® áâப¨ |
567 | ;mov esi,21 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
592 | ;mov esi,21 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
568 | ;mcall |
593 | ;mcall |
569 | 594 | ||
570 | ;mov edx,[color] |
595 | ;mov edx,[color] |
571 | ;mov ebx,109*65536+150 |
596 | ;mov ebx,109*65536+150 |
572 | ;mov ecx, 10*65536+150 |
597 | ;mov ecx, 10*65536+150 |
573 | ;mcall |
598 | ;mcall |
574 | call mouse_local ; ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
599 | call mouse_local ; ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
575 | mov ecx, [mouse_x] ; § ®á¨¬ ¢ ॣ¨áâà |
600 | mov ecx, [mouse_x] ; § ®á¨¬ ¢ ॣ¨áâà |
576 | mov edx, [mouse_y] ; § ®á¨¬ ¢ ॣ¨áâà |
601 | mov edx, [mouse_y] ; § ®á¨¬ ¢ ॣ¨áâà |
577 | cmp ecx, WIN_W-10 |
602 | cmp ecx, WIN_W-10 |
578 | jg cyrcle_draw_2 |
603 | jg cyrcle_draw_2 |
579 | cmp edx, WIN_H |
604 | cmp edx, WIN_H |
580 | jle end_cyrcle_draw |
605 | jle end_cyrcle_draw |
581 | 606 | ||
582 | cyrcle_draw_2: |
607 | cyrcle_draw_2: |
583 | mcall 5,10 |
608 | mcall 5,10 |
584 | call desktop_get |
609 | call desktop_get |
585 | call mouse_global |
610 | call mouse_global |
586 | 611 | ||
587 | mov ebx,112*65536+11 |
612 | mov ebx,112*65536+11 |
588 | mov esi,0 ; counter=8 |
613 | mov esi,0 ; counter=8 |
589 | circle_loop: |
614 | circle_loop: |
590 | mov ecx, 10*65536+11 |
615 | mov ecx, 10*65536+11 |
591 | mov edi,0 |
616 | mov edi,0 |
592 | circle_loop2: |
617 | circle_loop2: |
593 | mov eax,13 |
618 | mov eax,13 |
594 | call circle_pixel_read |
619 | call circle_pixel_read |
595 | mcall |
620 | mcall |
596 | add ecx,11 shl 16 |
621 | add ecx,11 shl 16 |
597 | inc edi |
622 | inc edi |
598 | cmp edi,13 |
623 | cmp edi,13 |
599 | jne circle_loop2 |
624 | jne circle_loop2 |
600 | 625 | ||
601 | add ebx,11 shl 16 |
626 | add ebx,11 shl 16 |
602 | inc esi |
627 | inc esi |
603 | cmp esi,13 |
628 | cmp esi,13 |
604 | jne circle_loop |
629 | jne circle_loop |
605 | 630 | ||
606 | 631 | ||
607 | mov eax,13 |
632 | mov eax,13 |
608 | mov edx,0x0 |
633 | mov edx,0x0 |
609 | mov ebx,177*65536+13 |
634 | mov ebx,177*65536+13 |
610 | mov ecx, 76*65536+13 |
635 | mov ecx, 76*65536+13 |
611 | mcall |
636 | mcall |
612 | mov ecx, [mouse_x] |
637 | mov ecx, [mouse_x] |
613 | mov edx, [mouse_y] |
638 | mov edx, [mouse_y] |
614 | inc ecx |
639 | inc ecx |
615 | inc edx |
640 | inc edx |
616 | mov ebx, edx |
641 | mov ebx, edx |
617 | imul ebx, [desctop_w] |
642 | imul ebx, [desctop_w] |
618 | add ebx, ecx |
643 | add ebx, ecx |
619 | mov eax, 35 |
644 | mov eax, 35 |
620 | mcall |
645 | mcall |
621 | mov edx,eax |
646 | mov edx,eax |
622 | mov eax,13 |
647 | mov eax,13 |
623 | mov ebx,178*65536+11 |
648 | mov ebx,178*65536+11 |
624 | mov ecx, 77*65536+11 |
649 | mov ecx, 77*65536+11 |
625 | mcall |
650 | mcall |
626 | ret |
651 | ret |
627 | end_cyrcle_draw: |
652 | end_cyrcle_draw: |
628 | mov eax,13 |
653 | mov eax,13 |
629 | mov edx,0x666666 |
654 | mov edx,0x666666 |
630 | mov ebx,111*65536+145 |
655 | mov ebx,111*65536+145 |
631 | mov ecx, 9*65536+145 |
656 | mov ecx, 9*65536+145 |
632 | mcall |
657 | mcall |
633 | ret |
658 | ret |
634 | 659 | ||
635 | circle_pixel_read: |
660 | circle_pixel_read: |
636 | push ecx |
661 | push ecx |
637 | push ebx |
662 | push ebx |
638 | push eax |
663 | push eax |
639 | mov ecx, [mouse_x] |
664 | mov ecx, [mouse_x] |
640 | mov edx, [mouse_y] |
665 | mov edx, [mouse_y] |
641 | inc ecx |
666 | inc ecx |
642 | add ecx, esi |
667 | add ecx, esi |
643 | cmp ecx, 6 |
668 | cmp ecx, 6 |
644 | jl _cpr_exit |
669 | jl _cpr_exit |
645 | sub ecx, 6 |
670 | sub ecx, 6 |
646 | inc edx |
671 | inc edx |
647 | add edx, edi |
672 | add edx, edi |
648 | cmp edx, 6 |
673 | cmp edx, 6 |
649 | jl _cpr_exit |
674 | jl _cpr_exit |
650 | sub edx, 6 |
675 | sub edx, 6 |
651 | 676 | ||
652 | mov ebx, edx |
677 | mov ebx, edx |
653 | imul ebx, [desctop_w] |
678 | imul ebx, [desctop_w] |
654 | add ebx, ecx |
679 | add ebx, ecx |
655 | mov eax, 35 |
680 | mov eax, 35 |
656 | mcall |
681 | mcall |
657 | mov edx,eax |
682 | mov edx,eax |
658 | pop eax |
683 | pop eax |
659 | pop ebx |
684 | pop ebx |
660 | pop ecx |
685 | pop ecx |
661 | ret |
686 | ret |
662 | 687 | ||
663 | _cpr_exit: |
688 | _cpr_exit: |
664 | mov edx,0x00000000 |
689 | mov edx,0x00000000 |
665 | pop eax |
690 | pop eax |
666 | pop ebx |
691 | pop ebx |
667 | pop ecx |
692 | pop ecx |
668 | ret |
693 | ret |
669 | 694 | ||
670 | ;picker_draw: |
695 | ;picker_draw: |
671 | ;ret |
696 | ;ret |
672 | 697 | ||
673 | ;................................................................................................. |
698 | ;................................................................................................. |
674 | ; âà¨á®¢ª ä® ¯®¤ ª®¯ª¨ |
699 | ; âà¨á®¢ª ä® ¯®¤ ª®¯ª¨ |
675 | ;................................................................................................. |
700 | ;................................................................................................. |
676 | sheme_draw: |
701 | sheme_draw: |
677 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
702 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
678 | mov edx,0x222222 ; 梥â |
703 | mov edx,0x222222 ; 梥â |
679 | mov ecx,9 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
704 | mov ecx,9 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
680 | mov esi,2 ; ç¥â稪 «¨¨© ¯®¤«®¦¥ª |
705 | mov esi,2 ; ç¥â稪 «¨¨© ¯®¤«®¦¥ª |
681 | re_draw: |
706 | re_draw: |
682 | mov ebx,110 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
707 | mov ebx,110 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
683 | mov edi,2 ; ç¥â稪 ª®«¨ç¥á⢠¯®¤«®¦¥ª |
708 | mov edi,2 ; ç¥â稪 ª®«¨ç¥á⢠¯®¤«®¦¥ª |
684 | for_fon_loop: |
709 | for_fon_loop: |
685 | int 0x40 ; à¥àë¢ ¨¥ |
710 | int 0x40 ; à¥àë¢ ¨¥ |
686 | add ebx,75 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® å |
711 | add ebx,75 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® å |
687 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
712 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
688 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
713 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
689 | jnz for_fon_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
714 | jnz for_fon_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
690 | dec esi ; ¬¥ìè ¥¬ ¥£® |
715 | dec esi ; ¬¥ìè ¥¬ ¥£® |
691 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
716 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
692 | mov ecx,84 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
717 | mov ecx,84 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
693 | jnz re_draw ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
718 | jnz re_draw ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
694 | 719 | ||
695 | ;................................................................................................. |
720 | ;................................................................................................. |
696 | ; âà¨á®¢ª ª®¯®ª ¯® 横«ã |
721 | ; âà¨á®¢ª ª®¯®ª ¯® 横«ã |
697 | ;................................................................................................. |
722 | ;................................................................................................. |
698 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
723 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
699 | mov edx,0x0FFFFFFF ; 梥â |
724 | mov edx,0x0FFFFFFF ; 梥â |
700 | mov esi,4 ; ç¥â稪 ª®«¨ç¥á⢠¡§ 楢 (#4,8) |
725 | mov esi,4 ; ç¥â稪 ª®«¨ç¥á⢠¡§ 楢 (#4,8) |
701 | mov ebx,99 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
726 | mov ebx,99 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
702 | for_abz: |
727 | for_abz: |
703 | ;;push esi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
728 | ;;push esi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
704 | cmp esi,2 |
729 | cmp esi,2 |
705 | jne x2_line |
730 | jne x2_line |
706 | mov ebx,99 shl 16+8 |
731 | mov ebx,99 shl 16+8 |
707 | x2_line: |
732 | x2_line: |
708 | add ebx,3 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
733 | add ebx,3 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
709 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
734 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
710 | for_stolbik: |
735 | for_stolbik: |
711 | push edi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
736 | push edi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
712 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
737 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
713 | mov ecx, 1 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
738 | mov ecx, 1 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
714 | cmp esi,2 |
739 | cmp esi,2 |
715 | jg y2_line ; ᫨ ¡®«ìè¥ 4 â® ¨£®à¨¬ |
740 | jg y2_line ; ᫨ ¡®«ìè¥ 4 â® ¨£®à¨¬ |
716 | mov ecx,76 shl 16+8 |
741 | mov ecx,76 shl 16+8 |
717 | y2_line: |
742 | y2_line: |
718 | add ebx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
743 | add ebx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
719 | for_loop: |
744 | for_loop: |
720 | add ecx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® y |
745 | add ecx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® y |
721 | int 0x40 ; à¥àë¢ ¨¥ |
746 | int 0x40 ; à¥àë¢ ¨¥ |
722 | call sub_red |
747 | call sub_red |
723 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
748 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
724 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
749 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
725 | jnz for_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
750 | jnz for_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
726 | call sub_green |
751 | call sub_green |
727 | pop edi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
752 | pop edi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
728 | dec edi ; ¬¥ìè ¥¬ ¥£® |
753 | dec edi ; ¬¥ìè ¥¬ ¥£® |
729 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
754 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
730 | jnz for_stolbik ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
755 | jnz for_stolbik ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
731 | call sub_blue |
756 | call sub_blue |
732 | ;;pop esi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
757 | ;;pop esi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
733 | dec esi ; ¬¥ìè ¥¬ ¥£® |
758 | dec esi ; ¬¥ìè ¥¬ ¥£® |
734 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
759 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
735 | jnz for_abz ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
760 | jnz for_abz ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
736 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
761 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
737 | ;end_draw_palitra------------------------------------------------------------------------------------- |
762 | ;end_draw_palitra------------------------------------------------------------------------------------- |
738 | 763 | ||
739 | 764 | ||
740 | sub_red: |
765 | sub_red: |
741 | ;................................................................................................. |
766 | ;................................................................................................. |
742 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
767 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
743 | ;................................................................................................. |
768 | ;................................................................................................. |
744 | push eax |
769 | push eax |
745 | mov eax,[pnext] |
770 | mov eax,[pnext] |
746 | ;sub_red_0 ; palitra |
771 | ;sub_red_0 ; palitra |
747 | cmp al,0 |
772 | cmp al,0 |
748 | jne sub_red_1 |
773 | jne sub_red_1 |
749 | sub edx,0x40 |
774 | sub edx,0x40 |
750 | jmp sub_red_e |
775 | jmp sub_red_e |
751 | sub_red_1: ; random |
776 | sub_red_1: ; random |
752 | cmp al,1 |
777 | cmp al,1 |
753 | jne sub_red_2 |
778 | jne sub_red_2 |
754 | sub edx,0x20 |
779 | sub edx,0x20 |
755 | jmp sub_red_e |
780 | jmp sub_red_e |
756 | sub_red_2: ; gree |
781 | sub_red_2: ; gree |
757 | cmp al,2 |
782 | cmp al,2 |
758 | jne sub_red_3 |
783 | jne sub_red_3 |
759 | sub edx,0x010101 |
784 | sub edx,0x010101 |
760 | jmp sub_red_e |
785 | jmp sub_red_e |
761 | sub_red_3: ; red |
786 | sub_red_3: ; red |
762 | cmp al,3 |
787 | cmp al,3 |
763 | jne sub_red_4 |
788 | jne sub_red_4 |
764 | sub edx,0x0101 |
789 | sub edx,0x0101 |
765 | jmp sub_red_e |
790 | jmp sub_red_e |
766 | sub_red_4: ; green |
791 | sub_red_4: ; green |
767 | cmp al,4 |
792 | cmp al,4 |
768 | jne sub_red_5 |
793 | jne sub_red_5 |
769 | sub edx,0x010001 |
794 | sub edx,0x010001 |
770 | jmp sub_red_e |
795 | jmp sub_red_e |
771 | sub_red_5: ; blue |
796 | sub_red_5: ; blue |
772 | cmp al,5 |
797 | cmp al,5 |
773 | jne sub_red_e |
798 | jne sub_red_e |
774 | sub edx,0x010100 |
799 | sub edx,0x010100 |
775 | jmp sub_red_e |
800 | jmp sub_red_e |
776 | sub_red_e: |
801 | sub_red_e: |
777 | pop eax |
802 | pop eax |
778 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
803 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
779 | ;end_sub_red------------------------------------------------------------------------------------------ |
804 | ;end_sub_red------------------------------------------------------------------------------------------ |
780 | 805 | ||
781 | sub_green: |
806 | sub_green: |
782 | ;................................................................................................. |
807 | ;................................................................................................. |
783 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
808 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
784 | ;................................................................................................. |
809 | ;................................................................................................. |
785 | push eax |
810 | push eax |
786 | mov eax,[pnext] |
811 | mov eax,[pnext] |
787 | ;sub_green_0 |
812 | ;sub_green_0 |
788 | cmp al,0 |
813 | cmp al,0 |
789 | jne sub_green_1 |
814 | jne sub_green_1 |
790 | sub edx,0x4000 |
815 | sub edx,0x4000 |
791 | jmp sub_green_e |
816 | jmp sub_green_e |
792 | sub_green_1: |
817 | sub_green_1: |
793 | cmp al,1 |
818 | cmp al,1 |
794 | jne sub_green_e |
819 | jne sub_green_e |
795 | sub edx,0x2000 |
820 | sub edx,0x2000 |
796 | ;jmp sub_green_e |
821 | ;jmp sub_green_e |
797 | sub_green_e: |
822 | sub_green_e: |
798 | pop eax |
823 | pop eax |
799 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
824 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
800 | ;end_sub_green---------------------------------------------------------------------------------------- |
825 | ;end_sub_green---------------------------------------------------------------------------------------- |
801 | 826 | ||
802 | 827 | ||
803 | sub_blue: |
828 | sub_blue: |
804 | ;................................................................................................. |
829 | ;................................................................................................. |
805 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
830 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
806 | ;................................................................................................. |
831 | ;................................................................................................. |
807 | push eax |
832 | push eax |
808 | mov eax,[pnext] |
833 | mov eax,[pnext] |
809 | ;sub_blue_0 |
834 | ;sub_blue_0 |
810 | cmp al,0 |
835 | cmp al,0 |
811 | jne sub_blue_1 |
836 | jne sub_blue_1 |
812 | sub edx,0x600000 |
837 | sub edx,0x600000 |
813 | jmp sub_blue_e |
838 | jmp sub_blue_e |
814 | sub_blue_1: |
839 | sub_blue_1: |
815 | cmp al,1 |
840 | cmp al,1 |
816 | jne sub_blue_e |
841 | jne sub_blue_e |
817 | sub edx,0x400000 |
842 | sub edx,0x400000 |
818 | ;jmp sub_blue_e |
843 | ;jmp sub_blue_e |
819 | sub_blue_e: |
844 | sub_blue_e: |
820 | pop eax |
845 | pop eax |
821 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
846 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
822 | ;end_sub_blue----------------------------------------------------------------------------------------- |
847 | ;end_sub_blue----------------------------------------------------------------------------------------- |
823 | 848 | ||
824 | draw_result: |
849 | draw_result: |
825 | ;................................................................................................. |
850 | ;................................................................................................. |
826 | ; ®«ìè ï à ¬ª ¢ë¢®¤ १ã«ìâ â |
851 | ; ®«ìè ï à ¬ª ¢ë¢®¤ १ã«ìâ â |
827 | ;................................................................................................. |
852 | ;................................................................................................. |
828 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
853 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
829 | mov edx,0x00666666 ; 梥â-®¡¢®¤ª¨ |
854 | mov edx,0x00666666 ; 梥â-®¡¢®¤ª¨ |
830 | mov ebx,4 shl 16+98 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
855 | mov ebx,4 shl 16+98 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
831 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
856 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
832 | int 0x40 |
857 | int 0x40 |
833 | mov edx,0x00F3F3F3 ; 梥â-ä® |
858 | mov edx,0x00F3F3F3 ; 梥â-ä® |
834 | mov ebx,5 shl 16+96 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
859 | mov ebx,5 shl 16+96 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
835 | mov ecx,10 shl 16+146 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
860 | mov ecx,10 shl 16+146 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
836 | int 0x40 |
861 | int 0x40 |
837 | 862 | ||
838 | ;................................................................................................. |
863 | ;................................................................................................. |
839 | ; âà¨á®¢ª १ã«ìâ â 梥⠢ hex color2 |
864 | ; âà¨á®¢ª १ã«ìâ â 梥⠢ hex color2 |
840 | ;................................................................................................. |
865 | ;................................................................................................. |
841 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
866 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
842 | ; color 2 - draw fringle |
867 | ; color 2 - draw fringle |
843 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
868 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
844 | mov ebx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
869 | mov ebx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
845 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
870 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
846 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
871 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
847 | ; color 2 - draw color |
872 | ; color 2 - draw color |
848 | mov edx,[color2] ; 梥â |
873 | mov edx,[color2] ; 梥â |
849 | mov ebx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
874 | mov ebx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
850 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
875 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
851 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
876 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
852 | ; color 1 - draw fringle |
877 | ; color 1 - draw fringle |
853 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
878 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
854 | mov ebx,11 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
879 | mov ebx,11 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
855 | mov ecx,12 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
880 | mov ecx,12 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
856 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
881 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
857 | ; value - draw fringle |
882 | ; value - draw fringle |
858 | mov ebx,34 shl 16+62 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
883 | mov ebx,34 shl 16+62 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
859 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
884 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
860 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
885 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
861 | 886 | ||
862 | ; color 2 - draw color |
887 | ; color 2 - draw color |
863 | mov edx,[color] ; 梥â |
888 | mov edx,[color] ; 梥â |
864 | mov ebx,12 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
889 | mov ebx,12 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
865 | mov ecx,13 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
890 | mov ecx,13 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
866 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
891 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
867 | ; value - draw background |
892 | ; value - draw background |
868 | mov edx,0xFFFFFF ; 梥â-ä® |
893 | mov edx,0xFFFFFF ; 梥â-ä® |
869 | mov ebx,35 shl 16+60 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
894 | mov ebx,35 shl 16+60 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
870 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
895 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
871 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
896 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
872 | 897 | ||
873 | mov eax,47 ; ãªæ¨ï 47 - ¢ë¢®¤ ç¨á« ¢ ®ª® |
898 | mov eax,47 ; ãªæ¨ï 47 - ¢ë¢®¤ ç¨á« ¢ ®ª® |
874 | mov ecx,[color] ; ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1) |
899 | mov ecx,[color] ; ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1) |
875 | mov esi,0x0 ; 0xX0RRGGBB |
900 | mov esi,0x0 ; 0xX0RRGGBB |
876 | mov ebx,256+8 shl 16 ; ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ (HEX) |
901 | mov ebx,256+8 shl 16 ; ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ (HEX) |
877 | mov edx,45 shl 16+20 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
902 | mov edx,45 shl 16+20 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
878 | int 0x40 ; à¥àë¢ ¨¥ - ¢ë¢®¤¨¬ १ã«ìâ â ¢ ®ª® (HEX) |
903 | int 0x40 ; à¥àë¢ ¨¥ - ¢ë¢®¤¨¬ १ã«ìâ â ¢ ®ª® (HEX) |
879 | 904 | ||
880 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
905 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
881 | mov ebx,38*65536+20 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
906 | mov ebx,38*65536+20 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
882 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
907 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
883 | mov edx,hex ; à¨á㥬 '#' |
908 | mov edx,hex ; à¨á㥬 '#' |
884 | mov esi,1 ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
909 | mov esi,1 ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
885 | int 0x40 |
910 | int 0x40 |
886 | 911 | ||
887 | ;................................................................................................. |
912 | ;................................................................................................. |
888 | ; âà¨á®¢ª r g b § 票© |
913 | ; âà¨á®¢ª r g b § 票© |
889 | ;................................................................................................. |
914 | ;................................................................................................. |
890 | call get_spectr |
915 | call get_spectr |
891 | 916 | ||
892 | movzx eax,[cred] ; ªà áë© |
917 | movzx eax,[cred] ; ªà áë© |
893 | mov ebx,9*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
918 | mov ebx,9*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
894 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
919 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
895 | 920 | ||
896 | movzx eax,[cgreen] ; §¥«¥ë© |
921 | movzx eax,[cgreen] ; §¥«¥ë© |
897 | mov ebx,32*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
922 | mov ebx,32*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
898 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
923 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
899 | 924 | ||
900 | movzx eax,[cblue] ; ᨨ© |
925 | movzx eax,[cblue] ; ᨨ© |
901 | mov ebx,55*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
926 | mov ebx,55*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
902 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
927 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
903 | 928 | ||
904 | movzx eax,[calpha] ; «ìä |
929 | movzx eax,[calpha] ; «ìä |
905 | mov ebx,78*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
930 | mov ebx,78*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
906 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
931 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
907 | 932 | ||
908 | ;................................................................................................. |
933 | ;................................................................................................. |
909 | ; 뢮¤¨¬ ¡ãª¢ë r g b a |
934 | ; 뢮¤¨¬ ¡ãª¢ë r g b a |
910 | ;................................................................................................. |
935 | ;................................................................................................. |
911 | mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
936 | mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
912 | mov ebx,16 shl 16+40 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
937 | mov ebx,16 shl 16+40 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
913 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
938 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
914 | mov edx,cname ; 㪠§ ⥫ì ç «® áâப¨ |
939 | mov edx,cname ; 㪠§ ⥫ì ç «® áâப¨ |
915 | mov esi,1 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
940 | mov esi,1 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
916 | newline: ; 横« |
941 | newline_s: ; 横« |
917 | int 0x40 ; à¥àë¢ ¨¥ |
942 | int 0x40 ; à¥àë¢ ¨¥ |
918 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
943 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
919 | add edx,1 ; ®¡ ¢«ï¥¬ |
944 | add edx,1 ; ®¡ ¢«ï¥¬ |
920 | cmp [edx],byte 'x' ; à ¢¥¨¥ á ¡ ©â®¬ å |
945 | cmp [edx],byte 'x' ; à ¢¥¨¥ á ¡ ©â®¬ å |
921 | jne newline ; ᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
946 | jne newline_s ; ᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
922 | 947 | ||
923 | ;................................................................................................. |
948 | ;................................................................................................. |
924 | ; âà¨á®¢ª á« ©¤¥à®¢ |
949 | ; âà¨á®¢ª á« ©¤¥à®¢ |
925 | ;................................................................................................. |
950 | ;................................................................................................. |
926 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
951 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
927 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
952 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
928 | mov ebx,16 shl 16+4 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
953 | mov ebx,16 shl 16+4 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
929 | mov ecx,51 shl 16+86 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
954 | mov ecx,51 shl 16+86 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
930 | int 0x40 |
955 | int 0x40 |
931 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
956 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
932 | int 0x40 |
957 | int 0x40 |
933 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
958 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
934 | int 0x40 |
959 | int 0x40 |
935 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
960 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
936 | int 0x40 |
961 | int 0x40 |
937 | 962 | ||
938 | mov edx,0xFA0919 ; 梥â-®¡¢®¤ª¨ |
963 | mov edx,0xFA0919 ; 梥â-®¡¢®¤ª¨ |
939 | mov ebx,17 shl 16+2 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
964 | mov ebx,17 shl 16+2 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
940 | mov ecx,52 shl 16+84 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
965 | mov ecx,52 shl 16+84 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
941 | int 0x40 |
966 | int 0x40 |
942 | mov edx,0x08CE19 ; 梥â-®¡¢®¤ª¨ |
967 | mov edx,0x08CE19 ; 梥â-®¡¢®¤ª¨ |
943 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
968 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
944 | int 0x40 |
969 | int 0x40 |
945 | mov edx,0x0909FF ; 梥â-®¡¢®¤ª¨ |
970 | mov edx,0x0909FF ; 梥â-®¡¢®¤ª¨ |
946 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
971 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
947 | int 0x40 |
972 | int 0x40 |
948 | mov edx,0xE4E4E4 ; 梥â-®¡¢®¤ª¨ |
973 | mov edx,0xE4E4E4 ; 梥â-®¡¢®¤ª¨ |
949 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
974 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
950 | int 0x40 |
975 | int 0x40 |
951 | 976 | ||
952 | ;................................................................................................. |
977 | ;................................................................................................. |
953 | ; âà¨á®¢ª ¯®«§ãª®¢ |
978 | ; âà¨á®¢ª ¯®«§ãª®¢ |
954 | ;................................................................................................. |
979 | ;................................................................................................. |
955 | mov edx,0x0 ; 梥â-¯®«§ãª®¢ |
980 | mov edx,0x0 ; 梥â-¯®«§ãª®¢ |
956 | mov ebx,17 shl 16+11 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
981 | mov ebx,17 shl 16+11 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
957 | movzx eax,[cred] ; ¡¥à¥¬ § 票¥ 梥â |
982 | movzx eax,[cred] ; ¡¥à¥¬ § 票¥ 梥â |
958 | call draw_slider |
983 | call draw_slider |
959 | add ebx,23 shl 16 |
984 | add ebx,23 shl 16 |
960 | movzx eax,[cgreen] ; ¡¥à¥¬ § 票¥ 梥â |
985 | movzx eax,[cgreen] ; ¡¥à¥¬ § 票¥ 梥â |
961 | call draw_slider |
986 | call draw_slider |
962 | add ebx,23 shl 16 |
987 | add ebx,23 shl 16 |
963 | movzx eax,[cblue] ; ¡¥à¥¬ § 票¥ 梥â |
988 | movzx eax,[cblue] ; ¡¥à¥¬ § 票¥ 梥â |
964 | call draw_slider |
989 | call draw_slider |
965 | add ebx,23 shl 16 |
990 | add ebx,23 shl 16 |
966 | movzx eax,[calpha] ; ¡¥à¥¬ § 票¥ 梥â |
991 | movzx eax,[calpha] ; ¡¥à¥¬ § 票¥ 梥â |
967 | call draw_slider |
992 | call draw_slider |
968 | 993 | ||
969 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
994 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
970 | ;end_draw_result |
995 | ;end_draw_result |
971 | 996 | ||
972 | draw_slider: |
997 | draw_slider: |
973 | xor ecx,ecx |
998 | xor ecx,ecx |
974 | mov cl,0x3 ; ¡ã¤¥¬ ¤¥«¨âì ¥£® 3 â ª ª ª ¯®«§ãª¨ ¤«¨®© 85 ¯¨ªá¥«¥© |
999 | mov cl,0x3 ; ¡ã¤¥¬ ¤¥«¨âì ¥£® 3 â ª ª ª ¯®«§ãª¨ ¤«¨®© 85 ¯¨ªá¥«¥© |
975 | div cl ; ¤¥«¨¬ - 楫®¥ ¢ al ®áâ ⮪ ¢ ah |
1000 | div cl ; ¤¥«¨¬ - 楫®¥ ¢ al ®áâ ⮪ ¢ ah |
976 | mov cl,136 ; ¨¦ïï â®çª ¯®«§ãª |
1001 | mov cl,136 ; ¨¦ïï â®çª ¯®«§ãª |
977 | sub cl,al ; cl=cl-al |
1002 | sub cl,al ; cl=cl-al |
978 | shl ecx,16 |
1003 | shl ecx,16 |
979 | add ecx,1 ; § ¤ ¥¬ ç «ì®¥ ¯®«®¦¥¨¥ |
1004 | add ecx,1 ; § ¤ ¥¬ ç «ì®¥ ¯®«®¦¥¨¥ |
980 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
1005 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
981 | int 0x40 |
1006 | int 0x40 |
982 | push ebx ; á®åà 塞 ¤«ï á«¥¤ãî饣® ¯®«§ãª x+w |
1007 | push ebx ; á®åà 塞 ¤«ï á«¥¤ãî饣® ¯®«§ãª x+w |
983 | sub ebx,8 ; â ª ª ª è¨à¨ «¨¨¨ 11 â® ®â¨¬ ¥¬ 8 çâ®¡ë ªã¡¨ª áâ « è¨à¨®© 3 |
1008 | sub ebx,8 ; â ª ª ª è¨à¨ «¨¨¨ 11 â® ®â¨¬ ¥¬ 8 çâ®¡ë ªã¡¨ª áâ « è¨à¨®© 3 |
984 | add ebx,8 shl 16 ; ®®à¤¨ âë ¯® x ¤«ï ª¢ ¤à â ¯®«§ãª¥ á¬¥é ¥¬ 8 ¢ ¯à ¢® |
1009 | add ebx,8 shl 16 ; ®®à¤¨ âë ¯® x ¤«ï ª¢ ¤à â ¯®«§ãª¥ á¬¥é ¥¬ 8 ¢ ¯à ¢® |
985 | inc ecx ; ¡ë¤«®ª®¤¨¬ ¢ëá®âã ¯®«§ãª ¤® 3-å (1+1=2) |
1010 | inc ecx ; ¡ë¤«®ª®¤¨¬ ¢ëá®âã ¯®«§ãª ¤® 3-å (1+1=2) |
986 | inc ecx ; (2+1=3) ã ¢®â ã á ¡ã¤¥â ªã¡¨ª 3å3 8 ¢ ¯à ¢® ®â «¨¨¨ |
1011 | inc ecx ; (2+1=3) ã ¢®â ã á ¡ã¤¥â ªã¡¨ª 3å3 8 ¢ ¯à ¢® ®â «¨¨¨ |
987 | int 0x40 ; à¨á㥬 |
1012 | int 0x40 ; à¨á㥬 |
988 | pop ebx ; ¢®ááâ ¢«¨¢ ¥¬ ®à¬ «ìë¥ ª®®à¤¨ âë |
1013 | pop ebx ; ¢®ááâ ¢«¨¢ ¥¬ ®à¬ «ìë¥ ª®®à¤¨ âë |
989 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1014 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
990 | 1015 | ||
991 | ;end_slider |
1016 | ;end_slider |
992 | 1017 | ||
993 | draw_value: |
1018 | draw_value: |
994 | ;................................................................................................. |
1019 | ;................................................................................................. |
995 | ; 뢮¤ ç¨á« ¨§ áâப¨ ¢ 㪠§ ®© ®¡« á⨠|
1020 | ; 뢮¤ ç¨á« ¨§ áâப¨ ¢ 㪠§ ®© ®¡« á⨠|
996 | ;................................................................................................. |
1021 | ;................................................................................................. |
997 | push ebx ; á®åà 塞 ¯à¨á« ë¥ ª®®à¤¨ âë |
1022 | push ebx ; á®åà 塞 ¯à¨á« ë¥ ª®®à¤¨ âë |
998 | mov ebx,10 ; ãáâ ¢«¨¢ ¥¬ ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1023 | mov ebx,10 ; ãáâ ¢«¨¢ ¥¬ ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
999 | mov edi,buff ; 㪠§ ⥫ì áâப㠡ãä¥à |
1024 | mov edi,buff ; 㪠§ ⥫ì áâப㠡ãä¥à |
1000 | call int2ascii ; ª®¢¥àâ¨à㥬 ç¨á«® ¨ «®¦¨¬ ª ª áâப㠢 ¡ãä¥à + esi ¤«¨ |
1025 | call int2ascii ; ª®¢¥àâ¨à㥬 ç¨á«® ¨ «®¦¨¬ ª ª áâப㠢 ¡ãä¥à + esi ¤«¨ |
1001 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
1026 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
1002 | pop ebx ; ¤®áâ ¥¬ ¨§ á⥪ ¯à¨á« ë¥ ª®®à¤¨ âë |
1027 | pop ebx ; ¤®áâ ¥¬ ¨§ á⥪ ¯à¨á« ë¥ ª®®à¤¨ âë |
1003 | cmp esi,2 ; |
1028 | cmp esi,2 ; |
1004 | jne draw_value_1 |
1029 | jne draw_value_1 |
1005 | add ebx,4 shl 16 |
1030 | add ebx,4 shl 16 |
1006 | jmp draw_value_e |
1031 | jmp draw_value_e |
1007 | draw_value_1: |
1032 | draw_value_1: |
1008 | cmp esi,1 |
1033 | cmp esi,1 |
1009 | jne draw_value_e |
1034 | jne draw_value_e |
1010 | add ebx,7 shl 16 |
1035 | add ebx,7 shl 16 |
1011 | draw_value_e: |
1036 | draw_value_e: |
1012 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
1037 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
1013 | mov edx,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1038 | mov edx,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1014 | int 0x40 |
1039 | int 0x40 |
1015 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1040 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1016 | ;end_draw_value |
1041 | ;end_draw_value |
1017 | 1042 | ||
1018 | _read_params: |
1043 | _read_params: |
- | 1044 | mov [fi.p00], dword 0 |
|
- | 1045 | mov [fi.p04], dword 0 |
|
- | 1046 | mov [fi.p08], dword 0 |
|
- | 1047 | mov [fi.p12], dword 6 |
|
- | 1048 | mov [fi.p16], dword fi.file |
|
- | 1049 | mov [fi.p20], dword 0 |
|
- | 1050 | mov [fi.p21], dword dat_file |
|
- | 1051 | mcall 70, fi |
|
1019 | - | ||
1020 | mov al,[params+2] |
- | |
1021 | mov [params_c+0],al |
- | |
1022 | 1052 | ||
1023 | mov al,[params+3] |
- | |
1024 | mov [params_c+1],al |
- | |
1025 | - | ||
1026 | mov al,[params+4] |
- | |
1027 | mov [params_c+2],al |
- | |
1028 | - | ||
1029 | mov al,[params+5] |
- | |
1030 | mov [params_c+3],al |
- | |
1031 | - | ||
1032 | mov al,[params+6] |
- | |
1033 | mov [params_c+4],al |
- | |
1034 | 1053 | xor eax, eax |
|
1035 | mov al,[params+7] |
- | |
1036 | mov [params_c+5],al |
- | |
1037 | 1054 | mov al, [fi.file+2] |
|
1038 | mov al,[params+8] |
- | |
1039 | mov [params_c+6],al |
- | |
1040 | 1055 | shl eax, 8 |
|
1041 | mov al,[params+9] |
- | |
1042 | mov [params_c+7],al |
- | |
1043 | - | ||
1044 | mov esi,params_c |
1056 | mov al, [fi.file+1] |
1045 | mov ecx,16 |
1057 | shl eax, 8 |
1046 | call ascii2int |
1058 | mov al, [fi.file+0] |
1047 | mov [color],eax |
- | |
1048 | - | ||
1049 | mov al,[params+11] |
- | |
1050 | mov [params_c+0],al |
- | |
1051 | 1059 | mov [color], eax |
|
1052 | mov al,[params+12] |
- | |
1053 | mov [params_c+1],al |
- | |
1054 | - | ||
1055 | mov al,[params+13] |
- | |
1056 | mov [params_c+2],al |
- | |
1057 | - | ||
1058 | mov al,[params+14] |
- | |
1059 | mov [params_c+3],al |
1060 | |
1060 | - | ||
1061 | mov al,[params+15] |
- | |
1062 | mov [params_c+4],al |
- | |
1063 | - | ||
1064 | mov al,[params+16] |
- | |
1065 | mov [params_c+5],al |
- | |
1066 | 1061 | xor eax, eax |
|
1067 | mov al,[params+17] |
- | |
1068 | mov [params_c+6],al |
1062 | mov al, [fi.file+5] |
1069 | - | ||
1070 | mov al,[params+18] |
- | |
1071 | mov [params_c+7],al |
- | |
1072 | 1063 | shl eax, 8 |
|
1073 | mov esi,params_c |
1064 | mov al, [fi.file+4] |
1074 | mov ecx,16 |
1065 | shl eax, 8 |
- | 1066 | mov al, [fi.file+3] |
|
- | 1067 | mov [color2], eax |
|
- | 1068 | ||
- | 1069 | ; mov al,[params+2] |
|
- | 1070 | ; mov [params_c+0],al |
|
- | 1071 | ; |
|
- | 1072 | ; mov al,[params+3] |
|
- | 1073 | ; mov [params_c+1],al |
|
- | 1074 | ; |
|
- | 1075 | ; mov al,[params+4] |
|
- | 1076 | ; mov [params_c+2],al |
|
- | 1077 | ; |
|
- | 1078 | ; mov al,[params+5] |
|
- | 1079 | ; mov [params_c+3],al |
|
- | 1080 | ; |
|
- | 1081 | ; mov al,[params+6] |
|
- | 1082 | ; mov [params_c+4],al |
|
- | 1083 | ; |
|
- | 1084 | ; mov al,[params+7] |
|
- | 1085 | ; mov [params_c+5],al |
|
- | 1086 | ; |
|
- | 1087 | ; mov al,[params+8] |
|
- | 1088 | ; mov [params_c+6],al |
|
- | 1089 | ; |
|
- | 1090 | ; mov al,[params+9] |
|
- | 1091 | ; mov [params_c+7],al |
|
- | 1092 | ; |
|
- | 1093 | ; mov esi,params_c |
|
- | 1094 | ; mov ecx,16 |
|
- | 1095 | ; call ascii2int |
|
- | 1096 | ; mov [color],eax |
|
- | 1097 | ; |
|
- | 1098 | ; mov al,[params+11] |
|
- | 1099 | ; mov [params_c+0],al |
|
- | 1100 | ; |
|
- | 1101 | ; mov al,[params+12] |
|
- | 1102 | ; mov [params_c+1],al |
|
- | 1103 | ; |
|
- | 1104 | ; mov al,[params+13] |
|
- | 1105 | ; mov [params_c+2],al |
|
- | 1106 | ; |
|
- | 1107 | ; mov al,[params+14] |
|
- | 1108 | ; mov [params_c+3],al |
|
- | 1109 | ; |
|
- | 1110 | ; mov al,[params+15] |
|
- | 1111 | ; mov [params_c+4],al |
|
- | 1112 | ; |
|
- | 1113 | ; mov al,[params+16] |
|
- | 1114 | ; mov [params_c+5],al |
|
- | 1115 | ; |
|
- | 1116 | ; mov al,[params+17] |
|
- | 1117 | ; mov [params_c+6],al |
|
- | 1118 | ; |
|
- | 1119 | ; mov al,[params+18] |
|
- | 1120 | ; mov [params_c+7],al |
|
- | 1121 | ; |
|
- | 1122 | ; mov esi,params_c |
|
- | 1123 | ; mov ecx,16 |
|
1075 | call ascii2int |
1124 | ; call ascii2int |
1076 | mov [color2],eax |
1125 | ; mov [color2],eax |
1077 | 1126 | ||
1078 | ret |
1127 | ret |
1079 | 1128 | ||
1080 | hex_digit: |
1129 | hex_digit: |
1081 | ;................................................................................................. |
1130 | ;................................................................................................. |
1082 | ; ८¡à §®¢ ¨¥ ¢ ASCII (¢¥ § ¢¨á¨¬®á⨠®â á¨á⥬ë áç¨á«¥¨ï) |
1131 | ; ८¡à §®¢ ¨¥ ¢ ASCII (¢¥ § ¢¨á¨¬®á⨠®â á¨á⥬ë áç¨á«¥¨ï) |
1083 | ;................................................................................................. |
1132 | ;................................................................................................. |
1084 | cmp dl,10 ; ¢ dl ®¦¨¤ ¥âáï ç¨á«® ®â 0 ¤® 15 |
1133 | cmp dl,10 ; ¢ dl ®¦¨¤ ¥âáï ç¨á«® ®â 0 ¤® 15 |
1085 | jb .less ; ¥á«¨ dl<10 â® ¯¥à¥å®¤¨¬ |
1134 | jb .less ; ¥á«¨ dl<10 â® ¯¥à¥å®¤¨¬ |
1086 | add dl,'A'-10 ; 10->A 11->B 12->C ... |
1135 | add dl,'A'-10 ; 10->A 11->B 12->C ... |
1087 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1136 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1088 | .less: |
1137 | .less: |
1089 | or dl,'0' ; ᫨ á¨á⥬ áç¨á«¥¨ï 10-ï ¨ ¬¥¥¥ |
1138 | or dl,'0' ; ᫨ á¨á⥬ áç¨á«¥¨ï 10-ï ¨ ¬¥¥¥ |
1090 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1139 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1091 | ;end_hex_digit |
1140 | ;end_hex_digit |
1092 | 1141 | ||
1093 | int2ascii: |
1142 | int2ascii: |
1094 | ;................................................................................................. |
1143 | ;................................................................................................. |
1095 | ; ८¡à §®¢ ¨¥ ç¨á« ¢ áâபã |
1144 | ; ८¡à §®¢ ¨¥ ç¨á« ¢ áâபã |
1096 | ;................................................................................................. |
1145 | ;................................................................................................. |
1097 | ; eax - 32-å § 箥 ç¨á«® |
1146 | ; eax - 32-å § 箥 ç¨á«® |
1098 | ; ebx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1147 | ; ebx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1099 | ; edi - 㪠§ ⥫ì áâப㠡ãä¥à |
1148 | ; edi - 㪠§ ⥫ì áâப㠡ãä¥à |
1100 | ; ®§¢à é ¥â § ¯®«¥ë© ¡ãä¥à ¨ esi - ¤«¨ áâப¨ |
1149 | ; ®§¢à é ¥â § ¯®«¥ë© ¡ãä¥à ¨ esi - ¤«¨ áâப¨ |
1101 | ;pushad |
1150 | ;pushad |
1102 | xor esi,esi ; § ã«ï¥¬ áç¥â稪 ᨬ¢®«®¢ |
1151 | xor esi,esi ; § ã«ï¥¬ áç¥â稪 ᨬ¢®«®¢ |
1103 | convert_loop: |
1152 | convert_loop: |
1104 | xor edx,edx ; § ã«ï¥¬ ॣ¨áâà ¯®¤ ®áâ ⮪ |
1153 | xor edx,edx ; § ã«ï¥¬ ॣ¨áâà ¯®¤ ®áâ ⮪ |
1105 | div ebx ; eax/ebx - ®áâ ⮪ ¢ edx |
1154 | div ebx ; eax/ebx - ®áâ ⮪ ¢ edx |
1106 | call hex_digit ; ¯à¥®¡à §ã¥¬ ᨬ¢®« |
1155 | call hex_digit ; ¯à¥®¡à §ã¥¬ ᨬ¢®« |
1107 | push edx ; «®¦¨¬ ¢ á⥪ |
1156 | push edx ; «®¦¨¬ ¢ á⥪ |
1108 | inc esi ; 㢥«¨ç¨¢ ¥¬ áç¥â稪 |
1157 | inc esi ; 㢥«¨ç¨¢ ¥¬ áç¥â稪 |
1109 | test eax,eax ; ¥á«¨ ¥é¥ ¬®¦® ¤¥«¨âì |
1158 | test eax,eax ; ¥á«¨ ¥é¥ ¬®¦® ¤¥«¨âì |
1110 | jnz convert_loop ; â® ¤¥«¨¥¬ ¥é¥ |
1159 | jnz convert_loop ; â® ¤¥«¨¥¬ ¥é¥ |
1111 | cld ; á¡à áë¢ ¥¬ ä« £ ¯à ¢«¥¨ï DF (§ ¯¨áì ¢¯¥àñ¤) |
1160 | cld ; á¡à áë¢ ¥¬ ä« £ ¯à ¢«¥¨ï DF (§ ¯¨áì ¢¯¥àñ¤) |
1112 | write_loop: ; ¨ ç¥ |
1161 | write_loop: ; ¨ ç¥ |
1113 | pop eax ; ¤®áâ ¥¬ ¨§ á⥪ ¢ ¥ å |
1162 | pop eax ; ¤®áâ ¥¬ ¨§ á⥪ ¢ ¥ å |
1114 | stosb ; § ¯¨áë¢ ¥¬ ¢ ¡ãä¥à ¯® ¤à¥áã ES:(E)DI |
1163 | stosb ; § ¯¨áë¢ ¥¬ ¢ ¡ãä¥à ¯® ¤à¥áã ES:(E)DI |
1115 | dec esi ; 㬥ìè ¥¬ áç¥â稪 |
1164 | dec esi ; 㬥ìè ¥¬ áç¥â稪 |
1116 | test esi,esi ; ¥á«¨ ¥áâì çâ® ¤®áâ ¢ âì ¨§ á⥪ |
1165 | test esi,esi ; ¥á«¨ ¥áâì çâ® ¤®áâ ¢ âì ¨§ á⥪ |
1117 | jnz write_loop ; â® ¤®áâ ñ¬ |
1166 | jnz write_loop ; â® ¤®áâ ñ¬ |
1118 | mov byte [edi],0 ; ¨ ç¥ ¤®¯¨áëë¢ ¥¬ ã«¥¢®© ¡ ©â |
1167 | mov byte [edi],0 ; ¨ ç¥ ¤®¯¨áëë¢ ¥¬ ã«¥¢®© ¡ ©â |
1119 | ;popad ; ¢®ááâ ¢«¨¢ ¥¬ § 票ï ॣ¨áâ஢ |
1168 | ;popad ; ¢®ááâ ¢«¨¢ ¥¬ § 票ï ॣ¨áâ஢ |
1120 | ; ª®¤ ¨¦¥ ¥ ¨¬¥¥â ¨ç¥£® ®¡é¥£® ª äãªæ¨¨, ¯à®áâ® ¢®§¢à é ¥â ¥é¥ ¤«¨ã ¯®«ã祮© áâப¨ |
1169 | ; ª®¤ ¨¦¥ ¥ ¨¬¥¥â ¨ç¥£® ®¡é¥£® ª äãªæ¨¨, ¯à®áâ® ¢®§¢à é ¥â ¥é¥ ¤«¨ã ¯®«ã祮© áâப¨ |
1121 | mov edi,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1170 | mov edi,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1122 | call str_len |
1171 | call str_len |
1123 | mov esi,eax |
1172 | mov esi,eax |
1124 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1173 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1125 | ;end_int2ascii |
1174 | ;end_int2ascii |
1126 | 1175 | ||
1127 | char2byte: |
1176 | char2byte: |
1128 | sub al,'0' |
1177 | sub al,'0' |
1129 | cmp al,10 |
1178 | cmp al,10 |
1130 | jb done |
1179 | jb done |
1131 | add al,'0' |
1180 | add al,'0' |
1132 | and al,0x5f |
1181 | and al,0x5f |
1133 | sub al,'A'-10 |
1182 | sub al,'A'-10 |
1134 | and al,0x0f |
1183 | and al,0x0f |
1135 | done: |
1184 | done: |
1136 | ret |
1185 | ret |
1137 | ;end_char2byte |
1186 | ;end_char2byte |
1138 | 1187 | ||
1139 | ascii2int: |
1188 | ascii2int: |
1140 | ;................................................................................................. |
1189 | ;................................................................................................. |
1141 | ; ८¡à §®¢ ¨¥ áâப¨ ¢ ç¨á«® |
1190 | ; ८¡à §®¢ ¨¥ áâப¨ ¢ ç¨á«® |
1142 | ;................................................................................................. |
1191 | ;................................................................................................. |
1143 | ; esi - 㪠§ ⥫ì ã«ìâ¥à¬¨¨à®¢ ãî áâபã |
1192 | ; esi - 㪠§ ⥫ì ã«ìâ¥à¬¨¨à®¢ ãî áâபã |
1144 | ; ecx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1193 | ; ecx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1145 | ; ®§¢à é ¥â eax - ç¨á«® |
1194 | ; ®§¢à é ¥â eax - ç¨á«® |
1146 | push esi |
1195 | push esi |
1147 | xor eax,eax |
1196 | xor eax,eax |
1148 | xor ebx,ebx |
1197 | xor ebx,ebx |
1149 | cmp byte [esi],'-' |
1198 | cmp byte [esi],'-' |
1150 | jnz .next |
1199 | jnz .next |
1151 | inc esi |
1200 | inc esi |
1152 | .next: |
1201 | .next: |
1153 | lodsb |
1202 | lodsb |
1154 | or al,al |
1203 | or al,al |
1155 | jz .done |
1204 | jz .done |
1156 | call char2byte |
1205 | call char2byte |
1157 | imul ebx,ecx |
1206 | imul ebx,ecx |
1158 | add ebx,eax |
1207 | add ebx,eax |
1159 | jmp .next |
1208 | jmp .next |
1160 | .done: |
1209 | .done: |
1161 | xchg ebx,eax |
1210 | xchg ebx,eax |
1162 | pop esi |
1211 | pop esi |
1163 | cmp byte [esi],'-' |
1212 | cmp byte [esi],'-' |
1164 | jz .negate |
1213 | jz .negate |
1165 | ret |
1214 | ret |
1166 | .negate: |
1215 | .negate: |
1167 | neg eax |
1216 | neg eax |
1168 | ret |
1217 | ret |
1169 | ;end_ascii2int |
1218 | ;end_ascii2int |
1170 | 1219 | ||
1171 | get_spectr: |
1220 | get_spectr: |
1172 | ;................................................................................................. |
1221 | ;................................................................................................. |
1173 | ; ¢®§¢à é ¥â r,g,b á®á⮢«ïî騥 梥â |
1222 | ; ¢®§¢à é ¥â r,g,b á®á⮢«ïî騥 梥â |
1174 | ;................................................................................................. |
1223 | ;................................................................................................. |
1175 | mov ecx,[color] |
1224 | mov ecx,[color] |
1176 | mov [cblue],cl |
1225 | mov [cblue],cl |
1177 | shr ecx,8 |
1226 | shr ecx,8 |
1178 | mov [cgreen],cl |
1227 | mov [cgreen],cl |
1179 | shr ecx,8 |
1228 | shr ecx,8 |
1180 | mov [cred],cl |
1229 | mov [cred],cl |
1181 | shr ecx,8 |
1230 | shr ecx,8 |
1182 | mov [calpha],cl |
1231 | mov [calpha],cl |
1183 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1232 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1184 | ;end_get_spectr |
1233 | ;end_get_spectr |
1185 | 1234 | ||
1186 | set_spectr: |
1235 | set_spectr: |
1187 | ;................................................................................................. |
1236 | ;................................................................................................. |
1188 | ; ãáâ ¢«¨¢ ¥â ¨§ r,g,b 梥â |
1237 | ; ãáâ ¢«¨¢ ¥â ¨§ r,g,b 梥â |
1189 | ;................................................................................................. |
1238 | ;................................................................................................. |
1190 | movzx eax,[calpha] |
1239 | movzx eax,[calpha] |
1191 | shl eax,8 |
1240 | shl eax,8 |
1192 | mov al,[cred] |
1241 | mov al,[cred] |
1193 | shl eax,8 |
1242 | shl eax,8 |
1194 | mov al,[cgreen] |
1243 | mov al,[cgreen] |
1195 | shl eax,8 |
1244 | shl eax,8 |
1196 | mov al,[cblue] |
1245 | mov al,[cblue] |
1197 | mov [color],eax |
1246 | mov [color],eax |
1198 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
1247 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
1199 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1248 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1200 | ;end_get_spectr |
1249 | ;end_get_spectr |
1201 | 1250 | ||
1202 | str_len: |
1251 | str_len: |
1203 | ;................................................................................................. |
1252 | ;................................................................................................. |
1204 | ; ®¯à¥¤¥«ï¥â ¤«¨ã áâப¨ (¢å®¤->EDI ZS offset ; ¢ë室->EAX ZS length) |
1253 | ; ®¯à¥¤¥«ï¥â ¤«¨ã áâப¨ (¢å®¤->EDI ZS offset ; ¢ë室->EAX ZS length) |
1205 | ;................................................................................................. |
1254 | ;................................................................................................. |
1206 | push ecx |
1255 | push ecx |
1207 | push esi |
1256 | push esi |
1208 | push edi |
1257 | push edi |
1209 | 1258 | ||
1210 | cld |
1259 | cld |
1211 | xor al, al |
1260 | xor al, al |
1212 | mov ecx, 0FFFFFFFFh |
1261 | mov ecx, 0FFFFFFFFh |
1213 | mov esi, edi |
1262 | mov esi, edi |
1214 | repne scasb |
1263 | repne scasb |
1215 | sub edi, esi |
1264 | sub edi, esi |
1216 | mov eax, edi |
1265 | mov eax, edi |
1217 | dec eax |
1266 | dec eax |
1218 | 1267 | ||
1219 | pop edi |
1268 | pop edi |
1220 | pop esi |
1269 | pop esi |
1221 | pop ecx |
1270 | pop ecx |
1222 | 1271 | ||
1223 | ret |
1272 | ret |
1224 | ;end_str_len |
1273 | ;end_str_len |
1225 | 1274 | ||
1226 | 1275 | ||
1227 | 1276 | ||
1228 | ;#___________________________________________________________________________________________________ |
1277 | ;#___________________________________________________________________________________________________ |
1229 | ;****************************************************************************************************| |
1278 | ;****************************************************************************************************| |
1230 | ; | |
1279 | ; | |
1231 | ;----------------------------------------------------------------------------------------------------/ |
1280 | ;----------------------------------------------------------------------------------------------------/ |
1232 | circle: |
1281 | circle: |
- | 1282 | dat_file db '/sys/settings/wallpaper.dat', 0 |
|
- | 1283 | ||
1233 | cm db 12 dup(0) |
1284 | cm db 12 dup(0) |
1234 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1285 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1235 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
1286 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
1236 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
1287 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
1237 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1288 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1238 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1289 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1239 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1290 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1240 | desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
1291 | desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
1241 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1292 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1242 | title db 'Palitra v0.75',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1293 | title db 'Palitra v0.75',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1243 | hidden db 'Hidden',0 |
1294 | hidden db 'Hidden',0 |
1244 | hex db '#',0 ; ¤«ï ¢ë¢®¤ à¥èñ⪨ ª ª ⥪áâ |
1295 | hex db '#',0 ; ¤«ï ¢ë¢®¤ à¥èñ⪨ ª ª ⥪áâ |
1245 | cname db 'RGBAx' ; åà ¨â à §àï¤ë 梥⮢ (red,green,blue) x-¬¥âª ª®æ |
1296 | cname db 'RGBAx' ; åà ¨â à §àï¤ë 梥⮢ (red,green,blue) x-¬¥âª ª®æ |
1246 | cred db 0 ; åà ¨¬ ªà áë© á¯¥ªàâ |
1297 | cred db 0 ; åà ¨¬ ªà áë© á¯¥ªàâ |
1247 | cgreen db 0 ; åà ¨¬ §¥«¥ë© ᯥªâà |
1298 | cgreen db 0 ; åà ¨¬ §¥«¥ë© ᯥªâà |
1248 | cblue db 0 ; åà ¨¬ ᨨ© ᯥªâà |
1299 | cblue db 0 ; åà ¨¬ ᨨ© ᯥªâà |
1249 | calpha db 0 ; åà ¨¬ ¯à®§à ç®áâì |
1300 | calpha db 0 ; åà ¨¬ ¯à®§à ç®áâì |
1250 | larrow db 0x1A,0 |
1301 | larrow db 0x1A,0 |
1251 | buff db '000',0 |
1302 | buff db '000',0 |
1252 | bground db 'BACKGROUND',0 ; ¨¬ï ª®¯ª¨ - 14 |
1303 | bground db 'BACKGROUND',0 ; ¨¬ï ª®¯ª¨ - 14 |
1253 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1304 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1254 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1305 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1255 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1306 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1256 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1307 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1257 | params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
1308 | ; params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
1258 | - | ||
1259 | - | ||
1260 | - | ||
1261 | I_END:10>------+ |
1309 | I_END: |
1262 | > |
1310 | |
- | 1311 | ||
- | 1312 | fi: |
|
- | 1313 | .p00: |
|
- | 1314 | rd 1 |
|
- | 1315 | .p04: |
|
- | 1316 | rd 1 |
|
- | 1317 | .p08: |
|
- | 1318 | rd 1 |
|
- | 1319 | .p12: |
|
- | 1320 | rd 1 |
|
- | 1321 | .p16: |
|
- | 1322 | rd 1 |
|
- | 1323 | .p20: |
|
- | 1324 | rb 1 |
|
- | 1325 | .p21: |
|
- | 1326 | rd 1 |
|
- | 1327 | .file: |
|
- | 1328 | rb 32 |
|
- | 1329 | ||
1263 | 1330 | I_RDATA:10>------+ |
|
- | 1331 | > |