Autor Thema: ps2 mouse  (Gelesen 2884 mal)

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« am: 29. January 2006, 11:33 »
hi

hab n problem mit nem ps2-maustreiber.
ich bekomm einfach keinen irq.

zur initialisierung mach ich folgendes:

1. maus interface aktivieren
2. streammodus aktivieren
3. irq12 einschalten
4. daten stream aktivieren
5. interface ausschalten

laut bochs ist auch alles richtig passiert:
00065989339d[KBD  ] keyboard: 8-bit write to 0064 = a7
00065989339d[KBD  ] set_aux_clock_enable(0)
00065989339d[KBD  ] aux device disabled
00065989409d[KBD  ] keyboard: 8-bit write to 0064 = a8
00065989409d[KBD  ] set_aux_clock_enable(1)
00065989409d[KBD  ] aux device enabled
00065989486d[KBD  ] keyboard: 8-bit write to 0064 = d4
00065989486d[KBD  ] io write 0x64: command = 0xD4 (write to mouse)
00065989569d[KBD  ] keyboard: 8-bit write to 0060 = ea
00065989569d[KBD  ] MOUSE: kbd_ctrl_to_mouse(eah)
00065989569d[KBD  ]   enable = 0
00065989569d[KBD  ]   allow_irq12 = 0
00065989569d[KBD  ]   aux_clock_enabled = 1
00065989569d[KBD  ] controller_enQ(fa) source=01
00065989624d[KBD  ] [mouse] read from 0x60 returns 0xfa
00065989720d[KBD  ] keyboard: 8-bit write to 0064 = 20
00065989720d[KBD  ] get keyboard command byte
00065989720d[KBD  ] controller_enQ(41) source=00
00065989775d[KBD  ] READ(60) = 41
00065989800d[KBD  ] service_keyboard(): no keys waiting
00065989860d[KBD  ] keyboard: 8-bit write to 0064 = 60
00065989860d[KBD  ] write command byte
00065989961d[KBD  ] keyboard: 8-bit write to 0060 = 43
00065989961d[KBD  ] set_aux_clock_enable(1)
00065989961d[KBD  ]  allow_irq12 set to 1
00065990038d[KBD  ] keyboard: 8-bit write to 0064 = d4
00065990038d[KBD  ] io write 0x64: command = 0xD4 (write to mouse)
00065990121d[KBD  ] keyboard: 8-bit write to 0060 = f4
00065990121d[KBD  ] MOUSE: kbd_ctrl_to_mouse(f4h)
00065990121d[KBD  ]   enable = 0
00065990121d[KBD  ]   allow_irq12 = 1
00065990121d[KBD  ]   aux_clock_enabled = 1
00065990121d[KBD  ] controller_enQ(fa) source=01
00065990121d[KBD  ] [mouse] Mouse enabled (stream mode)
00065990176d[KBD  ] [mouse] read from 0x60 returns 0xfa
00065990200d[KBD  ] service_keyboard(): no keys waiting
00065990272d[KBD  ] keyboard: 8-bit write to 0064 = ae
00065990272d[KBD  ] keyboard enabled
00080200000d[KBD  ] PS/2 mouse enabled                            


wenn ich dann die maus bewege (in bochs)
kommt sowas:
00084995000d[KBD  ] [mouse] Dx=2 Dy=2 Dz=0
00084995000d[KBD  ] mouse_enQ(08)
00084995000d[KBD  ] mouse_enQ(02)
00084995000d[KBD  ] mouse_enQ(02)
00084995000d[KBD  ] service_keyboard: key(from mouse) in internal buffer waiting
00085188000d[KBD  ] [mouse] Dx=11 Dy=2 Dz=0
00105367000d[KBD  ] [mouse] Dx=-1 Dy=1 Dz=0
00105505000d[KBD  ] [mouse] Dx=-1 Dy=1 Dz=0
00105737000d[KBD  ] [mouse] Dx=-1 Dy=1 Dz=0
00105877000d[KBD  ] [mouse] Dx=0 Dy=1 Dz=0
00106102000d[KBD  ] [mouse] Dx=-1 Dy=1 Dz=0
00106269000d[KBD  ] [mouse] Dx=-1 Dy=1 Dz=0
[...]
00106284000d[KBD  ] gen_scancode(): BX_KEY_CTRL_L pressed
00106284000d[KBD  ] gen_scancode(): writing translated 1d
00106284000d[KBD  ] kbd_enQ(0x1d)
00106284000d[KBD  ] kbd_enQ: putting scancode 0x1d in internal buffer
00107499000d[KBD  ] [mouse] Dx=-1 Dy=0 Dz=0
00107882000d[KBD  ] mouse_enQ(09)
00107882000d[KBD  ] mouse_enQ(a4)
00107882000d[KBD  ] mouse_enQ(3f)
00108386000d[KBD  ] [mouse] Dx=1 Dy=0 Dz=0
00108585295d[KBD  ] mouse_enQ(09)
00108585295d[KBD  ] mouse_enQ(01)
00108585295d[KBD  ] mouse_enQ(00)
00108585295d[KBD  ] PS/2 mouse disabled
00109345532i[WGUI ] &&&missing mouse state change                        


gibts irgendwas was ich nicht beachtet hab?
muss ich noch irgendwelche dinge aktivieren/deaktivieren

thx maumo

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« Antwort #1 am: 29. January 2006, 19:09 »
nee nee alles andere läuft ja.
ich krieg auch interrupts vom kbd, timer und fdc.

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 29. January 2006, 20:04 »
Ist der IRQ12 auch auf dem PIC aktiviert? Und sind die beiden PICs verbunden?
Und nicht vergessen, dass beide PICs nach dem IRQ zurückzusetzen sind!
db 0x55AA

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« Antwort #3 am: 29. January 2006, 20:45 »
ok...
hab den fehler gefunden...

hab vergessen irg2 auf dem master pic zu aktivieren, wodurch der slave pic deaktiviert war...

 

Einloggen