Rev 129 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 129 | Rev 384 | ||
---|---|---|---|
Line 84... | Line 84... | ||
84 | pop eax |
84 | pop eax |
85 | ret |
85 | ret |
Line 86... | Line 86... | ||
86 | 86 | ||
87 | align 4 |
87 | align 4 |
88 | irq1: |
88 | irq1: |
89 | save_ring3_context |
89 | ; save_ring3_context |
90 | mov ax, os_data |
90 | ; mov ax, os_data |
91 | mov ds, ax |
91 | ; mov ds, ax |
Line 92... | Line 92... | ||
92 | mov es, ax |
92 | ; mov es, ax |
93 | 93 | ||
94 | mov eax, [0x3004] ; top window process |
94 | movzx eax,word[TASK_COUNT] ; top window process |
95 | movzx eax,word[0xC400+eax*2] |
95 | movzx eax,word[WIN_POS+eax*2] |
96 | shl eax,8 |
96 | shl eax,8 |
Line 97... | Line 97... | ||
97 | mov al,[0x80000+eax+APPDATA.keyboard_mode] |
97 | mov al,[SLOT_BASE+eax+APPDATA.keyboard_mode] |
98 | mov [keyboard_mode],al |
98 | mov [keyboard_mode],al |
Line 265... | Line 265... | ||
265 | jz .exit.irq1 |
265 | jz .exit.irq1 |
266 | jmp .dowrite |
266 | jmp .dowrite |
267 | .scancode: |
267 | .scancode: |
268 | mov bl, ch |
268 | mov bl, ch |
269 | .dowrite: |
269 | .dowrite: |
270 | movzx eax,byte[0xF400] |
270 | movzx eax,byte[KEY_COUNT] |
271 | cmp al,120 |
271 | cmp al,120 |
272 | jae .exit.irq1 |
272 | jae .exit.irq1 |
273 | inc eax |
273 | inc eax |
274 | mov [0xF400],al |
274 | mov [KEY_COUNT],al |
275 | mov [0xF400+eax],bl |
275 | mov [KEY_COUNT+eax],bl |
Line 276... | Line 276... | ||
276 | 276 | ||
277 | .exit.irq1: |
277 | .exit.irq1: |
Line 278... | Line 278... | ||
278 | mov [check_idle_semaphore],5 |
278 | mov [check_idle_semaphore],5 |
279 | 279 | ||
Line 280... | Line 280... | ||
280 | mov al,0x20 ; ready for next irq |
280 | ; mov al,0x20 ; ready for next irq |
281 | out 0x20,al |
281 | ; out 0x20,al |
- | 282 | ||
Line 282... | Line 283... | ||
282 | 283 | ; restore_ring3_context |
|
283 | restore_ring3_context |
284 | ; iret |
284 | iret |
285 | ret |
285 | 286 |