Hey all,
I've considered adding details as follows for a little while, and now as it's February 12 of 2015, it may look like a good chance to do so. (If you're wondering why, it looks like today, 23 years ago, version 1.4 of each of Keen 4-6 was finalized for Apogee and FormGen. A few details are given below.)
=== Part 1 (A few guessed bits about the development progress of the episodes) ===
To begin with, I don't know everything about this, but what I think we do know by now is that Keen 4-6 eventually became a single codebase. There may be some parts which were not in sync, but it's clear that a lot was shared and updated for all episodes. I think that version 1.4 of each episode as prepared for Apogee and FormGen is a good example of us.
Also, it was told that it took 3 months to complete Keen 4, then 2 months to complete Keen 6 and finally 1 month to complete Keen 5 (taken off
http://planetromero.com/2005/12/happy-birthday-keen-4-6). However, as it looks like the original release of Keen Dreams was prepared on July of 1991, while Keen 5 became available on December, I think it should be quite obvious that some work was done on more than one episode in parallel. Catacomb 3-D was also made, sharing a lot of code (mostly the ID Engine, but possibly some other code pieces copy-and-pasted from one of the Keens and/or another title). Romero has recently confirmed they further worked on a canned title named "Complete Planetary Domination" during these times, which should answer this:
https://github.com/FlatRockSoft/Catacom ... S_2.C#L252
=== Part 2 (PicturePause stuff) ===
It's probably good to clarify about the role of the F10-P debug keys combo. In the Keen Dreams sources, it just leads to a wait for a key press, but it looks like there was a replacement made for Keen 4-6. Taking a hint from the publicly available Catacomb 3-D sources (and also the Wolfenstein 3D sources), a function named PicturePause was written to be called following a press on F10-P. The exact behaviors may depend on the game version, but in general this was made to do some shuffling in video ram and then wait for a key press before quitting. There are chances this was made in order to be able to print an in-game screenshot, and/or send such a screenshot to another program in some way. There may be a few times this reproduces a bit glitchy shot on the screen, but then it's just a debug key combo again.
=== Part 3 (A few diffs between game versions, but not all of them) ===
Alright, it may be a good chance to look at some versions of games. Only EGA released were checked in general, and not all known changes are listed; Most of these can be found in the KeenWiki. What is added here is notes about the F10+P debug keys somewhat differing from what's currently described in the KeenWiki. Comparisons between the versions in what looks like a chronological order is done, with the addition of the related Catacomb 3-D title.
- Keen 4 Special Demo Version 1.0: It was (probably) prepared on October 9 of 1991. This may be the earliest revision of any of Keen 4-6 which was ever released back in the 90s. While it does look like both Keen 6 and Catacomb 3-D were developed in the meanwhile, there are enough signs that Keen 4 wasn't yet ready (like the worldmap music). Pressing a key during the introduction skips the title screen and takes you right into the control panel. The debug keys are always enabled, and F10+P seems to call PicturePause, leading to a playback of the 1-UP sound effect, the video memory shuffling described above, and a wait before exit. Furthermore, there's no "Quiet Adlib/Sound Blaster" option and Paddle War has no speed limit (hence it may be too fast on anything newer than, say, a 386).
- Catacomb 3-D v1.00 (apparently later releases were not prepared by id): Seemingly formed on November 15, the "Quiet Adlib/Sound Blaster" option is missing again (although it's probably less useful in this title). While Cat3D's version of Paddle War (aka Skull 'n' Bones) is fixed, it's a bit slower than Paddle War as known from the various releases of Keen 4-6. Again, debug keys are always enabled, and F10+P leads to PicturePause again. While a few internal details about PicturePause are possibly different, this seems to lead again to the same kind of memory shuffling, although it results in clear graphical glitches. Chances are this code was simply written for Keen 4-6 and merely copied into Catacomb 3-D with some other cheat codes.
- Keen 6 v1.0: Prepared on November 15, this has Paddle War fixed and the "Quiet Adlib/Sound Blaster" option added. Debug keys are permanently enabled again, previous notes about F10+P still apply, and again pressing on a key during the introduction doesn't lead to the title screen.
- Keen 4 v1.0: While all files from the game may have the common timestamp of "December 1 1991 13:00", it looks like this was a part of some policy coming from Apogee (I don't remember the source for that as of typing this). However, an original ZIP archive (e.g., _1GALAXY.ZIP) can be found with an installer file named #1GALAXY.EXE and having the timestamp of "November 22 1991 04:32". Changes from version 1.0 of Keen 6 apply. In addition, debug keys have to be enabled by pressing on A+2+Enter (the /NOWAIT command-line argument can also be used). Furthermore, F10+P simply leads to a wait for a key press. The EXE still seems to have PicturePause, but it's not called at all. Finally, if one presses on a key during the introduction then the title screen is shown.
- Keen 6 Special Demo Version 1.0: Possibly prepared on the same day of Nov 1991 as Keen 4 v1.0 (an installer has the timestamp of "November 22 1991 11:21"), this looks based on the little-bit older codebase for Keen 6 v1.0. At least a few of the changes between Keen 6 v1.0 and Keen 4 v1.0 (if not all) don't apply here.
- Keen 4 v1.1: Again, files may have the timestamp of "December 1 1991 6:00", while another installer file named #1GALAXY.EXE can be found in an archive (1GALAXY.ZIP) with the timestamp of "November 23 1991 20:11". As expected, this release looks very close to Keen 4 v1.0.
- Keen 4 v1.2 and Keen 5 v1.0: While the numbers may differ, it looks like these two actually came from the same revision of the codebase, so v1.0 was probably chosen for Keen 5 since it was the first public release of this episode. The game files from both of these are stamped "December 15 1991", possibly with different times. Among other changes from earlier releases of Keen 4 and 6, it looks like PicturePause waits for a key press here, usually leading to a return to the game. However, if it's the Enter key which is pressed then the usual memory-shuffing-and-quit sequence is executed. In addition, the jumping Keen sound effect is played back before the 1-UP sound in such a case.
- Keen 6 Promotional Release Version 1.0: This one is a bit weird. Prepared on January 17 of 1992, the title screen is shown after pressing a key during the introduction. However, it is the same as the Demo Version in other manners (like the debug keys).
- Keen 4-6 v1.4 as prepared for Apogee and FormGen: The game files from the FormGen releases of Keen 4 and 6 v1.4 share the common timestamp of "February 12 1992 22:34" (I'm not sure there was a separate FormGen release of Keen 5, although it's obvious they at least offered the game, possibly Apogee's title). While the situation is again less clear with Keen 4-5 v1.4 for Apogee, I do think all of these come from the same revision of the codebase and prepared around the same time. Comparing the Apogee and FormGen releases of Keen 4 with EGA graphics, they seem to differ just by the EGA data (including the EGAHEAD and EGADICT chunks embedded in the EXEs).
- Keen 6 v1.5: Was probably prepared on May of 1993 due to Keen 6 v1.4 being a bit of a rushed release for some reason, with a couple of bugs that should be very obvious to anybody who gets to properly finish the game (ok, at least one of these bugs). As for the F10+P cheat, I think the implementation here as built into the EXE (EGA and CGA releases) is a bit buggy. Rather than waiting for a key press in PicturePause, there are *very* high chances the game will effectively freeze in a never-ending loop (unless you're *really* quick with keyboard tapping, and that's a very big "maybe"). Interestingly, the released Catacomb 3-D sources have zero mentions of "volatile" (and also very few mentions of "const"), which may explain this bug (i.e., a query of a variable's value that should change following a key press is replaced with an access to a copy of the original value in a register).
- Keen 4-5 v1.4 as prepared for GoodTimes Software (GT Interactive Software): The latest release known, from July of 1993. No known CGA release is available, and chances are it was not made at all by that time. A couple of bugs are known to be fixed in Keen 5 here. The "Order info" section is removed from the list of sections available by pressing on F1 (in Keen 4 and 5 altogether), but the list itself is there as usual. When one thinks about it, it may seem a bit weird the same was not done for Keen 6. Similarly, it may look a bit weird that the "Read This!" section from Wolfenstein 3D wasn't enabled in Spear of Destiny and later releases of Wolfenstein 3D for DOS, just without the ordering info.