Subversion Repositories Kolibri OS

Rev

Rev 97 | Rev 102 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 97 Rev 98
Line 4015... Line 4015...
4015
 
4015
 
Line 4016... Line 4016...
4016
kb_read:
4016
kb_read:
Line 4017... Line 4017...
4017
 
4017
 
4018
        push    ecx edx
4018
        push    ecx edx
4019
 
4019
 
4020
        mov     ecx,0xffff
4020
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's 
4021
      kr_loop:
4021
      kr_loop:
4022
        in      al,0x64
4022
        in      al,0x64
Line 4043... Line 4043...
4043
kb_write:
4043
kb_write:
Line 4044... Line 4044...
4044
 
4044
 
Line 4045... Line 4045...
4045
        push    ecx edx
4045
        push    ecx edx
4046
 
4046
 
4047
        mov     dl,al
4047
        mov     dl,al
4048
        mov     ecx,0xffff
4048
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4049
      kw_loop1:
4049
      kw_loop1:
4050
        in      al,0x64
4050
        in      al,0x64
4051
        test    al,0x20
4051
        test    al,0x20
4052
        jz      kw_ok1
4052
        jz      kw_ok1
4053
        loop    kw_loop1
4053
        loop    kw_loop1
4054
        mov     ah,1
4054
        mov     ah,1
4055
        jmp     kw_exit
4055
        jmp     kw_exit
4056
      kw_ok1:
4056
      kw_ok1:
4057
        in      al,0x60
4057
        in      al,0x60
4058
        mov     ecx,0xffff
4058
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4059
      kw_loop:
4059
      kw_loop:
4060
        in      al,0x64
4060
        in      al,0x64
4061
        test    al,2
4061
        test    al,2
4062
        jz      kw_ok
4062
        jz      kw_ok
4063
        loop    kw_loop
4063
        loop    kw_loop
4064
        mov     ah,1
4064
        mov     ah,1
4065
        jmp     kw_exit
4065
        jmp     kw_exit
4066
      kw_ok:
4066
      kw_ok:
4067
        mov     al,dl
4067
        mov     al,dl
4068
        out     0x60,al
4068
        out     0x60,al
4069
        mov     ecx,0xffff
4069
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4070
      kw_loop3:
4070
      kw_loop3:
4071
        in      al,0x64
4071
        in      al,0x64
4072
        test    al,2
4072
        test    al,2
4073
        jz      kw_ok3
4073
        jz      kw_ok3
4074
        loop    kw_loop3
4074
        loop    kw_loop3
4075
        mov     ah,1
4075
        mov     ah,1
4076
        jmp     kw_exit
4076
        jmp     kw_exit
4077
      kw_ok3:
4077
      kw_ok3:
4078
        mov     ah,8
4078
        mov     ah,8
4079
      kw_loop4:
4079
      kw_loop4:
4080
        mov     ecx,0xffff
4080
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4081
      kw_loop5:
4081
      kw_loop5:
4082
        in      al,0x64
4082
        in      al,0x64
4083
        test    al,1
4083
        test    al,1
Line 4094... Line 4094...
4094
        ret
4094
        ret
Line 4095... Line 4095...
4095
 
4095
 
Line 4096... Line 4096...
4096
 
4096
 
4097
kb_cmd:
4097
kb_cmd:
4098
 
4098
 
4099
        mov     ecx,0xffff
4099
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4100
      c_wait:
4100
      c_wait:
4101
        in      al,0x64
4101
        in      al,0x64
4102
        test    al,2
4102
        test    al,2
4103
        jz      c_send
4103
        jz      c_send
4104
        loop    c_wait
4104
        loop    c_wait
4105
        jmp     c_error
4105
        jmp     c_error
4106
      c_send:
4106
      c_send:
4107
        mov     al,bl
4107
        mov     al,bl
4108
        out     0x64,al
4108
        out     0x64,al
4109
        mov     ecx,0xffff
4109
        mov     ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's
4110
      c_accept:
4110
      c_accept:
4111
        in      al,0x64
4111
        in      al,0x64