Comment construire un ordinateur avec un microprocesseur Z80?

22

J'ai la puce, alors comment ajouter: une horloge, une RAM, un disque dur (peut-être une EEPROM?), Un écran (écran graphique LCD?), Une méthode de saisie (clavier, souris)?

user8210
la source
2
Qu est ce que tu veux faire avec? Cela détermine vos besoins.
stevenvh
6
Le Z80 était vraiment un processeur très très très merveilleux en son temps, mais son temps est révolu depuis longtemps. À moins que vous ne le souhaitiez et que vous ne deviez utiliser un Z80, ne le faites pas. Utilisez autre chose. Mettez votre Z80 dans votre propre musée privé comme échantillon d'un processeur qui a fait une grande différence dans la voie vers ce que nous avons maintenant.
Russell McMahon
1
Je pense que vous aurez du mal à trouver un assembleur (croisé) ou un compilateur (croisé) qui s'exécute sur un PC actuel, sans parler des puces périphériques, d'une EPROM et du programmeur correspondant dont vous avez besoin pour le faire fonctionner. J'irais pour Arduino qui a une communauté animée sur Internet, des tas de bibliothèques pour toutes sortes de matériel, un support de développement pour Linux et Windows.
jippie
1
@jippie Ce n'est pas difficile, mais cela n'a pas beaucoup de sens, sauf si vous êtes sérieusement en rétrocomputing. Il y a sdcc en tant que compilateur et Farnell répertorie toutes les puces périphériques Z80 comme disponibles, bien que les prix soient plutôt élevés.
starblue
1
J'ai un Z80 exécutant une minuterie de chambre noire que j'ai construite en 1980. La minuterie fonctionne toujours, mais elle a survécu à mon besoin de chronométrer les expositions et les bains chimiques dans une chambre noire. C'est toujours un intervalomètre de travail, mais je n'en ai actuellement aucune utilité.
Olin Lathrop du

Réponses:

37

N'écoutez pas les autres dire que le z80 est trop vieux ou trop dur. Le z80 a été conçu pour cette tâche. C'est le plus ancien processeur produit en continu pour une raison, il est facile de construire des systèmes informatiques avec. C'est un excellent choix pour votre projet.

Il existe de très bons livres comme «projets de conception de micro-ordinateurs z80» et « le manuel z80 » qui vous aideront vraiment. Aussi, regardez z80.info , ils ont une tonne d'informations que vous voudrez.

Vos objectifs de conception sont réalistes. La partie la plus difficile sera l'écran LCD, en supposant que vous souhaitiez piloter un écran VGA ou NTSC. Mais même cela, une fois que vous y êtes, n'est pas si difficile. Ce sera un thème récurrent que vous rencontrerez dans ce projet, les choses sont beaucoup plus faciles que prévu. Les premiers micro-ordinateurs étaient des machines remarquablement simples, s'attendre à ce que vous puissiez les dupliquer dans une certaine mesure en 2012 est un objectif très réaliste. Mis à part les puces audio et vidéo personnalisées, le reste de la machine est toujours disponible en tant que pièces standard et facilement compréhensible même en tant que débutant.

Le système z80 utilisable le plus simple aura le CPU z80, une mémoire flash ou une EEPROM que vous pouvez obtenir gratuitement à partir d'anciennes cartes mères, d'un ram et d'un uart pour la communication série (plus un max232 pour le changement de niveau). Tout cela est disponible chez n'importe quel distributeur d'électronique, est composé de composants traversants et peut être construit sur une planche à pain. Le seul équipement spécial dont vous aurez besoin est le programmateur flash / EEPROM (que j'ai moi-même construit à partir d'un Arduino). Oh, et quelques autres choses comme des puces logiques de la série 74 pour le décodage d'adresses, un circuit de réinitialisation, etc. et un oscillateur à cristal.

Alternativement, vous pouvez remplacer l'uart par une puce pio z80 pour communiquer avec un écran LCD moderne en mode parallèle. Il ne fera pas vraiment de graphiques, mais il est facile à utiliser et votre z80 peut imprimer des choses très tôt. Un clavier ps / 2 sera assez simple à interfacer.

Mais de toute façon, le z80 est un bon choix pour votre projet. Cela peut sembler compliqué, mais en fin de compte, ce n'est pas si mal que ça. Construisez de manière incrémentielle, commencez par le circuit de test z80, connectez une EEPROM pour qu'elle puisse exécuter du code et simplement construire à partir de là.

UziMonkey
la source
1
La partie la plus critique du projet consistera à proposer une sorte de remplacement eprom sur lequel le code peut être facilement téléchargé à partir d'un PC de développement; c'est là que les choses étaient primitives à l'ère du z80 par rapport aux microcontrôleurs d'aujourd'hui avec programmation en circuit. Alternativement, si vous obtenez un chargeur de démarrage série validé (éventuellement avec un "disque" d'interface de carte SD bitbang SPI) et le placez dans une EPROM réelle, vous pouvez facilement utiliser un ram statique pour votre code en cours de développement.
Chris Stratton
Pour développer facilement votre code, utilisez un émulateur eprom connecté à votre PC. Fonctionne comme ICP.
14

Heureusement, il y a un livre - "Construisez votre propre ordinateur Z80" et bien qu'il soit maintenant épuisé, l'auteur Steve Ciarcia a généreusement autorisé sa distribution gratuite en format PDF: http://retro.hansotten.nl/index.php? page = z80-sbc

Vous voudrez peut-être également jeter un coup d'œil au projet N8VEM Home Brew Computer. C'est un Z80 SBC (ordinateur monocarte) qui peut exécuter CP / M et peut être construit à très bon marché - les PCB coûtent 20 $ plus les frais d'expédition. Il existe maintenant une variété de cartes d'extension disponibles (bus S100!) Et il y a une communauté compétente et utile derrière tout cela.

Mais tout d'abord, pourquoi ne pas saisir une poignée de composants et créer le testeur Z80 minimal pour vous assurer que votre processeur fonctionne - http://www.z80.info/z80test0.htm Il s'agit simplement de câbler les lignes de données et d'adresse pour exécuter en continu la même instruction (NOP) pour démontrer fondamentalement, le cœur d'un ordinateur basé sur Z80 de travail.

Heavy Sixer
la source
Liens impressionnants. Maintenant, je suis même tenté de m'essayer .. ;-)
Cees Meijer
4

En effet, le Z-80 est une ancienne puce, mais il peut être difficile de construire un ordinateur avec. Contrairement à tous les microcontrôleurs modernes, il ne dispose pas de nombreuses fonctionnalités intégrées, vous devrez donc ajouter vous-même de la RAM, de l'EPROM et du matériel de décodage d'adresse. Et c'est exactement ce qu'ils ont fait il y a de nombreuses années lorsque Tandy a construit le TRS-80. Jetez un œil aux schémas originaux du modèle 1: http://electrickery.xs4all.nl/comp/trs80/doc/westHWBook.pdf

Cees Meijer
la source
Vous commencez à respecter le matériel intégré aux puces comme ATtiny et ATmega lorsque vous parcourez ce document. J'aurai probablement des cauchemars spontanés uniquement à cause du câblage du bus de données et d'adresse.
jippie
Mis à part le Z80 lui-même, la plupart des éléments du TRS-80 étaient dus à la section vidéo et à l'interface dynamique RAM. En outre, le nombre de puces était plutôt supérieur à ce qu'il aurait pu être b / c pour une raison quelconque, ils ont utilisé beaucoup de pièces `` hex '' à 16 broches (par exemple 74LS367) au lieu de moins de pièces `` octales '' à 20 broches (par exemple 74LS244). Mon point étant, vous pourriez probablement cloner un TRS80 en roulant votre propre Z80. +1!
JustJeff
4

J'ai eu la chance de construire deux ordinateurs à partir de zéro basés sur le microprocesseur Z80, à savoir un Sinclair ZX80 (une version améliorée) et le Jupiter Ace de la société Jupiter Cantab. Les deux fonctionnent très bien et ces machines utilisent un clavier et génèrent des images en noir et blanc (à une résolution de 240 x 192 pixels) sur un téléviseur. Plus d'informations sur eux:

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

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

Un successeur du ZX80, le ZX Spectrum, a non seulement tout cela, mais dispose également de toutes sortes d'interfaces comme l'interface de disque IDE, l'interface de disquette et également pour les supports de stockage plus modernes comme les clés USB ou les cartes SD.

Ma recommandation: allez-y et faites-le! Recherchez, apprenez beaucoup en cours de route et amusez-vous. Les choses sont beaucoup plus faciles de nos jours qu'elles ne l'étaient dans les années 80, nous avons obtenu Internet, CPLD, FPGA, autant de RAM statique que nous voulons, etc.!

Bonne chance et fais attention.

Ismael Perez de Albeniz
la source
3

Vous aurez un très mal à construire votre propre "ordinateur" basé sur le Z80 avec toutes les fonctionnalités que vous avez décrites. Cependant, si vous pouvez vivre sans construire le matériel vous-même, un ordinateur Z80 que vous programmez vous-même est tout à fait possible.

Les anciennes TI-83, TI-84 et similaires (pré-TI-89, je crois) sont des calculatrices basées sur Z80. Ce sont toujours des calculatrices très courantes, et elles peuvent être obtenues pour environ 100 $: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=ti-84

La calculatrice propose tout ce que vous voulez, sauf la souris, et comme les calculatrices sont encore courantes dans les écoles, vous trouverez toujours un bon nombre de développeurs Z80. StackOverflow peut vous aider si vous avez des questions: /programming/tagged/z80

Je ne sais pas à quel point il sera facile de reprogrammer le Z80 avec votre propre code.

Chris Laplante
la source
1
Au lycée, nous avions un cours de programmation d'assemblage utilisant les planches de développement z80; nous avions toute la chaîne d'outils pour le programmer avec son code assembleur, pour allumer des LED et afficher des chiffres avec les affichages à 7 segments. Je pense donc que pour un apprentissage plus matériel, cela pourrait être un bon point de départ, mais qui sait où on peut les trouver ...
clabacchio
1
Bien qu'il soit intéressant de suggérer une plate-forme de développement potentiellement piratable, la revendication initiale "très difficile" est exagérée. Il est vrai qu'il y aura beaucoup d'étapes d'un projet pour tout faire sur la liste de l'affiche, mais aucune de ces choses n'est particulièrement difficile, ou hors de la portée de ce qui était couramment fait par les amateurs au début des années 1980 ou aujourd'hui.
Chris Stratton
3

Il existe sur le Web plusieurs sites qui expliquent comment créer des systèmes basés sur Z80. Je suis en train de construire et pour le moment je l'ai installé avec un lecteur de disquette, un clavier série et un moniteur VGA et une carte SD.

La maison du projet:

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

Sam Castledine
la source
2

Je ne pense pas que le Z-80 soit obsolète. C'est un processeur assez puissant à part entière. Vous pouvez trouver un assembleur + IDE gratuit sur www.zilog.com. C'est un très bon outil.

Si vous cherchez à remplacer un PC, ne vous embêtez pas. Si vous voulez en savoir beaucoup sur les microprocesseurs, allez-y.

Il y a beaucoup de documents imprimés concernant le Z-80, l'interface, la programmation, etc.

Bien que le Z-80 ne correspondra jamais à un quad core 3 GHZ, il peut toujours être assez rapide en termes humains. Il existe également des processeurs plus rapides dans la famille. Regardez la famille Z80S180. Vous obtenez beaucoup de puissance, de nombreux périphériques, tous intégrés dans un seul boîtier. Oui, rom & ram sont externes, vous ne vous attendiez pas à ce que TOUT sur une puce le fasse maintenant? Vous rateriez tout le concept d'un bus! Cependant, je n'essaierais PAS l'un de ces modèles à grande vitesse.

Arduinos, framboises PI, etc. Sachez que vous achetez des blocs lego, pas les concevoir. Oui, ils se connectent ensemble, mais votre contribution sera limitée aux logiciels (OK, peut-être pourriez-vous concevoir votre propre carte - mais le ferez-vous?)

Le Z-80 reste un excellent outil d'apprentissage. Il en va de même du 8051, et vous obtenez votre RAM, ROM, CPU et 1 MIPS dans un seul paquet avec le 51. Des vitesses plus rapides aussi si vous le souhaitez.

N'écoutez pas les choix que les autres ont faits. Décidez de ce que vous voulez faire, puis allez-y. Il est beaucoup plus facile de déboguer à 2 MHz que 40.

Utilisez la puissance d'Internet et collectez quelques schémas Z-80. Il y en a beaucoup qui flottent là-bas. Considérez "Le microprocesseur Z-80" par Gaonkar ISBN 0-02-340484-1 (Amazon peut vendre des copies utilisées pour très peu de dollars). En fait, Gaonkar répondrait à toutes les questions que vous posiez.

Pete
la source
1

Le z80 est tellement obsolète, vous ne pourrez pas construire autre chose qu'un rétro-ordinateur de nouveauté avec lui, mais cela ne signifie pas qu'il ne serait pas instructif et amusant d'essayer.

Si je voulais juste prouver que je pouvais faire une vieille course z80, je la mettrais probablement avec une RAM statique 32Kx8 et une puce UART, et graverais une image ROM TRS-80 Model I modifiée dans n'importe quelle petite EPROM / EEPROM qui traîne . La carte mémoire entière pourrait être décodée avec une puce MSI.

Il ne faudrait pas beaucoup de piratage informatique pour éliminer les routines de décodage de matrice de clavier TRS-80 et les remplacer par une routine d'entrée UART, ni pour trouver la routine de sortie de caractères et la remplacer par une routine de sortie UART. Ensuite, il pourrait être connecté à un port série PC, et l'ancien BASIC pourrait être affiché et interagi avec.

Cela devrait prouver que vous utilisez un z80, sans les tracas d'essayer d'implémenter beaucoup d'E / S pour cela.

JustJeff
la source
2
Je ne pense pas que le Z80 soit obsolète ... actuellement, la série de calculatrices TI-83 l'utilise comme processeur principal, et la TI-84 l'utilise également dans un ASIC.
fuzzyhair2
Qu'est-ce qui ne va pas avec la construction d'un rétro-ordinateur de nouveauté? Personne ne construit rien à partir du niveau de la puce, sauf pour le plaisir et l'auto-éducation. Pas quand vous pouvez obtenir une excellente carte mère pré-construite pour 5 $!
Isaac Rabinovitch