Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
asm
patterns
README.md
build.sh
buildgcc.sh
checkreloc.py
clean.sh
genpat.py
main.c
patch.h
patch.rl
x86.rl

README.md

S2PPATCH

S2PPATCH can patch games to directly support the S2P. After patching, configure the game for FIXME.

Caveats:

  • Patching can break support for real sound cards (including unrelated cards).
  • Patched games might only work on the computer where the patch was done. This is because the patch hardcodes the parallel port I/O address, which might vary from computer to computer.

Pros compared to the SOFTMPU:

  • No need for 386 CPU
  • Can work with protected mode games

Cons:

  • Patches need to be written for each game by hand

Compressed EXEs

DOS software often shipped with compressed EXEs. Such EXEs need to be unpacked before they can be patched. S2PPATCH will detect the more common compression schemes and warn about them ("This file might be compressed"). If you see such a warning, you should try decompressing it and running S2PPATCH again. I recommend Ben Castricum's UNP decompressor, it will handle pretty much all formats.

Working games

  • Doom and other games using the same sound engine (Heretic, Hexen, Raptor: Call of the Shadows, etc.)
  • Games that use the Miles Audio Interface Library, both 16-bit and 32-bit.

Compilation

To compile a DOS executable using OpenWatcom, use the build.sh script. To compile with GCC, use the buildunix.sh script.

You'll also need Python 3, the NASM assembler and the Ragel state machine compiler.

You can’t perform that action at this time.