Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
songbird

Converting PC Doom WADs to 68k format

Recommended Posts

Hi,

I'm looking for information (FAQs, tools, source, etc.) on how to convert PC WADs (little endian format) to 68k WADs (big endian format). Examples would be Mac, Amiga, and so on.

I'm working on hacking Doom for the Atari Jaguar, which uses a 68k CPU, and if I could find a tool that would take a PC WAD and do the proper byte-swapping, it would make my life a lot easier. I could write one myself, but that would be many hours of debug and I'd rather not reinvent the wheel...

Note that I DON'T want tools to run on other OS's -- I'm using a PC. So WADenizer (MAC OS) won't help me. I want to convert a PC WAD on the PC to a big endian format.

Thanks in advance!

Share this post


Link to post

I don't think there are any tools, since Doom engine is performing byte swaping during loading of data. Probably you should do the same.

Share this post


Link to post

Very doubtful.

I happen to know that GBA Doom 1 was basically a port of Jaguar Doom. You might want to track down a coder for that project and ask if he has any tools of the sort.

Share this post


Link to post

Yes, I've spoken with the guy who did the GBA port (and naturally, he pretty much couldn't talk about it, since he was under NDA).

The Doom engine is not (normally) byte swapping the data. If you look at an Intel WAD vs. a 68k WAD, you can see that the ASCII labels match, but any data fields are byte-swapped. I understand big endian vs. little endian, so this mostly makes sense to me.

What I'm really saying is that many versions were derived from that first Sega 32X port -- Jaguar, 3D0, GBA, Amiga, etc. Maybe even PSOne, not sure on that though. I figure somebody has already made a tool that takes an Intel little endian WAD and converts it to a big endian WAD. Once you have that, then of course you still need to strip out unsupported things as well as add platform-unique stuff (Jaguar WAD has a CRYPAL name, for example).

The more I look at this, the more I think I could write my own tool to do so. Just going to take lots of hours of work! ;) So if somebody else has already done this work, I'd sure like to see it.

For example, does anyone have source for WADenizer? That would be a start.

Share this post


Link to post

there are many Linux tools for endian conversion for particular resources (stripping, network communication, kernel processes) since most Linux platforms are x86.
perhaps something in there can be used to make your task easier...

Share this post


Link to post

Different but related question: where can I find the most complete information detailing the layout for (PC) Doom and Doom 2 WADs? I found a FAQ on the net from the early 1990s which provides some details for the first Doom, is there a more complete version of this FAQ, and what about info for Doom 2 WADs?

Note I'm not asking for tools to build WADs, I just want information on the hex format of the WADs.

Thanks!

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×