- Interesting post
Das Projekt hat sich seit dem ersten Beitrag etwas weiterentwickelt. In diesem Thread kann die Historie nachgelesen werden, der aktuelle Stand findet sich auf Github: Please login to see this link.
----------------
Ursprünglicher Thread-Titel: PoC/WIP: Rad Expansion Unit (RAD) – REU, DMA und anderes per Bitbanging
In diesen Proof-of-Concept-Thread wollte ich über meine "Experimente" (als Fortsetzung zu Please login to see this link.) berichten, falls hier Interesse daran bestehen sollte. Ich habe ihn in die *-Kick-Thread-Familie einsortiert, immerhin ist die Hardware nahe miteinander verwandt.
Die RAD-Hardware ist der des Sidekick64 konzeptionell tatsächlich sehr ähnlich, verwendet aber eine andere Beschaltung (insg. nur 7 ziemlich gängige ICs, Kosten ca. 5€), um am Expansionsport mit einem RPi 3A+/B+ (*) DMA-Transfers durchführen zu können. Ein RPi hat leider nicht genügend GPIOs um die volle Sidekick64-Funktionalität und DMA (zumindest ohne programmierbare Bausteine) zu unterstützen.
Was ich bisher ausprobiert habe:
- REU- und GeoRAM-Emulation (prinzipiell so groß, wie der RPi RAM zur Verfügung hat, >>16MB macht aber natürlich wenig Sinn). Die REU-Emulation würde ich so als 99%-ig bezeichnen -- es scheint prinzipiell alles zu funktionieren, aber ich habe gelernt, dass es Corner Cases gibt, die ggf. noch Spezialbehandlung brauchen, damit das Timing auch in diesen Fällen exakt dem der echten HW gleicht, z.B. in Treulove um die Sideborder zu öffnen.
- das Menu läuft nativ auf der ARM CPU (der 6510 pausiert) – Stable Raster, Audio Streaming, alles sehr einfach zu machen
- experimentell habe ich eine 6510 am Expansionsport emuliert (vielleicht später mal mehr dazu)
Hier einen Dank an schumi, der den C64 einfach richtig gut kennt und mit Tipps manchmal in die richtige Richtung stubst ![]()
Den aktuellen Stand (REU, GeoRAM, Menu) dokumentieren zwei Videos (Dropbox, also eventuell nicht ewig verfügbar):
Please login to see this link.
Please login to see this link. (nur wegen der Musik: Elysium von Jester, Please login to see this link.)
(*) Ein RPi Zero 2 funktioniert prinzipiell auch, aber das Cache Preloading ist langsamer und wird v.a. für große Speichererweiterungen zum Problem – mal sehen, ob sich noch eine Lösung findet.