Forum: Mikrocontroller und Digitale Elektronik dynamische RAM's durch statischen RAM ersetzen


von K. S. (kasi2302)


Lesenswert?

Hallo ihr Lieben, ich hoffe mir kan einer helfen...

Ich habe einen Z80-Kleincomputer mit 8x [64K x 1 dynamischen RAM's]. 
Diese RAM's sind schwer zu beschaffen und ich möchte diese dynamischen 
RAM's durch 1x [128K x 8 statischen RAM] ersetzen.

Meine Fragen dazu (folgende Probleme):

- meine bisherigen Test's schlugen fehl
- die dynamischen RAM's haben Adressleitung A0 bis A7, der statische RAM 
hat Adressleitung A0 bis A16, habe am statischen RAM A0 bis A7 mit den 
Adressleitungen von den dynamischen RAM's belegt und die anderen 
Adressleitungen (A8 bis A16) jeweils mit 4,7 KOhm auf +5V gelegt, CS 
(Chipselect) und OE (Out Enable) habe ich auf Masse gelegt und WE (Write 
Enable) habe ich am WE für die dynamischen RAM's angeschlossen, nur so 
geht es leider nicht...

- Muß ich vielleicht alle Adressleitungen an die Z80-CPU anschließen ???
- Z80-CPU hat aber nur Adressausgänge von A0 bis A15, was mache ich mit 
A16 ???
- Ich brauche ja auch nich die ganzen 128K x 8, 64K x8 würden perfekt 
passen, solchen statischen RAM gibt es aber nicht
- man könnte auch 2x [32K x 8 statischen RAM] nehmen, dann muß ich aber 
noch eine zusätzliche Chipselect-Schaltung bauen, dass wollt ich 
eigendlich nicht...

Ich hoffe mir kann jemand einen wertvollen Tip geben...

Gruß
Kasi

von Andreas K. (a-k)


Lesenswert?

Karsten Schlaeth wrote:

> - Muß ich vielleicht alle Adressleitungen an die Z80-CPU anschließen ???

DRAM kriegt gemultiplexte Adressen, d.h. mit RAS die Adressen A0..A7, 
mit CAS die Adressen A8...A15.

SRAM kriegt nicht gemultiplexte Adressen, d.h. wie du schon vermutet 
hast, will es direkt die Adressbits des Prozessors, nicht die hinter dem 
Adressmultiplexer, wobei es allerdings egal ist ob A0 nun mit A0 oder 
mit A13 verbunden ist, da bist du frei.

> - Z80-CPU hat aber nur Adressausgänge von A0 bis A15, was mache ich mit
> A16 ???

Vcc oder GND, ist egal. Könntest du zwar zu nutzen versuchen, aber lass 
das in dem Stadium lieber sein. So machst du aus einem 128MB RAM eines 
mit 64KB. Aber das ist, wie du schon festgestell hast, einfacher als 2 
Stück 32KB.

Ist dir schon klar, was aus OE,WE,CS wird? Immerhin gibt es die bei 
DRAMs nicht, jedenfalls nicht identisch.

von Ekschperde (Gast)


Lesenswert?

> Ich habe einen Z80-Kleincomputer mit 8x [64K x 1 dynamischen RAM's].
> Diese RAM's sind schwer zu beschaffen und ich möchte diese dynamischen
> RAM's durch 1x [128K x 8 statischen RAM] ersetzen.

Gibts die nicht beim Resteverwerter Pollin in der grossen Grabbeltüte?
Ich meine hier mal so was gelesen zu haben.

U2164...

Die ganze vorhandene Speicheransteuerung umzufrickeln halte ich da für 
keine so gute Idee.

von Michael U. (amiga)


Lesenswert?

Hallo,

Du kannst gerne gegen Portokosten 20-30 U2164 (4164) von mir haben, die 
hat(te) Pollin in seiner IC-Tüte für 1 Euro.
Soviele C64 mit defekten 4164 habe ich nicht mehr. ;)

Gruß aus Berlin
Michael

von K. S. (kasi2302)


Lesenswert?

Danke Andreas, für deine schnelle Antwort...

OE, WE, CS schrieb ich ja schon... ich hoffe es ist so richtig...

RAS und CAS werden nicht mehr benutzt...

CS (Chipselect) und OE (Out Enable) habe ich auf Masse gelegt und WE 
(Write
Enable) habe ich am WE für die dynamischen RAM's angeschlossen.

Ist das so richtig... ???

Ich dachte mir...

- da es nur ein stat. RAM gibt CS auf Masse, damit er immer aktiv ist
- OE gibt es bei dyn. RAM's nicht, aber damit wird das Lesen vom stat. 
RAM aktiviert und da WE mit L-Peger Vorrang hat vor OE, dachte ich mir 
lege ich es auf Masse.

Achso, da hatte ich noch was vergessen...

- dyn. RAM's haben DI (Data In) und DO (Data Out)
- stat. RAM's haben aber nur I/O (IN /OUT)
- habe DI und DO gebrückt und dann auf I/O 1...8 auf den stat. RAM 
gelegt und das ebend dyn. RAM für dyn. RAM (dyn. RAM 1...8)

Gruß
Kasi

von K. S. (kasi2302)


Lesenswert?

Danke für Eure hilfe... @Ekschperde & Michael, aber ich bastele gerne 
und ich möchte unbedingt einen stat. RAM ...

Gruß
Kasi

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Poste mal den Schaltplan Deines Systems. Du musst Dein SRAM mit den 
Adressleitungen der CPU verbinden, nicht mit denen, die an das DRAM 
geführt werden, denn die kommen aus einem Adressmultiplexer, und das 
geht schief.

Was aber auch nicht geht, ist einfach alle Adressleitungen A0..15 mit 
dem SRAM zu verbinden - irgendwo im 64K-Adressraum des Z80 muss auch 
noch ein ROM übrigbleiben, in dem die Software gespeichert bleibt. Daher 
ist eine Chipselect-Logik erforderlich; hierbei bietet es sich an, die 
das DRAM ansteuernde zu modifizieren. Also: Schaltplan her!

von K. S. (kasi2302)


Angehängte Dateien:

Lesenswert?

OK, aber der Schaltplan ist sehr Komplex...

ich warne nur schon mal vor...

Mit dem Video-Speicher habe ich das auch noch vor...

Wenn Sie mir dabei helfen würden, wäre das riesige Klasse...

Gruß
Kasi

von Helmi (Gast)


Lesenswert?

Anschluss von RAM an die Z80 CPU

RAM        CPU

WR ------- WR
OE ------- RD
CS ------- MREQ
A0..15 --- A0 ..15
D0..7 ---- D0 .. 7

Da du aber noch irgendwo ein EPROM hast fuer den BOOT-Code must du das 
CS vom RAM und das CS vom EPROM noch dekodieren.

Meistens schaltet man das mit einen IO-Port um nach dem das System 
gebootet hat. Also nach dem Reset ist das Eprom im unteren 
Addressbereich eingeschaltet und nach dem Booten wird dort das RAM 
eingeblendet.Vorher muss die Software allerdings den Inhalt des Eprom in 
das RAM kopieren.

            CS RAM         CS EPROM
              |                 |
            +---+             +---+
            |>=1|             |>=1|
            +---+             +---+
             | |               | |
MREQ---------+-----------------+ |
               |                 |
PORT-----------+---- Inverter----+

So in etwa koennte du das machen. Port ist ein belieber IO-Port.
Sollte nach dem Reset allerdings auf 1 stehen.

Gruss Helmi

von Andreas K. (a-k)


Lesenswert?

Karsten S. wrote:

> CS (Chipselect) und OE (Out Enable) habe ich auf Masse gelegt und WE
> (Write Enable) habe ich am WE für die dynamischen RAM's angeschlossen.
>
> Ist das so richtig... ???

Nö. Es sei denn du willst den Z80 nur mit RAM und sonst nix betreiben. 
Irgendwie musst du ja noch mindestens ROM einblenden. So reagiert das 
RAM in jedem Adressraum und kollidiert mit dem Rest.

Irgendwo in diesem Monster von einem Schaltplan spukt sicher eine 
Dekodierung herum, die CAS adressabhängig macht. Daran kannst du dich in 
Richtung CS orientieren.

Hast du einen A0 Plotter rumliegen? Oder wie schafft du es, mit solchen 
Schaltplan-Tapeten zu arbeiten? Mir jedenfalls war das Teil zu gross um 
darin rumzustöbern.

von K. S. (kasi2302)


Lesenswert?

Erst mal vielen Dank für Eure bisherige Hilfe...

Ich habe die 4 Blätter auf A3 Querformat ausgedruckt...

Ich persönlich finde den Schaltplan sehr übersichtlich...

Ich werde mal versuchen, mit Euren Tips was draus zu machen...

Mir macht die Sache sehr viel Spaß und ich will auch verstehen was da 
passiert und warum.

Falls Euch noch was einfällt oder Ihr einen Tip habt wäre ich sehr 
dankbar.


Wendet Euch dann bitte direkt an meine Email: karsten2302@web.de


Gruß
Kasi

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich habe einen kurzen Blick auf den Schaltplan geworfen - der Rechner 
hat 256 kByte DRAM, nicht 64. Die 64 kByte DRAM sind für den 
Graphikspeicher vorgesehen.

Ansonsten ist der Schaltplan sehr unübersichtlich gezeichnet, zwar hat 
der Zeichner Busse am oberen Bildrand vorgesehen und diese nach 
Adressen/Daten/Steuerinformationen getrennt, er führt aber munter und 
wohl recht willkürlich Signale aus allen drei Bereichen in irgendwelche 
Busse 'rein, das sieht man recht schön rechts und links der Z80-CPU.

Auf der RAM/ROM-Seite des Schaltplans wird das noch schlimmer, links ist 
der Adressmultiplexer zu sehen, der von links die Adressleitungen der 
CPU erhält - die Ausgänge des Multiplexers hat der Zeichner 
praktischerweise wieder in den "Adressen"-Bus eingeführt.

Im übrigen dürfte es nicht ganz leicht sein, das zur Adressdecodierung 
verwendete PROM 74S287 aufzutreiben oder gar zu programmieren.

Und die Adressdecodierlogik dieses Rechners ist sicherlich nicht ganz 
trivial, müssen nämlich 256 kByte RAM, 64 kByte Graphik-RAM und 
insgesamt 48 kByte ROM in den 64 kByte-Adressraum des Z80 gemappt 
werden.

Fazit:

Ich würde diesen Schaltplan als Kuriosität ad acta legen und mir eine 
deutlich unkompliziertere Schaltung als Grundlage für eigene Versuche 
nehmen. Als Einstieg in den Rechnerselbstbau ist das definitiv 
ungeeignet.

Aber vielleicht habe ich den Threadstarter auch nicht ganz richtig 
verstanden, schreibt er doch "Ich habe einen Z80-Kleincomputer ..."

Geht es nur darum, Ersatz für die 64 kBit-DRAMs zu finden? Nimm 256 
kBit-DRAMs und lege die Adressleitung A8 auf einen definierten Pegel.
Die liegt auf dem beim 4164 ungenutzten Pin 1. Ansonsten sind die Teile 
pinkompatibel.
Du musst allenfalls sicherstellen, daß der Refreshgenerator Deiner 
Schaltung auch alle 8 Adressleitungen bedient, damit das zuverlässig 
funktioniert. Das dürfte aber durch die Videologik sichergestellt sein.

Ein Ersatz durch die 4 Bit breiten 41464 oder 414256 ist hier nicht 
möglich, da die Schaltung "BWS VTG" (Bildwiederholspeicher, 
Videotiminggenerator) getrennte Datenein- und Ausgänge benötigt.

Den 4164-150 bekommt man noch als Auslauftyp bei Segor, den 41256 auch 
in verschiedenen schnelleren Ausführungen, aber auch als Auslauftyp.

von K. S. (kasi2302)


Lesenswert?

Hallo Rufus, erstmal danke für deine Mühen...

Ja, der Aufbau dieses Computers ist sehr komplex...

Aber genau das reizt mich daran...

Ich sehe es als privates Projekt an diesen Computer zu verbessern und 
die Komplexität zu verringern, was ohne Zweifel durch das Ersetzen der 
dyn. RAM's durch stat. RAM's gemacht wird.

Die PROM's sind kein Problem, da ich Sie schon durch GAL's ersetzt habe. 
Die GAL's habe ich auch selber programmiert, ich habe einen 
GAL-Programmer.

Die PROM's wurden durch die GAL's 16V8D ersetzt. Den Inhalt der GAL's 
habe ich auch in Tabellenform, damit man die Logik besser nachvollziehen 
kann.

Die Tips haben mir sehr geholfen, jetzt verstehe ich einige Funktionrn 
der einzelnen Bauteile besser und kann mir ein besseres Bild von der 
ganzen Sache machen.

Ich will und werde es auf jedenfall schaffen...

Gruß
Kasi

von Andreas K. (a-k)


Lesenswert?

Könntest du bitte mal die Deppostroph-Taste aus deiner Tastatur ausbauen 
und im nächsten Mauseloch verstecken?

von K. S. (kasi2302)


Lesenswert?

@Andreas

Ich glaube der einzige Depp hier bist du, denn was du bisher zu dieser 
Sache beigetragen hast war nur Luft...

Einbildung ist auch ne Bildung...

P.S. Ich habe schon ganz andere komplexe Sachen hinbekommen, nur leider 
fehlt einem manchmal der richtige Gedankenanstoß um besser durchzusehen, 
aber das kannst du ja nicht verstehen, MISTER SUPERSCHLAU...

Gruß
Kasi

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> (...) die Komplexität zu verringern, was ohne Zweifel durch das
> Ersetzen der dyn. RAM's durch stat. RAM's gemacht wird.

Von der völlig berechtigten Bemerkung von Andreas abgesehen (in keiner 
zivilisierten Sprache wird der Plural durch Anhängen eines Apostroph-S 
gebildet), wirst Du nicht umhin kommen, Dir die Videologik genauestens 
anzusehen. Die scheint die Trennung der Datenein- und Datenausgänge der 
einfachen DRAMs auszunutzen; wenn Du stattdessen SRAMs verwendest, musst 
Du untersuchen, wie Du diese Entkopplung umgehen kannst.

Statt des 128 kByte-SRAM kannst Du selbstverständlich auch zwei 32 
kByte-SRAMs verwenden; aufwendig ist die dann erforderliche 
Chipselect-Logik nicht. In die Signale für /CS fügst Du die 
Adressleitung A15 einmal invertiert und einmal nichtinvertiert ein, 
ansonsten schaltest Du alle Signale der beiden SRAMs parallel. Et voilà, 
das war's dann auch schon.

Allerdings setzt das natürlich voraus, daß es Dir gelingt, soweit durch 
die Videosignallogik durchzusteigen, daß die Trennung der Datenleitungen 
umgangen werden kann. Lässt Du die weg, kann es zu Bildstörungen kommen, 
wenn die CPU das Video-RAM beschreibt.

Achja, die Adressleitungen, die Du an Deine SRAMs anlegen musst, sind 
die, die an den Multiplexern anliegen, die im Schaltplan "BWS VTG" 
oberhalb der RAMs angeordnet sind.

Allerdings sind das 4-zu-1-Multiplexer, die je aus zwei Adressignalen 
und zwei Videoadressignalen eine VideoRAM-Adressleitung erzeugen - Du 
wirst je einen 4-zu-1-Multiplexer durch zwei 2-zu-1-Multiplexer ersetzen 
müssen.

Betrachten wir beispielsweise die obere Hälfte von D409, so liegen hier 
die zwei Adressleitungen ab2 und ab0 sowie die zwei Videoadressleitungen 
V2 und V0 an und erzeugen das Adressignal IRMA0.

Nun erzeugen wir zwei Adressignale für das Video-RAM, nennen wir die mal 
IRMA0_0 und IRMA0_1. Die werden durch je zwei 2-zu-1 Multiplexer 
erzeugt, an die ab2 und V2 sowie ab0 und V0 anzulegen sind. Als 
Steuersignal für die Umschaltung ist /S1 zu verwenden.

Soweit nachvollziehbar?

von Herbert von Caravan (Gast)


Lesenswert?

>in keiner zivilisierten Sprache wird der Plural durch Anhängen eines Apostroph-S 
gebildet

....mehrere PROM heißen dann: die PROMI und mehrere RAS-Signale heißen
demnach: "Die Rasen" ;-)))

Hochachtungsvoll
Herbert von Caravan

von Michael U. (amiga)


Lesenswert?

Hallo,

ich würde es einfach schade finden, das Ding zu verbasteln...

Verbessern ist das ohnehin nicht, spielt schließlich nicht besser davon.
Ist eher blaue LED im Armaturenbrett ;)

Dann lieber einen kompletten Kleincompi zusammenbasteln, egal, ob 
sinnvoll oder nicht.

Gruß aus Berlin
Michael

von K. S. (kasi2302)


Lesenswert?

@Rufus

Rufus du bist der Hammer...

Deine Ausführungen bringen mich wirklich weiter, bei der Videologik habe 
ich auch schon überlegt, dein Beispiel hat mir dabei sehr geholfen...

Das mit dem Arbeitsspeicher werde ich wohl schnell hinbekommen, das mit 
dem Videospeicher wird eine harte Nuß...

Aber ich will es schaffen...

Solltest du noch Sachen finden wo ich deiner Meinung nach auf meine 
Grenzen stoßen werde, immer her mit den Infos...

Ich bin dir echt sehr dankbar... Ohne diese wertvollen Infos hätte ich 
mir wohl noch Monate den Kopf zerbrochen.

Gruß
Kasi

von K. S. (kasi2302)


Lesenswert?

Nur mal um darzustellen wie Ernst mir das ist und wieviel Arbeit ich da 
schon reingesteckt habe...

Ursprünglich war das mal ein DDR-Kleincomputer KC85/4, natürlich mit 
DDR-Bauteilen aufgebaut.

Bisher wurden alle DDR-Bauteile durch heutige ICs ersetzt.

Momentan befinden sich die Videosteuerung, die Takterzeugung und die 
Modulschächte auf einer separaten Platine.

Momentan gibt es die Hauptplatine und Videoplatine wie beim Original.

Die Platinen wurden mit EAGLE neu gezeichnet und neu hergestellt und 
alle Bauteile per Hand eingelötet. Alles funktioniert...

Mein Ziel ist es jetzt durch die Wegrationalisierung der 16x dyn RAMs 
und der Speichersteuerung der dyn. RAMs mehr Platz auf der Hauptplatine 
zu bekommen. Damit die Videoplatine mit auf die Hauptplatine passt. Auf 
die jetzige Videoplatine soll dann ein Floppycontroller für ein 
3,5"-Diskettenlaufwerk rauf. Software gibt es für diesen Computer im 
Internet wie Sand am Meer.

Dieser Computer ist einfach Nostalgie pur und der Aufbau sehr Lehrreich, 
gerade weil er so komplex ist.

Eine Sache habe ich da noch...

Da gibt es eine kleine Schaltung die den Videotakt erzeugt im 
abgeschirmten Bereich im Videoschaltplan.

Darin befindet sich eine Kapazitätsdiode BB112, diese ist sehr schlecht 
zu beschaffen, habe auch nur noch eine.

Gibt es eine Möglichkeit die Videotakterzeugung durch einen IC zu 
ersetzen oder durch eine andere gleichwertige Schaltung, so das man die 
Kapazitätsdiode nicht mehr benötigt ???

Gruß
Kasi

von Michael U. (amiga)


Lesenswert?

Hallo,

BB112:
http://cgi.segor.de/user-cgi-bin/sidestep2.pl?foto=1&Q=bb112&M=1
Zumindest vor kurzem noch ab Lager lieferbar...

Gruß aus Berlin
Michael

von Jens (Gast)


Lesenswert?

Zunächst mal zu der Anordnung in dem Schaltplan, das ist den Original-
schaltplänen zu dem Gerät nachempfunden. Den Nachbau gibt es schon
länger, ich glaube auf der zugehörigen Webseite ist die letzte Änderung
von 2003. Was mich etwas wundert, warum hat der Autor zu dieser Zeit
a) diese unübersichtliche Anordnung der Schaltung beibehalten?
b) nicht schon einige Vereinfachungen wie sie Karsten anbringen
will realisiert?

Um zu helfen wäre es sinnvoll noch einige Details zu wissen:
-Soll die Änderung (dyn. RAM => stat. RAM) auf einer bestehenden
 Platine gemacht werden oder geht es nur darum wie die Schaltung
 auszusehen hat?
-Sind weitere Veränderungen geplant die vtl. die RAM-Ansteuerung
 betreffen könnten?

Jens

PS: @Karsten, hast Du den Schaltplan und das Layout zu dem o.g.
Projekt als Datei und würdest Du es weitergeben?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nee, da kann ich Dir so auf die Schnelle nicht weiterhelfen. Allem 
Anschein nach sollen halt Frequenzen für die PAL-Farbvideogenerierung 
erzeugt werden, und vermutlich dient die Diode zum Abstimmen der 
Schwingkreise.
Aber das ist noch nichtmal eine fundierte Vermutung - ich habe mich nie 
mit PAL-Signalen beschäftigt.

Da muss ich passen.


Immerhin, die 256 kByte DRAM solltest Du schon einfacher durch zwei 
128kx8-SRAMs ersetzt bekommen. Die für die unteren 14 Adressleitungen 
ab0..ab13 zuständigen Multiplexer sind D203 und D204, die kannst Du 
einfach weglassen und ab0..ab13 direkt mit den SRAMs verbinden

Die Datenleitungen der 256k-DRAMs (DI und DO) sind offensichtlich 
miteinander verbunden, also kann der Datenbus der Z80 direkt mit dem 
Datenbus der SRAMs verbunden werden.

Die restlichen Adressleitungen der RAMs weden von D205 gemultiplext, das 
ist wieder ein 4-zu-1-Multiplexer.

An dessen Eingängen liegen die Signale ab14..ab15 und RAF0..RAF3 an, wie 
die aber zu verschalten sind, erschließt sich mir jetzt nicht so ganz. 
Vermutlich sind RAF0..RAF3 so eine Art Banking-Signal, aber mir ist 
nicht ganz klar, wie ab14..ab15 dazu passen.
Blendet die Adressdecodierung dynamisch umschaltbar ROMs in den 
Adressraum ein resp. aus selbigem aus?

Außerdem muss die Refreshschaltung sowie die Takterzeugung für /RAS und 
/CAS, die sich in der Zeichnung unterhalb von D205 befindet, ab- und 
umgerüstet werden. Das von der Z80 gelieferte Refreshsignal /rfsh kann 
wohl getrost ignoriert werden, bzw. die entsprechenden einhergehenden 
Zugriffe sollten entfallen. Man müsste sich ansehen, was die Signale 
/RAE und /WER sind, und daraus geeignete /CS, /WE und /OE der SRAMs 
ableiten.

Nun, viel Erfolg jedenfalls.

von K. S. (kasi2302)


Lesenswert?

@Jens

Das Projekt wurde schon früher mal ins Leben gerufen, ist aber dann 
wieder eingeschlafen.

Und es wurde auch nur die Hauptplatine neu entwickelt und nachgebaut.

Ich habe mich diesem Projekt schon seit längerem angenommen und dann 
noch die Videoplatine erfolgreich nachgebaut.

Die Änderungen sollen nur als Versuchsaufbau auf der jetzigen 
Hauptplatine integriert werden.

Ich werde dann, wenn es funktioniert einen neuen Schaltplan zeichnen 
(übersichtlicher) und eine neue Platine zeichnen und herstellen lassen.

Mit dem Autor dieses Projektes stehe ich ständig in Verbindung, er hat 
aus Zeitgründen das Projekt leider nicht weiterführen können.

Ich bin auch im Besitz der EAGLE-Schaltpläne und Platinenlayouts, darf 
und möchte jedoch diese zu diesem Zeitpunkt nicht weitergeben.

Eine Weitergabe der EAGLE-Projektdateien der Revision 1 (jetziger Stand) 
wäre denke ich mal möglich, wenn Revision 2 des Projektes fertig ist und 
funkrioniert, diese soll die schon oben genannten Änderungen enthalten.

Gruß
Kasi

von Jens (Gast)


Lesenswert?

@Rufus:

Bei dem beschriebenen Rechner wurde sehr intensiv Bankswitching
betrieben. Bei den RAMs konnte man (wenn ich mich richtig erinnere)
16KB-Blöcke auf beliebigen 16KB-Grenzen einblenden. Die ROMs belegten
teilweise sogar überlappende Speiecherbreich und konnten auch
einzeln ausgeschaltet werden.

@Karsten:

Wie weit willst Du bei der Vereinfachung gehen? Theoretisch könnte
man den ganzen Rechner in 3 Schaltkreise packen, FPGA, RAM und ROM.
Ein Zwischenschritt wäre wenn man einen Teil der teilweise recht
üppigen Logik in einen CPLD packt. Mit einer passenden Dekodierlogik
könnte man z.B. auch die 3 ROMs in einem ROM zusammenfassen.

Jens

von K. S. (kasi2302)


Lesenswert?

@Rufus

Nochmal vielen, vielen Dank für die vielen wertvollen Infos...

Ich werde Sie auf dem laufenden halten, wie weit ich gekommen bin und 
was schon funktioniert.

Wenn ich Fragen habe, würde ich mich gerne noch mal bei Ihnen melden.


Ich kann nur sagen, ganz große Klasse das es noch solche kompetenten 
Leute gibt, die gerne helfen !!!


Gruß
Kasi

von K. S. (kasi2302)


Lesenswert?

Jens wrote:
> @Rufus:
>
> Bei dem beschriebenen Rechner wurde sehr intensiv Bankswitching
> betrieben. Bei den RAMs konnte man (wenn ich mich richtig erinnere)
> 16KB-Blöcke auf beliebigen 16KB-Grenzen einblenden. Die ROMs belegten
> teilweise sogar überlappende Speiecherbreich und konnten auch
> einzeln ausgeschaltet werden.
>


Du erinnerst dich richtig... Genau so ist es... was die ganze Sache noch 
komplizierter macht...

Der Computer muß in seiner Arbeitsweise und verhalten auf jeden Fall 
kompatibel bleiben, ich will keinen neuen Computer entwickeln. Ich will 
nur etwas verbessern und erweitern.


> @Karsten:
>
> Wie weit willst Du bei der Vereinfachung gehen? Theoretisch könnte
> man den ganzen Rechner in 3 Schaltkreise packen, FPGA, RAM und ROM.
> Ein Zwischenschritt wäre wenn man einen Teil der teilweise recht
> üppigen Logik in einen CPLD packt. Mit einer passenden Dekodierlogik
> könnte man z.B. auch die 3 ROMs in einem ROM zusammenfassen.
>


Also man soll schon noch was von dem Rechner sehen können und er soll 
auch seinen nostalgischen Wert behalten.

Also so weit wie du vorschlägst wollte ich eigentlich nicht gehen.

Die ROMs werden immer noch von anderen Teams weiter entwickelt und es 
werden auch immer noch Erweiterungsmodule entwickelt, es soll bald ein 
Modul geben das USB unterstützt usw., ich finde das einfach toll, dass 
an so einem nostalgischen Computer noch weiter entwickelt wird.

Aber das wird ja für den AMIGA und Commodore C64 auch gemacht.

Gruß
Kasi

von Jens (Gast)


Lesenswert?

@Karsten:

In Sachen RAM, bei Reichelt kostet ein 512k*8 SRAM keine 4 Euro.
Man könnte mal überlegen ob es evtl. machbar wäre die Logik für
das Bankswitching so zu erweitern, das der zusätzliche Speicher
wie ein (oder mehrere) RAM-Modul(e) angesprochen wird. Bei den
ROMs hindert einen ja niemand daran den Inhalt des einen Bausteins
oder auch nur Teile davon upzudaten (evtl. einen Flash nehmen?).
Wie schon weiter oben geschrieben ist das Bankswitching beim KC85
nicht gerade einfach zu verstehen, aber eine vereinfachte Lösung
wäre für mich z.B. ein CPLD für das Bankswitching und dann je
ein ROM und ein RAM Baustein für den Arbeitsspeicher.
Der Videospeicher ist ein anderes Kapitel, da wirds schon etwas
komplizierter.

Jens

von K. S. (kasi2302)


Lesenswert?

@ Jens

Ich habe mir ebend mal die Funktionsweise und die Einsatzgebiete eines 
CPLDs durchgelesen und muß sagen, dass ich nicht abgeneigt wäre es 
einzusetzen. Vor allem beim Testaufbau würde es mir viel Platz und 
Lötarbeit sparen und selbstverständlich auch bei der Platzminimierung 
auf der Hauptplatine.

Danke für deinen super Tip...

Was es heute nicht alles gibt...

EEPROMs sind schon vorgesehen in der neuen Revision (2x 28C64 & 1x 
28C256), ich möchte aber alle drei ROMs behalten, weil sich sonst die 
Entwickler bei den ROM-Weiterentwicklungen umstellen müssen und ich 
denke mit den jetzigen Ideen hätten wir schon ausreichend Platz auf der 
Hauptplatine geschaffen.

Gruß
Kasi

von Michael U. (amiga)


Lesenswert?

Hallo,

wie wäre es, statt der Roms (EPROMs) Flash-Roms zu nehmen?
Ich habe die schon manchmal eingesetzt, von alten Mainboard-BIOS oder 
eben neuere Typen. Sind beim Lesen ja praktisch kompatibel und man kann 
sie in der Schaltung per Software umprogrammieren.

PS: meinen Hinweis auf die BB112 und Segor vom 21.05.2008 14:03 hast Du 
hoffentlich nicht überlesen... ;)

Gruß aus Berlin
Michael

von Jens (Gast)


Lesenswert?

@Karsten:

Mal eine Frage von meiner Seite, Du willst einen Floppycontroller
integrieren. Wie wird das aussehen? Hast Du da einen Controller am
Z80-Bus? Das wäre dann aber nicht kompatibel zum KC-Floppy-Aufsatz.

Jens

von Platy (Gast)


Lesenswert?

Ich fürchte, wenn Du jetzt noch die Funktionsweise eines FPGAs (z.B. 
Spartan 3) durchliest, wirst Du nicht abgeneigt sein, den kompletten 
Rechner darin unterzubringen. Immerhin bliebe der Schaltplan 
nostalgisch.

Endkonkret: Den Prototyp in den FPGA und das Zielsystem dann wieder 
"diskret" aufbauen.

von Jens (Gast)


Lesenswert?

@Michael:

Er will ja EEPROMs einsetzen. Das ist schon ok. Das es unbedingt 3
sein sollen leuchtet mir halt noch nicht so ganz ein. Wenn man den
Inhalt der ROM's in einen Baustein schreibt und dann beispielsweise
über die Adresslogik dafür sorgt das die richtigen Inhalte auf den
richtigen Adressen rauskommen ändert sich aus Softwaresicht überhaupt
nichts.

Nur mal so grob angedacht:

-Inhalt von ROM1 liegt im Flash von 0x0000 bis 0x3FFF
-Inhalt von ROM2 liegt im Flash von 0x4000 bis 0x7FFF
-Inhalt von ROM3 liegt im Flash von 0x8000 bis 0xBFFF
-Die Adresslogik sorgt nun dafür das beim Zugriff auf die
 ROM-Adressen der passende Bereich angesprochen wird.

Jens

von Michael U. (amiga)


Lesenswert?

Hallo,

@Jens: hab ich wohl nicht für voll genommen, die EEPROMs...

Ansonsten Zustimmung, ist ja relativ wenig Aufwand, das zu dekodieren.

Gruß aus Berlin
Michael

von K. S. (kasi2302)


Lesenswert?

Jens wrote:
> @Karsten:
>
> Mal eine Frage von meiner Seite, Du willst einen Floppycontroller
> integrieren. Wie wird das aussehen? Hast Du da einen Controller am
> Z80-Bus? Das wäre dann aber nicht kompatibel zum KC-Floppy-Aufsatz.

Doch... :-))

Ich nehme den KC-Floppy-Aufsatz und Dank deines Tips, CPLDs zu 
verwenden, passt er dann auf die ehemalige Videoplatine... :-)) (Mir ist 
bekannt das der KC-Floppy-Aufsatz ein eigenes Z80-System darstellt)
Der Floppy-Aufsatz bekommt natürlich ein neues Netzteil und eine 
digitale PLL spendiert, da ich gelesen habe, dass die anologe PLL sehr 
anfällig ist und für die zuverlässige Funktion stabile 500 KHz benötigt 
werden. Und das Netzteil soll auch nicht gerade der Hit sein... Das sind 
jedenfalls die bekanntesten Probleme beim KC-Floppyaufsatz.

Zu einer Integration der 3 EPROMs in 1 EPROM bzw. EEPROM, werde ich mich 
wahrscheinlich auch noch durchringen.

Ich denke das Ziel für die nächste Zeit ist erstmal eine große 
Herausvorderung, erstmal muß ich dieses Ziel erfolreich hinter mich 
bringen...

Machen kann man so viel... Schritt für Schritt...

@Michael

Den Hinweis mit der BB112 habe ich natürlich nicht überlesen...

Nur die BB112 wird nicht mehr hergestellt und deshalb wird sie jeden 
Monat teurer, weil es nur noch Restbestände davon gibt.

Sie muß raus aus der Schaltung, ich will sie nicht mehr haben... :-))

Dafür gibt es bestimmt eine bessere Lösung...


@Platy

Auch die Funktionsweise eines FPGAs ist mir bekannt, habe ich gleich mit 
durchgelesen, aber das geht mir zu weit... :-))

Dann sieht man ja garnichts mehr vom Rechner...

Dieser Rechner würde auch in eine Streichholzschachtel passen, wenn man 
das will...

Gruß
Kasi

von Michael U. (amiga)


Lesenswert?

Hallo,

ich habe erstmal nur grob drübergeschaut...

Quarzoszillator, der den PAL-Träger erzeugt (x2).
Die Sachen um VD624/VD625 sollte ein Phasendiskriminator sein, der an 
C612 die Nachstimmspannung für den freilaufenden Oszillator mit der 
BB112 liefert.

XP614 dürfte ein Messpunkt sein, an dem mit R658 auf eine Spannung 
abgeglichen wird, bei der der Oszillator im günstigsten Nachstimmbereich 
liegt und damit auch eine passende Ruhefrequenz erzeugt.

Genaue Verhältnisse müßte man mal aussortieren, ich habe noch nicht 
geschaut, wo VCOT618 hingeht.

Entweder ist es PAL-Burst-Erzeugung oder es wird ein zum PAL-Träger 
phasenstarrer Zeilenimpuls erzeugt wäre meine Vermutung.

Sollte sich eigentlich durch eine PLL mit 4046 ersetzen lassen.

Gruß aus Berlin
Michael

von K. S. (kasi2302)


Lesenswert?

@Michael, @All

Besten Dank für diese Info, dass spart mir sehr viel Zeit...

Ich bin einfach überwältigt wie selbstlos einem hier geholfen wird...

Einfach toll...

Immer her mit den Infos, ich bin für jeden Tip sehr dankbar... :-))

Gruß
Kasi

von Jens (Gast)


Lesenswert?

@Karsten:

Habe gerade mal etwas gestöbert und von den diversen Neuerungen zum
KC85 gelesen. Wirst Du auch den Netzwerkadapter und das USB-Interface
integrieren? Noch eine Idee, ich hatte vor vielen Jahren mal darüber
nachgedacht ein Modul mit einer SIO zu bauen, wo u.a. das Tastatur-
interface 
(http://www.iee.et.tu-dresden.de/~kc-club/08/0801-01.HTML#PCTIF)
gleich mit drauf sein sollte. Wenn sowas gleich mit im Rechner drin
wäre... Ok, da wird der Platz dann auch schon wieder eng. Aber
andererseits ist die Originaltastatur eigentlich nur für die Vitrine
tauglich. Falls man doch häufiger mal etwas mit dem Gerät macht wäre
eine (kleine) PS/2-Tastatur eindeutig die bessere Wahl.

Mal noch eine Frage zu den Schaltplänen, sind die im Eagle auch wie
in den Originalplänen angeordnet?

Jens

von K. S. (kasi2302)


Lesenswert?

@Jens

Den Netzwerkadapter und das USB-Interface werden wir nicht integrieren, 
dass ist eine andere Baustelle, wir würden uns nur Ärger damit 
einhandeln.

Die wollen schließlich Geld damit verdienen...

Tut mir leid, dass ist zum jetzigen Zeitpunkt absolut nicht machbar...

Ein Tastatur Interface für PC-Tastaturen wird mit drauf sein, dass habe 
ich schon aufgebaut und getestet.

Aber nicht das was du meinst, weil siehe oben... :-)) und es hat auch 
einen Nachteil, es muß an einem V.24-Modul angeschlossen werden, damit 
wäre ständig ein Modulschacht belegt.

Schau mal hier...

http://de.geocities.com/sieg.peter/kc/kc.html

...das Tastatur-Interface ist besser, es kann ohne Probleme auf der 
Hauptplatine integriert werden, weil es den normalen Tastatur-Anschluß 
des KC's nutzt und es arbeitet auch sehr schnell in der 
Tastenbefehlsumsetzung.

Die EAGLE-Schaltpläne sind identisch...

Aber die Pläne müssen ja demnächst eh neu gezeichnet werden, wegen der 
Änderungen.

Gruß
Kasi

von Jens (Gast)


Lesenswert?

@Karsten:

Das kannte ich noch nicht. Klar, so gehts auch. Wenn man jetzt etwas
mehr Zeit hätte könnte man dem vermutlich nicht ausgelasteten PIC
bestimmt noch die eine oder andere nützliche Aufgabe übertragen.

Jens

von K. S. (kasi2302)


Angehängte Dateien:

Lesenswert?

@RUFUS, @ALL

Ich habe da mal noch eine Frage zu den Adressleitungen vom 
Arbeitsspeicher (8x 256Kx1 dyn. RAMs sollen ersetzt werden durch 2x 
128Kx8 stat. RAMs).

Ich habe mir da so meine Gedanken gemacht...

Um die stat. RAMs einzusetzen müssenn ja die Multiplexer D203 und D204 
weg, da mann ja die daran anliegenden Adressleitungen ab0 bis ab13 für 
die stat. RAMs braucht...

Unschlüssig war ja noch der Multiplexer D205...

Da habe ich mir folgendes überlegt...

Die dyn. RAMs haben die gemultiplexten Adressleitungen A0 bis A8 (9 
Adressleitungen).

Also müßten doch für die stat. RAMs ab0 bis ab17 (18 Adressleitungen) 
zur Verfügung stehen.

Die fehlenden Adressleitungen von ab14 bis ab17 müssen also noch vor dem 
Multiplexer D205 abgenommen werden, da er ja für die dyn. RAMs, A7 und 
A8 erzeugt.

Die Signale die in den Multiplexer D205 rein gehen, denke ich, kommen 
von einer Art Adresserweiterungslogik, da ja die Z80 CPU nur die 
Adressleitungen A0 bis A15 bereit stellt.

Darum habe ich mir gedacht, mann nimmt die am Multiplexer D205 
anliegenden Signale a14 und a15 für die Adressleitungen ab14 und ab15 
der stat. RAMs und schickt die Signale RAF0 und RAF2 (vielleicht auch 
RAF0 und RAF1 ???), sowie RAF1 und RAF3 (vielleicht auch RAF2 und RAF3 
???) in jeweils einen 2 zu 1 - Multiplexer und bekommt dann am Ausgang 
der beiden Multiplexer die noch fehlenden Adressleitungen ab16 und ab17.

Vielleicht ist das ja auch ein Denkfehler, aber so würde es passen...

Was meint Ihr...

Jedoch brauchen die beiden 128Kx8 stat. RAMs nur die Adressleitungen A0 
bis A16...

Bleibt zwar nun die Adressleitung ab17 über aber es müssen doch alle 
Adressleitungen an einem RAM beschaltet sein, sonst kann er doch nicht 
vollständig adressiert werden, oder ???

Ich hoffe meine Überlegungen sind nicht völlig falsch...

Gruß
Kasi

P.S. Ich habe noch mal die Datei "Schaltplan.rar" angehängt, damit Ihr 
in den vorherigen Beiträgen nicht lange suchen müßt und nachvollziehen 
könnt wovon ich rede...

von K. S. (kasi2302)


Lesenswert?

Ich habe dann mal noch etwas weiter gedacht...

Das Adresssignal ab17 was dann noch über bleibt, könnte ich dann ja 
zusätzlich in die Chipselect-Logik für den zweiten 128Kx8 stat. RAM 
reinführen um den dann zu aktivieren.

Könnte man das so machen... ???

Gruß
Kasi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.