atari-home.de - Foren

Hardware => Hardware (Classic 16-/32-Bit) => Thema gestartet von: 1ST1 am Mo 11.08.2014, 14:10:57

Titel: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: 1ST1 am Mo 11.08.2014, 14:10:57
Am Samstag, auf der HomeCon hat Börr erzählt, dass er eine Möglichkeit kennt, eine ST-Tastatur per USB an einen anderen Rechner zu betreiben. Das wäre natürlich genial, z.B. um einen MIST in ein 520ST Gehäuse einzubauen... Ich suche schon eine Weile nach solch einem Adapter, aber fündig bin ich bisher nicht gefunden, jedenfalls nichts fertiges.

Was ich fand, war Ardiuno-Quellcode: https://github.com/devonshire/arduino-atari-hid-keyboard
Und eine ähnliche Idee: http://www.kevinpeat.com/atari_pi_components.html

Schade an diesen Lösungen ist, dass sie nicht auch die Maus und/oder gar Joysticks über die ST-Tastatur abfragen können. Solch ein Umbau sollte ja richtig echt aussehen...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Mo 11.08.2014, 20:38:33
Ich habe den Link hier aus dem Forum, nit das wer denkt dass ich mich mit fremden Ferdern schmücken will. Ich habe mir das Projekt als Basis für ein eigenes Projekt genommen, aber umgedreht Tastatur an Atari :-P und ich wollte es erst fertig machen, bevor ich es poste :(
@1st1 ich kann Dir Joystick und Maus drannpappen ;)
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: 1ST1 am Mo 11.08.2014, 22:45:25
Mit Joystick/Maus an der ST-Tastatur über USB wird wahrscheinlich etwas komplexer, weil der Ardiuno einen USB-hub emulieren muss, an dem diese Geräte dann neben der Tastatur virtuell dran hängen. Der Ardiuno muss dann Joystick(s) und Maus auf diese virtuellen USB-HID-Devices am Hub umsetzen... Wäre aber toll wenn das klappen würde, ich glaube das würde so einigen hier gefallen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Mo 11.08.2014, 23:45:49
Muss ich mal testen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Do 14.08.2014, 18:50:07
Maus sollte überhaupt kein Problem sein, muss nur der Code nachgepflegt werden.  Der verwendetet Arduino Leonardo kann jedenfalls von Haus aus eine Maus emulieren. Und beim Einlesen von der Seriellen Schnittstelle müssen halt nur die Mouse events auch berücksichtigt werden. Das macht Kevin halt nur mangels Interesse nicht. Joystick ist a weng komplexer, aber auch für die Verwendung eines Leonardo als HID Joystick gibt es Biblioheken. Auf der Abfrageseite beim IKBD ist es eigentlich egal. Keypress, keyrelease, mouse move, joystick ... alles nur bytes im datenstrom des ikbd an die serielle schnittstelle.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: MiST am Fr 19.09.2014, 14:34:32
Joystick ist a weng komplexer, aber auch für die Verwendung eines Leonardo als HID Joystick gibt es Biblioheken.

Das wäre in der Tat sehr interessant. Ich habe noch nie ein USB-Gerät gesehen, dass HID-Tastatur, -Maus und Joystick in einem war. Sollte aber mit dem MIST gehen. Bzw. wenn es nicht geht fixe ich es gerne.

Allerdings wird das Ergebnis nicht "kompatibler" sein als andere USB-Geräte. Das Zielgerät sieht den IKBD in der Tastatur auf diese Weise nicht mehr und wir weiterhin eine eigene IKBD-Emulation verwenden.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: tfhh am Mo 06.10.2014, 15:29:20
Moin,

Am Samstag, auf der HomeCon hat Börr erzählt, dass er eine Möglichkeit kennt, eine ST-Tastatur per USB an einen anderen Rechner zu betreiben. Das wäre natürlich genial, z.B. um einen MIST in ein 520ST Gehäuse einzubauen... Ich suche schon eine Weile nach solch einem Adapter, aber fündig bin ich bisher nicht gefunden, jedenfalls nichts fertiges.

Also, ich kenne den aktuellen Stand der Entwicklung nicht, aber Sebastian "Candle" Bartkowitz (hat sehr viele geile Sachen für den Atari XL/XE entwickelt, aber auch für den ST - nur kaum außerhalb Polens bekannt) hat mir vor Jahren mal ein Bild gezeigt mit einer Schaltung auf ATmega-Basis, die entsprechendes ermöglicht. Ob er das fertig gemacht hat oder so, weiß ich nicht. Er ist über seine Webseite www.spiflash.org erreichbar, einfach mal nachfragen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Mo 09.02.2015, 21:47:59
So, ich habe den Sketch für Arduino mal (fast komplett neu) weiterentwickelt, auf deutsche Tastaturen optimiert, (<> Taste, AltGR auf ~, F11 F12 auf Num () und Page up/down auf Help/Undo), einen Maus und Joysticktreiber eingebaut und einen Mausspeedup eingebaut.

Für den Joystick mussten die  USBapi.h und die HID.cpp der Arduino IDE angepasst werden.
Ich empfehle die Verwendung eines Pro Micro, der ist klein und billig.

Soll das Keyboard auch im BIOS funktionieren, muss man wahrscheinlich einen Teensy verwenden und den Code anpassen.

RX und TX der Tastatur mit RX/TX des Arduino, V+ und GND ebenso verbinden.
Arduino per USB an den PC und ab gehts ...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Mo 09.02.2015, 23:49:08
Ty, werde ich gleich mal testen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: 1ST1 am Di 10.02.2015, 08:38:07
Na da bin ich ja mal aufa Testergebnis gespannt.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Di 10.02.2015, 10:09:57
Der Test ist erstmal bis um halb zwo auf dem Sofa eingepennt :/
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Lukas Frank am Di 10.02.2015, 11:21:14
Wenn das anders herum auch gehen würde also eine USB Tastatur und eine USB Maus am Atari ST, das wäre schon klasse, so was suche ich noch für meinen Mega ST ...

Am CosmosEx und an der Firebee geht das ja schon ...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Di 10.02.2015, 11:46:12
Kommt noch. Aber heute abend muss ich erst mal alle ausstehenden Finanztransaktionen erledigen.
z.B. Meine ebay-Käufe bezahlen.
z.B. einen kürzlich ersteigerten Floppy Controller         ;)
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Lukas Frank am Di 10.02.2015, 13:10:28
Kommt noch.

Schön wäre wenn so ein Adapter auch einen USB Hub unterstützen würde, ich gehe mal davon aus das nur ein USB Port vorhanden ist und man ja minimal zwei Geräte anschliessen muss. Zudem würde auch z.B. eine Apple USB Tastatur unterstützt da das Teil einen internen USB Hub hat um zwei weitere Geräte anschliessen zu können z.B. eine Maus und einen Joystick. An der Firebee wird die Apple Tastatur nicht erkannt, wahrscheinlich weil die Firebee keine Hubs unterstützt, keine Ahnung ...   
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Di 10.02.2015, 14:16:26
Ich denke schon, dass er einen Hub unterstützen wird:

https://github.com/felis/USB_Host_Shield_2.0/tree/master/examples/hub_demo

Es muss einem aber klar sein, dass die Anschaffung eines arduinos und eines USB-Host Shields, eines
USB-HUBS und der Versandkosten mehr kosten wird als ein einfacher arduino pro mikro.

Sprich: Die Gegenrichtung ist deutlich teurer als die Hinrichtung ( :) ) - ich schätze mal so um die 50 EUR
wird es kosten, wenn man meine Lösung nachbaut. (TEENSY 3.1  + Host Shield)
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Lukas Frank am Di 10.02.2015, 14:22:02
Das mit dem Geld ist schon in Ordnung, allerdings wäre ein ganzes Rechnersystem für den Zweck ein wenig überkandidelt ...

Bin mal gespannt wie das ausschauen wird !?!
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Di 10.02.2015, 14:34:33
So ungefähr:

(http://www.pjrc.com/teensy/td_libs_USBHostShield_1.jpg)

Wenn man löten kann , wirds kleiner
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Lukas Frank am Di 10.02.2015, 14:48:01
Das sieht wunderbar aus, alles in ein kleines Kästchen zwischen ST Tastaturanschluss und USB Keyboard ...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Di 10.02.2015, 14:56:48
und irgendwann werd ich das alles auf  http://www.atarduino.de veröffentlichen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Di 10.02.2015, 21:46:06
Es ist ja nur ein serielles Protokoll, aber wie macht sich da die 0,5 baud? Oder hast du den Atmel anderst getacktet?
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: 1ST1 am Mi 11.02.2015, 07:07:58
0,5 Baud, also ein halbes Bit pro Sekunde find ich jetzt aber ein bischen langsam dafür, dass der 6850 mit 50 kHz getaktet wird....?   >:D
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Mi 11.02.2015, 07:59:08
Vermutlich meint er das halbe Baud Differenz zwischen der echten Geschwindigkeit der ikbd Schnittstelle und den 7812 Baud im Sketch von Kevin. Oder er hatte selber gestern Abend ein halbes Bit pro Sekunde. Ich hab vor 10 Jahren mal den tastaturprozessor umgetaktet, weil sich der UART des PCs nicht auf die 7812.5 Baud programmieren ließ. Mit dem Arduino ist das Gott sei dank anders.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Sa 07.03.2015, 08:53:43
Ich wollte gestern den Adapter nachbauen, nur irgendwie ist die Formatierung kaputt. Wo finde ich das pinout für eine st520 tastatur?
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Sa 07.03.2015, 11:25:08
Zitat von: daeghnao
From ST Internals, p 67-73, I have collated the following information:

PIN: FUNCTION
1: Ground, goes to Port 0 Pin 8 and Port 1 Pin 8
2:
3: Port 1 Pin 4 (right)
4: Port 1 Pin 3 (left)
5: Port 1 Pin 2 (down)
6: Port 1 Pin 6 (fire) and Port 0 Pin 9 (right button mouse)
7: Port 1 Pin 1 (up)
8: Port 0 Pin 4 (right)
9: Port 0 Pin 3 (left)
10: Port 0 Pin 2 (down)
11: Port 0 Pin 6 (fire)
12: Port 0 Pin 1 (up)
13: +5V, goes to Port 0 Pin 7 and Port 1 Pin 7
14: 6301 data to 6850, 7812.5 baud
15: 6850 data to 6301, 7812.5 baud
16: 68000 reset line
17: Port 1 Pin 5 (port 0 enable)

So it seems that you can access both the raw data from the two joystick ports and also the serial data with the key presses, joystick and mouse packets and all the other communications stuff.

Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am So 08.03.2015, 09:55:14
Kennt jemand das genau Protokoll der Tastatur? Irgendwie kann ich dem Chip keine Daten entlocken :(
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Lukas Frank am So 08.03.2015, 12:43:57
Schaue mal ins Profibuch ab Seite 922, da müsste alles drin stehen ...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Mo 09.03.2015, 16:24:38
Kennt jemand das genau Protokoll der Tastatur? Irgendwie kann ich dem Chip keine Daten entlocken :(

Ich kenne es ziemlich gut ...

Geht es um eine 260/520/1040 ST(E)/Falcon Tastatur ?

Oder Mega ST(E)/TT ?

Wie und wodran angeschlossen ?
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Börr am Sa 21.03.2015, 18:51:56
Arduino Mega, aber imo ist alles verpackt muß umziehen :(((
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Di 01.12.2015, 16:38:23
Allerdings wird das Ergebnis nicht "kompatibler" sein als andere USB-Geräte. Das Zielgerät sieht den IKBD in der Tastatur auf diese Weise nicht mehr und wir weiterhin eine eigene IKBD-Emulation verwenden.

Sag mal lieber Herr MiST, wäre es nicht eine Option, bei einem über USB an den Mist angeschlossenen Arduino einfach über dessen USB/RS232 Schnittstelle die Daten des IKBD auszugeben und zu empfangen ? Ich mach dir dann für den Arduino einen kleinen Sketch, der Daten von Serial (9600baud) nach Serial1 (7812.5 baud) schaufelt und umgedreht.

Auf die Art und Weise könnte man eine Atari Tastatur an den MiST anschliessen UND wäre 100% kompatibel, weil der MiST den Tastaturprozessor dann sehen kann.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: MiST am Mi 02.12.2015, 22:28:13
Das klingt in der Tat recht einfach. Ich würde einen Teensy nehmen, dann ist man über USB völlig frei und muss nicht mal Baudraten anpassen.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: jeloneal am Di 02.06.2020, 23:59:36
So, ich habe den Sketch für Arduino mal (fast komplett neu) weiterentwickelt, auf deutsche Tastaturen optimiert, (<> Taste, AltGR auf ~, F11 F12 auf Num () und Page up/down auf Help/Undo), einen Maus und Joysticktreiber eingebaut und einen Mausspeedup eingebaut.

Für den Joystick mussten die  USBapi.h und die HID.cpp der Arduino IDE angepasst werden.
Ich empfehle die Verwendung eines Pro Micro, der ist klein und billig.

Soll das Keyboard auch im BIOS funktionieren, muss man wahrscheinlich einen Teensy verwenden und den Code anpassen.

RX und TX der Tastatur mit RX/TX des Arduino, V+ und GND ebenso verbinden.
Arduino per USB an den PC und ab gehts ...

@nobox Ich hab dieses Thema wiederentdeckt, da ich auch grade versuche einen alten Atari mit einem Raspberry aufzupeppen. Ich hab jetzt hier einen Arduino Pro  Micro (will wohl als Leonardo angesprochen werden). Ich die beiden von dir veränderten Dateien angepasst aber beim kompilieren knallts dann und ich kann den Code nicht auf den Arduino schieben. Jetzt stecke ich hier leider in einer Sackgasse und benötige Hilfe.

Hier mal die Fehlermeldung:
Arduino: 1.8.11 (Windows 10), Board: "Arduino Leonardo"

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:234:0,

                 from sketch\ikbd.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:23:1: error: 'ring_buffer' does not name a type

 ring_buffer *_cdc_rx_buffer;

 ^~~~~~~~~~~

exit status 1
Fehler beim Kompilieren für das Board Arduino Leonardo.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Do 04.06.2020, 22:22:23
Füg mal oberhalb von


class Serial_


in der USBAPI.h folgendes ein





struct ring_buffer;


#ifndef SERIAL_BUFFER_SIZE
#if ((RAMEND - RAMSTART) < 1023)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 64
#endif
#endif
#if (SERIAL_BUFFER_SIZE>256)
#error Please lower the CDC Buffer size
#endif

Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: alers am Sa 06.06.2020, 12:10:36
Will ja nix sagen, aber hast Du Dir schon ausgesucht, welche 81 Tasten Du dann nur emulieren willst...
...weil soweit ich das noch weiß, kann der Pro eine Matrix von maximal 9x9 Tasten (Also 81 Tasten) ansteuern, da ist halt der eklatante Unterschied zum Leonardo (Da funktionieren halt alle), oder haben die mittlerweile den Pro so abgeändert, daß er mehr Ports dafür hat ?!?
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: nobox am Sa 06.06.2020, 15:13:49
Lieber Herr @alers, sie haben das Prinzip nicht  verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: alers am Sa 06.06.2020, 15:58:24
Lieber Herr @alers, sie haben das Prinzip nicht  verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...
Hmmm. also würden dann die Micros (Obwohl in deren Specs was anderes steht) es doch können? Super :-) Dann kann ich meine vorherige Aussage nur revidieren und werde selbstredend meine Leonardos durch die Pro Micros ersetzen...
Nee, mache ich nicht.
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: jeloneal am So 07.06.2020, 07:55:10
@nobox Ich hab den Code von Kevin Peat zum Laufen bekommen (tippe grade auf der 520ST Tastatur :) )

Allerdings hab ich immer noch Probleme mit deinem Code.Vielleicht hab ich auch was durcheinander gebracht. In einem anderen Thread hab ich nochmal Teile deines Codes gefunden, dort ist aber das .ino irgendwie defekt. Wärst du evtl. so nett, deine 3 Files nochmal zur Verfügung zu stellen? Gern auch per Mailanhang, falls das hier im Forum problematisch ist.

Vielen Dank schonmal für deine Hilfe bis hierher!
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Count am Di 09.06.2020, 18:38:56
Du kannst auch gerne meinen Sketch probieren. Der setzt auf Kevins auf, ist aber explizit für eine deutsche Tastatur, liefert für die Tasten des Nummernblocks die richtigen Scancodes und simuliert AltGr mit Shift+CapsLock.

https://github.com/rosenrost/BeePi-Atari-Keyboard/tree/master/arduino
Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: jeloneal am Di 09.06.2020, 21:35:05
@Count vielen Dank. Das klingt prima. Für meinen 520ST Umbau ideal. Für den 1040ST muss ich dann wohl noch wegen Joystick und Maus basteln.

Titel: Re: ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
Beitrag von: Count am Mi 10.06.2020, 18:03:27
Basteln musst du nur, wenn du eine Atari-Maus und einen alten Joystick verwenden willst. Bei meinem 520er-Gehäuse habe ich für einen Joystick einen USB-Anschluss nach rechts gelegt, den kannst du ja nach vorne rechts legen. Als Maus verwende ich eine Funkmaus.

Die 1040er Tastatur hat lediglich einen anderen Stecker mit weniger Leitungen. Die, die du verbinden musst, sind aber die gleichen (Tx, Rx, Masse, 5V und Reset). Die Belegung der Leitungen beim 1040er findest du auf Kevins Seite:
http://www.kevinpeat.com/atari_pi_keyboard_wiring.html