¡¿Qué carajo?! Nintendo posicionó la Famicom para que pareciera más una computadora que su contraparte occidental, la NES, de ahí el nombre Family Computer. El almacenamiento y la memoria adicionales del complemento Disk System impulsaron aún más su potencial, lo que un modder demostró al migrar un sistema operativo similar a Unix a la consola.
Un video reciente del modder «decrazyo» documenta cómo convirtió un sistema operativo parecido a Linux para ejecutarlo en una NES sin modificar. El código fuente está disponible en GitHub para cualquier persona interesada en probarlo o mejorarlo.
El sistema cumple con los requisitos básicos de un sistema operativo de PC que, en teoría, puede ejecutar varias aplicaciones y funciona completamente en el hardware que Nintendo lanzó en la década de 1980. Aunque la NES que definió el mercado de consolas en aquel entonces carece de las especificaciones para este proyecto, su equivalente mejorado exclusivo para Japón, la Famicom Disk System (FDS), tiene suficiente memoria y almacenamiento adicionales para realizar la tarea con algunos ajustes importantes. El teclado oficial de la consola también ayuda con la entrada.
En lugar de intentar migrar Linux, decrazyo creó un sistema operativo que cumplía con criterios similares a los de Unix, como la separación del kernel entre el usuario y el hardware, un sistema de archivos jerárquico, multitarea preventiva y un shell reconocible como Unix. La base elegida fue Little Unix (LUnix), un sistema diseñado para el Commodore 64, que se parece mucho a las especificaciones de hardware del FDS.
El proceso de conversión implicó definir el mapa de memoria, escribir un nuevo código de inicialización del sistema, reorganizar cómo LUnix maneja la memoria para que coincida con la RAM de Famicom y escribir nuevos controladores para el teclado y la unidad de procesamiento de imágenes. Los nuevos controladores fueron posibles gracias a la documentación exhaustiva que otros modders y desarrolladores aportaron a lo largo de décadas.
Escribir un nuevo controlador de disco fue la parte más desafiante porque, a diferencia de la mayoría de las unidades de disco, el FDS lee sectores secuencialmente en lugar de arbitrariamente. Aún así, decrazyo logró construir un controlador que trata el disco como de sólo lectura, lo que finalmente le permitió iniciar un shell.
Aunque el producto final tiene algunos defectos graves, como fallas visuales y un rendimiento lento debido a la unidad de disco, demuestra que la NES puede ejecutar un sistema operativo estilo Unix. Se probó en un emulador de NES funcionando al 1000 por ciento de velocidad para compensar el rendimiento, pero decrazyo muestra que se ejecuta en una NES estadounidense real a través de un cartucho ROM Everdrive.
El uso de un cartucho mejorado para mover el código al chipset de la consola probablemente todavía esté dentro de las reglas del experimento porque muchos cartuchos oficiales de NES usaron hardware adicional para expandir las capacidades de la consola. Aún así, sería interesante ver a alguien probar el sistema operativo en un FDS real.
Otro barro construido un sistema operativo solo gráfico en la NES en 2022. Aunque la falta de teclado dificulta la entrada, apoya numerosas aplicaciones.