Apple II USB Dual-Keyboard-Adapter

  • Hallo,


    wie bereits angekündigt, ist die Platine nun fertig und bei JLC bestellt. Die Kosten belaufen sich auf 39,- € für 5 Platinen inkl. Sonderfarbe, SMD-Stencil, Zoll und Versand. Das KiCad-Projekt dazu ist im Anhang. Eine Bauanleitung und die Software folgen später.


    Ich würde mich sehr freuen, wenn sich jemand für das Projekt interessiert und etwas Zeit hat, bei der Programmierung der Arduino-Software zu helfen.


    Für das Routing der letzten 25 Airwires habe ich mal den neuen AI-Router https://deeppcb.ai ausprobiert. Das Ergebnis war "schon" nach 32 Stunden fertig und endete in einer Katastrophe, die zwar vermutlich technisch funktionieren würde, aber keinen Funken Intelligenz beim Routing zeigt. Aber seht selbst im Anhang. (deeppcb-vorher.png und deeppcb-nachher.png)


    Im Anhang ist auch eine Fotomontage um die geplante Position des Adapters zu veranschaulichen:



      


    Viele Grüße

    Joerg

  • Funktioniert bestens!


    Ich habe heute meinen APPLE II USB Adapter fertiggestellt und bin dabei auf ein "sehr kleines" Problem gestoßen. Die TQFP Version des Max3421 Chips hat einen kleineren Pitch als gedacht. Ich habe nicht aufgepasst und musste heute etwas improvisieren. Mit etwas Geduld konnte ich mit dünnen Drähten eine provisorische Anpassung vornehmen. Ein korrigiertes KiCad-Platinenlayout ist im Anhang. Zum Größenvergleich habe ich ein Streichholz daneben gelegt. Das war wohl das Kleinste, was ich bisher gelötet habe :)



    Ich habe mir auch Gedanken über die Unterstützung von Kleinbuchstaben bei der Tastatureingabe gemacht und bin dabei auf eine interessante Language Card auf GitHub gestoßen. Mit dieser Karte kann man sehr einfach über einen Schalter ein gepatchtes Videx F8 ROM aktivieren und auch sonst ist diese Karte sehr gut gemacht, sodass ich nicht widerstehen konnte, sie mit ein paar Modifikationen nachzubauen. github.com/btb/LanguageCard



    Seite 92 aus dem Videx Manual zum F8 Autostart ROM lowercase patch:



    Nun zum fertigen Adapter:


    Die Firmware für eine normale USB-Tastatur habe ich bereits fertiggestellt. Es fehlt mir nur noch eine Version für meine Cherry Wireless Gaming Tastatur. Diese sendet eine erweiterte USB-Initialisierung und überträgt jede gedrückte Taste bitweise einzeln in einer Matrix. Das Protokoll dazu kommt aus der Gaming-Industrie und nennt sich N-Key-Rollover. Nach der Fertigstellung veröffentliche ich die Software hier im Forum. Ein kleines technisches Beispiel:


    Datenstrom einer normalen USB-Tastatur bei gedrückter A-Taste: 00 00 04 00 00 00 00 00

    Taste W+A+S+D gleichzeitig gedrückt: 00 00 04 1A 07 16 00 00

    Mehr als sechs Tasten gleichzeitig gedrückt: 00 00 01 01 01 01 01 01 - Tastatur overflow!


    Datenstrom einer Gaming-Tastatur mit N-Key-Rollover bei gedrückter A-Taste:

    01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Taste W+A+S+D gleichzeitig gedrückt:

    01 00 00 80 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Sehr viele Tasten gleichzeitig gedrückt:

    01 0F 00 FF 32 FF FF A3 01 20 00 00 00 00 00 01 00 00 00 00 00


    Mehr Informationen dazu unter: mechanical-keyboard.org/de/n-key-rollover-erklaerung-und-test



    Bilder und ein kleines Demonstrationsvideo im Anhang zum fertigen "Apple II USB Dual Keyboard Adapter"



    Viele Grüße

    Joerg

  • Hallo zusammen,


    wie versprochen ist hier nun die passende Software als Arduino-Projekt und HEX-Datei mit folgenden Eigenschaften:


    - USB Keyboard (wireless) mit und ohne NKRO (N-Key-Rollover) Unterstützung.

    - DE und US Layout umschaltbar über die Tastenkombination Windows+1 (US) und Windows+2 (DE). Windows+0 speichert die letzte Einstellung im EEPROM.

    - Ctrl+Einfg. / Ctrl+Alt+Entf. löst einen Hardware-Reset aus.

    - Die Windows-Taste selbst schaltet auf die originale Apple-Tastatur zurück. Dies ist die Standardeinstellung nach dem Einschalten und die Umschaltung auf USB erfolgt automatisch.


    Was noch fehlt:

    - Eine Autorepeat-Funktion der zuletzt gedrückten Taste.

    - Weitere Tastenbelegungen für Makros und Wiederholung der letzten Eingabe.

    - Ein Pull-down Widerstand an KI.STRB (zwischen Pin 2 und 8 am Tastatursockel) für einen zuverlässigen Stand-alone-Betrieb ohne Apple-Tastatur.


    Die HEX-Datei ist zum Flashen des Bootloaders des ATMEGA328P vor dem Einlöten! Eine Projektdatei für minipro mit den entsprechenden Fuses befindet sich ebenfalls im Anhang.


    Zum Nachbau freigegeben:)


    Einen schönen Abend noch und viele Grüße

    Joerg



      

  • Hallo,


    hier noch eine Stückliste mit Bestellnummern von DigiKey. Sie ist für 5 Adapter ausgelegt und der teuerste Artikel ist der USB-Host-Controller MAX3421. Eine Alternative scheint es leider nicht zu geben.


    Viele Grüße

    Joerg


    Index DigiKey-Teilenr. Hersteller-Teilenummer Beschreibung Kundenreferenz Menge Lieferrückstände Stückpreis Gesamtpreis
    1 ATMEGA328P-AURCT-ND ATMEGA328P-AUR IC MCU 8BIT 32KB FLASH 32TQFP 5 0 2,53 € 12,65 €
    2 296-14529-1-ND CD74HC4050M96 IC BUFFER NON-INVERT 6V 16SOIC 5 0 0,42 € 2,10 €
    3 MAX3421EEHJ+TCT-ND MAX3421EEHJ+T IC USB PERIPH/HOST CNTRL 32TQFP 5 0 9,91 € 49,55 €
    4 MCP1700T3302ETTCT-ND MCP1700T-3302E/TT IC REG LINEAR 3.3V 250MA SOT23-3 5 0 0,47 € 2,35 €
    5 SER4265CT-ND FA-238V 12.0000MA-C5 CRYSTAL 12.0000MHZ 18PF SMD 5 0 0,97 € 4,85 €
    6 SER3686CT-ND FA-238 16.0000MB-C3 CRYSTAL 16.0000MHZ 18PF SMD 5 0 1,02 € 5,10 €
    7 1276-1096-1-ND CL21A106KOQNNNE CAP CER 10UF 16V X5R 0805 20 0 0,07 € 1,30 €
    8 311-1102-1-ND CC0805JRNPO9BN180 CAP CER 18PF 50V C0G/NPO 0805 15 0 0,06 € 0,90 €
    9 311-1103-1-ND CC0805JRNPO9BN220 CAP CER 22PF 50V C0G/NPO 0805 15 0 0,06 € 0,90 €
    10 732-11179-1-ND 6,29104E+11 CONN RCPT USB2.0 TYPEA 4P SMD RA 5 0 1,39 € 6,95 €
    11 1276-1003-1-ND CL21B104KBCNNNC CAP CER 0.1UF 50V X7R 0805 50 0 0,02 € 1,11 €
    12 MFU08052.00CT-ND MFU0805FF02000P100 FUSE BOARD MOUNT 2A 32VDC 0805 5 0 0,45 € 2,23 €
    13 311-2.20KCRCT-ND RC0805FR-072K2L RES 2.2K OHM 1% 1/8W 0805 15 0 0,02 € 0,35 €
    14 311-33.0CRCT-ND RC0805FR-0733RL RES 33 OHM 1% 1/8W 0805 15 0 0,02 € 0,35 €
    15 311-10.0KCRCT-ND RC0805FR-0710KL RES 10K OHM 1% 1/8W 0805 20 0 0,03 € 0,50 €
    16 311-100CRCT-ND RC0805FR-07100RL RES 100 OHM 1% 1/8W 0805 10 0 0,02 € 0,23 €
    17 732-5008-ND 151031VS06000 LED GREEN DIFFUSED 3MM ROUND T/H 10 0 0,16 € 1,60 €
    18 ED3016-ND SA163000 CONN IC DIP SOCKET 16POS GOLD 10 0 0,69 € 6,90 €
    20 296-SN74LS257BDRCT-ND SN74LS257BDR IC MULTIPLEXER 4 X 2:1 16SOIC 10 0 0,72 € 7,16 €
  • Frittierte Äpfel - Kostprobe nur für Vereinsmitglieder!


    Ich habe ein paar Äpfel in einer umgebauten WMF-Fritteuse mit etwas Galden frittiert. Das Rezept dazu:


    1. Den Bootloader in den ATMEGA328P flashen. Dazu einen passenden Adapter zum minipro verwenden.

    2. Lötpaste (low temperature) mit Hilfe einer Schablone (Stencil) auftragen.

    3. Die SMD-Bauteile vorsichtig und punktgenau auf dem Apfel platzieren.

    4. Den bestückten Apfel in einer mit etwas Galden gefüllten Fritteuse ca. 1 Minute bei ca. 210 Grad Celsius erhitzen.

    5. Danach abkühlen lassen und bei Bedarf mit dem Lötkolben etwas nacharbeiten.

    6. Die fehlenden Bauteile auf der Vorderseite mit dem Lötkolben auflöten.

    7. Die gewünschte Software mit dem Arduino-SDK (Arduino Uno) mit einem USB-Seriell Adapter über den Debug-Port flashen.



    Hier gibt es eine passende Videoanleitung dazu: Vapour phase soldering with a deep fryer


    Ein Apfel geht in die Hardware-Verlosung des Vereins und ein weiterer als Geschenk an Daniel nach Irland für seine unermüdliche Hilfsbereitschaft beim Beantworten meiner vielen Fragen zu den Leiterbahnen der Apple Timemaster H.O. Karte, um diese nachbauen zu können. Ich habe noch drei leere Äpfel zum selber Frittieren zu verschenken. Bei Bedarf bitte einfach eine PM mit einer Postadresse an mich schicken.


    Die Software hat nun eine Autorepeat-Funktion und die Taste "Pfeil nach oben" wiederholt die letzte Eingabe. Die Taste Win+9 (LodeRunner Mapping) belegt die Tasten I,J,K,L nach W,A,S,D, um eine ungepatchte Version von LodeRunner mit der gewohnten Tastenkombination zu spielen.


    Das Spiel kann beginnen!

    Viele Grüße

    Joerg


  • Hallo Franky,


    danke für das Angebot. Der Preis für einen Liter Galden liegt derzeit bei ca. 250,-€. Zum Glück ist der Verbrauch gering und ich habe noch genug auf Lager. Vielleicht komme ich später noch mal darauf zurück. Als Nächstes möchte ich mal so einen schicken Ofen ausprobieren. Das könnte ein Kompromiss zwischen Heißluft- und dem Dampfphasenlöten sein.


    VG

    Joerg


  • Du kannst meines gerne haben - ich brauch's nicht. Es ist von einem Freund - die hatten es schon in der Firma im Einsatz (es ist aber noch ok) und haben schon lange auf bleifreies Lot umgestellt. Daher brauchten sie ein Galden mit einem höheren Temperaturbereich und ich habe das Zeuch seitdem hier herumstehen...


    :)Franky