Snap64 Recomp is a native port of Pokémon Snap (Nintendo 64, US release) made by static recompilation: the game's own code runs on your PC, the port only hosts it, and everything about how it looks is off unless you turn it on. 1.1.4 fixes a Controls page row that showed a mod's text, fixes two faults of 1.1.3's Game page, a second Snap Station switch that did not belong there and a help line that ran past its box, makes its Save File row say what each file holds, gives it a Restart Game row, and makes the Controls page's Button Setup row say "Press A" where 1.1.3 said "Open".
Downloads
| File | For |
|---|---|
Snap64Recomp-1.1.4-win64.zip
| Windows 10 (version 1809 or newer) or 11, 64-bit, with a GPU driver that provides Direct3D 12 and Shader Model 6.3: any driver since late 2018. Nothing else to install. |
Snap64Recomp-1.1.4-linux-x86_64.tar.gz
| Linux, experimental: needs the system's SDL2, GTK 3 and a Vulkan 1.2 driver. Earlier releases were played on a Steam Deck in Desktop Mode and in Gaming Mode. |
Snap64Recomp-1.1.4-linux-x86_64.flatpak
| The same Linux build with its own SDL2, GTK 3 and Vulkan loader; installs with one command on a Steam Deck or any desktop with Flatpak. Built and started on GitHub's machine, not yet played on real hardware. |
Snap64Recomp-1.1.4-linux-arm64.tar.gz
| Linux on ARM64 (a Raspberry Pi 5, an ARM laptop, a Linux virtual machine on a Mac). Built on GitHub's ARM machine, not yet played on real hardware. |
Snap64Recomp-1.1.4-macos-universal.zip
| macOS 14 or newer, Apple Silicon and Intel in one app. Built and run on GitHub's virtual Mac, not yet on a physical one. |
You need your own cartridge dump. No game data is included. Start the program and choose your pokemonsnap.z64 when it asks (US, SHA-1 edc7c49cc568c045fe48be0d18011c30f393cbaf), or put the file next to the executable yourself. START HERE.txt in each archive says the rest, in one page.
What's new
The Game page
- The Save File row says what each file holds. "File 1, playing" is the file the game is playing, "File 2, empty" one that has never been saved to, and the others carry the day they were last saved, "File 4, Oct 9". It had said "File 2" alone, the same for an empty file and a full one. The help box names the file in play for the whole session, and the title screen's bottom line says "Save 2" when another file than the first is loaded, so a shared program shows whose game it is at a glance.
- A Restart Game row, between Save File and Exit Game: the Mods page's restart, asking first as it does there, so a chosen file is played at once instead of at some later start.
Fixed
- The Controls page's Pointer row no longer shows a mod's option text. After a mod's options page had been opened, the row's label, value and help line read as three of that mod's option descriptions: its four strings, from 1.1.1, had ids inside the bank the options page composes its window into. They have ids of their own now.
- The Button Setup row says "Press A" in its value column, in the words of the device in hand: "Press X" on the keyboard as shipped, "Click" with the mouse. 1.1.3 had put "Open" there, a word that read as a state as much as a verb.
- The Game page's Snap Station row is gone. 1.1.3 had put it between Save File and Exit Game, a second switch for a thing the title screen's own Snap Station item already switches, and the page's bank could have written a stale value over the title's.
- The Game row's help line on the Options screen fits its box. The 1.1.3 line ran past the box's right edge: 270 pixels of ink in a 226-pixel box. It reads "Save file, restart and Exit Game." now.
Nothing else changed since 1.1.3; its page says what 1.1.3 brought.
Every change, with its cause, is in CHANGELOG.md.
Note
Upgrading from 1.1.3 or any earlier release: unpack the new archive over the old folder or beside it. Your save is in saves/ and your settings in snapsettings.json, both untouched by the upgrade and both read by 1.1.4 as they are. If you keep the old folder, copy those two across, and pokemonsnap.z64 with them, or let the new one ask you for it.
Warning
The Windows executable is not signed, and the Mac app is signed by nobody. SmartScreen may say "Windows protected your PC" on the first start, macOS refuses a plain double-click, and an antivirus may flag a program it has never seen; the builds on this page are what the source produces, GitHub's provenance says so, and the .sha256 beside each archive lets you check what you downloaded.
First start
- On Windows, past SmartScreen: choose More info, then Run anyway, once.
- On a Mac: right-click the app and choose Open, or on macOS 15 double-click, dismiss the message, and click Open Anyway in System Settings > Privacy & Security, once.
- The box asks for your ROM; choose the file and the game starts. The first start also compiles the shipped shader list during the boot logos and takes longer.
- The Snap Station's Print restarts the program twice, on purpose.
- On a Deck, add the executable as a non-Steam game and run it in either mode, or install the Flatpak; the Deck page under
docs/has the shortcut and gyro settings.
Known limitations
- The Mac build has not run on a physical Mac; the ARM64 build and the Flatpak have not run on real hardware. Their sounds, pads and speed are unheard and unmeasured.
- A few 2D pictures still move at the game's rate when the frame rate is raised: one that slides past the side of a menu in a wide window, and one that jumps a long way in a single frame. Outside Oak's check, a slide that slows to a stop can still end a pixel at a time.
- A mod installed during play loads at the next start; the page says so.
- On an N64-shaped pad, which has no right shoulder button, fast forward has only its key until the file names another button.
- A Pokémon pops out of the picture before it has fully left it: the cartridge draws a Pokémon only while its collision point projects within 1.5 times the half-screen of the center. The port keeps the rule as the cartridge has it.
- Gyro has been confirmed on a Steam Deck and no other pad yet.
How this release was checked
- The release suite (
tools/release_check.py) on the Windows executable GitHub built: 29 of 29 checks (the speed check and the Snap Station's five rerun alone after a first run under another job's load), and the Snap Station's 5 of 5 in 490 s. The same suite on the build made here: 29 of 29 in 1150 s, and 5 of 5. VERIFICATION.md says what each check does. - The screens the release changes were captured from the fixed build and read: the Game page with its three rows, a file's state on the Save File row and the restart's question; the Options screen with its help line inside the box; the Controls page with the Button Setup row reading "Press X" with the keyboard in hand. The Pointer row after a mod's options page was checked by hand. The recorded run's 45 photo scores are the same as before.
- The Mac workflow's checks on GitHub's virtual Mac: 15 of 15 natively and 10 of 10 through Rosetta 2, no crash reports. The package checks passed on all five archives, and each archive's build provenance verifies.



