Portar Linux al Sega 32X: el reto de arrancar un kernel sin primitivas de sincronización hardware

Fuentes: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

Un desarrollador documenta en su blog personal el proceso de portar Linux al Sega 32X, un add-on lanzado por Sega en noviembre de 1994 como puente entre la Genesis de 16 bits y la Saturn de 32 bits. El proyecto surge tras el éxito de una iniciativa similar con el Atari Jaguar y responde al interés del autor por mejorar sus habilidades de board bringup tras más de dos años trabajando profesionalmente en firmware, sistemas operativos y embebidos.

El 32X incorpora dos procesadores Hitachi SuperH SH2 a 23 MHz y 256 KB de SDRAM junto a los 64 KB de la Genesis, con gráficos por software. La principal dificultad técnica reside en coordinar tres CPUs distintas (los dos SH2 y el Motorola 68000 de la Genesis) mediante direcciones de E/S mapeadas en memoria, dado que el add-on no dispone de primitivas de sincronización hardware. A esto se suma la limitación de memoria: 320 KB entre ambas máquinas resultan insuficientes para cargar un kernel Linux convencional.

Para sortear el problema de almacenamiento, el autor recurre a un cartucho flash basado en FPGA de Krikzz, capaz de cargar juegos de Genesis, 32X y Sega CD. El texto también explica el concepto de mappers en sistemas antiguos, circuitos en el cartucho que ampliaban las capacidades de direccionamiento de la consola. La narración combina historia personal, contexto técnico de los años 90 y los pasos concretos del porteo, sin detallar aún el resultado final.