Hey^^ Ich muss in der Uni im nächsten Semester etwas mit dem Z80 entwerfen. Hat vllt. jemand gute Projektideen? MfG
Hmm... Das Standard-Klischee-Z80-Projekt wäre wohl ein kleines Computersystem, aber davon gibt es schon viele. ;) Ein Computersystem mit (für Z80) außergewöhnlichen Sachen wäre vielleicht schon etwas besser. Spontan würde mir noch ein MP3-Player auf Z80-Basis einfallen - eine SD-Karte an einen Z80 zu hängen ist bestimmt interessant. Allerdings braucht man dazu wahrscheinlich die (relativ schlecht beziehbare) CMOS-Version vom Z80, um genug Datenrate hin zu bekommen. Eine Retro-VGA-Spielekonsole mit Z80 als CPU wäre vielleicht auch ein ganz nettes Projekt. Zumindest, wenn man Spiele dafür hat. Der schwierigste Teil davon, nämlich die Grafikkarte, wird aber wohl leider nicht so viel mit Z80 zu tun haben, sondern eher auf modernen Logik-Chips oder Mikrocontrollern aufbauen. Ich persönlich bastele gerade das Betriebssystem für mein Eigenbau-Z80-System, mit 1MB RAM (4MB Adressraum, Paging), Multitasking, Festplatte und später auch Grafikkarte... Das wird ein am x86-PC orientiertes System, aufgebaut mit alten Komponenten auf Lochraster. Vielleicht wäre diese Richtung ja auch etwas für dich. Gruß Jonathan
Es gibt Leute, die in den letzten Jahren ein komplettes Z80 Retro Projekt mit allen Schikanen aufgezogen haben. Wie anno Dunnemal, mit ECB Bus und allem Drum und Dran. Die Platinen kann man kaufen: http://n8vem-sbc.pbworks.com/w/page/4200908/FrontPage
Übrigens ... ein echtes Z80 Projekt braucht 1k Widerstände im Datenbus zwischen CPU und Ram. http://nocash.emubase.de/zx80-sch.gif
CE schrieb: > Ich muss in der Uni im nächsten Semester etwas mit dem Z80 entwerfen. Was für eine Uni will sowas? Sind die Intel 4004 aus?
>Übrigens ... ein echtes Z80 Projekt braucht 1k Widerstände im Datenbus >zwischen CPU und Ram. Das glaube ich nicht. Wenn ich es richtig sehe, ist der Schaltplan an einen ZX81 angelehnt.
chris_ schrieb: > Wenn ich es richtig sehe, ist der Schaltplan an > einen ZX81 angelehnt. Wie der Name schon sagt ist das der ZX80. ZX80 und ZX81 sind ja eng miteinander verwandt. Der ZX81 hatte aber einen Custom-Chip drauf, der einige der TTLs zusammenfasste.
Muss es das Original sein, oder darf es auch etwas modernes sein? Schau Dir den eZ80F91 an. Das könnte die Basis für eine web-basierte Fernsteuerung etc sein. http://www.zilog.com/index.php?option=com_product&Itemid=26&task=parts&BL=1&familyId=130&productId=EZ80F91AZA&puqs=b3B0aW9uPWNvbV9wcm9kdWN0JnRhc2s9cHJvZHVjdCZidXNpbmVzc0xpbmU9MSZpZD03NyZwYXJlbnRfaWQ9NzcmSXRlbWlkPTU3 fchk
Der Custom-Chip war nicht die einzige Änderung - die 1k wurden durch 470 Ohm ersetzt. http://emu-docs.org/Sinclair%20ZX80/zx81_sch.png Wenn schon ein Z80 Projekt, dann aber auch im 80-Jahre Stil. :-)
Ich nehme alles zurück. Auf dem Foto sehen sowohl R7-R14 als auch R18-R26 nach 1k aus. http://www.flickr.com/photos/hugo_schotman/37974711/
Die Widerstände im Datenbus waren sehr wichtig. Sinclair hat damals den Datenbus auf 0 gezogen um die Bildschirmausgabe zu realisieren. Der Z80 für NOPs aus währen die Display Logik aus dem ROM die Bitmuster für die Buchstaben ausliest. Man hat also das PC Register als Pixelzähler missbraucht, und das R Register als Basis für die Bitmaps. Der HALT Befehl hat den Prozessor dann bis zum Zeilenende angehalten. So konnte man den kompletten Bildschirminhalt dynamisch im RAM halten - man hatte ja nur 1k davon. Der ZX80 war unheimlich gut durchdacht und hat den Heimcomputermarkt in Europa erst ermöglicht. Damals gab es nur den Commodore PET und den TRS-80, die unbezahlbar waren.
Hm, gab's da nicht mal 'ne Türklingel mit Z80 oder war das ein 80486? Könntest ja einen LED-Cube oder eine Uhr mit dem Ding bauen... das wären so die Standard-Projekte.
Also wenn Du was mit dem Z80 machst, würde ich vielleicht zu was CP/M-artigen raten. CP/M kann man prinzipiell gut an eigene Hardware anpassen und es ist inzwischen unter einer halbwegs freien Lizenz verfügbar. Im Prinzip müsstest Du dafür nur die Hardware aufbauen und die BIOS Routinen schreiben. Belohnt wirst Du für den Aufwand mit einer Menge fertiger Software.
Hey, danke für die vielen Antworten. Gleich mal eine Frage an Jonathan: Wie kannst du einen 4MB Adressraum bei einer 16bit CPU haben? :D Oder denk ich gerade falsch? ^^
CE schrieb: > Hey, > > danke für die vielen Antworten. > Gleich mal eine Frage an Jonathan: > Wie kannst du einen 4MB Adressraum bei einer 16bit CPU haben? :D Oder > denk ich gerade falsch? ^^ Die CPU ist ja sogar nur 8 Bit, aber mit 16 Bit Adressbus. ;) Ich hab die CPU "einfach" mit einer Platine voll Logik versehen, die immer vier von 256 möglichen 16kByte-Pages in den Adressraum der CPU einblendet. Die Software (bzw. der Betriebssystemkernel) kann dann selbst bestimmen, wo welcher RAM liegt. So realisiere ich (und auch fast jedes andere Multitasking-Betriebssystem) getrennte logische Adressräume für die einzelnen Prozesse und bekomme noch dazu einen (für Z80) riesigen Speicher. Jeder Prozess kann damit 48kByte Speicher gleichzeitig einblenden und nutzen, ohne dass er irgendwie auf andere Prozesse Rücksicht nehmen müsste. Die untersten 16kByte sind fest für den Kernel vorgesehen, der dort dauerhaft eingeblendet wird. Schau mal hier: http://de.wikipedia.org/wiki/Paging Gruß Jonathan
Ich schrieb: > Ne DCF77 Computeruhr wär ein realistisches Projekt. Eine DCF77-Uhr braucht ohne µC oder µP weniger Hardware als ein Z80 Minimalsystem.
Interessant wäre schon etwas mit grafischer Oberfläche, wie schon die Retro-VGA-Spielekonsole^^ Ein Game wie Snake könnte man sicher selber proggen. Nur wie löst man am besten den VGA Part? Der Z80 ist ja nun kein Rechenmonster.
Darum gehts hier gerade nicht. Ich hab hier noch ein selbstgebautes Minimalsystem mit einem 8088 und 64K RAM. Klar versägt bis auf den Speicher jeder ATMega das Ding locker, als einzelner Schaltkreis. Hier gehts aber nicht um Effizienz, sondern um die halbwegs sinnvolle Verwendung eines Z80.
CE schrieb: > Ich muss in der Uni im nächsten Semester etwas mit dem Z80 entwerfen. Wieder ein klassisches Beispiel für eine aktuelle und praxisorientierte Ausbildung an unseren Universitäten. Der Prof sollte sich seinen Z80 (am besten in der DIL-Variante) in irgendeine Körperöffnung schieben...
CE schrieb: > Interessant wäre schon etwas mit grafischer Oberfläche, wie schon die > Retro-VGA-Spielekonsole^^ > Ein Game wie Snake könnte man sicher selber proggen. > > Nur wie löst man am besten den VGA Part? > Der Z80 ist ja nun kein Rechenmonster. Der Z80, den ich Dir vorgeschlagen habe, läuft mit 50 echten MHz und kann 16 MByte RAM adressieren und ist dabei auf Wunsch sogar noch binärkompatibel mit dem alten Z80. Du kannst natürlich auch den linearen Modus einschalten und hast dann 24 Bit Register und noch einige andere Nettigkeiten mehr. Damit solltest Du schon einiges machen können. Statt VGA nimmst Du besser ein TFT und hängst einen TFT-Controller von Epson (http://vdc.epson.com/index.php?option=com_docman&task=cat_view&gid=4&Itemid=435) oder Solomon Systech (www.solomon-systech.com) dran. fchk
CE schrieb: > Hat vllt. jemand gute Projektideen? Wie komplex bzw. aufwändig sollte es denn sein? Im Grunde kann man vieles machen, was heute moderne µC auch können. Allerdings mit externen Peripheriebausteinen. Für sowas bietet sich gerne ein Rack für Europakarten-Einschübe an, wo man dann die verschiedenen Baugruppen gliedert, z.B. Zentralrechner, Memory, I/O, Peripherie, usw.. Der MFA-Computer war mal sowas, allerdings mit 8085, aber das ist sehr ähnlich. Was heute ein kleiner µC kann, dafür brauchte man damals mal eben ein ganzes 19-Zoll-Rack. Wenn ich mal sowas zu tun hatte, dann atmete ich aber auch erst mal tief durch, und dachte: Was ist für mich als Einzelperson vernünftig realisierbar? Bloß nicht was, was mich vor Aufwand noch mal an die Wand knallt. Manche neigen ja dazu, sich realitätsfremd voll zu übernehmen, bis sie es näher mit den Details zu tun bekommen. Den MFA-Computer sah ich selbst noch. Da bauten Studenten mal jeweils einen Einschub für, aber nicht einer alleine den gesamten Klotz. Da machte einer die Windgeschwindigkeitsmessung und Windrichtung, der andere die Temperatur und Luftdruck, der nächste die Luftfeuchte, andere wiederum das Betriebssystem oder den Zentralrechner mit dem Speicher. Eine selbst gebaute Z80-Karte ohne Betriebssystem und einfach Assembler programmiert, sowas bekommt man in zwei Wochen hin.
Hallo, Ich habe nicht die geringste Ahnung aber wie wäre es irgendwas mit Röhren. http://pct-server.de/~stephan/~hpage/images/1002574.jpg Allerdings nicht nur die Zeit sondern dann auch etwas andere Daten. Sowas finde ich extrem Schick. Es gibt wohl auch Röhren die Buchstaben anzeigen. Evtl kann man per Tastatur Nachrichten hinterlegen. Keine Ahnung ob das irgendwie ausreicht, oder überhaupt damit realisierbar ist :) Mit freundlichen Grüßen
@Frank: Mit den 50Mhz lässt sich sicher mehr umsetzen, wobei die Komplexität doch schon wieder um einiges höher ist. Allein wenn ich schon 40 Pins vs 144 Pins sehe. Zumal nicht sicher ist, ob wir den benutzen dürfen aber ich will es mal nicht abschreiben! @ Wilhelm: Tja wie komplex ist schwer zu sagen. Wenn man nach ein paar Tagen schon fertig ist, dann wäre es eigentlich zu einfach nur Monate soll es halt auch nicht dauern. Vllt. sollte man sich doch lieber erstmal ein "0815" Projekt aussuchen. Zum einen fehlt mir die Erfahrung beim Z80 und wenn es dann mal Probleme gibt (warum auch immer) soll die Sache nicht gleich zu groß ausarten.
> CE fragte: Nur wie löst man am besten den VGA Part? Natürlich so. http://justc.de/2012/06/hochhaus-tetris/ Die Nixi Röhren finden viel zu viele Leute extrem Schick. Die werden zu Preisen gehandelt - da kann der normale Bafög Empfänger nur in die Röhre schauen.
In ein paar Tagen baust Du kein Z80-System von Null auf. Da wäre die Hardware, anschließend die Programmierung. Für letzteres wirst Du wahrscheinlich Assembler brauchen, und damit dauerts schon ein wenig bis da ein paar LED-Segmente oder was immer Du nun betreiben willst aufleuchten.
CE schrieb: > @Frank: Mit den 50Mhz lässt sich sicher mehr umsetzen, wobei die > Komplexität doch schon wieder um einiges höher ist. Allein wenn ich > schon 40 Pins vs 144 Pins sehe. Zumal nicht sicher ist, ob wir den > benutzen dürfen aber ich will es mal nicht abschreiben! Die Komplexität ist eher geringer. Du hast nämlich schon etliches eingebaut, wie Timer, serielle, I2C, SPI Schnittstellen und 256k Flash. Das müsstest Du sonst als separate Bausteine anschließen und dabei für die richtige Decodierung sorgen. Auch Interruptcontroller etc sind dabei. Es wird also eher einfacher. Lass Dich nicht durch die vielen Pins ins Bockshorn jagen. Und das wirklich schöne sind die Debugmöglichkeiten per USB- oder Ethernet Debug-Probe. Das erleichtert die Sache enorm, und das hast Du bei den alten Bausteinen nicht. Und den C-Compiler und das Echtzeitbetriebssystem bekommst Du auch so von Zilog. Der einzige Nachteil kann die fehlende Lochrasterkompatibilität und die 3.3V-Technik sein. Wobei heutzutage so gut wie alles auf 3.3V läuft. Wenn man Euch den eZ80 verbietet, schau mal, ob Du den Z180 verwenden darfst. Den gibts mit 10 MHz Takt und im 68 Pin PLCC-Gehäuse, d.h. mit dem passenden Sockel kannst Du den lochrastern. Der hat auch vieles eingebaut, was Du sonst extern hinzufügen musst. Das ist zwar auch ein "klassischer" Prozessor, wie Zilog sich ausdrückt, aber doch etwas fortgeschrittener. Wie gesagt, wenn Du die Wahl hast, nimm den eZ80. fchk
Ich glaube die Verwendung von supergepimpten Z80-Varianten verstößt gegen den Grundsatz der Nostalgik.
magic smoke schrieb: > Ich glaube die Verwendung von supergepimpten Z80-Varianten verstößt > gegen den Grundsatz der Nostalgik. Ja und? Spielt das bei seiner Projektarbeit an der Uni eine Rolle? Aus meiner Uni-Erfahrung sage ich: mit Sicherheit nicht. Es muss funktionieren, es muss eine gewisse fachliche Tiefe haben, und es muss später 1a dokumentiert sein. fchk
Matthias M. schrieb: > Man hat also das PC Register als Pixelzähler missbraucht, Nope, der war für die Adressierung des Displayspeichers im RAM zuständig. Zeichenweise, nicht pixelweise. Das adressierte Zeichen landete zusammen mit einem diskreten Pixelzeilenzähler auf den ROM-Adressen, und das lieferte dann die Pixel. Rein "zufällig" hat der M1 Zyklus 4 Takte, was zusammen mit dem doppelten Ursprungstakt grad für 8 Pixel reicht. > und das R Register als Basis für die Bitmaps. Das R Register diente auch als Interrupt-Quelle, um den Strom von NOPs oder HALTs passend zum Sync abzubrechen. > Der ZX80 war unheimlich gut durchdacht Yep. Als ich zusammen mit einem Freund dieses Funktionsprinzip entschlüsselt hatte war ich auch ziemlich geplättet.
Also ich würde damit einen Druckerpuffer aufbauen. Centronics ... :-) Schau Dir mal das Buch 'Z80 Anwendungen' von Coffron an. Habt Ihr bestimmt in der Bücherei. Gruß Jobst
Noch eine Projektidee.. Terminal "Handy-Style": Westentaschengroß, kleine Tastatur und kleines LCD? Das dürfte in der einfachsten Grundversion wohl in ein paar Wochen machbar sein. Läuft das Teil erstmal überhaupt, gibt es ja noch Spielereien wie verschiedene Terminalemulationen, Graphik, kleiner Logikanalysator oder ähnlich. Die Komplexität läßt sich beliebig auswalzen, falls du zu schnell fertig wirst.. ;)
Hi, mein Bruder und ich hatten mal ein Lauflicht mit einem Z80 aufgebaut mit 32k ROM, 32k RAM ,IO-Port (8255) und eine LED-Anzeige (7x60 LEDs): http://manib.ma.funpic.de/de/uwe/LAUFSCHRIFT.HTM Ciao, ManiB
CE schrieb: > Hat vllt. jemand gute Projektideen? Die interessante Z80-Idee fand ich einst hier: http://www.jdm.homepage.dk/z80boot.htm Es ist die minimalste Z80-Variante, die ich kenne. Die Z80V20.PAS zu analysieren, war schon etwas knifflig, obwohl sie gut kommentiert ist. Zitat JDM: Z80 system without ROM. Using NMI, RESET and CLOCK to bootload.
Für die UNI? Da soll wohl am besten hinterher so richtig der Intellekt durchscheinen, was? Es gibt zum Beispiel Forth Systeme für Z80. Z80 vielleicht deswegen, weil jemand den Assembler Code lesen kann. Außerdem hat der Z80 einen unkomplizierten verständlichen Bus. Fast alles, was es in anderen Computersystemen auch gibt. Forth geht gut für Robotik und Astronomie. Ansonsten wird überall C favorisiert. Auf jeden Fall ist gute Dokumentation vonnöten. Mit Motorik könnte man einen Projektor bauen, oder so eine "Wischeruhr" mit LEDs. Oder etwas robotisches. Etwas mit Nutzwert wäre z.B. eine Steuerung für eine Aquariumsbeleuchtung/Heizung/Fütterung. Guten Eindruck macht eine leichte Benutzbarkeit des fertigen Produkts/was für die Augen/Finger. Ein kompletter Computer, z.B. für die universelle Steuerung oder Verarbeitung von elektrischen Zuständen, mit Klemmen an Platine, wäre brauchbar und realisierbar, evtl. ein Morsecodegenerator, oder ein Signalgenerator(Funktionsgenerator), ein Schaltgerät für elektrisches etc.. Viel Erfolg. MfG
Claus H. schrieb: > Es ist die minimalste Z80-Variante, die ich kenne. Nö, es ist immer noch die Melodieklingel nach FuA. Aber ich glaub, die benutzt NMI.
Michael_ schrieb: >> Es ist die minimalste Z80-Variante, die ich kenne. JDM: "Z80 system without ROM" > Nö, es ist immer noch die Melodieklingel nach FuA. Diese war mit U880, EPROM 555 o. 2716, Takt u. diversen Bauelementen bestückt: 0000: LD IY, LIEDTBL ; Zeiger auf Liedertabelle - 013CH ? >Aber ich glaub, die benutzt NMI. Ja, der Klingelknopf löst über R vom D-Flip-Flop D174 (zum Entprellen) einen NMI aus. Ab 66H, NMI: LD A,(IY+0) beginnt das "Musikprogramm". Bei dem JDM-System ist keine Z80-Software nach dem Einschalten vorhanden, dafür wird ein 6116 (2K X 8 SRAM) mit dem Bootlader vom Host aus beschrieben. Ein großer Nachteil ist der Takt vom PC. Ein Taktgeber kann bei Bedarf nachgerüstet werden. Es kommt mir nicht auf die minimalste Hardware (CPU + RAM) an. Leiterplatten kupfern und EPROM's, bzw. Programme duplizieren, kann fast jeder hier. Man sollte auch mal "quer" denken, wie JDM, um die Funktionsprinzipien zu verstehen.
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.