# FIFA 96 / FIFA 97 hidden photograph Investigation date: 2026-09-17. Mega Drive / Genesis versions. ## Result FIFA Soccer 96: the photograph is reachable through controller input in an unmodified ROM. It is not merely an unused image. It was displayed in Gens using read-only execution hooks and emulated controller input, without memory pokes or ROM patches. The screenshot is `fifa96-hidden-photo.png`. FIFA Soccer 97: the same compressed image and its display routine remain in the ROM. However, the relevant activation code is absent from the options cheat table. The normal activation chain retained from FIFA 96 is therefore broken. No alternative working controller sequence has been established. This conclusion comes from static analysis, not a successful unmodified FIFA 97 emulator test. ## FIFA 96 reproduction Use controller 1 throughout. 1. Open Options > Game Settings from the main menu. 2. Press these buttons separately, in order: `A C B A C A C C B C A B A C B A C B` 3. Leave Game Settings and start a match. 4. While the match is running, press A+B+C+Start together, then release them. 5. Press Start separately to pause. 6. At the pause menu, press B to open Cheats. It is a button shortcut, not a visible row in the pause menu. 7. Press Start to leave Cheats. The photograph appears. The code activates the photo mechanism but does not immediately display the photo. The in-match chord sets a pending-photo flag. Leaving Cheats consumes that flag and runs the photo display task. No visible cheat needs to be switched on. The tested code entry used two emulated frames per button, with fourteen neutral frames between presses. Match/menu chords used longer presses. On a real pad or keyboard, use deliberate, distinct presses and allow screen transitions to finish. ## Asset identity | Property | FIFA 96 | FIFA 97 | | --- | --- | --- | | Compressed image ROM offset | `0x152260` | `0x1597C0` | | Resource ID | `0x04A6` | `0x02F2` | | Compression marker | `30 FB` | `30 FB` | | Decompressed length | `0x6986` | `0x6986` | | Display function | `0x0AAA3A` | `0x0A59CA` | | Display task ID | `0x26` | `0x28` | Decompressed image SHA-256 (identical in both ROMs): `3f56967910a01345af1eb9e3ef67448cbe068c2bfecbd5e1705c3d85f6acaf51` The embedded function labels include `FERTASK_player` and `FETASK_player`. These internal labels do not establish the identity of the person pictured. ## FIFA 96 execution evidence The game uses A5=`0x772`; negative A5-relative globals wrap into Genesis RAM. - Options cheat table: `0x1FB64C`. The sequence above is zero-based entry 12. - `FEVIDEO_process_eggs` starts at `0x085DE8`; entry 12 enables RAM word `0xFFE10E`. - In-match A+B+C+Start reaches `JOYREC_execute`; instruction `0x07A530` sets RAM byte `0xFFE9EC` to one. - The Cheats exit path checks that byte at `0x07BC58`, clears it, and selects task `0x26` instead of returning straight to the pause screen. - The display routine loads palette resource `0x04A7` and image `0x04A6`. Observed probe events in the first successful run: ```text frame=2135: supercheat result 0x000C; process_egg argument 0x000C frame=2148: secret_enabled=0001 frame=3166: PHOTO_FLAG_SET frame=3384: pending_photo=01 frame=4835: add_task 0x1D (Cheats) frame=5106: add_task 0x26; photo_renderer entered frame=5110: photo resource 0x04A7 requested frame=5111: photo resource 0x04A6 requested frame=5322: photograph screenshot captured ``` A second successful activation confirmed the short path without visiting any other pause submenu: in-match chord (flag set at frame 6431), Start to pause, B to enter Cheats (frame 6856), Start to exit, photo task entered at frame 7177. ## Why FIFA 97 differs The options cheat table pointer at ROM `0x0AFE` points to `0x1FB69E`. This table contains only ten entries, indexed 0 through 9, and ends with `FFFF` at `0x1FB7B4`. FIFA 96's photo code, entry 12, is absent. FIFA 97 still retains the following code: - The options handler passes the main cheat-table result to `FEVIDEO_process_eggs` at `0x08FC2A`. - `FEVIDEO_process_eggs` starts at `0x07FA78`. Its entry-12 branch writes one to the enable word at A5-`0x26C8` (`0xFFE0AA`) at `0x07FAEC`. - `JOYREC_execute` tests this word at `0x073D12`, then can set the pending flag at A5-`0x1D9A` (`0xFFE9D8`) at `0x073D32`. - The Cheats exit checks that pending flag at `0x07586E` and selects photo task `0x28` when set. Thus retaining the image and display code in FIFA 97 is not evidence that the photo remains normally accessible. The necessary main-table entry is missing. ## ROMs examined - 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` This investigation verifies behavior and asset reuse. It does not establish whether this is the first public discovery or whether somebody documented it previously, and it does not cover every regional revision or platform.