All Projects → rasky → mvs64

rasky / mvs64

Licence: MIT license
A NeoGeo emulator for Nintendo64

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to mvs64

switch-cmake
CMake toolchain for Nintendo Switch homebrew development
Stars: ✭ 38 (+72.73%)
Mutual labels:  homebrew
homebrew-srm
Homebrew tap for srm since Apple and Homebrew decided nobody had mechanical disks anymore.
Stars: ✭ 14 (-36.36%)
Mutual labels:  homebrew
BrewUp
BrewUp - macOS Auto Update Homebrew
Stars: ✭ 22 (+0%)
Mutual labels:  homebrew
discussions
🗣 Public open-ended discussions. Replacement for our Discourse.
Stars: ✭ 327 (+1386.36%)
Mutual labels:  homebrew
homebrew-cheminformatics
Cheminformatics formulae for the Homebrew package manager
Stars: ✭ 19 (-13.64%)
Mutual labels:  homebrew
openNES-Snake
Simple rebuilt of the classic Snake game for the NES in C using the cc65 cross compiler.
Stars: ✭ 18 (-18.18%)
Mutual labels:  homebrew
goose64
untitled goose game demake for nintendo 64
Stars: ✭ 62 (+181.82%)
Mutual labels:  n64
neon64v2
NES Emulation On the N64, 2.0 WIP
Stars: ✭ 45 (+104.55%)
Mutual labels:  n64
dotfiles
Dotfiles for Neovim (0.7+), Fish shell, git, Kitty, tmux, and more.
Stars: ✭ 54 (+145.45%)
Mutual labels:  homebrew
ModuleMania
Various useful sysmodules (kip files) for Nintendo Switch, to be used with CFW
Stars: ✭ 30 (+36.36%)
Mutual labels:  homebrew
homebrew-mopidy
Homebrew formulas for Mopidy and Mopidy extensions
Stars: ✭ 21 (-4.55%)
Mutual labels:  homebrew
N64Wasm
A web based N64 Emulator
Stars: ✭ 479 (+2077.27%)
Mutual labels:  n64
dotfiles
macOS / Linux / Codespaces dotfiles with 1-line setup script. Tested on Apple Silicon Macs. Supports both zsh and fish. Now managed with https://github.com/twpayne/chezmoi
Stars: ✭ 82 (+272.73%)
Mutual labels:  homebrew
KayidmacOS
dotfiels & macOS setup 👨🏻‍💻
Stars: ✭ 18 (-18.18%)
Mutual labels:  homebrew
dotfiles
🔨 My dotfiles for setting up my Macs with Ansible
Stars: ✭ 31 (+40.91%)
Mutual labels:  homebrew
texbrew
An attempt to make good-looking homebrew documents for various roleplaying systems using XeTeX for typesetting.
Stars: ✭ 50 (+127.27%)
Mutual labels:  homebrew
pakket
The last package manager macOS will ever need. Simple, functional, and fast.
Stars: ✭ 20 (-9.09%)
Mutual labels:  homebrew
Brewfile-Generator
Generates a Homebrew Brewfile from currently installed formula for easy backup/migration to a new macOS system
Stars: ✭ 20 (-9.09%)
Mutual labels:  homebrew
homebrew-linux-dev
💀 Homebrew/homebrew-linux-dev (deprecated)
Stars: ✭ 17 (-22.73%)
Mutual labels:  homebrew
homebrewhub
A showcase/archive of homebrews, patches, hackroms for old consoles. Provides community submission, tagging and rating features.
Stars: ✭ 36 (+63.64%)
Mutual labels:  homebrew

MVS64 -- A NeoGeo emulator for Nintendo 64

Status

This emulator is in VERY EARLY STAGE. Only a handful of games boot or work.

Performance on N64 is still not very good, most games do not run at full frame rate yet.

Sound is not emulated yet.

How to build

MVS64 is written using libdragon. The build system assumes that you will be using the official Docker container for libdragon (libdragon-docker), that will work on Windows (under WSL), Linux and Mac. First, follow the installation instructions of libdragon-docker if you haven't already.

Once you have the docker container configured, clone mvs64:

$ git clone https://github.com/rasky/mvs64
$ cd mvs64

Start the docker container in the mvs64 directory:

$ libdragon start

Now build mvs64:

$ make mvs64 BIOS=<path/to/bios.bin> ROM=<path/to/game.zip>

When building, you need to specify the path to a NeoGeo BIOS file that you want to use, and the path to a NeoGeo game ROM, as a zip file. Both BIOS and ROM are actually environment variables, so you can set them in your environment once to avoid specifying them on the command line (doing that for BIOS is especially useful, as you rarely change that).

This command will create a Nintendo 64 ROM called mvs64-<gamename>.z64, that you can use with an emulator or on a real console using a development kit like 64drive or EverDrive 64.

NOTE: during the build, the path of the BIOS will be inspected to search for a ROM called sfix.sfix, which is also part of the standard BIOS sets. That ROM must reside in the same folder of the specified BIOS.

How to build the PC version of mvs64

mvs64 also includes a PC build of the emulator that can be used to further test the emulation. In general, if a bug is present in the N64 version and not in the PC version of mvs64, it is a bug of the Nintendo 64 backend. Otherwise, it is a bug in the NeoGeo emulation layer.

To build the PC version, run:

$ make pctest

This will build a emu binary. This PC version tries to stay as close as possible to the N64 version, so it's not optimized to be a fully standalone PC emulator. In particular, it doesn't load standard game ZIP files, but it uses the preprocessed ROMs that are generated as part of the N64 build system.

To use the PC version of the emulator on a specific game, first build the N64 emulator for that game using the make mvs64 command above. During the build, you will notice that a folder called game.n64/ (next to game.zip) is created. That folder contains preprocessed ROMs that are then embedded in the final .z64 file. Pass that folder to the emu binary:

$ ./emu <path/to/game.n64/>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].