NKC Forum |
Autor | Thema: NKC-CPU8080 | ||
---|---|---|---|
Creep Voll in Gange ID # 169 |
Erstellt am 13. April 2020 14:59 (#1)
Zitat
PN E-Mail
Hallo,
seit Monaten hab ich schon ein kleines Spaßprojekt im Hinterkopf. Ein "neue" CPU Platine, die wahrscheinlich niemand braucht, die für mich aber immer noch in der Reihe fehlte: die Intel 8080 CPU! Also hab ich mal Literatur zur Hardwarekonfiguration studiert, neben den Datenblättern von Intel natürlich auch "Microrechnersysteme" von RDK. Habe mir das Buch "8080/Z80 Assembly Language" von Alan R. Miller besorgt, in dem schrittweise ein typisches Monitorprogramm entwickelt wird. Das abgetippt, erst im CP/M Emulator getestet, dann an GDP64 und KEY am NKC (läuft ja auch auf Z80 CPU) angepaßt. Diesmal hab ich nicht gleich drauflos gesteckt, sondern erstmal mit KiCAD einen Schaltplan designt und dann auf dem Steckbrett aufgebaut. Prinzipiell lief die CPU schonmal, machte aber noch nicht, was ich wollte. Über Ostern hatte ich nun endlich genug Zeit zur Fehlersuche. Prompt eine vergessene Datenleitung von der CPU zum Controller gefunden. Danach sahen die Signale schon gut aus. Ohne große Erwartungen habe ich dann mal die Verbindung zum NKC-BUS hergestellt und mein Monitorprogramm auf eine ROA64 gepackt. Angeschlossen - Monitor meldet sich und macht, was er soll! Die Treiber für den Adreßbus sind noch nicht verdrahtet aber in der Schaltung schon drin. Jetzt werde ich nochmal etwas gründlicher testen und dann die schon angefangene Platine routen. In ein paar Wochen sollten dann die ersten Testmuster da sein. Schön, wenn man mal wieder Zeit für's Hobby hat! Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 25. April 2020 19:05 (#2)
Zitat
PN E-Mail
Hallo,
auch hier nochmal ein Update zur CPU8080: Der Testaufbau läuft. Jetzt auch mit Resetschaltung und Bustreibern. CAS-neo wird schon unterstützt und funktioniert. Scrollroutine für die GDP64 muß ich noch (ab?-)schreiben. Mit nur einer Bildschirmseite ist das sonst etwas "einseitig". Hier ist der Schaltplan, Kommentare erwünscht: INT und WAIT sind noch(?) nicht herausgeführt. Heute habe ich auch das alte 8080 TinyBASIC zum Laufen gebracht. Wahlweise als Hauptsystem im ROM auf 0000 oder aus dem Monitor von der SD-Karte auf 2000H ladbar. Am Ende soll es mit dem Monitorprogramm und vielleicht noch 1..2 Tools auf dem 8k EPROM landen. Die Platine hab ich schon in Angriff genommen, muß sie "nur" noch zu Ende routen. Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 25. April 2020 19:06 (#3)
Zitat
PN E-Mail
OK, das Bild mit dem Schaltplan ist etwas groß geworden. Egal, ich laß es erstmal so...
Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
m.haardt Voll in Gange ID # 93 |
Erstellt am 26. April 2020 11:40 (#4)
Zitat
PN E-Mail
Coole Sache, besonders sich dem 8080 zu stellen, anstatt sich das Leben mit dem 8085 zu erleichtern.
Ist der 8228 gleichzeitig ein Treiber, weil Du dessen Signale nicht pufferst? /NKC_INT braucht noch einen Pullup. Michael |
||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: nicht gespeichert | |||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 26. April 2020 13:04 (#5)
Zitat
PN E-Mail
Moin Rene,
auch wenn ich nicht viel zur Schaltung beisteuern kann, bin ich auch wieder dabei. Mal schauen ob ich irgendwo passende ICs auftreibe. ----------------------- Gruß -=jens=- |
||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 26. April 2020 14:31 (#6)
Zitat
PN E-Mail
Ja, der 8228 ist Controller/Demultiplexer für Steuer-/Datenbus und gleichzeitig Treiber dafür. Den 8085 will ich auch noch angehen - wenn der 8080 fertig ist. Aber als "Urgestein" und quasi Z80-Vorgänger wollte ich ihn gern am NKC sehen!
8224 und 8228 bekommt man leich aus Deutschland bei EBay. 8080 habe ich einen 24er Pack aus russischer Produktion bestellt, ist unterwegs. Wenn die funktionieren, kann ich davon auch gern 15 preiswert abgeben. Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 26. April 2020 14:36 (#7)
Zitat
PN E-Mail
Da frage ich gleich noch, warum? Bei den anderen Karten am BUS wäre /INT doch ein Ausgang, oder? An der 8080-Platine ist er (noch) nicht verbunden. Ich werde ihn aber wohl noch mit dem Interrupteingang der CPU verdrahten. Evtl. aber über einen Jumper, der entweder zum NKC-BUS oder einem 10ms Timer auf der CPU-Platine führt. Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
m.haardt Voll in Gange ID # 93 |
Erstellt am 26. April 2020 15:57 (#8)
Zitat
PN E-Mail
/INT ist ein wired OR, d.h. alle Bausteine haben da einen open collector Ausgang gegen Ground und die CPU-Karte stellt den Pullup.
Das ist bei /NMI und /WAIT auch so. Michael |
||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 26. April 2020 17:23 (#9)
Zitat
PN E-Mail
Danke, dann kommen die noch rein. Und noch ein Inverter, denn INT am 8080 ist H-aktiv.
Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 24. Mai 2020 13:34 (#10)
Zitat
PN E-Mail
Hallo,
langsam möchte ich mit der Platine mal zum Ende kommen. Aber letztens kamen gerade wieder viele andere interessante Baustellen rein. Und zum Ausprobieren und Programmieren ist das Steckbrett ja gut genug Ich denke, einen Timer-IC werde ich mir sparen. Evtl. sehe ich 3 Pins vor, auf die man ein kleines ATTINY Sub-Board stecken kann, bei Bedarf. Wegen des INT Signals: Der 8080 ist ja H-aktiv, der Z80-Bus low-aktiv. Irgendwie widerstrebt es mir, allein wegen des einen Signals einen 74LS04 oder auch 74LS00 einzubauen. Im Prinzip reicht ja ein Transistor-Negator. Das Prinzip wird ja oft genug behandelt, z.B. Aber ich tu mich schwer, eine wirkliche Praxisschaltung zu finden, die ich sicher einsetzen kann. In meinem Digitalelektronik-Buch wurden 1k und 10k als Werte für die Rs angegeben. Hat da jemand hier sowas schon verwendet? Oder doch lieber einen IC mit den restlichen Gattern als Reserve? Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
m.haardt Voll in Gange ID # 93 |
Erstellt am 24. Mai 2020 20:09 (#11)
Zitat
PN E-Mail
Meine Erfahrung ist, dass man meist kaum was spart. Schau Dir den Platzbedarf an: Wenn Du noch einen weiteren Inverter brauchst, ist ein IC kleiner.
Ein BC547 mit 1k/10k wird funktionieren. 10k ist halt nur ein Pullup, aber Du hast ja kaum Kapazität. Ich weiss nicht, wie schnell der Transistor abschaltet, weil Du die Basis so sättigst. Mit einer Schottky Diode verhinderst Du das, aber es ist ein Bauteil mehr. Ansonsten hilft ein Schalttransistor, die sind für sowas gemacht, aber da hört es bei mir mit dem Elektronikwissen auch schon auf, d.h. ich kann Dir keinen Typ mit Basiswiderstand und bekannter Verzögerung nennen. Michael |
||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 28. Mai 2020 18:03 (#12)
Zitat
PN E-Mail
Ja, ich werde einen 74LS00 nehmen. Dann sind noch 3 NAND Gatter übrig, die man bei Bedarf verbasteln kann. Jetzt hab ich grad einen Packen Commodore- und ATARI PCs hier stehen, die ich noch verschicken muß. Danach mach ich weiter.
Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 04. Juni 2020 18:15 (#13)
Zitat
PN E-Mail
Thema CPU8080: Es hat eine Weile gedauert. Nicht ganz so lange wie bei der 6502. Aber jetzt hab ich das Layout fertiggestellt.
Es ist kein ästhetisches Meisterwerk wie bei der Zusammenarbeit mit Ingo. Aber ich bin zufrieden damit. Sicher könnte man noch etwas aufräumen. Den Timer habe ich erstmal weggelassen. Ist ja eh eher eine CPU-Platine, um diesen Dinosaurier einfach mit im Programm zu haben. Heute werde ich mal die ersten 5 Platinen bestellen. Wenn die so gut funktionieren, wie das Steckbrett, ist das die finale Version. Bestellungen nehme ich dann gerne an. Nebenbei schraube ich noch etwas an meinem Monitorprogramm und dem Tiny-BASIC. Beides sollte dann mit CAS-neo Unterstützung laufen. Man kann also tatsächlich gleich etwas mit der "neuen" CPU machen. Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
m.haardt Voll in Gange ID # 93 |
Erstellt am 07. Juni 2020 13:39 (#14)
Zitat
PN E-Mail
Das ist eine schöne Arbeit und der NKC zeigt hier wunderbar die Stärke seines modularen Konzepts. Darum war es auch richtig, den Timer wegzulassen. Die UHR3 kann einen Timerinterrupt liefern.
Auf Anhieb vermisse ich DMA: Kann der 8080 das nicht oder geht es ganz anders? Wenn man die nötigen Supportchips sieht, wird klar, warum der Z80 so beliebt war. Es ist unverständlich, dass Intel das nicht besser integrierte. Michael |
||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 08. Juni 2020 22:10 (#15)
Zitat
PN E-Mail
DMA geht bestimmt auch. Leider hatte ich nicht die Gedult, mich auch da einzufuchsen. Wahrscheinlich muß man nur HOLD und HLDA mit dem NKC-BUS verknüpfen. Kann man mit 2 Drahtbrücken und evtl. zwei der übrigen 74LS00 Gatter austesten. Ich hatte da jetzt keine Anwendung, um die Funktion zu überprüfen.
Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 13. Juni 2020 14:04 (#16)
Zitat
PN E-Mail
Hallo,
heute kamen meine CPU8080 Platinen an. Hab sie natürlich gleich bei 25°C auf der Terrasse zusammengelötet: Dann noch die passenden ICs zusammengesucht: Und das Steckbrett im NKC gegen die echte Platine getauscht: Läuft! Das ist ja immer so ein spannender Moment. Vor allem nach der Anfangszeit der NKC-Neuauflage, wo es doch immer mal Überraschungen des Sprint Designs gab. Hier ist nur die Bezeichnung des 74LS00 untergegangen. Den hatte ich zum Schluß für den INT -> /INT reingenommen und den Wert nicht mehr in den Silkscreenlayer verschoben. Mach ich gleich. Nachher/morgen werde ich dann noch im Flohmarkt die Liste der Interessenten pflegen und die schon bestellten 4 Platinen plus evtl. rus8080 verschicken. Jetzt gehe ich aber wieder auf die Terrasse - mit nem Bier statt Lötkolben! Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
Creep Voll in Gange ID # 169 |
Erstellt am 14. Juni 2020 11:31 (#17)
Zitat
PN E-Mail
Hallo,
ich habe hier: https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=14374&pagenum=lastpage&s=f3a7d1ad94a0f44d593d78de75f3d66d#bottom mal mit den Bestellungen angefangen. Ich kopiere jetzt nicht den ganzen Text hierher. Wer noch eine mitbestellen möchte,gern hier einfach melden. CPU8080 Platine: 5€ russischer 8080 IC: 5€ Gruß, Rene |
||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert | |||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 19. Juni 2020 09:06 (#18)
Zitat
PN E-Mail
Moin Moin,
warten auf den 8224 ----------------------- Gruß -=jens=- |
||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert | |||
m.haardt Voll in Gange ID # 93 |
Erstellt am 19. Juni 2020 11:33 (#19)
Zitat
PN E-Mail
So eine schöne Karte und Du baust Billigsockel ein. Nenene... :-)
Michael |
||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: nicht gespeichert | |||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 19. Juni 2020 12:15 (#20)
Zitat
PN E-Mail
Ach... die benutze ich schon seit 20 (30) Jahren und ich hatte noch nie irgendein Problem damit
----------------------- Gruß -=jens=- |
||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert |
| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Seite in 0,034165 Sekunden erstellt
17 Dateien verarbeitet
gzip Komprimierung eingeschaltet
2631,12 KiB Speichernutzung