Patch:F1-F12 keys

From KeenWiki
Jump to: navigation, search

This page deals with patches that relate to or affect the 'function keys' (F1, F2, F3... F12) in Keen.


Pages relating to F keys

There are several pages that relate to different F keys that have a singular effect in a game. In the case of Keen Galaxy they may be the only times that that particular F key is referenced by default. The following pages contain such patches:


Keen Vorticons

The F keys do not have much function in Keen Galaxy; only the F1, F9 and F10 keys have any functionality by default and two of those deal with cheats. In Keen Vorticons by contrast F1 to F5 are accessible throughout the game.


Keen 1

In Keen 1 the value of a specific variable holds the scancode of the key currently being pressed. This is checked at a specific piece of code and depending on its value different things are done. All keys can be changed to another key (as long as it is not the same as another game key.) and all options can be disabled.

Patch: Keen 1
#Esc and F-key scancodes
%patch $0C88 $0001W
#Esc (Quit)
%patch $0C90 $003BW
#F1 (Help)
%patch $0C95 $003CW
#F2 (Sounds)
%patch $0C81 $003DW
#F3 (Keyboard definitions)
%patch $0C9D $003EW
#F4 (Joystick definitions)
%patch $0CA2 $003FW
#F5 (Save game)
#Disable...
%patch $0C8A $EB
#Quit
%patch $0C92 $90 $90
#Help disabled
%patch $0C97 $90 $90
#Sounds disabled
%patch $0C83 $90 $90
#Keyboard definitions disabled
%patch $0C9F $90 $90
#Joystick definitions disabled
%patch $0CA4 $90 $90
#Save game disabled


Keen 2

Keen 2 handles the F keys in exactly the same manner as Keen 1; the value of a specific variable holds the scancode of the key currently being pressed. This is checked at a specific piece of code and depending on its value different things are done. All keys can be changed to another key (as long as it is not the same as another game key.) and all options can be disabled.

Patch: Keen 2
#Esc and F-key scancodes
%patch $0C88 $0001W
#Esc (Quit)
%patch $0C90 $003BW
#F1 (Help)
%patch $0C95 $003CW
#F2 (Sounds)
%patch $0C81 $003DW
#F3 (Keyboard definitions)
%patch $0C9D $003EW
#F4 (Joystick definitions)
%patch $0CA2 $003FW
#F5 (Save game)
#Disable...
%patch $0C8A $EB
#Quit
%patch $0C92 $90 $90
#Help disabled
%patch $0C97 $90 $90
#Sounds disabled
%patch $0C83 $90 $90
#Keyboard definitions disabled
%patch $0C9F $90 $90
#Joystick definitions disabled
%patch $0CA4 $90 $90
#Save game disabled


Keen 3

In Keen 3 what the the F keys as well as the Escape key do is controlled by a list. The list contains two groups of 6 items for a total of 12 items. The first item is the quit option scancode and the secenth item is the pointer to the quit option code. The same pattern follows for the other 5 options.

To disable an option simply replace its list value with $0D7EW, though it may be simpler just to make the list shorter and rearrange the values.

Patch: Keen 3
#List location
%patch $0CEC $0DB9W
#List length
%patch $0CE9 $0006W
#Scancode list
%patch $0DAD $0001W
#Esc
%patch $0DAF $003BW
#F1
%patch $0DB1 $003CW
#F2
%patch $0DB3 $003DW
#F3
%patch $0DB5 $003EW
#F4
%patch $0DB7 $003FW
#F5
#Pointer list
%patch $0DB9 $0D75W
#Esc: Quit (At $D75)
%patch $0DBB $0CFEW
#F1: Help (At $CFE)
%patch $0DBD $0D0AW
#F2: Sound (At $D0A)
%patch $0DBF $0D4FW
#F3: Keyboard definitions (At $D4F)
%patch $0DC1 $0D5BW
#F4: Joystick definitions (At $D5B)
%patch $0DC3 $0D6CW
#F5: Save game (At $D6C)


Keen Dreams

As well as the F10 key used for cheats the F1 to F7 keys are used to quickly bring up various menus ingame, saving the player from having to navigate to them. The first patch covers what keys can be utilized ingame to bring up the menus. These are the F1 to F7 keys and Esc.

Patch: Keen Dreams
#Gameplay menu keys
%patch $454C $3B
#F1 to-
%patch $4553 $41
#F7
%patch $455A $01
#Esc


Disable Fx keys

The first patch listed here disables accessing the menu while playing a game, except by pressing Esc. The hotkeys still work within the menu.

The second patch disables these keys entirely, both ingame and in the menu.

Patch: Keen Dreams
#Disable gameplay menu access via Fx hotkeys
%patch $4548 $EB $0C
#Disable Fx hotkeys entirely
%patch $15F35 $CB