extended RAM Test 0.21.0 von Satantronic

1, 2, 3

extended RAM Test 0.21.0 von Satantronic

von Bernd » Mi 24. Aug 2005, 00:53
Hallo zusammen,

wer hat eine 1MB Speichererweiterung im Atari und kann einen Speichertest mit dem RAM Test von Satantronic für mich durchführen?
Ich habe eine 1MB SRam Erweiterung aufgebaut und auf Funktion überprüft. Das Programm zeigt aber nur 512k an obwohl 1MB wirklich über PB1 angesprochen werden kann.
Ich vermute dass nur eine "abgespeckte" Version zum Download auf der Webseite zur Verfügung steht.

Die Software gibt es hier:
http://atari.sk/satantronic/

Danke vorab für eure Hilfe,
Bernd

von Mathy » Mi 24. Aug 2005, 01:16
Hallo Bernd

Ich habe 1MB in einer meiner XEGS drin und wenn ich mich nicht irre zeigt XRAM von Satantronics alle Bänke. Meine Erweiterung benutzt die Bits 0, 1, 2, 3, 6 und 7 um die richtige Bank zu wählen.

Hast Du auch schon andere RAMdisktestprogramme probiert und festgestellt dass die alle Bänke deiner Erweiterung findet?

Torsten Karwoth's Tester ist sehr gut, findet bei mir aber nur 512kB statt 1024kB. Andre Bertam (MacFalkner)'s Tester ist auch sehr gut. Findet aber nur 16kB HAUPTspeicher.

Tschüß

Mathy (der jetzt Heia machen muss)

von HiassofT » Mi 24. Aug 2005, 12:13
Ich habe in meinem 800XL eine selbstentworfene 1MB Ramdisk (mit DRAM) drinnen, und das Testprogramm erkennt alle Konfigurationen:

1MB (Bits 1,2,3,5,6,7)
256k (Bits 2,3,5,6)
512k/Antic (Bits 1,2,3,6,7)
128k/Antic (Bits 2,3,6)

Welche Bits verwendest Du denn und welche Bits werden vom Testprogramm angezeigt? Vielleicht hast Du ja noch einen Bug in der Logik zur Steuerung der Basic und/oder Selbsttest-Bits.

so long,

Hias

von HardwareDoc » Mi 24. Aug 2005, 23:12
Hallo Bernd,
also bei mir werden alle 64 Bänke erkannt. :bounce:
Habe eine selbst entwickelte (mit @ Dietrich) 1M-SIMM Erweiterung in einem 800XE mit Gate-Arry.
Schicke mir bitte die Pläne und die Files zwecks Überprüfung zu.

Mit freundlichen Grüßen

HardwareDoc :wink:

von Bernd » Do 25. Aug 2005, 00:29
Hallo Mathy (der jetzt Heia machen muss),
ich hoffe du hast gut geschlafen. Danke für deine Info. An dem Programm liegt es also nicht - den Fehler kann ich also ausschließen.

Hallo Hias,
meine Speichererweiterung benutzt Bit 1,2,3,5,6,7. Über Bit 1 = PB1 schalte ich zwischen den zwei 512k Rams um.
Das sieht dann wie folgt aus:
/CE1 = A14 & /A15 & /PB1 & /PB4;
/CE2 = A14 & /A15 & PB1 & /PB4 ;
PB1 habe ich abgeklemmt und mit 0 und 5V verbunden. Die Umschaltung zwischen den beiden Ramspeicher funktioniert.

Eine Besonderheit hat das Zusatzram. Ist das Basic aktiv und wird der externe Speicher eingeschaltet so wird bei anderen
Erweiterungen das Basic deaktiviert. Ich halte den Logikausgang gepuffert vor solange der externe Speicher an ist.
Basic = PB1 & PB4 + Basic & /PB4 ;

Wie schaltest du deinen Speicher auf den Antic?
Mittels Umschalter kann ich noch auf folgende Betriebsarten zugreifen:
256k Compyshop
256k Newell
Beides funktioniert und ist getestet.

Hallo HardwareDoc,
ich freue mich schon auf unser nächtestes HAR Treffen bei mir. Bring den 800XE mit zum anschauen. Ich lerne gene dazu.

Danke an alle für die Hilfe,
Bernd

von HiassofT » Do 25. Aug 2005, 00:51
Bernd hat geschrieben:meine Speichererweiterung benutzt Bit 1,2,3,5,6,7. Über Bit 1 = PB1 schalte ich zwischen den zwei 512k Rams um.

Und welche Bits werden vom Ramdisk-Testprogramm erkannt?

Eine Besonderheit hat das Zusatzram. Ist das Basic aktiv und wird der externe Speicher eingeschaltet so wird bei anderen
Erweiterungen das Basic deaktiviert. Ich halte den Logikausgang gepuffert vor solange der externe Speicher an ist.

Das sollte eigentlich so OK sein. Ausser, es ist noch ein Bug in der Logik :-)

Wie schaltest du deinen Speicher auf den Antic?


Standardschaltung: mit einem 74xx74 das HALT Signal latchen (ich weiss jetzt nicht genau mit welcher Phase geclockt wird, müsste ich nachsehen) und dann das gelatchte Signal mit PB5 verknüpfen:

ACCESS = (/A15 * A14 * ENABLE_IN * ((/PB4 * /HALT) + (/PB5 * HALT)))

HALT ist hier invertiert zu betrachten, im 256k und 1024k Modus sind die PB4 und PB5 Eingänge beide mit PB4 verbunden und das HALT Signal kürzt sich raus.

Der wirklich eklige Teil der Schaltung ist aber die ganze DRAM Logik, um es sauber zu machen muss die obige ACCESS Zeile wie im Atari gelatcht werden und die bisher übliche Lösung für CAS-before-RAS Refresh (/CAS und /REF einfach AND verknüpfen) ist auch alles andere als sauber. Mittlerweilen habe ich aber alles recht stabil hinbekommen.

so long,

Hias

von Mathy » Do 25. Aug 2005, 00:56
Hallo Bernd

Bernd hat geschrieben:ich hoffe du hast gut geschlafen.


Ja, aber zu kurz. Vielleicht sollte ich mal eher in die Heia kriechen.

Bernd hat geschrieben:Eine Besonderheit hat das Zusatzram. Ist das Basic aktiv und wird der externe Speicher eingeschaltet so wird bei anderen
Erweiterungen das Basic deaktiviert. Ich halte den Logikausgang gepuffert vor solange der externe Speicher an ist.


Sobald entweder Pin 4 oder Pin 5 oder beide null werden, werden die Signale die BASIC, OSROM, SelfTest und beim XEGS Missile Command ein- oder ausschalten bei meiner Erweiterung eingefroren.

Bernd hat geschrieben:Wie schaltest du deinen Speicher auf den Antic?


Ich mach das über Pin 5, wie es sich gehört. ;)
Pin 5 wird bei mir nicht zum Wählen der Bank benutzt.

Tschüß

Mathy

von PacMan » Do 25. Aug 2005, 13:26
Hallo Bernd,

Die Newell XL 1MB Erweiterung (Bit 1,2,3,5,6,7) wird auch richtig erkannt.

Gruß,
Steffen

von Bernd » Do 25. Aug 2005, 22:02
Einen Dank möchte ich auch an Bernhard Pahl aussprechen. Ohne seine Internetseite mit den Infos über die Speichererweiterungen wäre ich sicherlich noch nicht soweit. :notworthy:

Es sieht so aus als ob ich nicht die einzige "Nachteule" beim schreiben bin. :lol:

Hi Hias,

>Und welche Bits werden vom Ramdisk-Testprogramm erkannt?
Bit 2,3,5,6,7 ergibt 512k.
Bit 1 wird vom Programm nicht berücksichtigt. Mein Test sieht wie folgt aus:
Ein Speicherbaustein IC1 wird entfernt und das Testprogramm mit ein- und abgeschalteten Basic gestartet. Entweder sind 512k sichtbar oder kein zusätzlicher Speicher vorhanden. Wenn ich IC2 einsetze und IC1 entferne dreht sich das ganze. Die Logik scheint richtig zu laufen aber irgendwas ist noch faul.
Der Antic Speicherzugriff scheint doch etwas komplex zu sein. Da beim GAL alle Ausgänge belegt sind müsste die Schaltung erweitert werden. Damit warte ich doch lieber noch.

Hallo Mathy,
>Sobald entweder Pin 4 oder Pin 5 oder beide null werden, werden die Signale die BASIC, OSROM, SelfTest und beim XEGS Missile
>Command ein- oder ausschalten bei meiner Erweiterung eingefroren.
Bei deiner Erweiterung ist ja wirklich alles berücksichtigt worden - Respekt :exclamation: Da muss ich noch an mir arbeiten.


Hallo Steffen,
Danke für die Info. Das Programm arbeitet also fehlerfrei was ich von mir scheinbar nicht sagen kann :oops:


Bernd

von Gast » Fr 26. Aug 2005, 19:29
Bernd hat geschrieben:Einen Dank möchte ich auch an Bernhard Pahl aussprechen. Ohne seine Internetseite mit den Infos über die Speichererweiterungen wäre ich sicherlich noch nicht soweit.


Erst mal danke für die Blumen.

Und dann: Nicht aufgeben! Ich habe auch schon viele Speichererweiterungen gebaut. Dabei bin ich immer wieder auf Probleme gestoßen, die sich nur mit viel Geduld beseitigen lassen.

Der eXtender RAM-Test von Satantronic und auch der Memdrv10 von McFalkner erkennen eigentlich zuverlässig jede RAM-Erweiterung an $D301 bis 4MB! Könnte es sein daß evtl. das zusätzliche Port-Bit 1 nicht erkannt wird weil es gelatcht wird? Was sagt Mathy dazu? Der hat in seiner Erweiterung auch sowas. Ich habe das auch kürzlich probiert, und es erst mal nicht auf die Reihe gekriegt.

von Mathy » Fr 26. Aug 2005, 20:34
Hallo Leute

Bernhard hat geschrieben:Was sagt Mathy dazu?


Der fragt sich, was genau mit diesem Satz gemeint wird?

Bernd hat geschrieben:PB1 habe ich abgeklemmt und mit 0 und 5V verbunden. Die Umschaltung zwischen den beiden Ramspeicher funktioniert.


Heisst dass, die beiden 512kB grossen Helften des Speichers werden nicht vom Rechner sondern über einen Schalter gewählt?

Bernhard hat geschrieben:Der hat in seiner Erweiterung auch sowas. Ich habe das auch kürzlich probiert, und es erst mal nicht auf die Reihe gekriegt.


Was hat den nicht funktioniert bzw. was ging falsch?

Tschüß

Mathy

von Bernd » Fr 26. Aug 2005, 22:21
Hallöchen Mathy und Bernhard,

>Heisst dass, die beiden 512kB grossen Helften des Speichers werden nicht vom Rechner sondern über einen Schalter gewählt?
Nein, ich habe die Leitung von PB1 abgeklemmt und zum Testen der beiden 512k SRamhälften mal auf +5V und Masse gelegt. Soweit klappte auch alles.

>Und dann: Nicht aufgeben! Ich habe auch schon viele Speichererweiterungen gebaut. Dabei bin ich
>immer wieder auf Probleme gestoßen, die sich nur mit viel Geduld beseitigen lassen.
Es hilft mir immer wenn ich mich einige Zeit mit was anderem befasse und etwas Abstand davon bekomme.
Ich werde den Impulsen mal mit dem Oszilloskop auf den Grund gehen. Meiner Meinung nach liegt es an der Leitungslänge der Signalleitungen. Daher könnte es zu Verzögerungen kommen die den Fehler dann verursachen. Vielleicht baue ich die Schaltung komplett neu auf.

Bernd

von HiassofT » Sa 27. Aug 2005, 11:23
Bernd hat geschrieben:Ich werde den Impulsen mal mit dem Oszilloskop auf den Grund gehen. Meiner Meinung nach liegt es an der Leitungslänge der Signalleitungen. Daher könnte es zu Verzögerungen kommen die den Fehler dann verursachen. Vielleicht baue ich die Schaltung komplett neu auf.


Bei knapp 2MHz kann man die Leitungslänge quasi vernachlässigen (hinsichtlich Verzögerungen). Was man aber beachten soll ist die kapazitive/induktive Belastung und dadurch einhergehend ein "verschleifen" der Signale.

Das Timing und die Signalqualität sind im Atari zum Teil eine reine Katastrophe und ein guter Teil der Ataris (bzw. der CPUs) liegt ausserhalb der Specs. Stichwort: Daten- und Adress-Bus bröseln weg obwohl PHI2 noch auf High steht. Aktuelle, schnelle, ICs nehmen einem das dann sehr bald mal übel.

Wenn Du Zeit/Lust hast lade doch den Schaltplan und die GAL-Logik mal irgendwo hoch, dann kann ich einen kurzen Blick drauf werfen. 4 Augen sehen bekanntlich mehr als 2 :-)

so long,

Hias

von HardwareDoc » Sa 27. Aug 2005, 13:27
Bernd hat geschrieben:Über Bit 1 = PB1 schalte ich zwischen den zwei 512k Rams um.
Das sieht dann wie folgt aus:
/CE1 = A14 & /A15 & /PB1 & /PB4;
/CE2 = A14 & /A15 & PB1 & /PB4 ;


Hallo Bernd,
die Gleichung ist korrekt :thumbup: , aber hoffentlich hast du dies nicht vergessen:

/BE_MMU = PB4 & /PB1

Es ist natürlich PB1 ( PIA 11 ) von der MMU ( /BE 18 ) zu trennen.

So müsste die Umschaltung zwischen den beiden SRAM´s funktionieren.

Mit freundlichen Grüßen

HardwareDoc :wink:

von Bernd » So 28. Aug 2005, 12:15
Hallo Hias,
Schaltplan und Gal-Listing ist per Email unterwegs.

Hallo Christoph,
hier mein Ausschnitt des Gal-Listings:
/*______________________________Defentition
____________________________BE = Basic an - aus
Besonderheit: Ist Basic aktiv und wird der zusätzliche Speicher eingeschaltet, bleibt das Basic an!
PB1 kann logisch 0 oder 1 haben ohne das sich der BE "Basic" Ausgang ändert */
BE = PB1 & PB4 + BE & /PB4 ;
Die Hardware von PB1 zur MMU läuft natürlich über das GAL.

Bernd

von CharlieChaplin » So 28. Aug 2005, 23:15
Ach,
so ganz nebenbei gefragt, du Bernhard (Pahl) hast oder hattest doch auch eine Irata Ramerweiterung zwecks Einbau erhalten. Das ding ist ja nun ein Parallel-Bus (PBI) Gerät mit 512k XRAM. Frage: Welche Bänke verwendet es denn - und kann XRAM 0.21 von Stantronic diese Erweiterung komplett und fehlerfrei erkennen ?!? Würde die Info über die verwendeten Bänke gerne zu meinem Ramdisk-info-text dazufügen... Gruss, Andreas Magenheimer.

von Mathy » Mo 29. Aug 2005, 16:13
Hallo Bernhard, Leutre

CharlieChaplin hat geschrieben:Das ding ist ja nun ein Parallel-Bus (PBI) Gerät mit 512k XRAM.


Gibt es davon Bilder oder sogar Schaltpläne?

Tschüß

Mathy (der mal wieder neugierig ist)

von Bernd » Di 30. Aug 2005, 20:11
Hallo zusammen,

warum benötigt man für einen zusätzlichen Speicher einen Anticzugriff?

Normalerweise schaufelt die CPU die Daten durch den Speicher und der Antic baut den Bildschirm per DMA Speicherzugriff auf. Während des DMA Zyklus wird die CPU gestoppt. Ich kann eine DLI auf meinem Zusatzspeicher einrichten und der Antic greift auch ohne Hardwareerweiterung darauf zu. Worin besteht jetzt da der Sinn?

Bernd

von pps » Mi 31. Aug 2005, 18:58
Also ich denke mal, daß das nur für 130XE Kompatibilität von Nöten ist. Dort gibt es ja diesen ANTIC Zugriff auf den Speicher...

von Bernd » Mi 31. Aug 2005, 22:52
Hallo Hias, Mathy und alle zusammen,

>Standardschaltung: mit einem 74xx74 das HALT Signal latchen (ich weiss jetzt nicht genau mit welcher Phase geclockt wird, müsste ich
>nachsehen) und dann das gelatchte Signal mit PB5 verknüpfen:
>ACCESS = (/A15 * A14 * ENABLE_IN * ((/PB4 * /HALT) + (/PB5 * HALT)))

Ich habe versucht mir die Logik des Antic Speicherzugriffes zu vermitteln und hoffe das du mich einer bei falschen Aussage korrigiert. Eingesetzt wurde es zuerst beim 130XE. Der Antic greift im DMA Mode direkt auf den Speicher zu. Dabei wird die CPU mittel HALT, ausgelöst vom Antic, in den Ruhezustand gebracht. Jetzt erfolgt die Adressierung über alle "A0-15" Leistungen direkt vom Antic aus. Ein zusätzliches aktives Ram verhält sich wie ein normaler Speicher und wird auch so ausgelesen. Der Vorteil eines abgeschalteten Antic Speicherzugriffes ist folgender: eine DisplayList steht im normalen RAM $4000-7FFF des Computers und der zusätzliche Speicher ist gerade beim DMA Zugriff des Antics aktiv (z.b. Ramdisk wird eingeschaltet). Das normale Ram wird ausgelesen und die Bilddarstellung ist korrekt. Könnte der Antic auf den zusätzlichen Speicher zugreifen ohne eine DisplayList vorzufinden so hätte man entweder kein Bild oder ein schönes Flimmern bis der normale Ram wieder freigegeben wird. Ist meine Darstellung korrekt?
Als "Speichermanager" ist eine neue "MMMU" (GAL) zuständig die zu den normalen Signalen noch das HALT Signal mit auswertet und jeweils den Speicherzugriff der CPU und des Antics zulässt.

Bernd
1, 2, 3