Hola!
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 en la zona "museo" de uControl), 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. Aqui hay algunas fotos del mismo:
Y finalmente, llaves y LEDs, a la misma altura para que luego quedasen bien al insertarlos en el frente:
La idea era poner, como frente, un acrílico. Pero una cosa es tener la idea, y otra muy diferente concertarla. Afortunadamente, un amigo del foro
Retrocomputación que vive en Capital Federal encontró una casa que trabaja en acrílicos, y con un sistema láser me lo perforaron y grabaron todos los "labels" de los elementos del panel frontal.
Así quedó el "clon" con el acrílico ya perforado y grabado, listo para usar:
Obviamente, no se parece mucho al original. El problema va a ser conseguir un gabinete adecuado, parecido al de la foto que ves más abajo, y -si es posible- más adelante cambiar el frente por uno que no sea transparente y tenga la chapa de aluminio con el nombre de la máquina, etc. Este es el gabinete que tenia la máquina original.
Y aquí hay un vídeo de una de las primeras pruebas de los registros de desplazamiento del frente:
A medida que vaya teniendo más material para mostrar pasaré por aquí para postearlo. La idea es que este clon se comporte igual que el original, aunque a una velocidad menor. Obviamente, para jugar un poco va a venir muy bien.
Para terminar, les dejo un video de la máquina "
de verdad", para que tengan una idea de como se programan estos bichos, usando las llaves como "
teclado" y los LEDs como "
pantalla":
Antes de terminar (por ahora) no puedo dejar de dar las gracias a todos los que me ayudaron a que este "clon" puedise existir.
Amigos, GRACIAS!¡Nos vemos pronto!
PD: No logré poner los videos de Youtube como corresponde.....ni bien me acuerde como se hace edito y los arreglo