Rev 264 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 264 | Rev 485 | ||
---|---|---|---|
Line 30... | Line 30... | ||
30 | ypos = 22 ; |
30 | ypos = 22 ; |
Line 31... | Line 31... | ||
31 | 31 | ||
32 | TIMEOUT = 60 ; timeout in seconds |
32 | TIMEOUT = 60 ; timeout in seconds |
Line -... | Line 33... | ||
- | 33 | BUFFER = 1500 ; Buffer size for DNS |
|
33 | BUFFER = 1500 ; Buffer size for DNS |
34 | |
34 | 35 | include '..\..\macros.inc' |
|
35 | include 'fdo.inc' |
36 | include 'fdo.inc' |
36 | include 'ETH.INC' |
37 | include 'ETH.INC' |
37 | include 'logon.inc' |
38 | include 'logon.inc' |
38 | include 'raw.inc' |
39 | include 'raw.inc' |
Line 39... | Line -... | ||
39 | include 'copyrect.inc' |
- | |
40 | include 'thread.inc' |
40 | include 'copyrect.inc' |
Line 41... | Line 41... | ||
41 | 41 | include 'thread.inc' |
|
Line 42... | Line 42... | ||
42 | 42 | ||
43 | START: ; start of execution |
43 | START: ; start of execution |
44 | 44 | ||
Line 45... | Line 45... | ||
45 | call red_logon |
45 | call red_logon |
46 | 46 | ||
47 | mov eax,40 ; Report events |
47 | mov eax,40 ; Report events |
48 | mov ebx,00000000b ; Only Stack |
48 | mov ebx,00000000b ; Only Stack |
49 | int 0x40 |
49 | mcall |
50 | 50 | ||
Line 51... | Line 51... | ||
51 | mov eax,67 ; resize the window (hide it) |
51 | mov eax,67 ; resize the window (hide it) |
52 | xor ebx,ebx |
52 | xor ebx,ebx |
53 | mov ecx,ebx |
53 | mov ecx,ebx |
54 | mov edx,ebx |
54 | mov edx,ebx |
55 | mov esi,ebx |
55 | mov esi,ebx |
Line 56... | Line 56... | ||
56 | int 0x40 |
56 | mcall |
Line 57... | Line 57... | ||
57 | 57 | ||
58 | mov eax,51 |
58 | mov eax,51 |
59 | mov ebx,1 |
59 | mov ebx,1 |
60 | mov ecx,thread_start |
60 | mov ecx,thread_start |
Line 61... | Line 61... | ||
61 | mov edx,thread_stack |
61 | mov edx,thread_stack |
62 | int 0x40 |
62 | mcall |
Line 63... | Line 63... | ||
63 | 63 | ||
64 | DEBUGF 1,'Thread created: %u\n',eax |
64 | DEBUGF 1,'Thread created: %u\n',eax |
65 | 65 | ||
Line 66... | Line 66... | ||
66 | @@: |
66 | @@: |
67 | mov eax,5 |
67 | mov eax,5 |
68 | mov ebx,10 |
68 | mov ebx,10 |
69 | int 0x40 |
69 | mcall |
70 | 70 | ||
71 | cmp byte[thread_ready],0 |
71 | cmp byte[thread_ready],0 |
72 | je @r |
72 | je @r |
73 | 73 | ||
74 | mov eax,40 ; report events |
74 | mov eax,40 ; report events |
75 | mov ebx,100111b ; mouse, button, key, redraw |
75 | mov ebx,100111b ; mouse, button, key, redraw |
Line 76... | Line 76... | ||
76 | int 0x40 |
76 | mcall |
77 | 77 | ||
78 | mov eax,67 ; resize the window |
78 | mov eax,67 ; resize the window |
79 | mov ebx,10 |
79 | mov ebx,10 |
Line 80... | Line 80... | ||
80 | mov ecx,10 |
80 | mov ecx,10 |
81 | mov edx,dword[framebuffer] |
81 | mov edx,dword[framebuffer] |
82 | bswap edx |
82 | bswap edx |
Line 83... | Line 83... | ||
83 | movzx esi,dx |
83 | movzx esi,dx |
84 | shr edx,16 |
84 | shr edx,16 |
85 | add edx,2*xpos |
85 | add edx,2*xpos |
86 | add esi,ypos+xpos |
86 | add esi,ypos+xpos |
Line 110... | Line 110... | ||
110 | 110 | ||
111 | key: |
111 | key: |
Line 112... | Line 112... | ||
112 | DEBUGF 1,'Sending key event\n' |
112 | DEBUGF 1,'Sending key event\n' |
113 | 113 | ||
114 | mov eax,2 |
114 | mov eax,2 |
Line 115... | Line 115... | ||
115 | int 0x40 |
115 | mcall |
Line 116... | Line 116... | ||
116 | mov byte[keyevent.key+3],ah |
116 | mov byte[keyevent.key+3],ah |
Line 122... | Line 122... | ||
122 | mouse: |
122 | mouse: |
123 | DEBUGF 1,'Sending mouse event\n' |
123 | DEBUGF 1,'Sending mouse event\n' |
Line 124... | Line 124... | ||
124 | 124 | ||
125 | mov eax,37 |
125 | mov eax,37 |
126 | mov ebx,1 |
126 | mov ebx,1 |
Line 127... | Line 127... | ||
127 | int 0x40 |
127 | mcall |
128 | 128 | ||
129 | sub eax,xpos*65536+ypos |
129 | sub eax,xpos*65536+ypos |
130 | bswap eax |
130 | bswap eax |
131 | mov word[pointerevent.x],ax |
131 | mov word[pointerevent.x],ax |
Line 132... | Line 132... | ||
132 | shr eax,16 |
132 | shr eax,16 |
133 | mov word[pointerevent.y],ax |
133 | mov word[pointerevent.y],ax |
134 | 134 | ||
Line 135... | Line 135... | ||
135 | mov eax,37 |
135 | mov eax,37 |
136 | mov ebx,2 |
136 | mov ebx,2 |
137 | int 0x40 |
137 | mcall |
138 | 138 | ||
Line 151... | Line 151... | ||
151 | 151 | ||
Line 152... | Line 152... | ||
152 | DEBUGF 1,'Drawing window\n' |
152 | DEBUGF 1,'Drawing window\n' |
153 | 153 | ||
154 | mov eax,12 |
154 | mov eax,12 |
Line 155... | Line 155... | ||
155 | mov ebx,1 |
155 | mov ebx,1 |
156 | int 0x40 |
156 | mcall |
157 | 157 | ||
158 | mov eax,0 ; draw window |
158 | mov eax,0 ; draw window |
159 | mov ebx,dword[framebuffer] |
159 | mov ebx,dword[framebuffer] |
160 | bswap ebx |
160 | bswap ebx |
161 | movzx ecx,bx |
161 | movzx ecx,bx |
162 | shr ebx,16 |
162 | shr ebx,16 |
163 | add ebx,2*xpos |
- | |
164 | add ecx,ypos+xpos |
- | |
165 | mov edx,0x03ffffff |
163 | add ebx,2*xpos |
Line 166... | Line 164... | ||
166 | mov esi,0x80555599 |
164 | add ecx,ypos+xpos |
167 | mov edi,0x00ffffff |
165 | mov edx,0x03ffffff |
168 | int 0x40 |
166 | mcall |
169 | 167 | ||
170 | mov eax,4 ; label |
168 | mov eax,4 ; label |
171 | mov ebx,9*65536+8 |
169 | mov ebx,9*65536+8 |
172 | mov ecx,0x10ffffff |
170 | mov ecx,0x10ffffff |
Line 173... | Line 171... | ||
173 | mov edx,name |
171 | mov edx,name |
Line 174... | Line 172... | ||
174 | mov esi,[name_length] |
172 | mov esi,[name_length] |
175 | bswap esi |
173 | bswap esi |
176 | int 0x40 |
174 | mcall |
Line 177... | Line 175... | ||
177 | 175 | ||
Line 178... | Line 176... | ||
178 | call drawbuffer |
176 | call drawbuffer |
Line 179... | Line 177... | ||
179 | 177 | ||
180 | mov eax,12 |
178 | mov eax,12 |
181 | mov ebx,2 |
179 | mov ebx,2 |
182 | int 0x40 |
180 | mcall |
183 | 181 | ||
Line 184... | Line 182... | ||
184 | jmp mainloop |
182 | jmp mainloop |
Line 185... | Line 183... | ||
185 | 183 | ||
186 | drawbuffer: |
184 | drawbuffer: |
187 | 185 | ||
Line 188... | Line 186... | ||
188 | mov eax,7 |
186 | mov eax,7 |
189 | mov ebx,framebuffer_data |
187 | mov ebx,framebuffer_data |
190 | mov ecx,dword[screen] |
188 | mov ecx,dword[screen] |
191 | mov edx,xpos*65536+ypos |
189 | mov edx,xpos*65536+ypos |
Line 192... | Line 190... | ||
192 | int 0x40 |
190 | mcall |
193 | 191 | ||
Line 194... | Line 192... | ||
194 | ret |
192 | ret |
195 | 193 | ||
196 | 194 |