Hello, Guest the thread was viewed1.4k times and contains 28 replies

last post from 0xdeadbeef at the

p64oPLA - C64-PLA-Ersatz und -Tester auf Basis des RP2040/2350

  • Hier geht's um die RP2040-basierte C64-PLA p64oPLA. Bisher gibt's die nur als Prototyp, eine eigene Platine steht noch aus.

    Der RP2040 schafft die nötigen Latenzzeiten von ein paar dutzend Nanosekunden (hier: 25-35ns).

    Noch nicht allzuviel getestet, aber BASIC, Ultimax-Module, Kung Fu Flash 2 und Final Cartridge 3 im KFF gehen schonmal, da habe ich wenige Zweifel, dass letztendlich alles geht.

    &thumbnail=1


    https://github.com/c1570/p64opla


    Ein paar Goodies kann sie auch:

    • Testen einer parallel angeschlossenen PLA (ohne C64 dran)
    • Testen einer in einem C64 verbauten PLA (zeigt an, wenn sich die im C64 verbaute PLA nicht korrekt verhält). Damit kann man noch eingelötete defekte PLAs relativ sicher diagnostizieren!
    • Selbsttest :)

    Und sie hat das nette Feature, dass alle Leitungen die "alten" Latenzen haben, nicht nur die CASRAM-Leitung, wie es bei den meisten Nachbauten ist.

    Glitches wie bei EPROM-PLAs gibt's hier auch nicht.

    (in Tests ist die Impedanz auf den Eingängen auch höher=besser als z.B. bei den Eingängen eines XC9536XL, der in einigen Nachbauten verwendet wird)


    Misfeature ist etwas zeitlicher Jitter auf den Ausgängen, wobei das vermutlich hier egal ist.


    https://github.com/c1570/p64opla

  • Herzlichen Glückwunsch nochmals zum Projekt.8)

  • Klasse :thumbup: Besonders gefällt mir die Einbaulage. Ich hoffe das bleibt so 8o


    SAXON war doch immer der Test - läuft ?

    "Was heute noch wie ein Märchen klingt,kann morgen Wirklichkeit sein.Hier ist ein Märchen von übermorgen.Es gibt keine Kupferka­bel mehr,es gibt nur noch die Glasfaser und Terminals in jedem Raum.Man siedelt auf fernen Rech­nern.Die Mailboxen sind als Wohnraum erschlossen.Mit heute noch unvorstellbaren Geschwindigkeiten durcheilen Computerclubs unser Da­tenverbundsystem.Einer dieser Com­puterclubs ist der CCC.Gigantischer Teil eines winzigen Sicher­heitssystems,das die Erde vor Bedrohungen durch den Gilb schützt.Begleiten wir den CCC und seine Mitglieder bei ihrem Patrouillendienst am Rande der Unkenntlich­keit. CCC'84 nach ORION'64"

  • Super Zaxxon? Hier steht was dazu, den Artikel hatte ich gelesen, das Modul habe ich allerdings nicht.


    Bisschen blöd ist das Format, ja, sperrig einzubauen ;). Es gibt einen Haufen RP2040-Platinen, aber es gibt anscheinend eine Verschwörung, die dafür sorgt, dass die GPIOs alle möglichst unbrauchbar rausgeführt sind, insbesondere auch bei den kleineren Platinen.

    Original-Pico? GPIO23/24/25 sind nicht rausgeführt.

    ProMicro2040? Im Original fehlen haufenweise GPIOs, bei den Clones davon wird GPIO19 für irgendeinen Unsinn geopfert und müsste hier "freigelötet" werden.

    RP2040-Zero? Benutzt GPIO16 für eine LED.

    Den Pico_Mini-Klon könnte man verwenden, den bekommt man aber schlecht (ich habe gerade einen Haufen ProMicros stattdessen bekommen, offensichtlich weil der Verkäufer den Unterschied nicht versteht).


    Bleibt also wohl nur eine eigene Platine und Spaß beim QFN-Löten, irgendwann gebe ich mir das mal, aber nicht heute...

  • Freu mich schon auf erste Bilder wenn er dann aktiv läuft.

  • Boa wie schlecht, natürlich Super ZAXXON! Wie kann man das so falsch schreiben :schande:. Hab bestimmt an die Band gedacht :rolleyes:

    Das Modul hab ich auch nicht. Aber ich möchte meinen, dass ich das auf eine VERSA64 Cart gebrannt hatte, um eine EPROM PLA zu testen. Weiß nicht mehr :nixwiss:

    "Was heute noch wie ein Märchen klingt,kann morgen Wirklichkeit sein.Hier ist ein Märchen von übermorgen.Es gibt keine Kupferka­bel mehr,es gibt nur noch die Glasfaser und Terminals in jedem Raum.Man siedelt auf fernen Rech­nern.Die Mailboxen sind als Wohnraum erschlossen.Mit heute noch unvorstellbaren Geschwindigkeiten durcheilen Computerclubs unser Da­tenverbundsystem.Einer dieser Com­puterclubs ist der CCC.Gigantischer Teil eines winzigen Sicher­heitssystems,das die Erde vor Bedrohungen durch den Gilb schützt.Begleiten wir den CCC und seine Mitglieder bei ihrem Patrouillendienst am Rande der Unkenntlich­keit. CCC'84 nach ORION'64"

    Edited once, last by Markus64 ().

  • Bisschen blöd ist das Format, ja, sperrig einzubauen ;). Es gibt einen Haufen RP2040-Platinen, aber es gibt anscheinend eine Verschwörung, die dafür sorgt, dass die GPIOs alle möglichst unbrauchbar rausgeführt sind, insbesondere auch bei den kleineren Platinen.

    Original-Pico? GPIO23/24/25 sind nicht rausgeführt.

    Es gibt da noch diese "Purple Pico Clones", da sind mehr GPIOs herausgeführt, die werden für einige Modulnachbauten für verschiedene Systeme benutzt, wie hier, für die A8PicoCart: https://github.com/robinhedwards/A8PicoCart


    Dieses Pinout habe ich dazu im Internet gefunden:

  • Super danke für die Aufklärung.

  • Es gibt da noch diese "Purple Pico Clones", da sind mehr GPIOs herausgeführt

    Ja, der hat alle GPIOs. Ich meinte insbesondere die Boards mit kleinerem Formfaktor, da sieht's wirklich nicht so rosig aus. Der originale Formfaktor ist ja leider schon länger als die PLA.

  • Es gibt da noch diese "Purple Pico Clones", da sind mehr GPIOs herausgeführt

    Ja, der hat alle GPIOs. Ich meinte insbesondere die Boards mit kleinerem Formfaktor, da sieht's wirklich nicht so rosig aus. Der originale Formfaktor ist ja leider schon länger als die PLA.

    Schade das ich da nicht helfen kann, weil keine Programmierkenntnisse vorhanden sind. :/

  • weil keine Programmierkenntnisse vorhanden sind.

    Das Problem hat doch gar nichts mit Programmieren zu tun, sondern mit der Baugröße der Platinen. Schade das es nicht einfach ein Board gibt, wo nur der RP2040 und eine USB-Buchse drauf sitzt und alle GPIOs zur Verfügung stehen.

  • weil keine Programmierkenntnisse vorhanden sind.

    Das Problem hat doch gar nichts mit Programmieren zu tun, sondern mit der Baugröße der Platinen. Schade das es nicht einfach ein Board gibt, wo nur der RP2040 und eine USB-Buchse drauf sitzt und alle GPIOs zur Verfügung stehen.

    Nein das mit der Baugröße nicht. Meinte beim Source Code: https://github.com/c1570/p64opla/tree/main/src

  • Schade das es nicht einfach ein Board gibt, wo nur der RP2040 und eine USB-Buchse drauf sitzt und alle GPIOs zur Verfügung stehen.

    https://github.com/ergomechstore/rp2040-bento -- oder eine Abwandlung von: Projektvorstellung SIDKick pico


    ... aber beides halt nicht für 1€ bei Aliexpress und insofern nicht so interessant ...

  • Boa wie schlecht, natürlich Super ZAXXON! Wie kann man das so falsch schreiben :schande:. Hab bestimmt an die Band gedacht :rolleyes:

    Das Modul hab ich auch nicht. Aber ich möchte meinen, dass ich das auf eine VERSA64 Cart gebrannt hatte, um eine EPROM PLA zu testen. Weiß nicht mehr :nixwiss:

    Oder das hier zum testen:


  • Diese Art von Glitches kann hier nicht auftreten, weil immer alle Inputs gleichzeitig gesampelt und auch die Outputs alle gleichzeitig gesetzt werden. Ein Pattern, das gleichzeitig ROML und ROMH aktivieren würde, kann dabei vom RP2040 nicht erzeugt werden.


    Aber Testen ist natürlich trotzdem gut.


    Was eine eigene Platine angeht, würde ich mehr oder weniger das Layout des einfachen billigen RGB-Boards nachbauen, aber eben mit PLA-Pinout. Dann kann man sich ein RGB-Board kaufen, die Bauteile abföhnen und auf der anderen Platine auflöten. Fertig ist der PLA-Ersatz für <2€ (und nur zwei Stunden Arbeitseinsatz, dafür hat man kostenlos einen Lötkurs bekommen...).

  • Ich hab mir mal von bigby ein Super Zaxxon-Modul geholt (danke!) und muss leider berichten, dass das nach der Auswahl der Anzahl der Spieler Ingame direkt abstürzt. Hmhm! Also "Geflatter" der ROML/ROMH-Leitung kann's eigentlich anders als bei der EPROM-PLA hier nicht sein. Die Super Zaxxon-Hardware ist wirklich seltsam, sie sollte offensichtlich A12 bei aktivem ROML und fallender Flanke von Phi sampeln, aber die Hardware macht nicht nur das, sondern sampelt auch, wenn während Phi High (also nix Flanke auf Phi) ROML aktiv/Low wird. Die haben da einfach ein paar Gatter eingespart!!1!


    Könnte mir zwei Sachen vorstellen:

    1. Die p64oPLA schaut intern alle rund 15ns die Eingangleitungen an und gibt das Ergebnis über eine winzige Pipeline verzögert aus - nanosekundenlange Glitches am Eingang der PLA werden so mit Pech auf 15ns und mehr ausgedehnt (statt auch am Ausgang ein Nanosekunden-Glitch zu bleiben). Aber, hm, normalerweise sollten da keine Glitches am Eingang sein...?
    2. p64oPLA hat im Worst Case eine relativ lange Latenz von etwa 40ns (von den originalen kommt allerdings die 7700R1 auch in den Bereich). Wenn ROML "zu lange" nach dem Fallen von Phi high bleibt und dann "spät" aktiv/low wird, sampelt das Modul A12 (siehe oben), obwohl es das wohl nicht sollte (da in der Phi low-Phase normalerweise VIC-Adressen anliegen). Ich könnte die Latenz im Code runterdrehen (15-25ns oder 20-30ns sollten auch gehen), aber das macht sicher mit anderen Hardware-Konfigurationen Probleme... Edit: Wobei ROML ja eigentlich gerade nicht in Phi Low-Phasen auch Low gehen sollte. Mal überlegen.

    ...aber wie immer ist eine noch ganz andere Sache schuld vermutlich. ;)

    Das CRT funktioniert prima, wenn man es von KFF2 startet (das die Banking-Logik ohne den Hardware-Flaw nachbaut)...


    Was gibt's denn sonst noch zu testen? Ich wollte ja noch etwas mit der KFF2-REU rummachen, aber https://csdb.dk/release/?id=109935 funktioniert auch mit neatPLA schonmal direkt nicht, und auch Reutastic https://csdb.dk/release/?id=144135 tut nicht richtig, ebenso schon mit neatPLA (statt Knoten über Grafik kommt mit neatPLA nur Pixelmüll - bei der p64oPLA kommt anderer Pixelmüll - keine Ahnung...). Eine original-PLA habe ich leider nicht hier, bezweifle aber, dass das überhaupt wesentlich damit zusammenhängt, sondern tippe auf einen KFF2-Bug oder andere Inkompatibilität mit meinem C64. Muss mal an den Phi2-Settings des KFF2 drehen vielleicht.


    13:37 läuft (die erste Diskettenseite jedenfalls), Action Replay läuft, TFC3 läuft, KFF2 läuft. Leiht mir jemand eine Original-REU oder eine SuperCPU oder sowas? ;)

  • Was gibt's denn sonst noch zu testen?

    Eventuell Epyx Fastload? Das Originalmodul macht Sauereien mit einem Kondensator an EXROM, der durch ein paar Gatter an Reset, IO1 und ROML entladen wird und sich aus dem Pullup von EXROM wieder auflädt.

  • Unseen Was es nicht alles Schräges gibt. Irgendwie auch ne nette Idee, das ROM auf die Art automatisch "verschwinden" zu lassen (naja bis irgendein Programm unabsichtlich in IO reinschreibt und dann das RAM bei $8000 verschwindet ;) ). Wenn mir das Cartridge in die Hände fallen sollte, schaue ich mal.


    Was mir noch eingefallen ist: Die KERNAL-Funktion des EasyFlash³. Hab ich noch irgendwo, teste ich beizeiten.

  • Die Super Zaxxon-Hardware ist wirklich seltsam, sie sollte offensichtlich A12 bei aktivem ROML und fallender Flanke von Phi sampeln, aber die Hardware macht nicht nur das, sondern sampelt auch, wenn während Phi High (also nix Flanke auf Phi) ROML aktiv/Low wird. Die haben da einfach ein paar Gatter eingespart!!1!

    Ja, seltsam ist das richtige Wort. Die Schaltung war damals vermutlich einfach "gut genug". Und genau deshalb ist das Modul heute eine so interessante Feuerprobe für PLA-Ersatzschaltungen.