Skip to content

viciious/d32xr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0c3dc08 · Oct 12, 2024
Jun 30, 2024
Sep 7, 2024
Aug 21, 2022
Aug 24, 2023
Aug 22, 2023
Aug 23, 2023
Oct 5, 2024
Aug 22, 2023
Sep 16, 2023
Jul 11, 2023
Jun 20, 2024
Aug 20, 2023
Apr 23, 2021
Jun 13, 2023
Dec 23, 2023
Oct 5, 2024
Sep 10, 2023
Sep 3, 2023
Mar 5, 2023
Dec 23, 2023
Dec 23, 2023
Sep 14, 2023
Oct 12, 2024
Sep 10, 2023
Mar 29, 2023
Dec 23, 2023
Dec 12, 2022
May 9, 2016
Sep 10, 2023
Jun 4, 2023
Jul 4, 2023
Oct 5, 2024
Jun 17, 2023
Dec 23, 2023
Dec 23, 2023
Sep 16, 2023
Dec 23, 2023
Sep 16, 2023
Dec 23, 2023
Dec 23, 2023
Apr 23, 2021
Dec 23, 2023
Aug 7, 2023
Sep 10, 2023
Dec 12, 2022
Sep 10, 2023
Jan 10, 2023
Sep 10, 2023
Dec 23, 2023
Sep 10, 2023
Jun 13, 2023
Sep 7, 2023
Apr 9, 2023
Jan 8, 2024
Jun 17, 2023
Dec 23, 2023
Jun 26, 2023
Dec 28, 2023
Jun 27, 2023
Dec 23, 2023
Jun 17, 2023
Jan 6, 2024
Jan 6, 2024
Oct 5, 2024
Jul 7, 2023
Aug 7, 2023
Dec 23, 2023
Dec 23, 2023
Dec 23, 2023
Dec 26, 2023
Dec 23, 2023
Oct 5, 2024
Oct 5, 2024
Oct 5, 2024
Oct 24, 2022
Nov 21, 2021
Oct 5, 2024
Jan 7, 2024
Dec 23, 2023
Dec 23, 2023
May 2, 2021
Dec 29, 2023
Jul 5, 2023
Aug 7, 2023
May 9, 2016
Aug 15, 2022
Aug 14, 2022
Aug 7, 2023
Dec 23, 2023
Sep 7, 2023
May 10, 2023
Jun 13, 2023
Dec 23, 2023
Jan 16, 2021
Jun 18, 2023
Sep 10, 2023

Repository files navigation

DOOM 32X: Resurrection

Build

Description

The goal of the project is to have a code base from which a playable version of DOOM for the Sega 32X platform could be compiled. It is primarily focused on preservation and education but also on fixing the original game's idiosyncrasies and improving performance.

The project is based on the original Jaguar Doom source code release with a bulk of code taken from the Calico DOOM port. I can't thank them enough for taking up the task of translating the original assembler code to C. Without this, the project would have taken me much longer.

To compile the rom you're going to need several things:

  • Chilly Willy's Sega Devkit
  • Dump the IWAD file from the Doom 32X Resurrection ROM
  • Run make

Features

  • VGM music playback support
  • Support for monster rotations and in-fighting
  • Partially invisible spectres as in the origina game
  • Uses both SH-2 CPUs for threaded rendering to improve performance
  • Support for larger levels: runs MAP20 from the 24 Level Expansion ROM hack
  • Stereo sound panning
  • Support for multiple screen resolutions: from 128x144 (double width) and up to 252x144 (native)
  • Save checkpoints and global options to SRAM
  • Distance lighting effect as in the original game
  • "Potato" mode that renders floors and ceilings in solid color
  • New title screen reminiscent of PSX and Saturn versions
  • Sega Mouse support
  • Statusbar assets are no longer limited to 16 colors
  • DMAPINFO lump support for naming and sequencing levels

Building

Prerequisites

A posix system and Chilly Willy's Sega MD/CD/32X devkit is requred to build this demo.

VSCode + Remote Dev Container

Unless you already have the devkit built, using VSCode with Docker is one of the faster ways to get started. VSCode will offer to set up a Development Container the first time the project folder is opened.

More information on Developing with VSCode inside a Container

If you're using Windows 10/11, you must also install WSL 2 and Linux distribution before attempting to build from VSCode.

VSCode settings

We recommend using the following VSCode settings.json for the project:

{
    "C_Cpp.default.includePath": [
        "/opt/toolchains/sega/sh-elf/include/",
        "/opt/toolchains/sega/m68k-elf/include/"
    ],
    "C_Cpp.default.compilerPath": "/opt/toolchains/sega/sh-elf/bin/sh-elf-gcc",
    "C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools",

    "makefile.configurations": [
        {
            "name": "release",
            "makeArgs": ["-j", "release"]
        },
        {
            "name": "debug",
            "makeArgs": ["-j", "debug"]
        },
        {
            "name": "clean",
            "makeArgs": ["clean"]
        }
    ]
}

"DOOM 32x: Resurrection" Credits

  • Programming : Victor Luchits
  • Programming : Chilly Willy
  • Testing : Matt B (Matteusbeus), TrekkiesUnite118
  • VGM music: Spoony Bard

"Calico DOOM" Credits

  • Programming and Reverse Engineering : James Haley
  • Additional Code By : Samuel Villarreal, Rebecca Heineman
  • Original Jaguar DOOM Source: John Carmack, id Software

Links

https://www.doomworld.com/forum/topic/119202-32x-resurrection/

https://github.com/team-eternity/calico-doom

https://www.youtube.com/MatteusBeusRetroDev

https://www.patreon.com/SpoonyBard

https://www.retrorgb.com/

License

All original code, as well as code derived from the 3DO source code, is available under the MIT license. Code taken from Jaguar DOOM is still under the original license for that release, which is unfortunately not compatible with free software licenses (if a source file does not have a license header stating otherwise, then it is covered by the Jaguar Doom source license).

The rights to the Jaguar DOOM source code are detailed in the provided license agreement from id Software. See license.txt for details.