- Un experimento para arrancar una IBM PC usando un tocadiscos en lugar de un medio de arranque convencional
- Una imagen de disco RAM de 64 KB basada en FreeDOS se convirtió en una señal de audio analógica y se grabó en un vinilo de 10 pulgadas
- Usando la interfaz de casete de la PC, la señal de audio se restauró como datos digitales, se cargó en memoria y luego se realizó el arranque
- Para minimizar la distorsión de la señal, fue necesario ajustar la corrección de ecualización RIAA y la configuración del amplificador
- Un experimento de arranque singular que muestra un uso creativo de sistemas legacy pese a las limitaciones del hardware
Descripción general del proyecto
- El experimento se configuró para arrancar una IBM PC conectada directamente a un reproductor de discos
- Si el BIOS de la PC falla al probar otras opciones de arranque (disquete, disco duro, etc.), el cargador de arranque en ROM invoca la interfaz de casete
- A través de esta interfaz, lee la señal de audio reproducida por el tocadiscos y continúa el proceso de arranque
- La imagen de arranque utilizada es un disco RAM de 64 KB basado en el kernel de FreeDOS
- Incluye una versión reducida de COMMAND.COM y una versión modificada de INTERLNK para transferencia de archivos mediante cable de impresora
- El cargador de arranque en ROM decodifica la señal de audio, la carga en memoria y luego arranca el sistema
Configuración técnica
- El cargador de arranque es una combinación de los proyectos BootLPT/86 y 5150CAXX, sin soporte para puerto de impresora
- Se instala en la ROM del zócalo de expansión del BIOS y también podría instalarse en disco duro o disquete, pero para este experimento se usó ROM
- La conexión entre la PC y el amplificador usa la misma estructura de cable que 5150CAXX, pero omite el conector de entrada de línea
- La interfaz de casete está compuesta por el canal 2 del temporizador del altavoz de la PC (salida) y el canal 4 del puerto C del PPI 8255A-5 (entrada)
- La modulación y demodulación por software se realizan mediante la rutina INT 15h del BIOS
Señal de audio y fabricación del vinilo
- La imagen de arranque se convirtió según el protocolo de la “cinta de casete IBM” y se envió a un equipo de corte de discos
- Como el vinilo se corta con la curva de ecualización RIAA, durante la reproducción fue necesaria una corrección adicional en el amplificador
- Agudos -10 dB/10 kHz, graves +6 dB/50 Hz y voltaje de salida de aproximadamente 0.7 V
- La corrección de fase y la compensación de loudness se desactivaron por completo
- La calidad de la señal es muy importante y los ruidos de chasquidos o crepitaciones pueden interrumpir el flujo de datos
- Aun así, se tolera un error de velocidad de ±2~3% y una ligera fluctuación wow
Distribución del cargador de arranque y de la imagen
- El binario del cargador de arranque fue diseñado para el chip 2364 y también puede usarse con chips 2764 mediante un adaptador
- Funciona en una IBM 5150 con al menos 512 KB de RAM y pantalla monocromática
- La imagen del disco de arranque está disponible al final de la documentación de BootLPT/86, y la versión analógica en FLAC se ofrece mediante un enlace aparte
Reacción de la comunidad
- En los comentarios hubo muchas reacciones positivas, como “el regreso de la tecnología retro” y “un concepto similar al arranque por casete”
- Algunos usuarios preguntaron por la posibilidad de usar la entrada de Sound Blaster y la compatibilidad con BIOS open source (GlaBIOS)
- El autor aclaró que se implementó solo con ROM de expansión, sin modificar el BIOS
- Varios lectores dejaron comentarios en tono de broma, como “si lo reproduces al revés arranca Linux”
Significado
- Este experimento es un caso de conversión de un medio de audio analógico en un medio de arranque digital
- Es un intento técnico que reutiliza de forma creativa la interfaz de casete y la estructura de expansión del BIOS de la IBM PC
- Aunque hoy no sea necesario, es un proyecto interesante para explorar la comprensión del hardware legacy y las técnicas de procesamiento de señales
1 comentarios
Comentarios de Hacker News
Si metieras el controlador del escáner y el software de OCR en el BIOS, quizá sería posible. Hoy en día tal vez sería más fácil gracias a uEFI
Antes tenía un escáner SCSI, y me da pena haberlo desarmado para usarlo por piezas
Quizá se podría hacer un cargador de arranque simple que leyera un patrón en blanco y negro impreso en papel, lo cargara en memoria y luego arrancara. Me da curiosidad cuánta capacidad de almacenamiento tendría una hoja A4
También aparece en la wiki de Flexi_disc, pero como no era muy confiable, en las revistas indicaban copiarlo primero a cassette. El disco normalmente solo se podía reproducir 1 o 2 veces
Dicen que en el Reino Unido hubo un juego de Thompson Twins distribuido así
A veces pegaban una cinta en la portada de la revista para distribuir demos, y también recuerdo arreglarla enrollándola con un lápiz
Incluso se podía copiar con una casetera de doble deck para música
Es un pequeño rectángulo sin partes móviles, guarda y recupera datos por bloques, con baja latencia y alta confiabilidad
Antes el almacenamiento era mucho más “físico”: lento, ruidoso, sensible al magnetismo y lleno de piezas mecánicas complejas. Solo con el sonido ya podías darte cuenta de que algo andaba mal
Es entretenido experimentar en carne propia la evolución del almacenamiento. Los discos duros Conner son durísimos, como tanques, y suenan increíble cuando giran
Te hace notar otra vez que detrás de simples bytes y bloques había una ingeniería impresionante
La primera computadora de mi casa cargaba programas conectada a una grabadora de casete Radio Shack
Rebobinar la cinta, apretar play y escribir el comando de carga se sentía como un ritual
Cuando más tarde conseguí una disquetera de 5¼ pulgadas, fue realmente emocionante. Ahí fue cuando empecé a programar
Wiki de BASICODE
Todavía queda una grabación de la primera transmisión. Si la recepción FM era buena, funcionaba bastante bien
Enlace relacionado
No es de mi generación, pero me parece un intento interesante
Enlace de Discogs
Incluye música chiptune y pistas de arranque para Atari y C64
La idea era que a 9 de cada 10 clientes les gustaba la sensación táctil de tocar sus datos restaurados. Al final no se hizo, pero dentro del equipo nos dio bastante risa
Solo hay que reproducirlo por streaming desde sitios como asciiexpress.net
Supongo que también se podría con vinilo, pero no tengo equipo para cortarlo yo mismo
En intheclouds.io lo hacen por unos 100 dólares
También tengo equipo digital, pero no hay nada que reemplace la satisfacción de manipular directamente ese disco negro
Incluso los pequeños errores y la imperfección del surco se escuchan tal cual, y eso lo hace más vívido
Cuando lo sacas de la funda, puedes saber cuántas pistas hay y cuánto duran por la longitud de los surcos, e incluso ir directamente a la que quieres. Es mucho más intuitivo que una cinta
En cambio sí había una interfaz de cinta con forma de jack de audio, y había que darle play y stop manualmente