Patch:F10 S Cheat

From KeenWiki
Jump to navigation Jump to search

The F10 + S or slow motion cheat in Keen Galaxy and Dreams is a cheat that slows the gameplay to less than a quarter of its usual speed, allowing a player to examine gameplay frame-by-frame. This is especially useful during mod development and the cheat was initially used by the developers for this. Slow motion can be turned on and off again.

A related page is Patch:Game Speed, which also contains patches that control how slow slow motion is.

How much slower game runs

These patches control how much slower the game runs when slow motion is enabled. By default this is $0E, or 14x slower, but it can be any nonzero value. A value of 2 for example makes the game quite interesting.

How much slower game runs

#How much slower game runs -Keen 4
%patch $90B6 [$000EW]

#How much slower game runs -Keen 5
%patch $9021 [$000EW]

#How much slower game runs -Keen 6
%patch $8EA4 [$000EW]

#How much slower game runs -Keen Dreams
%patch $58DC [$000EW]

Game runs slow by default

These patches make the game run slowly by default, with the F10-S cheat causing the game to run at 'normal' speed.

Game runs slow by default

#Game runs slow by default -Keen 4
%patch $90B3 $75

#Game runs slow by default -Keen 5
%patch $901F $75

#Game runs slow by default -Keen 6
%patch $8EA1 $75

#Game runs slow by default -Keen Dreams
%patch $58D9 $75


These patches affect the text window displayed when the cheat is used.

Keen 4

#Slow motion window
%patch $7681 [$0003W] #Window height
%patch $7685 [$0012W] #Window width
%patch $7698 [$0569W] #Text called from (ON)
%patch $76A6 [$0578W] #Text called from (OFF)

%patch $2F3D9 "Slow motion ON" $00
%patch $2F3E8 "Slow motion OFF" $00

Keen 5

#Slow motion window
%patch $7636 [$0003W] #Window height
%patch $763A [$0012W] #Window width
%patch $764D [$04E5W] #Text called from (ON)
%patch $765B [$04F4W] #Text called from (OFF)

%patch $30825 "Slow motion ON" $00
%patch $30834 "Slow motion OFF" $00

Keen 6

#Slow motion window
%patch $7456 [$0003W]  #Height
%patch $7456 [$0012W]  #Width
%patch $746D [$04E1W]  #Text called from (ON)
%patch $747B [$04F0W]  #Text called from (OFF)

%patch $31121 "Slow motion ON" $00
%patch $31130 "Slow motion OFF" $00

Keen Dreams

#Slow motion window
%patch $38C1 [$0003W]  #Height
%patch $38C5 [$0012W]  #Width
%patch $38D8 [$00F0W]  #Text called from (ON)
%patch $38DD [$00FFW]  #Text called from (OFF)

%patch $23B60 "Slow motion ON"
%patch $23B6F "Slow motion OFF"

Key that activates cheat

This patch alters what key activates the slow motion cheat. (See Patch:Scancodes.) By default this is 's' Setting this to $C647, $BCAF or $C7D5 (in Keen 4, Keen 5 and Keen 6 respectively.) will disable the cheat .

Note that two conditions need to be met for the slow motion cheat to work; the second is the 'game state' and stops the cheat being activated during demos.

Keen 4

#F10 + S keys
%patch $766A {$C685W} #S
%patch $7671 {$C631W} #?

Keen 5

#F10 + S keys
%patch $761F {$BCEDW} #S
%patch $7626 {$BC99W} #?

Keen 6

#F10 + S keys
%patch $743F {$C813W} #S
%patch $7446 {$C7BFW} #?

Keen Dreams

#F10 + S keys
%patch $38A9 {$E4C8W} #S
%patch $38B0 {$E9EAW} #?

Disable cheat

This patch disables the F10 S cheat entirely.

Keen 4

#Disable F10-S (Free $7670-76C3)
%patch $7668 $EB $5A

Keen 5

#Disable F10-S (Free $7670-76C3)
%patch $761D $EB $5A

Keen 6

#Disable F10-S
%patch $743D $EB $5A

Keen Dreams

#Disable F10-S (Free $38A9-38F6)
%patch $38A7 $EB $4E

Disable F10 - V and F10 - S

As well as disabling F10-V, this disables the F10-S cheat. It frees up significant code space for other patches.

Keen 4

#Disable F10-S AND F10-V (Free $766B-7760)
%patch $7668 $E9 $00F6W

Keen 5

#Disable F10-S AND F10-V (Free $761D-7712)
%patch $761D $E9 $00F6W

Keen 6

#Disable F10-S AND F10-V (Free $7440-7535)
%patch $743D $E9 $00F6W

Can only turn slow motion on

This patch causes the F10-S cheat to turn on slow motion (without the associated text box.) but does not allow it to be turned off again.

Keen 4

#Can only turn slow motion ON (Frees $7681-$76C3)
%patch $767B $5F $5E $8B $E5 $5D $CB

Keen 5

#Can only turn slow motion ON (Frees $7681-$76C3)
%patch $7630 $5F $5E $8B $E5 $5D $CB

Keen 6

#Can only turn slow motion ON (Frees $7681-$76C3)
%patch $7450 $5F $5E $8B $E5 $5D $CB

Keen Dreams

#Can only turn slow motion ON (Frees $388E-$38F6)
%patch $38BB $E9 $00CCW

Disable slow motion but not cheat

These patches completely disable slow motion. While the cheat can still be used, turning on and off, this will not affect the game speed at all.

Disable slow motion

#Disable slow motion -Keen 4
%patch $90AE $EB $1F

#Disable slow motion -Keen 5
%patch $9019 $EB $1F

#Disable slow motion -Keen 6
%patch $8E9C $EB $1F

#Disable slow motion -Keen Dreams
%patch $58D4 $EB $1E

Complete code

This is the complete code for the F10-S cheat. For Galaxy the first line checks for the two keys required to activate the cheat. The second line flips the slow motion parameter and sets up the text window. (That is, if slow motion is off it is turned on, if on it is turned off before the window even appears.) The third line checks the parameter to decide what text to display in the window. The fourth line is the two different text calls, one for off, one for on. The fifth and sixth line wait for a key then clear the window from the screen and end.

The Keen Dreams code is similar but more efficient.

Keen 4

#F10-S cheat code
%patch $7668 $83 $3E {$C685W}  [$00] {$74} $55 $83 $3E {$C631W}  [$00] {$74} $4E $83 $36
             {$C62DW}  [$01] $9A $23DB0999RL     $B8 [$0003W]  $50 $B8 [$0012W]  $50
             $9A $20061070RL     $83 $C4 $04 $83 $3E {$C62DW}  [$00] {$74} $0E $B8
             [$0569W]  $50 $9A $20060E1FRL     $83 $C4 $02 $EB $0C $B8 [$0578W]
             $50 $9A $20060E1FRL     $83 $C4 $02 $9A $23DB0A9BRL     $9A
         $1B350EDFRL     $B8 $0001W  $5F $5E $8B $E5 $5D $CB

Keen 5

#F10-S cheat code
%patch $761D $83 $3E {$BCEDW}  [$00] {$74} $55 $83 $3E {$BC99W}  [$00] {$74} $4E $83 $36
             {$BC95W}  [$01] $9A $1E000995RL     $B8 [$0003W]  $50 $B8 [$0012W]  $50
             $9A $1A2B106ERL     $83 $C4 $04 $83 $3E {$BC95W}  [$00] {$74} $0E $B8
             [$04E5W]  $50 $9A $1A2B0E1DRL     $83 $C4 $02 $EB $0C $B8 [$04F4W]
             $50 $9A $1A2B0E1DRL     $83 $C4 $02 $9A $1E000A97RL     $9A
         $155A0EDCRL     $B8 $0001W  $5F $5E $8B $E5 $5D $CB

Keen 6

#F10-S cheat code
%patch $743D $83 $3E {$C813W}  [$00] {$74} $55 $83 $3E {$C7BFW}  [$00] {$74} $4E $83 $36
             {$C7BBW}  [$01] $9A $1CF709A3RL     $B8 [$0003W]  $50 $B8 [$0012W]  $50
             $9A $18F81070RL     $83 $C4 $04 $83 $3E {$C7BBW}  [$00] {$74} $0E $B8
             [$04E1W]  $50 $9A $18F80E1FRL     $83 $C4 $02 $EB $0C $B8 [$04F0W]
             $50 $9A $18F80E1FRL     $83 $C4 $02 $9A $1CF70AA5RL     $9A
         $14130EE0RL     $B8 $0001W  $5F $5E $8B $E5 $5D $CB

Keen Dreams

#F10-S cheat code
%patch $38A7 $83 $3E {$E4C8W}  [$00] {$74} $49 $83 $3E {$E9EAW}  [$00] {$74} $42 $81 $36
             {$7014W}  $0001W  $9A $0CA507D5RL     $B8 [$0003W]  $50 $B8 [$0012W]
             $50 $9A $11FA1C64RL     $83 $C4 $04 $83 $3E {$7014W}  [$00] {$74} $05
             $B8 [$00F0W]  $EB $03 $B8 [$00FFW]  $50 $9A $11FA1A1ERL     $44 $44
             $9A $0CA508C0RL     $9A $0FE40C8ERL     $B8 $0001W  $E9 $0095W

Window has a different border

In Keen Dreams it is possible to make certain windows use a different set of 8x8 tiles for their border. This patch is on the 'text windows' page.