VENTANAS SOLAPABLES
Arrastra, redimensiona, minimiza, maximiza y enrolla (shade). Doble clic en la barra de título para maximizar, justo donde tu memoria muscular lo espera. Cascada incluida.
Castalia 92 es el Windows 95 que todo dueño de un 386 soñó en 1992: un escritorio gráfico completo —ventanas solapables, barra de tareas y botón de Inicio, treinta y pico programas integrados, dieciocho temas de color, un salvapantallas demoscene— que arranca desde DOS y vuela con 4 MB de RAM. Es gratis, MIT, y está escrito en C89 fiel a la época.
La restricción es el punto. Castalia 92 apunta a un 386 en modo real con VGA y 4 MB de RAM, y está construido casi por completo con las herramientas y las reglas de aquella época: sin DOS extender, sin modo protegido, sin coma flotante, sin librerías externas. Si una máquina de 1992 no lo puede correr, no se envía.
«Todo el que tuvo un 386 recuerda el día que llegó Windows 95 y su máquina no podía moverlo», dice Dave Abellán, creador de Castalia 92. «Castalia 92 es para esa máquina. Es el escritorio que 1992 merecía: toda la sensación de Windows 95 —la barra de tareas, los temas, la musiquita de arranque— corriendo feliz en la huella de memoria de un driver de dispositivo.»
El truco es el VGA Mode 13h (320×200, 256 colores): un back buffer completo compuesto en memoria y presentado con blits parciales —el compositor rastrea el daño, así que un clic repinta una ventana, no la pantalla. Las barras de título barren una rampa de degradado de 32 entradas del DAC, el icónico azul marino a cielo. El shell residente se queda en ~120 KB para que los programas DOS arranquen cómodos, y un modo de memoria libre lo descarga entero para darle a un juegazo hasta el último kilobyte.
El Windows 95 que a tu 386 le prometieron y nunca llegó —tres años antes y 120 KB pequeño.
Arrastra, redimensiona, minimiza, maximiza y enrolla (shade). Doble clic en la barra de título para maximizar, justo donde tu memoria muscular lo espera. Cascada incluida.
Una barra de tareas con un botón por ventana, icono de altavoz, reloj en vivo y el botón de Inicio (sí, «Inicio»: el estudio es español, como el castillo del escudo). Menú en cascada con submenús y iconos.
El reproductor: WAV como audio digital real en Sound Blaster, Covox Speech Thing o Disney Sound Source por el puerto paralelo (o trucos de PWM en el PC speaker), y MIDI polifónico con voces General-MIDI en un chip FM AdLib/OPL2. LCD, analizador de espectro con caps de pico, playlists.
Un panel animado en vivo: lectura de hardware con LEDs de estado, un osciloscopio, un reloj LED, medidores de memoria/disco que se cargan y una tira de equipamiento BIOS.
Seis pruebas (entero, memoria, kernels de vídeo) indexadas contra un 386SX/16, con una puntuación compuesta CASTALIA SCORE y un veredicto de clase de máquina, dibujadas como barras animadas.
Dieciocho esquemas completos que reestilizan cada píxel del cromo —classic, moncloa, matrix, redmond, hotdog, sunset, sakura, dos…—, previsualizados en vivo en Ajustes con cross-fade por rampa de DAC al aplicarlos.
Buscaminas, solitario con cascada ganadora, Reversi, snake, breakout, bloques que caen, sokoban de diez pisos, memoria de sonido, Lights Out, quince, tres en raya, Pong y 2048. Todos con efectos de sonido y récords persistentes.
Marca un acceso directo como freemem=true y Castalia se descarga por completo para darle a un juego DOS grande hasta el último kilobyte, y vuelve cuando el juego termina.

VGA 320×200×256 con back buffer completo en memoria, presentado con blits parciales: el compositor rastrea el daño, así un clic repinta una ventana y no la pantalla. Mode 12h (640×480×16) plenamente soportado con dibujo planar.
La escena se cachea: destapar una ventana restaura píxeles desde la caché en vez de recalcular el fondo. Los cross-fades (temas, screensaver, apagado) son rampas de DAC —gratis a 320×200.
Todo lo animado es aritmética de enteros en punto fijo sobre una tabla de senos de 256 entradas. El voxel usa un y-buffer por columna; el corredor es un DDA raycaster con un mapa 16×16 empaquetado en bits (el nivel entero cuesta 32 bytes).
El modo real da un segmento de datos cercano de 64 KB (DGROUP) que se llena rápido. Las tablas grandes —LUTs de seno, texturas, el buffer MIDI— viven en memoria lejana por diseño. El shell residente ronda los 120 KB.
El código de dibujo se refleja en pequeños harnesses en C del lado del host que renderizan frames a imágenes, inspeccionadas y comparadas.
GitHub Actions construye los binarios reales de 16 bits con Open Watcom (wcc, modelo medium) en cada push.
Un script de lint impone el estilo C89 de la casa; otro mantiene Makefile, BUILD.BAT y el linker en sincronía y la versión honesta.
La tubería empaqueta la carpeta de release. Las capturas de este press kit salen de ese mismo pipeline, al nativo 320×200.
~22.500 líneas de C89 en 59 archivos. Fuente incluida; redistribúyelo con tu cobertura, cover-mount CD incluido.
Ni una sola librería externa. Sin extender, sin modo protegido, sin coma flotante. Solo C89 y VGA directo.
Si una máquina de 1992 no lo corre, no se envía. La restricción es el punto, no un obstáculo.
Tombatossals Softworks LLC. Releases pequeños y frecuentes camino de la 1.0.
Es un entorno operativo gráfico: un shell de escritorio que corre sobre DOS. No reemplaza a DOS; le pone ventanas, barra de tareas, temas y treinta programas encima, y se aparta cuando lanzas un juego que necesita la memoria.
Devlogs, parches y filtraciones internas. Cero spam, cero analytics. Solo lo que importa, cuando importa.