Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: Hauke am 25. January 2005, 15:34
-
Da man bei einem OS ohne Dos Unterstützung die Ints 21h wie 33h der Maus Interrupt, nicht benutzen kann muss man diese selbst Programmieren. (Ich spiele dabei auf Int 33h an).
Jetzt zu meiner Frage: Wie mache ich dass.
Ich weiß, dass man mit dem Befehl In arbeiten muss, aber mit welcher Port Adresse.
Kann mir da irgend wehr weiter helfen? :?:
-
http://www.osdever.net/cottontail/downloads/docs/ps2mi.zip <-- Vielleicht kann dir das hier weiter helfen :)
-
Wenn du eine serielle Maus benutzt, musst du den In-Befehl an die jeweilige COM-Schnittstelle richten (3f8h fuer COM1; 2f8h fuer COM2).
Diese Daten kannst du Auslesen, die Adresse fuer COM1 steht im Speicher unter Die Portadresse fuer COM1: steht im Hauptspeicher in $40:00 (Hex) und die Portadresse fuer COM2: steht im Hauptspeicher in $40:02 (Hex) (Quelle (http://www.google.se/search?q=cache:c0VUYU2Vm1YJ:www.eas.e-technik.uni-erlangen.de/agee/AlteHP/Lpt.txt+com1+portadresse&hl=sv&lr=lang_da|lang_en|lang_no|lang_sv|lang_de))
Dann musst du aber das Mausprotokoll kennen. Ich erinnere mich noch schwach, dass meine damalige serielle Maus sogar noch umschaltbar war zwischen 2- und 3-Tastenmodus (Microsoft- bzw. MouseSystemsprotokoll, wenn ich richtig liege).
Bei ner PS/2-Maus hast du es einfacher, dort duerfte das Protokoll standardisiert sein. AFAIK wird der PS/2-Anschluss sogar ueber den Tastaturcontroller mitgesteuert, dort liegen auch die Funktionen.
Aber ich glaube, jemand anders kann das besser beschreiben :-)
Svenska
-
Das ist mir noch nicht ganz ersichtlich geworden.
Wie mach ich das nun beim PS/2 Anschluss? :?:
Welche Portadresse ? :?:
-
http://www.nondot.org/sabre/os/articles/HumanInterfaceDevices/
vielleicht findest du ja hier infos :o
-
Tut mir Leid aber dass hilft mir auch nicht weiter.
Auf dieser Seite wird Int 33h benutzt, soweit ich dass sehen kann.
(falls ich mich irre bitte melden.)
-
http://wap.tutorials.de/t-133551.html <-- schau dir das mal an
der PS/2-Anschluss läuft faktiskt ueber den Tastaturcontroller, IRQ 12.
Auch das könnte interessant sein, ist aber sehr technisch:
http://www.win.tue.nl/~aeb/linux/kbd/scancodes-12.html
Hier sind die Protokollspezifikationen fuer diverse Mausarten (weiss, grau, ... *g*)
http://www.hut.fi/~then/mytexts/mouse.html
Vielleicht sind auch noch die Sourcen von xBSD oder Linux eine Ansicht wert (beziehungsweise deren Maustreiber)...
Zitat:
The standard PS/2 mouse (with Logitech mouse) defaults to 160 CPI and can be switched to 40, 80, 160 or 320 CPI with software. Microsoft mouse driver for Windows 3.x and Windows 95 defauls to 160 couns per inch.
[ironie]Hoffentlich ändert sich das Protokoll nicht[/ironie]
Gruesse Svenska
Hoffe, es hat geholfen.