From 36c56dacce154ca486418a96e3247c6228bb2d4c Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Thu, 5 Oct 2023 21:17:40 -0600 Subject: [PATCH] add readme --- .github/workflows/build.yml | 4 ++-- README.md | 32 ++++++++++++++++++++++++++++++++ build_debug.sh | 2 +- build_release.sh | 2 +- 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 README.md diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb94a2b8..ee590f64 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,8 +18,8 @@ jobs: submodules: recursive - name: Update rust run: | - rustup default nightly rustup update + rustup install nightly - name: Build run: | ./build_release.sh @@ -38,8 +38,8 @@ jobs: - name: Update rust shell: bash run: | - rustup default nightly rustup update + rustup install nightly - name: Build shell: bash run: | diff --git a/README.md b/README.md new file mode 100644 index 00000000..68fc9da9 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# 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](https://github.com/gopher64/gopher64/actions?query=branch%3Amain) diff --git a/build_debug.sh b/build_debug.sh index 28799463..a56659ee 100755 --- a/build_debug.sh +++ b/build_debug.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -RUSTFLAGS='-C target-cpu=x86-64-v3' cargo build +RUSTFLAGS='-C target-cpu=x86-64-v3' cargo +nightly build diff --git a/build_release.sh b/build_release.sh index adacbd7d..08f5cb52 100755 --- a/build_release.sh +++ b/build_release.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -RUSTFLAGS='-C target-cpu=x86-64-v3' cargo build --release +RUSTFLAGS='-C target-cpu=x86-64-v3' cargo +nightly build --release