This contains patches for the misc other text windows not covered in the other documents. In order of coverage they are: Big text window \_ Footer window / Helptext \ Storytext => The 'big textfiles' Previews / Quit to DOS Quit y/n Sound y/n Joystick configuration Save game Change controls The big textfiles all use the same pieve of window code to build their windows. About the only thing you can change is how far down the screen they go. There is also a smaller 'footer' window, which is not really a window; more like some font taped onto the bottom of the main window. Both of these will be treated first, then the relatively small amount of patching possible for each of the different windows. ****** Large help/story/previews/endtext window: ****** This is used for the help, story, end and preview texts. Its width is defined as well as how far the text will go across it [this is fun] #Stop window and footer appearing [looks good for story, bad for everything else] #Text still appears, but window surrounding it doesn't %patch $A65D $C3 #Size of window: %patch $A66E $04 $00 #Window left side %patch $A666 $2B $00 #Right side #How far text goes across screen %patch $A7B8 $26 $00 #Endtext starts with this, then uses above value [odd] %patch $A74C $26 $00 ****** Small footer window: ****** This is the footer window; it is added to the bottom of the large text windows. #Location of window bits: %patch $A6A0 $2B $00 #Middle end %patch $A6D4 $2B $00 #Bottom right corner %patch $A709 $05 $00 #Start of text string [ESC to E...] #What 'tiles' window is built from: %patch $A6AA $01 $00 #Top left %patch $A678 $03 $00 #Middle start %patch $A691 $04 $00 #Middle end %patch $A6DE $05 $00 #Bottom left %patch $A6E3 $02 $00 #Bottom middle %patch $A6C4 $03 $00 #Bottom right #text read from: %patch $A700 $A7 $33 #Text is white [00] or grey [01] %patch $A70D $01 $00 #Text: %patch $1CBC7 " ESC to exit /   to read " ****** Individual large text window: ****** Note that extrnal textfiles must terminate with $1A $00 or the program will keep reading. They can be shorter or equal to a certain length, that is, no longer than the origional Text in game, this is easily observed by leaving off the two terminating characters and checking how much of the origional story has been overwritten Note that the menu window does not shut when these windows are opened. Thus behind the previews and help windows is the menu, this can be annoyig if you want to show off some of the scenery behind it. #Endtext #Endtext window bottom %patch $5D68 $16 $00 #Endtext footer window %patch $5D90 $16 $00 #Story #Disable story %patch $A563 $C3 #Make an external storytext file, [file size 3118 chars max] %patchfile $18BC5 "STORYTXT.TXT" #Rough location of story screen %patch $A573 $02 #Storytext window bottom %patch $A58B $10 $00 #Help #Disable help %patch $A5A4 $C3 #Make an external help text file [file size 1996 chars max] %patchfile $179D0 "HELPTEXT.TXT" #Helptext window top %patch $A5F3 $01 $00 #Helptext window bottom %patch $A5EF $14 $00 ****** Quit y/n: ****** The following windows are used when Keen presses ESC, either in level or at the menu. Each displays the ending credits wen selected, OR it will show a small text message, much like the 'Out if Memory!' error message. If you don't want to show the end credits, this is worth noting. #Quit y/n %patch $0896 $01 $00 #Height %patch $089A $0C $00 #Width %patch $08A3 $3B $22 #Text read: %patch $08F6 $63 $22 #Look here for exit message, if $00 found, display ending credits %patch $1BA5B "Quit (Y/N)?" $00 %patch $1BA67 $00 #Ending message #Quit to dos/title? %patch $08C7 $02 $00 #Height %patch $08CB $14 $00 #Width %patch $08D4 $48 $22 #Text read: %patch $08DC $5A $22 #Look here for exit message, if $00 found, display ending credits %patch $1BA68 "Quit to (D)os or" $0A $00 %patch $1BA7A "(T)itle;" $00 %patch $1BA83 $00 #Ending message ****** Sound y/n: ****** This window appears when Keen presses F2, it turns the sound on or off #Sound on/off %patch $0D11 $01 $00 #Height %patch $0D15 $0D $00 #Width %patch $0D1E $71 $22 #Text read: %patch $1BA91 "Sound (Y/N)?" ****** Joystick configuration: ****** This window responds to F4, it configures the joystick #Joystick configuration %patch $153A $C3 #Disable %patch $1546 $09 $00 #Height %patch $154A $1C $00 #Width %patch $1599 $B5 $25 #Text read: %patch $15A1 $D0 $25 %patch $15A9 $EB $25 %patch $15B1 $06 $26 %patch $15B9 $13 $26 %patch $1669 $2E $26 %patch $1671 $4C $26 %patch $1679 $5A $26 %patch $1BDF9 " Joystick Configuration" $0A $0D $00 #$0D's are important! %patch $1BE14 " ----------------------" $0A $0D $00 %patch $1BE2F "Hold the joystick in the" $0A $0D $00 %patch $1BE4A "upper left" $0A $0D $00 %patch $1BE57 "corner and press button 1:" $00 %patch $1BE72 $0A $0A $0D "Hold the joystick in the" $0A $0D $00 %patch $1BE90 "lower right" $0A $0D $00 %patch $1BE9E "corner and press button 1:" $00 ****** Save game windows: ****** These are actually several windows, each used for a different situation; they can be disabled into two parts, the saving in a game and the loading a game from menu #Can't save game! %patch $A2AD $C3 #Can't load game [starts new game instead] %patch $A440 $C3 #What menu pointer becomes while loading windows open: %patch $A457 $20 #Saved files read from: %patch $A2BD $08 $32 #Save to %patch $A44D $15 $32 #Load from #Saved files [number is always 6th char, max length 8 chars inc num] %patch $1CA28 "SAVEK?." $00 #File saved to %patch $1CA35 "SAVEK?." $00 #File loaded from #Window sizes: [New window will not erase old, must be bigger #or equal in size to any windows appearing before it] #Can only save on map: %patch $A2DB $03 $00 #Height [lines] %patch $A2DF $16 $00 #Width [letters] #Which position want save: %patch $A309 $03 $00 #Height [lines] %patch $A30D $14 $00 #Width [letters] 3,14! O.o #Overwrite: %patch $A367 $03 $00 #Height %patch $A36B $14 $00 #Width #Can continue from menu: %patch $A414 $03 $00 #Height %patch $A418 $1D $00 #Width #Load 1-9 %patch $A46F $02 $00 #Height %patch $A473 $19 $00 #Width #Not saved! %patch $A4F3 $02 $00 #Height %patch $A4F7 $19 $00 #Width #Not compatible! %patch $A53D $02 $00 #Height %patch $A541 $19 $00 #Width #Text read from $19820 + value: %patch $A2E8 $22 $32 #Can only save on map %patch $A2F0 $38 $32 %patch $A2F8 $51 $32 %patch $A316 $62 $32 #Which position want save: %patch $A31E $77 $32 %patch $A326 $8D $32 %patch $A374 $9D $32 #Overwrite: %patch $A37C $B1 $32 %patch $A384 $C2 $32 %patch $A421 $D1 $32 #Can continue from menu: %patch $A429 $ED $32 %patch $A431 $0B $33 %patch $A492 $22 $33 #Load 1-9 %patch $A49A $3A $33 %patch $A500 $4D $33 #Not saved yet! %patch $A508 $61 $33 %patch $A54A $74 $33 #Not compatible! %patch $A552 $8F $33 #Text: %patch $1CA42 "You can SAVE the game" $0A $00 %patch $1CA59 "ONLY on the World Map!" $0A $00 %patch $1CA71 " Press a key:" $00 %patch $1CA82 "Which game position" $0A $00 %patch $1CA97 "do you want to save?" $0A $00 %patch $1CAAD " 1-9 or ESC:" $00 %patch $1CABD "That game position" $0A $00 %patch $1CAD1 "already exists!" $0A $00 %patch $1CAE2 "Overwrite it?:" $00 %patch $1CAF1 "You can continue this game" $0A $00 %patch $1CB0D "from the Main Menu next time" $0A $00 %patch $1CB2B "you play. Press a key:" $00 %patch $1CB42 " Continue Which Game?" $0A $00 %patch $1CB5A " 1-9 or ESC:" $00 %patch $1CB6D " That game hasn't" $0A $00 %patch $1CB81 " been saved yet!:" $00 %patch $1CB94 "That file is incompatible" $0A $00 %patch $1CBAF "with this version of CK:" $00 ****** Change keyboard controls: ****** This is an interesting window; it somes in two parts; the first displays a window that shows you actios you can change; the second shows the keys currently contolling each action [NUMLK, etc] this makes it long and complex. You free up a lot of code by disabling it. #Change keyboard controls: %patch $1931 $C3 #Disable %patch $193A $16 $00 #Height %patch $193E $0D $00 #Width %patch $1947 $E4 $26 #Text read: %patch $194F $F7 $26 %patch $1957 $09 $27 %patch $195F $17 $27 %patch $1967 $25 $27 %patch $196F $33 $27 %patch $1977 $41 $27 %patch $197F $4F $27 %patch $1987 $5D $27 %patch $198F $6B $27 %patch $1997 $79 $27 %patch $199F $87 $27 %patch $19A7 $95 $27 %patch $1A59 $AB $27 #Press new key %patch $1A93 $C0 $27 #Blanks line %patch $1799 $75 $26 #Identify Keys text [NUMLCK, BCKSP..] 19844 + value = location %patch $17A9 $79 $26 %patch $17B9 $7E $26 %patch $17C9 $82 $26 %patch $17D9 $87 $26 %patch $17E9 $8E $26 %patch $17F9 $94 $26 %patch $180E $9B $26 %patch $183A $9D $26 %patch $184A $A1 $26 %patch $185A $A5 $26 %patch $186A $AC $26 %patch $187A $B2 $26 %patch $188A $B9 $26 %patch $189A $BF $26 %patch $18AA $C3 $26 %patch $18BA $C8 $26 %patch $18C9 $CD $26 %patch $18D8 $D1 $26 %patch $18E7 $D6 $26 %patch $18F6 $DA $26 %patch $1905 $DE $26 %patch $1BE95 "ESC" $00 %patch $1BE99 "BKSP" $00 %patch $1BE9E "TAB" $00 %patch $1BEA2 "CTRL" $00 %patch $1BEA7 "LSHIFT" $00 %patch $1BEAE "SPACE" $00 %patch $1BEB4 "CAPSLK" $00 %patch $1BEBB "F" $00 #F1, F2... %patch $1BEBD "F11" $00 %patch $1BEC1 "F12" $00 %patch $1BEC5 "SCRLLK" $00 %patch $1BECC "ENTER" $00 %patch $1BED2 "RSHIFT" $00 %patch $1BED9 "PRTS" $00 %patch $1BEDF "ALT" $00 %patch $1BEE3 "HOME" $00 %patch $1BEEB "PGUP" $00 %patch $1BEED "END" $00 %patch $1BEF1 "PGDN" $00 %patch $1BEF6 "INS" $00 %patch $1BEFA "DEL" $00 %patch $1BEFE "NUMLK" $00 %patch $1BF04 "Keyboard Commands" $0A $00 %patch $1BF17 "-----------------" $00 %patch $1BF29 $0A "0 north :" $00 %patch $1BF37 $0A "1 northeast:" $00 %patch $1BF45 $0A "2 east :" $00 %patch $1BF53 $0A "3 southeast:" $00 %patch $1BF61 $0A "4 south :" $00 %patch $1BF6F $0A "5 southwest:" $00 %patch $1BF7D $0A "6 west :" $00 %patch $1BF8B $0A "7 northwest:" $00 %patch $1BF99 $0A "8 button1 :" $00 %patch $1BFA7 $0A "9 button2 :" $00 %patch $1BFB5 $0A "Modify which action:" $00 %patch $1BFCB $0A $0D "Press the new key:" $00 #[$0D imprtant, blanks used lines!] %patch $1BFE0 $0D " " $00 #This text blanks the above line after selection Thats all folks!