Ordenador casero con uP Z80

Saludos… Este es prácticamente el primer post de un proyecto que hago en el foro; consiste básicamente en un ordenador de 8 bits, si, como aquellos antiguos ordenadores de la antigüedad Spectrum, Atari, Commodore, etc.

Mi idea de llevarlo a cabo fue desde que aprendí a programar el uP Z80, ayá por los inicios del 2009. (Llevaba en la vocacional una materia en la que lo utilizabamos junto con su sistema mínimo para algunas prácticas).

Una vez con el proyecto en mente, comencé a idear lo que deseaba que hiciera mi ordenador: que fuera programable en consola, tuviera una pantalla donde mostrar información, puertos para controlar dispositivos externos, que emitiera aquellas fastidiosas pero melancólicas melodías de los 80’s, que tuviera un teclado alfanumérico, etc; entonces comencé a diseñar el hardware y a empaparme de información relativa al proyecto. Por esas fechas también me uní a este foro donde me encontré con el proyecto del amigo Antiworldx y me animé más a armar el mío.

Fui construyendo el hardware y haciendo pequeñas pruebas de funcionamiento, encender un led por aquí, otro por allá bla, bla; una vez que ingresé a la escuela de nuevo (siendo precisos inicié el proyecto en las vacaciones de fin de año que dan en la escuela) ya no le pude dedicar tanto tiempo al proyecto y poco a poco lo fui dejando de lado, aunado a eso que comencé a trabajar en algunos proyectos de automatización con µC’s.

Volvieron otra vez las vacaciones y desempolvé el ordenador para continuarlo, pero esta vez lo rearmé porque en todo el tiempo que lo abandoné se me ocurrieron más ideas que no compatibilizaban con lo que llevaba armado. Rediseñé un poco el hardware y lo ensamblé en placas “multitrama” (desistí de la idea de armarlo en PCB por el tiempo que implicaba y por las seguras modificaciones que le haría en un futuro), continué haciendo pruebas de software, sufriendo desesperaciones, diseñando nuevas secciones del hardware, etc. Y así es como he ido desarrollando este proyecto a la par de mis conocimientos del tema hasta actualmente.

Dejando atrás un poco de historia que hay detrás de este proyecto, les platicaré de sus características técnicas:

*CPU: Z80
*Frecuencia: 2 MHz
*Memoria: Está dividida en 9 páginas de 32 KB c/u

-Pág 0: 24 KB en ROM para el SO y 8 KB de RAM para el manejo de las rutinas de audio, de gráficos del GLCD y de control de los periféricos.
-Pág 1: 16KB RAM y 16KB en EEPROM para programas y aplicaciones
-Pág 2: 16KB RAM y 16KB en EEPROM para programas y aplicaciones
-Pág 3: 32KB para un cartucho o bien una expansión para una tarjeta de adquisición de datos.
-Págs 4, 5, 6, 7 y 8 con 32 KB c/u pero no están implementadas físicamente, las reservé para una expansión futura.

*Monitor: GLCD 160*80 pixéles o alfanumérico con 20X10 caracteres
*Audio: SN76489 (Como el que se puede hallar en un SEGA Master System)
*Puertos:
-Paralelo con la interfaz PPI 8255
-Serie con la interfaz 8250
*Temporizadores: 3 de 16 bits con el 8254
*Teclado: QWERTY de una laptop IBM L40

Otros datos curiosos es que tiene un circuito especial (ya se utilizaban desde mucho antes) para sobrepasar el límite de 64 KB direccionables por el Z80 con el que se puede direccionar hasta 288 KBytes, buffers en los buses para proteger a la CPU por posibles cortos (más de una ocasión me ocurrieron), tiene además un µC PIC16F84 para gestionar el teclado y su alimentación es gracias a una fuente ATX.

En lo que refiere a la parte del software apenas me encuentro programando el SO pero les contaré los programas que tengo pensado en desarrollar:

*SO TeXON 1.0 Sistema operativo: Programa principal que se encargará de gestionar el acceso a las rutinas de servicio de los periféricos.
*Cuaderno: Algo como un bloc de notas de Windows
*Ensamblador: Es un lenguaje para la programación en consola (Aún no se me ocurre un nombre para él).
*Calculadora: Una calculadora básica sumas, restas, multiplicaciones y divisiones.
*MatPop: Programa de cálculo, gráficas (sencillas) de funciones, y estadísticas de datos.
*µLoop: Programa para crear melodías de 8 bits a base de "samples".
*Juegos: Hasta el momento tengo pensado hacer un “tres en línea” (acá en México se le conoce como gato), tetris, ruleta, pacman, etc…

Y pues es lo principal que les puedo platicar de mi proyecto; seguramente más de uno se preguntará el caso de armar algo tan obsoleto; yo también me lo pregunté; pero no es tanto el armarlo, si no lo que vas aprendiendo a lo largo de su elaboración. En este caso aprendí a solucionar algunos problemas de ruido, interfaces entre familiar lógicas, programación (fue fácil aprenderle a los µC’s) y lo principal “paciencia en desarrollar tus proyectos”.

Finalmente les comparto algunas fotos de los avances del proyecto y los diagramas esquemáticos en ISIS.

Espero que a más de uno le interese el proyecto, es que me he dado cuenta que por el foro casi no se habla de lo que se le conoce como “Retroinformática”, una parte de la electrónica que más llama mi atención.

Saludos y buen año…
 

Adjuntos

  • Diagramas.rar
    137 KB · Visitas: 151
  • IMG_2789.JPG
    IMG_2789.JPG
    219.5 KB · Visitas: 334
  • IMG_2790.JPG
    IMG_2790.JPG
    192.1 KB · Visitas: 263
  • IMG_2791.JPG
    IMG_2791.JPG
    210.7 KB · Visitas: 254
  • IMG_2796.JPG
    IMG_2796.JPG
    234.4 KB · Visitas: 274
  • IMG_2797.JPG
    IMG_2797.JPG
    261.5 KB · Visitas: 257
  • IMG_2799.JPG
    IMG_2799.JPG
    227.3 KB · Visitas: 250
  • IMG_2800.JPG
    IMG_2800.JPG
    215.7 KB · Visitas: 243
  • IMG_2806.JPG
    IMG_2806.JPG
    261.5 KB · Visitas: 249
  • IMG_2815.JPG
    IMG_2815.JPG
    288.3 KB · Visitas: 228
  • IMG_2816.JPG
    IMG_2816.JPG
    260.5 KB · Visitas: 199
  • IMG_2818.JPG
    IMG_2818.JPG
    220.1 KB · Visitas: 200
Orale!, te felicito, tengo un buen de Z80 que saque de varias placas de videojuegos, la verdad esto se muy interesante y como dices, para hacer esto hace falta mucha paciencia y dedicacion, oye, yo en la escuela lleve en la clase de micros el 8031 de intel y llos programas los metiamos en una memoria paralela eeprom 28c64, sabes o de casualidas tienes algun software para programarla, en la escuela lo tenia pero por algun accidente de disco duro se me perdio este programa. saludos y felicidades
 
Gracias... software ahy muchos, pero más que el software necesitas saber el modelo de tu programador y sobre eso buscar el softaware que lo controla. En mi caso uso uno como esté.
 
Seguro que no te has aburrido. Enhorabuena por el trabajo.

Orale!, te felicito, tengo un buen de Z80 que saque de varias placas de videojuegos, la verdad esto se muy interesante y como dices, para hacer esto hace falta mucha paciencia y dedicacion, oye, yo en la escuela lleve en la clase de micros el 8031 de intel y llos programas los metiamos en una memoria paralela eeprom 28c64, sabes o de casualidas tienes algun software para programarla, en la escuela lo tenia pero por algun accidente de disco duro se me perdio este programa. saludos y felicidades

Busca un derivado con flash o haz alguno de los inventos de memoria compartida para ejecutar en ram y un bootloader en eeprom.
 
Buenas!

sinceramente me parece fantastico tu proyecto, es mas, debo confesarte que yo tengo una idea muy similar a la tuya (desde hace ya muchos años) de crearme mi propia pc/consola integrada hecha por mi solo que con algunas variantes (utilizar un JK3 que corre a 32Mhz, un sistema de cartuchos con memorias sd y una salida a TV utilizando unos integrados que consigo cerca).Desgraciadamente todavia no los puedo realizar por falta de conocimientos pero la verdad que me encanto tu proyecto.

solo tengo una duda... con que programa se abren los archivos que contienen el rar ?

Ojala sigas con esa iniciativa que me parece muy buena.

saludos!
 
Muchas gracias por sus comentarios... me parece buena tu idea Narhex (de hecho yo quería utilizar una tele común como pantalla pero igualmente debido a mis escasos conocimientos del tema lo dejé de lado).

solo tengo una duda... con que programa se abren los archivos que contienen el rar ?

Con Isis de Proteus, son los diagramas de interconexión del ordenador, por si alguien se anima a armar algo semejante o le puedan servir.
Saludos y nuevamente gracias
 
Buenas!

Muchas gracias por sus comentarios... me parece buena tu idea Narhex (de hecho yo quería utilizar una tele común como pantalla pero igualmente debido a mis escasos conocimientos del tema lo dejé de lado).

Claro... despues si lo encuentro pienso subir un documento que explica como hacer eso.

en cuanto a la pagina que porpuso solaris8 me parece muy buena, yo tenia una guardada por ahi voy a ver si la encuentro y la posteo.

saludos :D
 
Buenas!

Ahi me acorde de ponerte el documento, gracias por hacemer acordar contestando :LOL:

Ahora voy a editar... para buscar los otros integrados que talvez te ayuden a hacer algo util

saludos! :D

p.d.: el integrado es el LM1889 fijate si te sirve o se puede hacer algo, lo utilizaban los spectrum creo :D
 

Adjuntos

  • Generador de patrones de video.pdf
    577.2 KB · Visitas: 111
Última edición:
buscaba algo como una computadora analogica y un enlace llevo a otro, asi que aqui usaste la glcd, jejeje, esta bueno el proyecto, a mi me gustaria hacer algo con un pic32 o algo asi, que estudias, se ve que tienes buenas bases.
 
Muchas gracias amigos... contestando a Nietzche, estudio actualmente Ingeniería en comunicaciónes y eléctrónica en ESIME del Poli... pero el gusto por todo este rollo de la electrónica comenzó cuando cursé Sistemas digitales en la vocacional.
 
Daniel te felicito por el proyecto se lo ve muy bueno!!

lo unico que tengo para decirte es que eres un maleducado por llamar "fastidiosas" a las melodias de los 80's.. siempre hablando de los 8 bits, claro esta..:D

Saludos!!
 
Última edición:
A ke bien, se podria decir ke eres de la competenvia kajaja

¿UNAM? Considere ser PUMA alguna vez... solo que esta carrera me llamó más la atención, ¿que carrera estudias tu?...

lo unico que tengo para decirte es que eres un maleducado por llamar "fastidiosas" a las melodias de los 80's.. siempre hablando de los 8 bits, claro esta..

jaja... pues lo digo por lo que algunas personas me han dicho que así les parecen... en lo personal, me encantan; considerando que soy de los 90's para acá y de pequeño no tuve alguna de esas consolas...
 
jajaja seee, pues estudio Ingenieria mecanica-electrica en la facultad de estudios superiores aragon, la carrera esta buena pero los maestros pateticos, casi la mayoria de todos pero en fin , esa facultad me decepciono un poco pero ahora creo me ya mejoro, la carrera ya ni existe la separaron en 3: industrial mecanica y electrica electronica, yo sey del ultima area y con pre especializacion en sistemas digitales, asi ke ok.
 
Entiendo... coincidencia pero mi hermano estudia también allí pero la carrera de Diseño industrial.

la carrera esta buena pero los maestros pateticos

Comienzo a creer que en México la mayoría de las universidades son así.

En fin, creo que no hay mejor remedio que buscarle por cuenta propia... así es como he ido haciendo de conocimiento
 
como no se de sistemas embebidos, cual es la diferencia de diseÑar un sistema asi como el tuyo, que por ejemplo implementarlo con un pic32, o pic24 u otro buen microcontrolador ?
 
Atrás
Arriba