Hola y bienvenido de nuevo a The 8-Bit Guy. Entonces, he querido hacer un documental
sobre la Apple-1 durante mucho tiempo. El problema es que si quieres hacer un buen
episodio sobre la Apple-1, necesitas tener una Apple-1 a mano. Solo se produjeron unos pocos cientos. Creo que todavía existen alrededor de 200. Y si tienes medio millón de dólares
en el banco, probablemente puedas permitirte comprar un Apple 1.
Pero, obviamente, no tengo esa cantidad de
dinero. Entonces, hay un par de otras opciones. Uno, puedes construir tu propia Apple-1, que
es exactamente lo que estoy a punto de hacer. En realidad, este es un proceso bastante largo, simplemente
encontrar todas las partes para unir una de estas. Hablaré de eso más en un momento. Otra opción es comprar varios
tipos diferentes de kits, este es un ejemplo de uno, se llama Smarty Kit. Y esta es una computadora compatible con Apple-1. Por lo tanto, no es un Apple-1 real, pero
ejecutará el software Apple-1. Pero, sigamos adelante y comencemos a
armar esto. Empezaré soldando todos los enchufes de circuito integrado. En lo que respecta a la soldadura, esto es lo que lleva más
tiempo. Hay alrededor de 63 chips en esta placa. Sé que no parecen tantos,
pero son muchos. Eso es alrededor de 1000 uniones de soldadura
solo para los enchufes. Me tomó alrededor de 6 horas completar esta
parte. Diré que esto me da un gran respeto por
Jobs y Wozniak ensamblando esto en un garaje. Esta habría sido una tarea monumental. De hecho, es bastante interesante pensar
en eso, ya que esto es literalmente exactamente lo mismo que estaban ensamblando.
Desafortunadamente, resulta que instalé estos
condensadores de cables axiales al revés. Por alguna razón, estaba pensando que las flechas
apuntaban al lado positivo, cuando en realidad apuntan al negativo. Honestamente, no creo que haya tenido que
soldar condensadores de cables axiales antes. De todos modos, se corrigió fácilmente. Me alegro de haberme enterado antes de
encender la placa. La mayor parte de la soldadura ya está hecha, por lo que es
hora de usar un poco de alcohol para limpiar el fundente de la placa. En aras de la autenticidad, también estoy construyendo un
bloque de alimentación basado en el diseño original. Y ahora es el momento de probar el bloque de alimentación. Bien, como no explotó nada, probaré los
voltajes.
Y parece que todo funciona correctamente. Entonces, ahora daré un paso más y
probaré los voltajes en la placa. Aquí está el riel de 12 voltios. Y aquí está el riel de 5 voltios. ¡Todo luce bien! En este punto, necesito explicar algunas cosas
sobre cómo funciona esta computadora. Quiero llamar su atención sobre estos números a lo
largo del borde inferior del tablero que van del 1 al 18. Del mismo modo, a lo largo del borde izquierdo hay letras
A, B, C y D. Estas en realidad forman una cuadrícula casi perfecta en cada chip
en esta placa. Esto se usa mucho en la documentación y
entre aficionados para identificar chips o regiones específicas del tablero. Bien, lo siguiente que quiero mencionar es que
también puedes dividir aproximadamente esta placa en 3 secciones. En la esquina superior tienes la
fuente de alimentación regulada. Aquí abajo, en las dos filas inferiores, esta es
la computadora real.
Aquí es donde viven la CPU, la RAM y la ROM. Aquí arriba, las dos filas superiores son la sección de video. Pero lo interesante es que esta sección
funciona casi independientemente de la sección de la computadora. De hecho, es esencialmente una copia de un
terminal de estilo teletipo, como este. Básicamente, estos terminales solo toman
caracteres ASCII y los imprimen en la pantalla, reemplazando a los antiguos teletipos
tipo máquina de escribir
que imprimen caracteres en papel. Por lo tanto, la Apple-1 en realidad envía caracteres ASCII
uno a la vez desde la parte inferior del tablero hacia la parte superior para que se muestren. Este fue considerado uno de los puntos
de venta de esta computadora. Por ejemplo, un año antes te podías
comprar una KIM-1, una computadora de placa única también basada en el 6502. Pero necesitaba un terminal para poder
usarla. Y aunque la KIM-1 era bastante asequible
por sí solo, un terminal podía costar fácilmente mil dólares o más.
Así que el Apple-1, que se vendió por 666 dólares, fue un
buen negocio. El corazón de la pantalla de video se reduce
a esta ROM de caracteres, que contiene los patrones de bits para 64 caracteres. Y chicos, esto es todo. Estos son literalmente los únicos caracteres que
se pueden mostrar en la Apple-1. No hay modos gráficos. No hay caracteres gráficos como en
la PET. No hay caracteres reversos y, de
hecho, ni siquiera hay caracteres en minúscula. Lo que es más interesante es la forma en
que funciona esto. La pantalla tiene 40 caracteres de ancho por 24 caracteres de
alto. Entonces necesitas almacenar 960 caracteres. Pero, ¿dónde se almacenan todos esos datos? Verás, tampoco hay RAM de video… Bueno, al menos no en el sentido tradicional.
Utiliza registros de desplazamiento. Ahora, un registro de desplazamiento típico es un chip que
maneja 8 bits de datos. Y los 8 bits se exponen como su propio pin
en el chip para que cada bit pueda ser de entrada o salida. Entonces los datos se pueden cambiar. Estos se utilizan para todo tipo de cosas. Pero la Apple-1 usa un tipo
de registro de desplazamiento realmente inusual. Éste tiene 1024 bits. Ni siquiera puedo dibujarlos todos en la pantalla. Y, solo un bit está realmente expuesto a la
vez. Como tal, los chips son sorprendentemente pequeños. Éstos son algunos de ellos aquí mismo en la placa,
como puedes ver, son pequeños chips de 8 pines. Por supuesto, uno de estos chips no sería
suficiente para almacenar todos los caracteres en la pantalla, pero si tienes 6 de ellos juntos,
ahora tienes suficiente para almacenar 1024 caracteres.
Desafortunadamente, esto crea una de las mayores
limitaciones del sistema de video de la Apple-1. No hay forma de modificar caracteres al azar
en la pantalla. Estás bastante limitado a enviar
nuevos caracteres y hacer que la pantalla se desplace. Por supuesto, esto era bastante común en los
terminales de texto más antiguos, porque imitaban exactamente el comportamiento de un teletipo, que obviamente se
limita a imprimir caracteres de esta manera. Como puedes imaginar, no vas
a jugar ningún juego de arcade en esta cosa. Entonces, volvamos a nuestro ensamblaje. Voy a completar todos los chips necesarios
para ejecutar solo la pantalla de video. Porque por el momento, eso es todo lo que
quiero probar. Y aquí vamos. En teoría, esto debería darnos algún tipo de
visualización de video. Bien, he llegado al punto en el que es
hora de realizar la prueba. Ahora bien, por supuesto, solo llené
la sección de video, por lo que la computadora no se iniciará, pero debería obtener algún tipo
de visualización, ya que el video es esencialmente independiente del resto de la computadora. Pero estoy muy nervioso por eso porque
literalmente he pasado las últimas dos semanas trabajando en este proyecto.
Es, con mucho, la construcción más difícil que
he hecho. No es solo la soldadura. Sí, hay mucha soldadura. Probablemente pasé como 8 horas soldando cosas,
pero han sido muchas otras cosas las que han hecho que esto sea mucho más difícil de
lo que normalmente es un equipo de computadora que armaría. No recomendaría este proyecto a nadie
que esté buscando un proyecto para principiantes. Esto es mucho más difícil de lo que pensaba. Y, probablemente, también estoy tirando
en el hoyo unos 800 dólares por esto. En otras palabras, estas piezas no son baratas. Son realmente difíciles de encontrar y son
muy caras cuando las encuentras, así que si frito algo aquí, esto es, no es
una cosa trivial.
Entonces. También he pasado los últimos meses
buscando el monitor perfecto para esta computadora. Ahora, debes pensar en esto por un momento. Tienes que remontarte a 1976, ¿qué tipo
de monitor usarías en una computadora? Quiero decir, los televisores no tenían entradas compuestas en
ese entonces. ¿Correcto? Así que tendrías que conseguir un modulador de RF
si quisieras usar un televisor.
No existía nada parecido a un monitor de computadora,
o al menos no que el consumidor pudiera ir a buscar. Pero, estaban estos. Y lo que tengo aquí es un monitor de cámara de seguridad CCTV. Es solo un monitor en blanco y negro
y tiene una entrada compuesta. Y este es exactamente el tipo de cosas que
un usuario de la Apple-1 probablemente habría estado usando en 1976. Ahora, en realidad, incluso muchos usuarios de la Apple II
terminaron usando monitores como este. De todos modos, esto es de la época correcta y
creo que será una combinación perfecta para mi Apple-1, así que conectemos y veamos si
obtenemos una visualización.
Bueno, al principio pensé que estaba muerta. Pero luego recordé que había un pequeño ajuste
en la placa para el nivel de video, así que intenté girar eso, y qué sabes, ¡tengo una
señal de video! El hecho de que aparezcan caracteres basura aleatorios
no es un problema. Solo significa que la RAM de video aún no se ha
borrado. Entonces, esta es una muy buena señal. En realidad, lo siguiente que voy a hacer
es aplicar manualmente 5 voltios al circuito de borrado de pantalla. Y efectivamente, eso funciona y aparece un
cursor parpadeante en la parte superior izquierda. Sí, la Apple-1 usa un símbolo @ para un
cursor parpadeante. Entonces, es hora de seguir adelante, voy a completar
todos los chips para la sección de computadora. Aquí está el chip más importante de todos, el
microprocesador 6502. Y entonces creo que estoy listo para el próximo
encendido. Bueno, no creo que haya ninguna actividad de la CPU
ya que la pantalla todavía tiene caracteres basura.
Pero luego recordé que había
olvidado soldar algunas conexiones en la placa, como esta. Hay una pequeña almohadilla en la que necesitas poner una gota
de soldadura si está utilizando un microprocesador 6502. Lo creas o no, esta placa también está diseñada
para admitir una CPU Motorola 6800, pero necesitas algunas cosas adicionales para que funcione. Por ejemplo, debes colocar un chip en este
zócalo, observe que dice "solo 6800". Y toda esta zona de aquí arriba tendría que
estar completa.
Pero como estoy usando el 6502, solo
soldaré esta pequeña almohadilla. Ah, y también necesito configurar los bancos de RAM. Estos son muy configurables. Este es un testimonio del hecho de que esta computadora
fue diseñada para que los aficionados jugaran con ella. De todos modos, tendré que poner algunos pequeños puentes
aquí y allá para configurar la configuración de la RAM. E incluso si conseguiera que esto funcionara, necesito
un teclado para probar. Compré este en línea. Creo que puede haber sido sacado de un Apple II,
pero está lo suficientemente cerca de la era correcta, creo que funcionará. El problema es que no queda plano sobre el
escritorio debido a la placa secundaria en la parte inferior, así que corté estos pequeños trozos de madera.
En realidad, parecen topes de puerta. Pero creo que funcionarán bien para apuntalar el
teclado. Lo siguiente que tuve que hacer fue construir un
cable adaptador basado en este diseño de aquí, ya que el pinout del teclado de la Apple II es
diferente del Apple-1. Está bien, entonces aquí no vale nada. Lo voy a encender. Ahora borraré la pantalla, ya que no hay ninguna
tecla en el teclado para hacer esto. Luego presionaré "reiniciar" en el teclado. Y señoras y señores, creo que está funcionando. Entonces, el sistema operativo del Apple-1 es
increíblemente primitivo. El código ROM tiene solo 256 bytes. Compara eso con algo como un Commodore
VIC-20, que tiene 16 Kilobytes, eso es literalmente 64 veces la cantidad de código. No hay BASIC ni nada por el estilo. Entra en algo llamado WozMon, que
es un sistema realmente simple para escribir código. La idea es que puedes escribir código de máquina desde
el teclado, lo que, seamos sinceros, era bastante común en esa época.
Pero el sistema operativo de esta cosa está
solo un paso por encima de una computadora con interruptores de palanca para ingresar el código de bytes. Entonces, dicho eso, ¿qué podemos hacer con
esta cosa? Bueno, ahora tengo una excusa para mostrarte estos
manuales. Esta es una recreación perfecta del manual de la Apple-1. Estos son hechos por un tipo llamado Armin que vive
en Munich, Alemania. El manual no es enorme. Pero contiene todo el código fuente
del sistema operativo. Por supuesto, cabe en solo dos páginas, porque
nuevamente, tiene solo 256 bytes de tamaño. También contiene un esquema completo de la computadora,
que no era infrecuente en ese momento. Y, por supuesto, la primera
página de garantía de Apple Computer. También tengo aquí una recreación del anuncio de la revista
de este producto. Se publicitó como un sistema de microcomputadora
con un terminal de video y 8K de RAM. Pero de todos modos, lo que realmente quiero llamar su
atención es este programa de ejemplo en el manual.
Este es solo un programa de prueba y solo tiene
11 bytes de longitud. Entonces, esto no debería tomar mucho tiempo para
escribir. Y así, mientras escribo esto en WozMon,
estoy pensando en el hecho de que esto es probablemente lo primero que la mayoría de los propietarios de Apple-1
habrían escrito en su computadora. Y probablemente estaban esperando ansiosamente
ver el resultado. Y aquí estamos. Voy a hacer que liste el
código máquina. Todo parece correcto. Así que ahora le diré que ejecute el código. Y ahí vamos. Esto es probablemente lo primero que vieron todos los
usuarios de Apple-1 cuando configuraron sus computadoras en 1976. Y probablemente lo vieron en un monitor
como este. Básicamente, es solo un patrón repetido que
muestra todos los caracteres que la computadora puede mostrar y seguirá desplazándose para siempre. Entonces, ¿qué pasa con el uso de BASIC? Bueno, la mayoría de los clones modernos de la Apple-1 incluyen
BASIC en ROM, lo cual es muy conveniente.
Pero el Apple-1 original vendido en 1976 no
tenía BASIC en ROM, por lo que tuvo que cargarlo desde un casete. Pero para hacer eso, necesitaría la
ACI o interfaz de casete de Apple. Esto se conecta a la ranura de expansión y
también contiene dos chips PROM más, que agregan otros 256 bytes de ROM al sistema. Déjame mostrarlo. Si enciendes la Apple-1 y le pides a WozMon
que te muestre el contenido de la memoria en C100, verá que el área está totalmente en blanco.
Así que ahora lo que vamos a hacer es insertar
la tarjeta, obviamente con el sistema apagado. Ya que estamos en eso, sigamos adelante y
conectemos una grabadora de casetes. Esto es lo más parecido que tengo para
el período de tiempo. Solo necesitamos conectar las
tomas de auriculares y micrófono, y se conectarán aquí en la interfaz del casete. Ahora repetiré la misma prueba, echando un
vistazo a la memoria en el rango C100. Y como puede ver, hay datos de ROM allí,
esto se lee directamente desde la tarjeta ACI. Así que así es como se usa. Le diremos a WozMon que inicie el código ROM
en C100. El asterisco indica que hemos ingresado al
software de interfaz del casete. Así que ahora le diré que cargue un programa
en el rango de memoria de E000 a EFFF, y la R al final significa lectura. Si quisiera escribir, pondría una W allí. En este punto, está esperando algunos datos
del casete. Tengo una copia de BASIC en este casete, así
que la cargaré allí.
Y presiona "play". Y ahí vamos. Está cargando. Realmente no recibes mucha información de que
algo está sucediendo. Pero al final de la carga, obtendrás una
pequeña barra invertida que indica que está de regreso en WozMon nuevamente. Entonces, podemos ejecutar BASIC ejecutando el código
en E000. Y funciona. La forma en que sabemos que estamos en BASIC es que el
indicador ha cambiado de una barra invertida a un signo "mayor que". Y, por supuesto, obtienes mensajes de error más amigables
como "error de sintaxis". Pero de todos modos, escribiremos un pequeño programa de prueba
solo para ver.
Pido disculpas, todavía no tengo una
tecla de retroceso conectada correctamente, por lo que no puedo corregir mis errores tipográficos. Pero de todos modos, ahí lo tienes. Código BASIC ejecutándose en un Apple 1 original. Por supuesto, los programas BASIC pueden ser considerablemente
más complejos, lo cual es más fácil de mostrar con un emulador aquí. E incluso hay algunos juegos muy primitivos
como este en el que intentas gobernar una ciudad antigua. Lo que aparentemente hice terrible ya que toda
mi gente se moría de hambre. Incluso puedes ejecutar el clásico juego Star Trek
de esa misma época. Entonces, obviamente, la mayoría de la gente no va a
tener el tiempo, el dinero o la paciencia para ensamblar una réplica de la Apple-1.
Pero quiero mostrar algunas alternativas. Y comenzaré mostrando el Smarty Kit,
que mencioné al principio. Este kit tiene un diseño sin soldadura. Utiliza microcontroladores para la
entrada de video y teclado. Armar todo esto es más como
armar un rompecabezas que la electrónica. Desafortunadamente, no tuve tiempo de terminar
esto antes del video. Creo que tengo alrededor del 25% completo. También quería mencionar la computadora PE6502,
que también es compatible con Apple-1. Hice un video completo sobre esto hace unos años. Así que hay una variedad de emuladores de Apple-1
para jugar. Pero el que podría sorprenderte más
es este que se ejecuta en una Commodore 64. Se llama Green Delicious, pero dudo
en llamarlo un emulador. Es más como una máquina virtual.
La principal diferencia es que el código en
realidad se ejecuta de forma nativa en la CPU de la C64, ya que ambas son derivados del 6502. Lo único que tiene que emular la C64 es el
teclado y la pantalla del terminal, lo que no es tan difícil de hacer para una C64. Emula completamente la fuente, e incluso
nos da un colorido logo de Apple para el cursor parpadeante. Y todo funciona como se esperaba. F1 funciona como el botón de borrado de pantalla por hardware.
F7 funciona como el botón de reinicio de la CPU. F3 cambia los colores de la pantalla para estilos monocromáticos comunes
como verde, blanco o ámbar. F5 alternará entre el cursor del logotipo de Apple
o el cursor de símbolo @ estándar que usa el Apple-1 real, para mayor autenticidad. Ahora, aunque no creo que pueda leer casetes Apple-1,
tiene incluido BASIC en ROM, lo cual es útil. Y nos han proporcionado un sistema de carga de disco improvisado
para que podamos cargar software adicional desde el disco, junto con algunos
programas de ejemplo. Claramente, el Apple-1 nunca admitió una
unidad de disco, pero esto es bastante útil. Y aquí estoy jugando la versión Apple-1 de Star
Trek en mi Commodore 64. Quién lo hubiera pensado. Por lo tanto, no planeo cubrir nada de la
historia de esta computadora, ya que creo que está muy bien documentado en algunas
películas de alto presupuesto, así como en algunos otros canales de YouTube.
Pero, quería darles una descripción general de cómo
funciona realmente esta computadora y permitirles ver una real en acción. Digo real, me refiero a que esto es lo más cercano
que se puede llegar a la realidad. Y mientras este episodio llega a su fin,
la historia de esta computadora aún no está terminada. Voy a entregarle esto a mi hermano,
quien va a construir algún tipo de caso para esto y hacer un episodio en su canal, The
GeekPub. Por lo tanto, está atento a eso. También quería agradecer al tío
Bernie, que tiene una tienda de eBay que vende algunas de las partes más oscuras que son realmente
difíciles de encontrar para esto, y también pudo responder algunas preguntas que tenía que
fueron muy útiles para obtener este conjunto, por lo que también pondré un enlace en la
descripción.
Pero eso es todo para este episodio, así que
como siempre, ¡gracias por mirar!.