Träumte schon lange von einer neuen CPU-Karte, mit vollständig auscodierten Port-Adressen und eingebautem NSC800 Adapter. Mit den modernen Speicherbausteine sind 128kB RAM und 64kByte ROM bequem unterbringen. Anno 86 hatte Manfred Meister (Moppel-Club) schon mal den Versuch unternommen mehr Speicher auf die CPU-Karte zu bringen, ist leider nicht vollendet worden…
Mein Versuch mit der ROM-RAM-Karte in NR.5 war erfolgreich und die Grundlage für die neue CPU-Karte. So spare ich die zwei bis drei RAM-Karten (a 32kB) und eine Menge Platz im Gehäuse.
Könnte natürlich einer performantere CPU (HD64180) vorsehen aber es soll ja ein Moppel bleiben und weitestgehend zu dem Original kompatibel bleiben, und einen Prof180x habe ich ja bereits.
11.09.2026
Pläne überarbeitet, durch die Wahlweise Bestückung mit 8085 bzw. NSC800 gab es natürlich einige Mecker weil KiCad davon ausgeht das beide CPUs gleichzeitig gesteckt sind. Mit den Ausnahmeregeln und entsprechende Kommentare konnte ich den ER-Check überzeugen. Das Board ist schon mal als Muster gezeichnet.
17.09.2026
Update, Quarzgenerator mit 6,144Mhz als Alternative eingefügt, Bauteile auf der Platine neu ausgerichtet, Stromversorgung manuell geroutet, Lochrasterfeld hinzugefügt. Das Routen hat dann der Freerouter übernommen, hier waren noch ein paar Nachbesserungen notwendig und schließlich die Freiräume mit Masse ausgefüllt. ERC und DRC haben keine Fehler festgestellt, lediglich ein paar Warnungen über Bestückungsauftrucke wurden angemeckert, diese sind für die Funktion erstmal nicht relevant.
21.09.2026
Finale Version, sieht dann so aus:


Hier der KiCad-Schaltplan, Platine als PDF: CPU-2.0
und das ganze Projekt: CPU-2.0
und geliefert…
Alle Bauteile am rechten Ort, fehlt nur noch Speicher und das GAL. Hier sind mir zwei Fehler aufgefallen. Erstens die Selectleitung für das Video-RAM (/CS-3000) ist nicht zum BUS geführt, globale Label mit unterschiedlicher Schreibweise, etwas Häkeldraht wird es richten. Der zweite ist weniger schön und betrifft die Adresse 16, wird ja eigentlich im RAM abgefrühstückt nur beim Zugriff auf das System-RAM bei 2800h steht es mit gestztem A16 nicht zu Verfügung. !
Also muss ich es im GAL dazu mogeln, glücklicherweise habe ich noch genau einen Port frei. Die Adresse 16 wird dann beim Zugriff auf das Systemram abgeschaltet – hoffe mal das es auch funktioniert…
Fehlersuche…

… fing mit dem Quarzosizillator an, zeitweise kein Taktsignal – Ersatzbeschaffung. Die gutgemeinte Reset-Schaltung mit dem TL7705 bleibt auf l-Pegel hängen, ohne CPU funktioniert sie – tausend Fragezeichen. Also zurück zum Ursprung und Kondensator und Widerstand bringen ein ordentliches /RESET Signal.
Für den Start ein EPROM mit Endlosschleife “JMP 0000h” gebrannt und voller Spannung eingeschaltet, Am Oszi sahen die Adressen 8-15 schon mal gut aus, die untere Hälfte war ziemlich verbogen und die Datenleitungen am BUS nicht vorhanden. Hier hatte ich den Datenbustreiber falsch herum angeschlossen, so lag der Datenbus ständig an der CPU an, mit einem zusätzlichem Gatter die Richtung berichtigt. Dank des Lochrasterfeldes kein Problem.
Läuft immer noch nicht, genauer betrachtet war das ALE-Signal nicht da, welches die Umschaltung im ersten Taktsignal zwischen Daten und Adressen bewerkstelligt und die im Latch zwischenspeichert. Fehler in meinem Schaltplan: die Definition der Netz-Bezeichner und Globale Bezeichner waren doppelt vorhanden und erzeugen im Layout schöne Kurzschlüsse zwischen Eingang und Ausgang der BUS-Treiber, sie haben es überstanden – Hier hat meine Endkontrolle völlig versagt.
Messer gewetzt alle “überflüssigen” Verbindungen aufgetrennt und mit Häkeldraht neu verbunden. Zur Sicherheit alles “Durchgeklingelt”, erstmal ok – bis zum nächsten Fehler ;-))
14.10.2026
Fehlereingrenzung Reset:

hierzu eine Platine “geopfert” und nur die wesentlichen Bauteile Takt, Reset und CPU bestückt. So kann ich mich auf das Wesentliche konzentrieren um den Fehler in der Resetschaltung einzugrenzen. Sobald die CPU gesteckt ist ging der /Reset ausgang nicht auf High-Pegel, laut Datenblatt eigentlich alles richtig nur auf der +5V Leitung waren kleine Störspannungen zu sehen. Bei näherer Betrachtung mit dem Oszi konnte ich die Versuche sehen wo der 7705 kurzzeitig auf High schaltete.
Im Netz gelesen das die Sense-Leitung sehr empfindlich auf Störungen reagiert, ein kleines C (0,1µ) brachte das gewüchnste Ergebnis.
Nun schaltet er sauber auf High, obere Linie.
In der Zweiten sieht man die Ladekurve von C28
Nächstes Problem ist das Signal ALE:
So sollte es aussehen (oben ALE, unten CLK), sobald der Datenbus-Treiber gesteckt ist steht die CPU und ALE geht auf Low. Für die Richtungsumschaltung im Original gibt es dafür eine AND Verknüpfung /INTA mit /RD.
Sobald ein /INTA (Interruptquittung) oder /RD Anforderung vorliegt werden Daten vom BUS gelesen sonst liegen die CPU Daten auf den BUS was die Grundstellung ist. Zur Eingrenzung den Treiber (74LS245) gezogen und eine Datenleitung nach der anderen direkt auf den BUS gebrückt. Und siehe da, sobald die Leitung AD7 nur mit dem Oszi Tastkopf berührt wird geht die CPU ins “Nirawana”.
Getauscht – und nun funktioniert die Richtungsumschaltung für den Datenbus …
Nächster Punkt:
/CS fürs ROM wird nicht angesteuer, hier ist wohl noch ein Fehler in meiner Definition für das GAL…
… ein Stückchen weiter:
- Datenbustreiber mit einem Platinchen die Anschlüsse getauscht, nun ist es wie im Original.
- RESET mit dem 7705 läuft noch nicht stabil, durch RC-Glied ersetzt.
- IC für den Adressbuffer gegen 74LS373 getauscht da HLDA erst im Haltemodus aktiv ist, beim 273 genau umgekehrt.
- RAM geschreddert, falsch herum gesteckt – es gab noch einen in Reserve.
Kleines Testprogramm geschrieben, speichert ab 2800h einen Zählerwert, der dann wieder gelesen und an Port 00h geschrieben wird.

Damit nicht für jeden Testdurchlauf ein EPROM geschrieben werden muss, tut hier der EPROM-Emulator von Shotech seinen Dienst.
(Im Bild ist auch der Datenbustreiber mit der Hilfsplatine sichtbar)


Im ersten Teil wird das RAM mit einem Zählwert beschrieben was sogleich wieder ausgelesen und zum Port geschrieben. Das sieht im Zeitablauf plausiebel aus, nur an den LEDs nicht sichtbar. Muss ich noch mit dem Oszi testen denn eine Schleife mit 256 Schrittenist ist ratz fatz durch.
Das nächste Testprogramm soll mir die Speicherbereich nher beleuchten.
Anmerkung: Der Logicanalizer ist in dieser Phase Gold wert.


