Subversion Repositories Kolibri OS

Rev

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