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