Wie baue ich einen Computer mit einem Z80-Mikroprozessor?

22

Ich habe den Chip, also wie würde ich hinzufügen: eine Uhr, RAM, Festplatte (vielleicht EEPROM?), Einen Bildschirm (LCD-Grafikbildschirm?), Eingabemethode (Tastatur, Maus)?

user8210
quelle
2
Wofür möchten Sie es verwenden? Das bestimmt Ihre Anforderungen.
Stevenvh
6
Das Z80 war zu seiner Zeit wirklich ein sehr, sehr, sehr wunderbarer Prozessor, aber sein Tag ist lange vorbei. Tun Sie dies nicht, es sei denn, Sie möchten und müssen einen Z80 verwenden. Benutze etwas anderes. Stellen Sie Ihren Z80 in Ihr eigenes privates Museum als Beispiel eines Prozessors, der den Weg zu dem, was wir jetzt haben, erheblich verändert hat.
Russell McMahon
1
Ich denke, es fällt Ihnen schwer, einen (Cross-) Assembler oder (Cross-) Compiler zu finden, der auf einem aktuellen PC läuft, ganz zu schweigen von den Peripherie-Chips, einem EPROM und einem passenden Programmierer, die Sie benötigen, um ihn zum Laufen zu bringen. Ich würde mich für Arduino entscheiden, das eine lebendige Community im Internet hat, jede Menge Bibliotheken für alle Arten von Hardware und Entwicklungsunterstützung für Linux und Windows.
jippie
1
@jippie Es ist nicht schwer, aber es macht nicht viel Sinn, es sei denn, Sie sind ernsthaft in Retrocomputing. Es gibt sdcc als Compiler und Farnell listet alle verfügbaren Z80-Peripherie-Chips auf, obwohl die Preise ziemlich hoch sind.
Starblue
1
Ich habe eine Z80 mit einer Dunkelkammer-Zeitschaltuhr, die ich 1980 gebaut habe. Die Zeitschaltuhr funktioniert immer noch, aber sie überlebte mein Bedürfnis nach Zeitbelichtungen und chemischen Bädern in einer Dunkelkammer. Es ist immer noch ein funktionierender Intervallmesser, aber ich habe momentan keine Verwendung dafür.
Olin Lathrop

Antworten:

37

Hören Sie nicht zu, wenn die anderen sagen, das z80 sei zu alt oder zu hart. Das z80 wurde für diese Aufgabe entwickelt. Es ist aus einem bestimmten Grund die älteste kontinuierlich produzierte CPU. Es ist einfach, damit Computersysteme zu erstellen. Es ist eine ausgezeichnete Wahl für Ihr Projekt.

Es gibt einige großartige Bücher wie "z80 Microcomputer Design Projects" und " The Z80 Handbook ", die Ihnen wirklich helfen werden. Schauen Sie sich auch z80.info an , dort finden Sie jede Menge Informationen, die Sie benötigen .

Ihre Designziele sind realistisch. Der schwierigste Teil ist der LCD-Bildschirm, vorausgesetzt, Sie möchten ein VGA- oder NTSC-Display betreiben. Aber selbst das ist nicht so schwer, wenn man sich erst einmal damit befasst. Das ist ein wiederkehrendes Thema, mit dem Sie in diesem Projekt konfrontiert werden. Die Dinge sind viel einfacher als erwartet. Frühe Mikrocomputer waren bemerkenswert einfache Maschinen, und es ist ein sehr realistisches Ziel, zu erwarten, dass Sie sie 2012 bis zu einem gewissen Grad duplizieren können. Abgesehen von den benutzerdefinierten Sound- und Videochips ist der Rest der Maschine immer noch als Standardware erhältlich und auch für Anfänger leicht verständlich.

Das einfachste verwendbare z80-System verfügt über die z80-CPU, einen Flash-Speicher oder ein EEPROM, das Sie kostenlos von alten Motherboards, RAMs und einem Uart für die serielle Kommunikation erhalten können (plus einem Max232 für Level Shifting). All dies ist bei jedem Elektronikvertrieb erhältlich, besteht aus Durchgangsbauteilen und kann auf einem Steckbrett aufgebaut werden. Die einzige spezielle Ausrüstung, die Sie benötigen, ist der Flash / EEPROM-Programmierer (den ich selbst aus einem Arduino gebaut habe). Oh, und ein paar andere Dinge, wie etwa 74er-Logikchips zur Adressendekodierung, Rücksetzschaltung usw. und ein Quarzoszillator.

Alternativ können Sie das uart durch einen z80 pio-Chip ersetzen, um mit einer modernen LCD-Zeichenanzeige im Parallelmodus zu kommunizieren. Es wird nicht wirklich Grafiken machen, aber es ist einfach zu bedienen und Ihr z80 kann Dinge frühzeitig drucken. Eine ps / 2-Tastatur ist recht einfach zu bedienen.

Trotzdem ist der z80 eine gute Wahl für Ihr Projekt. Das mag kompliziert klingen, aber am Ende ist es einfach nicht so schlimm. Inkrementelle Erstellung, beginnen Sie mit der z80-Testschaltung, verdrahten Sie ein EEPROM, damit es Code ausführen kann, und erstellen Sie von dort aus.

UziMonkey
quelle
1
Der kritischste Teil des Projekts wird eine Art Eprom-Ersatz sein, auf den Code einfach von einem Entwicklungs-PC heruntergeladen werden kann. Hier waren die Dinge in der Ära der z80 im Vergleich zu den heutigen Mikrocontrollern mit In-Circuit-Programmierung primitiv. Wenn Sie alternativ einen seriellen Bootloader validieren lassen (möglicherweise mit einer Bitbang-SPI-SD-Kartenschnittstelle "disk") und ihn in ein tatsächliches EPROM einfügen, können Sie problemlos einen statischen RAM für Ihren in Entwicklung befindlichen Code verwenden.
Chris Stratton
Verwenden Sie zum Entwickeln Ihres Codes einfach einen an Ihren PC angeschlossenen E-Prom-Emulator. Funktioniert wie ICP.
14

Zum Glück gibt es ein Buch - "Bauen Sie Ihren eigenen Z80-Computer" und obwohl es mittlerweile vergriffen ist, hat der Autor Steve Ciarcia großzügigerweise zugelassen, dass es frei als PDF verteilt wird: http://retro.hansotten.nl/index.php? page = z80-sbc

Vielleicht möchten Sie auch einen Blick auf das N8VEM Home Brew Computer-Projekt werfen. Es handelt sich um einen Z80 SBC (Single Board Computer), der CP / M-fähig ist und sehr billig gebaut werden kann - die Leiterplatten kosten 20 US-Dollar zzgl. Versand. Es gibt jetzt eine Vielzahl von Erweiterungskarten (S100-Bus!) Und dahinter steckt eine kompetente und hilfreiche Community.

Vor allem aber, warum nicht eine Handvoll Komponenten greifen und den minimalen Z80 Tester aufzubauen, um sicher , dass Ihre CPU Werke zu machen - http://www.z80.info/z80test0.htm Dies ist nur fest verdrahten ist die Daten- und Adressleitungen kontinuierlich ausführen Die gleiche Anweisung (NOP) demonstriert im Grunde genommen das Herz eines funktionierenden Z80-basierten Computers.

Schwerer Sixer
quelle
Tolle Links. Jetzt bin ich sogar versucht, es selbst zu versuchen .. ;-)
Cees Meijer
4

Der Z-80 ist zwar ein alter Chip, aber es kann eine schöne Herausforderung sein, damit einen Computer zu bauen. Im Gegensatz zu allen modernen Mikrocontrollern sind nicht viele Funktionen integriert, sodass Sie RAM, EPROM und Adressdecodierungshardware selbst hinzufügen müssen. Und genau das haben sie vor vielen Jahren getan, als Tandy den TRS-80 baute. Schauen Sie sich einfach das Originalmodell 1 an: http://electrickery.xs4all.nl/comp/trs80/doc/westHWBook.pdf

Cees Meijer
quelle
Sie beginnen beim Durchsuchen dieses Dokuments zu berücksichtigen, welche Hardware in Chips wie ATtiny und ATmega integriert ist. Ich werde wahrscheinlich spontane Alpträume haben, nur durch Daten- und Adressbusverkabelung.
jippie
Abgesehen vom Z80 selbst war der größte Teil des TRS-80 auf den Videobereich und die dynamische RAM-Schnittstelle zurückzuführen. Außerdem war die Chipanzahl aus irgendeinem Grund etwas höher als es b / c gewesen sein könnte. Sie verwendeten viele 16-polige "Hex" -Teile (z. B. 74LS367) anstelle weniger 20-poliger "Oktal" -Teile (z. B. 74LS244). Mein Punkt ist, Sie könnten wahrscheinlich einen TRS80 klonen, der Ihr eigenes Z80 rollt. +1!
JustJeff
4

Ich hatte die Gelegenheit, ein paar Computer von Grund auf neu zu bauen, die auf dem Z80-Mikroprozessor basieren, nämlich einen Sinclair ZX80 (eine verbesserte Version) und den Jupiter Ace von der Firma Jupiter Cantab. Beide funktionieren einwandfrei und diese Geräte verwenden eine Tastatur und erzeugen Schwarzweißbilder (mit einer Auflösung von 240 x 192 Pixel) auf einem Fernsehgerät. Weitere Informationen zu ihnen:

http://www.jupiter-ace.co.uk/

http://searle.hostei.com/grant/zx80/zx80.html

Ein Nachfolger des ZX80, der ZX Spectrum, bietet nicht nur all dies, sondern auch alle Arten von Schnittstellen wie IDE-Disk-Schnittstelle, Diskettenschnittstelle und auch für modernere Speichermedien wie USB-Sticks oder SD-Karten.

Meine Empfehlung: Mach weiter! Forschen, viel lernen und Spaß haben. Die Dinge sind heutzutage viel einfacher als in den 80ern, wir haben das Internet, CPLDs, FPGAs, so viel statisches RAM wie wir wollen, etc.!

Viel Glück und pass auf dich auf.

Ismael Perez de Albeniz
quelle
3

Sie werden eine sehr haben schwer fallen, Ihren eigenen "Computer" auf der Basis des Z80 mit all den von Ihnen beschriebenen Funktionen zu bauen. Wenn Sie jedoch leben können, ohne die Hardware selbst zu erstellen, ist ein Z80-Computer, den Sie selbst programmieren, durchaus möglich.

Die alten TI-83, TI-84 und ähnliche (vor TI-89, glaube ich) sind Z80-basierte Taschenrechner. Sie sind immer noch sehr gebräuchliche Taschenrechner und für etwa 100 US-Dollar erhältlich: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=ti-84

Der Taschenrechner bietet alles, was Sie wollen, mit Ausnahme der Maus. Da die Taschenrechner in Schulen immer noch üblich sind, finden Sie immer noch eine gute Anzahl von Z80-Entwicklern. StackOverflow kann bei Fragen helfen: /programming/tagged/z80

Ich bin mir nicht sicher, wie einfach es sein wird, den Z80 mit Ihrem eigenen Code neu zu programmieren.

Chris Laplante
quelle
1
An der High School hatten wir einen Kurs in Assembly-Programmierung, bei dem die z80-Entwicklungstafeln verwendet wurden. Wir hatten die gesamte Toolchain, um sie mit ihrem Assembler-Code zu programmieren, einige LEDs zu beleuchten und einige Zahlen mit den 7-Segment-Anzeigen anzuzeigen. Daher denke ich, dass es für ein hardwarebezogeneres Lernen ein guter Ausgangspunkt sein könnte, aber wer weiß, wo sie zu finden sind ...
clabacchio
1
Obwohl es sinnvoll ist, eine potenziell hackbare Entwicklungsplattform vorzuschlagen, ist die anfängliche "sehr harte" Behauptung übertrieben. Es ist wahr, dass es viele Phasen eines Projekts geben wird, in denen alles auf der Liste der Veröffentlichungen steht, aber keines dieser Dinge ist besonders schwierig oder liegt außerhalb des Rahmens dessen, was Hobbyisten in den frühen 1980er Jahren oder heute üblicherweise getan haben.
Chris Stratton
3

Im Internet gibt es mehrere Websites, die dokumentieren, wie Z80-basierte Systeme erstellt werden. Ich baue gerade auf und im Moment habe ich es mit einem Diskettenlaufwerk, einer seriellen Tastatur, einem VGA-Monitor und einer SD-Karte eingerichtet.

Das Projekt nach Hause:

http://n8vem-sbc.pbworks.com/w/page/44366173/Zeta%20SBC

Sam Castledine
quelle
2

Ich denke nicht, dass der Z-80 veraltet ist. Es ist ein ziemlich leistungsfähiger Prozessor für sich. Sie finden einen kostenlosen Assembler + IDE unter www.zilog.com. Es ist ein sehr gutes Werkzeug.

Wenn Sie einen PC ersetzen möchten, kümmern Sie sich nicht darum. Wenn Sie viel über Mikroprozessoren lernen möchten, machen Sie weiter.

Es gibt viel gedrucktes Material in Bezug auf den Z-80, Schnittstellen, Programmierung usw.

Während der Z-80 niemals mit einem 3-GHz-Quad-Core mithalten kann, kann er in menschlicher Hinsicht dennoch recht schnell sein. Es gibt auch schnellere Prozessoren in der Familie. Schauen Sie sich die Z80S180-Familie an. Sie erhalten eine Menge Leistung, viele Peripheriegeräte, die alle in einem einzigen Paket integriert sind. Ja, rom & ram sind extern, Sie haben nicht alles auf einem Chip erwartet, oder? Sie würden das gesamte Konzept eines Busses vermissen! Ich würde jedoch keines dieser Hochgeschwindigkeitsdesigns sofort ausprobieren.

Arduinos, Himbeer-PIs usw. Stellen Sie fest, dass Sie Legoblöcke kaufen, ohne sie zu entwerfen. Ja, sie passen zusammen, aber Ihr Beitrag wird auf Software beschränkt sein (OK, vielleicht könnten Sie Ihr eigenes Board entwerfen - aber doch?)

Der Z-80 bleibt ein großartiges Lernwerkzeug. So ist der 8051, und Sie erhalten Ihren RAM, ROM, CPU und 1 MIPS in einem einzigen Paket mit dem 51. Schnellere Geschwindigkeiten auch, wenn Sie möchten.

Hören Sie nicht auf die Entscheidungen, die andere getroffen haben. Entscheide, was du machen willst und dann mach es. Bei 2 MHz ist das Debuggen viel einfacher als bei 40 MHz.

Nutzen Sie die Möglichkeiten des Internets und sammeln Sie einige Z-80-Schaltpläne. Viele von ihnen treiben da draußen herum. Betrachten Sie "The Z-80 Microprocessor" von Gaonkar ISBN 0-02-340484-1 (Amazon kann gebrauchte Exemplare für sehr wenige US-Dollar verkaufen). Eigentlich würde Gaonkar jede Frage beantworten, die Sie gestellt haben.

Pete
quelle
1

Das z80 ist so veraltet, dass Sie nichts anderes als einen neuartigen Retro-Computer damit bauen können, aber das bedeutet nicht, dass es nicht lehrreich und unterhaltsam wäre, es zu versuchen.

Wenn ich nur beweisen wollte, dass ich einen alten z80 ausführen kann, würde ich ihn wahrscheinlich mit einem statischen 32Kx8-RAM und einem UART-Chip ausstatten und ein modifiziertes TRS-80-Modell-I-ROM-Image in ein beliebiges kleines EPROM / EEPROM brennen . Die gesamte Speicherkarte könnte mit einem MSI-Chip dekodiert werden.

Es würde nicht viel Zeit und Mühe kosten, die TRS-80-Tastaturmatrix-Dekodierungsroutinen herauszukratzen und durch eine UART-Eingaberoutine zu ersetzen, noch die Zeichenausgaberoutine zu finden und durch eine UART-Ausgaberoutine zu ersetzen. Dann könnte es an eine serielle PC-Schnittstelle angeschlossen werden, und das alte BASIC könnte aufgerufen und damit interagiert werden.

Das sollte beweisen, dass Sie einen z80 verwenden, ohne den Aufwand, viel I / O dafür zu implementieren.

JustJeff
quelle
2
Ich glaube nicht, dass der Z80 veraltet ist. Derzeit wird er von den Taschenrechnern der TI-83-Serie als primärer Prozessor verwendet, und der TI-84 verwendet ihn auch in einem ASIC.
Fuzzyhair2
Was ist falsch daran, einen neuen Retro-Computer zu bauen? Niemand baut irgendetwas von der Chip-Ebene aus, außer für Spaß und Selbstbildung. Nicht, wenn Sie ein hervorragendes vorgefertigtes Motherboard für 5 US-Dollar kaufen können!
Isaac Rabinovitch