Los clubes ocultos en el código de Emlyn Hughes International Soccer: ¿Qué hacen Liverpool y Southampton en la memoria del Spectrum?
Si jugaste al fútbol en el gomas a finales de los ochenta, seguro que recuerdas Emlyn Hughes International Soccer (EHIS), publicado por Audiogenic en 1989. Fue probablemente el simulador más completo y técnico de la máquina: tácticas, nombres editables, una física del balón asombrosa con múltiples efectos de disparo y partidos internacionales entre selecciones como Inglaterra, Italia, Alemania o España.
Sin embargo, abriendo el archivo .tap original con un visor hexadecimal en busca de sus entrañas, salta una sorpresa inesperada: entre sus datos no aparecen en texto plano las selecciones nacionales... sino nombres de clubes de la liga inglesa como SOUTHAMPTON, LIVERPOOL e incluso BRIGHTON. ¿Por qué están ahí si nunca aparecen en el juego comercial?
En el bloque de código máquina principal del Spectrum (cargado en la dirección RAM $5E00 / 24064), el juego contiene una plantilla predeterminada de fábrica con dos clubes completos y datos de marcador que nunca llegan a verse en pantalla durante una partida normal.
1. Inspección Hexadecimal: ¿Qué hay exactamente en la memoria?
Al analizar el volcado en memoria RAM del bloque binario, encontramos los buffers activos donde el motor procesa a los dos equipos que disputan un partido (Equipo 0 y Equipo 1):
2. La estructura técnica: 143 bytes por equipo
La disposición de la memoria revela la arquitectura interna que ideó el motor. Cada equipo en EHIS ocupa exactamente 143 bytes:
- 12 caracteres + 1 delimitador (13 bytes): Nombre del club (
"SOUTHAMPTON "o"LIVERPOOL ", rellenados con espacios). - 10 futbolistas de campo × 13 bytes (130 bytes): Cada jugador contiene su dorsal y etiqueta (
"PLAYER 1 T0") junto con sus atributos numéricos de Defensa, Ataque y Velocidad. - Total por equipo: 13 + 130 = 143 bytes (en hexadecimal,
$8F).
De hecho, una rutina en $BB35 calcula la posición de cualquier equipo multiplicando el número de equipo por 143 y sumándole la base $7E80.
3. Conectando las piezas: Graham Blighe, Nigel Alderton y los clubes
¿De dónde salen estos clubes ingleses en un juego de selecciones internacionales? Para entenderlo hay que mirar a los dos grandes nombres detrás de esta producción de Audiogenic:
👨💻 Graham Blighe: Creador del motor y vecino de Southampton
El motor original y su diseño fueron obra de Graham Blighe (cuya firma "WRITTEN BY GRAHAM BLIGHE BSC!" quedó inmortalizada en el código binario). Blighe residía en el área de Southampton (Hampshire). Para probar el motor en desarrollo, utilizó a su club local (Southampton FC) y al clásico rival costero del sur de Inglaterra, el Brighton & Hove Albion.
🔴 Liverpool FC: El tributo a Emlyn Hughes
El juego fue apadrinado por el célebre futbolista Emlyn Hughes (apodado "Crazy Horse"). Hughes fue capitán legendario del Liverpool FC durante los años 70, donde alzó 4 Ligas y 2 Copas de Europa. Poner al Liverpool como rival directo del Southampton en los datos de prueba era el homenaje más natural al futbolista que daba nombre a la portada.
🥚 Nigel Alderton: El maestro del Spectrum a los mandos del port
Aunque el juego nació originalmente en Commodore 64, la impecable adaptación para ZX Spectrum corrió a cargo del mítico Nigel Alderton (nada menos que el creador del inmortal Chuckie Egg), quien colaboraba con Audiogenic. Alderton trasladó con enorme fidelidad el motor y la lógica Z80, manteniendo intactas las estructuras originales de datos y los buffers de prueba de Blighe.
🕵️ Curiosidad: La costumbre de Graham Blighe de esconder mensajes en el código
Dejar huellas en el código binario era casi una seña de identidad para Graham Blighe. Además de estampar su autoría y título universitario en EHIS ("WRITTEN BY GRAHAM BLIGHE BSC!"), años más tarde repitió la jugada en la versión Commodore Amiga (ECS) de Wembley International Soccer (1994). En ese título dejó un mensaje aún más directo y tajante, advirtiendo explícitamente a quien se atreviera a desensamblar su código:
4. ¿Por qué nunca los vemos al jugar?
Si cargas el juego en tu Spectrum o en un emulador, estos nombres nunca aparecen en los menús por varias razones:
- Datos de relleno de desarrollo (Dummy Data): Eran los valores por defecto con los que se compiló el binario para que los buffers de los dos equipos activos en RAM tuvieran contenido válido desde el arranque.
- Sobreescritura al iniciar la partida: En cuanto seleccionas una competición oficial (Copa, Liga o Amistoso), el juego sobreescribe esas posiciones de memoria con los datos de las selecciones nacionales correspondientes.
- Editor y gestión de cintas: EHIS destacaba por su menú
EDIT TEAMy la opción de guardar/cargar ligas enteras a cinta (EHIS FILE), de modo que estos 143 bytes por equipo estaban diseñados para ser mutables en todo momento.
💡 Reflexión retroinformática
Examinar el código de los juegos de 8 bits sigue siendo una aventura fascinante. Gracias a un simple vistazo hexadecimal, sale a la luz un rastro invisible que une al creador del Chuckie Egg adaptando código para el Spectrum, al programador original jugando un derbi virtual con su equipo local de Southampton, y al capitán del Liverpool sonriendo desde la portada.

Comentarios
Publicar un comentario