Autor Thema: Tastatur LEDs  (Gelesen 5079 mal)

Hauke

  • Beiträge: 113
    • Profil anzeigen
Gespeichert
« am: 27. May 2005, 15:18 »
Ich habe einen „kleinen“ Tastaturtreiber geschrieben, in dem ich Tastendrücke verarbeiten kann. Nun wollte ich die LEDs programmieren jedoch funktionier das irgendwie nicht.

jmp anf
;;;;;;;;;;;;;;;;
TaSt db 2 ;Num LED ist standartmäßig eingeschaltet

anf:
mov dx, 0x64
in al, dx
and al, 1    
cmp al, 0
je anf
mov dx, 0x60
in al, dx
cmp al, 0xC5
je num
jmp anf

num:
mov dx, 0x64
in al, dx
and al, 1
cmp al, 0
jne anf

mov cx, 0x200
warte2:       ;augenblick waren
loop warte2

mov dx, 0x60
mov al, 0xED
out dx, al
mov al, [TaSt]

mov cx, 0x200
warte1:      ;augenblick waren
loop warte1

xor al, 0x2 ;Num LED setzen oder nicht setzen
out dx, al  
mov [TaSt], al


mov cl, '0'
mov si, 8
add cl, al
mov [si],cl  ;gucken ob er bis hier gekommen ist
in al, dx
jmp anf



Vorher wird in den ProtectMode geschaltet.
Der Selektor Ds zeigt auf einen Videodeskriptor.


Nach dem Ausführen passier folgendes:
Nach dem ich die "Num" Taste gerückt habe dauert es ein bisschen. (Warum weiß ich nicht, bei den nächsten drücken auf die Num Taste dauert es fast keine Zeit vielleicht 1ms oder so)
Auf dem Bildschirm erscheint nun ein R und eine Zeile Darunter und mehrere Spalten rechts ein (") Anführungszeichen obwohl statt ein R eine null da sein sollte und das LED leuchtet weiter nachdem ich die Num Taste noch mal drücke steht ein P statt einem R und kein (") und bei dem ED regt sich nichts. Warum funktioniert dieser Code nicht? :?:

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #1 am: 01. June 2005, 10:55 »
Kann es sein das du vergessen hast das Acknowledge vom Keyboardcontroller abzufangen ?
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

Hauke

  • Beiträge: 113
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 01. June 2005, 16:44 »
Was ist genau das Acknowledge vom Keyboardcontroller?:?:  (Gehört habe ich es schon mal, aber ich kann es nicht richtig einordnen) Aber eigentlich ist das der Gesamte Code.

 

Einloggen