K I N G ' S Q U E S T 3 F I X """""""""""""""""""""""""""""""" Included fixes A patch to remove protection and fix the closing screen problem on OS2+. A better looking(?) mouse pointer for the game. Information about changing the game palette. Introduction In their very first Amiga adventures made during the years 1986 and 1987 Sierra used a somewhat nasty copy protection method. The game disk looked like a standard AmigaDos disk, but on it there was one file (whose name simply consisted of 8 spaces) with a deliberate read/write error. One couldn't execute the game unless the broken file was available. Although this was no problem when playing from the original disk, the unlucky user of more recent days will not be able to install the game on hard disk at all. But the fix is here. This patch will modify the game executable and remove all references to the protected file thus allowing the user to copy all game files wherever he or she wants to. Two versions of King's Quest 3 are supported, one from the year 1986 and another from the year 1987. Also the irritating problem that the game is not able to close its screen upon quiting when using OS 2.04 or newer is corrected. Note that Sierra recompiled their old titles in 1989. These versions should work and install nicely without any patches. Note also that this fix is only for the original King's Quest 3. If you have problems with other old (original) Sierra games, you can always write to me at . Which version of the game I do have? There does exist at least three Amiga versions of the King's Quest 3. No matter which version is in use, the game itself looks like just the same. The only differences are in the internal structures of the game executable. The first version is from the year 1986, and the disk has a gloomy looking white label with blue texts on it. The name of the disk is « KQ3:» (a space as the first character) and the length of the main executable (file named «Sierra») is 86280 bytes. Installation of this version on hard disk requires the included patch. Second version from the year 1987 has a brown label with a color photo of the Sierra mountain on it. The name of the disk is «KQ3:» and the length of the main executable (file named «Sierra») is 86432 bytes. Installation of this version on hard disk requires the included patch as well. Third version that was compiled in 1989 and does not need any patches to be installed. The on-disk copy protection does no longer exist and the closing screen problem is gone. The length of the main executable (file apparently named «KQ3») is 135016 bytes. How to proceed As you may have already noticed, I haven't included a standard Amiga Installer script or actually any installation scripts at all. This is because it would be too easy to destroy your original game disk with incorrect use of a ready-to-use script (people do not usually read documents unless they have to, and so they might try this patch on their original disk). It is also because I'm lazy. In the following, you have to type in various commands. Do not type the « and » characters around commands. They are just separating the commands and some indicated file names from the rest of this text. In order to install the game the following steps need to be made: · First, make sure the original disk is write-protected. · Now, make a copy of the original disk. Don't worry if you tried to run the game from the duplicated disk - it won't work yet. You can use any copier you want. The only requirement is that the disk is processed track-by-track basis. For example, Workbench DiskCopy, XCopy, SuperDuper or even DMS will do fine. Actually you could also work with the original disk as well, but this is strongly discouraged. If something goes wrong during the following steps, you might cause a permanent damage on your original game disk! By using the copy of the original disk, all you are able to destroy is just the copy. · Put the original disk in a safe place. It is not needed anymore. · Insert the duplicated disk into any drive. Open a Shell (or CLI) and change your current directory onto that drive (e.g. by typing «CD DF0:» if you are using the internal drive DF0:) · The game executable (file named «Sierra») has a strange set of file protection flags. They need to be changed first so that file could be modified. Type «Protect Sierra +rwed» to set the common protection flags. You can also type «Protect Sierra -hspa» to remove the non-common flags. · Now you should be aware of the directory where the files coming along with this document are resided. Let's say they are in a directory called «RAM:KQ3-fix/». In the likely case they are somewhere else, replace references to this example directory with their actual location. If you do have the 1986 version of the game, type in the command: «RAM:KQ3-fix/SPatch -oSierra -pRAM:KQ3-fix/Sierra1.pch Sierra». If you do have the 1987 version of the game, type in the command: «RAM:KQ3-fix/SPatch -oSierra -pRAM:KQ3-fix/Sierra2.pch Sierra». This will make all necessary modifications to the game executable. Note that the file is 4 bytes shorter after this operation. · You can now delete the protected file (the one with the read/write error): «Delete " "» (there are 8 spaces in the name). · If you would like to have a nicer-looking mouse pointer image in the game, try this: «Copy RAM:KQ3-fix/pointer Data/». Otherwise ignore this step. See the option chapter below for further information on the subject. · That's it. You can now install the game wherever you want to by just copying all the files from the disk to your favourite location. Note that although the game originally won't run unless a volume called « KQ3:» (1986 version) or «KQ3:» (1987 version) is present, such restriction no longer exist. Wish you relabel the game disk you are free to do so. Assuming you have created a directory for the game called «SYS:games/KQ3/» you can copy the files for example by typing «Copy "" SYS:games/KQ3/ ALL». Options There are two things in here: palette and the mouse pointer of the game. First, let's talk about the pointer. In my opinion the mouse pointer of the first generation of Sierra adventures looks pretty ugly. The image of the pointer is stored in a file called «pointer» located in «Data» subdirectory in respect to the main directory (installed games) or root directory of the disk (non-installed games). This file is 80 bytes long and contains the binary representation of the pointer sprite in hexadecimal format. The user of a hex editor can easily figure out how this file is organized by testing different patterns in here (the file has nothing extra in it, just the raw pointer data). The pointer included in this software archive is something that suits my taste, but nothing more. Feel free to create even better looking pointer, if you think that my version is an ugly one too! Another thing to discuss are the colors used in old Sierra adventures. Actually, in those versions of the King's Quest 3 that require patching the colors are quite ok, but in the version released in 1989 they are not. For instance the skin color is just too reddish. To make things complete, I'll also describe how colors can be altered. To begin with, here are the palette informations from various Sierra 16-color adventures. The color scheme used in 1986 and 1987 versions of King's Quest 3: 000, 00F, 080, 0DB, C00, B7D, 850, BBB, 777, 0BF, 0E0, 0FD, F98, F70, EE0, FFF. The palette used in 1989 King's Quest 3: 000, 00B, 0B0, 0BB, B00, B0B, C70, BBB, 777, 00F, 0F0, 0FF, F00, F0F, FF0, FFF. Finally, a palette from more modern Sierra games (this one is taken from King's Quest 4): 000, 008, 080, 088, 800, 808, 830, 888, 555, 44F, 0F0, 0FF, F44, F0F, FF0, FFF. All the above information was taken by using the «Palette» tool included in the good old OS1.3. The program opens up a palette requester on the frontmost screen, even if this happens to be a screen owned by a Sierra game. To make that work, you need to have e.g. the icon for Palette available in the top portion of the Workbench. Now, when the game is running, pull its screen downwards enough to make the Palette icon visible. Then double-click the icon to start the Palette program. It should show up on the game screen. This allows you to play with the colors and even use the altered palette as long as the game is running. But the palette information still needs to be saved in the game executable. Again, a hex editor comes handy. The file to be edited is the main executable, the same file that has already been patched. In this point it might be a good idea to tell how the above information is present in the file. All color components are stored as a separate words in successive locations. For instance the colors of the 1986 and 1987 versions of the game form the following hexadecimal string (the spaces and commas are only used to make this readable, in reality they naturally don't exist): 0000 0000 0000, 0000 0000 000F, 0000 0008 0000, 0000 000D 000B, 000C 0000 0000, 000B 0007 000D, 0008 0005 0000, 000B 000B 000B, 0007 0007 0007, 0000 000B 000F, 0000 000E 0000, 0000 000F 000D, 000F 0009 0008, 000F 0007 0000, 000E 000E 0000, 000F 000F 000F. To change this information, one first needs to find out the exact position of these bytes. Some byte combinations (especially those with all zeros) may exist also somewhere else in the file, therefore it is suggested to search for the palette by using the bytes of light grey color (000B000B000B) as a search key because such bytes are unlikely to occur anywhere else. Disclaimer You are using this software at your own risk! Under no circumstances will the author be liable for any direct on indirect damage or data loss resulting from the use or misuse of these files or the documents. Using the patch for anything but your personal needs (to spread unprotected copies of the game, for instance) is illegal and strongly prohibited. Author Timo Kaikumaa Atanväylä 14 C 12 33580 Tampere FINLAND E-mail: timok@cs.tut.fi Home page: http://www.cs.tut.fi/~timok (currently in Finnish only)