Beiträge von Diddl

    Austauschen?

    Wie meinst du das?

    Die Kappen?


    Man kann die Tasten auch drücken, wenn keine Kappe oben ist.


    Aber nee, mit einer anderen Kappe geht es auch nicht.



    Es gehen einige Tasten schwer, also nur mit viel Druck, oder nur ab und zu.

    Die Return Taste scheint jetzt aber gar nicht mehr zu gehen.

    Wenn du in der Nähe wärst, könnten wir gegen checken.

    400 km, doch etwas weit.



    Reinigen?

    Wie mache ich das?

    Ich bin ein Schisser, was Hardware angeht.


    Das Keyboard ist jetzt aus dem Kunststoff Gehäuse ausgebaut.

    Oben habe ich ein paar Tasten Kappen abgenommen, aber die meisten sitzen so fest, dass ich mich nicht traue.


    Weiter zerlegen hab ich mich nicht getraut.

    Unten könnte man glaub ich die Printplatte abnehmen, die mit ganz viele winzige Schrauben befestigt ist.

    Es gibt da nette und preiswerte Boards beim Ali:



    Hier ein Ethernet Shield mit dem Wiz 5100 um 4,80€ (kostenloser Versand!)

    https://de.aliexpress.com/item/32958651127.html



    Hier ein WZI 5500 Shield:

    https://de.aliexpress.com/item/33048122605.html



    Hier ganz was feines, ein UNO wo das Ethernet mit WIZ 5500 gleich mit drauf ist:

    https://de.aliexpress.com/item/32849752167.html


    ----------------

    Ethernetshield für den Nano (halt nur WIZ 5100):

    https://de.aliexpress.com/item/32294048128.html

    Übrigens gibt es diese Ethernet Shields auch für den Nano.

    Ist zwar nicht billiger (im Gegenteil), aber es wird kleiner (schmaler).


    Ich habe mich für den WIZ-5500 entschieden (nicht der 5100).

    Der kostet kaum mehr hat aber entscheidende Vorteile.


    Natürlich kann man jede Arduino Hardware nehmen, muss man halt den Sketch anpassen.


    ============


    Ich dachte, ich baue den Prototypen auf einer Lochraster auf.

    Den Nano auf einen Sockel oder direkt einlöten.

    Das Shield auf den Nano.


    Wie ist denn das mit dem Abstand beim Userport Stecker?

    Geht das mit den Lochraster?

    Oder sind die Augen zu groß?

    Es wäre ja verführerisch, statt dem Userport gleich den IEEE-488 Port zu nehmen.


    Man bräuchte keinerlei Umbau im Kernel des PET!




    Aber dann ist halt nichts mit Arduino UNO.

    Der hat einfach Zuwenig IO dafür.


    Und es ist halt generell aufwendiger vom Protokoll und von der Hardware.

    Dann wird es aber schwierig mit dem Handshake.

    Nee, gar nicht.

    Es wird eine Art Mini IEEE-488.



    Der IEEE-488 ist auf der untersten Schicht ja ganz primitiv und einfach.

    Es gibt ja nur 3 Befehle und damit 3 Zustände des Bus:

    • LISTEN
    • TALK
    • UNLSN / UNTLK

    Also entweder ist der Bus frei oder es einer der beiden Partner dran beim senden



    Der Rest geht über die Kanäle 0 bis 15.

    Man könnte also 15 Dateien offen haben, gleichzeitig, wenn man #15 als Befehlskanal nimmt.



    Wenn man den Kernal ein bisschen umbaut, dann kann man die IEEE-488 Befehle schön umlegen auf den ULINK (zb. Gerät 9).

    Wie hast du die Userport-Kommunikation geplant? 4 Bit bidirektional? Dann wird es aber schwierig mit dem Handshake.

    Ich hatte mir das auch schonmal überlegt.


    Ja genau, 4 bit bidirektional.

    Und 4 Bit für das Handshake.


    Ich habe mir das früher schonmal überlegt und mit zwei Arduinos getestet.

    Auf einem 6502 mit 1 MHz kommt man ca. auf 50µs pro Byte, man kann also locker 20KB pro Sekunde übertragen.

    Dagegen ist eine 8250 eine Schnecke.

    Und bei 32KB RAM bei einem 4032 oder 8032 reicht das ganz leicht.


    ======


    Es wäre einfach zu verführerisch die 8 Bit zu nehmen und den Hardware Handshake.

    Doch leider funktioniert das nur in eine Richtung.

    Da kann ich helfen.

    Oh, danke, leider zu spät, hab gestern 5 Stück geordert.


    Aber trotzdem total nett, danke. :)




    Der Arduino, wir gehen mal von einem UNO aus, braucht für das Ethernet Shield Pin 4,10, 11, 12 und 13


    Ich würde jetzt für den ULINK (Userport Link) die Pins 14,15,16,17 (Port C) und Pin 3,5,6,7 (Port D) nehmen.

    Dann bleibt auch I2C frei für etwaige andere Zwecke.



    Ich werde abends mal ein bisschen zeichnen, falls ich dazu komme.


    ==========


    Das coole ist, das Ethernet Shield hat auch einen SD Slot!


    Da fallen mir gleich ein paar Möglichkeiten ein … :/


    Vielleicht fällt ja auch gleich ein Mini SD2PET ab.



    Telefonieren ist natürlich möglich, es ist halt teuer zwischen D und A.


    Was möchtest du denn machen?

    Was kannst du machen?


    Ich dachte an folgende Vorgehensweise:

    • sobald der Arduino mit dem Shield da ist, baue ich einen Sketch, der eine Datei laden kann über HTTP GET
    • dann werde ich den Arduino an den Userport hängen und eine Kommunikation aufbauen


    Ich brauche noch einen Userport Stecker.

    Und Infos, es gibt einiges zum recherchieren:

    • wie funktioniert das XLINK Protokoll
    • wie funktioniert das Ethernet Shield
    • wie klinkt man sich am PET in die Kernel Routinen ein

    Finanziell beteiligen ist nicht nötig, ein Arduino mit Ethernet Shield kostet fast nichts.


    Aber ich kann nur Software und Elektronik Ideen bei steuern.

    Sobald es an die Hardware geht, bin ich der falsche Mann, ich habe zwei linke Hände ... :)


    Um die Idee umzusetzen braucht es meist jemanden, der eine Platine macht und das elektronische Fachwissen hat.


    In dem Fall ist es simpel nachzubauen.

    Sofern jemand ein paar Drähte an einen Userport Stecker anlöten kann.

    Naja es läuft so wies ist auch nicht am PET.


    Es nutzt die serielle Schnittstelle des C64.

    Die hat der PET nicht.

    Und es wäre auch technisch Unsinn.

    2400 BD sind sehr langsam.


    Also die XLINK Sache gefällt mir besser!

    XlINK ist sehr schnell.


    XLINK mit einem Arduino + Ethernet Shield!



    Ich hab mir jetzt mal ein Ethernet Shield! bestellt beim Ali


    =====================


    Der Arduino ist zwar auch zu klein, um alle IP Protokolle umzusetzen.

    Aber für ein HTTP GET langt es in jedem Fall.


    Also steht einem DLOAD aus dem WEB nichts im Wege.

    Wir bauen eine PET Cloud. :)

    Wäre sowas hier nichts für euch? Ähnliches habe ich am C64. Bin damit öfter mal in Mailboxen online.

    Boah, perfekt, WLAN ist eh besser als LAN, dann kann man sich mit seinem PET auf die Terasse sitzen … ;)



    Die Frage ist, wie stark unterscheiden sich die Userports vom C64 und vom PET?

    Würde diese Hardware auch am PET laufen?


    $54.95 finde ich nicht teuer ...

    Hmmm, Arduino + Ethernet Shield, klingt gut.


    Damit hätte man IP am PET.


    Der PET hätte eine IP Adresse.

    Theoretisch.

    Allerdings müsste sich dann der Arduino bemerkbar machen können am PET.


    Aber zumindest passiv hätte man Internet.

    Und natürlich Kommunikation zu andere PET die auch so eine Hardware haben.

    Naja, wenn ich mir das so durchlese, dann macht Henning das genau verkehrt rum …


    Der Commodore wird "versklavt", also quasi ferngesteuert.


    Aber das Prinzip ist gut.

    Die Hardware können wir nehmen.

    Die Transferroutinen auch.


    Wir benötigen am PC eine Server Software (kann ich machen).

    Und wir benötigen am PET eine Art IEEE Wedge (kann ich auch machen).


    Am PET würde man quasi ein IEEE-488 Gerät virtualisieren.

    Zum Beispiel Gerät 9.


    Dann würden alle BASIC Befehle automatisch funktionieren.

    Also DLOAD, DSAVE, CATALOG …


    Über den Kommandokanal #15 könnte man Befehle an den Server senden (Verzeichniswechsel etc.).


    Über spezielle "Dateien" könnte man Kommunikation zu andere PET im Netz erreichen.

    Was willst du genau erreichen?


    Chat zwischen zwei PET?

    Gemeinsamer Zugriff auf einen Datenträger?



    =============

    Zwei PET gehen noch recht einfach:

    • zwei AVR Boards verbunden jeweils RX auf TX
    • Ein Port geht auf den Userport
    • Zum Test langt ein BASIC Programm am PET, später könnte man eine Kernel Erweiterung andenken


    Wie weit stehen die PET auseinander?

    Für ein paar Meter langt RS232, sonst kann man auf RS422 ausweichen


    Zum testen kann man die beiden AVR direkt verbinden.


    =============

    Mehrere PET sind schon komplexer, da würde sich ein PC als Server anbieten:

    • ein Arduino Nano am Userport
    • der Arduino kommuniziert mit dem PET über dem Userport
    • Zum Test langt ein BASIC Programm am PET, später könnte man eine Kernel Erweiterung andenken




    Ich kann mir vorstellen dass man eine Verlinkung (ein Netzwerk) für Commodore CBM's relativ easy über den Userport machen kann.

    Ein AVR an dem Userport und schon hat man eine einfache und günstige Lösung.


    Irgendwer hat das doch schon am C64 gemacht?

    XLINK oder so?


    Hmmm, ein USB-AVR (zb. 32U4) und damit an den PC.


    Oder noch einfacher, ein kleiner Arduino Nano um 2,50 an den Userport und per USB an den PC.


    --------------


    Der PC ist dann der Server.

    Es steht die ganze Welt offen.

    Internet.

    Eine PET-Cloud …

    EMail, TimeServer, Chat, Mailbox, Packet Radio, IOT ...

    Läuft die 8050 inzwischen?


    Formatieren ist die am meisten kritische Aktion.

    Was kommt denn für Fehler?


    Was genau tut sie? probiert sie zu formatieren? Wenn ja wie lange?


    Es kann auch eine Drehzahl Ungenauigkeit sein.

    Da ist die 8050 etwas kritisch, wenn sie zu langsam läuft (viel zu schnell auch).


    lesen tut sie eigentlich immer, auch wenn die Drehzahl weit daneben liegt.

    Dave hat auch einige Eigenentwicklungen, wie z. B. das hier

    http://blog.tynemouthsoftware.…ming-project-preview.html.

    Allerdings verstehe ich nicht, warum er dem Modul keine Schnittstelle verpasst hat. über die die Diagnosemeldungen ausgegeben werden, falls der Bildschirm nicht funktioniert. Und natürlich wieder keine Designunterlagen, so dass es niemand verbessern kann.


    Genau das hat ich mich auch gewundert. Er gibt die Diagnose am PET Schirm aus.

    Wenn aber der 6545 was hat oder die Bildschirm Elektronik, dann geht nix.


    ABER, Dave hat auch dasselbe Teil mit USB!!


    Er hat mir eines verkauft.

    Das Teil ist sensationell!

    Mann kann wunderbar am PC Diagnose ausgeben.

    Der PC kann die ganze PET Hardware übernehmen und direkt "von innen heraus" testen!


    Und das beste, es ist zugleich ein In-Circuit Emulator für jedes beliebige 6502 System!

    Am AVR kann man eine 6502 Emulation laufen lassen.

    Läuft im Schnitt mit 92% Speed.

    Man kann die virtuelle CPU aber jederzeit anhalten, im single step betreiben und Breakpoints setzen.

    Und natürlich den ganzen Speicher dumpen.