Email vom 10.10.2001 von Bernhard Pahl an MacFalkner (Auszüge) : ---------------------------------------------------------------- Die Sache ist nämlich so: Ich habe eine MegaRAM (256k) komplettes Teil zum Einbau, die hat nie so richtig funktioniert. Obwohl ich schon "etwa 'ne Million Leute" gefragt habe, konnte mir noch keiner helfen. DerRamdisk-Tester vom Compy-Shop sagt OK. Wenn ich einen Sektorkopierer benutze ist auch alles OK. Kopiere ich aber einzelne Files in die Ramdisk (z.B. mit Multifilecopy) und danach auf eine andere Diskette, so funktio- niert von dieser Diskette nichts mehr. Ein Byte-Vergleich bringt es zutage, die Daten sind zerstört. Mir ist dann auch eingefallen daß ich darüber schon mal was gelesen hatte, und ich habe den Artikel auch wieder- gefunden. Er war von Tobias Geuther im TOP-Magazin Mai 1991. Tobias beschreibt dort ganau dieses Problem mit der MegaRam-Erweiterung, hat sich auch mit dem Entwickler in Verbindung gesetzt, fand aber keine Lösung dazu. In diesem Zusammenhang habe ich nach einem Programm gesucht, mit dem man die RAM-Disk testen kann und bin auf deiner Website auf MEMDRV gestoßen. ... Der MegaRAM bescheinigt MEMDRV übrigens fehlende Refresh's. Da aber (wie oben schon mal geschildert viele Mails, keine Antwort oder kein Erfolg) für das MegaRAM keine Schaltungsunterlagen zu bekommen sind, kann man es auch nicht reparieren. Ich jedenfalls bin ohne Schaltung aufgeschmissen, da ich nur Hobby-Bastler bin. Antwort Email von MacFalkner (Auszüge): --------------------------------------- Das Problem ist in der Tat das die COMPY Shop keinen Refresh unterstützt. Ich weiss jetzt nicht in wie weit Du in der Materie steckst, also mal was (quasi zur Einführung) vorweg: - Zur Zeit als die COMPY Shop (ab jetzt CS) entwickelt wurde gab es noch keine SIMs die "hidden refresh" unterstützten. - Ein "alter" SIM muss alle par Millisekunden über einen Bereich von 512B angesprochen werden, d.h. wenn nicht alle ca. 20ms mindestens 512Bytes am Stück ausgelesen werden, verliert der seine Daten. (die 20ms also 50x pro Sekunde sind geforderte Herstellerangaben, in der Praxis behalten die Chips aber ihre Daten erheblich länger, das merkt man zB wenn man den Rechner nach nem "Hänger" ausschaltet und nach dem Wiedereinschalten (zB nach ner Sek) der Rechner immer noch hängt; XE verhält sich hierbei noch schlimmer als der XL, vielleicht weil die Speicherchips auch "neuer" sind, oder auch weil der Spannungserhalt über Kondensatoren stabilisierter ist) - "Neuere" SIMs haben einen sog. "hidden refresh" Zyklus, d.h. mit jedem normalen Lese oder Schreibzugriff wird automatisch vom Chip intern ein RefreshZyklus durchgeführt, der es erlaubt auch ohne externen (also von der CPU ausgeführten) Refresh (also 512B am Stück lesen) korrekt zu arbeiten. - Dieser Modus muss aber hardwaremässig verdrahtet werden !!! Die Entwickler kannten damals diesen Modus noch nicht, da es evtl. die chips noch nicht gab, haben ihn daher auch nicht unterstützt, bzw. hätten sie ihn vielleicht doch schon kennen können (da es die chips bereits gab) ;-))) haben ihn aber ganz einfach ignoriert bzw. aus Unkenntnis vergessen, (das ist jetzt reine Spekulation von mir) da die Erweiterung "offensichtlich" im ATARI, also auch ohne Testen von speziellen Programmen, auch ohne dies funktionierte. - Der Clou ist also: Jeder SIM (alt oder neu) dürfte bei der o.g. Hardware im ATARI eigentlich nicht funktionieren da der Refresh von der Hardware nicht unterstützt wird...... Wäre da nicht der ANTIC chip im ATARI. Dieser ist für den Bildschirmaufbau verantwortlich. Da ein "normaler" ATARI Bild- schirm aber (im GR.0) z.B. 960 Bytes groß ist (40x24Zeichen) wird vom ANTIC alle 20ms, also 50x pro Sekunde (das ist die Zeit in der ein komplettes Bild am TV aufgebaut wird) ein zusammenhängender Speicherbereich von 960 Bytes ausgelesen, ohne das sich ein Programmierer darum kümmern muss. Dies erfüllt die Herstellerrichtlinien der SIM chips in Bezug auf den "standard refresh", also mind. 512Bytes alle 20ms. Dies ergibt im ATARI, wenn auch von den CS Entwicklern nicht unbedingt berücksichtigt, einen sauberen Refresh. --->>>d.h. solange der angezeigte Bilschirminhalt mind. 512 Byte am Stück enthält funkitoniert jeder SIM, alt oder neu. Wird aber durch irgendein Programm der Bilschirminhalt auf weniger als 512B (am Stück!) reduziert, (oder vielleicht gar wie bei MEMDRV bewusst total abgeschaltet) wie es zB bei den gängigen Kopierprogrammen der Fall ist (viele haben einen schwarzen Bilschirm auf dem nur wenige Zeilen angezeigt werden... also weniger als 512 ZUSAMMENHÄNGENDE Zeichen)... dann kann der ANTIC also nicht mehr für den Refresh sorgen. --->>>d.h. es muß ein SIM eingesetzt werden der: 1.) "hidden refresh" unterstützt, 2.) es muss eine zusätzliche Bastelei auf die Platine aufgebracht werden, damit dem Chip auch "gesagt" wird "tue selbständig den hidden refresh" nun aber zur Problemlösung: - Das Schlimme ist, ich hab schon von vielen Leuten gehört die das gleiche Problem haben! Aber ich selbst habe leider keine MegaRAM und auch keinen Schaltplan derselben. (bzw. niemanden gefunden der eine hat UND auch bereit war mal das Layout der Platine in eine Schaltplanform zu bringen, oder aber auch nur die Platine in einer qualitativ guten Form zu scannen, sodass ich mir von den beiden Bildern selbst einen Schaltplan hätte erstellen können; ... - Der wesentliche Punkt ist hierbei das AND Gatter das das CAS Signal neu aufbereitet ! Also Du müsstest (ich hab bisher keinerlei Feedback über solche Änderungen, aber ich kann definitv sagen das 1MB, natürlich mit allerlei anderweitigen Inkompatibilitäten, als SIM in Bezug auf einen sauberen Refresh, möglich ist) "einfach" die CAS Leitung die zu dem SIM läuft (direkt vor dem SIM) auftren- nen und über ein AND Gatter schalten das zusätztlich zur alten CAS Leitung die REFRESH Leitung des ATARIs mit reinverknüpft !!!!!