SNES Doom Source Release

If it's not ZDoom, it goes here.
User avatar
morb
Posts: 35
Joined: Sun Mar 08, 2020 12:23 pm
Github ID: m0rb
Operating System: Other Linux 64-bit
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: Intel (Modern GZDoom)

SNES Doom Source Release

Post by morb »

It appears the developer of the SNES Doom port recently released the source code to the entire project as well as AmigaOS binaries of the utilities used to rip assets.

Rumor has it this was all done without any official SuperFX documentation and they reverse-engineered everything.

https://github.com/RandalLinden/DOOM-FX
User avatar
Chris
Posts: 2841
Joined: Thu Jul 17, 2003 12:07 am
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: ATI/AMD with Vulkan Support

Re: SNES Doom Source Release

Post by Chris »

It's a completely custom engine, built from the ground up without access to the original sources, for a system that the game shouldn't have been able to work on. While the port itself is pretty bad (though it does get into playable territory if you overclock the SNES), it's a technical achievement. Personally, I'll always remember the port for its music; it made sacrifices, but I have this weird general admiration and enjoyment for what the SNES's audio hardware could do with music, compared to what I heard from contemporary wavetable MIDI cards like the GUS or AWE32 (even the GBA, which often is seen as a "portable SNES", doesn't stand up in the audio department).

quick edit:
User avatar
leileilol
Posts: 4427
Joined: Sun May 30, 2004 10:16 am
Location: GNU/Hell

Re: SNES Doom Source Release

Post by leileilol »

Does this mean someone will make a hacked up freedoom.sfc building chain?
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: SNES Doom Source Release

Post by Dancso »

I'd like to eat Linden's brain and absorb all that knowledge

I never knew much about the story of console ports for doom (save for the 3do version by Rebecca Heineman), these stories always inspire me to do better with my own coding :)
Thanks for sharing!
User avatar
morb
Posts: 35
Joined: Sun Mar 08, 2020 12:23 pm
Github ID: m0rb
Operating System: Other Linux 64-bit
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: Intel (Modern GZDoom)

Re: SNES Doom Source Release

Post by morb »

leileilol wrote:Does this mean someone will make a hacked up freedoom.sfc building chain?

Code: Select all

$ vamos RIPDOOM
RIPDOOM 1.3 Rip DOOM.WAD Data
hmm. amitools seems to run the binaries in the repo. now I have Bad Ideas(TM) and may try putting together a cross-toolchain. :D

now I'm only left with wondering which version of Doom was targeted because Ultimate's IWAD (as well as freedoom1.wad) isn't RIPDOOM'ing.
Dancso wrote:I'd like to eat Linden's brain and absorb all that knowledge

I never knew much about the story of console ports for doom (save for the 3do version by Rebecca Heineman), these stories always inspire me to do better with my own coding :)
Thanks for sharing!
right on :)
User avatar
morb
Posts: 35
Joined: Sun Mar 08, 2020 12:23 pm
Github ID: m0rb
Operating System: Other Linux 64-bit
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: Intel (Modern GZDoom)

Re: SNES Doom Source Release

Post by morb »

morb wrote:

Code: Select all

$ vamos RIPDOOM
RIPDOOM 1.3 Rip DOOM.WAD Data
hmm. amitools seems to run the binaries in the repo. now I have Bad Ideas(TM) and may try putting together a cross-toolchain. :D

now I'm only left with wondering which version of Doom was targeted because Ultimate's IWAD (as well as freedoom1.wad) isn't RIPDOOM'ing.
I'm trying to figure out the workflow here with all the make scripts and such. It's quite the maze without there being any obvious top-level Makefile (as one would normally expect :x)
Not holding my breath on this one. There's a lot to dig through!

At least I found the answer to what it was originally targeting:

Code: Select all

...
Assign DOOM: HD2:DOOM/1.666
Assign DOOM12: HD2:DOOM/1.2
Assign DOOMIBM: DOOM:IBM
Assign DOOMWAD: DOOM:WAD
...
1.666 and 1.2!

Return to “Off-Topic”