DEV Community

Cover image for La ROM del WorkBoy, la PDA del Game Boy de 1992, apareció en el Gigaleak
lu1tr0n
lu1tr0n

Posted on • Originally published at elsolitario.org

La ROM del WorkBoy, la PDA del Game Boy de 1992, apareció en el Gigaleak

En 1992, una pequeña empresa llamada Montague-Weston diseñó un accesorio que prometía convertir el Game Boy en una computadora de bolsillo: el WorkBoy. Traía un teclado físico, agenda de contactos, calculadora, conversor de monedas y temperaturas, y traducción de palabras entre cinco idiomas. Nintendo lo licenció, las revistas de la época lo anunciaron... y nunca llegó a las tiendas.

Durante 28 años se dio por perdido, tanto el cartucho como el teclado. Hasta que en 2020 una filtración masiva de Nintendo destapó su ROM y un historiador logró hacerlo funcionar de verdad. Esta es la historia del WorkBoy y de cómo se preserva el software que estuvo a punto de desaparecer.

TL;DR

  • El WorkBoy (1992) era un teclado físico que convertía el Game Boy en una PDA: agenda, contactos, calculadora y conversor de monedas.
  • Lo diseñó Montague-Weston, lo licenció Nintendo y lo iba a distribuir Fabtek, pero nunca llegó a las tiendas pese a anuncios en revistas.
  • Su ROM apareció en el lote de Game Boy filtrado en septiembre de 2020, parte del llamado Nintendo Gigaleak.
  • En diciembre de 2020, Liam Robertson (DidYouKnowGaming?) mostró un prototipo del teclado funcionando con la ROM filtrada.
  • La pantalla muestra la versión 8.87, pero las cadenas internas dicen 5.74: el código sobrescribe el número en RAM al arrancar.
  • La ROM guarda la pantalla de título en cinco idiomas (inglés, español, italiano, alemán y francés) en offsets fijos.
  • El caso es un ejemplo claro de preservación de software y de ingeniería inversa sobre hardware retro.

Qué fue el WorkBoy

El WorkBoy no era un juego. Era un periférico que se conectaba al puerto del cartucho del Game Boy y le añadía un teclado completo, transformando la consola portátil más popular de su época en una agenda electrónica. La idea era ambiciosa para 1992: con la pantalla monocromática del Game Boy y un teclado de membrana, podías guardar citas, direcciones, números de teléfono, llevar el balance de tu cuenta bancaria y hasta convertir temperaturas y divisas. En un mundo previo a las Palm y mucho antes del primer smartphone, era una propuesta adelantada.

El reparto detrás del proyecto explica buena parte de la historia. El diseño y el software venían de Montague-Weston; la licencia, de Nintendo; y la distribución estaba a cargo de Fabtek, Inc., la misma compañía que más tarde se haría conocida por publicar el arcade Raiden en Norteamérica. Esa cadena de actores aparece, literalmente, en la pantalla de título del propio software, como veremos más abajo cuando leamos la ROM byte por byte.

El Game Boy de 1992, la base sobre la que el WorkBoy quería construir una PDA.

El problema es que, pese a los anuncios pagados en revistas de videojuegos de la época, el WorkBoy nunca se lanzó comercialmente. No hubo unidades a la venta, no hubo cartuchos en estanterías, y con los años quedó como una de esas leyendas del hardware perdido: un accesorio del que existían fotos publicitarias pero ninguna prueba de que funcionara realmente. Para coleccionistas e historiadores, era una pieza fantasma.

Contexto e historia: del olvido a la filtración

El giro llega en 2020. Ese año, Nintendo sufrió una de las filtraciones de datos más grandes de su historia, conocida popularmente como el Gigaleak. Se trató de una serie de volcados de información interna de la compañía publicados de forma anónima en imageboards. El nombre "Gigaleak" se asoció sobre todo a la segunda tanda, de julio de 2020, de unos tres gigabytes, pero hubo varias oleadas a lo largo del año.

La que nos interesa es la de septiembre de 2020. En la segunda semana de ese mes apareció un conjunto enorme de material que incluía documentación interna de Wii Sports, el código fuente del bootrom de la Nintendo DSi y, crucialmente, un lote de ROMs de Game Boy y Game Boy Color con juegos publicados y sin publicar. Entre esos volcados estaba el cartucho del WorkBoy. Después de casi tres décadas, el software perdido reaparecía, no en un mercado de pulgas, sino en un archivo filtrado en internet.

📌 Nota: El WorkBoy figura en la categoría de "Nintendo Leaks" de The Cutting Room Floor (TCRF), el wiki dedicado a documentar contenido oculto y sin usar dentro de videojuegos.

El segundo acto lo puso el historiador Liam Robertson. En diciembre de 2020, el canal de YouTube DidYouKnowGaming? publicó un video en el que Robertson aparecía usando un prototipo del teclado del WorkBoy junto con la ROM filtrada, sobre un Game Boy real. Robertson había rastreado durante años el hardware hasta dar con Frank Ballouz, fundador de Fabtek, dueño de uno de los pocos prototipos conocidos. Lo que le faltaba era el software: el teclado no servía de nada sin el cartucho. La ROM del Gigaleak fue exactamente la pieza que faltaba. Grabada en un cartucho regrabable, hizo que el prototipo funcionara tal como se diseñó en 1992.

Datos y cifras del WorkBoy

Más allá de la anécdota, lo interesante para quien programa es que hoy podemos abrir la ROM y examinarla. The Cutting Room Floor documentó varios detalles técnicos verificables que vale la pena desglosar, porque muestran cómo se construía software comercial para hardware de 8 bits.

  • Año y créditos — La pantalla de título declara (c) 1992 Montague-Weston, con licencia exclusiva a Fabtek, Inc. y "Licensed by Nintendo".
  • Cinco idiomas — El cartucho incluye la pantalla de título localizada en inglés, español, italiano, alemán y francés, cada una almacenada en un offset distinto de la ROM.
  • Dos números de versión — La pantalla muestra Version 5.74 en su forma final renderizada, pero las cadenas crudas en la ROM dicen una cosa y el arranque las modifica. Ese detalle es la joya técnica del caso.

Los offsets concretos de cada localización están documentados. Si tuvieras el archivo workboy.gb, podrías extraer cada cadena con unas pocas líneas de Python, sin emulador ni herramientas especiales:

OFFSETS = {
    "ingles":   (0x08072, 0x080D6),
    "espanol":  (0x08E9A, 0x08F09),
    "italiano": (0x10075, 0x100E2),
    "aleman":   (0x14078, 0x140E1),
    "frances":  (0x1C077, 0x1C0DC),
}

with open("workboy.gb", "rb") as f:
    rom = f.read()

for idioma, (inicio, fin) in OFFSETS.items():
    texto = rom[inicio:fin].decode("ascii", errors="replace")
    print(f"== {idioma} ==")
    print(texto)
Enter fullscreen mode Exit fullscreen mode

Una ROM no es magia: es un arreglo de bytes con un mapa de memoria conocido. Cada idioma vive en una región fija y el programa salta al offset correcto según la configuración. Esta es exactamente la clase de estructura que hace posible la preservación: si conocés el offset, conocés el dato.

Una ROM es un arreglo de bytes con un mapa de memoria conocido.

El truco de la versión: 5.74 que se vuelve 8.87

Aquí está el detalle que más disfrutan los aficionados a la ingeniería inversa. La descubridora WaluigiBSOD documentó que la pantalla de título del WorkBoy muestra el número de versión 8.87, pero las cadenas almacenadas en el código indican 5.74. ¿Por qué dos números distintos para lo mismo?

La respuesta es un parche en tiempo de ejecución. Antes de dibujar la pantalla de título, el programa copia la cadena correspondiente a la RAM y, una vez ahí, reemplaza el texto "5.74" por "8.87", leyendo esos cuatro caracteres desde la ROM en los offsets 0x00FEA-0x00FED. Es decir: el número "real" que ve el usuario no está pegado a la cadena de cada idioma, sino guardado una sola vez y estampado sobre la plantilla en el momento de pintar.

# La ROM guarda "5.74" en las cadenas, pero muestra "8.87".
# Antes de pintar la pantalla, copia la cadena a RAM y sobrescribe
# "5.74" con "8.87", leido de la ROM en 0x00FEA-0x00FED.
version_mostrada = rom[0x00FEA:0x00FEE].decode("ascii")
print("Version real en pantalla:", version_mostrada)  # 8.87
Enter fullscreen mode Exit fullscreen mode

¿Por qué hacerlo así? Es un patrón clásico de la programación de la época, cuando cada byte contaba. En lugar de repetir el número de versión cinco veces (una por idioma) y tener que editar cinco lugares en cada compilación, guardás la versión una sola vez y la inyectás en una plantilla compartida. Reduce duplicación y errores. Hoy lo resolveríamos con una variable o una interpolación de cadena; en 1992, con un Game Boy de 8 KB de RAM, lo resolvías sobrescribiendo bytes en memoria.

flowchart LR
  A["ROM: cadena con 5.74"] --> B["Copia a RAM"]
  B --> C["Lee 8.87 de 0x00FEA"]
  C --> D["Sobrescribe 5.74 por 8.87"]
  D --> E["Pinta la pantalla de titulo"]
Enter fullscreen mode Exit fullscreen mode

💭 Clave: El número de versión que ve el usuario no estaba en las cadenas: se estampaba en RAM al arrancar. Una micro-optimización de memoria que hoy delata cómo se construyó el software.

Cómo se preserva una ROM perdida

El caso del WorkBoy ilustra por qué la preservación de software importa, y por qué la comunidad técnica le dedica tanto esfuerzo. Sin esa ROM filtrada, el prototipo de teclado de Robertson sería un pisapapeles: hardware sin software no hace nada. La filtración, por dudosa que sea su procedencia, terminó siendo el único registro funcional de un producto que de otra forma estaría perdido para siempre.

Para quien quiera meterse en este mundo desde LATAM, el ecosistema de herramientas de Game Boy es sorprendentemente accesible y gratuito. Una de las más usadas es RGBDS (Rednex Game Boy Development System), el toolkit que ensambla y desensambla código de Game Boy. Instalarlo es directo en los tres sistemas operativos:

# Windows (Scoop)
scoop install rgbds

# macOS (Homebrew)
brew install rgbds

# Linux (Debian/Ubuntu)
sudo apt install rgbds
Enter fullscreen mode Exit fullscreen mode

Con un toolkit así más un emulador como mGBA, podés cargar una ROM, inspeccionar su mapa de memoria, seguir el flujo de ejecución y reconstruir cómo se comporta el programa. Es exactamente el tipo de trabajo que permitió documentar el parche de versión del WorkBoy: alguien abrió la ROM, encontró la cadena "5.74", notó que la pantalla decía "8.87" y siguió el rastro hasta el código que hacía la sustitución.

💡 Tip: Si querés practicar ingeniería inversa sin riesgos legales, empezá con ROMs homebrew de dominio público o con tus propios cartuchos volcados. El Game Boy es la plataforma ideal para aprender: arquitectura simple, documentación abundante y herramientas libres.

Impacto y análisis

Más allá de la nostalgia, el WorkBoy deja varias lecciones para desarrolladores. La primera es histórica: las PDA y los asistentes personales no nacieron con Palm ni con el iPhone. Hubo intentos tempranos, muchos fallidos, de meter productividad en dispositivos de consumo. El WorkBoy fue uno de ellos, y su fracaso comercial no le quita valor como antecedente conceptual.

La segunda lección es técnica. Leer una ROma de 8 bits hoy es trivial con Python, pero entender por qué está escrita así requiere ponerse en el lugar de quien programaba con restricciones brutales de memoria y procesamiento. El truco del número de versión no es un bug ni una rareza: es una decisión de diseño razonable bajo esas limitaciones. Estudiar código antiguo es estudiar restricciones, y eso entrena el criterio de cualquier ingeniero moderno.

La tercera es ética y práctica a la vez: la preservación digital depende, demasiadas veces, de filtraciones y de fans. No existe un archivo oficial y abierto de buena parte del software comercial de los 80 y 90. Cuando una empresa decide no relanzar ni archivar un producto, el conocimiento queda en manos de coleccionistas, dumpers y comunidades como TCRF. El WorkBoy sobrevivió de milagro; muchísimos títulos y accesorios no tuvieron esa suerte.

Qué sigue

El WorkBoy ya está documentado, su ROM circula entre quienes estudian hardware retro y su funcionamiento quedó registrado en video. Lo que sigue es lo de siempre en este campo: que más gente abra esos archivos, los analice y publique sus hallazgos. Cada offset documentado, cada cadena traducida y cada rutina explicada hace que la próxima persona que se acerque al tema tenga un punto de partida.

Para la comunidad de desarrollo en español, casos como este son una invitación. La barrera de entrada a la ingeniería inversa de consolas retro es baja, las herramientas son libres y multiplataforma, y el material para practicar abunda. El WorkBoy es, en ese sentido, un recordatorio de que la tecnología "vieja" sigue teniendo mucho que enseñar.

📖 Resumen en Telegram: Ver resumen

Preguntas frecuentes

¿Qué era exactamente el WorkBoy?

Un accesorio de 1992 que conectaba un teclado físico al Game Boy y lo convertía en una PDA: permitía guardar citas, contactos, números de teléfono y balance bancario, además de convertir temperaturas, monedas y traducir palabras entre cinco idiomas.

¿Por qué nunca se lanzó?

Pese a tener licencia de Nintendo, distribución prevista por Fabtek y anuncios en revistas de la época, el WorkBoy nunca llegó al mercado. No hubo unidades a la venta y tanto el cartucho como el teclado se consideraron perdidos durante casi tres décadas.

¿Cómo reapareció su software?

La ROM del WorkBoy apareció en el lote de Game Boy filtrado en septiembre de 2020, parte de la gran filtración de datos de Nintendo conocida como Gigaleak. En diciembre de 2020, Liam Robertson la usó para hacer funcionar un prototipo del teclado.

¿Por qué la versión es 5.74 y 8.87 al mismo tiempo?

Las cadenas internas de la ROM dicen "5.74", pero al arrancar el programa copia la cadena a RAM y sobrescribe ese texto con "8.87", leído desde la ROM en los offsets 0x00FEA-0x00FED. El usuario ve 8.87; el dato base es 5.74.

¿Es legal estudiar la ROM del WorkBoy?

El análisis y la documentación de software para fines de investigación y preservación son prácticas comunes, pero la ROM proviene de una filtración no autorizada. Para aprender ingeniería inversa sin riesgos, conviene usar ROMs homebrew de dominio público o volcados de cartuchos propios.

¿Con qué herramientas puedo analizar ROMs de Game Boy?

RGBDS para ensamblar y desensamblar, emuladores como mGBA con depurador integrado, y editores hexadecimales para inspeccionar bytes. Todas son gratuitas y funcionan en Windows, macOS y Linux.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)