Hola!
No estaba muy seguro sobre donde poner este post. Podría ir en "Hardware de otros tiempos", pero también queda bien aqui, asi que ....pues aqui se queda.
Hace algún tiempo, buscando la forma de llevar a buen puerto el proyecto del "Ordenador con un PIC de 40 pines" comencé a indagar un poco sobre la "arquitectura" de los primeros ordenadores personales. Asi fue como -inevitablemente- me encontré mirando una y otra vez los esquemas y manuales del Altair 8800.
Analizar esos circuitos me llevaron dos conclusiones. La primera de ella es que nunca voy a poder hacer un ordenador basado en un PIC que pueda ejecutar un programa a una velocidad "razonable". Y la segunda, que quizás no sería tán complicado encarar la construcción de un "clon" de un ordenador que está a punto de cumplir los 40 años. Así fue como nació este proyecto.
El Altair, del que pueden encontrar cientos de web con mucha informacion (o leer una entrada sobre él en Neoteo), era un ordenador muy limitado (según nuestros estándares) que poseía un microprocesador Intel 8080 de 8 bits (bus de datos de 8 bits, de direcciones de 16 bits), que estaba originalmente equipado con 256 bytes de RAM (ampliables a 64KB o mas), sin teclado ni monitor (aunque se podian agregar "terminales" de video), etc. Este era su aspecto:
Si quería crear un clon de está máquina, lo primero sería poder "emular" el micro Intel 8080. Y por eso comencé. Usando JALv2, durante unos 20 o 30 días me dedique a escribir un programa de unas 3000 líneas que es capaz de tomar uno a uno los bytes de una memoria "simulada", ver a que opcode del i8080 corresponde, leer los operandos correspondientes (si existen) y ejecutarla. Durante esta "ejecución" se actualizan los valores de los registros, memoria, etc, tal como si fuese un micro real. Aquí les pongo algunos vídeos de ese programa ejecutando pequeños programas en ASM del i8080 y mostrando el estado de los registros y demás en un LCD:
Ejemplo de como el chip 18F4550 simula un Intel 8080 al sumar dos números de 16 bits.
(Hay algunos vídeos más en mi canal de Youtube)
En este momento, el código (pobremente depurado) que corre el PIC es capaz de ejecutar unas 65 mil instrucciones ASM del i8080 por segundo. Esto es unas 10 veces mas lento que el micro original. Pero....funciona. *
Una vez que conseguí que un PIC18F4550 lograse hacer las cosas que normalmente hace un i8080, llegó el turno de comenzar a pensar en como implementar el panel frontal. Después de analizar un poco el asunto y molestar a varios amigos del foro en privado, me convencí de hacer una placa de circuito impreso enorme, sobre la que montar directamente los LEDs, las llaves y toda la electrónica necesaria. Quedó un PCB de dos caras, que mide unos 37x12 centímetros. Semejante tamaño no es fruto de la cantidad de integrados involucrados, sino por que intenté que el tamaño final de este clon fuese el mismo que el de la máquina original. En el post siguiente hay algunas fotos del mismo:


LinkBack URL
About LinkBacks

Citar












