Subversion Repositories Kolibri OS

Rev

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