Rev 1579 | Rev 2171 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1579 | Rev 1874 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 1579 $ |
8 | $Revision: 1874 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 92... | Line 92... | ||
92 | .fail: |
92 | .fail: |
93 | stc |
93 | stc |
94 | pop eax |
94 | pop eax |
95 | ret |
95 | ret |
Line -... | Line 96... | ||
- | 96 | ||
- | 97 | ||
- | 98 | align 4 |
|
- | 99 | ||
- | 100 | set_keyboard_data: |
|
- | 101 | ||
- | 102 | movzx eax,word[TASK_COUNT] ; top window process |
|
- | 103 | movzx eax,word[WIN_POS+eax*2] |
|
- | 104 | shl eax,8 |
|
- | 105 | mov al,[SLOT_BASE+eax+APPDATA.keyboard_mode] |
|
- | 106 | mov [keyboard_mode],al |
|
- | 107 | ||
- | 108 | mov eax, ecx |
|
- | 109 | ||
- | 110 | push ebx |
|
- | 111 | push esi |
|
- | 112 | push edi |
|
- | 113 | push ebp |
|
- | 114 | ||
- | 115 | call send_scancode |
|
- | 116 | ||
- | 117 | pop ebp |
|
- | 118 | pop edi |
|
- | 119 | pop esi |
|
- | 120 | pop ebx |
|
- | 121 | ret |
|
96 | 122 | ||
97 | align 4 |
123 | align 4 |
98 | irq1: |
- | |
99 | ; save_ring3_context |
- | |
100 | ; mov ax, os_data |
- | |
101 | ; mov ds, ax |
- | |
Line 102... | Line 124... | ||
102 | ; mov es, ax |
124 | irq1: |
103 | 125 | ||
104 | movzx eax,word[TASK_COUNT] ; top window process |
126 | movzx eax,word[TASK_COUNT] ; top window process |
105 | movzx eax,word[WIN_POS+eax*2] |
127 | movzx eax,word[WIN_POS+eax*2] |
106 | shl eax,8 |
128 | shl eax,8 |
Line 107... | Line 129... | ||
107 | mov al,[SLOT_BASE+eax+APPDATA.keyboard_mode] |
129 | mov al,[SLOT_BASE+eax+APPDATA.keyboard_mode] |
- | 130 | mov [keyboard_mode],al |
|
- | 131 | ||
- | 132 | in al,0x60 |
|
108 | mov [keyboard_mode],al |
133 | |
Line 109... | Line 134... | ||
109 | 134 | send_scancode: |
|
110 | in al,0x60 |
135 | |
111 | mov [keyboard_data],al |
136 | mov [keyboard_data],al |
Line 308... | Line 333... | ||
308 | mov [KEY_COUNT+eax],bl |
333 | mov [KEY_COUNT+eax],bl |
Line 309... | Line 334... | ||
309 | 334 | ||
310 | .exit.irq1: |
335 | .exit.irq1: |
Line 311... | Line -... | ||
311 | mov [check_idle_semaphore],5 |
- | |
312 | - | ||
313 | ; mov al,0x20 ; ready for next irq |
- | |
314 | ; out 0x20,al |
- | |
315 | - | ||
316 | ; restore_ring3_context |
336 | mov [check_idle_semaphore],5 |
Line 317... | Line 337... | ||
317 | ; iret |
337 | |
318 | ret |
338 | ret |
319 | 339 |