Autor Thema: Maus Treiber  (Gelesen 7196 mal)

Hauke

  • Beiträge: 113
    • Profil anzeigen
Gespeichert
« 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? :?:

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 25. January 2005, 15:44 »
http://www.osdever.net/cottontail/downloads/docs/ps2mi.zip <-- Vielleicht kann dir das hier weiter helfen :)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 25. January 2005, 17:49 »
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)

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

Hauke

  • Beiträge: 113
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 26. January 2005, 11:47 »
Das ist mir noch nicht ganz ersichtlich geworden.
Wie mach ich das nun beim PS/2 Anschluss? :?:
Welche Portadresse ?  :?:

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #4 am: 26. January 2005, 12:39 »
\\o
o//
\o/

Hauke

  • Beiträge: 113
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 27. January 2005, 17:04 »
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.)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 28. January 2005, 19:07 »
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:
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.

 

Einloggen