Autor Thema: PS2-Maus geht nicht, was sonst xD  (Gelesen 7899 mal)

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« am: 18. October 2007, 20:03 »
Also, ich muss dann wohl doch in den Kreis der abertausenden Leute eintreten, die es mal wieder nicht geschafft haben die PS2-Maus zu programmieren...
Eigentlich wollte ich ja ein Tutorial schreiben und das werde ich auch noch machen, da z.b. bei osdev.org 3 seiten mit beiträgen wie "Problem mit PS2-Maustreiber" kommen...
Und eigentlich geht auch alles insoweit... aber nur unter VirtualBox .. und evtl. auch unter anderen Emulatoren oder gar auf meinem Notebook, aber auf meinem alten PC (AMD K6-Prozessor und 4mb Videoram xD) gehts nicht, denn da streikt irgendwie die Tastatur, sobald ich mein Mausprogramm starte... und wenn ich aeh an den KC schicke, dann geht zwar die Tastatur wieder, doch sie schickt falsche codes, so schickt sie z.b. bei F9 den ascii-code von ESC... :(

Ich würde euch nun darum bitten mal mein Mausprogramm unter verschiedenen, besonders alten Computern zu testen und mir zu sagen, obs da geht oder nicht, außerdem wäre es einfach zu geil, wenn einer gleich eine Lösung weiß... naja.. ich werde jetzt einfach mal versuchen jede Zeile zu debuggen, also nach jeder Zeile oder Programmschritt zu testen, ob die Tastatur noch geht....

P.S.: Mein Os gibts hier, ich empfehle die CD-ISO, da das Floppy-Image einen Kernel besitzt, der eher für mich zum debuggen geändert wurde, aber noch nicht zurückgeändert wurde... so gibt er viele Zahlen oder Strings aus, mit denen Leute, die den Source nicht kennen nichts anfangen werden können...

Das angefangene Tutorial mit schon einigen BeispielCode, den ich aber sicher noch einmal ändern werde, wenn ich den Fehler gefunden habe, der meine Tastatur deaktiviert, gibts hier

Achja, wenn bei euch mein OS tatsächlich laufen sollte, dann müsst ihr um den PS2-Maus-Treiber zu starten in die "Shell" "ps2mouse" eingeben, damit die gleichnamige Datei in den Speicher geladen wird...
Genauso könnt ihr auch die anderen Programme, die bei dem OS dabei sind starten, aber da müsst ihr leider in die ISO schauen, wie die heißen, ich hatte noch keine Lust den "dir"-Befehl für das ISO9660-System zu schreiben  :wink:

Wenns keinen stört(wegen Offtopic), wäre es auch erfreulich, wenn ihr z.b. kleine Verbesserungen zu dem Tutorial postet, aber ich werde es gewiss fertigstellen und dann kommt es eh in die Tutorial- und Ressourcen-Diskussion hier in diesem Board xD

Und nochwas, wems aufgefallen ist, dass ich erst wegen zwei anderen Sachen hier nachgefragt habe, und die aber noch nicht realisiert habe, dem sei gesagt, dass ich eingesehen habe, dass das erstmal zu schwierig ist, aber eure Atworten waren nicht umsonst, ich habe z.b. mit der DualCore antwort schon andere beglückt xD.. und außerdem werde ich die Arbeiten an den gefragten Dinge wieder Aufnehmen, sobald ich einen funktionierenden Maustreiber mit brauchbaren Tutorial geschrieben habe xD

lol, verdammt, ich bezweifle fast, dass sich noch einer den Beitrag zu Herzen nehmen wird  :-(, aber ich hätte da nochmal ne Frage, und zwar, wieso funktioniert unter VirtualBox, vlt. auch unter anderen Emulatoren die Funktion 20h (get command byte nicht).. unter VB scheint kein Byte gesendet zu werden.. und mein alter ****-PC gibt 47h zurück....
Ich merke grade, dass das bedeuten würde, dass ein TimeOut aufgetreten ist... eigenartig, bei was denn, 20h ist doch der erste Befehl in meinm Programm, den ich an den Keyboard-Controller sende... ?

Naja.. ich hoffe ich habe nicht zu wenig geschrieben xD  :-o ...

Note: Verdammt, noch was... Der Sourcecode ist mit auf der ISO oder auf den IMG zum auslesen empfehlen sich Programm wie UltraISO und WinImage... oder einfach brennen und dann auslesen.. so, aber das wars jetzt xD

TUT MIR LEID; ABER HIER KOMMT NOCHWAS  :cry: :-D
Und zwar habe ich das Disketten-Image nocheinmal auf meinem alten PC getestet und es scheint, als läge es doch an dem TimeOut-Error, den das Command-Byte liefert, oder so... ICH KANN MIR EINFACH KEINEN REIM DARAUF MACHEN, aber es scheint, als würde sich mein alter PC an diesem Stück code verschlucken
(am ende seht ihr ja, dass ich den Tastendruck abhole und ausgebe, nur gibt er ab da an den falschen Tastencode aus, denn wenn ich "h" drücke erscheint "," und andere sind auch vertauscht....)
Ok, hier die Code-Stelle, ich glaub ich geb gleich auf und sage einfach, ihr mit alten PCs habt Pech...:-(
mov al,20h
out 64h,al
call kb.checkcmd
call kb.read
xchg ah,al
mov ebx,16
call zahlausgabe
or al,al
jnz or_20h

mov al,60h ;schiebe den Befehl das Command-Byte einzulesen auf al
out 64h,al ;um es an den Keyboard-Controller zu senden
call kb.checkcmd ;und überprüfe auch, ob es angekommen ist, wenn nciht warte bis es da ist
mov al,00000011b ;Setze im Command-Byte Bit0+1, um die irqs 9 und 12 aktivieren, wenn im Output-Buffer Daten verfügbar sind
out 60h,al ;schicke an den Daten-Port das Command-Byte
call kb.checkcmd ;und warte auf dessen Annahme
jmp after_or_20h

or_20h:
mov al,60h ;schiebe den Befehl das Command-Byte einzulesen auf al
out 64h,al ;um es an den Keyboard-Controller zu senden
call kb.checkcmd ;und überprüfe auch, ob es angekommen ist, wenn nciht warte bis es da ist
or al,00000011b ;Setze im Command-Byte Bit0+1, um die irqs 9 und 12 aktivieren, wenn im Output-Buffer Daten verfügbar sind
out 60h,al ;schicke an den Daten-Port das Command-Byte
call kb.checkcmd ;und warte auf dessen Annahme
after_or_20h:

xor ax,ax
int 16h
mov ah,0eh
int 10h

nur um den Beitrag unnötig zu verlängern sind hier die Prozeduren, die in den obigen code zum einstaz kommen :D

;***************************************************************************************************************
;dies sind Prozeduren die speziell Befehle an das Keyboard schicken oder Daten entgegennehmen, da man immer warten muss, bis
;welche da sind. diese Prozeduren werden überwiegend für die Mausinitialisierung und für den IRQ12 benötigt, der die Pakete holt
;***************************************************************************************************************
kb:
.read: ;wartet, bis im Output-Buffer des Port60h Daten bereitliegen und holt diese dann ab
push ecx ;ecx sichern, da das für loop benötigt wird
xor ecx,ecx ;auf ecx, ffffh schieben, damit hier nicht unendlich lang auf Daten gewartet wird
.wait_for_output:
in al,64h ;liest das Statusregister vom Keyboard-Controller aus
test al,00000001b ;testen ob im Outputbuffer Daten sind
jnz .output_is_there ;wenn ja, dann springe aus der Schleife raus und lese die Daten ein
loop .wait_for_output ;wenn nicht, also Bit0 nicht gesetzt ist, wiederhole schleife und warte weiter auf Daten
mov ah,1 ;wenn loop durchgelaufen ist und noch immer keine Daten da sind, schiebe auf ah errorcode
or ah,ah ;und setze ggf. das zeroflag, damit der user gleich danach jz o.ä. schreiben kann
pop ecx ;stelle register wieder her
ret ;und springe zum aufrufsort zurück
.output_is_there:
in al,60h ;hole Daten aus dem Output-Buffer
xor ah,ah ;und lösche ah, da bei fehler auf ah der errorcode ist; setze ggf. zeroflag (macht xor...)
pop ecx ;stelle Register wieder her
ret ;und springe zum Aufrufsort zurück
;************************* Variablen des IRQ12 *************************
.checkcmd: ;prüft, ob der Befehl auch angenommen wurde, oder noch immer im Buffer auf seine Verarbeitung wartet
push ax ;ax sichern, da es beim einlesen des Statusbytes zerstört wird
.loop_chkcmd:
in al,64h ;nach al das Statusregister holen
test al,00000010b ;und dort prüfen, ob Bit2, dass anzeigt, das etwas im out-buffer, gesetzt ist
jnz .loop_chkcmd ;wenn nicht, wiederhole den vorgang, bis das byte verarbeitet ist
pop ax ;stelle ax nun wieder her
ret
;************************* wartet bis alle Befehle des KC verarbeitet sind *************************

EDIT: VERDAMMT; ICH HABE GERADE BEMERKT; DASS DURCH EINEN FEHLER IM KERNEL DER EIGENE KEYBOARD_TREIBER GARNICHT GELADEN WURDE UND HABE DIES SCHNELL GEÄNDERT; ES GEHT ZWAR IMMER NOCH UNTER VB; DOCH AUFN ALTEN; HÄNGT DER SICH TOTAL AUF (DIE UHR; ALSO DER TIMER; IRQ 0; BLEIBT STEHEN!!!! UND MAN KANN AUCH NCIHTS MEHR MACHEN; WIE TASTE DRÜCKEN ODER MAUS BEWEGEN!!!)

Achja, es passiert ein Tastendruck nach dem abholen des Commando-Bytes...
das heißt, alle Probleme, die hier entstanden, angesprochen wurden sind, kommen nur durch den Befehl 60h zustande... aber ich wei0 nicht, was ich falsch mache  :? Theoretisch schicke ich 47h als Commando-Byte an den KC, also genau das selbe Byte, was ich mit 20h geliefert bekomme, da 47h or 11b = 47h ist...
« Letzte Änderung: 18. October 2007, 21:03 von maxinator »

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 18. October 2007, 20:51 »
Schönes Tut...
Aber der Ressourcen Thread ist out...Da kannst du und auch sonst hier niemand was posten...Machs besser ins Wiki. Das sind wir gerade so schön am Aufbauen...Wenn dir das umformatieren zuviel ist, ist vielleicht hier jemand anders gerne bereit das zu machen, wenn du es dann vollständig zusammen hast...

Gruss
Noooooooooooos

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #2 am: 18. October 2007, 21:11 »
hmm.. ja ok, da bin ich gerne dabei... :)

nur.. es geht immer noch nicht und ich kann es auf keinen neueren Computer testen, falls es wirklich nur daran liegt, dass der so alt ist (12 jahre)... aber win98 geht ja auch ....
moment.. ich probiers mal schnell auf den meiner eltern

Ich kann grad nicht testen.. meine schwester ist dran.. und es wäre sowieso keine lösung, es sollte doch auch dings der abwärtskompatibilät unter alten laufen... und unter virtualbox gehts ja auch..
es muss an dem Befehl 60h liegen... ...

EDIT: OK, auf dem meiner Eltern spielt sich das selbe Drama ab, nach senden des 60h Befehls und dem dazugehörigen Command-Byte, sind die Scancodes der Tastatur total vertauscht...
Aber falls ich das noch nicht erwähnt habe, DIE MAUS GEHT xDXD... Achja, so nur mal als Info, der PC meiner Eltern ist ~3 Jahre Elter und liefert als Command-Byte A3h, was heißt, dass schonmal das reservierte Bit aus irgendeinem Grund benutzt wird und das es in irgendeinem Kompatibilätsmodus arbeitet (mein alter übrigens auch)...

weiß keiner Rat, wieso die PCs nach dem 60h-Befehl verrückt spielen?
was mir noch aufgefallen ist, ist dass eigenartigerweise die Bits 1 und 0 im Command-Byte nachdem booten gesetzt sind... und nur um diese zu setzen habe ich ja eig. das mit dem send-command-byte-befehl gemacht...

da komme ich gerade auf eine idee.. ich werde das jetzt einfach so machen, dass das kommando-byte nur gesendet wird, wenn Bit 1, was bedeutet, dass bei jeder Änderung der Maus der IRQ12 angesprungen wird, nicht gesetzt ist... so sollte es unter virtualBox funzen, wo zwar das Bit nicht gesetzt ist, aber der 60h-Command-Befehl geht, sowohl als auch unter meinen PCs, wo nach dem booten autom. diese Bits gesetzt sind, aber der 60h-befehl nich geht..
is nur ne theorie..ich musses noch testen...

aber das wäre keine zufriedenstellende Lösung, sondern nur eine Übergangslösung, bis mir hoffentlich einer helfen kann, solange müsste ich das Tutorial einstellen und könnte aber an dem umfangreichen INT33h-Ersatz erstmal weiterarbeiten...
« Letzte Änderung: 18. October 2007, 22:47 von maxinator »

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #3 am: 20. October 2007, 16:54 »
hallihallo  :-D :-D
ich habe jetzt eine hoffentlich funktionierende Version des Maustreibers geschrieben. Fakt ist, auf meinm alten, den meiner Eltern, unter Bochs, unter Qemu und unter VirtualBox lief das Prog ohne Probleme und ließ sich auch mehrmals beenden und wieder abschalten(deaktivier-routine funktioniert auch)

Ich bitte euch alle den Code auf euren Computern zu testen und mir evtl. Bugs mitzuteilen ! Bei dems nicht geht, der soll mal seinen PC schlagen  :-D xD nene :lol:

der Link zu der Download-Seite, wo zurzeit die aktuelle version sein sollte ist hier

AChja, um das Maus-Programm zu starten gebt einfach "ps2mouse" ein!
Und falls es wirklich bei einem von euch nicht gehen sollte, dann listet mir mal bitte auf, was alles nach dem Maus-Programm ausgegeben wurde. (ich glaub es sollten 3 oder 4 zahlen, die untereinander ausgegeben werden, sein)
Der source ist mit auf den images...

Vielen Dank   :wink:
« Letzte Änderung: 20. October 2007, 16:59 von maxinator »

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 20. October 2007, 18:25 »
Ich habe mal auf meinem alten notebook getestet was er zu den maustreibern sagt. Lauft eigendlich einwandfrei... nur wird die anzeige falsch aktualisiert!
Z.B. Wenn ich eine maustaste loslasse muss ich erst wieder was anderes machen bevor es richtig angezeigt wird. (zb maus bewegen oder klicken)

Als wenn man sozusagen den ersten IRQ ausgelassen hätte und nun das byte des ersten IRQ verarbeitet wenn der 2 IRQ ausgelöst wird...

db 0x55AA

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #5 am: 20. October 2007, 18:41 »
was hatn dein prog bei dir für zahlen ausgegeben ... für mich interessant sind die beiden, die gleich sein sollten, denn das ist die mouse-id..
oder anders gefragt, falls ich das mit den zahlen auskommentiert habe...
hat deine maus ein rad? und hat deine maus zufällig mehr als 3 tasten?

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 20. October 2007, 19:06 »
Ist ein Touchpad. Die "Mausrad" Funktion ist bei Touchpads glaube ich nicht fest eingebaut. Man bewegt dazu normalerweise den Finger am rechten Rand der Touchpadfläche. Und dabei wurden nur die y position verändert. Was bei einer vorhandenen Simulation des Mausrades nicht der Fall sein sollte. Tasten hat das Teil nur 2 Stück.

Die ausgegebenen Zahlen sind:47
0
0

PS: Ich habe heute schon zuviel Hitman gespielt. Und jetzt diese unterschwelligen Botschaften. xD
db 0x55AA

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #7 am: 20. October 2007, 22:53 »
wenn du damit meinst, dass die 3 Zhalen kein sinn ergeben xD... dann hast du recht...xD..
Dein Fehleranalyse war SEHR hilfreich, ich habe den fehler-punkt ausch schon gefunden, kurz gesagt ist es ein nebeneffekt in meiner mausroutine, der geschieht, weil ich die für mäuse mit mausrad und für mäuse ohne kompatible machen wollte.. habs aber falsch angestellt...

so bugfixes:
 - die mausbytes werden auch bei älteren mäuse (id=0 -> 3Byte-Packet) ohne störungen verdeutlicht (ich meine, das erste paket wird nciht erst nach abruf des 2. dargestellt)
   ->dadurch ist der code viel schneller geworden xD... (1x inc weg 1x dec weg 1x jmp weg)
 -das command-byte wird ab jetzt immer korreckt angenommen (wenn bei einem 1C01 als erste Zahl da stand, war dies nicht der fall... dieser fehler tritt zwar in emulatoren nciht auf, jedoch scheint auf normalen PCs das gesendete Command-Byte(mit 20h an 64h) vom IRQ1 abgefangen werden (da ja bit 1 im status-byte gesetzt wird(daten an 60h), und immer wenn dieses Bit gesetzt ist, wird ja auch der IRQ1 angepingt (siehe Commad-Byte Bit 0?))
  ->gelöst mit CLI vor senden des befehls 20h und STI nach erfolgreichem abholen des Bytes

so, ansonsten habe ich hier wieder die aktuellste versionen der beiden images geupped ... wenn ihr jetzt "version" eintippt, sollte 0.0.5 alpha erscheinen...
ansonsten einfach zum testen der maus "ps2mouse" eintippen... wenn hier so mehr als 2 leute sagen, dass es klappt, kann ich mich endlich mit ruhigem gewissen dem tutorial wieder zuwenden..
ich frage auch nochmal einen typen aus dem ( :roll: bitte nicht haun) SVZ ... der hat 4 Computer und testet das morgen für mich auf allen xD

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 21. October 2007, 09:29 »
Ich habe es noch einmal getestet. Es wird nun folgendes auf dem Notebook ausgegeben: 4500
47
0
0

Auf meinem "richtigem" Rechner, der eine Maus mit Mausrad hat, ist es dann:4500
47
3
3

Wobei ich dort die mittlere Taste(Mausrad) nicht drücken kann weil sie kaput ist. Aber die 4 Maustaste erkennt er als mittlere. :)


Einige andere Sachen, die mir im OS aufgefallen sind:
1. Die Floppy wird nicht ausgeschaltet
2. Das Tab Zeichen wid nicht gefiltert. Bzw. es wird eine art Kreis-Zeichen ausgegeben
3. Das Reboot Kommando überschreibt nur ein paar Bildschirmzeichen und hängt dann.
db 0x55AA

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #9 am: 21. October 2007, 10:50 »
das er die 4. als mitllere erkennt ist eig. unmöglich, weil die tasten 4+5 in dem Byte, wo auch das Mausrad ist codiert wird...
aber ich sehe sowieso gerade, dass mein prog 3 als id zurückgegeben hat, was heißt, dass deine maus eig. nur 3 tasten haben sollte....

joa, das mt den tabzeichen is mir eig. erstmal egal, mit esc geht das auch xD oder mit anderen strg+ kombinationen, da kannste dann smileys oder zeilenumbrüche herbeizaubern xD

mit dem reboot das bekomme ich iwie nicht hin, jedenfalls unter bochs scheint es nur mit int 19h zu gehen... bei folgendem geht boch irgendwie nur in den systemmanagmnet-mode und hängt sich dann auf. mov ax,40h
mov es,ax
mov word[es:00072h],0
jmp 0ffffh:0000h
..


woran das mit der floppy liegt, kann ich mir nicht erklären, die einzige funktion die ich benutze ist mov ah,02h -> int 13h ... und funktionenn die das floppy-laufwerk wieder ausschalten kann ich auch nicht beim int13h finden...
aber mir war so, als hätte Lost noch das selbe Problem xD
« Letzte Änderung: 21. October 2007, 11:03 von maxinator »

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 21. October 2007, 11:07 »
Die mittlere Maustaste wird wohl von der Maus selber beim drücken der 4. Taste signalisiert wenn sie im 3-Tasten Modus ist.

Die Floppy wird manuel über die Software ein- und ausgeschaltet. Da die Anlaufzeit des Motors relativ lange ist wird dieser meist nach einem Lesezugriff an gelassen. Man setzt einen Timer und schaltet den Motor erst wieder aus, nachdem über einen gewissen Zeitraum nicht mehr gelesen wurde.

Wenn man nun im Bootsektor die benötigten Daten über eine BIOS Funktion liest, und anschließend direkt in den PMode wechseln, bzw. die alten Interrupt-Routinen aushebelt. Dann kann der vom BIOS-Code gesetzt Timer auch nicht mehr die Floppy ausschalten.

Du kannst zum ausschalten des Floppy auch einfach folgendes machen: mov dx, 0x3F2
out dx, 00000100b
db 0x55AA

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 21. October 2007, 11:21 »
Ach, ich wollte ja noch was zum Rebooten schreiben. Jaja, man wird vergesslich.

Zum Neustarten benutze ich den Keyboard Kontroller. Dort muss man nur ein Bit setzen und *schwups* ist der PC am neustarten, egal ob man im Real oder PMode ist.

Ich hatte dazu schon was im Wiki geschrieben: http://lowlevel.brainsware.org/wiki/index.php/KBC#CPU-reset
db 0x55AA

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #12 am: 21. October 2007, 11:55 »
so, wie du das beschrieben hast, würde es ja auch etwas helfen, wenn ich meinen PIT so umbaue, dass er nach der bestimmten zeit den alten BIOS-PIT-INT aspringt... das hatte cih früher auch mal so... aber ich werds wohl auf deine Methode machen...
ich hab gleich mal den port des ersten floppy-controllers nachgeschalgen... ich sehe schon wieder ein Thema für ein Tutorial xD... den int 13h

Wäre noch jmd. außer Osbios bereit die Maus mal zu testen....

 :lol: verdammt, auf das mit dem Keyboard hätte ich auch selber kommen können, wenn ich das schon in meinem tutorial bei den Spezifikationen mit aufzähle xD

EDIT: was ich imemr wieder lustig finde und was ich gerade auch hier wieder bemerke ist, wie stark der KC beansprucht wird, ich glaube das war früher sogar so, aber es kommt einen vor, als wäre das keyboard das herz des computer #2 xD

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 21. October 2007, 12:33 »
Zum Thema KBC und warum man so viele "andere" Dinge damit machen kann, habe ich versucht etwas einleitendes im Wiki zu schreiben. Hintergrund ist das sogenannte Programmable Peripheral Interface (PPI). Ich hatte aber noch keine Lust mich damit näher zu befassen. Im Grunde genommen sind die Ports, die man zum Ansteuern des KBC benutzt, eigentlich Ports des PPI. Und der KBC ist nur ein Gerät, welches über das PPI angesteuert wird. Ich glaube, so kann man sich das am besten vorstellen.

Wir sollten mal ein paar alte Dokus auseinander nehmen und einen Artikel im Wiki schreiben um die Sache klar zu stellen!
db 0x55AA

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #14 am: 11. November 2007, 11:41 »
moin moin, ich melde mich mal wieder xD ich habe es endlich geschafft mein PS/2Maus-Tutorial zuende zu schrieben, da gestern der Testbericht von dem reinkam, be dem meine frühere Version gestreikt hat. Doch nun wurde mir bestätigt, dass mein PS/2-Maus-Treiber auf allen seinen 3 Computern funktionieren.
(Sein Computer: E6400, 3 GB Ram, 8800GTS, GA-965P-DS3
Nummer2: P4 1,8 GhZ, 512 MB RAM, GeForce 4
Nummer3: 25 MhZ 80486 3 MB RAM *hrhr*)
Was ich noch nicht weiter testen konnte als in einem virtuelen PC ist das verarbeiten und interpretieren des 4.Bytes, weshalb das mit dem Mausrad(z-Position) und das mit den Tasten 4+5 evtl. noch nciht gehen könnte....

und hier der link xD: click here
oder auf maxinator.tk gehen und dann bei dem inhaltsverzeichnis auf "programming scripting und howtos" und dort sollte man es dann sehen..

ich hoffe es hat soch gelohnt sich die ganze 2.Ferienwoche damit zu quälen diesen Maustreiber endlich mal nach dem 5.Ansatz zuende zu schreiben... und ich hoffe auch, das man hier sowas benötigt, bzw., dass einigen von euch meine art zu schrieben gefällt und das tut somit auf resonanz stößt... :)
« Letzte Änderung: 11. November 2007, 13:31 von maxinator »

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 11. November 2007, 15:29 »
Was hieltest du davon, eine Kopie davon in unser Wiki zu stellen?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #16 am: 11. November 2007, 16:38 »
Ja, würde ich gerne machen, aber wie genau geht das, habe noch nie irgendeinen wiki-artikel verfasst....

blitzmaster

  • Beiträge: 77
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 11. November 2007, 16:49 »
melde dich in der wiki(lowlevel.brainsware.org/wiki) an (rechts oben, anmelden), und log dich ein.
Dann gibst du im Suchfeld (links auf der Seite) den Artikelnamen ein, den du gerne hättest. Dann klickst du auf "Artikel" (der 1. Button) und dann wird im Hauptbereich im zweiten Absatz als roter link "... verfassen" (...=der Artikelname) sein. Den klickst du (sofern du eingeloggt bist) an und dann kannst du schon beginnen. Ich empfehle dir einen bestehenden Artikel mal anzuschauen, damit du weist, wie sowas von der sytax her aufgebaut ist. (einfach Artikel aufrufen und auf "Bearbeiten" ganz oben klicken)
A / OS PM - THE operating system of the future

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #18 am: 11. November 2007, 20:22 »
boah... das umformatieren geht ja mal total ***** .... menno....

EDIT: Bestünde die Möglichkeit, dass es in der Wikipedia eine Beschränkung bei der Größe von Artikeln, ich schätze mal bei 70Kb gibt?, denn wenn ich ab einer bestimmten Menge an Inhalt versuche das in der Vorschau einzeigen zu lassen, wird alles gelöscht...  :?

EDIT2: Ich kann keine Dateien hochladen... naja.. ich werde sie, den Quellcode, einfach auf meiner HP verlinken, aber das Problem ist dann halt, wenn ich mal umziehe, oder der Anbieter down ist.... ....

ansonsten bin ich soweit fertig... der Link ist http://lowlevel.brainsware.org/wiki/index.php/Programmierung_der_PS/2-Maus
übrigens ist es ein Fehler, dass die Artikel-Datei "2-Maus" heißt xD
« Letzte Änderung: 11. November 2007, 22:09 von maxinator »

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 11. November 2007, 23:59 »
Dankeschön für die Mühe. :)

Ich hab es noch in die Kategorien eingefügt, damit man den Artikel auch findet.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen