Welche RAM-Erweiterung ist das?

1, 2, 3

von Beetle » Sa 11. Mär 2006, 18:53
Status:

Ich habe alle IC-Fassungen kontrolliert, und die kleinen Kondensatoren gegen neue getauscht, bislang ohne Erfolg.
Wenigstens läuft der Rechner ansonsten wieder zuverlässig.

Gruss,
Beetle

von HiassofT » Sa 11. Mär 2006, 22:31
Beetle hat geschrieben:Bereits im Short-Test von Pagefind.bas werden immer je ein Fehler in den Bänken 4, 8, 12 und 16 angezeigt, auf wechselnden Adressen. Aber bislang immer die gleichen Bänke.

Wie komme ich jetzt weiter? Ist der 74LS08 (der im Abbuc-Mag-Artikel für den Refresh-Fix der Megaram3 vorgesehen ist) möglicherweise zu langsam?


Sehr seltsam. Dieser Fehler deutet am ehesten auf ein Timing-Problem hin. Das kann an allem Möglichen liegen: an der MegaRam, an den RAMs, am LS08, am Atari... Ohne Oszi und aus der Ferne ist da nicht viel zu machen.

Nebenbei bemerkt: der Refresh-Hack funktioniert nicht mit allen RAMs. Das Timing entspricht nicht genau dem CAS-before-RAS Refresh Timing und manche RAMs nehmen einem das übel.

Ich habe dahingehend etwas getüftelt und in meiner selbstgebauten RAM-Erweiterung das Refresh-Problem folgendermaßen gelöst (Ausschnitt aus meinem GAL-Code. Bitte beachte, daß einige der Signale active-low sind, gekennzeichnet durch ein "/" in der Pin-Definition!):

PIN 1 PHI2 COMBINATORIAL ; INPUT
PIN 4 /CAS_IN COMBINATORIAL ; INPUT
PIN 6 /REFRESH COMBINATORIAL ; INPUT
PIN 13 D440 COMBINATORIAL ; INPUT
PIN 16 /CAS_BANK COMBINATORIAL ; OUTPUT
...
STRING CBRREF '(REFRESH * /PHI2 * /D440)'
...
CAS_BANK = CAS_IN + CBRREF
... oder (wenn kein Zugriff):
CAS_BANK = CBRREF

D440 kommt von der Delay-Line im Atari XL, /REFRESH vom Antic und PHI2 direkt von der CPU.

so long,

Hias

von Beetle » So 12. Mär 2006, 05:06
Pfff. Das war jetzt zwei Oktaven zu hoch für mich. :roll:
Freut mich aber, das es bei dir so funktioniert :lol:

Nun der Knüller: Ich habe den Refresh-Fix wieder ausgebaut.
Der Short RAM-Test zeigt keine Fehler mehr an. Zumindest läuft die Ramdisk ohne den Refresh-Fix schon besser. Fehlerfrei läuft Numen allerdings immer noch nicht. So ab dem Würfel hört man hier und da falsche Töne und das Bild mit der Hirnrinde und dem Numen-Schriftzug darüber hat fehlerhafte Pixel.

Das untersuche ich noch weiter.... Zuerst mit nem Deep-RAM Test.

Gruss,
Stefan

von HiassofT » So 12. Mär 2006, 12:10
Beetle hat geschrieben:Pfff. Das war jetzt zwei Oktaven zu hoch für mich.

Freut mich aber, das es bei dir so funktioniert

Ich kann mal die Gleichungen etwas umformen und dann überlegen wie man das am besten mit ein, zwei 74LSxx löst.

Nun der Knüller: Ich habe den Refresh-Fix wieder ausgebaut.
Der Short RAM-Test zeigt keine Fehler mehr an. Zumindest läuft die Ramdisk ohne den Refresh-Fix schon besser. Fehlerfrei läuft Numen allerdings immer noch nicht. So ab dem Würfel hört man hier und da falsche Töne und das Bild mit der Hirnrinde und dem Numen-Schriftzug darüber hat fehlerhafte Pixel.


Ich würde sagen, die Sache ist relativ klar: Ohne Refresh-Fix kippen Dir mit der Zeit wahrscheinlich ein paar Bits im RAM und Du siehst Fehler in der Demo. Mit dem Refresh-Fix hast Du Timing-Probleme, sodaß auch das nicht klappt.

Genauso war's bei mir mit meiner selbstgebauten RAM-Erweiterung zu Beginn ebenfalls. Es werden die RAMs einfach nicht ordnungsgemäß angesprochen, und das geht dann halt schief.

Ich hatte übrigens eine ganze Latte 1MB SIMMs durchprobiert (mit 1MBit und 4MBit RAMs von verschiedenen Herstellern und in verschiedenen Geschwindigkeiten), die meisten von ihnen haben Probleme mit dem original (einfachen) Refresh-Fix gemacht. Am PC haben die SIMMs übrigens einfwandfrei funktioniert.

Ich schau mal, daß ich "meinen" Refresh-Fix etwas einfacher hinbekomme, dann kannst Du den ja mal testen.

so long,

Hias

von HiassofT » So 12. Mär 2006, 13:18
So, hier jetzt eine einfache Bauanleitung und Erklärung. Ob es mit 74LSxx ICs auch klappt kann ich nicht 100% sicher sagen (das Timing ist recht knapp), aber es ist nicht kompliziert und einen Versuch dürfte es wohl wert sein.

Beim original Refresh-Fix werden das /CAS Signal und das /REFRESH Signal ja einfach mit einem AND Gatter (74LS08) verknüpft.

In meiner Version "verkürze" ich das /REFRESH Signal einfach, sodaß /CAS nur mehr ca. 100ns auf Low ist (ca. 30ns bevor /RAS auf Low geht bis etwa 70ns danach). /CAS ziehe ich nur dann auf Low wenn auch PHI2 und der D440 Ausgang der Delay-Line auf Low sind.

Also: statt /REFRESH nehme ich /REFRESH OR PHI2 OR D440.

Das bekommst Du am einfachsten mit einem 74LS32 (4-fach OR Gatter) hin: Pin 1 mit /REFRESH (vom Antic) verbinden, Pin 2 mit PHI2 (Pin 39 von der CPU), Pin 3 (Ausgang 1. OR) mit Pin 4 (Eingang 2. OR), Pin 5 mit D440 (Pin 8 von der Delay-Line U29). Pin 6, den Ausgang des 2. ORs, verbindest Du dann einfach mit dem 74LS08, statt der /REFRESH Leitung vom Original-Fix.

so long,

Hias

von Beetle » So 12. Mär 2006, 15:40
Der Deep-Ram-Test lief auch ohne Fehler durch.
Der sollte solche Fehler doch auch aufdecken, oder?

Gruss,
Stefan

von HiassofT » So 12. Mär 2006, 16:00
Beetle hat geschrieben:Der Deep-Ram-Test lief auch ohne Fehler durch.
Der sollte solche Fehler doch auch aufdecken, oder?


Der findet i.a. keine Refresh-Fehler. Das Problem dabei ist, daß ja ständig auf's normale RAM und auch auf die Ramdisk zugegriffen wird, wodurch das RAM automatisch refreshed wird. Beim MEMDRV Test gibt's einen extra Refresh-Test der für einige Zeit DMA komplett abschaltet. Damit findet man Refresh-Fehler einigermaßen zuverlässig.

so long,

Hias

von Beetle » Di 14. Mär 2006, 01:41
Erfolgsmeldung! (die waren von mir bislang ja rar ;-) )

Ich habe in mühevoller Arbeit zwei TMS44c256-80 von einer nicht
identifizierbaren Steckkarte (wahrscheinlich proprietäre Drucker-
Speichererweiterung) heruntergelötet und in meine Megaram III
eingesetzt. Den Refresh-Fix aus dem Abbuc-Mag habe ich komplett
wieder entfernt. Mein Speicher läuft jetzt fehlerlos. Jetzt klappts
auch mit der Nachbarin... - äh, mit der Numen-Demo.

Ich danke euch allen für euer Hirnschmalz und die Tips!

Jetzt muss ich doch mal ein paar 320k Demos gucken...

Gruss,
Stefan

von HiassofT » Di 14. Mär 2006, 12:27
Beetle hat geschrieben:Ich habe in mühevoller Arbeit zwei TMS44c256-80 von einer nicht
identifizierbaren Steckkarte (wahrscheinlich proprietäre Drucker-
Speichererweiterung) heruntergelötet und in meine Megaram III
eingesetzt. Den Refresh-Fix aus dem Abbuc-Mag habe ich komplett
wieder entfernt. Mein Speicher läuft jetzt fehlerlos. Jetzt klappts
auch mit der Nachbarin... - äh, mit der Numen-Demo.

Freue Dich nicht zu früh, ohne zusätzliche Logik wird der Speicher nicht korrekt refreshed und es kann jederzeit zu einem Datenverlust kommen!

Viele RAM-Chips halten die Daten auch ohne Refresh erstaunlich lange, es kann also durchaus sein, daß der Fehler bei Dir bisher nicht aufgetreten ist. Das heißt aber nicht, daß die Erweiterung 100% korrekt funktioniert.

Du kannst ja ein paar Mal den Refresh-Test von Memdrv laufen lassen, vielleicht bekommst Du ja einen Fehler gemeldet. Es kann aber auch sein, daß Memdrv einfach zu kurz wartet. Wenn der Test einen Fehler liefert, ist's klar daß etwas nicht OK ist. Wenn er aber durchläuft, heißt das noch nicht, daß alles passt.

Also: baue auf jeden Fall die Refresh-Logik wieder ein. Nichts ist ärgerlicher als wenn Du irgendwann später merkst, daß durch RAM-Fehler zB falsche Daten auf der Disk gelandet sind...

so long,

Hias

von atarixle » Di 14. Mär 2006, 12:56
Bei mir hat der Speicher ohne Refresh-Update nur ein paar Sekunden gehalten, danach waren manche Daten weg und andere noch da.

Also, wenn die ganze Numen-Demo durchläuft, würde ich doch schon fast davon ausgehen, dass die RD jetzt funktioniert.

Vielleicht hat dein XL ja doch schon den Freddy-Chip drin?

von HiassofT » Di 14. Mär 2006, 13:32
atarixle hat geschrieben:Bei mir hat der Speicher ohne Refresh-Update nur ein paar Sekunden gehalten, danach waren manche Daten weg und andere noch da.

Das hängt sehr stark vom RAM ab. Zwischen ein paar wenigen Sekunden und 15-30 Sekunden habe ich schon alles erlebt.

Ein Freddy-Chip nützt übrigens auch nicht viel, diese RAMs brauchen bei RAS-only-Refresh einen 9-bit Counter. Da hilft nur CAS-before-RAS refresh.

so long,

Hias

von Beetle » Di 18. Apr 2006, 23:20
Auf dem letzten HAR-Treffen hat man sich meine Ramdisk angesehen - es handelt sich nicht um eine originale Megaram 3. Nach einhelliger Meinung müsste das auch auf der Platine draufstehen. Ich habe in der Zwischenzeit auch nicht das kleinste Problemchen mit dem Teil gehabt.

Wie könnte ich denn einen Langzeit-test machen. Ramdisk unter DOS mit Daten füllen (zB. Numen Demo reinkopieren) und nachsehen ob das ganze morgen noch lauffähig ist (dazu natürlich von der RD wieder auf die HD kopieren)?

Gruss,
Stefan

PS: Definitiv kein Freddy im XL vorhanden...

von guus » Di 18. Apr 2006, 23:29
Hallo,

Ein extra Refresh-Bit hinzu zu machen ist nicht schwerig.
Dies hab ich schon öfters gemacht.
Wenn jemanden da interesse hat, bitte melden.
Dann werde ich ein Schaltplan erstellen. (Ist auch schon im SAG 256K Ram da gewesen)

mfg.
Guus

von Beetle » Di 18. Apr 2006, 23:52
Eine Frage zur "Erweiterung der Speichererweiterung". Könnte man die auf 512kb erweitern, und zwar durch auflöten zweier weiterer RAMs Huckepack? Von den TMS44c256-80, die jetzt klaglos ihren Dienst tun, habe ich ja noch sechs Stück.

Was müsste ich da zusätzlich noch tun (Ausser RAMs hinzufügen). Den Refresh-Fix würde ich dann wieder einbauen.

Es ist zwar keine Original-Megaram, aber exakt gleich bestückt. Möglicherweise wurde der "Megaram 3"-Schriftzug ja auch nicht immer mit draufgeätzt. Der ist nämlich der einzig sichtbare Unterschied.

Gruss,
Stefan

von PacMan » Mi 19. Apr 2006, 13:39
Hallo Stefan,

Der Umbau auf 512k wird nicht so einfach sein denke ich. Wenn man es auf 1MB (4 mal 256k) umbaut werden auch noch Jumper gesetzt damit die Ansteuerung richtig funktioniert.

Gruß,
Steffen

von GoodByteXL » Mi 19. Apr 2006, 18:12
Wie könnte ich denn einen Langzeit-test machen. Ramdisk unter DOS mit Daten füllen (zB. Numen Demo reinkopieren) und nachsehen ob das ganze morgen noch lauffähig ist (dazu natürlich von der RD wieder auf die HD kopieren)?


Am simpelsten geht das mit z.B. The Small Printery (PD 0303). Du kannst die Speicherbänke (fast) nach Wunsch selektieren und dann GR8-Grafiken reinschieben. Am besten ist ein Testbild mit gleichmäßigem Pattern (was auch SpartaDOS X macht beim testen der RD). Wenn du es wieder rausholst zum anschauen, siehst du, ob die RD noch funktioniert.

von Beetle » Mi 26. Jul 2006, 00:49
Hallo,

abschliessend möchte ich noch sagen, das es sich doch um eine originale Megaram III handelt. Ich habe soeben die Rechnung von Klaus Peters für die Megaram III mit 256kB gefunden. Ist vom 27.9.94, ganze 129,- Euro hat sie gekostet....

Warum sie nun doch ohne refreshfix läuft und mit demselben überhaupt nicht, bleibt mir ein Rätsel - aber nun: Hauptsache, läuft.

Gruss,
Stefan

von PacMan » Do 27. Jul 2006, 11:49
Hallo,

Ich habe meine Megaram III auch von Klaus Peters gekauft. Auf der kleinen Platine ist halt soviel drauf das keine Beschriftung möglich war. Ob mit 256k oder 1MB habe ich keine Probleme bezüglich Refresh festgestellt.

Gruß,
Steffen

von Beetle » Do 27. Jul 2006, 17:44
Vielleicht haben wir ja die Megaram III Rev.B :-)

von CharlieChaplin » Do 27. Jul 2006, 21:04
Hallo Beetle,
der Bernhard Pahl hat meine 256k Megaram 2 auf 512k erweitert (Infos dazu gibt es auf seiner Homepage). Vielleicht kann er dir mit deiner Megaram 3 ja auch weiterhelfen... -Andreas Magenheimer.
1, 2, 3