maus treiber 0xFA ack nach mouse_write
-
die maus sendet doch nach einem 0xF2 command erstmal ein 0xFA bevor der typ zurückgegeben wird oder
falls ja könnte man auch die abfrage des 0xFA in die mouse_write() mit einbauen, da es aber 1-2 commands (reset, resend) gibt wo sie das nicht macht müßte man die fälle natürlich beachten und dann natürlich geg. z.260 und 269 entfernen.mouse.c schrieb:
212 mouse_write(0xF2); // 0xFA 213 mouseid=mouse_read(); 230 mouse_write(0xF2); // 0xFA 231 mouseid=mouse_read();
lg lolo
-
Aaah, du hast ja Recht.. *heul
Ok, werde mich darum kümmern. Sorry.Cuervo
-
Es ist der Maustreiber, genauer die folgende Zeile:
// mouse.c void mouse_setsamples(unsigned char samples_per_second) { mouse_write(0xF3); // <- die hier switch (samples_per_second) { (...) }
die bei BOCHS die PANIC-Meldung verursacht.
-
Jetzt müsste es klappen, lag vllt daran, dass gesendet wurde bevor die Maus den vorherigen Befehel gesendet hat^^
-
Die PANIC-Meldung ist nun beseitigt (Rev 377). Aber es sieht wohl so aus, daß BOCHS ein Mousewheel nicht unterstützt:
Mouse: X:10 Y=10 LM:0 MM:1 RM:0 id:00h // MT links setzt MM No mousewheel found! Mouse: X:10 Y=10 LM:0 MM:0 RM:1 id:00h // MT mitte setzt RM No mousewheel found! Mouse: X:10 Y=10 LM:0 MM:0 RM:0 id:01h // MT rechts setzt id No mousewheel found!
-
ich dachte dabei eher an sowas, evtl. lässt sich das noch ein bischen anpassen
void os_mouse_command(uint8_t a_write){ //used to make sure we don't lock the system //@todo: diskuss if this is required uint32_t save_me = 0xFFFF; uint8_t resp; os_mouse_write(a_write); if(a_write == 0xFF) resp = 0xAA; else resp = 0xFA; while(save_me-- && os_mouse_read() != resp); if(++save_me == 0) kprintf("os_mouse_command ACK failed"); }
lg lolo
-
so, Ausgabe war verschoben!
http://c-plusplus.net/forum/viewtopic-var-p-is-1884501.html#1884501