Gopher64 fork with netplay session save/resume and desync auto-resync
This repository has been archived on 2026-08-27. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Logan McNaughton 36c56dacce add readme
2023-10-05 21:17:40 -06:00
.github add readme 2023-10-05 21:17:40 -06:00
.vscode Initial Commit 2023-10-04 14:33:17 -06:00
parallel-rdp Initial Commit 2023-10-04 14:33:17 -06:00
src cache rsp instructions (#8) 2023-10-05 21:01:27 -06:00
.gitignore Initial Commit 2023-10-04 14:33:17 -06:00
.gitmodules Initial Commit 2023-10-04 14:33:17 -06:00
build_debug.sh add readme 2023-10-05 21:17:40 -06:00
build_release.sh add readme 2023-10-05 21:17:40 -06:00
build.rs add build workflow (#2) 2023-10-04 17:52:58 -06:00
Cargo.toml Events cleanup (#7) 2023-10-05 19:57:12 -06:00
LICENSE Initial Commit 2023-10-04 14:33:17 -06:00
README.md add readme 2023-10-05 21:17:40 -06:00

gopher64

goals

  1. Performance. I want to be able to use this emulator on my laptop.
  2. Easy to use.
  3. Easy to work on. Dynamic recompilers perform well, but they are very hard to read and understand. This emulator will only have interpreters for the CPU and RSP. Additionally, it is completely written in Rust (besides Parallel-RDP), a modern programming language with a growing user base. I've tried to avoid the use of macros, which can reduce some repetitiveness in the code, but also reduce readability.

building and usage

  1. Install rust: https://www.rust-lang.org/tools/install
  2. rustup install nightly
  3. git clone --recursive https://github.com/gopher64/gopher64.git
  4. cd gopher64
  5. ./build_release.sh
  6. ./target/release/gopher64 /path/to/rom.z64

controls

Right now, only keyboard is supported. Keys are mapped according to mupen64plus defaults: https://mupen64plus.org/wiki/index.php/KeyboardSetup#2._Default_Key_Mappings_for_SDL-Input_Plugin

contributing

I am very open to contributions! Please reach out to me via a GitHub issue, or via 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.

where to download

Builds can be found as artifacts on GitHub Actions