So I've recently bought an Atari Jaguar recently, and with it both the ports of Doom and Wolfenstein 3D. The source code of Jag Doom has obviously been available for a long time now, but the Jag port of Wolfenstein 3D has been a little bit harder to get information on.
As we know, the Jaguar port of Wolfenstein 3D came before the port of Doom, and was ported by id as a way to test the abilities of the Jaguar to see if it would be able to handle Doom. The Jaguar port of Wolfenstein 3D is noted for having numerous similarities with Doom. The sprites for the pistol, chaingun and rocket launcher are all borrowed from Doom, the lives/treasure system is completely removed and those items now act like the health potions and soul spheres from Doom, and higher difficulties randomly have treasure pieces removed and replaced with enemies.
Like I've done with previous games in the past, I figured to open up the ROM of my copy of Jaguar Wolfenstein 3D in a hex editor just to poke around and see if there was anything unusual in there. I'm not sure if any of this has been documented any where else on the web, I've done a quick google search about the Jaguar port of Wolf 3D, and I haven't really found all that much info about the port. Perhaps if someone has some knowledge about this they can come forward about it.
Anyway, the first thing that I noticed right away towards the beginning of the ROM were some of the same "error messages" that I've been seeing in pretty much every Doom console port that I've viewed in a hex editor. Upon also looking at the Jaguar port of Doom and the SNES port of Wolf 3D in a hex editor, here is how Jag Wolf 3D is broken down:
Starting at memory address 00011310 in the ROM of Jag Wolf 3D are the same set of info/error messages that also appear in Jag Doom, these messages are:
-NuIWAD.Wad file doesn't have IWAD id
Then, several error messages (I'm leaving out some of the descriptions here):
Following these are several error messages that have been brought over from SNES Wolf 3D, and generally relate to both actor and door behavior ingame, as well as a message for static overload, actor overload, door overload, etc.
In Kaiser's extremely old thread about Console Doom Hacking, he stated that the IWAD address of Jaguar Doom was at 0X4000 in the ROM. Upon doing a search in Jaguar Wolf 3D, this port ALSO has an IWAD, and it starts at 0X2000 in the ROM. The difference in values is likely due to Jag Doom being a 4 meg cartridge, whereas Jag Wolf 3D was only a 2 meg cartridge.
The rest of the ROM is rather uneventful, but the end of it reveals another curiosity. Starting at Address 001ED670 is what looks very much like how a Doom IWAD file is laid out:
The first "category" features a list of all the maps in game (numbered from 0-29). The second category lists out all the sprites (1-154). The third category lists out wall textures (1-36). Following that is what looks like the information for the intermission screen, followed by information for the main menu(?). Other stuff that I'm able to distinguish here include what look like the references for the 3 demos (listed as DEMO1, DEMO2, DEMO3), a list of all ingame sound effects (ex. D BONUS, D OPENDR, D FTHROW, D KNIFE) and a list of all the songs ingame. For comparison, Jaguar Doom has the list of all it's data at the end of the ROM as well, and it's arranged in a very similar way (Sprites, then textures, and ending with sound effects and music).
To wrap this up, I think it can be said that Jaguar Wolfenstein 3D is a hybrid which uses elements from both the Jaguar Doom engine and SNES Wolf 3D engine. Again, I'm not sure if any of this information is common knowledge, but it is fascinating none-the-less. Any thoughts?