Doom 32X: Resurrection

Doom 32X: Resurrection, also known as Doom32XR and D32XR is a source port based on the Atari Jaguar version of Doom by the D32XR Team, which consists of programmers Victor Luchits and Chilly Willy, testers Matteusbeus and TrekkiesUnite118, with music by Spoony Bard. It is a port of the original Jaguar Doom and Calico codebase to the Sega 32X video game system. It aims to improve the Sega 32X port with enhanced rendering and new features, utilizing reverse-engineering of 32X-specific code.

History
Doom 32X Resurrection started when one of the authors of Resurrection, Victor Luchits contacted John Carmack on back in 2020, asking if he had any recollection of where the source code of the Sega 32X port of Doom might be. Carmack believed it had been long lost. Despite not owning a 32X at the time, Luchits thought it would be a fun project to reconstruct the missing source code and improve upon it.

The original Jaguar Doom sources as released by Songbird Productions were chosen as a starting ground, to see what was missing in order to get the 32X support working again. It was here when Luchits found out about the Calico project, which aims to bring the Atari Jaguar version to modern PC's. As Calico's code is primarily written in, this helped providing cross-platform development. The 32X-specific code had to be reverse-engineered, and significant effort was made to balance the system inbetween the two SH2 processors.

On October 17, 2021, Doomworld user Vic the official release version 1.0 on his ongoing development thread.

Features
Aiming to enhance the rushed official release of Doom for the 32X, Resurrection includes the following features:
 * Smoother yet faithful gameplay
 * Splitscreen coop and deathmatch modes
 * New title screen that resembles the Sega Saturn and Sony PlayStation versions
 * Rendering has been spread across both SH2 processors for better speed
 * User input is processed at 30FPS, while game logic runs at 15FPS
 * Low (two pixel modes) detail modes of 128x144, 128x160 and 160x180 resolution
 * High detail modoes of 224x128 and 252x144 resolution
 * soundtrack courtesy of Spoony Bard
 * Selecting between no music, VGM FM music, or playing music from attached
 * Stereo panning for game sounds
 * Save RAM support. This keeps track of finished levels, health, armor, weapons and ammo. Up to eight save slots are provided, as well as an auto-save at the end of each level
 * Supports all Jaguar levels (when the binary is made using Jaguar Doom wad), along with sprite directions and monster in-fighting
 * Supports Jaguar HUD assets
 * Level fixes
 * Spectres look the way they did in the original PC version
 * When made with the original Doom 32X wad, has the same limitations on levels and sprites and monster in-fighting
 * Three drawing modes:
 * Regular sector based lighting (Better than original Doom 32X in that sprites also use this lighting)
 * "Potato" mode which disables floor and ceiling texturing for improved speed
 * Original Doom fading light rendering
 * 'Always run' option
 * Support for three-button and six-button pads, as well as the Sega mouse. The player can choose how to map the primary three buttons in the menu
 * Verified as working on Kega Fusion 3.64 emulator, a Model 2 Genesis + Model 2 CD + launch 32X (NTSC), Model 2 MD + 32X (PAL), a CDX + 32X, with a NeoFlash NeoMyth MD and the V1 Mega EverDrive, and also with a Mega EverDrive Pro

Development
Returning the code base from the Jaguar game console back to 32X was helped by both the official Jaguar Doom sources, but also by the Calico project by James Haley (Quasar). The recent release of the 3DO source code by Rebecca Heineman proved useful, as the game logic portions of that port's code are largely identical to the Jaguar code in terms of logic which were used on the Resurrection project. The Doom64 EX port by Samuel Villarreal (Kaiser) also proved useful for additional verification. Portions of both of these code bases were used directly where the logic was identical or only required minor modifications.