Skip to content

Makefiles for building the Doom64 Dreamcast port from scratch

Notifications You must be signed in to change notification settings

hcartiaux/doom64-dc-makefile

Repository files navigation

Doom 64 for Dreamcast Makefiles

This is a set of Makefiles to build Doom64-dc and generate a bootable .cdi image file that can be burnt on a regular CD-R.

It works in several steps:

  1. Verify the game files integrity
  2. Build the KallistiOS environment and toolchain
  3. Build mkdcdisc, mandatory to generate .cdi images
  4. Finally, build Doom64

Before burning the CD-R, you can verify that the image file is functional with a Dreamcast emulator such as Flycast.

Doom64

Game files

You must obtain these files by your own means and place them in the directory 00_game_files.

File name md5sum Description
doom64.z64 b67748b64a2cc7efd2f3ad4504561e0e Doom64 N64 ROM
doom64.wad 0aaba212339c72250f8a53a0a2b6189e Nightdive Lost Levels, copy this file ~/.local/share/Steam/steamapps/common/Doom 64/DOOM64.WAD from your Steam directory

Build

Automagically, using the Dockerfile

Thanks to Braden Farmer for this contribution.

git clone https://github.com/hcartiaux/doom64-dc-makefile.git
cd doom64-dc-makefile
docker build -t doom64-dc .
# Place the files doom64.z64 and doom64.wad in the current directory before executing the next command
docker run -v $(pwd):/mnt/ doom64-dc

Using the pre-built Docker image

This will save you 1 hour of compilation, but the Docker image may not contain the latest KallistiOS environment.

# Place the files doom64.z64 and doom64.wad in the current directory before executing the next command
docker run -v $(pwd):/mnt/ hcartiaux/doom64-dc-makefile

Manually, inside an Ubuntu 24.04 Docker container as root

So far, this has been tested as root in an Ubuntu 24.04 Docker container:

# Clone this repository
git clone https://github.com/hcartiaux/doom64-dc-makefile.git
# Place the files doom64.z64 and doom64.wad in doom64-dc-makefile/00_game_files
# Run the build process in a docker container
docker run --name doom64-dc-build -v $(pwd)/doom64-dc-makefile/:/mnt/ -dt ubuntu:latest
docker exec -it doom64-dc-build /bin/bash -c "apt-get update ; apt-get install -y make"
docker exec -it doom64-dc-build /bin/bash -c "cd /mnt ; make"
# Clean-up
docker stop doom64-dc-build
docker rm doom64-dc-build
docker image rm ubuntu:latest

On an Ubuntu 24.04 system as a regular user

Do not follow the following instructions if you already have a KallistiOS environment set-up on your system, it is very likely that it will get corrupted and/or removed.

The Makefiles are also usable outside of a container:

git clone https://github.com/hcartiaux/doom64-dc-makefile.git
cd doom64-dc-makefile
make

If it succeeds, the path of the new file doom64.cdi will be printed.

===============================================
/!\ Doom64 .cdi file generated at location:
  /home/.../doom64-dc-makefile/doom64.cdi
===============================================

Finally, you can remove all the files created previously using the clean step (note that it will not uninstall packages and will not remove your .cdi file):

make clean

About

Makefiles for building the Doom64 Dreamcast port from scratch

Topics

Resources

Stars

Watchers

Forks