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…
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.rar137 KB · Visitas: 151
-
IMG_2789.JPG219.5 KB · Visitas: 334
-
IMG_2790.JPG192.1 KB · Visitas: 263
-
IMG_2791.JPG210.7 KB · Visitas: 254
-
IMG_2796.JPG234.4 KB · Visitas: 274
-
IMG_2797.JPG261.5 KB · Visitas: 257
-
IMG_2799.JPG227.3 KB · Visitas: 250
-
IMG_2800.JPG215.7 KB · Visitas: 243
-
IMG_2806.JPG261.5 KB · Visitas: 249
-
IMG_2815.JPG288.3 KB · Visitas: 228
-
IMG_2816.JPG260.5 KB · Visitas: 199
-
IMG_2818.JPG220.1 KB · Visitas: 200