Palimbit no empezó con un plan, ni siquiera tenía nombre. Tenía varias líneas e ideas de trabajo abiertas a la vez, se pisaban unas con otras y necesitaba un sitio donde ordenarlas.

Este Labbook es ese sitio. Aquí apunto qué intento, por qué me importa y lo que voy aprendiendo. La documentación técnica de cada proyecto vive aparte.

Qué sé y qué supongo

En emulación es fácil dar por buena una implementación que funciona pero no se comporta como la máquina real. Por eso diré claro en qué estado está cada cosa. Prefiero reconocer que hay partes inventadas para que funcione, y que me iré acercando a la realidad según vaya despejando esa incógnita. También contaré los intentos fallidos, porque no siempre las corazonadas llevan a buen fin.

Tres proyectos

BluMach → CoreMach → BareMach… y alguno más seguramente.

BluMach: fork del gran 86Box. ¿Por qué otro fork? Porque me gusta presentar las máquinas de otra forma: no montar clónicos, sino mostrarlas con su configuración de venta, su historia, su marca y su fabricante, y poder documentarlas, o intentarlo por lo menos.

CoreMach: intento de cambiar la arquitectura de BluMach, porque no todo son PCs. Hay un montón de ordenadores con arquitecturas distintas de x86 y con menos público, pero de algunas hay suficiente información para intentar emularlas. Esto va al nivel de tick de reloj y tiene un coste: la CPU.

BareMach: una prueba de momento fallida. Deriva de BluMach y CoreMach. Pensé: ¿y si lo arranco en una Pi con Circle, en bare metal? Arrancó, en una humilde Pi 3, pero a 1/5 de la velocidad real y en un solo núcleo :-( Seguiré exprimiendo esta Pi: aún me quedan 3 núcleos por optimizar :-)

No sé en qué acabará esto. Igual en un mes me aburro, la emulación se queda corta y lo dejo, o me pierdo en otros proyectos, o no. Pero aquí dejaré la historia en cualquier caso.