Mir ist da glatt ein Denkfehler unterlaufen, und keiner hat es gemerkt. Aber das macht die Sache mitunter noch faszinierender und eröffnet noch interessantere Möglichkeiten. Der Trapdoor-Steckplatz im Amiga 500 ist nämlich kein Prozessorbus, das wurde er er erst beim Amiga 1200, wo ja auch Turbokarten eingebaut werden können (u.a. die Blizzard-Karten, bald wahrscheinlich auch eine spezielle Version der Vampire), aber beim A500 ist der Trapdoor-Steckplatz in erster Linie ein Speicherbus für DRAM. Sorry für diese Verwechslung.
Genau das, ein Speicherinterface für DRAM, gibts auch im ST. Wenn man jetzt eine der beiden RAM-Bänke durch Logik und RaPi ersetzen könnte, würde man auf den RaPi vom ST aus mit RAM-Geschwindigkeit zugreifen können. Das Problem ist aber, von den 40 Pins des GPIO-Ports des RaPi sind nur 25 (#2 bis #27) direkt so nutzbar, 2 weitere (#0+#1) sind zwar auf der Hauptplatine vorhanden, aber reserviert und nicht auf dem Stecker. Eine RAM-Bank bräuchte aber 16 Datenbits, R/W, RAS+CAS und 10 Adressleitungen, das macht also 29 Leitungen, reicht also nicht.
Aber man schaue sich diese Platine für den Amiga nochmal genau an. Selbst meinem hochverhten Kritiker ist nicht aufgefallen, dass da zwischen dem Amiga-Trapdoor-Steckplatz und dem GPIO-Anschluss ein FPGA und ein RAM-Baustein sitzen... In der Beschreibung steht, dass dieser RAM zwischen dem Amiga und dem Rapi geshart ist, beide können darauf zugreifen. Der FPGA macht das wohl möglich.
Spinnen wir das mal weiter. Schließen wir das Ding mal gedanklich als Bank 2 an der ST-MMU und dem Datenbus (z.B. am Shifter) an, der FPGA macht dann die Übersetzung zwischen dem DRAM-Speicherbus des ST auf den (evtl. statischen) 2 MB RAM der Adapterplatine, und auch der Rapi kann über GPIO zugreifen. Der ST sieht da dann ganz normales RAM. Dazu muss dieses RAM nur schnell genug sein, so dass sich 68000, Shifter (!!!), ggf. Blitter und RaPi nicht in die Quere kommen. 68000, Blitter und Shifter kommen sich nicht in die Quere, dafür sorgt schon Glue.
Zugriff auf die vollen 2 MB einer ST-RAM-Bank wird aus RaPi-Sicht nicht möglich sein, dazu reichen die 25 GPIO-Pins nicht. Im Amiga-Trapdoor können je nach Amiga-Chipsatz (OCS im A500, ECS im A500+) 512 kB oder 1 MB angesprichen werden, und auf dieser Platine scheint der RaPi darauf komplett Zugriff zu haben, wie das genau gemacht wird, bekommt man bestimmt über die Dateien auf der Github-Seite raus. Aber 512 kB oder 1 MB am oberen Ende des ST-RAM-Adressraums, das von beiden Seiten nutzbar ist, das reicht eigentlich schon, damit beide Prozessoren miteinander Daten austauschen können.
Wenn ich die Basis-Adresse des ST-Shifters da rein lege, kann der Rapi den Videospeicher sehen, auslesen, und über HDMI raus schicken. Allerdings fehlt ihm dazu die Information, welcher Videomodus (Low/Med/High) und welche Werte die Farbregister gerade haben.
Da müsste auf ST-Seite ein Treiber her, der einen festgelegten Teil dieses Shared-Mem alloziert und dort solche Informationen aus dem VBL geraus ablegt, die der RaPi dann auswertet. In diesem Shared-Mem könnte dann der ST-Treiber weitere Bereiche allozieren, für weiteren Datenaustausch wie Platte, USB, Netzwerk, ... und einen neuen Videomodus, der nicht im ST-RAM liegt, sondern der ST übermittelt über das Shared-Mem direkt VDI-Befehle und notwendige Bitmaps in den RaPi, der die dann in seiner Auflösung rendert. Gewisse Handshake-Mechanismen müssten da auch im RAM abgebidet werden können, damit gewisse Sachen syncronisiert serden können. Bei all diesen Funktionen kann sogar ein evtl. vorhandener Blitter mithelfen, um die Daten zwischen ST-RAM und Rapi hin und her zu schaufeln.
Bootfähig ist eun darüber angebundenes Disk-Image, oder ein Translated Laufwerk (siehe CosmosEx Translated drive) allerdings nicht, es muss immer erst von einem anderen Laufwerk der Treiber geladen werden.
Aber ich weiß, mein lieber Freund wird mir jetzt gleich wieder Visionen vorwerfen. Dss ist sogar noch einfacher, als solche Visionen zu haben. Oder man denkt mal über die Idee nach und verwirft sie dann wieder. In diesem Sinne, gute Nacht!