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
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.
> 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.
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
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
Danke für Eure hilfe... @Ekschperde & Michael, aber ich bastele gerne und ich möchte unbedingt einen stat. RAM ... Gruß Kasi
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!
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
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
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.
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
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.
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
Könntest du bitte mal die Deppostroph-Taste aus deiner Tastatur ausbauen und im nächsten Mauseloch verstecken?
@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
> (...) 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?
>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
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
@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
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
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
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?
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.
@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
@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
@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
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
@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
@ 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
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
@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
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.
@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
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
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
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
@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
@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
@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
@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
@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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.