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.

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.
- From the main menu, open Options → Game Settings.Desde el menú principal, entra en Options → Game Settings.
- 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- Leave Game Settings and start a match.Sal de Game Settings e inicia un partido.
- 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.
- Press Start separately to pause the game.Pulsa Start por separado para pausar el juego.
- 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ú.
- 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
| StageEtapa | Evidence in the examined ROMPrueba en la ROM analizada |
|---|---|
| Enable the Easter eggHabilitar el Easter egg | Cheat 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ía | JOYREC_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 Cheats | The 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ía | Routine 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
| PropertyPropiedad | FIFA 96 | FIFA 97 |
|---|---|---|
| Compressed image offsetOffset de la imagen comprimida | 0x152260 | 0x1597C0 |
| Image resource IDID del recurso de imagen | 0x04A6 | 0x02F2 |
| Compression markerMarcador de compresión | 30 FB | 30 FB |
| Decompressed lengthLongitud descomprimida | 0x6986 | 0x6986 |
| Display routineRutina de presentación | 0x0AAA3A | 0x0A59CA |
| Display taskTarea de presentación | 0x26 | 0x28 |
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:
3f56967910a01345af1eb9e3ef67448cbe068c2bfecbd5e1705c3d85f6acaf51In 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: 58794bcfc03a224e02eb1fda630654f5c46819bc2413093a528308e1727f9ecbEvidence and related readingPruebas y lecturas relacionadas
- Download the original technical notes (English)Descargar las notas técnicas originales (inglés)
- Read the relevant emulator trace excerptsLeer los fragmentos relevantes de la traza del emulador
- Download this research record (Spanish)Descargar el registro de investigación (castellano)
- FIFA International Soccer: the hidden Porsche slideshowFIFA International Soccer: los Porsche ocultos