Fork of Render96ex meant to run on macOS (Intel and Apple Silicon hardware)
Super.Mario.64.Render.96.macOS.edition.mp4
Higher quality video at: https://video.hardlimit.com/w/qQNssYGncBKhsztPARjD6q
I'll try to keep this repo up to date with both Render96ex tester branch and sm64ex nightly branch, but I'm not promising anything.
- If you want to help sm64ex then go to their repo.
- If you want to help Render96ex then go to their repo.
- If you want to help here just open a PR.
-
Clone this repo
git clone [email protected]:flatmapthatshit/Render96ex_macOS.git
-
Obtain a legal copy of the following Super Mario 64 ROM
- sm64.us.z64
sha1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce
This repo does not include all assets necessary for compiling the ROMs.
A prior copy of the game is required to extract the assets.
Please don't ask for a copy of the game. - sm64.us.z64
-
Rename the ROM to
baserom.us.z64
and place it into the repository's root directory. -
Install dependencies
Install Homebrew if you don't have it already:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install the following dependencies:
brew update brew install make mingw-w64 gcc sdl2 pkg-config glew glfw libusb
* Tested with GCC 14.1.0
-
Build the ROM
Use Homebrew's GNU make because the version included with macOS is too old.
gmake -j4
For extra features check Render96's Build Arguments.
In this repo the flags
OSX_BUILD
andTEXTURE_FIX
are enabled by default. I have only tested withVERSION=US
(which is also the default). -
(Optional) Combine the model pack:
- Obtain the latest release of the model pack. It can be found under https://github.com/Render96/ModelPack/releases (Render96_DynOs_v3.2.7z)
- Extract the contents of the .7z file into
./build/us_pc/dynos/packs
-
(Optional) Combine the texture pack:
- Obtain the latest version of the texture pack.
git clone https://github.com/pokeheadroom/RENDER96-HD-TEXTURE-PACK.git -b master
- Copy the contents of the
gfx
folder within the texture pack into./build/us_pc/res/gfx/
- Obtain the latest version of the texture pack.
-
To start the game run the generated executable:
cd build/us_pc/ ./sm64.us.f3dex2e
https://github.com/Render96/Render96ex/wiki
By default the game configuration file (sm64config.txt
), DynOS config (DynOS.1.1.alpha.config.txt
) and Save data are
located at:
~/Library/Application Support/sm64ex/
To access the files on macOS open Finder, press ⌘
+ ⇧
+ G
and paste the path above.
Most settings can also be changed in-game by pressing the Start button (mapped to Space
by default) followed by either
L (mapped to Right Shift
) for Game Settings or Z (mapped to K
) for DynOS settings.
To restore the default settings delete the sm64config.txt
file.
For information on default keybindings check Render96's Wiki Help FAQ.
You can change the keybindings by editing the sm64config.txt
file or accessing the in-game controls menu.
Here's an example in which Xbox Controller's left and right bumpers are mapped to Nintendo 64's R
bumper, while Xbox
Controller's left and right triggers are mapped to Z
.
key_l 002a 1104 ffff
key_r 0036 1009 100a
key_z 0025 101a 101b
To enable the model pack (see build instructions above), open the in-game DynOS settings, go to Model Packs and enable
Render96 DynOs
pack.
- Fix
tester
andtester_rt64alpha
branches.
The main blocker ATM is getting https://miniaud.io/ to build under Homebrew's version of GCC. - Modify the build process to generate a macOS Application Bundle.
This is important as I haven't found a good macOS compatible launcher for Render96.
I already have a solution for this, but I'm currently waiting for authorization to use a certain icon artwork.
For now folks will have to make do with a solution such as https://github.com/machinebox/appify and a script like:#!/usr/bin/env bash cd /path/to/Render96ex_macOS/build/us_pc ./sm64.us.f3dex2e
- Contribute M1 specific build fixes to https://github.com/sm64pc/sm64ex
- Contribute relevant changes back to https://github.com/Render96/Render96ex
For this one we definitely need to gettester
andtester_rt64alpha
to build (alpha
is somewhat abandoned).