Technical articleArtículo técnico

FIFA 96: THE MYSTERIOUS HIDDEN PHOTOGRAPH AND ITS FIFA 97 LEGACY.FIFA 96: LA FOTOGRAFÍA MISTERIOSA OCULTA Y SU RASTRO EN FIFA 97.

A reproducible Easter Egg in FIFA Soccer 96: how to activate it and why it remains in FIFA 97 but cannot be activated.Un Easter Egg reproducible en FIFA Soccer 96, cómo se activa para reproducirlo y por qué está en FIFA 97 pero no es activable.

PublishedPublicado

September 18, 202618 de septiembre de 2026

DifficultyDificultad

IntermediateIntermedio

Reading timeTiempo de lectura

8 min read8 min de lectura

A hidden photograph in FIFA Soccer 96 and FIFA Soccer 97.Una fotografía oculta en FIFA Soccer 96 y FIFA Soccer 97.

As with the Porsches in FIFA International Soccer, I came across an unusually large image file among the resources I had decompressed with my tool for RefPack, EA Huffman and BPE (Byte Pair Encoding). When I opened it in TileMolester, I could make out a photograph of a man at the entrance to what looked like a metro station.Como ocurrió con los Porsche en FIFA International Soccer, entre los archivos que descomprimí con mi herramienta para RefPack, EA Huffman y BPE (Byte Pair Encoding), encontré un archivo de imagen que ocupaba más espacio de lo habitual. Al abrirlo en TileMolester, distinguí la fotografía de un hombre en la puerta de lo que parecía una estación de metro.

I investigated the code that loads the image and the conditions that control when it appears. This allowed me to reconstruct a controller sequence that reveals the photograph in FIFA 96. Following that sequence brought it up inside the game, without modifying the ROM.Investigué el código que carga la imagen y las condiciones que controlan su aparición. Así pude reconstruir una secuencia de mando que permite acceder a la fotografía en FIFA 96. Al completar esa secuencia, la imagen apareció dentro del propio juego, sin modificar la ROM.

Hidden photograph displayed in FIFA Soccer 96
The hidden photograph in FIFA 96, shown after completing the controller sequence. I suspect this may be Kevin Pickell, an EA Canada programmer, and that the photograph was probably taken in Burnaby, BC, Canada. This has yet to be confirmed.La fotografía oculta de FIFA 96, mostrada tras completar la secuencia de mando. Sospecho que puede tratarse de Kevin Pickell, programador de EA Canada, y que la fotografía probablemente se tomó en Burnaby, BC, Canadá. Falta confirmación.

The photograph is still stored in FIFA 97, and some of the code responsible for displaying it also remains. However, the entry that activated it through a controller button combination was removed from the cheat table. This is why the image remains in the game, but the sequence used in FIFA 96 can no longer display it.La fotografía sigue almacenada en FIFA 97, y también permanece parte del código encargado de mostrarla. Sin embargo, se eliminó de la tabla de trucos la entrada que la activaba mediante una combinación del mando. Por eso la imagen continúa dentro del juego, pero la secuencia utilizada en FIFA 96 ya no puede ejecutarla.

FIFA 96: controller sequenceFIFA 96: secuencia de mando

This is the sequence I verified in the Mega Drive / Genesis version of FIFA 96 identified below. Use controller 1 throughout.Esta es la secuencia que pude verificar en la versión de FIFA 96 para Mega Drive / Genesis identificada más abajo. Utiliza el mando 1 durante todo el proceso.

  1. From the main menu, open Options → Game Settings.Desde el menú principal, entra en Options → Game Settings.
  2. Enter the following code, pressing and releasing each button separately.Introduce el siguiente código, pulsando y soltando cada botón por separado.
A C B A C A C C B C A B A C B A C B
  1. Leave Game Settings and start a match.Sal de Game Settings e inicia un partido.
  2. While the match is running, press A + B + C + Start together, then release all four.Durante el partido, pulsa A + B + C + Start simultáneamente y suelta los cuatro botones.
  3. Press Start separately to pause the game.Pulsa Start por separado para pausar el juego.
  4. At the pause menu, press B to open Cheats. This is a button shortcut, not a visible menu row.En el menú de pausa, pulsa B para abrir Cheats. Es un atajo de botón, no una fila visible del menú.
  5. Press Start to leave Cheats. The photograph appears; you do not need to enable any visible cheat.Pulsa Start para salir de Cheats. Aparecerá la fotografía; no necesitas activar ningún truco visible.

Following the code helped me understand why activation requires several steps. The long button sequence enables the mechanism. The in-match combination sets a flag indicating that the photograph should be shown, and leaving Cheats triggers its display and clears that flag. Press and release each button separately, and let screen transitions finish before continuing.Seguir el código me permitió entender por qué la activación requiere varios pasos. La secuencia larga de botones habilita el mecanismo. La combinación durante el partido activa una bandera que indica que la fotografía está pendiente de mostrarse, y salir de Cheats hace que aparezca y borra esa bandera. Pulsa y suelta cada botón por separado y deja terminar las transiciones antes de continuar.

The activation chain in FIFA 96La cadena de activación en FIFA 96

StageEtapaEvidence in the examined ROMPrueba en la ROM analizada
Enable the Easter eggHabilitar el Easter eggCheat table 0x1FB64C, entry 12 (zero-based). FEVIDEO_process_eggs at 0x085DE8 enables RAM word 0xFFE10E.Tabla de trucos 0x1FB64C, entrada 12 (índice desde cero). FEVIDEO_process_eggs, en 0x085DE8, habilita la word RAM 0xFFE10E.
Request the photographSolicitar la fotografíaJOYREC_execute sets byte 0xFFE9EC to one at instruction 0x07A530 after the in-match chord.JOYREC_execute pone a uno el byte 0xFFE9EC en la instrucción 0x07A530 tras la combinación durante el partido.
Leave CheatsSalir de CheatsThe exit path checks the pending byte at 0x07BC58, clears it and selects task 0x26.La salida comprueba el byte pendiente en 0x07BC58, lo borra y selecciona la tarea 0x26.
Display the photographMostrar la fotografíaRoutine 0x0AAA3A requests palette 0x04A7 and image 0x04A6.La rutina 0x0AAA3A solicita la paleta 0x04A7 y la imagen 0x04A6.

Checking the sequence in an emulator confirmed what the code showed: the in-match combination marked the photograph for display, and leaving Cheats made the game load its palette and image. Repeating the sequence brought the photograph up again.La comprobación en el emulador confirmó lo que indicaba el código: la combinación durante el partido dejaba pendiente la fotografía y, al salir de Cheats, el juego cargaba su paleta y su imagen. Al repetir la secuencia, la fotografía volvió a aparecer.

What changes in FIFA 97Qué cambia en FIFA 97

In FIFA 97, I followed the pointer at ROM 0x0AFE to the cheat table at 0x1FB69E. I found ten entries, indexed 0–9, followed by the FFFF terminator at 0x1FB7B4. The photograph code occupies entry 12 in FIFA 96, so it is absent from this table. This explains where the activation chain I verified in FIFA 96 breaks in FIFA 97.En FIFA 97 seguí el puntero de ROM 0x0AFE hasta la tabla de trucos 0x1FB69E. Encontré diez entradas, con índices 0–9, seguidas del terminador FFFF en 0x1FB7B4. El código de la fotografía ocupa la entrada 12 en FIFA 96, por lo que no aparece en esta tabla. Esto explica en qué punto se interrumpe en FIFA 97 la cadena de activación que verifiqué en FIFA 96.

I also checked how much of the mechanism remained in the code. FEVIDEO_process_eggs (0x07FA78) still has a branch for entry 12, which writes the enable word 0xFFE0AA at 0x07FAEC. JOYREC_execute tests that word at 0x073D12 and can set the pending byte 0xFFE9D8 at 0x073D32. The Cheats exit checks the byte at 0x07586E and can select photograph task 0x28.También comprobé qué partes del mecanismo seguían presentes en el código. FEVIDEO_process_eggs (0x07FA78) conserva una rama para la entrada 12, que escribe la word de habilitación 0xFFE0AA desde 0x07FAEC. JOYREC_execute comprueba esa word en 0x073D12 y puede activar el byte pendiente 0xFFE9D8 desde 0x073D32. La salida de Cheats comprueba el byte en 0x07586E y puede seleccionar la tarea de fotografía 0x28.

This analysis let me confirm that FIFA 97 retains the image and its display mechanism, while the known activation entry is missing. I reached this conclusion by examining the ROM code. I have not activated the photograph in an unmodified FIFA 97 ROM, and I cannot rule out another route that I have not found.Con este análisis pude confirmar que FIFA 97 conserva la imagen y su mecanismo de presentación, mientras que falta la entrada de activación conocida. Llegué a esta conclusión examinando el código de la ROM. No he activado la fotografía en una ROM de FIFA 97 sin modificar y no puedo descartar que exista otra ruta que aún no haya encontrado.

Comparing the preserved assetComparación del recurso conservado

PropertyPropiedadFIFA 96FIFA 97
Compressed image offsetOffset de la imagen comprimida0x1522600x1597C0
Image resource IDID del recurso de imagen0x04A60x02F2
Compression markerMarcador de compresión30 FB30 FB
Decompressed lengthLongitud descomprimida0x69860x6986
Display routineRutina de presentación0x0AAA3A0x0A59CA
Display taskTarea de presentación0x260x28

I compared the decompressed images and confirmed that their SHA-256 hashes match in both games:Comparé las imágenes descomprimidas y comprobé que su SHA-256 coincide en ambos juegos:

3f56967910a01345af1eb9e3ef67448cbe068c2bfecbd5e1705c3d85f6acaf51

In the code, I found the internal labels FERTASK_player and FETASK_player. Those names alone do not tell me who appears in the photograph.En el código encontré las etiquetas internas FERTASK_player y FETASK_player. Esos nombres, por sí solos, no me permiten saber quién aparece en la fotografía.

Research record and examined versionsRegistro de investigación y versiones analizadas

Research: Marcos / 68KRevival. I documented these findings on 17 September 2026. In FIFA 96, the controller sequence was confirmed to display the photograph inside the game. For FIFA 97, I compared the image, the cheat table and the display code. The hashes below identify the 2,097,152-byte raw ROMs I examined. I have not checked other revisions or platforms, or established whether these findings were documented publicly before.Investigación: Marcos / 68KRevival. Documenté estos resultados el 17 de septiembre de 2026. En FIFA 96, la secuencia de mando quedó comprobada al mostrar la fotografía dentro del juego. Para FIFA 97 comparé la imagen, la tabla de trucos y el código que la muestra. Los hashes siguientes identifican las ROM binarias de 2.097.152 bytes que examiné. No he comprobado otras revisiones o plataformas ni he establecido si estos hallazgos se habían documentado públicamente antes.

FIFA Soccer 96 (USA, Europe) (En,Fr,De,Es,It,Sv)
SHA-256: 06a2ecc02d54a1cac13385b0d7f1a78a7e70ac0303b6b924448511a0e3822e7f

FIFA Soccer 97 (USA, Europe) (En,Fr,De,Es,It,Sv)
SHA-256: 58794bcfc03a224e02eb1fda630654f5c46819bc2413093a528308e1727f9ecb