Computadora casera con procesador 8088 (no PC)

#1
Este es un proyectito que hice, en su momento lo realice para tener mayor capacidad de proceso que los microcontroladores comerciales de bajo costo. No es practico pero es interesante saber como opera exactamente un sistema y como se direccionan los puertos y memoria. Ni hablar de la programacion del software.

Esta es una descripcion corta:

Microprocesador 8088 @ 5Mhz
Memoria 256 Kb SRAM y 96 Kb EPROM(UV)
6 puertos paralelos de 8 bits cada uno
Programable desde PC mediante un puerto paralelo
Interrupciones y servicios de software cargadas en EPROM



La programacion la realizo en un software llamado emu8086 en codigo ensamblador, para hacer la compilacion y generar los archivos binarios. Posteriormente realice otro programa en C para mandar el archivo binario por el puerto paralelo de la PC, con un protocolo que diseñe para ello. La computadora, cuando arranca, esta en modo espera por uno de sus puertos PPI para descargar el software en RAM. Una vea terminada la descarga, ejecuta la aplicacion descargada.
En los chips de memoria EPROM tengo servicios que se llaman por interrupciones de software para programar los puertos PPI y control de pantalla 2x16, y algunas rutinas de sumas y multiplicaciones de 32 y 64 bits.

Aqui les dejo un video donde se ejecuta un relojito simple y controlo unas lucesitas. La resolucion no es muy buena, pero se ve el proceso de carga del software, y hay un error en la transferencia y tengo que reiniciar la carga. Una vez terminado el programa arranca. Hay dos juegos de luces, ocho abajo que van y vienen, y otras mas arriba que parpadean. Las de abajo, son controladas por software, y el programa hace que vallan y vengan con corrimientos. Las de arriba son indicadores de los segmentos que estan en uso. Me sirven para saber en que parte de la memoria esta operando el programa.

http://www.youtube.com/watch?v=_cvC9-e5hYs

Espero que les sea de interes.
 
#2
que genial!!! realmente muy bueno.
Tenes el circuito por ahi, solo para hecharle una mirada jeje :)
Que llegaste a hacer con ella? para que la usaste?
 
#4
Realmente nunca lo aplique a algo concreto. Todo empezo con el cachondeo de saber como opera un microprocesador con sus perifericos. Posteriormente, al ir dominando, fui creciendolo, y haciendo programas mas complejos, como relojes, sensados, calculos matematicos de 64 y 128 bits.
Hasta el momento, lo tengo guardado, pero lo tengo proyectado para usarlo como un sistema de proceso pesado, como transformadas de fourier o laplace, ya que puedo direccionar 1MByte de ram/rom y 64mil perifericos. y que opere en un sistema distribuido de circuitos embebidos como son DSP o AVR que son mas pequeños pero con proceso mas inmediato. Es decir, usarlo como una unidad de proceso pesado, sin usar una pc con el bromoso monitor y el latoso sistema operativo y las rutinas "extrañas" de las bios de los motherboard.
Los diagramas los saque del datasheet del intel 8088. El datasheet esta muybien explicado.
 
Última edición:
#6
Pues en su mayoria, lo saque de basura... lo que tuve que gastar, fueron los protoboards, y las memorias sram. las memorias eprom UV fueron de bios de diferentes motherboards, simplemente los expuse a la lampara UV y los reprograme con mi codigo, en un programador de la universidad.
Y el cable. Pero ese lo compre para todo lo que hago en protoboards, asi que se amortiza.
Ho si, y los demuxers, que son de 4 a 16, esos fueron los mas dificiles de encontrar y los mas caros, junto con los latches 74ls573 que los tuve que mandar pedir, pues los 373 eran mas dificiles de cablear por su disposicion de las salidas.
En total, en dolares para que lo conviertas a tu moneda, fueron... como 50 dolares.
 
#7
a, pense que mucho mas... realmente, sos un groso viejo!!
yo todabia no entiendo como hiciste ese cableado jajaj... es re zarpado!!!!
De donde sacaste las ganas para hacerlo!!
impresionante, te felicito
 
#8
Todo empezo cuando tenia 8 años y mi papa compro una PC printaform y me hice la pregunta... ¿como demonios funciona?. La maldita curiosidad es poderosa.

Gracias por el reconocimiento. Una vez que le entiendes, es mas dificil cablear que entenderlo.
 
#9
Y yo que pensé que estaba bajando en picada el nivel del foro con lo que han escrito los ultimos usuarios registrados... Felicitaciones por tu invento y bienvenido al foro ;)
Subí algo más de info, es interesante, se parece a una que vi en un video de You Tube que trabajaba con relés :)
 
#10
hola, es muy interesante tu proyecto yo tenia pensado hacer algo parecido pero con el z80 y me encontre con un obstaculo cargar el programa a la eprom necesitaba un programador asique me lo puse a diseñar pero no lo e terminado pero en este verano espero avanzar saludos.
 
#11
Yo utilice el de la universidad. Tambien se puede usar una flash, pero las que encontre son seriales y yo requeria paralelas para simplificar el hardware.
De hecho, buscando en internet encontre proyectos, y todos basados en el Z80, pero de intel nada, y motorola menos, aunque personalmente no me gusta la logica de motorola, pero en idea es lo mismo. Conoces a uno, y conoces a todos. Todos hacen lo mismo pero la instruccion se llama diferente.
 
#13
No, fijate que quise hacerlo, para meterlo en impresos y que fuera modular, pero esta grandisisimo y no poseo la tecnologia para hacer un impreso de calidad suficiente. Asi que abandone la idea. Pero como comente anteriormente, en el datasheet del procesador viene bien detallado el conexionado, y si alguien quiere expeerimentar con un procesador, igualmente recuerdo bien los pormenores del conexionado.
Por cierto, todo el circuito funciona con exclusivamente 5 voltios, nada de voltajes adicionales y mucho menos voltajes negativos.
 
#15
Ok, lo entiendo perfectamente se ve que el circuito es muy grande y es complicado hacer un esquematico.

Una pequeña pregunta, para cargarle un programa necesariamente debe sacar la ROM del circuito o el programador le permite programarlo sin necesidad de sacarlo del protoboard?
 
#16
en la rom de inicio, precisamente inicia inmediatamente un programa que escucha uno de los puertos.
Cuando envio el programa, por un protocolo que hice precisamente, por medio del puerto paralelo, lo empieza a descargar en la ram... una vez finalizada la descarga, arranca el programa recien descargado...
De hecho en el video se ve una ventana con una barra de progreso, haciendo la descarga...
 
#17
Impresionante, mis mas sinceras felicitaciones.

Hay (o hubo) un satelite argentino dando vueltas que funciona con un 80186 grado militar.

Esos micros no estan muertos! jeje Con ingenio seguro que se le puede dar una buena utilidad a esta base.
 
Arriba