Maus am ct-BASIC - bitte mal testen

Das Forum für die Software der FPGA-Basisplatine
Antworten
cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Maus am ct-BASIC - bitte mal testen

Beitrag von cm » 21.12.2009, 13:55

Anbei ein ZIP mit einem modifizierten BASIC zur Mausbedienung. Das schwierigste war eigentlich das Design des Mauszeiger-Bitmusters (im FPGA als Hardware, 0000001110110010 ...).

Bitte mal ausprobieren: PS/2-Maus statt Tastatur anschließen. Alle Dateien im ZIP auf SD kopieren. Automatisch geladenes Programm Maustest.bas sollte Koordinaten, gedrückte Buttons und beim Klick auf einen Bildschirm-Buchstaben den zugehörigen ASCII-Wert anzeigen. Die Menüpunkte RUN, STOP, LOAD funktionieren allerdings noch nicht. LOAD soll später mal ein mehrspaltiges SD-Karten-Directory anzeigen, bei dem man mit einem Klick auf einen Dateinamen das jeweilige Programm lädt.

Maussteuerung habe ich mir quick&dirty so gedacht: Bei z.B.

10 INPUT "Wert-Auswahl [1] [2] [23.3769] "; W

oder

10 INPUT "Option [Messung] [Speichern] [Abbruch] "; W$

wird mit einem Klick auf eine der angezeigten Zahlen in [] diese in die angeforderte Variable übernommen (noch nicht implementiert). Natürlich können die Zeiger-Koordinaten und der Button-Status auch über PEEKs abgefragt werden, ebenso der angeklickte Buchstabe (etwa für eine "Bildschirm-Tastatur") und der Maus-Event.
Dateianhänge
MAUSTEST.zip
(73.31 KiB) 117-mal heruntergeladen
Carsten Meyer

Redaktion c't

umatthe
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 08.10.2008, 23:20

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von umatthe » 21.12.2009, 23:58

Hallo,

kann das mit einer Standard-Maus funktionieren? Müsste man dazu nicht die
Core-RAM Platine leicht ändern? PS2-CLK und PS2-Data liegen beim Keyboard
und der Maus doch auf verschiedenen Pins?
Da die Core-RAM Platine momentan sowieso nur Keyboard oder Maus kann, könnte man
beide kurzschliessen.

ciao
Udo

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von VGOE » 22.12.2009, 07:34

Hiho,
die Steckerbelegung ist identisch, nur die Protokolle sind unterschiedlich.
Mehr zu den Protokollen und einer möglichen FPGA Implementierung findet man z.B. hier:

FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version von Pong P. Chu.
Leider etwas teurer aber eine wirklich sehr empfehlenswerte und gute Quelle für FPGA / VHDL Implementierungen.
(Kostet ca. 62€ bei z.B. amazon ISBN-13: 978-0470185315)

Es ist aber garnicht so einfach, noch eine reine PS2 Maus zu finden .....
Die meisten Mäuse sind heute USB/PS2 Kombi Modelle.
CU
Volker

cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von cm » 22.12.2009, 09:23

Mein Maustreiber funktioniert auch mit USB/PS2-Kombimäusen (ausprobiert mit Logitech und Microsoft Wheel Mouse Optical). Aber warum nicht eine Uralt-Maus recyceln?

Interessant ist hier die Frage, ob das Ganze auch mit Touchscreens oder Scrollpads funktioniert - das wäre in Verbindung mit einem kompakten LCD eine wirklich brauchbare Anwendung.

BTW: Eigentlich sollte es möglich sein, im FPGA noch einen USB-1.1-Host unterzubringen, der dann natürlich Maus und Tastatur gleichzeitig bedienen kann. Ob ich das in diesem Leben noch schaffe, ist allerdings ungewiss. Hardwaremäßig sind zumindest nur die vier Widerstände am PS/2-Port zu ändern, als Anschluss diente dann ein USB-Adapterstecker an der PS/2-Buchse.
FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version von Pong P. Chu.
Leider etwas teurer aber eine wirklich sehr empfehlenswerte und gute Quelle für FPGA / VHDL Implementierungen.
(Kostet ca. 62€ bei z.B. amazon ISBN-13: 978-0470185315)
Stimmt, ist auch mein Buchtipp auf http://www.heise.de/ct/projekte/machmit ... /LinkSeite. Allerdings geht es nicht auf die Entwicklungsumgebung ein, nur auf die durchaus praxisnahen VHDL-Implementierungen. Den PS/2-Transmitter z.B. habe ich hier entnommen.
Carsten Meyer

Redaktion c't

umatthe
träumt vom eigenen c't-Lab
träumt vom eigenen c't-Lab
Beiträge: 5
Registriert: 08.10.2008, 23:20

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von umatthe » 22.12.2009, 10:39

Hi,

falls noch 2 Pins am FPGA frei sind, könnte man verhältnismässig einfach
Keyboard und Maus gleichzeitig anschliessen. Man bräuchte dann nur
ein Y-Kabel (siehe http://pinouts.ru/InputCables/Ps2Keyboa ... nout.shtml).

Diese Y-Kabel haben mich auch auf die irrige Annahme gebracht, die Maus würde
andere Pins zur Kommunikation benutzen. Denn wenn man so ein Y-Kabel benutzt,
ist das wohl wirklich so.

ciao
Udo

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von VGOE » 22.12.2009, 20:08

So,
die Test laufen bisher erfolgreich :)

@CM Gute Arbeit!!

Jetzt fehlt nur noch das ISE Projekt im SVN :roll:

CU
Volker

PS: geteste Maus: DELL Kugelmaus mit Mausrad und 2 Tasten, kein Kombimodell.

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von VGOE » 27.12.2009, 12:21

Frohe Weihnachten (gehabt zu haben :) ),
ich habe jetzt "Platz" gemacht. Das PS2 Interface habe ich auf die für mich z.Z. (noch) nicht wichtigen Leitungen für den IO600 Bereich gelegt (4 Widerstände, 2 Jumper und ein altes Slotblech mit einer 6pol. Mini-DIN-Buchse, alles zusammen auf dem freien Lochrasterfeld neben der VGA-Buchse aufgebaut). Jetzt soll das PS2 Maus und Tastatur Interface parallel implementiert werden. Die Tastatur läuft einwandfrei am zweiten Interface.

CU
Volker

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: Maus am ct-BASIC - bitte mal testen

Beitrag von VGOE » 10.01.2010, 13:53

@CM
Bisher konnte ich keine Probleme erkennen. Gibt es auch demnächst die ISE im SVN?

CU
Volker

Antworten