¿Cómo construyo una computadora con un microprocesador Z80?

22

Tengo el chip, entonces, ¿cómo agregaría: un reloj, RAM, disco duro (tal vez EEPROM?), Una pantalla (pantalla gráfica LCD?), Método de entrada (teclado, mouse)?

user8210
fuente
2
¿Para qué lo quieres usar? Eso determina sus requisitos.
stevenvh
66
El Z80 realmente era un procesador muy muy muy maravilloso en su día, pero su día ya pasó. A menos que desee, muy, muy especialmente, y deba usar un Z80, no lo haga. Usa algo más. Coloque su Z80 en su propio museo privado como muestra de un procesador que marcó una gran diferencia en el camino hacia lo que tenemos ahora.
Russell McMahon
1
Creo que le resultará difícil encontrar un ensamblador (cruzado) o un compilador (cruzado) que se ejecute en una PC actual, sin mencionar los chips periféricos, una EPROM y un programador coincidente que necesita para que funcione. Optaría por Arduino, que tiene una comunidad animada en Internet, muchas bibliotecas para todo tipo de hardware, soporte de desarrollo para Linux y Windows.
jippie
1
@jippie No es difícil, pero no tiene mucho sentido a menos que estés seriamente interesado en la retrocomputación. Hay sdcc como compilador y Farnell enumera todos los chips periféricos Z80 como disponibles, aunque los precios son bastante elevados.
Starblue
1
Tengo un Z80 con un temporizador de cuarto oscuro que construí en 1980. El temporizador aún funciona, pero superó mi necesidad de cronometrar exposiciones y baños químicos en un cuarto oscuro. Sigue siendo un intervaloómetro en funcionamiento, pero actualmente no lo uso.
Olin Lathrop

Respuestas:

37

No escuche a los demás decir que el z80 es demasiado viejo o demasiado duro. El z80 fue diseñado para esta tarea. Es la CPU más antigua producida continuamente por una razón, es fácil construir sistemas informáticos con ella. Es una excelente opción para su proyecto.

Hay algunos libros excelentes como "proyectos de diseño de microordenador z80" y " el manual z80 " que realmente lo ayudarán. Además, mira z80.info , tienen mucha información que querrás.

Sus objetivos de diseño son realistas. La parte más difícil será la pantalla LCD, suponiendo que desee manejar una pantalla VGA o NTSC. Pero incluso eso, una vez que entras, no es tan difícil. Ese será un tema recurrente que encontrarás en este proyecto, las cosas son mucho más fáciles de lo que esperabas. Las primeras microcomputadoras eran máquinas notablemente simples, y esperar que pueda duplicarlas hasta cierto punto en 2012 es un objetivo muy realista. Además de los chips de sonido y video personalizados, el resto de la máquina todavía está disponible como parte de los estantes y es fácilmente comprensible incluso como novato.

El sistema z80 utilizable más simple tendrá la CPU z80, alguna memoria flash o EEPROM que puede obtener de forma gratuita de las placas base viejas, ram y un uart para comunicación en serie (más un max232 para cambio de nivel). Todo esto está disponible en cualquier distribuidor de electrónica, son componentes de orificio pasante y se pueden construir en una placa de pruebas. El único equipo especial que necesitará es el programador flash / EEPROM (que construí yo mismo a partir de un Arduino). Ah, y algunas otras cosas como algunos chips lógicos de la serie 74 para la decodificación de direcciones, restablecer circuito, etc. y un oscilador de cristal.

Alternativamente, puede reemplazar el uart con un chip zio pio para comunicarse con una moderna pantalla de caracteres LCD en modo paralelo. Realmente no hará gráficos, pero es fácil de usar y su z80 puede imprimir cosas desde el principio. Un teclado ps / 2 será bastante simple de interactuar.

Pero de todos modos, el z80 es una buena opción para su proyecto. Esto puede sonar complicado, pero al final no es tan malo. Construya de forma incremental, comience con el circuito de prueba z80, conecte una EEPROM para que pueda ejecutar un código y simplemente construya desde allí.

UziMonkey
fuente
1
La parte más crítica del proyecto vendrá con algún tipo de reemplazo de eprom al que el código se pueda descargar fácilmente desde una PC de desarrollo; ahí es donde las cosas eran primitivas en la era del z80 en comparación con los microcontroladores de hoy en día con programación en circuito. Alternativamente, si obtiene un cargador de arranque en serie validado (posiblemente con un "disco" de interfaz de tarjeta SD bitbang SPI) y lo coloca en una EPROM real, puede usar fácilmente RAM estática para su código en desarrollo.
Chris Stratton
Para desarrollar su código fácilmente, use un emulador de eprom conectado a su PC. Funciona como ICP.
14

Afortunadamente hay un libro: "Construye tu propia computadora Z80" y, aunque ahora está agotado, el autor Steve Ciarcia ha permitido que se distribuya libremente en formato PDF: http://retro.hansotten.nl/index.php? página = z80-sbc

También es posible que desee echar un vistazo al proyecto N8VEM Home Brew Computer. Es un Z80 SBC (computadora de placa única) que puede ejecutar CP / M y puede construirse a un precio muy bajo: los PCB cuestan $ 20 más envío. Ahora hay una variedad de placas de expansión disponibles (¡bus S100!) Y hay una comunidad experta y útil detrás de todo.

Pero en primer lugar, ¿por qué no tomar un puñado de componentes y construir el probador mínima Z80 para asegurarse de que sus obras CPU - http://www.z80.info/z80test0.htm Esto sólo es cableado de las líneas de dirección y datos para ejecutar continuamente la misma instrucción (NOP) para demostrar fundamentalmente el corazón de una computadora basada en Z80 que funciona.

Sixer pesado
fuente
Enlaces impresionantes Ahora incluso estoy tentado a probarlo ... ;-)
Cees Meijer
4

De hecho, el Z-80 es un chip antiguo, pero puede ser un buen desafío construir una computadora con él. A diferencia de todos los microcontroladores modernos, no tiene muchas características incorporadas, por lo que tendrá que agregar RAM, EPROM y hardware de decodificación de direcciones usted mismo. Y esto es exactamente lo que hicieron hace muchos años cuando Tandy construyó el TRS-80. Solo eche un vistazo a los esquemas originales del Modelo 1: http://electrickery.xs4all.nl/comp/trs80/doc/westHWBook.pdf

Cees Meijer
fuente
Empiezas a respetar qué hardware está integrado en chips como ATtiny y ATmega cuando navegas por ese documento. Probablemente tendré pesadillas espontáneas solo por el cableado del bus de datos y direcciones.
jippie
Además del Z80 en sí, la mayor parte de lo que había en el TRS-80 se debía a la sección de video y la interfaz RAM dinámica. Además, el recuento de chips fue bastante mayor de lo que podría haber sido b / c por alguna razón, usaron muchas partes 'hex' de 16 pines (por ejemplo, 74LS367) en lugar de menos partes 'octales' de 20 pines (por ejemplo, 74LS244). Mi punto es que probablemente podrías clonar un TRS80 rodando tu propio Z80. +1!
JustJeff
4

He tenido la oportunidad de construir un par de computadoras desde cero basadas en el microprocesador Z80, a saber, un Sinclair ZX80 (una versión mejorada) y el Jupiter Ace de la compañía Jupiter Cantab. Ambos funcionan bien y estas máquinas utilizan un teclado y generan imágenes en blanco y negro (con una resolución de 240 x 192 píxeles) en un televisor. Más información sobre ellos:

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

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

Un sucesor del ZX80, el ZX Spectrum, no solo hace todo esto, sino que también tiene todo tipo de interfaces como la interfaz de disco IDE, la interfaz de disquete y también para medios de almacenamiento más modernos como memorias USB o tarjetas SD.

Mi recomendación: ¡adelante y hazlo! Investiga, aprende mucho en el camino y diviértete. Las cosas son mucho más fáciles en estos días de lo que eran en los años 80, ¡obtuvimos Internet, CPLD, FPGA, tanta RAM estática como quisiéramos, etc.!

Buena suerte y cuidate.

Ismael Pérez de Albéniz
fuente
3

Te será muy difícil construir tu propia "computadora" basada en el Z80 con todas las características que describiste. Sin embargo, si puede vivir sin construir el hardware usted mismo, una computadora Z80 que usted mismo programa es completamente posible.

Las antiguas TI-83, TI-84 y similares (creo que antes de la TI-89) son calculadoras basadas en Z80. Todavía son calculadoras muy comunes, y se pueden obtener por alrededor de $ 100: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=ti-84

La calculadora presenta todo lo que desea, excepto el mouse, y debido a que las calculadoras aún son comunes en las escuelas, aún encontrará buenos números de desarrolladores de Z80. StackOverflow puede ayudarlo si tiene preguntas: /programming/tagged/z80

Sin embargo, no estoy seguro de lo fácil que será reprogramar el Z80 con su propio código.

Chris Laplante
fuente
1
En la escuela secundaria, teníamos un curso de programación de ensamblaje utilizando las placas de desarrollo z80; Teníamos toda la cadena de herramientas para programarlo con su código Assembler, para encender algunos LED y mostrar algunos números con las pantallas de 7 segmentos. Así que creo que para un aprendizaje más orientado al hardware podría ser un buen punto de partida, pero quién sabe dónde se pueden encontrar ...
clabacchio
1
Si bien es conveniente sugerir una plataforma de desarrollo potencialmente pirateable, la afirmación "muy difícil" inicial es exagerada. Es cierto que habrá muchas etapas de un proyecto para hacer todo en la lista del afiche, pero ninguna de esas cosas es particularmente difícil o está fuera del alcance de lo que comúnmente hacían los aficionados a principios de los años ochenta o hoy.
Chris Stratton
3

Existen en la web varios sitios que documentan cómo crear sistemas basados ​​en Z80. Actualmente estoy trabajando y en este momento lo tengo configurado con una unidad de disquete, un teclado en serie y un monitor VGA y una tarjeta SD.

El proyecto a casa:

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

Sam Castledine
fuente
2

No creo que el Z-80 esté obsoleto. Es un procesador bastante potente por derecho propio. Puede encontrar un ensamblador + IDE gratuito en www.zilog.com. Es una muy buena herramienta.

Si está buscando reemplazar una PC, no se moleste. Si quieres aprender mucho sobre microprocesadores, sigue adelante.

Hay una gran cantidad de material impreso relacionado con el Z-80, la interfaz, la programación, etc.

Si bien el Z-80 nunca coincidirá con un núcleo cuádruple de 3 GHZ, aún puede ser bastante rápido en términos humanos. También hay procesadores más rápidos en la familia. Mira a la familia Z80S180. Obtiene mucha potencia, muchos periféricos, todos integrados en un solo paquete. Sí, rom y ram son externos, no lo esperabas TODO en un chip, ¿verdad? ¡Te perderías todo el concepto de un autobús! Sin embargo, NO probaría uno de estos diseños de alta velocidad de fábrica.

Arduinos, raspberry PI's, etc. Date cuenta de que estás comprando bloques de lego, no diseñándolos. Sí, se conectan entre sí, pero su contribución se limitará al software (OK, tal vez podría diseñar su propia placa, pero ¿lo hará?)

El Z-80 sigue siendo una gran herramienta de aprendizaje. También lo es el 8051, y obtienes tu RAM, ROM, CPU y 1 MIPS en un solo paquete con el 51. Velocidades más rápidas también si lo deseas.

No escuches las elecciones que otros han hecho. Decide qué quieres hacer y luego hazlo. Es mucho más fácil depurar a 2 MHZ que a 40.

Usa el poder de internet y reúne algunos esquemas de Z-80. Hay muchos de ellos flotando por ahí. Considere "El microprocesador Z-80" de Gaonkar ISBN 0-02-340484-1 (Amazon puede vender copias usadas por muy pocos dólares). En realidad, Gaonkar respondería todas las preguntas que hicieras.

Pete
fuente
1

El z80 está tan desactualizado que no podrá construir nada más que una novedosa computadora retro con él, pero eso no significa que no sea instructivo y divertido intentarlo.

Si solo quisiera demostrar que podía hacer que un viejo z80 funcionara, probablemente lo pondría con una RAM estática de 32Kx8 y un chip UART, y grabaría una imagen modificada de TRS-80 Modelo I ROM en cualquier pequeña EPROM / EEPROM que esté por ahí . Todo el mapa de memoria podría decodificarse con un chip MSI.

No se necesitaría mucho pirateo para eliminar las rutinas de decodificación de matriz de teclado TRS-80 y reemplazarlas con una rutina de entrada UART, ni para encontrar la rutina de salida de caracteres y reemplazarla con una rutina de salida UART. Entonces podría conectarse a un puerto serie de PC, y el viejo BASIC podría abrirse e interactuar con él.

Eso debería probar que está ejecutando un z80, sin la molestia de intentar implementar muchas E / S para él.

JustJeff
fuente
2
No creo que el Z80 esté desactualizado ... actualmente la serie de calculadoras TI-83 lo usa como su procesador principal, y el TI-84 también lo usa en un ASIC.
fuzzyhair2
¿Qué tiene de malo construir una computadora retro novedosa? Nadie construye nada desde el nivel de chip excepto la diversión y la autoeducación. ¡No cuando puedes obtener una excelente placa base preconstruida por $ 5!
Isaac Rabinovitch