Externes RAM


Externes RAM

von Mathy » Di 25. Jul 2006, 19:48
Hallo Leute

Ich spiele seit einiger Zeit mit einer Idee rum. Ob die jemals Realität wird, steht noch in den Sternen. Ich würde die Hardware-Guru's die hier reinschauen aber gerne mal folgende Idee unterbreiten und hören ob Folgendes möglich ist:

Ist es möglich eine externe Speichererweiterung zu bauen, die kein PBI ist, aber trotzdem kompatibel ist zu PBI Geräten?

Für's RAM könnte man ja SRAM benutzen, damit man kein Refresh braucht. Und diese SRAM's könnte man eventuell auch noch Puffern.

Wichtig ist aber im Moment die Frage, kann ich eine RAMerweiterung direkt ansprechen, ohne dabei BlackBox, MIO, Freezer und Co. vor die Füße zu tretten?

Tschüß

Mathy

von HiassofT » Mi 26. Jul 2006, 14:59
Hallo Mathy!

Ich bin mir nicht ganz sicher, ob ich Dich richtig verstanden habe (kann auch an der Hitze liegen, denken ist momentan nicht allzu einfach), aber hier mal ein paar Gedanken dazu:

Prinzipiell ist es möglich, eine RAM-Erweiterung auch am PBI/ECI zu betreiben. Wenn die Erweiterung kompatibel mit dem Standard ($D301) sein soll, braucht man aber auch noch eine Logik, die die PIA emuliert und ein Latch um die Werte von $D301 zwischenzuspeichern. In etwa so war es beim IIer Freezer (mit optionaler DRAM-Erweiterung) gelöst.

Wenn die Erweiterung nicht standardkompatibel sein soll/muß (was meiner Meinung nach aber wenig Sinn macht) kann man auch eine andere Adresse ($D1xx, $D6xx, $D7xx) nehmen, braucht dann nur ein Latch, handelt sich damit aber auch Kompatibilitätsprobleme ein. Der Freezer verwendet $D7xx, $D1xx ist für PBI-Geräte reserviert, $D6xx wird glaube ich von der Blackbox verwendet. $D5xx könnte man theoretisch auch nehmen (wenn man nur 1 oder 2 Adressen verwendet), aber das gibt wieder Stress mit Modulen. Die USB-Cart zB belegt den gesamten $D5xx Bereich.

Um weitere PBI Geräte anschließen zu können, muß der Bus natürlich durchgeschleift werden. Dabei muß man aufpassen, daß die RAM-Erweiterung den PBI nicht zu stark belastet. Immerhin hängen dann ja RAM und Latch zusätzlich am Datenbus, Adress-Dekoder und RAM am Adressbus. Mit mehreren Bustreibern (oder zB einem größeren CPLD das am PBI hängt und getrennte Ein/Ausgänge zum RAM bietet) kann man das aber entschärfen. Trotzdem wird der Bus aber ein wenig stärker belastet.

Mit der Romdisk von David/Peters hatte ich zB das Problem, daß der originale IIIer Freezer am durchgeschleiften Bus nicht stabil lief. Ich tippe darauf, daß die Signale durch die 2 Erweiterungen einfach zu stark belastet wurden. Ein Oszi zum Nachmessen habe ich leider nicht...

Selbstverständlich gibt's dann noch die "lustigen" Probleme mit dem PHI2. Das lässt sich (wie im 2005er Freezer) aber recht leicht mit einem 74HCT123 erledigen.

Abschliessend stellt sich die Sinnfrage: Grundsätzlich ist es machbar, der Aufwand aber deutlich höher als bei einer internen RAM-Erweiterung, dementsprechend wird die Sache auch signifikant teurer werden. Bei Ataris, deren Signale gerade so an der Kippe sind, wird's dann auch Probleme geben.

Wenn ich wieder mehr Zeit habe, werde ich auch einen Schaltplan für meine aktuelle (interne) 512k SRAM Erweiterung machen. Batteriepufferung könnte ich (optional) auch noch dazumachen. TePe wird die Erweiterung bald mal in seinem 800XE testen, er hat dafür auch eine Platine entworfen, sodaß das SRAM nicht direkt auf's OS-ROM gelötet werden muß sondern alles auf einer Adapter-Platine untergebracht ist.

so long,

Hias

von Gast » Fr 28. Jul 2006, 13:42
For information:

PBI-devices use D1xx as active bus-signal.
D600-D7FF are reserved for PBI-RAM.
Every PBI-device have $40 bytes of reserved RAM in this area.
PBI-device #0: D600-D63F
PBI-device #1: D640-D67F
until
PBI-device #7: D7C0-D7FF
(Care has to be taken with the 6502-architecture! STA $D580,Y will first access port $D5 and then store the data on the correct address. This means you have face troubles with memory banks attached to the cartridge port).

The rest of the ports at Dx00 are used.

Cheers,
Sijmen.