Donkey.bas tiene 45 años – 131 líneas de gloria

Un port para navegador de DONKEY.BAS, un juego BASIC de 131 líneas que venía famoso en los primeros IBM PC y que fue coescrito por Bill Gates, está despertando nostalgia por la simplicidad y accesibilidad de la informática doméstica de los años 80. Los comentaristas recuerdan cómo aprendieron a programar editando juegos incluidos como DONKEY.BAS, GORILLA.BAS y NIBBLES.BAS, copiando listados mecanografiados de revistas y explorando el hardware temprano de sonido y gráficos. La conversación también pone de relieve esfuerzos modernos por emular fielmente QBasic y GW-BASIC en el navegador, en contraste con los entornos “incluidos de serie” de entonces frente a las cadenas de herramientas actuales, más complejas y dependientes de múltiples componentes.

Port para el navegador y comentarios sobre el juego

  • Port de DONKEY.BAS al navegador, admirado por recrear un juego completo en ~131 líneas del BASIC original.
  • Algunos usuarios informan de errores de renderizado (parpadeo شديد en tamaños concretos de ventana en Firefox/macOS); una pull request enlazada afirma solucionarlo.
  • La detección de colisiones original se describe como inherentemente defectuosa: los cambios de carril pueden provocar un golpe incluso después de haber pasado visualmente al burro, lo que coincide con el comportamiento del código clásico (línea 1750).
  • El port moderno añade extras: modo trucos, posibilidad de jugar como el burro y huevos de Pascua basados en imágenes (p. ej., foto de un burro al perder mucho, foto de Bill Gates al ganar muchas veces).

BASIC, QBasic y proyectos de emulación

  • Un gran subhilo detalla un proyecto de QBasic/QuickBasic 4.5 en el navegador de alta fidelidad:
    • Implementa una CPU virtual y una capa de abstracción de hardware.
    • Emula VGA, varios modos de pantalla, acceso a VRAM, páginas ocultas, esperas de vsync, llamadas BIOS, interrupciones (incluida la del ratón mediante int 33h), PEEK/POKE, e incluso un módem y una impresora virtuales.
    • Diseñado como un entorno autocontenido y fiel a la época, en contraste con DOSBox, que se considera menos completo en cuanto a dispositivos y más difícil de usar para usuarios casuales.
  • Interés en implementaciones relacionadas de BASIC: forks de GW-BASIC, pcBasic (emulador de GW-BASIC en Python) y GAMBAS como sucesor espiritual de Visual Basic.

Hardware antiguo, sonido y almacenamiento

  • Debate sobre los altavoces tempranos de IBM PC frente al audio más rico del port. Las máquinas originales tenían altavoces dinámicos simples, pero las demos los llevaron sorprendentemente lejos (reproductores MOD para altavoz de PC, intros de juegos, “Realsound”, etc.).
  • Notas sobre tecnologías alternativas de altavoces (electrostáticos, piezoeléctricos, magnéticos planares).
  • Recuperación de viejos programas de QBASIC desde disquetes de 5.25": se dice que los medios de 5.25" envejecen relativamente bien; se recomienda Greaseweazle para lecturas magnéticas en bruto.

Nostalgia y aprendizaje de programación

  • DONKEY.BAS, GORILLA.BAS y NIBBLES.BAS se citan repetidamente como el primer contacto con la programación:
    • Los niños descubrían el código fuente al pulsar una tecla y luego modificaban explosiones, gravedad, detección de colisiones o vidas para “hacer trampas”.
    • Las listas de BASIC en revistas y los programas de broma sencillos fomentaban la experimentación.
  • GORILLA.BAS y NIBBLES.BAS se recuerdan como “drogas de entrada” incluidas en máquinas DOS 5+ en una época en la que los juegos comerciales eran caros o escasos, según la región.

Simplicidad, herramientas y “lo que perdimos”

  • Varios comentarios elogian los primeros entornos BASIC por ser compactos, incluidos de serie y accesibles en comparación con las pilas modernas con muchas dependencias.
  • Otros señalan que, aunque BASIC era técnicamente un mal lenguaje, los sistemas de la era DOS (CONFIG.SYS/AUTOEXEC.BAT, directorios autocontenidos) facilitaban entender y reparar la máquina.
  • Las comparaciones con SDL, raylib, Godot, Unreal, Python y VB/GAMBAS destacan que los ecosistemas modernos son mucho más potentes, pero menos transparentes e inmediatos, y menos lúdicos.