Projektidee "USB RetroArduInput"

  • Hallo zusammen,


    sollte mir jetzt irgendwer die Idee klauen und schneller sein, nur zu ;)


    Mir kam ein sehr verwegener Gedanke: Alte Eingabegeräte werden nicht besser und nicht häufiger. USB-Geräte werden uns aber noch lange begleiten... Aber die alte Hardware wollen wir trotzdem benutzen und ggf. wenn sie ohne Eingabegerät kommt, auch mal testen können.


    Na ja eigentlich fing die Idee schon etwas kleiner an: Mein großes Arbeitspferd hat eine Corsair K68 Tastatur (weil ich einfach die Cherry MX Red so liebe). Über einen USB Host Umschalter soll die aber auch bei Bedarf an meinem Legacy-Arbeitspferd (für Hardware, die an dem großen nicht mehr läuft) laufen. Das Legacy-Arbeitspferd hat zwar USB Tastatur-Support (wäre auch schlecht wenn nicht, bei einem Q6600), aber die Corsair Tastatur läuft, im Gegensatz zu anderen Billig-Tastaturen, nicht außerhalb von Windows. Heißt keine Möglichkeit, ins BIOS zu kommen oder im Dual Boot zwischen Win7 und XP zu wählen. PS/2 Tastatur zusätzlich geht, ist aber nervig, aktive USB zu PS/2 Converter gibt es (z.B. von Blackbox), aber die kosten ein Heiden Geld. Und Geld und Zeit investiere ich lieber initial einmal mehr, um dann in Masse für meinen Retro-Park günstiger wegzukommen (verwegene Idee: Alle Rechner via KVM am großen LCD, der Corsair Tastatur und der Logitech Maus).


    Weil letztlich... ehe ich jetzt für fast 100 Euro pro Stück mal min. 3 Blackbox USB zu PS/2 Converter kaufe und dann für die XTs immer noch nix hab, oder für 30-40 Euro pro Unit Arduino-Krams und Teile, die es mir sogar ermöglichen, bis zu XTs und sogar auf Nicht-DOSen rüberzugehen, dann investiere ich die Arbeit lieber, und wenn mal irgendwann irgendwas sinnvolles rauskommt, teile ich es mit der Community. Außerdem habe ich, 15 Jahre nach meiner Diplomarbeit (auf einem Altera Cyclone II Entwicklerboard mit FPGA (VHDL) und Embedded C Entwicklung) endlich mal wieder Bock auf Programmieren.


    Enter: USB-RetroArduInput. Die Idee war geboren.


    Das USB Host Shield bedarf ja eines Uno oder Mega. Ich bin gleich in die Vollen gegangen und hab den Mega 2560 genommen. Dann lange Zeit Stagnation: Viele Dienstreisen (eigentlich tolles Projekt für Dienstreise, einen Arduino und meine Funktastatur könnte ich ja im Koffer verstauen, und die Entwicklungsumgebung ist auf meinem Laptop) und keine Zeit, ein Problem zu beheben: Es müssen noch drei Lötbrücken auf dem USB Host Shield gebrückt werden. Für alle interessierte: Hier steht die Lösung Defective Arduino USB Host Shield Boards (esp8266-notes.blogspot.com)


    Jetzt endlich: Die Lötbrücken sind gesetzt und der Arduino gibt mir mit dem Host Shield Beispielprogramm für Maus und Tastatur Mausbewegungen und Tasten-Scancodes über die USB-Serial Debugging-Schnittstelle aus.


    Als nächsten Schritt kann ich also nun anfangen, Protokolle zu implementieren, frei verdrahtet auf den Pins zu testen und letztlich in ein weiteres PCB Shield zu gießen. Die Krönung wäre dann, wenn alles abgeschlossen ist, ein 3D-Druck-Gehäuse zu entwerfen. Aber bis dahin ist, wie ich meine Auslastung mit anderen Dingen sehe, 2022.


    Aber was habe ich vor? Weil der Mega mir so viele Pins zur Verfügung stellt, inkl. Analog (PWM), habe ich gleich groß gedacht. Das Ding wird ein Interface-Monster!


    Ports auf dem Arduino:

    - Barrel Jack für Power

    - USB Typ B für Power, Debug (ich gebe weiter Debug-Meldungen raus) und Software-Updates


    Ports auf dem Host Shield:

    - USB Typ A für eins oder mehrere Geräte (die Libraries unterstützen USB Hubs)


    Ports auf dem Output Shield:

    - PC-Kompatible Tastatur: 8-Pin DIN 270° - warum 8-Pin? Weil alles rein passt. 8-Pin DIN 270° ist Tandy 1000, außer beim SL, der hat 7,nur der mittlere Pin fehlt. Auch der 5-Pin 180° XT/AT passt und der lässt sich über einen mechanischen Adapter auf PS/2 anpassen. Somit lassen sich XT, AT/PS/2 und die verschiedenen Tandy 1000 auf einem Connector implementieren.

    - PS/2 Maus: 6-Pin Mini-DIN - selbsterklärend. Mal gucken, ob ich sogar Mausrad implementiert kriege, das Beispielprogramm gibt dafür keine Meldungen aus.

    - Seriell: SubD 9 und ein Max232 zur Pegelkonvertierung - soll umschaltbar zwischen Mouse Systems und Microsoft werden

    - Pulse Mouse: SubD 9 - Amiga und Atari Maus, die geben ja die Pulse von der Gabellichtschranke raus. Der Unterschied zwischen Atari und Amiga liegt wohl in zwei vertauschten Pins, die werde ich denke ich der Einfachheit halber über einen mechanischen Schalter drehen

    - Digital Joystick: SubD 9 - Kompatibel zu Amiga, Atari, C64... Ich werde denke ich auch eine 1350 C64 "Joystick-Maus" Funktion einbauen, wo die Ausgabe von der Maus und nicht mehr vom Joystick bestimmt wird. Von der 1351 C64-Maus mit Proportional-Modus nehme ich Abstand, die scheint etwas aufwendiger zu programmieren zu sein.

    - Analog Joystick: SubD 15 - die Analog-Signale generiere ich per PWM und glätte diese über Kondensatoren. Inkl. zuschaltbarer Begrenzung auf 3.3V (einige PCI Soundkarten hatten 3.3V Vref auf dem Joystick Port)

    - evtl. (muss mich noch einlesen) Apple ADB - es gibt schon entsprechende Libraries für ADB Ausgabe, daher kann ich es auf Best Guess implementieren, aber nicht testen, da ich keine Mac Classic oder Vergleichbare habe. Vielleicht bereite ich es auch nur pintechnisch vor oder lasse es ganz weg.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Ich habe sowas schon versucht, aber leider nicht sehr weit gekommen. Habe hier ein Arduino und einen passenden USB Host und nach etwas hin und her habe ich leider das Ding nicht überzeugen können meine USB HID Geräte zu erkennen. Ich musste das Projekt aus Zeitgründen etwas nach hinten schieben, aber die Idee war dieselbe. Jedoch fand ich, dass Arduino + USB Host eigentlich teuer sind und dachte, dass man mit einem Pi Zero und einem sehr stark reduziertem Linux drauf viel weiter und günstiger zum Ziel kommen würde, da man auch Joysticks und alles mögliche, was von Linux unterstützt wird sich nützlich machen könnte.

  • Mit dem Pi gibt es ja KVM Lösungen der kann also sich als USB Tastatur ausgeben, dann noch PS\2 über GPIOs soweit war ich auch schon mal zumal da sogar Netzwerk KVM mit drin wäre...

    386SX- 20 Mhz "Erster eigener Rechner!2" NoName Komponenten

    486DX -30 "Industrie PC" auf Steckkarte

    Super Sockel 7 Gigabyte GA-5AA 3Dfx Voodoo 3500 TV

    AMD "Geode" ebenfalls Steckkarte für Backplane

    3x IBM Netvista 8364 "ThinRetroSystem" 1-2 von denen würde ich tauschen...


    "und noch so einiges mehr... "

  • Es hat sich einiges getan in der letzten Zeit.


    USB Hub funktioniert mit dem Maus/Tastatur Sketch von Felis, der als Beispiel bei der USB Shield Library bei ist, und um den ich alles drumherum baue, out of the box. Allerdings ziemlich hakelig. Evtl. brauche ich dafür einen besonders kompatiblen Hub mit Netzteil (vielleicht ist die Last was hoch für den Arduino). Im Moment habe ich zwei Hubs, die funktionieren, wenn ich den Arduino mit eingestecktem Funk-Dongle meines Logitech Wireless Sets einschalte und dann nach und nach weitere USB-Geräte einstecke.


    Für den Joystick-Ausgang werde ich wohl ändern und mir zwei digitale Potis besorgen. Den Trick habe ich aus forum.classic-computing.de wo schon jemand einen USB auf Joystick Adapter mit dem Arduino Uno gebaut hat. Meine ursprüngliche Idee war, PWM mit einem RC-Tiefpass zu glätten, aber das hat entweder zu viel Ripple oder ist zu träge. Außerdem spare ich mir so die Umrechnung des Ausgangs zwischen 5V (für ISA Soundkarten) und 3.3V (für einige PCI Soundkarten). Und dann will ich mir noch ein paar USB-Joysticks zum Testen besorgen. Bisher habe ich mit einem Speedlink Competition Pro USB (verhält sich auch "analog" auf X1/X2, kennt aber nur Mitte und Vollausschlag, mit Tasten codiert auf X2) und einen Trio Linker Plus (Adapter von Playstation 1/2, Dreamcast und Gamecube, getestet mit PS2 und DC Pad), der das analoge Steuerkreuz auf X2/Y2 und die Feuertasten auf X1 codiert. Das muss ich noch was ausklamüsern, was da welcher Joystick macht und wie ich das sinnvollerweise umsetze.


    Aus Tastatur-Seite habe ich nun eine fast perfekt laufende XT-Tastatur inkl. zweitem Cursorblock (unabhängig vom Num-Lock des Ziffernblocks). Zwei, drei Scancodes sind noch nicht so, wie bei der Cherry G80-1000 im XT-Modus, da muss ich noch mal gegenprüfen. AT/PS/2 ist etwas aufwendiger, da hier eine größere Host zu Tastatur Kommunikation inkl. Selbsttest stattfindet. Aber nichts, das nicht lösbar ist. Auch das Setzen der Typematic Rate, das auch zu den Host Commands gehört, werde ich implementieren.


    Die serielle Maus, angesteuert über einen der seriellen UARTs des Mega, umgesetzt über einen Max232, verrichtet ihren Dienst auch. Allerdings werde ich wohl die RTS Low abfrage nicht mehr über einen Interrupt machen, sondern über eine Abfrage in der Loop. Der Maustreiber schickt regelmäßig RTS Low, die Interrupt-Routine antwortet mit M, und wenn das passiert, während gerade ein Paket übertragen wird, springt der Mauszeiger, wenn der Interrupt reingrätscht. Ist zumindest meine Vermutung, warum der ansonsten perfekt funktionierende Mauszeiger ab und zu mal springt (im zeitlichen Zusammenhang mit einem RTS Low Event) und oft genug aber auch nicht.


    "Plain Vanilla" Eingabegeräte sind gut kompatibel. Das geht von Billig-Einsteigergeräten bis zu einer Logitech MX500 Laser Maus. Mit Gaming-Tastaturen/Mäusen gibt es etwas Stress. Die Logitech G502SE Hero Maus und Corsair K68 Tastatur (in den BIOS-Modus gezwingen) von meinem Hauptrechner laufen jedenfalls beide nicht. Von der Corsair kenne ich das auch, wenn die an meinem Legacy-Workhorse (Q6600, Asus P5KR) hängt. Windows läuft (XP wie auch 7), aber für BIOS und um im Bootmenü von 7 auf XP zu wechseln brauche ich eine separate Tastatur am PS/2 Port.


    Aber das Projekt wächst und gedeiht und hat Potential, mal irgendwann fertig zu werden (inkl. vernünftigem PCB für die Ausgänge und 3D-Druck Gehäuse). Sobald es tageslichttauglich (fertig mit Restmängeln) ist, geht eine Vorstellung auf Youtube und Sourcecode, Gerber und STL Files auf Github, aber bis dahin ist noch ein langer Weg.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Das Board nimmt Gestalt an

  • Das Projekt macht weiterhin Fortschritte. Leider hat die Platine ein paar kleine Macken. Die fehlerhafte Beschriftung DS1803-010 kann man ja noch ignorieren und einfach einen DS1803-100 (Joysticks haben 100kOhm Potis, keine 10kOhm), aber dass ich bei den Commodore Joystick/Maus Ports Masse vergessen und bei der Verbindung zwischen Max232 und seriellem Port TX und RX vertauscht habe (obwohl auf der Lochrasterplatine richtig, einfach gepennt), ist schon ärgerlicher. Kicad ist schon angepasst und die Platine habe ich temporär durch Auftrennen der TX und RX Leiterbahnen und Fädeldraht für selbige sowie die Masseleitungen gefixt. Jetzt werden Fehler gesammelt und dann neue Boards bestellt.


    Das Keyboard-Interface spricht neben XT jetzt auch AT, auch wenn die Host-to-Device-Kommunikation, die mit AT eingeführt wurde, noch etwas schwächelt (Keyboard Error - Press F1 to continue - aber beim F1 drücken geht es auch brav weiter) und ein paar Scancodes einiger Sonderzeichen mir noch Rätsel aufgeben - und noch viel Arbeit auf mich wartet, weil AT/PS2 mal satte drei Scancode-Sets hat, die ich natürlich alle implementieren will, für den Fall der Fälle.


    Gibt es eigentlich hier Amiga-Freaks, die mir bestätigen können, dass die interne Tastatur des Amiga 500 das gleiche Protokoll verwendet, wie die externen der Bigbox-Amigas (2000 und Co)? Weil der steht ja auch noch aus, und da ich keinen Bigbox-Amiga habe (kann man ja nicht bezahlen), könnte ich sonst nur blind implementieren und bei Fehlern hoffen, dass jemand anders sie fixt (und wenn es Adrian Black ist, von dem ich ja schon den Tandy Keyboard Code geklaut habe).


    Die Amiga-Maus gibt auch schon Lebenszeichen von sich, allerdings habe ich hier noch Optimierungsbedarf für die Timings.


    Joystick inkl. des DS1803-Wahnsinns (teste erst mal mit den 1803-010 mit "eingeschränktem Bewegungsradius) steht noch aus.


    Aber insgesamt:

    - Serielle Maus läuft mittlerweile gut und ohne Sprünge (Interrupt während Writes abgeschaltet)

    - Tastatur für XT und AT läuft ganz okay mit letzten Feinabstimmungen, die noch ausstehen, Tandy muss noch "fertig geklaut" und Amiga programmiert werden

    - Amiga Maus gibt Lebenszeichen von sich und muss nur noch eingetaktet werden

    - Digitaler und analoger Joystick noch offen, auch wegen der Problematik der wirren USB-Joystick-Protokolle

    - PS/2 Maus noch offen

    - ADB muss noch geklaut werden (Quellcode aus einem anderen Open Source Projekt liegt vor), in der Hoffnung, dass das danach auch funktioniert


    Da PCBWay zwar recht günstig ist, es in Summe aber recht teuer wird (min. 5 Boards, Versand, Verzollung durch den Versanddienstleister - teuer, aber nichts, was es rechtfertigt, einen halben Tag frei zu nehmen, um 30km zum nächsten Postzollamt zu fahren), melde ich mich in ein paar Monaten, wenn alle Bugs aussortiert sind, für alle Interessierte mal mit einem Aufruf zur Sammelbestellung.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Push das mal. Gibts da neue Infos?


    Such quasi für meine Nagelneuen USB HIDs auf PS/2 Konverter Geschichten genau sowas. Der Blackbox Adapter is aktuell sündhaft teuer und auch gar nicht Lieferbar.

  • So, nachdem das Projekt aus Zeitmangel lange Zeit lag, hier mal wieder ein kleines Update.


    Das PCB hatte einige Macken. Ich hatte TX und RX beim seriellen Port vertauscht, die Masseleitungen von Amiga Joystick und Mausports vergessen und die zwischenzeitig aufgetriebenen 8-Pin DIN-Anschlüsse (wegen Tandy - wobei ein 5-Pin auch reichen würde, da ich den auf Tandy Pin 6 liegenden Keyboard Reset derzeit nicht verwende - aber schon vorbereitet habe) passten nicht in die entsprechenden Löcher. Die nächste Testbestellung kam von JLCPCB statt PCBWay, doch einiges günstiger, Qualität ebenfalls gut, auch wenn PCBWay sich noch etwas wertiger anfühlt. Die Löcher für den Tastaturstecker sind immer noch etwas klein, da ich mich ein wenig vermessen habe mit der Schieblehre, aber sie sind an der richtigen Stelle und der Tastaturstecker ließ sich anlöten, was deutlich angenehmer ist, als ein Gehäusemontage-Stecker mit Lötkelchen an Kabel baumelnd.


    An der Software habe ich auch gearbeitet.

    Die XT-Tastatur lief ja schon beim letzten Update. Bei der AT-Tastatur steht mir noch einiges an Tests und Optimierungen bevor. Aber es funktioniert weitestgehend, sieht man mal vom 286 ab, der nach Strg+Alt+Entf erst mal einen Keyboard Error schmeißt (weil nach dem Keyboard Reset noch die Break-Codes für den Affengriff übermittelt werden, das muss ich noch unterdrücken), der Tatsache, dass BIOS und Keyb.com nach der Device-ID fragen und bei Übermittlung selbiger Phantomzeichen generieren und die Typematic Rate zwar reagiert, aber nicht ganz das bewirkt, was ich erwarte...

    Serielle und Amiga Maus funktionieren

    Analoger und digitaler Joystick-Ausgang funktionieren, jetzt geht es an die Implementierung verschiedener Joysticks. Auffällig ist, dass auch USB-Joysticks teilweise nicht sauber zentriert sind (Speedlink Phantom Hawk, dafür muss eine interne Kalibrierung im Gerät her) und teilweise nicht mit 8 sondern mit 9 Bit auflösen (Logitech Extreme 3D, dafür braucht es einen speziellen Parser, der zwar existiert, aber noch eingebaut werden muss). Der Speedlink Competition Pro USB bringt meine Software in unregelmäßigen Abständen zum Absturz, der Joystick Demo Sketch vom USB Shield läuft durch, ich muss noch rausfinden, was da los ist.

    Um weitere Tastaturen (Tandy, Amiga) und die PS/2 Maus und das ADB-Interface kümmere ich mich als letztes, allerdings glaube ich, ab jetzt geht es etwas besser voran.


    Sogar eine Basisplatte für das Gehäuse gibt es schon, ist mir lieber, als das etwas unförmige Output Shield ohne Gehäuse zu verwenden und ein Kippen (im schlimmsten Falle gegen eine metallische Oberfläche mit Kurzschluss "Gratis").


    Da sich jeder Joystick anders verhält, hätte ich eine Bitte: Wer besitzt USB-Joysticks und würde sie zu späterem Zeitpunkt mal verleihen bzw. besitzt USB-Joysticks und einen Arduino Uno oder Mega mit USB-Input-Shield und kann mal den Joystick-Demo-Sketch laufen lassen und mir die Ausgaben mitteilen? Library und Sketches finden sich hier, ich bräuchte das Verhalten der Achsen (zentrierter Wert, Maximalwerte) und Buttons (der Competition Pro und der Logitech codieren die Tasten 1-4 in einem Achsenwert!). Hier findet sich für die Interessierten die Library samt Beispielen: https://github.com/felis/USB_Host_Shield_2.0


    Was ich implementieren möchte, sind gängige Joysticks und Gamepads, was wohl eher nicht gehen wird, sind Lenkräder oder Sets für Flugsimulatoren. Hier geht es primär um die Limitierung, dass spezialisierte USB-Steuergeräte (z.B. Lenkrad mit Pedalerie für Rennspiele oder Yoke/Sidestick mit Throttle und Pedalerie für Flugsimulatoren) aus Einzelgeräten jeweils der Kategorie Joystick bestehen und ich, sofern ein USB-Hub überhaupt funktioniert (durch Limitierungen der Library etwas "random") nur je ein Gerät einer Kategorie sinnvoll abfragen kann. Aus zwei "Joysticks", also z.B. einem Lenkrad und einer Pedalerie, einen zu machen, und das auch noch so, dass alte Spiele das verstehen, ist für den Projektrahmen einfach "drüber". Was hingegen geht ist, mit einem funktionierenden USB-Hub (fast so selten, wie ein rosa Regenbogeneinhorn, aber immerhin existent), Tastatur, Maus und Joystick zu betreiben und über die jeweiligen Ports rauszugeben.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Hallo zusammen,


    mein Projekt "RetroArduInput" schreitet langsam aber stetig voran. Was mich aber in den Wahnsinn treibt, ist das Thema AT und PS/2 Tastatur.


    Detaillierte Infos zu Timings, bidirektionaler Kommunikation, Scancodes, Host-to-Device-Kommandos etc. findet man ja reichlich. Es gibt ja auch für den Arduino eine PS/2 Library, die allerdings auch nur recht basismäßig ist und nachdem, was ich bislang alles erlebt habe, glaube ich kaum, dass die jemand schon mal aktiv verwendet hat. Sehr gut finde ich dieses Dokument: PS2 Keyboard.pdf (avrfreaks.net)


    Wozu ich nämlich genau nichts finde, ist das Verhalten bei Shift, Caps, Num und Scroll, konkret gesagt beim Umschalten der zugehörigen LEDs.


    Was ich bisher herausgefunden habe:

    - Beim Drücken irgendeiner ...Lock Taste schaltet die Tastatur, im Gegensatz zur XT-Tastatur, nicht eigenständig die LEDs an und aus, sondern verlässt sich alleinig auf die Ansage vom Host per 0xED (Set Keyboard LED) Kommando mit anschließendem Byte mit Codierung der LED-Status

    - 0xED legt die Tastatur scheinbar schlafen, das heißt genauso wie bei 0xF5 (Disable Keyboard, den ich in freier Wildbahn noch nie gesehen habe) geht die Tastatur schlafen und sendet keine Tasten mehr an den Host

    - 0xF4 (Enable Keyboard) wird sofort hinterher gesendet (sowohl vom BIOS wie auch von keyb.com sobald das übernimmt), um die Tastatur wieder zu reaktivieren


    Jetzt habe ich schon mal einen kleinen Puffer angelegt, der nach einem 0xED oder 0xF5 befüllt und nach einem 0xF4 nacheinander abgefeuert wird. Trotzdem passen manchmal die LEDs nicht zum Verhalten der Tastatur (wenn man die Taste zu schnell wieder los lässt, schaltet der Zustand ggf. nicht korrekt, drückt man sie länger passt es), oder schnelles Tippen mit Shift plus Buchstabe klappt nicht sofort (man muss die Shift-Taste eine Weile gedrückt halten und dann erst den Buchstaben drücken).


    Das Ganze hat sich ein wenig verbessert, seitdem ich den Puffer implementiert habe, aber entweder ist der noch fehlerhaft oder ich habe noch nicht ganz verstanden, wann ich wieder auf die Tastatur schreiben darf.


    Ich sag mal, zu 99% funktioniert es, die LED-Umschaltung wird sauber vom AT-Host-Computer an den Arduino und von dem dann an die USB-Tastatur geschickt, die Tasten machen alle, was sie sollen... Nur halt immer, wenn eine LED umgeschaltet wird, muss man beim TIppen mal kurz inne halten, und da wüsste ich gerne von euch, ob ich da auf dem richtigen Weg bin. Hat da jemand Ahnung, wie das in den Tiefen funktioniert?

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • So, es gibt wieder ein kleines Update.


    Die AT/PS/2 Tastatur funktioniert mittlerweile weitestgehend. Manchmal verschluckt sich das Gerät noch mal etwas bei schnellen Tastenabfolgen mit Bezug auf Tasten, die LEDs schalten, das kann aber daran liegen, dass ich im Moment mit aktivierten Debug-Messages arbeite und die Ausgabe selbiger über den USB-Serial Port auch Zeit verbrauchen. Es funktioniert fast immer. Das Schalten der LEDs über CheckIt funktioniert auch noch nicht, die Werte sind falsch und danach ist das Gerät im Data Report Disabled Modus. Die kleinen Verschlucker und das CheckIt Problem habe ich erst mal hinten angestellt und fange an, neue Dinge zu implementieren. Offen sind noch PS/2 Maus, mit der ich gerade begonnen habe, sowie ADB und die Tastaturprotokolle für Amiga (sollte straight-forward sein) und Tandy 1000 (Fleißarbeit, da eine Adaption von Adrian's Digital Basement PS/2 to Tandy).


    Mittlerweile gibt es zwar auch ein anderes Projekt dieser Art, basierend auf dem Raspberry Pi (USB4VC, gab schon Videos bei LGR und Michael MJD und der USB-Support ist auf dem Pi sicher deutlich besser, als die buggy USB Library auf dem Arduino) aber das Projekt einzumotten, daran denke ich derzeit nicht, weil ich noch ein paar Protokolle mehr an Bord habe, als der USB4VC, und weil es ja auch ein wenig eine Übung für mich ist, wieder in die Hardware/Software-Schiene zurück zu kommen. Mehrere Optionen/Projekte schaden der Szene ja auch nicht.


    Zwischenzeitig gibt es auch ein fertiges 3D-Druck Gehäuse (Bilder hänge ich an), denn auf kurz oder lang bräuchte dieses unförmige Ungetüm ohnehin eines, und in fertig und cool hebt es die Motivation, auch an der Software weiter zu arbeiten.


    Die Platine muss ich wohl noch mal überarbeiten. Abgesehen davon, dass ich mich wohl bei den Pins des Tastatur-Anschlusses etwas vermessen habe und dieser nicht ganz durchgesteckt werden kann (ziemlich abenteuerlich verlötet), habe ich mich dazu entschlossen, die 5V Versorgung für die Tastatur als Indikator zum Abschalten der LEDs (da XT und Amiga keine 2-Wege-Kommunikation haben und die LEDs irgendwie abgeschaltet werden müssen, da sie sonst beim nächsten Einschalten des Computers falsch stehen) zu verwenden und für die PS/2 Maus brauche ich ebenfalls die 5V, da die Maus wohl sofort nach Einschalten des Computers einen Handshake startet, ohne den der Computer den PS/2 Port gar nicht aktiviert. Zum Ausprobieren reichen erst mal ein paar fliegende Drähte, final wird es natürlich richtig gemacht. ADB bekommt auch die +5V als Pin, man weiß ja nie, wozu man es braucht. Und so langsam gehen mir dann auch die GPIO-Pins aus, es wird immer voller.


    Der Joystick-Stack schreit auch noch mal nach einer Überarbeitung, für die höhere Auflösung neuerer USB-Joysticks und weil der Competition Pro USB mir dauernd abstürzt.


    Aber insgesamt macht es sich.


    Wenn ich die neuen Platinen (erst mal für mich zur finalen Qualitätskontrolle) bestelle, mache ich auch mal eine Testbestellung für ein SLA-gedrucktes Gehäuse von JLCPCB, denn wenn ich das Ding mal irgendwann freigebe, wollte ich ja eine Sammelbestellung für PCBs (weil man ja bei JLCPCB und PCBWay immer mindestens 5 bestellen muss), exotischere Teile (DS1803-100 bekommt man nicht an jeder Ecke) und Gehäuse machen. Und an dem Gehäuse drucke ich mehrere Tage mit dem Ender 3 V2. Für mich mache ich das gerne, zumal natürlich auch so coole Hacks wie der mehrfarbige Druck (Filamentwechsel - dank Jyers-UI, einem Marlin-Fork, der die Original-Firmware ersetzt, geht das auch) möglich sind, aber für zig andere Leute wäre das für mich nicht machbar.

  • Hat zufällig jemand einen Mac mit ADB und die Möglichkeit, mir mal den ADB-Port durch zu messen bzw. ggf. später die Möglichkeit, mir einen zu leihen (Raum Köln) oder günstig zu verkaufen (mein Begehren wäre bei Kauf ein kompaktes Gerät wie LC oder Performa, mit Mac zu VGA Adapter und einer Maus und Tastatur, mit der ich das Verhalten analysieren kann, solange mein Gerät noch nicht 100% läuft)?


    Ansonsten geht es hervorragend voran.


    Hier die aktuelle Kompatibilitätsliste

    • Eingabegeräte:
      • USB-Hubs:
        • Generell: Alle Hubs funktionieren nur dann reproduzierbar, wenn ein eingestecktes Gerät ein USB-Wireless-Receiver eines Logitech Tastatur/Maus Sets (hier: K270) ist
      • Compsite HIDs (Maus/Tastatur Sets):
        • Logitech K270 Wireless Maus/Tastatur PASS
      • Tastaturen:
        • Corsair K68 (Gaming Tastatur mit roter Beleuchtung, auch nicht im BIOS-Modus) FAIL
        • Microsoft Wired Keyboard 600 PASS
      • Mäuse:
        • Logitech G502SE HERO (Gaming Maus mit RGB) FAIL
        • Microsoft Basic Optical Mouse PASS
        • Logitech MX500 PASS
      • Joysticks:
        • Speedlink Phantom Hawk (Inkl. Kalibrierung aufgrund ungenauer Zentrierung ab Werk) PASS
        • Speedlink Competition Pro USB PASS
        • Trio Linker Plus (Playstation 1+2, Dreamcast, Gamecube -> USB)
          • Playstation 2 Dual Analogue Controller PASS
          • Dreamcast Controller PASS
          • Gamecube Controller (Kann ich nicht testen, vermutlich gleiches Mapping wie PS2 Dual Analogue) Partial Pass
        • Logitech Extreme 3D Pro PASS
        • Thrustmaster TC Sidestick Airbus Edition (vermutlich auch FCS Hotas) PASS
        • Logitech F-Serie Gamepads Implementierung Offen
    • Zu steuernde Retro-PCs:
      • Tastatur-Interface:
        • IBM PC/XT Klasse:
          • Commodore PC20-II PASS
        • IBM PC/AT und PS/2 Klasse:
          • Headland HT12 286: LEDs in CheckIt nicht richtig gesetzt, sonst okay Partial Pass
          • KMC-A419-3 386: LEDs in CheckIt nicht richtig gesetzt, sonst okay Partial Pass
          • Tyan Trinity S1590: LEDs von BIOS und in CheckIt nicht richtig gesetzt, sonst okay Partial Pass
        • Commodore Amiga Desktop/Tower und Amiga 500 mit Adaptierung auf Platinenstecker:
          • Implementierung Offen
        • Tandy 1000:
          • Implementierung Offen
      • Serielles Interface (Mainboard/Maustreiber):
        • Im 2-Button Microsoft Modus:
          • Commodore PC20-II / Cutemouse PASS
          • Headland HT12 286 / Cutemouse PASS
          • KMC-A419-3 386 / Cutemouse PASS
        • Im 3-Button Logitech Modus (generell: Verhalten Lösen der mittleren Taste falsch, sonst alles okay):
          • Commodore PC20-II / Cutemouse Partial Pass
          • Headland HT12 286 / Cutemouse Partial Pass
          • KMC-A419-3 386 / Cutemouse Partial Pass
      • PS/2 Maus Interface (Mainboard/Maustreiber):
        • Tyan Trinity S1590: Funktioniert mit Logitech-Treiber aber nicht mit Cutemouse Partial Pass
      • Analoger Joystick:
        • ISA-Karten (5V Referenz)
          • Creative Labs Soundblaster 2.0, Aztech Sound Galaxy NXII (CPS Soundblaster 2.5) PASS
        • PCI-Karten (3.3V Referenz)
          • Test Offen
      • Commodore/Atari Maus:
        • Amiga 500 PASS
        • Atari ST (PASS? Ungetestet mangels Gerät, jedoch reine Pinout-Änderung)
      • Commodore/Atari Joystick:
        • Joystick-Modus (reagiert auf USB-Joystick):
          • Amiga 500 PASS
        • 1350 „Joymouse“ Modus (reagiert auf USB-Maus):
          • Amiga 500 als Joystick, keine C64 Software verfügbar PASS
      • Mac Classic und Co (ADB):


    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Macintosh IIci ist in schlechte Zustand und ist mit PortaComp PCII Netzteil verbastelt. SMD Elkopest und stand wohl mal unter Wasser /extreme Feuchtigkeit.

    Man krieg den zum laufen, aber man braucht Zeit für Reparatur von Mainboard (SMD Elkopest )

    Wenn man dem an sich antuen will, dann kann ihr es haben, gegen Versandskosten. Bloss behalte ich funktionstüchtige (korrodierte )SCSI Platte.


    Größe: etwas groß wie Schuhkarton.

  • Klingt eher abschreckend :) Aber danke für das Angebot @matt und die Info H.EXE


    Ich war halt noch nie ein "Apfelkind" und hatte deshalb auch noch nie Apple-Produkte, außer ein privater kurzer Ausflug auf einem gebrauchten iPhone Ü(danach wieder Android aus Überzeugung) und einem iPhone von der Firma.


    Aber, @matt du könntest mir einen großen Gefallen tun und mir mal Fotos vom ADB-Stecker machen und beschriften, evtl. auch mal das Gleiche an einem eingesteckten S-Video/ADB Kabel, z.B. mit Ground (müsste ja durch Durchpiepsen gegen Gehäusemasse einfach messbar sein) und +5V (sollte ja im Standby oder eingeschaltetem Zustand anliegen). Ich würde gerne noch mal eine Test-Charge Platinen bei JLCPCB bestellen, aber vorher auch 100% sicher sein, dass der ADB-Stecker richtig rum ist. Selbst den Entwicklern des Pi-basierten "Konkurrenz"-Community-Projektes USB4VC ist da ein Faux-Pas passiert, eine Revision des ADB-Boards sagte "reversed ADB connector". Und ich bin gerade ziemlich verwirrt, weil dessen Pin 1 auf der anderen Seite liegt, als bei den definitiv funktionierenden Tastatur- und PS/2 Steckern. Die Abbildungen im Web verwirren mich noch mehr. Oder ich schicke dir mal das aktuelle Prototyp-Board mit einem aufgelöteten Stecker und du sagst mir, wo auf dem Board Ground und 5V ankommen, das wäre ober-episch.


    Damit wäre dann zumindest die physikalische Verbindung gesichert, implementieren auf Basis von Einbindung anderer Open-Source-Codes und ein Test würde ich noch irgendwie anders hinbekommen. Ab und zu findet man ja mal LCs und Performas um die 100 Euro auf Ebay Kleinanzeigen, keine Ahnung, ob es mir das wert ist. Aber wenn die Dinger funktionieren, wäre es wenigstens ein verlässliches Testsystem und ich müsste nicht ständig bibbern, ob der Computer oder meine Implementierung fehlerhaft ist.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Vollste Verständnisse, ich würde dem IIci auch nicht reparieren wollen, der dann ins Verkauf landet. (Zeitaufwand)

    Ich habe noch 2 weitere funktionsfähige Power Macintosh, der noch ADB hat. Aber keine Tastatur da und ebensfalls keine S-VHS Kabeln da.. ich kann höchest durchklingeln.


    Für dieser deine Arbeit würde ich dir Macintosh G3 beige (der mit Plastikschaden) 35€ plus Versand überlassen und HDD wird nicht gelöscht.

    Apple Power Macintosh G3 beige für Bastler
    Hallo Leute Ich biete Apple Macitosh G3, einer der letzte beige Apfel. Rechner lässt einschalten...,Apple Power Macintosh G3 beige für Bastler in Nürnberg -…
    www.ebay-kleinanzeigen.de

  • Das klingt doch super. Rest per PN

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Der Mac von Matt ist vor ein paar Tagen wohlbehalten bei mir angekommen. Vielen Dank dafür. Dinge wie den VGA-Adapter muss ich mir noch besorgen und ich warte noch auf neue RetroArduInput PCBs, da ich tatsächlich einen Pin-Dreher in meinem jetzigen Design drin hatte und ich für das Power Sensing, das ich für Tastatur, PS/2 Maus und ADB brauche, Pulldown-Widerstände einsetzen muss, und dann kann es mit der ADB-Implementierung losgehen.


    Tatsächlich ist ADB auch mittlerweile das Einzige, was noch nicht mal ansatzweise beim RetroArduInput implementiert ist.


    Amiga-Tastatur ist drin und mit dem Amiga 500 getestet. Einen 2000 habe ich nicht, weshalb ich dessen Reset-Prozedur (anders als beim 500er) nicht testen kann. Tandy 1000 Tastatur ist drin, aber ungetestet (USB-Adaption von Adrian's Digital Basement PS/2 to Tandy) und die PS/2 Maus gibt auch erste Lebenszeichen von sich.


    Zur Info zum Amiga: Der Reset wird bei der Tastenkombination Ctrl+Amiga+Amiga nicht vom Rechner, sondern vom Tastaturcontroller ausgelöst. Beim A500 wird einfach die Reset-Leitung Low gezogen. Beim A2000 schickt die Tastatur einen Reset Warning Scancode, wird dieser wird die eigentliche Reset-Prozedur eingeleitet. Dann kommt noch eine Reset Warning mit einem weiteren Handshake und bis zu 10 Sekunden Wartezeit und nach Bestätigung oder 10 Sekunden Wartezeit wird Clock für 500ms auf Low gezogen, was in einem kleinen Chip einen Timer auslöst, der dann die Reset-Leitung triggert. Prinzip verstanden und implementiert, aber halt für mich nicht testbar. Ansonsten sind A500 und A2000 identisch bei der Tastatur.


    Tatsächlich startet bei der PS/2 Maus ein alter Logitech-Treiber problemlos und gibt auch korrekte Mausbewegungen zurück, Cutemouse und Windows verweigern irgendwie noch den Dienst. Ich vergleiche das immer wieder mit der ps2dev Library und finde den Fehler nicht.


    Tatsächlich überlege ich mir, nach erfolgreicher ADB-Implementierung das Gerät schon mal auf ein Early Adopter Publikum loszulassen, egal, ob AT-Tastatur und PS/2-Maus teilweise oder komplett funktionieren. Der Rest geht ja wunderbar. Tatsächlich dachte ich bei den Early Adopters an Kanalspenden für entwicklungsfreudige Youtuber wie Adrian Black himself (da er mich ja auch mit dem PS/2 to Tandy ein wenig inspiriert und mit etwas Starthilfe-Quellcode versorgt hat) und bei Interesse seinerseits natürlich auch an scorp / Necroware, sowie eine Veröffentlichung auf Github. Vielleicht treibt das die Fehlerbehebung bei AT/PS/2 voran, falls ich die kleinen Fehler bis dahin nicht selbst gefunden habe.


    Aber alles in allem: Analog- und DIgitaljoystick laufen, serielle und Amiga/Atari Maus laufen (mittlerweile auch seriell im 3 Button Logitech-Modus), XT- und Amiga-Tastatur laufen, Tandy Tastatur läuft hoffentlich, AT-Tastatur läuft, inklusive Typematic Rate Änderung, aber mit kleineren Problemen beim Setzen der LEDs, PS/2 Maus gibt Lebenszeichen von sich, ist aber noch nicht Bereit für die Praxis und ADB fehlt noch. Alles in allem recht rund, würde ich sagen.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

  • Und weiter geht's. Die neue Bordrevision ist da, mit behobenem Fehler am ADB-Port, Pulldown-Widerständen für die Input-Pins von Tastatur, PS/2 und ADB 5V, mit neuen Plätzen für die LEDs und deren Vorwiderstand und etwas geweiteten Pins für den Tastatur-Stecker (der passt jetzt).


    Der Mac lässt sich per Tastatur einschalten (ist ja auch keine Rocket Science, man schaltet den ADB Power Pin auf Low, wenn die als Power-Taste definierte Taste gedrückt wird und setzt ihn wieder High, wenn die Taste gelöst wird) und redet auch schon mit mir. Ich weiß nur nicht, was ich darauf antworten soll. Aber: Das zeigt, dass ich bei den Timings schon mal gar nicht so falsch liege.


    Anbei noch mal ein paar aktuelle Fotos, auch einmal mit einem anderen Ansatz für das Front Panel (transparente Schrift mit weißem Vordergrund und transparenter Hintergrund mit weißer Schrift - letzteres finde ich gar nicht so schlimm, wie ich erwartet habe, da sich das Licht doch gut im Muster des 3D-Drucks bricht und verteilt, aber es ist schon etwas ungleichmäßig und wie ich finde, auch etwas drüber)

  • Vor einigen Wochen habe ich schon mal alles zum Projekt auf Github hochgeladen: RetroFuturisticEngineer/RetroARDUInput: Use USB Keyboards, Mice and Joysticks on PC/XT, PC/AT, Tandy 1000, Atari, Amiga, C64 and Apple (github.com)


    Dort finden sich nun der Arduino-Sketch, FreeCAD-Projekt und daraus generierte STLs für das Gehäuse, KiCAD Projekt und daraus generierte Gerber-Files für das PCB und die Dokumentation als Word und PDF.


    Am Entwicklungsstand des Sketches hat sich aus Zeitgründen nichts geändert, eigentlich funktioniert alles, außer vereinzelte Probleme mit den LEDs bei PS/2 bzw. AT Tastatur, der PS/2 Maus wenn man mal von dem einen funktionierenden Logitech-Treiber absieht und ADB, das schlicht und ergreifend noch nicht fertig ist (ADB-Kommandos kommen rein, aber die Antworten scheinen nicht die richtigen zu sein).


    Ein Youtube-Video dazu folgt noch, vermutlich nach meinem Urlaub nächste und übernächste Woche, wo ich noch ein paar Tage zuhause habe, bevor es wieder zur Arbeit geht.


    Mein Plan ist erst mal, das Ganze ans Laufen zu bekommen und die letzten Fehler zu eliminieren. Danach folgt schon die Idee für Iteration 2: Modularisierung und evtl. Migration auf eine bessere Plattform wie einen Pi (die Output-Module ließen sich ja mit PiDuino relativ gut portieren, die USB-Eingabegerät-Unterstützung ist auf einem Pi ja ungleich besser) oder Arduino Due (der schon nativ USB OTG, also einen USB-On-The-Go Host auf dem Board hat ohne Host Shield, wo aber auch viel Anpassungs-Arbeit für den USB-Teil nötig wäre), evtl. mit modularen PCBs in einem Computer-Style Gehäuse wo man die Module, die man braucht sowie evtl. gar den Mega2560+USB-Host-Shield oder einen Due oder Pi einsetzen kann. Aber das ist Zukunftsmusik, erst müssen PS/2 und ADB auf der aktuellen Version fehlerfrei laufen.

    Arbeitspferde: Xeon E5-2683v3/32GB/GTX1650 Super/1TB NVMe+8TB HDD und Q6600/8GB/GTX460/1TB SSD+4GB+2GB HDDs

    Retro Maschinen:

    P2-450/256MB/128GB SSD/TNT2-M64+2xVoodoo2/Soundblaster 16+Yamaha DB50XG

    Commodore PC20-II/V20+8087/XTCF lite 256MB/Tandy Sound

    286-16/287-8/4MB/256MB CF/ET3000/Aztech NX-II

    Amiga 500/1MB/Gotek/Vortex AT-once Plus 286 + Amiga 500/1MB

    Pentium 166/FAST Video Machine+DDPR+YUV Board

    Projekt-Rechner: C64, Dual Pentium MMX 233, 486 VLB, 486 PCI, K6, Athlon 64

    Projekte: USB RetroArduInput

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!