USB Maustreiber


USB Maustreiber

von cas » Sa 22. Jan 2005, 00:19
Hallo,

der erste USB Maustreiber (gestet mit Logitech USB Maus) ist verfügbar. Es kann sein das dieser Treiber auch mit anderen Mäusen funktioniert, bitte einmal testen.

USB Maustreiber und Quellcode

@Mirko: was brauchst Du um dies in BOSS XL einzubauen? Schau Dir mal das Basic Demo auf der Disk an. Wenn Du eine USB Cart zum Testen brauchst, sag bitte bescheid.

Beste Grüsse

Carsten

von atarixle » Mi 26. Jan 2005, 15:09
Alles, was ich dazu brauche, sind die Assemblerquellen und genug Platz unter Turbo-BASIC und ATARI-DOS/MyDOS. Und eine Cart. Und möglicherweise etwas Hilfe (aber ich denke doch, die Quellen sind ausreichend kommentiert).

Dieser Treiber läuft bestimmt nicht (nur) im VBI, oder? Ich werde ihn mir mal anschauen (ob nur im VBI oder nicht, beides wird von BOSS-X unterstützt, aber nur VBI hat die besseren Grafik-Effekte).

Läuft die Sammelbestellung noch? Ich denke, ich werde mir eine USB-Cart bestellen.

Mirko

von atarixle » Mi 26. Jan 2005, 15:19
...und den verwendeten Assembler brauche ich auch noch.

Mirko

von cas » Do 27. Jan 2005, 09:40
atarixle hat geschrieben:...und den verwendeten Assembler brauche ich auch noch.

Mirko


Der verwendete BiboAssembler ist auf den Disketten enthalten.

Ciao

Carsten

von cas » Do 27. Jan 2005, 09:42
atarixle hat geschrieben:Alles, was ich dazu brauche, sind die Assemblerquellen und genug Platz unter Turbo-BASIC und ATARI-DOS/MyDOS. Und eine Cart. Und möglicherweise etwas Hilfe (aber ich denke doch, die Quellen sind ausreichend kommentiert).

Dieser Treiber läuft bestimmt nicht (nur) im VBI, oder? Ich werde ihn mir mal anschauen (ob nur im VBI oder nicht, beides wird von BOSS-X unterstützt, aber nur VBI hat die besseren Grafik-Effekte).

Läuft die Sammelbestellung noch? Ich denke, ich werde mir eine USB-Cart bestellen.

Mirko


Hallo Mirko,

schicke mir Deine Postadresse per E-Mail und ich sende Dir eine Cart und Dokumentation zu.

Der Treiber läuft im VBI oder ohne VBI in einer Schleife, verbraucht weniger Platz und weniger CPU als mir bekannte andere Atarai Maustreiber.

Ciao

Carsten

von atarixle » So 30. Jan 2005, 18:19
Hey, geil! Der Treiber funktioniert auch mit der Maus, die ich hier habe: eine kleine optische Pocket-Maus für Notebooks. Allerdings ist der Mauszeiger ganz schön schnell unterwegs.

Ich werde dann mal versuchen, den Treiber an BOSS-X anzupassen.

Mirko

von andreasb » Mo 31. Jan 2005, 00:06
atarixle hat geschrieben:Ich werde dann mal versuchen, den Treiber an BOSS-X anzupassen.


Klasse! Könntest Du die Mausgeschwindigkeit für den User änderbar machen? (mit speichern der Einstellung)

grüße
andreas

von atarixle » Di 1. Feb 2005, 16:07
Da müsste ich den Treiber selbst ändern. Vielleicht könnte man sich in Schreiersgrün zusammensetzen und dran 'rumbasteln...

Mirko

von cas » So 6. Feb 2005, 14:01
andreasb hat geschrieben:
atarixle hat geschrieben:Ich werde dann mal versuchen, den Treiber an BOSS-X anzupassen.


Klasse! Könntest Du die Mausgeschwindigkeit für den User änderbar machen? (mit speichern der Einstellung)

grüße
andreas


Hallo,

die Mausgeschwindigkeit anpassbar zu machen ist mit dem Treiber kein grosses Problem. Die USB Maus sendet die x/Y Abweichung zur letzten Position in Pixel. Um den Mauszeiger langsamer zu machen kann man diesen Wert jeweils durch 2 teilen (shift right). Das kann man bis zu 6 mal machen. Also kann man eine Speicherstelle für die Mausgeschwindigkeit festlegen (Werte 0-6 möglich, wobei 0=schnell und 6=langsam) und die X/Y Abweichung in einer Schleife 0-6 mal durch zwei dividieren.

Beispiel:

Code: Alles auswählen
MSPEED   = $xxx  <--- freie Speicherstelle festlegen

GETMOUSE
01750          LDA XM

                    LDY MSPEED
          .1       BEQ .2
                    LSR
                    DEY
                    BNE .1
01760 .2      CLC
01770          ADC MVERT
01780          STA XM
01790 ;
01800          LDA YM
                    LDY MSPEED
          .3       BEQ .4
                    LSR
                    DEY
                    BNE .3
01810  .4     CLC
01820          ADC MHORIZ
01830          STA YM

Achtung, ich habe den Code gerade aus den Gedächnis geschrieben und noch nicht ausprobiert, aber so könnte es gehen. Man kann das sicher auch noch optimieren.

Die Mausgeschwindigkeit kann dann von Basic/Trubo Basic mit Poke xxx,y (y=0-6) gesteuert werden.

Ciao

Carsten

von atarixle » So 6. Feb 2005, 16:43
Danke, damit lässt sich einiges Anfangen.

Aber noch was anderes: Unter BOSS-X hätte ich es gerne so, dass der Mauspfeil an den Bildschirmrändern stehen bleibt, anstatt jeweils auf der anderen Seite wieder aufzutauchen. Wie kann man das realisieren?

Mirko

von cas » So 6. Feb 2005, 20:15
cas hat geschrieben:
Beispiel:

Code: Alles auswählen
MSPEED   = $xxx  <--- freie Speicherstelle festlegen

GETMOUSE
01750          LDA XM

                    LDY MSPEED
          .1       BEQ .2
                    LSR
                    DEY
                    BNE .1
01760 .2      CLC
01770          ADC MVERT
01780          STA XM
01790 ;
01800          LDA YM
                    LDY MSPEED
          .3       BEQ .4
                    LSR
                    DEY
                    BNE .3
01810  .4     CLC
01820          ADC MHORIZ
01830          STA YM




Uupps, ein Fehler. XM und YM sind die Koordinaten des Mauszeigers, MHORIZ und MVERT sind die Abweichungen von der alten Position. Also müssen MVERT und MHORIZ in der Schleife durch zwei geteilt werden, nicht XM und YM.

Ciao

Carsten

von cas » So 6. Feb 2005, 20:18
atarixle hat geschrieben:Danke, damit lässt sich einiges Anfangen.

Aber noch was anderes: Unter BOSS-X hätte ich es gerne so, dass der Mauspfeil an den Bildschirmrändern stehen bleibt, anstatt jeweils auf der anderen Seite wieder aufzutauchen. Wie kann man das realisieren?

Mirko


In der Routine vor dem Addieren vom MVERT und MHORIZ prüfen, ob der Mauszeiger (MX/MY) schon an den Rändern ist. Nur wenn er nicht an den Rändern ist, dann addieren. Alternativ nach dem Addieren XM/YM auf die Randwerte prüfen und ggf. auf die Randkoordinaten anpassen.

Ciao

Carsten