This is a DOOM port for PolkaVM.
It's based on doomgeneric, but it's even more portable. The source code is completely standalone and doesn't even require a libc. It also has out-of-box support for audio due to built-in OPL emulation, which doomgeneric doesn't have.
- Get a clang for RV{32,64}E (RISC-V embedded)
- Upstream LLVM from version 18.X and above support those
- Scripts to build a toolchain are available here or here
- Make sure that the compatible LLVM build is found via
$PATH. Verify:clang --target=riscv32 -print-supported-extensions 2>&1 | grep 'RV{32,64}E' - Run
./build.sh 32or./build.sh 64to get a 32bit or 64bit build respectively - Run
polkatool link -s output/doom.elf -o output/doom.polkavm.
GPLv2+
Many third-party libraries are used here with varying licenses; see the libs directory for details.