For testing Nintendo 64 homebrew ROMs, cen64 is the most accurate emulator (though it doesn’t run at full speed yet). Here’s how to build it from source on macOS:
- Install XQuartz from the official distributed disk image
git clone https://github.com/n64dev/cen64.git
If you’d like to enable cen64’s debug logging, create a debug build when running
cmake -DCMAKE_BUILD_TYPE=Debug ..
When running cen64 outside of an XQuartz X11 terminal, it may report:
Using NTSC-U PIFROM create_device: Failed to initialize the VI. Failed to create a device.
To fix this, you can run it within an XQuartz X11 terminal, or simply set the
DISPLAY environment variable to something like
:0 either in your
.bashrc file or inline during invocation:
DISPLAY=:0 ./cen64 /path/to/pifdata.bin /path/to/rom.z64
DISPLAY needs to be set because cen64 calls XOpenDisplay with a NULL display name (presumably to default to your
DISPLAY environment variable), but if it’s not set, XOpenDisplay returns NULL and cen64 has no display within which to create a window for rendering Nintendo 64 content.
For extremely verbose register-level output, edit
CMakeLists.txt and set
ON. Make sure to remove any cached data in
build/ to ensure your changes are reflected, then recompile and re-run.