Monday, November 4, 2013

Playing King's Quest and King's Quest II Booters

The original King's Quest and its sequel, King's Quest II : Romancing the Throne were originally released for the IBM PC platform as self-booting copy-protected disks.  They could not be read by DOS, did not require DOS to run and could not install themselves to a hard drive.  Sierra released King's Quest in 1984 and King's Quest II in 1985.  They were the first games to use Sierra's Adventure Game Interface (AGI) engine.  Eventually with the releases of King's Quest III : To Heir is Human and Space Quest : Chapter One : The Sarien Encounter, Sierra allowed its games to be copied to and run off hard drives.  Each game would need the original first floppy disk, the key disk, to pass the copy protection check and decrypt the executable.

King's Quest - IBM PCjr. Copyright Screen
King's Quest - IBM PCjr. Title Screen
King's Quest - IBM PCjr. & Tandy 1000 In-Game Screen

The booter versions of King's Quest I-II and The Black Cauldron did not use drop down menus or status bars.  To check your score, you go into the inventory screen.  The Escape key pauses the game.  They have a certain minimalist charm about them that their later DOS conversions lack.  They are also friendlier to older hardware since they only require 128KB of RAM.  The DOS conversions require 256KB of RAM.  King's Quest came on one PC booter disk but two DOS disks.  This wouldn't be much of an issue for owners of most PCs in 1987 when the conversions were marketed, but users of 128KB Tandy 1000s and PCjrs would be in need of an upgrade.  Sierra's disk routines are probably faster than Microsoft's.

King's Quest - IBM PC Copyright Screen
King's Quest - IBM PC Title Screen Composite Color Mode
King's Quest - IBM PC In-Game Screen Composite Color Mode
Another issue is with drawing the graphics.  With the booters on a slower machine, the game draws the vector outlines of shapes then fills the color and finally draws the objects.  This was changed for the DOS conversions as this gave some clues to the puzzles.  In the AGI DOS games, the screen draws itself fully then copies itself into the video buffer.  This may look, on a slower machine, as though the image were drawn from the top down.

King's Quest - IBM PC Title Screen RGB Color Mode
King's Quest - IBM PC In-Game Screen RGB Color Mode
King's Quest was released four times in the booter format.  The PCjr. version was released first, and the first release came with a full keyboard overlay for the chiclet keyboard.  A second release was only released with a strip for the "function" keys, as the replacement keyboard no longer had space in between the keys for the overlay.  Since the PCjr. was not the great success Sierra and IBM hoped for, Sierra converted it to the IBM PC.  The manual was much more ornate, the goofy illustrations from the PCjr. box and manual were gone, the story was more serious and more clues were given.  Finally, once the Tandy 1000 was released, Sierra released a version that would work with that system, which had graphics and sound capabilities virtually identical to the PCjr.  A separate reference card would accompany the PC and Tandy 1000 releases.

King's Quest - Tandy 1000 Copyright Screen
King's Quest - Tandy 1000 Title Screen
Each release is only supposed to be run on its own system.  The Tandy 1000 version may run on a PCjr., but there may be graphics errors at the command line.  The PCjr. version probably will run on a Tandy 1000/A, but only those with 128KB of RAM.  The PC version requires a CGA card and looks best when displayed on a color composite monitor or TV.  It will only switch to the RGB mode on startup, so you will always see the Sierra logo in black and white on an RGB monitor.  The sounds are downsampled for the 1-voice PC Speaker.  It will run on a Tandy 1000, which has excellent CGA compatibility, but the composite colors will not look correct.  It probably be playable with an EGA or VGA card, but palette will probably use light cyan/light magenta/high intensity white and a black background instead of green/red/brown and a blue background.  Use the DOS version instead.  The PCjr. will probably show major graphical errors if it tries to run the PC version.

King's Quest - DOS Title Screen
The PCjr. and PC versions of King's Quest allow the player to use the joystick at any time after starting the game.  The Tandy version requires the player to press a button on the joystick at the title screen to use it in game.  The PC and Tandy versions were programmed when 4.77MHz was the only speed available, so joystick calibration may be difficult or impossible when playing the game at a higher speed.  However, Graham's walking speed does not really increase when the game is run at a higher speed, but he will walk less slowly when walking on a screen with animated objects on it.  The PCjr. version is very sensitive to system speed, and eventually (in theory) the machine may be so accelerated that the game will play too fast.  Considering the slow speed of the 128KB PCjr., a slight uptick in the system speed would not be unwelcomed by most players.

The joystick was a very useful method of control for the AGI engine.  With the keyboard, one press of the key would make your character move until he hit an obstacle.  A second key press would be required to get him to change direction or stop.  With the joystick, the character will only move when the stick is manipulated in the direction past the dead zone.  When the stick is stationary, the character will not move.  This is extremely useful when crossing screen boundaries, as your character will not proceed blindly into a chasm, river, lake or into the hands of a monster.

Diagonal keyboard movement was added to the PC version via the number pad.  (The PCjr. has no number pad on either of its keyboards.)  This is especially convenient with the stairs leading up to the land of the clouds.  The original PC keyboard did not have dedicated arrow keys, so the character moved in eight different directions by the numberpad.  The Tandy 1000 version requires you to use the inverted-T arrow keys to move in the four cardinal directions (Up, Down, Left, Right).  Keys 1, 3 and 9 on the numeric keypad of the Tandy 1000 keyboard work to move your character diagonally, but key 7 does not (at least on my Tandy 1000SX).  Also, numeric keypad keys 2, 4, 6 and 8 do not move your characters in a cardinal direction.

In order to save with the booter versions, you will need a separate disk.  You must type the command "copy disk" (without quotes), which will make a play disk.  The game will allow you to save up to 26 games on the play disk, and each save is identified only with a letter.  The DOS conversions allow you to type in a description for your save, but for the booters you should keep a sheet handy.

King's Quest - Booter Interface
King's Quest - DOS Interface
King's Quest - DOS Menus
There is no "Greensleeves" in any of the booter versions, just an unremarkable fanfare tune at the title screen.  The enchanter uses a different graphic in the booter versions, in the DOS conversion he uses the King's Quest II graphic.  The monster theme from King's Quest II is reused in the DOS conversion for all the monsters in King's Quest DOS conversion.  The alligators in the booter versions are green but cyan in the DOS conversion.  The in-game sound is mostly sound effects or repeating notes when a monster appears on the screen.  The copyright screens and the "Grahame" name for the character in the PCjr. version are about the only noticeable visual differences between the three versions.

The PCjr. did not have separate function keys, so the number keys were pressed into service (without pressing Fn).  The PC and Tandy versions also use the number keys above the letter keys for the functions. King's Quest II used the function keys instead of the number keys (Ctrl + number for the PCjr.)  The numbers are a bit different from the eventually conventions which the DOS conversions and other DOS AGI games used :

Key    Function      (DOS Conversion Key)
1/F1 - Sound on/off (F2)
3/F3 - Save Game (F5)
5/F5 - Restore Game (F7)
7/F7 - Restart Game (F9)
9/F9 - Repeat Last Command (F3)

King's Quest only required one 360KB disk but the DOS conversion requires disk swapping with two 360KB disks.  You use Disk 1 for Daventry, inside King Edward's Castle and climbing up the Golden Egg Tree.  You use Disk 2 for the inside of the Woodcutter's Hut, Witch's House, after you enter the well and until you exit the cave, in the Land of the Clouds including the beanstalk and stair climbing screens, and the Land of the Leprechauns underground screens.

Its sequel, King's Quest II always came with two disks.  King's Quest consisted of a total of 77 rooms, but King's Quest II boasted 93 unique rooms.  King's Quest II supports the PCjr., PC with CGA and Tandy 1000 with one single version.  King's Quest II had three booter versions, 1.0W, 1.1H and Tandy v1.00.00, the latter two presumably including bugfixes.

King's Quest II - IBM PCjr. & Tandy 1000 Title Screen
King's Quest II - Credits
When the game is first booted, it will ask for Disk 2 just after asking whether the user wishes to use a joystick.  It will use Disk 2 for the introduction and the whole of the Kolyma overworld, including building interiors (Grandma's house, Dwarf's house, Hagatha's cave, Church and Shop) and the exteriors of Dracula's castle.  Disk 1 is used for Under the Sea, on the Mountain Top, inside Dracula's castle and for the Enchanted Land.  This cleverly minimizes disk swapping.

King's Quest II - IBM PC Title Screen Composite Color Mode 
There is no Space Quest Easter egg on the Mountain Top in the booter version, and the sign in the forest just south of where you find the stake discusses the Black Cauldron, not King's Quest III and Space Quest. King's Quest III - To Heir is Human is mentioned at the end of the game.

King's Quest II - IBM PCjr. & Tandy 1000 In-Game Screen
King's Quest II - IBM PC In-Game Screen Composite Color Mode
King's Quest II - IBM PC In-Game Screen RGB Color Mode
King's Quest II requires you to prepare a save disk using the "init disk" or "format disk" commands.  If you have a two disk drive system, it will save to drive B:.  Drive B: can be a 5."25 Double Density or 3.5" drive Double or High Density drive, and the game will have no problems saving to a Double Density disk.  I do not know if a high density 5.25" drive or high denisty 5.25" or 3.5" disks will work, but I have doubts.  This save disk cannot be read by DOS.  Again twenty-six saves using letters are allowed.

One welcome innovation in King's Quest II is the addition of walking speeds.  By typing "slow", "fast" or "normal" at the command prompt, your character's speed will increase or decrease.  "Slow" is very useful for stairs.  Fast helps you traverse across the land with very acceptable speed.  Slow and normal walking/animation speeds are not system speed dependent, but fast is.  Thus if you play this game on a Tandy 1000TL/3, which uses a 10MHz 286 CPU, you may find it a bit too fast more often than on a 7.16MHz 8088 Tandy 1000SX.  The DOS conversion adds a "Fastest" speed, which is not constant with the system speed, unlike slow, normal and fast for that version.

Compared with the DOS conversion, the music in the King's Quest II booter is very loud and much slower in tempo.  On a Tandy you may want to boot to DOS first, disable the internal Tandy 1000 speaker, reboot using Ctrl-Alt-Del and use the external speaker where you can control the volume if you do not have a headphone jack (Tandy 1000/1000SX).

When played on a PC or generic clone, you can switch between the composite and RGB modes in-game with Ctrl-R.  However, the game will not respond to that until you begin a game, so the introduction will always show in black and white for RGB monitor users.  With a generic PC using an EGA or VGA card, the RGB mode should work properly.

The need to wait for the disk to load each screen brings a different kind of playing style to these games. Unlike playing the game on a DOS computer or DOSBox that offers instantaneous loading times, the disk accesses force the player to try everything they can think of in each room.  It also allows the player to take in the scenery of each room, low resolution it may be.  Sometimes waiting, sometimes paying attention to detail may be the key to solving a puzzle.


Asterisk said...

I've noticed that your screenshots are all at 640x400; I'm assuming that this is because DOSBox outputs the CGA composite-mode screenshots at 640x400, and you've doubled the 320x200 images to match.

Unfortunately, I see a lot of screenshots of classic CGA, EGA, and VGA games posted at 640x400 or 320x200, making it seem as thought these games were actually intended to be played at a 16:10 aspect ratio. While there's no perfect solution for 640x400 images or for the rare 640x350 EGA screenshot, a 320x200 screenshot can be scaled up in a way that preserves a pixel-perfect representation of the original graphics and simultaneously corrects the aspect ratio. This can be accomplished by rescaling the 320x200 image to 1600x1200 using nearest-neighbor interpolation. This turns each pixel of the original image into a 5x6 region of square pixels suitable for display on a modern monitor, giving a perfect representation of the original 5:6 pixel aspect ratio in a 4:3 image.

If 1600x1200 is too large, I've had fairly good results by first resizing to 1600x1200 using nearest-neighbor, then scaling back down to 800x600 using a more sophisticated interpolation method, e.g. bicubic.

Great Hierophant said...

There is room for debate, at least for some titles, as to whether the 1.6:1 or the 1.33:1 aspect ratio is correct for that particular game, as I discuss here : I agree that the upscaling of 320x200 graphics to 1600x1200 provides a proper, no-distortion conversion from the 1.6:1 to 1.33:1 aspect ratio. Unfortunately, it also makes the blog difficult to view unless you have a 1920x1200 monitor like I currently have. Unfortunately, such monitors are not common, most Windows machines prefer the more HD-friendly 1920x1080 resolution. However, blogger seems to resize decently enough so that if I put a 1600x1200 image on a post at less than its ideal size, clicking on the image will result in a large, ideal image. I have since modified the post identified above to show this.

Now for that 640x400 color composite graphics (its really rendered in a 640x200 resolution with every vertical line doubled) screenshot, I would need to enlarge it to 3200x2400 to provide a perfect recreation of the 1.33:1 aspect ratio. That can be done but obviously that is not feasible to show on a blog.

Of course, on a CRT monitor it is really easy to provide a distortion free stretch.

R. David Snyder said...

Great article! Just so you know, the I in AGI stands for "Interpreter", not "Interface".