BBQgiraffe Posted September 26, 2019 I know the Doom source code was released in 1997 but was there ever an attempt to reverse engineer it before that? 2 Share this post Link to post
Dark Pulse Posted September 26, 2019 Sure was. See the Unofficial Doom Specs. Of course, some of it is wrong in light of the source code's release. Other stuff, like figuring out how to make new maps, was a total reverse engineer process before the source's release. Took approximately three or four months after release until a viable map editor that could make custom maps was released. 6 Share this post Link to post
Linguica Posted September 26, 2019 The Unofficial Doom Specs were a reverse engineering project. DeHackEd was made by reverse engineering how the EXE stored data. Back in the day there was also a Doom clone engine called DUMB as seen here https://web.archive.org/web/19980515071314/http://samba.anu.edu.au/dumb/ that could even load WAD files. 6 Share this post Link to post
seed Posted September 26, 2019 Since this topic exists... How different is the Linux port of the game from the original DOS version, since its source was never released? 1 Share this post Link to post
Linguica Posted September 26, 2019 Unclear - the Doom source code was partially "cleaned up" and reorganized. We have raw DOS Heretic sources which presumably match the DOS Doom source more closely. The three main differences I can think of off the top of my head are that 1) the DOS version included the DMX library, which had to be removed for the Linux port and replaced with Linux sound code; 2) the DOS version used a triple buffered "Mode Y" graphics mode whereas the Linux version and basically all source ports use a double buffered setup; 3) there were some minor differences that impacted demo compatibility, and supposedly TeamTNT was given limited access to the DOS source when making Boom to help squash some irregularities. In more recent years, https://github.com/nukeykt/PCDoom-v2 was a project to try and recreate the DOS engine as faithfully as possible. 7 Share this post Link to post
seed Posted September 26, 2019 (edited) 24 minutes ago, Linguica said: 2) the DOS version used a triple buffered "Mode Y" graphics mode whereas the Linux version and basically all source ports use a double buffered setup; 3) there were some minor differences that impacted demo compatibility So, they weren't really the same after all. I was thinking more along the lines of the Linux port being a straight port to a different platform, minus the sound libraries because DMX happened. Which raises another question - couldn't id simply remove the sound code and release DOS Doom's source too? Or does it go deeper than that? Also, what's that triple buffered thing? 0 Share this post Link to post
Gez Posted September 26, 2019 34 minutes ago, seed said: couldn't id simply remove the sound code and release DOS Doom's source too? They tasked Bernd Kreimeier with doing the cleanup and he was slightly overzealous. 1 Share this post Link to post
jeroa Posted September 26, 2019 (edited) Just now, Linguica said: Back in the day there was also a Doom clone engine called DUMB as seen here https://web.archive.org/web/19980515071314/http://samba.anu.edu.au/dumb/ that could even load WAD files. im intrigued, is there a way to play that? 0 Share this post Link to post
BBQgiraffe Posted September 26, 2019 1 minute ago, jeroa said: im intrigued, is there a way to play that? compile it? 0 Share this post Link to post
BBQgiraffe Posted September 26, 2019 11 minutes ago, jeroa said: but the links dont work anymore hmmm... I can't find any downloads on another site, well shit. maybe try asking around? this site is full of data hoarders 0 Share this post Link to post
Dark Pulse Posted September 26, 2019 I didn't even know about DUMB. Is it even mentioned on the Wiki? 0 Share this post Link to post
Diabolución Posted September 26, 2019 1 hour ago, BBQgiraffe said: maybe try asking around? I have found this. http://ftp.riken.jp/pub/net/samba/dumb/ 2 Share this post Link to post
OleBumma Posted September 26, 2019 (edited) mirror link https://download.samba.org/pub/dumb/ 1 Share this post Link to post
Dark Pulse Posted September 26, 2019 (edited) That's pretty fascinating stuff for 1998, I've got to admit. Probably should be a mirror or two of the code while it can be found. It's kind of amazing it's still floating around now, since Sourceforge didn't even exist until 1999. 2 Share this post Link to post
Linguica Posted September 27, 2019 19 hours ago, seed said: Also, what's that triple buffered thing? Doom had enough space in memory to set aside, I believe, 4 320x200 buffers to draw the graphics into. In normal play, the engine would display 3 of them in looping sequence (the fourth was a "scratch space"). A triple buffered setup helps the game do various things more easily - for instance, the screen melt effect. It stores the pristine pre-melt screen in one buffer, the post-melt screen in a second buffer, and then uses the third buffer to combine them for the given animation frame of the melt effect. It is also responsible for the particular visual effect of the HOM in vanilla Doom. The particulars of how and why the game handled graphics also have a lot to do with the way DOS VGA graphics worked, which I won't go into. The Linux version tore this code out and replaced it with a simpler double buffered setup where the game displays from one buffer while writing into the other one. 8 Share this post Link to post