Star Fox 64 for Sega Dreamcast (updated 2025/12/10)
Early xmas present for everyone. You don't have to know how to build a toolchain, or compile anymore.
You can upload a ROM and download a CDI.
Find more details here: https://colab.research.google.com/drive/1jn7SPKeHwZ-0qXIvA4uzdF-ykeh6xtNL
Now for business as usual.
This is a Star Fox 64 port for the Sega Dreamcast, based on sonicdcer's excellent Star Fox 64 decompilation (that also powers Starship).
Check out footage of the Dreamcast version running on real hardware.
A direct CDI download of Star Fox 64 for Dreamcast is not provided, nor will it be provided.
You must build it yourself from your own N64 ROM. There is no exception to this. Do not ask.
Running Star Fox 64 for Dreamcast on a Dreamcast emulator is not supported. It may or may not work correctly. This port is intended to be used only on real hardware. Just emulate an N64 and move on if that's your plan.
Rumble: Force-feedback is supported and tested with the following devices:
- Sega Jump / Puru Pack
- Performance TremorPak
- Nyko DC Hyper Pak
- Retro Fighters Striker DC Wireless built-in
Saving: If a VMU is present, the cartridge EEPROM data will be saved. 3 blocks are required.
Dreamcast controls:
- A: Fire laser
- X: Fire bomb
- Y: Boost
- B: Brake
- Down + Y: Somersault
- Down + B: U-Turn
- L Trigger: Tilt left 90 degrees
- R Trigger: Tilt right 90 degrees
- D-Pad Up: Change camera
- D-Pad Right: Answer ROB call
The training mode and in-game messages have been updated with the new button mappings.
1. Setup Dreamcast tooling
Set up a KallistiOS environment using KallistiOS v2.2.1 with a GCC 14.x toolchain.
If you don't know how to do this, check the Getting Started with Dreamcast Development guide.
- At the
Configuring the dc-chain scriptstep, make sure you use the14.3.0toolchain profile, not the defaultstabletoolchain. - At the
Setting up the environment settingsstep, copy the providedenviron.shfrom thesf64-dcrepo to/opt/toolchains/dc/kos/environ.shto ensure you build KOS, GLdc and Star Fox 64 with the correct, matching build flags. Runsource /opt/toolchains/dc/kos/environ.shto apply the new settings to your environment and compile KallistiOS and thelibGLKOS port as usual via the instructions.
Using any other version of KallistiOS or the toolchain is unsupported and may not work.
2. Clone and enter the repository
git clone https://github.com/jnmartin84/sf64-dc.git
cd sf64-dc3. Install python dependencies
The build process has a few python packages required that are located in /tools/requirements-python.txt.
To install them simply run in a terminal:
python3 -m pip install -r ./tools/requirements-python.txt
If you get an error about an externally managed environment, you can create a local virtual environment for this project:
python3 -m venv . . ./bin/activate python3 -m pip install -r ./tools/requirements-python.txt
4. Update submodules & build N64 tools
git submodule update --init --recursive cd tools make cd ..
If you are on macOS, you should use gmake instead of make for this step. You may need to install gmake with brew.
If you are on a system with a newer CMake and get this error:
Compatibility with CMake < 3.5 has been removed from CMake.
You may need to change the make command above to the following:
CMAKE_POLICY_VERSION_MINIMUM=3.5 make
5. Prepare the Star Fox 64 ROM file
You need the US version, revision 1.1 (REV A) ROM file for Star Fox 64.
The correct sha1sum is 09f0d105f476b00efa5303a3ebc42e60a7753b7a
Copy your ROM to the root of this project directory, and rename the file to baserom.us.rev1.z64.
6. Process the ROM and build assets
Process the ROM file by running the following command:
7. Build the Dreamcast version
When the above command completes, you can generate the type of file for Dreamcast you desire:
CDI files
Creating CDI files requires mkdcdisc to be installed and in your PATH (it's recommended to place mkdcdisc in /opt/toolchains/dc/bin to accomplish this).
CDI file for burning to CD-R (padded for performance)
For ODE (GDEMU, MODE, USB-GDROM, etc.)
DSISO for DreamShell ISO Loader
While a target for creating a DreamShell ISO is provided, please note that you may experience crashes that are not present when running from CD-R, ODE or dcload-ip/dcload-serial.
Also note that running a DreamShell ISO from an SD card with a DC SD adapter will provide a miserable gameplay experience full of stuttering audio. The mixer requires real-time processing guarantees that can't be met with the excessive CPU usage caused by polling the serial port. If you file an issue for this, it will be deleted and you will be ignored.
Creating DreamShell ISO files requires mkisofs to be installed. This is usually provided by the cdrtools or cdrkit package provided by your operating system's package manager.
Plain files for dcload-serial/dcload-ip or for direct loading from IDE/SD
All of the above
If you want to go wild and build all of the above types, you can do the following:
Good luck.
Acknowledgments
- sonicdreamcaster
- darc
- gyrovorbis
- stiffpeaks
- mittens
- pcercuei
- bbhoodsta
- gpftroy
- quzar
- mrneo240
- the list goes on


