N64 emulator written in Rust
Find a file
Logan McNaughton 6de8128f5b cargo update
2025-10-12 12:30:57 +02:00
.cargo update to rust 1.90 (#574) 2025-09-18 22:46:22 +02:00
.github use dependabot to update rust (#552) 2025-08-20 10:26:26 +02:00
data Onscreen drawing (#536) 2025-08-05 15:59:49 +02:00
parallel-rdp fix out of bounds access (#590) 2025-10-06 09:02:50 +02:00
src add .srm for GB saves 2025-10-11 19:32:35 +02:00
.gitignore ignore settings.json 2025-05-16 13:32:54 +02:00
.gitmodules move sse2neon to submodule (#539) 2025-08-07 12:17:50 +02:00
build.rs always enable lto 2025-09-20 08:37:55 +02:00
Cargo.lock cargo update 2025-10-12 12:30:57 +02:00
Cargo.toml cargo update 2025-10-12 12:30:57 +02:00
LICENSE Initial Commit 2023-10-04 14:33:17 -06:00
README.md netplay dispatcher (#532) 2025-08-03 09:25:57 +02:00
rust-toolchain.toml update to rust 1.90 (#574) 2025-09-18 22:46:22 +02:00

gopher64

download

Windows: https://github.com/gopher64/gopher64/releases/latest/download/gopher64-windows-x86_64.exe

Linux: https://flathub.org/apps/io.github.gopher64.gopher64

wiki

https://github.com/gopher64/gopher64/wiki

discord

https://discord.gg/9RGXq8W8JQ

controls

Keys are mapped according to these defaults. Xbox-style controllers also have a default mapping applied.

netplay

Gopher64 supports netplay (online play with others) via cloud hosted servers. You can also run the server (https://github.com/gopher64/gopher64-netplay-server) yourself on a LAN.

portable mode

If you would like to keep all the game data in the same folder as the executable, you just need to create a file called "portable.txt" in the same directory as the executable.

flatpak

If you want to run the flatpak from the command line, you need to add the --filesystem=host:ro option, for example:

flatpak run --filesystem=host:ro io.github.gopher64.gopher64 /path/to/rom.z64

building and usage

  1. Linux only: install the SDL3 dependencies: https://wiki.libsdl.org/SDL3/README-linux#build-dependencies
  2. Install rust: https://www.rust-lang.org/tools/install
  3. git clone --recursive https://github.com/gopher64/gopher64.git
  4. cd gopher64
  5. cargo build --release
  6. ./target/release/gopher64 /path/to/rom.z64

contributing

I am very open to contributions! Please contact me via a GitHub issue or Discord (loganmc10) before doing substantial work on a PR.

license

Gopher64 is licensed under the GPLv3 license. Many portions of gopher64 have been adapted from mupen64plus and/or ares. The license for mupen64plus can be found here: https://github.com/mupen64plus/mupen64plus-core/blob/master/LICENSES. The license for ares can be found here: https://github.com/ares-emulator/ares/blob/master/LICENSE.

privacy and code signing policy

Free code signing for the Windows release is provided by SignPath.io, certificate by SignPath Foundation.

During online netplay sessions, the server logs your IP address and basic session information (game title and session name) for operational purposes. No additional personal data is collected or stored.