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

R.I.P DOOM on DOSBox?

Recommended Posts

Avoozl said:

Why would anyone want to play a game through DOSBox when it already has source ports available anyway?


As I said, as long as the the actual doom.exe's source code remains a closely-guarded secret, at least some of us will always feel as if source ports are missing a certain je-ne-sais-quoi. In poorer words, yes, they are Doom too, but AFAIK only 99% or 99.9% Doom. Some may be 100% too, who knows, but without a full disclosure, we'll never be certain.

Don't forget that all modern source ports all trace their lineage to the 1997's source code release, after Kreimeier's cleanup, and that one leaves a lot to be desired.

Again, quoting from here:

Because the original DOS DOOM source had used the DMX sound library, id decided that it would either be too legally complicated or would require too much work to release the DOS source code. Instead, Kreimeier was given the source of the Linux port of DOOM, which was based on the Final DOOM v1.9 fork of the engine. It had many problems, including very shoddy sound support, so Kreimeier launched a massive effort to clean up and improve the source code.


How much of that DMX stuff is still true today? DMX itself has had a full source code release, FFS!

Share this post


Link to post

The DMX code was not legally released; it was leaked. There's a big difference. You cannot legally use it for anything.

Share this post


Link to post

Mostly, if I want to play the DOS exes, I'll do it on the old computer I have set up for such things rather than dick around with emulation. I have used DOSBox for Doom-related stuff recently for a couple purposes, namely playing really old wads that need Doom v1.2 to function correctly, since that version doesn't work right with the other computer's mouse, and for testing my vanilla Hexen maps since Chocolate Hexen still seems a bit flaky and the files are on this computer so that I can use modern editing tools.

Share this post


Link to post

I use doom.exe without dosbox on my winxp computer for testing vanilla wads and sometimes casual playing. That comp doesn't have a sound card, so playing doom.exe with the pc speaker sound effects is the only way I can play doom with sound. Do any source ports offer pc speaker support (not emulation)?

Share this post


Link to post

From what I understand, PC speakers as they were then have already been fazed out of modern computers (it's all piezoelectric now, baby). So I don't think any really do.

Share this post


Link to post
EduXYZ said:

I just see people playing with sourceports, why? Hard to use? Low res?


Because DOS Doom is a pain in the ass when you get into the world of doom mods. The archaic command-line tools to "merge" PWADs into the IWAD (bad!), or merging IWAD data into a PWAD, and not knowing what that would do to your IWAD's integrity - This plagued the modding scene before the source release.

Back then, HDD space was limited, and having PWADs with custom resources bloated with IWAD resources would fill up a partition pretty quickly.

Not to mention PWADs that just worked out of chance on DOS, and would crash on anything saner memory-wise like Windows 9x, PWADs that exploited how Doom loaded lumps to load in custom assets, that would crash source ports, or PWADs being made specifically for a certain merging tool...

And did I mention the limits? The idea of making "detailed" areas that fit the DOS Doom's limitations as a mapping exercise was a very recent development, inspired by the "needs more detail" fad. :P

Share this post


Link to post

Well you can always put in a real cone speaker in there. It's a bit unusual for Windows apps to use the Speaker, because it fucks up multitasking, so combining it with other processing is problematic.

@Quasar: last time I checked (not terribly recently, I must say) both the DMX source code, API examples and even precompiled libraries for various versions were in Romero's 'pack o' goodies'. So was it Romero who actually leaked it? Or some third party who did the packaging?

And Big L hasn't taken down DWs mirror of the goodies here...

https://www.doomworld.com/vb/post/1521395

Maybe he should, if this is a confirmed leak that could bring forth legal action, but by now the mirror (of delusions) has been shattered and the Holy DMX API has been copied and analyzed countless of times. Is this fait accompli really still irrelevant for id and Radek?

Share this post


Link to post
Maes said:

Well you can always put in a real cone speaker in there. It's a bit unusual for Windows apps to use the Speaker, because it fucks up multitasking, so combining it with other processing is problematic.

@Quasar: last time I checked (not terribly recently, I must say) both the DMX source code, API examples and even precompiled libraries for various versions were in Romero's 'pack o' goodies'. So was it Romero who actually leaked it? Or some third party who did the packaging?

And Big L hasn't taken down DWs mirror of the goodies here...

https://www.doomworld.com/vb/post/1521395

Maybe he should, if this is a confirmed leak that could bring forth legal action, but by now the mirror (of delusions) has been shattered and the Holy DMX API has been copied and analyzed countless of times. Is this fait accompli really still irrelevant for id and Radek?


Thing is, Radek doesn't really seem to care, and, from what I've heard, doesn't want to be contacted on anything but business interests. Paul was also 27 years old at the time that DMX was created. He works on the DirectX platform now. He still cites that he worked on Doom, and that used to be the jewel in his resume crown, but now that he works on DirectX after working on gambling machine sound systems for a decade, I'm not sure that matters much anymore.

Here's the thing to keep in mind: he's an audio tech guy. We audio tech guys are historically pretty clingy to our sound code, or plugin code, or whatever it may be - because there's a LOT of money behind licensing your stuff. But because DMX is old as heck, he being quite young when he wrote it (and likely will see it as being full of mistakes and bad coding principles), he might be willing to part with it - that is, if that code wasn't mutated into something used in the gaming machines, which is very possible!

Share this post


Link to post
TimeOfDeath said:

I use doom.exe without dosbox on my winxp computer for testing vanilla wads and sometimes casual playing. That comp doesn't have a sound card, so playing doom.exe with the pc speaker sound effects is the only way I can play doom with sound. Do any source ports offer pc speaker support (not emulation)?

Chocolate Doom does.

Share this post


Link to post

I use ZDoom. I can acheive a good equilibrium of modern and vanilla ascetics. Going back to vanilla at this point just gives me motion sickness and looks like shit.

Share this post


Link to post

I've had this thought in my head that an intersting architecture for a "more choco than chocolate" port would be to take something like nukeyt's pcdoom - an attempt to reconstruct the original Dos doom sources - and (crucially) build it for DOS now (so you need a cross compiler to DOS, possibly one emulating Watcom peculiarities). Then a fork of dosbox that makes it more library-like, and a package that presents them as an integrated whole. Some of the changes that choco makes for the sake of modern convenience would still need to be made to the DOOM.EXE sources (hence you would not get the full experience dropping the original DOOM.EXE into this monstrosity I'm imagining) but a lot would be achievable in the dosbox wrapper itself (the OS-facing stuff like video mode scaling, modern input device handling etc.)

The advantage of this would be you would not have to try and emulate the more awkward bugs that rely on unchecked buffer overflows and unprotected memory: we could have actual Medusa, actual (benign) overflows like the door bounce bug.

The disadvantage (asides from the monstrous complexity) is it presumes that DOSBox perfectly and faithfully emulates DOS memory model. It's quite possible that there are subtle discrepancies in DOSBox's emulation.

Share this post


Link to post
Avoozl said:

Why would anyone want to play a game through DOSBox when it already has source ports available anyway?

Blood is probably the only old FPS game which I ever play through DOSBox entirely because it has not source ports.


And it's not for lack of trying to get Blood's source code released. Atari was apparently demanding some huge sum for the IP rights to it. No company is willing to pay what they're asking for (I dunno the amount).

Share this post


Link to post

The IP isn't particularly worth anything. I can't see a modern developer making a triple-a franchise out of it. I guess they just don't get that if they release the source code they'd probably see higher download sales. Not great but, hey, it would be better than sitting on it.

Share this post


Link to post
Jon said:

(so you need a cross compiler to DOS, possibly one emulating Watcom peculiarities).

OpenWatcom can cross compile to DOS, and well, it IS Watcom (though there is the possibility of a few version discrepancies compared to Watcom as used back in the day).

Share this post


Link to post
fraggle said:

That might be worryingly close to the truth. There hasn't been a new DOSbox release in years now. I do hope we get a new release at some point and I wish the DOSbox team would switch to a more modern development process.


The VOGONS forums (the official DOSBox forums) actively criticize the use of the last released version. While development still slowly happens, they haven't maintained releases despite the superiority of code in the VCS HEAD versions. While not intentional by the developers, they did let it slip into a state where it projects all appearances of an abandoned and dead project.

Jon said:

The disadvantage (asides from the monstrous complexity) is it presumes that DOSBox perfectly and faithfully emulates DOS memory model. It's quite possible that there are subtle discrepancies in DOSBox's emulation.


More than possible, it's a certainty. DOSBox takes on an emulation role not unlike things such as ZSNES. It is impressive for what it does, but the code is filled with concessions between speed, compatibility, and accuracy. Accuracy is not the highest priority. (Unlike ZSNES, DOSBox is in a better state to be salvaged for better accuracy, like recent versions of Snes9x)

Share this post


Link to post

Well if you want a more accurate emulation of the DOS memory model, you can always use a proper VM or PC emulator, only that virtually none of them works well for real-time applications, esp. DOS games with sound. In general, timing is all over the place.

What's interesting is that with some old versions of Windows XP (I think only until SP1), it WAS possible to run some DOS games directly and sorta-kinda get Sound Blaster sound out of the emulated "DOS" in the command prompt. The results varied a lot betweeen systems, though. On some it was OK (good enough to run Doom with full sound, for instance), on others it was choppy, scratchy and unplayable or outright crashed.

Share this post


Link to post

I wonder why Radek shared DMX source to Romero. I doubt that id had any DMX source(except headers) during Doom development.

Share this post


Link to post

Well, if the DMX library is really the only thing standing between the DOS source code and a full release, somebody must give a wakeup call to Radek and id:

  1. The source code to DMX was leaked/released. Doesn't matter how, why or when, it's out there, in full, up for grabs.
  2. The DMX API itself was leaked long ago with the Heretic source code.
  3. Its commercial potential is virtually null, at this point.
Of course, there probably is a pesky clause signed by id somewhere that prevents THEM specifically from re-releasing everything as-is, and which probably will last forever. And as we know, the fact that whatever that clause was meant to protect is now moot, it immaterial to the enforcement of the (still ongoing?) contract/agreement between Radek and id. It's the classic "Cop pulls speeding motorist over" scenario: it doesn't matter if others are speeding just as bad even as the cop is writing a ticket to the poor sod he pulled over, HE was pulled over and that's it.

But even with DMX being still an obstacle (?), can't a "Second Release" be negotiated? One which will include DMX headers/API cleanup, but none of Kreimeier's "cleanup".

Share this post


Link to post

I actually recall using DOSBox on a few instances. But those instances were few for a reason. By that time, I was so used to stuff like ZDoom that it felt too clunky for me, for lack of a better term. I could barely even play it on ITYTD with mouse and keyboard.

Share this post


Link to post

Another reason to use DOSBox is that it's the only realistic way to have access to pre-v1.9 versions of Doom, including the alphas and betas.

Share this post


Link to post

There's nobody left at ID, IMHO, that would be arsed about another doom source release. The '97 source is "good enough" for 99.9% of people. That said I would have put the same odds on Heretic/Hexen source re-licensing and that eventually did happen.

Share this post


Link to post

Try also to not forget that multiple people have been over various versions of the DOS DOOM exe file with IDA Pro by now and they didn't find a lot of interesting "missing stuff". The things that Kreimeier evidently broke (or made worse - some of the things that were initially blamed on him were later realized to be bugs in DOOM II or Ultimate DOOM, for example) are well-known and have been fixed for a long time in most source ports.

Share this post


Link to post

That's a given, but the (wishful?) thinking here is that the "raw" source code also contained things that didn't make it into the v1.9 executable but might have made it into older versions, betas, alphas etc., as well as unimplemented/unfinished features (a-la automap asteroids, to be concise). Besides, I don't think that most doom .exes before v1.9 got as much attention and analysis.

Share this post


Link to post
Maes said:

That's a given, but the (wishful?) thinking here is that the "raw" source code also contained things that didn't make it into the v1.9 executable but might have made it into older versions, betas, alphas etc., as well as unimplemented/unfinished features (a-la automap asteroids, to be concise). Besides, I don't think that most doom .exes before v1.9 got as much attention and analysis.

We have a file listing that came from somewhere and it doesn't seem likely we're missing anything. fraggle obtained the am_oids.c file, and it was just some data structures and a couple of utility functions - Dave totally ran out of time to even start on the game logic for it.

Share this post


Link to post

it's overall easier and more convenient to play doom with a sourceport, only the most pure of purists would play in dosbox
hell, most purists use chocolate doom

Share this post


Link to post

I really wouldn't aim for any source port other than Doom 64 Ex when I want to play Doom 64.

Share this post


Link to post

Are there any noticeable difference between chocolate Doom and the original DOS Doom? I thought that chocolate Doom was already identical to vanilla Doom

Share this post


Link to post
Maes said:

@Quasar: last time I checked (not terribly recently, I must say) both the DMX source code, API examples and even precompiled libraries for various versions were in Romero's 'pack o' goodies'. So was it Romero who actually leaked it? Or some third party who did the packaging?

No, this is completely wrong. Romero never publicly released the DMX code; it was discovered on a random website. Romero privately provided the DMX source to maraakate as thanks for work on Daikatana 1.3 (see here); the code was never meant to go public but got leaked.

nukeykt said:

I wonder why Radek shared DMX source to Romero. I doubt that id had any DMX source(except headers) during Doom development.

I don't know why you'd assume that. They were paying to license DMX and it's reasonable they would have got copies of the code. I doubt Romero's had any contact with Paul Radek for years.

Jon said:

There's nobody left at ID, IMHO, that would be arsed about another doom source release. The '97 source is "good enough" for 99.9% of people.

Right. Only way we're seeing any more Doom source is if they decide to do another "BFG Edition" type affair. I don't see us ever getting any older source.

Share this post


Link to post
DMPhobos said:

Are there any noticeable difference between chocolate Doom and the original DOS Doom? I thought that chocolate Doom was already identical to vanilla Doom


it depends how hard you look ;) like all software, chocolate doom has bugs: https://github.com/chocolate-doom/chocolate-doom/issues , including bugs that we have yet to implement and features we need to remove.

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
×