Native HolyC · Stock TempleOS 5.03

Chocolate Stunts for TempleOS.

640 × 480. Sixteen colors. PC-speaker sound. A native 64-bit port of the DOS game.

Get the port

Download for TempleOS

Bring your own Brøderbund Stunts 1.1 game files. These downloads contain the port and tools, with no original game data.

Direct CD image

Installation CD

The code-only RedSea CD for an existing TempleOS installation. Choose the ZIP above if you also need the data CD tool.

Download RESTUNTS.ISO 3.71 MiB

A data CD; boot your installed TempleOS hard disk.

Install once, race again

Two CDs. Your own game files.

The first CD installs the port. The second transfers your Stunts files to the TempleOS hard disk. Both can be ejected when you are done.

Before you start: have a working installation of stock TempleOS 5.03, Python 3 on your host computer, and your own extracted Brøderbund Stunts 1.1 files (12 February 1991).

A VM with 1 GiB RAM and two virtual CPUs is tested. Allow at least 32 MiB of free disk space, plus room for saves. No SDL, extra compiler, network connection, or shared folder is needed inside TempleOS.

  1. Attach the installation CD

    Unzip RESTUNTS_STOCK_TEMPLEOS.ZIP on the host. Attach its RESTUNTS.ISO to your TempleOS VM’s optical drive and boot the existing TempleOS hard disk.

    VirtualBox and QEMU settings

    VirtualBox: shut down the VM, open Settings → Storage, select the CD/DVD drive on the IDE controller, and use the disc icon → Choose a disk file. Select RESTUNTS.ISO. Keep the TempleOS hard disk attached and put Hard Disk before Optical in System → Boot Order.

    QEMU: keep your existing VM and hard disk. Replace its CD image with these options:

    -cdrom /path/to/RESTUNTS.ISO -boot c

    These are additions to your existing QEMU command. They do not create an OS disk. You can also burn the image for a working TempleOS computer with a supported optical drive.

  2. Open the CD in TempleOS

    These examples use T: for the CD and C: for the writable hard disk. Run DrvRep; to check your letters. In a terminal, type each line separately and press Enter after it:

    DskChg('T');
    Cd("T:/");
    Dir;

    You should see INSTALL.HC, PLAY.HC, VERIFY.HH, PORT, an empty DATA directory, and README.MD.

    If the CD drive is missing from DrvRep
    1. Run Mount;.
    2. Press T at Drive Letter. This prompt takes a single key.
    3. At I/O Port Base0, enter the probe-list number for the CD/DVD device, then press Enter.
    4. Press Enter at the next Drive Letter prompt to finish. Run the three CD commands above.

    The numbered probe entry supplies the controller ports and device unit. Mount the existing CD; installing the game does not require partitioning or formatting.

  3. Install the port to the hard disk

    While in T:/, run:

    #include "INSTALL.HC";

    Wait for the installation-success message. The installer copies and verifies every file under C:/Restunts. Game sources go in PORT; DATA starts empty.

    Existing destinations are never overwritten. See custom directories if this folder already exists.

  4. Make a private data CD on the host

    Locate your extracted Stunts 1.1 directory: it should contain MISC.RES or MISC.PRE, car and shape resources, and tracks. Open a host terminal in the extracted package folder.

    Linux or macOS

    python3 DATA_CD_TOOL/MAKE_DATA_CD.PY \
        --data "/path/to/STUNTS11" \
        --output "../STUNTSDATA.ISO"

    Windows

    py -3 DATA_CD_TOOL\MAKE_DATA_CD.PY --data "C:\Games\STUNTS11" --output "..\STUNTSDATA.ISO"

    Replace the example game path with yours. Keep all files in DATA_CD_TOOL together, and choose an output path that does not already exist.

    The tool copies supported game resources and uppercases their names without changing the originals. It needs only Python 3—no QEMU, mounting software, or third-party Python library.

    Keep this CD private. STUNTSDATA.ISO contains your game data. Keep it outside the redistributable package when sharing the port.
  5. Swap CDs and import your game files

    Replace the VM’s optical image with STUNTSDATA.ISO. In VirtualBox, use Devices → Optical Drives → Choose a disk file, or shut down and change it in Settings. Keep booting from the hard disk.

    Enter these commands separately in TempleOS:

    DskChg('T');
    Cd("T:/");
    #include "IMPORT.HC";

    Wait for the import-success message. The importer copies and verifies your files in C:/Restunts/DATA. It refuses to copy into a nonempty DATA directory, preserving existing files and saves.

    The private CD is only for transfer. You can eject it after import.

  6. Launch from a fresh terminal task

    Open a new terminal task with Ctrl + Alt + T. Enter each line separately:

    Cd("C:/Restunts");
    #include "PLAY.HC";

    TempleOS compiles the game when you launch it. This can take a minute or more under software emulation. Warnings about 64-bit register variables are expected: the port explicitly preserves the DOS game’s integer widths.

    On the main menu, use Left/Right to select Let’s Drive and press Enter. The standard configuration uses keyboard control and automatic gears. If your imported configuration differs, select those options in the game.

    On later boots, repeat only this step. Use a fresh task for every launch.

Use another installation directory

The installer refuses an existing destination, including an incomplete copy. After loading INSTALL.HC from the code CD, choose a new directory:

RestuntsInstall("C:/Restunts2");

After loading IMPORT.HC from your private data CD, import into the same location:

RestuntsImport("C:/Restunts2");

For each launch, open a fresh task and use:

Cd("C:/Restunts2");
#include "PLAY.HC";

Keep an existing installation and its saves. For a fresh copy, use a new destination with an empty DATA directory.

Take a lap

Controls & saves

Keyboard and mouse input are supported. These driving controls assume keyboard control is selected in the game.

KeyAction
↑ / ↓Accelerate / brake
← / →Steer left / right
F1, F2, F3Change camera
PPause
Esc while drivingOpen the replay viewer
Ctrl + QOpen Exit to Dos; choose Yes to return to TempleOS

The exit dialog keeps its original DOS wording. Escape at the main menu returns to the intro; use Ctrl+Q to quit.

Tracks, replays, high scores, and configuration files stay in C:/Restunts/DATA. The game uses this writable hard-disk copy after import; neither CD is needed to play.

Skip the intro

In a fresh task, enter these commands instead of the usual launcher:

Cd("C:/Restunts/PORT");
#include "LOAD.HC";
Restunts("C:/Restunts/DATA", TRUE);

The original speaker

PC-speaker audio in a VM

PC speaker is the default and only audio output. QEMU provides the tested speaker-emulation path; the game also works without sound.

For QEMU on Linux with PulseAudio or PipeWire’s PulseAudio compatibility server, add these options to your existing VM command:

-audiodev pa,id=speaker -machine pcspk-audiodev=speaker

Run qemu-system-x86_64 -audiodev help to list available host backends. Other hosts can use their native backend, such as coreaudio on macOS or dsound on Windows. See the QEMU PC-speaker documentation.

VirtualBox PC-speaker passthrough is Linux-only and supports beeps rather than PCM samples. Its ordinary sound-card setting does not enable this output. See the VirtualBox PC-speaker limitations.

Back on the road

Troubleshooting

The CD still shows the old files
After changing images, run DskChg('T');, then Cd("T:/"); and Dir;. Use your actual CD drive letter.
“File system not supported”
Use the supplied native RedSea installation CD and the private CD made by the included tool. Generic ISO9660 or Joliet images do not work with stock TempleOS’s normal directory-copy commands.
Original game data is missing
Complete steps 4–5 with your own Stunts 1.1 files. The public installation CD contains an empty DATA folder.
An include file is missing
Start with the exact Cd command, preserve filename case, and keep PORT/generated intact. File extensions must remain uppercase.
The installer reports a copy mismatch
Check disk space and the CD attachment. Inspect the partial destination, then retry into a new empty directory. Keep existing installations and their saves.
There is no sound
Enable PC-speaker emulation in the hypervisor. An SB16, AC97, or HDA device alone does not carry the game’s audio. QEMU connects it to the host through pcspk-audiodev.
The keyboard controls the host
Focus or capture the VM before driving, then use the arrow keys. Check that keyboard control is selected in the game.
For maintainers: source and package builds

The repository’s TempleOS guide covers rebuilding the public package with Python, QEMU, dosfstools, and mtools. It uses the official TempleOS ISO in a disposable guest to create the native RedSea CD.

Browse the HolyC port and tools. Players only need the downloads and steps above.