Keen Dreams Shareware v1.20

Here, you can get help with anything or just chat about the original Commander Keen games.
Post Reply
Vorticon Elite
Posts: 457
Joined: Sun Sep 06, 2009 19:36

Keen Dreams Shareware v1.20

Post by NY00123 »

LATE POST EDIT (Dec 24th, 2016): Edited download link since Dropbox' "Public" folder is expected to become private by March 2017.

As at least some of you may know by now, I worked on a source port of Keen Dreams, initially with CGA graphics only. While doing so, there was the possibility that I would add some features for a new official port, mostly CGA and/or Steam related as it seems. I decided to go my own way, though, and it's clear that some goals of the new official port may conflict with some of my port. There's already been work on the official port, too.

On the other hand, I got the archive below (more like its contents). I dunno if things could be different with more efforts, but I didn't find the archive's contents online as-is (although the game data can be found in another form, see details below). However, this version of Keen Dreams is briefly mentioned in an old "official" Apogee FAQ. Note that the file name of KEENDM20.ZIP is just a choice of mine (in fact I had to create the ZIP file from scratch, but the contents are the originals otherwise). ... 0.ZIP?dl=0

In case you think it is greatly different from any other version that you may already have access to, I'm afraid this is not the case, but then that may be expected. A few details about this release:
- If you download the source code for v1.20 from the official Keen Dreams source codes repository, then prepare static data (via static\make.bat) and build this code with Borland C++ 2.0 (exactly this version, and not Turbo C++ or anything else), and finally pack the constructed EXE using LZEXE 0.91, you should eventually get the original 1.20 EXE, byte-by-byte. (Well, some luck may help here, e.g., you may need to open the project with Borland C++, otherwise it may hang. And then, maybe you still won't get the exact same EXE file for some reason.)
- The 1.20 game data is exactly the same as the 1.93 data. This includes static data embedded into the EXE, like the EGAHEAD. With the exception of the title screen, both of these further share the same game data as 1.92.
- There may be differences in some additional support files, like MENU.SHL and PRODUCTS.TXT, but 1.93 and 1.20 share the same game data otherwise.
- Like other Shareware releases (versions 1.01s and 1.13), you'll be asked to type START if you naively try to load KDREAMS.EXE as-is. Again like these releases, though, KDREAMS /DETOUR should work.
- There's no textual screen shown on quit, though.
- As described in the revision history from the official source codes repository, version 1.20 has the references to Gamer's Edge removed, and it uses the DocView shell rather than the GE shell used in versions 1.01s and 1.13.
Last edited by NY00123 on Sat Dec 24, 2016 8:41, edited 1 time in total.

Posts: 48
Joined: Tue Nov 13, 2007 20:57
Location: Finland

Post by Litude »

Sweet, thanks for sharing this! By the way, the included VENDOR.DOC mentions the original file name as being KEEND120.EXE.

Posts: 268
Joined: Thu Apr 12, 2012 17:28

Post by Levack »

Neat. No major differences though.

Must be added to the KeenWiki!

Vorticon Elite
Posts: 457
Joined: Sun Sep 06, 2009 19:36

Post by NY00123 »

Thanks for checking it out! Interestingly, there were zero Google results for a search of "KEEND120.EXE", at least yesterday. Now we have just this forum topic (heh). Maybe this release was distributed on some floppies and not on any BBS or other online means, leading to its obscurity.

Regarding documentation of the differences between 1.93 and 1.20, for some reason I haven't been sure if I'm getting the correct diffs, but now I think I know the answer. As said before there may be differences in some additional files, like VENDOR.DOC and DOCSHELL.EXE. But when it comes to the game itself, I can say this:
- 1.93 and 1.20 share the same game data as already told, including data embedded in the EXEs and the separate file with the title screen (KDREAMS.CMP).
- Regarding the source codes, the exact sources for 1.93 were lost, but we do have sources that reproduce the original 1.93 EXE now. It looks like the only actual differences in the sources between 1.93 and 1.20 are in two files: ID_US_S.C and KD_MAIN.C.
- ID_US_S.C has some text shown on startup (printed in US_TextScreen). In 1.93 there isn't a lot of text, while in 1.20 there are some notes about registration of the game.
- As for KD_MAIN.C, there aren't many changes. If you type "KDREAMS.EXE /VER" or "KDREAMS.EXE /?" in a compatible DOS environment/prompt then it's all about the difference between "Keen Dreams version 1.93" and "Keen Dreams Shareware Version 1.20" in the outputted text, although /VER or /? doesn't have to be exactly the first command-line argument following KDREAMS.EXE in the case of 1.20. Furthermore, again you'll be asked to type "START" if you naively type "KDREAMS.EXE" as of 1.20, while "KDREAMS.EXE /DETOUR" (or START) should do the job.

To conclude, in terms of KDREAMS.EXE or equivalently the sources, it really looks like 1.20 is just a minor cosmetic modification of 1.93 for most, and the game data is exactly the same.

User avatar
Posts: 5261
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

Ok, so it's a 'new version' I was wondering what the heck this was.
What you really need, not what you think you ought to want.

Posts: 2133
Joined: Fri Jan 20, 2012 7:02
Location: Tied up in the Oracle Chamber's basement

Post by Keening_Product »

With revisions that minor I would've expected a version number more like 1.94, or am I not understating some numbering conventions?
Keening_Product was defeated before the game.

"Wise words. One day I may even understand what they mean." - Levellass

Vorticon Elite
Posts: 457
Joined: Sun Sep 06, 2009 19:36

Post by NY00123 »

Keening_Product wrote:With revisions that minor I would've expected a version number more like 1.94, or am I not understating some numbering conventions?
It is true the numbering convention may seem a bit confusing, mainly since it looks like more than one scheme was used. First there were the original registered EGA and CGA releases marked as version 1.00, prepared by the id Software development team and based on the same codebase. Later, there was a split into three branches: Registered, CGA and Shareware. There's also version 1.01-360k which further appears to be separate.

The first few versions of these were all numbered 1.0x. Later, for some unknown reason, version 1.03 of the registered EGA release was followed by 1.91, 1.92 and 1.93. Similarly the Shareware release of 1.01s (looks based on 1.01) was followed by 1.13 (based on 1.03) and 1.20 (apparently based on 1.93).

It should further be noted that it looks like the CGA release of 1.04 came in-between 1.91 and 1.92, while 1.05 probably appeared after 1.92 and before 1.93 (although 1.05 doesn't seem to have the changes between 1.92 and 1.93).

Post Reply