32k Speichererweiterung Selbstbau

ZX-Team Forum
Antworten
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

Hallo,
nun habe ich mir eine 32k Erweiterung gebaut, verwendet habe ich den 62256 und eine Adresslogig, den 74HC251. Das ganze hat auch sofort funktioniert. :wink:
Der Schaltplan stimmt nicht ganz mit dem Original überein.

Bild

Bild

Bild

Das Ganze ist an einem Flachbandkabel und einem Adapter mit Hilfe von Pfostensteckern angeschlossen.

Bild

Der Adapter enthält auch noch einen Resettaster.
An dem Flachbandkabel sollen später auch noch zwei Pfostenstecker angebracht werden, um zusätzlich z.B. eine PIO anschließen zu können.
Gruß Stephan
Benutzeravatar
ZX-Heinz
User
Beiträge: 3577
Registriert: 05.12.2011, 14:45
Wohnort: Potsdam

Re: 32k Speichererweiterung Selbstbau

Beitrag von ZX-Heinz »

Hallo Stephan,
wo liegt denn der Vorteil Deiner KOnstruktion zu der sehr gut funktionierenden 32k-Karte von pokemon? viewtopic.php?f=2&t=878#p8183
Gruß, Heinz
Benutzeravatar
Paul
User
Beiträge: 3798
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: 32k Speichererweiterung Selbstbau

Beitrag von Paul »

Und ebenfalls interessant:
Wie unterscheidet sie sich denn von Wilfs Variante?
Liebe Grüße Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.
Benutzeravatar
siggi
User
Beiträge: 3237
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von siggi »

ZX-Heinz hat geschrieben:Hallo Stephan,
wo liegt denn der Vorteil Deiner KOnstruktion zu der sehr gut funktionierenden 32k-Karte von pokemon? viewtopic.php?f=2&t=878#p8183
Gruß, Heinz
Ein Vorteil ist, daß nur ein Chip zur Adressdecodierung gebraucht wird.

Aber ein Problemchen ist in Wilfs Design drin: /OE des Rams ist mit /CE verbunden. Da bei Memory-Schreibzyklen des Z80 das /WR-Signal erst nach /MREQ aktiv wird, arbeitet das Ram bei Schreibzugriffen erstmal kurszeitig im Lesebetrieb (bis /WR aktiv wird) und kämpft während dessen auf dem Datenbus gegen den Z80 an. Was dabei rauskommen KANN(!), hatte ich bei meinem Laptop-Zeddy erlebt und hier beschrieben:
viewtopic.php?f=7&t=305#p1642

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007, nun (Dez. 2020) mit neuer Hardware wieder da ...
http://zx81-siggi.zx-team.org/ZxTeaM

Datenkraken bitte nicht füttern!
Benutzeravatar
ZX-Heinz
User
Beiträge: 3577
Registriert: 05.12.2011, 14:45
Wohnort: Potsdam

Re: 32k Speichererweiterung Selbstbau

Beitrag von ZX-Heinz »

siggi hat geschrieben: Aber ein Problemchen ist in Wilfs Design drin: /OE des Rams ist mit /CE verbunden. Da bei Memory-Schreibzyklen des Z80 das /WR-Signal erst nach /MREQ aktiv wird, arbeitet das Ram bei Schreibzugriffen erstmal kurszeitig im Lesebetrieb (bis /WR aktiv wird) und kämpft während dessen auf dem Datenbus gegen den Z80 an. Was dabei rauskommen KANN(!), hatte ich bei meinem Laptop-Zeddy erlebt und hier beschrieben:
viewtopic.php?f=7&t=305#p1642

Gruß
Siggi
Das macht pokemon genauso, oder?
PS: /WR wird erst eine Taktlänge nach /MREQ aktiv, das ist ja wirklich relativ lange. Wenn ich das nächste Mal meinen Zeddy offen habe, will ich mir den Kampf der Signale einmal mit dem kleinen Digioszi anschauen. Spätestens nächstes Jahr in Mahlerts :D Da werde ich mal ein pures board erwerben, dass einfach immer für Messungen offen ist.
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

So, ich habe da nochmal ein wenig nach gearbeitet und etwas anderes getestet.
Ich hatte noch eine andere Schaltung getestet, die aber nicht funktioniert hat, was wohl daran lag, das ich keinen Schaltplan hatte, sondern nur diese Seite.
http://www.zx81.de/english/32k-rame.htm
Wahrscheinlich habe ich den Text nur falsch interpretiert. Egal, jedenfalls habe ich diese Schaltung dann verworfen, weil ich keine Lust hatte hierbei den Fehler zu suchen.
Nun ist es so, das ich den oben gezeigten Speicher, noch einmal verändert habe. Der Grund dafür ist folgender.
Anfangs hatte ich nicht den oben genannten Plan, sondern nur einen Ausschnitt eines anderen, der weitestgehend der Schaltung von oben entspricht. Wie man auf dem Foto erkennen kann wurde da z. B. ein Schalter verbaut. Wofür der genau sein sollte hat sich mir nicht erschlossen, zumal ich keine Beschreibung zu dieser Schaltung gefunden hatte. Mittlerweile steht fest, das dieser Schalter ein Shadow-ROM einschalten konnte. Leider fehlte der Rest der Schaltung.
Hier ist das Ganze zu sehen: http://www.user.dccnet.com/wrigter/inde ... XRAMIO.htm
Bei meinem Schaltungsfragment fehlte der komplette untere Teil und die Pufferbatterie.

Nun habe ich die Schaltung so reduziert, das sie dem obersten Plan entspricht, bis auf zwei Widerstände, da diese die Funktion nicht nennenswert beeinflussen. So verschwand der Schalter, der Kondensator, eine Germaniumdiode und zwei Widerstände. Die Schaltung funktioniert wie vorher promblemlos.

Bild

Wie lautet jetzt die letzte Speicherzelle, muss ja eine Zahl oberhalb von 32000 sein? Die Speicherzelle 32000 kann ich problemlos abfragen und beschreiben.
Gruß Stephan
Benutzeravatar
Paul
User
Beiträge: 3798
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: 32k Speichererweiterung Selbstbau

Beitrag von Paul »

32767 ist die letzte. 32768 ist die erste oberhalb von 16k.
Bei 32k um 16384 höher oder wenn das RAM ab 8k läuft um 8192 höher.
Liebe Grüße Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.
Benutzeravatar
PokeMon
User
Beiträge: 5014
Registriert: 31.08.2011, 23:41

Re: 32k Speichererweiterung Selbstbau

Beitrag von PokeMon »

Man sollte auch überprüfen ob irgendwo eine Spiegelung stattfindet. Aber eigentlich erkennt das der RAM Test des ZX81 selbständig. Der ist nur von Haus aus auf 16k Speicher beschränkt. Man kann das folgendermassen umgehen:

Code: Alles auswählen

POKE 16389,255
NEW
Die erkannte Speichergrenze (RAMTOP) erhält man dann durch
PRINT PEEK 16389*255+PEEK 16388

Der Wert sollte dann 32768 sein, sozusagen die erste nicht mehr verfügbare Speicherzelle bei 16k RAM. Bei 32k sollte hier 49152 erscheinen.
Wenn Du wirklich 32k nutzen willst und nicht nur 16k, solltest Du vorher explizit die obigen 2 Zeilen (POKE & NEW) die 32k RAM freischalten sonst hast Du zwar 32k RAM aber eine Anwendung kann damit nichts anfangen weil es nur 16k (=32768) erkennt. Die meisten Programme fragen wohl RAMTOP explizit ab.
Wer seinen Computer ehrt, lebt nicht verkehrt.
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

PokeMon hat geschrieben: Bei 32k sollte hier 49152 erscheinen.
Ich habe mal nachgeschaut und bin etwas verwirrt, wird die Anzahl der Speicherzelle nicht so berechnet?

2 hoch Anzahl der Adressleitung

Bei 15 Adressleitungen sind das dann 32768 Speicherzellen. Habe ich da jetzt einen Denkfehler?
Gruß Stephan
Benutzeravatar
PokeMon
User
Beiträge: 5014
Registriert: 31.08.2011, 23:41

Re: 32k Speichererweiterung Selbstbau

Beitrag von PokeMon »

Im Prinzip hast Du keinen Denkfehler aber der Speicher fängt erst auf Adresse 16384 an und wenn ich 32k habe hört er dann bei 49152 auf.
Der Bereich 0-16383 wird für ROM benutzt, kann man teilweise auch auf RAM umrüsten. Auf jeden Fall liegt das ROM immer auf Adresse 0-8191 (die ersten 8k). RAMTOP zeigt nicht wieviel Speicher installiert ist sondern bis zu welcher Adresse der Speicher reicht. Genau genommen zeigt RAMTOP auf das erste nicht mehr vorhandene Byte.

Typische Aufteilung wäre
0-8191 = ROM 8k
8192-16383 = ROM 8k gespiegelt
16384-32767 = RAM 16k

Wenn Du 32k RAM hast und(!) richtig adressiert hast, reicht der RAM Bereich auch von 16384-49151. Wie bereits oben geschildert erkennt der RAM Test den Speicher über Adresse 32767 nicht automatisch und muss daher nach einem Reset mit POKE neu gesetzt werden und mit NEW neu initialisiert werden.
Wer seinen Computer ehrt, lebt nicht verkehrt.
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

Danke für die Erklärung. Jetzt ist alles klar.
Gruß Stephan
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

Hier ist ein Plan vom Speicher, so wie er jetzt ist.

Bild
Zuletzt geändert von radiobastler am 22.11.2015, 16:03, insgesamt 2-mal geändert.
Gruß Stephan
Benutzeravatar
PokeMon
User
Beiträge: 5014
Registriert: 31.08.2011, 23:41

Re: 32k Speichererweiterung Selbstbau

Beitrag von PokeMon »

Ehrlich gesagt verstehe ich nicht ganz den Sinn der Speichererweiterung.
Das sieht so aus als würdest Du den Datenbus (D0-D7) über den Multiplexer leiten.
Daraus ergeben sich dann komische Abhängigkeiten, dass unter bestimmten Adressen das RAM nur aktiviert wird wenn ein bestimmtes Datum anliegt. :shock:

Wilf Rigter hat die Eingangspins mit D0-D7 bezeichnet aber hier nicht den Datenbus gemeint. Die Signale sind statisch beschaltet mit GND/VCC zur Auswahl bestimmter Adressbereiche und Nutzung des M1 Signals für eine M1NOT Schaltung. Hast Du mal ein größeres Programm in den Speicher geladen ?
Wer seinen Computer ehrt, lebt nicht verkehrt.
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

Ich habe kein großes Programm getestet. Die Geschichte mit einem Verstärker für den Tonbandanschluss steht noch aus.
Reicht es nicht, wenn man mit Poke und Peek die oberen Speicherzellen mal beschreibt?
Gruß Stephan
Benutzeravatar
ZX-Heinz
User
Beiträge: 3577
Registriert: 05.12.2011, 14:45
Wohnort: Potsdam

Re: 32k Speichererweiterung Selbstbau

Beitrag von ZX-Heinz »

Hallo,
ich stimme pokemon vollständig zu! Diese Schaltung kann nicht funktionieren, da die Datenleitungen mit der Adressdekodierung verschaltet sind! Bei Schreibbefehlen (POKE) hängt es von dem Inhalt des Daten an der CPU ab, OB überhaupt geschrieben wird, bei Lesebefehlen von den Daten im RAM. An Y entsteht ein Feuerwerk von Signalen. Kehre mal wieder zu der ursprünglichen Schaltung zurück! Wenn Du die Logik des HC251 und die ursprüngliche Verdrahtung anschaust, siehst Du, dass der RAM bei Adresse 16384=#4000 beginnt (S2=A15=0 und S1=A14=1) und bei 163284+32768=#BFFF aufhört (A15=1 und A14=0). Ferner gibt es (nichtverwertbare) Spiegelungen.
Gruß, Heinz
radiobastler
User
Beiträge: 26
Registriert: 20.10.2015, 22:02
Wohnort: Essen / Ruhr
Kontaktdaten:

Re: 32k Speichererweiterung Selbstbau

Beitrag von radiobastler »

PokeMon hat natürlich recht und ich bin doof. Wer lesen kann ist im Vorteil, das gilt auch für Schaltpläne. :oops:
Ich habe jetzt den korrekten Plan oben eingefügt, der wurde nach Wilf Rigter's Plan erstellt (siehe ganz oben). Der andere Plan war natürlich kappes.

So müsste es richtig sein. Das kommt davon, wenn man versucht, so etwas aus dem Kopf zu zeichnen.
Gruß Stephan
Benutzeravatar
PokeMon
User
Beiträge: 5014
Registriert: 31.08.2011, 23:41

Re: 32k Speichererweiterung Selbstbau

Beitrag von PokeMon »

So sieht es doch gleich sinnvoller aus. Ohne jetzt alles im Detail angeschaut zu haben. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.
Antworten