Difference between revisions of "SCI/Debug Modes"

From ScummVM :: Wiki
< SCI
Jump to navigation Jump to search
(Initial import of HWM Debug Mode FAQ (SCI portion))
 
(removed line breaks)
Line 6: Line 6:
=== Intro ===
=== Intro ===


  This FAQ will explain the several debug modes found in Sierra On-Line
  This FAQ will explain the several debug modes found in Sierra On-Line adventure games.
adventure games.


  Before you read, keep in mind the following things:
  Before you read, keep in mind the following things:
Line 13: Line 12:
  - References to "ego" mean "the main character" or the object you control.
  - References to "ego" mean "the main character" or the object you control.


  - Any brackets, asterisks or quotation marks should NOT be typed in. They're
  - Any brackets, asterisks or quotation marks should NOT be typed in. They're only used to clarify.
  only used to clarify.


  - Anything between brackets means it's either a key or a combination of
  - Anything between brackets means it's either a key or a combination of keys. So:
  keys. So:


   [CTRL + D] means you push the CONTROL-key and the D-key AT THE SAME TIME.
   [CTRL + D] means you push the CONTROL-key and the D-key AT THE SAME TIME.
Line 23: Line 20:
  - Between quotation marks means it should be typed in.
  - Between quotation marks means it should be typed in.


  - Words between asterisks should be replaced with a proper word/object/thing.
  - Words between asterisks should be replaced with a proper word/object/thing. So:
  So:


   "PITCH *object name*" means you should type the object you want to get,
   "PITCH *object name*" means you should type the object you want to get, e.g. "PITCH WIG".
  e.g. "PITCH WIG".


  And while you might know, Sierra games use an "interpreter". This basically
  And while you might know, Sierra games use an "interpreter". This basically is a program/system which translates the program statements (in byte-code) into executable machine code one line at a time as the program is running; as opposed to a compiler, which translates the entire program before the program is executed. The different interpreters used by Sierra for their games are described in the next chapter.
is a program/system which translates the program statements (in byte-code)
into executable machine code one line at a time as the program is running;
as opposed to a compiler, which translates the entire program before the
program is executed. The different interpreters used by Sierra for their
games are described in the next chapter.


  This FAQ only covers the debug modes of IBM PC versions, however, some of
  This FAQ only covers the debug modes of IBM PC versions, however, some of them might work on the other systems too.
them might work on the other systems too.


==== SCI0 ====
==== SCI0 ====
Line 45: Line 34:
  Video: 320x200 resolution, 16 colors (and dithering)
  Video: 320x200 resolution, 16 colors (and dithering)
  Audio: MIDI
  Audio: MIDI
  Platform: IBM PC (including PCjr & TANDY), Commodore AMIGA, Atari ST &
  Platform: IBM PC (including PCjr & TANDY), Commodore AMIGA, Atari ST & Apple Macintosh
          Apple Macintosh
  Period: 1988-1990
  Period: 1988-1990


Line 136: Line 124:
=== Debug mode in SCI0 games ===
=== Debug mode in SCI0 games ===


  Nearly all SCI0 games have an internal debugger, meaning a build-in debugger
  Nearly all SCI0 games have an internal debugger, meaning a build-in debugger in the game's interpreter. Next to that, some games also have a script debugger. Like with AGI games, a script debugger is a debug script located directly in the game code itself, rather than in the interpreter's code.
in the game's interpreter. Next to that, some games also have a script
debugger. Like with AGI games, a script debugger is a debug script
located directly in the game code itself, rather than in the interpreter's
code.


==== Internal Debugger ====
==== Internal Debugger ====


  The internal debugger is activated by pressing [SHIFT + SHIFT + MINUS]. So
  The internal debugger is activated by pressing [SHIFT + SHIFT + MINUS]. So both SHIFTs and the MINUS key located at the NUMERIC keypad AT ONCE. The debugger is/was mainly useful for programmers, but some things like changing variables can be easily done.
both SHIFTs and the MINUS key located at the NUMERIC keypad AT ONCE. The
debugger is/was mainly useful for programmers, but some things like changing
variables can be easily done.


  Options:
  Options:
Line 176: Line 157:
  Note that these are case sensitive, so [CAPS LOCK] should be de-activated.
  Note that these are case sensitive, so [CAPS LOCK] should be de-activated.


  Example: The room number is controlled by global variable 13. When the debug
  Example: The room number is controlled by global variable 13. When the debug is activated, push [G]. It will ask which global variable should be changed. Enter "13". Now it will show the current value of the variable. Change this to your preferred, valid room number. Exit the debugger to see the effect.
is activated, push [G]. It will ask which global variable should be changed.
Enter "13". Now it will show the current value of the variable. Change this
to your preferred, valid room number. Exit the debugger to see the effect.


==== Script Debugger ====
==== Script Debugger ====


  The script debugger is a bit more interesting and often more extensive. Not
  The script debugger is a bit more interesting and often more extensive. Not all games have a script debugger, some of them were likely removed before the final release of the game in question. However, a fair amount of games still have it. The script debugger is in most cases activated by typing a certain sentence in the game. This sentence differs from game to game.
all games have a script debugger, some of them were likely removed before the
final release of the game in question. However, a fair amount of games still
have it. The script debugger is in most cases activated by typing a certain
sentence in the game. This sentence differs from game to game.


  When there isn't a sentence to type, but a debug is present in the game, it
  When there isn't a sentence to type, but a debug is present in the game, it can be activated by changing the value of a certain global variable. An example of doing this is given in the previous chapter "Internal Debugger".
can be activated by changing the value of a certain global variable. An
example of doing this is given in the previous chapter "Internal Debugger".


  Note that in some games, the debug mode will be activated on room change.
  Note that in some games, the debug mode will be activated on room change.


  When the script debugger is activated, the following general commands are
  When the script debugger is activated, the following general commands are available:
available:


  [CTRL + left mouse click]  -  Instant movement (of ego) *
  [CTRL + left mouse click]  -  Instant movement (of ego) *
Line 205: Line 176:
===== Game specific: King's Quest 4 =====
===== Game specific: King's Quest 4 =====


  To activate the debug mode, type: "overtime nosleep". An extra menu item will
  To activate the debug mode, type: "overtime nosleep". An extra menu item will be activated on room change.
be activated on room change.
   
   
  The following options are available:
  The following options are available:
Line 231: Line 201:
  [ALT + left mouse click]  -  Show ego information
  [ALT + left mouse click]  -  Show ego information
   
   
  Most options are also available in the debug menu item. The menu option
  Most options are also available in the debug menu item. The menu option "Clicks" will (de-)activate the debug options triggered by mouse.
"Clicks" will (de-)activate the debug options triggered by mouse.


===== Game Specific: Leisure Suit Larry 2 =====
===== Game Specific: Leisure Suit Larry 2 =====


  There are two ways of activating this debug mode, depending on the version
  There are two ways of activating this debug mode, depending on the version of your copy of the game.
of your copy of the game.


  With v1.000.011, the debug mode can be activated by typing: "praise lord"
  With v1.000.011, the debug mode can be activated by typing: "praise lord"
  The debug mode will be activated when entering a new room.
  The debug mode will be activated when entering a new room.


  Although "praise lord" works too in v1.002.000 (the one included in the
  Although "praise lord" works too in v1.002.000 (the one included in the Leisure Suit Larry collections), it offers another method. At the copy-protection sequence at the start of the game, a phone number is asked. Enter "555-0724" to pass the copy-protection and get the debug mode activated.
Leisure Suit Larry collections), it offers another method. At the copy-
protection sequence at the start of the game, a phone number is asked.
Enter "555-0724" to pass the copy-protection and get the debug mode
activated.


  The following options are available:
  The following options are available:
Line 269: Line 233:
===== Game Specific: Leisure Suit Larry 3 =====
===== Game Specific: Leisure Suit Larry 3 =====


  To activate the debug mode, type: "ascot backdrop". The debug mode will be
  To activate the debug mode, type: "ascot backdrop". The debug mode will be activated when entering a new room.
activated when entering a new room.


  The following options are available:
  The following options are available:
Line 289: Line 252:
  [ALT + M]  -  Show memory
  [ALT + M]  -  Show memory


  * Before this will work, you'll have to place the SCI picture resource of
  * Before this will work, you'll have to place the SCI picture resource of the room you want to test in the game directory and rename it to "PIC.999". That specific picture/room will be shown and can be tested in the game.
  the room you want to test in the game directory and rename it to "PIC.999".
  That specific picture/room will be shown and can be tested in the game.


  Also, the self-running demo of LSL3 has the same debug mode, apart from a
  Also, the self-running demo of LSL3 has the same debug mode, apart from a room-selector on the beginning. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x00000064 to "00" (instead of the original "01"). Beware that it's not really worth it, since it's pretty much the same deal and lots of missing resources cause it to crash easily.
room-selector on the beginning. It can be activated by extracting SCRIPT.000
from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in
addition changing the byte at offset 0x00000064 to "00" (instead of the
original "01"). Beware that it's not really worth it, since it's pretty much
the same deal and lots of missing resources cause it to crash easily.


===== Game specific: Mixed-up Mother Goose =====
===== Game specific: Mixed-up Mother Goose =====


  Since the input is disabled, use the internal debugger to change the value  
  Since the input is disabled, use the internal debugger to change the value of global variable 100 to 1.
of global variable 100 to 1.
   
   
  The following options are available:
  The following options are available:
Line 317: Line 272:
  [ALT + left mouse click]  -  Show ego information
  [ALT + left mouse click]  -  Show ego information


  A useless (but interesting for some nonetheless) debug menu is still partly
  A useless (but interesting for some nonetheless) debug menu is still partly in the game's scripts. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x000026C7 to "01" (instead of the original "00"). This will activate the debug mode at the start of the game, which will also initialize the extra pulldown menu's.
in the game's scripts. It can be activated by extracting SCRIPT.000 from
the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition
changing the byte at offset 0x000026C7 to "01" (instead of the original
"00"). This will activate the debug mode at the start of the game, which
will also initialize the extra pulldown menu's.


===== Game specific: Police Quest 2 =====
===== Game specific: Police Quest 2 =====


  Police Quest 2 should respond to the sentence: "kiss angel 187", but somehow
  Police Quest 2 should respond to the sentence: "kiss angel 187", but somehow it doesn't work. So use the internal debugger to change the value of global variable 101 to 1.
it doesn't work. So use the internal debugger to change the value of global
variable 101 to 1.


  The following options are available:
  The following options are available:
Line 410: Line 358:
=== Debug mode in SCI1 games ===
=== Debug mode in SCI1 games ===


  SCI1 is a whole different story. The internal debugger has been removed from
  SCI1 is a whole different story. The internal debugger has been removed from pretty much every (public) release of the games. You can still use the key combination [SHIFT + SHIFT + MINUS], but it will throw you out of the game, due to the absence of the debugger. That said, internal SCI1 debuggers are not non-existant (really early versions, like the interpreter used with "Jones in the Fast Lane" still have their debugger) and work just like the SCI0 ones.
pretty much every (public) release of the games. You can still use the key
combination [SHIFT + SHIFT + MINUS], but it will throw you out of the game,
due to the absence of the debugger. That said, internal SCI1 debuggers are
not non-existant (really early versions, like the interpreter used with
"Jones in the Fast Lane" still have their debugger) and work just like the
SCI0 ones.


  However, script debuggers have survived in a bunch of games. The way of
  However, script debuggers have survived in a bunch of games. The way of activating them depends mainly on the version of the SCI interpreter.
activating them depends mainly on the version of the SCI interpreter.
SCI1 games (interpreter version < 1.001.000) do not have a standard way of activating the script debugger (atleast, I haven't found one yet).


SCI1 games (interpreter version < 1.001.000) do not have a standard way
  SCI11 games (interpreter versions > 1.001.000) are activated by extracting the debug script from the packed RESOURCE files. Some kind of routine checks if the file is present in the game directory (and not just in the RESOURCE files) and the debug mode gets activated. An empty file won't do the trick, since the external scripts override the ones in the packed resource.
of activating the script debugger (atleast, I haven't found one yet).
 
  SCI11 games (interpreter versions > 1.001.000) are activated by extracting
the debug script from the packed RESOURCE files. Some kind of routine checks
if the file is present in the game directory (and not just in the RESOURCE
files) and the debug mode gets activated. An empty file won't do the trick,
since the external scripts override the ones in the packed resource.


==== Internal Debugger ====
==== Internal Debugger ====


  Since the SCI1 internal debugger is pretty much the same as the one found in
  Since the SCI1 internal debugger is pretty much the same as the one found in the SCI0 games, refer to chapter 4.1 on its usage. Currently, the following SCI1 games with an internal debugger are known:
the SCI0 games, refer to chapter 4.1 on its usage. Currently, the following
SCI1 games with an internal debugger are known:
   
   
  Jones in the Fast Lane (both CGA/EGA/Tandy and VGA disk releases)
  Jones in the Fast Lane (both CGA/EGA/Tandy and VGA disk releases)
Line 440: Line 374:
  Mixed-Up Mother Goose (1990 CD-ROM version)
  Mixed-Up Mother Goose (1990 CD-ROM version)
   
   
  Sometimes an interpreter can be swapped with another one, to use within
  Sometimes an interpreter can be swapped with another one, to use within other games, but often the games get too buggy to play. As of yet, trail-and-error is the key here.
other games, but often the games get too buggy to play. As of yet, trail-and-
error is the key here.


==== SCI version < 1.001.000 (SCI1) ====
==== SCI version < 1.001.000 (SCI1) ====
Line 450: Line 382:
===== Game specific: Police Quest 3 =====
===== Game specific: Police Quest 3 =====


  Rename/remove the file "version" in your PQ3 directory, or set the attribute
  Rename/remove the file "version" in your PQ3 directory, or set the attribute to "read-only".
to "read-only".


  This will give you some options at the beginning to configure which flags
  This will give you some options at the beginning to configure which flags should be set and where/when you will start the game.
should be set and where/when you will start the game.


===== Game specific: Space Quest 4 (beta) =====
===== Game specific: Space Quest 4 (beta) =====


  Somewhere in 1991, the cracking group The Humble Guys released a beta version
  Somewhere in 1991, the cracking group The Humble Guys released a beta version of Space Quest 4. I suspect it had version number 1.052 (I found some saves of the beta), but the first sales release had that too, so far for that lead.
of Space Quest 4. I suspect it had version number 1.052 (I found some saves
of the beta), but the first sales release had that too, so far for that lead.


  However, someone named "Beamer" typed up a list back then describing the
  However, someone named "Beamer" typed up a list back then describing the functions and based on that, I made this following list:
functions and based on that, I made this following list:


  [ALT + A]  -  Show ego information **
  [ALT + A]  -  Show ego information **
Line 483: Line 410:


  * This option is removed and crashes the game
  * This option is removed and crashes the game
  ** Seems like either Sierra or the author of the original text file swapped
  ** Seems like either Sierra or the author of the original text file swapped the keys for "Show cast" and "Show ego information"
    the keys for "Show cast" and "Show ego information"


==== SCI version > 1.001.000 (SCI11) ====
==== SCI version > 1.001.000 (SCI11) ====


  At the time of writing, VAG's SCIResDump can be used for games using an  
  At the time of writing, VAG's SCIResDump can be used for games using an interpreter > 1.001.000. This is a bit tricky, but beats any other manual method. Refer to its documentation on further use. When dumping the files, it would be advisable to dump, apart from the SCR file, the accompanying HEP and TEX file. Some debug modes will not work properly without them.
interpreter > 1.001.000. This is a bit tricky, but beats any other manual
method. Refer to its documentation on further use. When dumping the files,
it would be advisable to dump, apart from the SCR file, the accompanying HEP
and TEX file. Some debug modes will not work properly without them.


  Besides giving you the usual debug options, some games will give the
  Besides giving you the usual debug options, some games will give the "Where to?" dialog. Basically, this is a dialog giving you the opportuninty to set various flags/variables at the beginning of the game, so you can for example start halfway in the game or so.
"Where to?" dialog. Basically, this is a dialog giving you the opportuninty
to set various flags/variables at the beginning of the game, so you can
for example start halfway in the game or so.


===== Game specific: EcoQuest 2 =====
===== Game specific: EcoQuest 2 =====
Line 503: Line 422:
  The "magic" script is 98. Extract 98.SCR & 98.HEP
  The "magic" script is 98. Extract 98.SCR & 98.HEP


  This debug mode however, is partially removed or something. Only the "Where
  This debug mode however, is partially removed or something. Only the "Where to?" room select dialog on start will appear, the rest of the keys won't work.
to?" room select dialog on start will appear, the rest of the keys won't
work.


===== Game specific: Freddy Pharkas: Frontier Pharmacist =====
===== Game specific: Freddy Pharkas: Frontier Pharmacist =====


  The "magic" script is 10. However, this script cannot be found in the English
  The "magic" script is 10. However, this script cannot be found in the English release of Freddy Pharkas. Extract 10.SCR/10.HEP/10.TEX from the RESOURCE.MSG file (instead of the usual RESOURCE.000) in a NON-ENGLISH(!) release. I've tested this with the German, Spanish and French release. The extracted script will work with every version of the game, also the English one.
release of Freddy Pharkas. Extract 10.SCR/10.HEP/10.TEX from the RESOURCE.MSG
file (instead of the usual RESOURCE.000) in a NON-ENGLISH(!) release. I've
tested this with the German, Spanish and French release. The extracted script
will work with every version of the game, also the English one.


  It activates the following options:
  It activates the following options:
Line 556: Line 469:
===== Game specific: Leisure Suit Larry 6 =====
===== Game specific: Leisure Suit Larry 6 =====


  The "magic" script is 911. Extract 911.SCR/911.HEP/911.TEX. Besides giving
  The "magic" script is 911. Extract 911.SCR/911.HEP/911.TEX. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:
you a "Where to?" dialog at the beginning, it activates the following
options:


  [ALT + A]  -  Show cast (information about all objects on screen)
  [ALT + A]  -  Show cast (information about all objects on screen)
Line 623: Line 534:
===== Game specific: Police Quest (SCI remake) =====
===== Game specific: Police Quest (SCI remake) =====


  The "magic" script is 899. Extract 899.SCR/899.HEP/899.TEX. To activate the
  The "magic" script is 899. Extract 899.SCR/899.HEP/899.TEX. To activate the debug mode in this case, they should be first renamed to 702.SCR/702.HEP/702.TEX.
debug mode in this case, they should be first renamed to 702.SCR/702.HEP/
702.TEX.


  It activates the following options:
  It activates the following options:
Line 663: Line 572:
===== Game specific: Quest for Glory (SCI remake) =====
===== Game specific: Quest for Glory (SCI remake) =====


  The "magic" script is 298. However, it's not available anymore in the game's
  The "magic" script is 298. However, it's not available anymore in the game's resource files. So to activate the debug mode, debug scripts from another game should be used. You can use the script from either Laura Bow 2 or Police Quest (SCI remake). They should be first renamed to 298.SCR/298.HEP/298.TEX.
resource files. So to activate the debug mode, debug scripts from another
game should be used. You can use the script from either Laura Bow 2 or
Police Quest (SCI remake). They should be first renamed to 298.SCR/298.HEP/
298.TEX.
   
   
  Now the "Where to?" dialog works, while the remaining functions don't.
  Now the "Where to?" dialog works, while the remaining functions don't. Perhaps the scripts used are not fully compatible with this game.
Perhaps the scripts used are not fully compatible with this game.


===== Game specific: Space Quest 5 (beta) =====
===== Game specific: Space Quest 5 (beta) =====


  The Space Quest series seem to be the major victim of leaked betas at Sierra.
  The Space Quest series seem to be the major victim of leaked betas at Sierra. A Space Quest 5 beta version was released by some group, back in 1993. This beta was actually a reviewer's copy, included a script debugger (but no internal debugger) and works just like most of them.
A Space Quest 5 beta version was released by some group, back in 1993. This
beta was actually a reviewer's copy, included a script debugger (but no
internal debugger) and works just like most of them.


  The version in question is version 0.028, it has the following commands:
  The version in question is version 0.028, it has the following commands:
Line 694: Line 595:
===== Game specific: The Dagger of Amon Ra =====
===== Game specific: The Dagger of Amon Ra =====


  This probably is the buggiest debug mode, thus not really interesting. What
  This probably is the buggiest debug mode, thus not really interesting. What is somewhat interesting though, is that the "magic" script (10), cannot be found in the game's resource files, yet, the script somehow turned up on the web. So download it and copy 10.SCR/10.HEP/10.TEX to the game directory.
is somewhat interesting though, is that the "magic" script (10), cannot be
found in the game's resource files, yet, the script somehow turned up on the
web. So download it and copy 10.SCR/10.HEP/10.TEX to the game directory.
   
   
  It somewhat activates the following options:
  It somewhat activates the following options:
Line 741: Line 639:
=== SCI32 ===
=== SCI32 ===


  In the beginning, SCI32 games had the same activation procedure as SCI11
  In the beginning, SCI32 games had the same activation procedure as SCI11 games. In this FAQ, this will be called the "Traditional" method. However, at a certain point, this procedure got replaced by the so-called "CLASSES" method. Both are explained below.
games. In this FAQ, this will be called the "Traditional" method. However,
at a certain point, this procedure got replaced by the so-called "CLASSES"
method. Both are explained below.


==== Internal Debugger ====
==== Internal Debugger ====


  There is currently one SCI32 interpreter known with an internal debugger.
  There is currently one SCI32 interpreter known with an internal debugger. It's bundled with a rare Gabriel Knight 2 demo and can be activated by pushing the [`] key, usually above [TAB].
It's bundled with a rare Gabriel Knight 2 demo and can be activated by
pushing the [`] key, usually above [TAB].


  Options:
  Options:
Line 795: Line 688:
  Note that these are case sensitive, so [CAPS LOCK] should be de-activated.
  Note that these are case sensitive, so [CAPS LOCK] should be de-activated.


  This particular interpreter also support the following command line
  This particular interpreter also support the following command line parameters:
parameters:
   
   
  -c      -  Cursor display for resource loading (e.g. -c958 for cursor 958)
  -c      -  Cursor display for resource loading (e.g. -c958 for cursor 958)
Line 809: Line 701:
==== "Traditional" method ====
==== "Traditional" method ====


  The "Traditional" method is the same method as the SCI11 one: It relies on
  The "Traditional" method is the same method as the SCI11 one: It relies on extracting scripts from the RESOURCE or RESMAP file. Again, at the time of writing, VAG's SCIResDump is the tool to use. Please refer to its documention on further use.
extracting scripts from the RESOURCE or RESMAP file. Again, at the time of
writing, VAG's SCIResDump is the tool to use. Please refer to its documention
on further use.
   
   
===== Game specific: Gabriel Knight (CD-ROM version) =====
===== Game specific: Gabriel Knight (CD-ROM version) =====
Line 910: Line 799:
===== Game specific: Police Quest 4 (CD-ROM version) =====
===== Game specific: Police Quest 4 (CD-ROM version) =====


  This isn't exactly the "traditional" method, but it does involve external
  This isn't exactly the "traditional" method, but it does involve external scripts. Activate the debug mode by renaming/removing 4.SCR
scripts. Activate the debug mode by renaming/removing 4.SCR


  [ALT + A]    -  Show cast (information about all objects on screen)
  [ALT + A]    -  Show cast (information about all objects on screen)
Line 985: Line 873:
==== "CLASSES" method ====
==== "CLASSES" method ====


  The later SCI32 games (1995-1997) use the "CLASSES" method. They depend on
  The later SCI32 games (1995-1997) use the "CLASSES" method. They depend on a file in the game directory, called "CLASSES". This can be an empty file. It's checked on existance by some code in the script, if found, the debug mode gets activated. "AUTOTP" as an empty file will function too sometimes, however its purpose is not fully clear to me.
a file in the game directory, called "CLASSES". This can be an empty file.
It's checked on existance by some code in the script, if found, the debug
mode gets activated. "AUTOTP" as an empty file will function too sometimes,
however its purpose is not fully clear to me.


  Note that the CLASSES file should NOT have an extension (like .txt, etc.)
  Note that the CLASSES file should NOT have an extension (like .txt, etc.)
Line 995: Line 879:
===== Game specific: Gabriel Knight 2 =====
===== Game specific: Gabriel Knight 2 =====


  Activate the debug mode usings the "CLASSES" method. Besides giving you a
  Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:
"Where to?" dialog at the beginning, it activates the following options:


  [ALT + A]    -  Reload room
  [ALT + A]    -  Reload room
Line 1,016: Line 899:
  [SHIFT + /]  -  Help
  [SHIFT + /]  -  Help


  There are some more debug/tester functions in this game. They can be accessed
  There are some more debug/tester functions in this game. They can be accessed by teleporting to room 98. This will activate "The Elite Tester V1.0":
by teleporting to room 98. This will activate "The Elite Tester V1.0":


  [ALT + A]    -  AVI player *
  [ALT + A]    -  AVI player *
Line 1,073: Line 955:
===== Game specific: Leisure Suit Larry 7 =====
===== Game specific: Leisure Suit Larry 7 =====


  Activate the debug mode usings the "CLASSES" method and when in the game,
  Activate the debug mode usings the "CLASSES" method and when in the game, press both SHIFTs and the PLUS key located at the NUMERIC keypad AT ONCE. It activates the following options:
press both SHIFTs and the PLUS key located at the NUMERIC keypad AT ONCE.
It activates the following options:


  [ALT + A]    -  Add view
  [ALT + A]    -  Add view
Line 1,117: Line 997:
===== Game specific: Space Quest 6 =====
===== Game specific: Space Quest 6 =====


  Activate the debug mode usings the "CLASSES" method. Besides giving you a
  Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:
"Where to?" dialog at the beginning, it activates the following options:
   
   
  [ALT + A]    -  Show cast (information about all objects on screen)
  [ALT + A]    -  Show cast (information about all objects on screen)
Line 1,141: Line 1,020:
==== Other method(s) ====
==== Other method(s) ====


  One game (currently) hasn't got the usual debug mode. Nevertheless, it's not
  One game (currently) hasn't got the usual debug mode. Nevertheless, it's not really an "easter egg" either, so this section was created.
really an "easter egg" either, so this section was created.


===== Game specific: Leisure Suit Larry 6 (SVGA CD-ROM version) =====
===== Game specific: Leisure Suit Larry 6 (SVGA CD-ROM version) =====


  This game has no real debug mode (anymore), but yet it had some leftovers of
  This game has no real debug mode (anymore), but yet it had some leftovers of one, which were actually worth to mention. Trigger certain actions by clicking 4 times with the "hand icon" on the following list of objects:
one, which were actually worth to mention. Trigger certain actions by
clicking 4 times with the "hand icon" on the following list of objects:


  FRONT DESK LOBBY:
  FRONT DESK LOBBY:
Line 1,160: Line 1,036:
  HALL WITH ELEVATOR:
  HALL WITH ELEVATOR:


  Plant above elevator  -  Shablee has the gown and gives Larry the condom and
  Plant above elevator  -  Shablee has the gown and gives Larry the condom and champagne
                          champagne


  LARRY'S ROOM:
  LARRY'S ROOM:
Line 1,170: Line 1,045:
  LARRY'S TOILET:
  LARRY'S TOILET:


  Towel rack  -  Gives the towel, toilet cover, toilet paper, hand
  Towel rack  -  Gives the towel, toilet cover, toilet paper, hand creme, brochure and the wash cloth.
                creme, brochure and the wash cloth.


  STAIRS LEADING TO BEACH:
  STAIRS LEADING TO BEACH:
Line 1,179: Line 1,053:
  PART OF THE LOBBY WITH SWIMMING POOL ENTRANCE TO THE NORTH:
  PART OF THE LOBBY WITH SWIMMING POOL ENTRANCE TO THE NORTH:


  Right sculpture  -  Gives the swim suit, your room key and the inflatable
  Right sculpture  -  Gives the swim suit, your room key and the inflatable beaver
                    beaver


  END OF THE LOBBY (TO THE EAST):
  END OF THE LOBBY (TO THE EAST):
Line 1,193: Line 1,066:
  Interesting fact:
  Interesting fact:


  When clicking 4 times on the big tree, to activate the "Shablee sequence",
  When clicking 4 times on the big tree, to activate the "Shablee sequence", somehow the debug mode gets activated (sort of), because the game will react to key combinations used in debug. However, being removed, it will terminate the game directly with the error "cannot find 911.hep". Also, clicking 4 times will be reduced to 2 times.
somehow the debug mode gets activated (sort of), because the game will react
to key combinations used in debug. However, being removed, it will terminate
the game directly with the error "cannot find 911.hep". Also, clicking 4
times will be reduced to 2 times.


=== Suspected of having a debug mode ===
=== Suspected of having a debug mode ===


  The following games have some references to debug options, yet no way found
  The following games have some references to debug options, yet no way found to activate them, if they can be activated at all:
to activate them, if they can be activated at all:


  EcoQuest: The Search for Cetus
  EcoQuest: The Search for Cetus

Revision as of 19:34, 10 December 2011

Sierra On-Line Debug Mode FAQ Version 0.93 [14-Jan-06] by HWM [hwmol@hotmail.com]

Thanks to Omer Mor, Lars Skovlund & Kelmer for their valuable information.

Intro

This FAQ will explain the several debug modes found in Sierra On-Line adventure games.
Before you read, keep in mind the following things:
- References to "ego" mean "the main character" or the object you control.
- Any brackets, asterisks or quotation marks should NOT be typed in. They're only used to clarify.
- Anything between brackets means it's either a key or a combination of keys. So:
  [CTRL + D] means you push the CONTROL-key and the D-key AT THE SAME TIME.
- Between quotation marks means it should be typed in.
- Words between asterisks should be replaced with a proper word/object/thing. So:
  "PITCH *object name*" means you should type the object you want to get, e.g. "PITCH WIG".
And while you might know, Sierra games use an "interpreter". This basically is a program/system which translates the program statements (in byte-code) into executable machine code one line at a time as the program is running; as opposed to a compiler, which translates the entire program before the program is executed. The different interpreters used by Sierra for their games are described in the next chapter.
This FAQ only covers the debug modes of IBM PC versions, however, some of them might work on the other systems too.

SCI0

SCI0 (Sierra's Creative Interpreter v0.xxx.xxx)
Video: 320x200 resolution, 16 colors (and dithering)
Audio: MIDI
Platform: IBM PC (including PCjr & TANDY), Commodore AMIGA, Atari ST & Apple Macintosh
Period: 1988-1990
Games using the SCI0 interpreter:
Codename: ICEMAN
Conquests of Camelot
Hoyle Volume 1: Official Book of Games
Hoyle Volume 2: Solitaire
King's Quest 1: Quest for the Crown (SCI remake)
King's Quest 4: The Perils of Rosella
Leisure Suit Larry 2: Goes Looking for Love (In Several Wrong Places)
Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals
Mixed-Up Mother Goose (SCI remake)
Police Quest 2: The Vengeance
Quest for Glory 1: So You Want to be a Hero? (AKA Hero's Quest)
Quest for Glory 2: Trial by Fire
Space Quest 3: The Pirates of Pestulon
The Colonel's Bequest

SCI1/SCI11

SCI1/SCI11 (Sierra's Creative Interpreter v1.xxx.xxx)
Video: 320x200 resolution, 256 colors (32 colors on the Amiga)
Audio: MIDI/Digital audio
Platform: IBM PC (286+), Commodore AMIGA, Apple Macintosh & FM Towns(?)
Period: 1990-1993
Games using the SCI1/SCI11 interpreter:
Castle of Dr. Brain
Conquests of the Longbow
EcoQuest: The Search for Cetus
EcoQuest 2: The Lost Secret of the Rainforest
Freddy Pharkas Frontier Pharmacist
Hoyle Classic: Card Games
Hoyle Volume 3: Great Board Games
Island of Dr. Brain
Jones in the Fast Lane
King's Quest 5: Absence Makes the Heart go Yonder
King's Quest 6: Heir Today, Gone Tomorrow
Leisure Suit Larry 1: In the Land of the Lounge Lizards (SCI remake)
Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work
Leisure Suit Larry 6: Shape Up or Slip Out!
Mixed-Up Fairy Tales
Mixed-Up Mother Goose (SCI1 remake)
Mixed-Up Mother Goose (SCI11 remake)
Pepper's Adventures in Time (AKA Twisty History)
Police Quest 1: In Pursuit of the Death Angel (SCI remake)
Police Quest 3: The Kindred
Quest for Glory 1: So You Want to be a Hero (SCI remake)
Quest for Glory 3: Wages of War
Slater & Charlie Go Camping
Space Quest 1: The Sarien Encounter (SCI remake)
Space Quest 4: Roger Wilco and the Time Rippers
Space Quest 5: Roger Wilco in the Next Mutation
The Dagger of Amon Ra

SCI32

SCI32 (Sierra's Creative Interpreter v2.xxx.xxx & v3.xxx.xxx)
Video: 32 bit, 320x200/640x400/others?
Audio: MIDI/Digital audio
Platform: IBM PC (386+) & Apple Macintosh
Period: 1993-1997
Games using the SCI32 interpreter:
Gabriel Knight 1: Sins of the Fathers
Gabriel Knight 2: The Beast Within
King's Quest 7: The Princeless Bride
Leisure Suit Larry 6: Shape Up or Slip Out! (SVGA CD-ROM version)
Leisure Suit Larry 7: Love For Sail!
Lighthouse
Mixed-Up Mother Goose Deluxe
Phantasmagoria
Phantasmagoria 2
Police Quest 4: Open Season
Police Quest SWAT
Quest for Glory 4: Shadows of Darkness
RAMA
Shivers
Shivers 2
Space Quest 6: Roger Wilco in the Spinal Frontier
Torin's Passage

Debug mode in SCI0 games

Nearly all SCI0 games have an internal debugger, meaning a build-in debugger in the game's interpreter. Next to that, some games also have a script debugger. Like with AGI games, a script debugger is a debug script located directly in the game code itself, rather than in the interpreter's code.

Internal Debugger

The internal debugger is activated by pressing [SHIFT + SHIFT + MINUS]. So both SHIFTs and the MINUS key located at the NUMERIC keypad AT ONCE. The debugger is/was mainly useful for programmers, but some things like changing variables can be easily done.
Options:
[Q]          -  Quit game
[B]          -  Set breakpoint
[A]          -  Inspect ID in accumulator
[C]          -  Inspect current object
[I]          -  Inspect object or memory
[F]          -  Show free heap
[S]          -  Show sends
[R]          -  Show resource types
[O]          -  Show objects in heap
[SHIFT + O]  -  Show objects with adresses
[SHIFT + S]  -  Show stack usage
[G]          -  Change global variable
[L]          -  Change local variable
[T]          -  Change temp variable
[ENTER]      -  Proceed single step
[TAB]        -  Step across send
[SHIFT + /]  -  Help
Note that these are case sensitive, so [CAPS LOCK] should be de-activated.
Example: The room number is controlled by global variable 13. When the debug is activated, push [G]. It will ask which global variable should be changed. Enter "13". Now it will show the current value of the variable. Change this to your preferred, valid room number. Exit the debugger to see the effect.

Script Debugger

The script debugger is a bit more interesting and often more extensive. Not all games have a script debugger, some of them were likely removed before the final release of the game in question. However, a fair amount of games still have it. The script debugger is in most cases activated by typing a certain sentence in the game. This sentence differs from game to game.
When there isn't a sentence to type, but a debug is present in the game, it can be activated by changing the value of a certain global variable. An example of doing this is given in the previous chapter "Internal Debugger".
Note that in some games, the debug mode will be activated on room change.
When the script debugger is activated, the following general commands are available:
[CTRL + left mouse click]   -  Instant movement (of ego) *
[SHIFT + left mouse click]  -  Show coordinates
* Does not work with Quest for Glory / Hero's Quest
Game specific: King's Quest 4
To activate the debug mode, type: "overtime nosleep". An extra menu item will be activated on room change.

The following options are available:
TP           -  Teleport (change room/scene/script)
ENTER NIGHT  -  Changes gamestate into night
GET MEMORY   -  Show memory
[ALT + E]   -  Show ego information
[ALT + F]   -  Show memory
[ALT + R]   -  Show current room number
[ALT + P]   -  Show ATPs (Add-To-Pic)
[ALT + S]   -  Gives inventory item
[ALT + V]   -  Set global variable
[ALT + G]   -  Gives all inventory items
[ALT + L]   -  Log information
[CTRL + D]  -  Internal debug will pop up when entering a new room

[F4]        -  Show control lines
[F6]        -  Show priority screen
[F10]       -  Show visual screen
[ALT + left mouse click]   -  Show ego information

Most options are also available in the debug menu item. The menu option "Clicks" will (de-)activate the debug options triggered by mouse.
Game Specific: Leisure Suit Larry 2
There are two ways of activating this debug mode, depending on the version of your copy of the game.
With v1.000.011, the debug mode can be activated by typing: "praise lord"
The debug mode will be activated when entering a new room.
Although "praise lord" works too in v1.002.000 (the one included in the Leisure Suit Larry collections), it offers another method. At the copy-protection sequence at the start of the game, a phone number is asked. Enter "555-0724" to pass the copy-protection and get the debug mode activated.
The following options are available:
TP                   -  Teleport (change room/scene/script)
GET *object name*    -  Get object
PITCH *object name*  -  Drop object
MAKE NOTE            -  Log information
SHOW TIMER           -  Show timer
SHOW EGO             -  Show ego information
SHOW GRID            -  Show grid
[ALT + C]  -  Show control lines
[ALT + F]  -  Show fragmenting
[ALT + I]  -  Regain typing during movies
[ALT + M]  -  Show memory
[ALT + D]  -  Internal debug mode
[ALT + R]  -  Show current room number
[ALT + V]  -  Show visual screen
[ALT + Z]  -  Quit
Game Specific: Leisure Suit Larry 3
To activate the debug mode, type: "ascot backdrop". The debug mode will be activated when entering a new room.
The following options are available:
TP         -  Teleport (change room/scene/script)
[ALT + W]  -  Write to log
[ALT + E]  -  Change view of ego
[ALT + R]  -  Show current room number
[ALT + T]  -  ?
[ALT + P]  -  Show priority screen
[ALT + S]  -  Change from Larry to Patty or vice versa
[ALT + D]  -  Internal debug mode
[ALT + F]  -  Internal debug will pop up when entering a new room
[ALT + G]  -  Room tester *
[ALT + C]  -  Show control lines
[ALT + V]  -  Show visual screen
[ALT + M]  -  Show memory
* Before this will work, you'll have to place the SCI picture resource of the room you want to test in the game directory and rename it to "PIC.999". That specific picture/room will be shown and can be tested in the game.
Also, the self-running demo of LSL3 has the same debug mode, apart from a room-selector on the beginning. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x00000064 to "00" (instead of the original "01"). Beware that it's not really worth it, since it's pretty much the same deal and lots of missing resources cause it to crash easily.
Game specific: Mixed-up Mother Goose
Since the input is disabled, use the internal debugger to change the value of global variable 100 to 1.

The following options are available:
[ALT + P]   -  Show priority screen
[ALT + C]   -  Show control lines
[ALT + V]   -  Show visual screen
[ALT + S]   -  Show cast (information about all objects on screen)
[CTRL + T]  -  Teleport (change room/scene/script)
[CTRL + D]  -  Shows which item is in which room
[CTRL + C]  -  Changes score to 17 out of 18

[ALT + left mouse click]   -  Show ego information
A useless (but interesting for some nonetheless) debug menu is still partly in the game's scripts. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x000026C7 to "01" (instead of the original "00"). This will activate the debug mode at the start of the game, which will also initialize the extra pulldown menu's.
Game specific: Police Quest 2
Police Quest 2 should respond to the sentence: "kiss angel 187", but somehow it doesn't work. So use the internal debugger to change the value of global variable 101 to 1.
The following options are available:
[ALT + P]    -  Show priority screen
[ALT + C]    -  Show control lines
[ALT + V]    -  Show visual screen
[ALT + S]    -  Show cast (information about all objects on screen)
[ALT + M]    -  Show memory
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + I]    -  Gives inventory item
[ALT + E]    -  Show ego information
[SHIFT + /]  -  Help
Game Specific: Quest for Glory / Hero's Quest
To activate the debug mode, type: "razzle dazzle root beer"
The following options are available:
[ALT + P]    -  Show priority screen
[ALT + C]    -  Show control lines
[ALT + V]    -  Show visual screen
[ALT + S]    -  Show cast (information about all objects on screen)
[ALT + M]    -  Show memory
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + I]    -  Gives inventory item
[ALT + E]    -  Show ego information
[ALT + B]    -  Change amount of silvers
[ALT + X]    -  Sets all stats to 80
[ALT + K]    -  Change value of skills
[SHIFT + /]  -  Help
Game specific: Quest for Glory 2
To activate the debug mode, type: "suck blue frog"
The following options are available:
[ALT + P]    -  Show priority screen
[ALT + C]    -  Show control lines
[ALT + V]    -  Show visual screen
[ALT + S]    -  Show cast (information about all objects on screen)
[ALT + M]    -  Show memory
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + I]    -  Gives inventory item
[ALT + E]    -  Show ego information
[ALT + B]    -  Change amount of silvers
[ALT + L]    -  Write to log
[ALT + K]    -  Change value of skills
[ALT + H]    -  Change all skills to one value
[ALT + W]    -  Write features
[ALT + F]    -  Shows free heap
[ALT + G]    -  Path Writer
[ALT + U]    -  Show cast 2?
[ALT + N]    -  Write note
[ALT + Z]    -  Exit game
[CTRL + W]   -  Write cast to file (for tester)
[SHIFT + /]  -  Help
Game Specific: Space Quest 3
To activate the debug mode, type: "backstage pass"
The following options are available:
TP         -  Teleport (change room/scene/script)
[ALT + E]  -  Show ego information
[ALT + R]  -  Show current room number
[ALT + Y]  -  Assign object
[ALT + P]  -  Show priority screen
[ALT + H]  -  Show free heap
[ALT + C]  -  Show control lines
[ALT + V]  -  Show visual screen
[ALT + Z]  -  Quit

Debug mode in SCI1 games

SCI1 is a whole different story. The internal debugger has been removed from pretty much every (public) release of the games. You can still use the key combination [SHIFT + SHIFT + MINUS], but it will throw you out of the game, due to the absence of the debugger. That said, internal SCI1 debuggers are not non-existant (really early versions, like the interpreter used with "Jones in the Fast Lane" still have their debugger) and work just like the SCI0 ones.
However, script debuggers have survived in a bunch of games. The way of activating them depends mainly on the version of the SCI interpreter.

SCI1 games (interpreter version < 1.001.000) do not have a standard way of activating the script debugger (atleast, I haven't found one yet).
SCI11 games (interpreter versions > 1.001.000) are activated by extracting the debug script from the packed RESOURCE files. Some kind of routine checks if the file is present in the game directory (and not just in the RESOURCE files) and the debug mode gets activated. An empty file won't do the trick, since the external scripts override the ones in the packed resource.

Internal Debugger

Since the SCI1 internal debugger is pretty much the same as the one found in the SCI0 games, refer to chapter 4.1 on its usage. Currently, the following SCI1 games with an internal debugger are known:

Jones in the Fast Lane (both CGA/EGA/Tandy and VGA disk releases)
Jones in the Fast Lane (CD-ROM version, only the SCIDHV executable)
Mixed-Up Mother Goose (1990 CD-ROM version)

Sometimes an interpreter can be swapped with another one, to use within other games, but often the games get too buggy to play. As of yet, trail-and-error is the key here.

SCI version < 1.001.000 (SCI1)

There's no known standard way of activating the script debugger.
Game specific: Police Quest 3
Rename/remove the file "version" in your PQ3 directory, or set the attribute to "read-only".
This will give you some options at the beginning to configure which flags should be set and where/when you will start the game.
Game specific: Space Quest 4 (beta)
Somewhere in 1991, the cracking group The Humble Guys released a beta version of Space Quest 4. I suspect it had version number 1.052 (I found some saves of the beta), but the first sales release had that too, so far for that lead.
However, someone named "Beamer" typed up a list back then describing the functions and based on that, I made this following list:
[ALT + A]  -  Show ego information **
[ALT + B]  -  Polygon editor (edit walking areas) *
[ALT + C]  -  Show control map
[ALT + D]  -  DebugOn toggle (not sure what this does)
[ALT + E]  -  Show cast (information about all objects on screen) **
[ALT + F]  -  Show free memory
[ALT + G]  -  Set global variable
[ALT + I]  -  Get inventory item
[ALT + M]  -  Gives 20 buckazoids/money
[ALT + N]  -  QA logger
[ALT + P]  -  Show priority map
[ALT + R]  -  Show room info
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + W]  -  Feature writer *
[ALT + Y]  -  Adjust vanishing point
[ALT + Z]  -  Exit game
* This option is removed and crashes the game
** Seems like either Sierra or the author of the original text file swapped the keys for "Show cast" and "Show ego information"

SCI version > 1.001.000 (SCI11)

At the time of writing, VAG's SCIResDump can be used for games using an interpreter > 1.001.000. This is a bit tricky, but beats any other manual method. Refer to its documentation on further use. When dumping the files, it would be advisable to dump, apart from the SCR file, the accompanying HEP and TEX file. Some debug modes will not work properly without them.
Besides giving you the usual debug options, some games will give the "Where to?" dialog. Basically, this is a dialog giving you the opportuninty to set various flags/variables at the beginning of the game, so you can for example start halfway in the game or so.
Game specific: EcoQuest 2
The "magic" script is 98. Extract 98.SCR & 98.HEP
This debug mode however, is partially removed or something. Only the "Where to?" room select dialog on start will appear, the rest of the keys won't work.
Game specific: Freddy Pharkas: Frontier Pharmacist
The "magic" script is 10. However, this script cannot be found in the English release of Freddy Pharkas. Extract 10.SCR/10.HEP/10.TEX from the RESOURCE.MSG file (instead of the usual RESOURCE.000) in a NON-ENGLISH(!) release. I've tested this with the German, Spanish and French release. The extracted script will work with every version of the game, also the English one.
It activates the following options:
[ALT + A]  -  Show cast (information about all objects on screen)
[ALT + B]  -  Polygon editor (edit walking areas)
[ALT + C]  -  Show control map
[ALT + D]  -  Dialog editor
[ALT + E]  -  Every puzzle can be found **
[ALT + F]  -  Show feature outlines *
[ALT + G]  -  Set global variable
[ALT + H]  -  Show global variable
[ALT + I]  -  Get inventory item
[ALT + J]  -  Justify text on screen
[ALT + K]  -  Show palette
[ALT + L]  -  Set flag
[ALT + M]  -  Clear flag
[ALT + N]  -  Show flag
[ALT + O]  -  QA logger
[ALT + P]  -  Show priority map
[ALT + Q]  -  Set detail to 1 *
[ALT + R]  -  Show room info / free memory *
[ALT + S]  -  Show string or message
[ALT + T]  -  Teleport (change room/scene/script) *
[ALT + U]  -  Give HandsOn (return user control) **
[ALT + V]  -  Show visual map
[ALT + W]  -  Feature writer
[ALT + X]  -  Exit game
[ALT + Y]  -  Stuff or unstuff a clue **
[ALT + Z]  -  Exit game
[SHIFT + /]  -  Help
[Left mouse click + ALT]            -  Instant movement *
[Left mouse click + CTRL + LSHIFT]  -  Show ego *
[Left mouse click + CTRL + RSHIFT]  -  Show room *
[Left mouse click + CTRL + ALT]     -  Show position
* This option is awfully buggy or will crash the game instantly
** Not sure what this does or if it works at all
Game specific: Leisure Suit Larry 6
The "magic" script is 911. Extract 911.SCR/911.HEP/911.TEX. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:
[ALT + A]  -  Show cast (information about all objects on screen)
[ALT + B]  -  Polygon editor (edit walking areas)
[ALT + C]  -  Show control map
[ALT + D]  -  DebugOn toggle (internal debugger on room change) *
[ALT + E]  -  Show ego information
[ALT + F]  -  Set flag / clear
[ALT + G]  -  Set global variable
[ALT + H]  -  Show features
[ALT + I]  -  Get inventory item
[ALT + L]  -  Logfile
[ALT + M]  -  Show free memory
[ALT + P]  -  Show priority map
[ALT + Q]  -  Show cursor coordinates
[ALT + R]  -  Show room info
[ALT + S]  -  Updating cast elements
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + U]  -  Give HandsOn (return user control)
[ALT + V]  -  Show visual map
[ALT + W]  -  Feature writer
[ALT + X]  -  Exit game
[ALT + Y]  -  Adjust vanishing point
[ALT + Z]  -  Exit game
[SHIFT + /]  -  Help
* Doesn't seem to do anything
Game specific: Pepper's Adventures In Time (AKA Twisty History)
The "magic" script is 880. Extract 880.SCR/880.HEP/880.TEX.
Besides giving you a "Where to?" dialog, it activates the following options:
[ALT + A]  -  Show cast (information about all objects on screen)
[ALT + B]  -  Polygon editor (edit walking areas)
[ALT + C]  -  Show control map
[ALT + D]  -  Place an actor
[ALT + E]  -  Show ego information
[ALT + F]  -  Show feature outlines
[ALT + G]  -  Set global variable
[ALT + H]  -  Show global variable
[ALT + I]  -  Get inventory item
[ALT + J]  -  QA logger (it should "Justify text on screen", but doesn't)
[ALT + K]  -  Show palette
[ALT + L]  -  Set flag
[ALT + M]  -  Clear flag
[ALT + N]  -  Show flag
[ALT + P]  -  Show priority map
[ALT + Q]  -  Set detail to 1
[ALT + R]  -  Show room info / free memory
[ALT + S]  -  Show string or message
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + U]  -  Give HandsOn (return user control)
[ALT + V]  -  Show visual map
[ALT + W]  -  Feature writer
[ALT + Y]  -  Stuff or unstuff a clue (or some sort of "Change ego" function)
[ALT + X]  -  Exit game
[ALT + Z]  -  Exit game
[SHIFT + /]  -  Help
Game specific: Police Quest (SCI remake)
The "magic" script is 899. Extract 899.SCR/899.HEP/899.TEX. To activate the debug mode in this case, they should be first renamed to 702.SCR/702.HEP/702.TEX.
It activates the following options:
[ALT + A]  -  Show cast (information about all objects on screen)
[ALT + B]  -  Polygon editor (edit walking areas) *
[ALT + C]  -  Show control map
[ALT + D]  -  Place an actor ***
[ALT + E]  -  Show ego information
[ALT + F]  -  Show feature outlines
[ALT + G]  -  Set global variable
[ALT + H]  -  Show global variable
[ALT + I]  -  Get inventory item
[ALT + J]  -  Justify text on screen
[ALT + K]  -  Show palette
[ALT + L]  -  Set flag
[ALT + M]  -  Clear flag
[ALT + N]  -  QA logger (it should "Show flag", but doesn't)
[ALT + O]  -  QA logger
[ALT + P]  -  Show priority map
[ALT + Q]  -  Set detail to 1 **
[ALT + R]  -  Show room info / free memory
[ALT + S]  -  Show string or message
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + U]  -  Give HandsOn (return user control) **
[ALT + V]  -  Show visual map
[ALT + W]  -  Feature writer *
[ALT + X]  -  Exit game
[ALT + Z]  -  Exit game
[SHIFT + /]  -  Help
* This option is removed and crashes the game
** Not sure what this does or if it works at all
*** This option is awfully buggy
Game specific: Quest for Glory (SCI remake)
The "magic" script is 298. However, it's not available anymore in the game's resource files. So to activate the debug mode, debug scripts from another game should be used. You can use the script from either Laura Bow 2 or Police Quest (SCI remake). They should be first renamed to 298.SCR/298.HEP/298.TEX.

Now the "Where to?" dialog works, while the remaining functions don't. Perhaps the scripts used are not fully compatible with this game.
Game specific: Space Quest 5 (beta)
The Space Quest series seem to be the major victim of leaked betas at Sierra. A Space Quest 5 beta version was released by some group, back in 1993. This beta was actually a reviewer's copy, included a script debugger (but no internal debugger) and works just like most of them.
The version in question is version 0.028, it has the following commands:
[ALT + E]  -  Show ego information
[ALT + R]  -  Show room info / free memory
[ALT + O]  -  QA logger
[ALT + P]  -  Show priority map
[ALT + H]  -  Show global variable
[ALT + J]  -  Show cast (information about all objects on screen)
[ALT + K]  -  Show palette
[ALT + C]  -  Show control map
[ALT + V]  -  Show visual map
[ALT + N]  -  Show flag
Game specific: The Dagger of Amon Ra
This probably is the buggiest debug mode, thus not really interesting. What is somewhat interesting though, is that the "magic" script (10), cannot be found in the game's resource files, yet, the script somehow turned up on the web. So download it and copy 10.SCR/10.HEP/10.TEX to the game directory.

It somewhat activates the following options:
[ALT + A]  -  Show cast (information about all objects on screen) **
[ALT + B]  -  Polygon editor (edit walking areas) *
[ALT + C]  -  Show control map
[ALT + D]  -  Place an actor **
[ALT + E]  -  Show ego information **
[ALT + F]  -  Show feature outlines **
[ALT + G]  -  Set global variable
[ALT + H]  -  Show global variable
[ALT + I]  -  Get inventory item **
[ALT + J]  -  Justify text on screen ***
[ALT + K]  -  Show palette
[ALT + L]  -  Set flag
[ALT + M]  -  Clear flag
[ALT + N]  -  Show flag
[ALT + O]  -  QA logger *
[ALT + P]  -  Show priority map
[ALT + Q]  -  Set detail to 1 *
[ALT + R]  -  Show room info / free memory **
[ALT + S]  -  Show string or message **
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + U]  -  Give HandsOn (return user control) **
[ALT + V]  -  Show visual map
[ALT + W]  -  Feature writer *
[ALT + X]  -  Exit game
[ALT + Y]  -  Stuff or unstuff a clue **
[ALT + Z]  -  Exit game
[SHIFT + /]  -  Help
[Left mouse click + ALT]            -  Instant movement **
[Left mouse click + CTRL + LSHIFT]  -  Show ego **
[Left mouse click + CTRL + RSHIFT]  -  Show room **
[Left mouse click + CTRL + ALT]     -  Show position
* This option is removed and crashes the game
** This option is awfully buggy or will crash the game instantly
*** Not sure what this does or if it works at all

SCI32

In the beginning, SCI32 games had the same activation procedure as SCI11 games. In this FAQ, this will be called the "Traditional" method. However, at a certain point, this procedure got replaced by the so-called "CLASSES" method. Both are explained below.

Internal Debugger

There is currently one SCI32 interpreter known with an internal debugger. It's bundled with a rare Gabriel Knight 2 demo and can be activated by pushing the [`] key, usually above [TAB].
Options:
[Q]          -  Quit game
[`]          -  Toggle debug
[SHIFT + `]  -  Check memory
[/]          -  Toggle menu
[B]          -  Set breakpoint - Object, method
[SHIFT + B]  -  Set breakpoint - Object, method (sticky)
[N]          -  Set breakpoint - Script, offset
[SHIFT + N]  -  Set breakpoint - Script, offset (sticky)
[K]          -  Set breakpoint - Kernal call
[SHIFT + K]  -  Set breakpoint - Kernal call (sticky)
[T]          -  Set breakpoint - Changed memory
[SHIFT + R]  -  Break out of current routine
[SHIFT + C]  -  Clear all breakpoints
[F7]         -  Step by source line
[F8]         -  Step across source line
[ENTER]      -  Proceed single step
[TAB]        -  Step across send
[M]          -  Change display mode
[A]          -  Inspect ID in accumulator
[C]          -  Inspect current object
[I]          -  Inspect object or memory
[F]          -  Show largest memory
[S]          -  Show sends
[R]          -  Show resources
[O]          -  Show objects in heap
[SHIFT + O]  -  Show objects with adresses
[P]          -  Show palette
[G]          -  Edit global variable
[L]          -  Edit local variable
[E]          -  Edit memory
[V]          -  Show version information
[SHIFT + /]  -  Help
Note that these are case sensitive, so [CAPS LOCK] should be de-activated.
This particular interpreter also support the following command line parameters:

-c       -  Cursor display for resource loading (e.g. -c958 for cursor 958)
-E       -  Extract resources (in VOLs) to current directory (e.g. -E*.v56)
-i       -  Integrity checking(?) (default is on; use -i0 to turn off)
-k       -  Set kernel calls between integrity checks (default is 50,000)
-m       -  Max. memory to use (examples: -m1M -m1024K -m1048576 -m$fffff)
-p       -  Play digital audio sample (examples: -P100.WAV -PA0010203.045)
So to use this, start the game using a command line, e.g. "SCIW -i0 -m1M".

"Traditional" method

The "Traditional" method is the same method as the SCI11 one: It relies on extracting scripts from the RESOURCE or RESMAP file. Again, at the time of writing, VAG's SCIResDump is the tool to use. Please refer to its documention on further use.

Game specific: Gabriel Knight (CD-ROM version)
The "magic" script is 99. Extract 99.SCR/99.HEP.
[ALT + A]  -  Show cast (information about all objects on screen)
[ALT + B]  -  Polygon editor (edit walking areas) *
[ALT + C]  -  Show control map **
[ALT + D]  -  DebugOn toggle (internal debugger on room change) **
[ALT + F]  -  Set flag / clear
[ALT + G]  -  Set global variable
[ALT + H]  -  Help
[ALT + I]  -  Get inventory item
[ALT + L]  -  Logfile
[ALT + M]  -  Show free memory
[ALT + P]  -  Show priority map **
[ALT + Q]  -  Show cursor coordinates
[ALT + R]  -  Show room info
[ALT + S]  -  Updating cast elements
[ALT + T]  -  Teleport (change room/scene/script)
[ALT + U]  -  Give HandsOn (return user control)
[ALT + V]  -  Show visual map **
[ALT + W]  -  Feature writer **
[ALT + X]  -  Exit game
[ALT + Y]  -  Adjust vanishing point *
[ALT + Z]  -  Position ego at cursor
* This option is removed and crashes the game
** Doesn't seem to do anything
Game specific: King's Quest 7
The "magic" script is 99. Extract 99.SCR/99.HEP.
[ALT + A]    -  Show cast (information about all objects on screen)
[ALT + B]    -  Polygon editor (edit walking areas)
[ALT + D]    -  DebugOn toggle (internal debugger on room change) **
[ALT + E]    -  Show ego information
[ALT + F]    -  Set flag / clear
[ALT + G]    -  Set global variable
[ALT + H]    -  Help
[ALT + I]    -  Get inventory item
[ALT + J]    -  Load picture
[ALT + K]    -  Show palette
[ALT + L]    -  Logfile
[ALT + M]    -  Show free memory
[ALT + P]    -  Position ego at cursor
[ALT + Q]    -  Show cursor coordinates
[ALT + R]    -  Show room info
[ALT + S]    -  Updating cast elements
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + V]    -  Show room polygons
[ALT + W]    -  Feature writer *
[ALT + X]    -  Exit game
[ALT + Y]    -  Adjust vanishing point *
[CTRL + B]   -  Capture screenshot (in BMP format)
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
* This option is removed and crashes the game
** Doesn't seem to do anything
Game specific: Police Quest 4 (Disk version)
The "magic" script is 1. Extract 1.SCR/1.HEP.
[ALT + A]    -  Show cast (information about all objects on screen)
[ALT + D]    -  Dialog editor **
[ALT + E]    -  Show ego information
[ALT + F]    -  Show features **
[ALT + I]    -  Get inventory item
[ALT + J]    -  Justify text on screen *
[ALT + K]    -  Show palette **
[ALT + O]    -  Create obstacles *
[ALT + P]    -  Show priority map **
[ALT + R]    -  Show room info / free memory
[ALT + S]    -  Switch alter ego *
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + V]    -  Show visual map **
[ALT + W]    -  Feature writer **
[ALT + X]    -  Exit game
[ALT + Y]    -  Toggle CD rooms ***
[ALT + Z]    -  Reverse palette ***
[CTRL + L]   -  QA logger **
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
* This option is awfully buggy or will crash the game instantly
** Doesn't seem to do anything
*** Confirmed by a message, yet doesn't seem to do anything
Game specific: Police Quest 4 (CD-ROM version)
This isn't exactly the "traditional" method, but it does involve external scripts. Activate the debug mode by renaming/removing 4.SCR
[ALT + A]    -  Show cast (information about all objects on screen)
[ALT + D]    -  Dialog editor **
[ALT + E]    -  Show ego information
[ALT + F]    -  Show features **
[ALT + I]    -  Get inventory item
[ALT + J]    -  Justify text on screen **
[ALT + K]    -  Show palette **
[ALT + O]    -  Create obstacles **
[ALT + P]    -  Show priority map **
[ALT + R]    -  Show room info / free memory
[ALT + S]    -  Switch alter ego **
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + V]    -  Show visual map **
[ALT + W]    -  Feature writer **
[ALT + X]    -  Exit game
[ALT + Y]    -  Toggle CD rooms ***
[ALT + Z]    -  Reverse palette ***
[CTRL + L]   -  QA logger **
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
[Left mouse click + ALT]            -  Instant movement
[Left mouse click + CTRL + LSHIFT]  -  Show ego
[Left mouse click + CTRL + RSHIFT]  -  Show room
[Left mouse click + CTRL + ALT]     -  Show position *
* This option is awfully buggy or will crash the game instantly
** Doesn't seem to do anything
*** Confirmed by a message, yet doesn't seem to do anything
Game specific: Quest for Glory 4 (Disk version)
The "magic" script is 18. Extract 18.SCR/18.HEP.
[ALT + A]    -  Show cast (information about all objects on screen)
[ALT + B]    -  Change amount of money
[ALT + C]    -  Learn a new spell
[ALT + D]    -  DebugOn toggle (internal debugger on room change) *
[ALT + E]    -  Show ego information & free memory
[ALT + F]    -  Show features *
[ALT + G]    -  Set flag / clear
[ALT + H]    -  Set hour of the day
[ALT + I]    -  Get inventory item
[ALT + K]    -  Set one of the ego's skills
[ALT + M]    -  Show free memory
[ALT + O]    -  Create obstacles *
[ALT + P]    -  Show priority map *
[ALT + R]    -  Show room info
[ALT + S]    -  Shift user alterego(?)
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + V]    -  Show visual map *
[ALT + W]    -  Feature writer *
[ALT + X]    -  Set all of the ego's skills
[ALT + Y]    -  Show palette *
[ALT + Z]    -  Reverse palette *
[CTRL + L]   -  QA logger
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
[Left mouse click + ALT]            -  Instant movement
[Left mouse click + CTRL + LSHIFT]  -  Show ego
[Left mouse click + CTRL + RSHIFT]  -  Show room
[Left mouse click + CTRL + ALT]     -  Show position
* Doesn't seem to do anything

"CLASSES" method

The later SCI32 games (1995-1997) use the "CLASSES" method. They depend on a file in the game directory, called "CLASSES". This can be an empty file. It's checked on existance by some code in the script, if found, the debug mode gets activated. "AUTOTP" as an empty file will function too sometimes, however its purpose is not fully clear to me.
Note that the CLASSES file should NOT have an extension (like .txt, etc.)
Game specific: Gabriel Knight 2
Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:
[ALT + A]    -  Reload room
[ALT + B]    -  Capture screenshot (in BMP format) *
[ALT + C]    -  Show cast (information about all objects on screen)
[ALT + E]    -  Show ego information
[ALT + F]    -  Edit features
[ALT + G]    -  Show/set/clear flag
[ALT + I]    -  Get inventory item
[ALT + P]    -  Polygon editor (edit walking areas) *
[ALT + R]    -  Show room info / free memory(?)
[ALT + S]    -  Scaler tools *
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + M]    -  Show free memory
[ALT + X]    -  Exit game
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
There are some more debug/tester functions in this game. They can be accessed by teleporting to room 98. This will activate "The Elite Tester V1.0":
[ALT + A]    -  AVI player *
[ALT + D]    -  DebugOn toggle (internal debugger on room change) **
[ALT + I]    -  Toggle full screen
[ALT + O]    -  Polygon editor (edit walking areas) *
[ALT + P]    -  Toggle palette *
[ALT + S]    -  Scaler tools *
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + V]    -  VMD player
[CTRL + D]   -  Unload current view
[CTRL + F]   -  Forward (?)
[CTRL + S]   -  Play sound
[CTRL + P]   -  Play sound effect
[CTRL + B]   -  Actor lastCel(?)
[CTRL + R]   -  Reset room(?)
[M]          -  Toggle mover(?) **
[S]          -  Manual toggle scaler(?)
[P]          -  Picture(?)
[V]          -  View(?)
[=]          -  Toggle picture(?)
[E]          -  EndLoop(?)
[B]          -  BegLoop(?)
[L]          -  Loop(?)
[H]          -  Hide/show actor(?)
[K]          -  Normalize actor(?)
[F9]         -  Set Pri(?) 
[I]          -  Current actor information(?)
[N]          -  nextCel-lastCel(?)
[ALT + N]    -  Previous cel
[0]-[9]      -  Actors
[O]          -  Open robot
[F]          -  Advance robot frame
[R]          -  Retreat robot frame
[DELETE]     -  Delete robot frame *
[CTRL + C]   -  Tag robot frame for cue
[ALT + R]    -  Play robot
[E]          -  Play robot
[T]          -  Terminate robot
[CTRL + I]   -  Show robot info
[D]          -  Display single robot frame
[,]          -  Scroll large pics left and right
[CTRL + M]   -  Change scroll step size
[CTRL + N]   -  Reset plane rectangle (for scrolled pics)
[SHIFT + /]  -  Help
* This option is removed or does not work properly
** Doesn't seem to do anything
Game specific: Leisure Suit Larry 7
Activate the debug mode usings the "CLASSES" method and when in the game, press both SHIFTs and the PLUS key located at the NUMERIC keypad AT ONCE. It activates the following options:
[ALT + A]    -  Add view
[ALT + B]    -  Capture screenshot (in BMP format)
[ALT + C]    -  Show cast (information about all objects on screen)
[ALT + D]    -  Show current view information
[ALT + E]    -  Show ego information
[ALT + F]    -  Edit features
[ALT + G]    -  Show/set/clear flag
[ALT + H]    -  Show features & obstacles
[ALT + I]    -  Get inventory item
[ALT + J]    -  Load picture
[ALT + K]    -  Blink current view(?)
[ALT + M]    -  Dump debug log
[ALT + N]    -  New palette
[ALT + P]    -  Polygon editor (edit walking areas)
[ALT + R]    -  Show room info / free memory
[ALT + S]    -  Scaler tools
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + X]    -  Exit game
[ALT + Y]    -  Show polygons 
[CTRL + C]   -  Check audio card
[CTRL + G]   -  Give ego necessary items for room
[CTRL + L]   -  Log errors
[CTRL + R]   -  Play a robot
[CTRL + D]   -  Sound test
[SHIFT + /]  -  Help
Numeric keypad keys:
[DELETE]     -  Delete current object
[8]          -  Rotate current (actor) right
[2]          -  Rotate current (actor) left
[4]          -  Decrease current (prop) cel
[6]          -  Increase current (prop) cel
[1]          -  Decrease current (prop) loop
[3]          -  Increase current (prop) loop
Game specific: Space Quest 6
Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options:

[ALT + A]    -  Show cast (information about all objects on screen)
[ALT + B]    -  Capture screenshot (in BMP format)
[ALT + E]    -  Show ego information
[ALT + F]    -  Edit features
[ALT + G]    -  Show/set/clear flag
[ALT + I]    -  Get inventory item
[ALT + O]    -  Get inventory item (other half)
[ALT + P]    -  Edit polygons
[ALT + R]    -  Show room info / free memory
[ALT + S]    -  Scaler tools
[ALT + T]    -  Teleport (change room/scene/script)
[ALT + U]    -  Give HandsOn (return user control)
[ALT + X]    -  Exit game
[CTRL + S]   -  Sound test
[SHIFT + /]  -  Help
Note that this debug mode is a buggy one!

Other method(s)

One game (currently) hasn't got the usual debug mode. Nevertheless, it's not really an "easter egg" either, so this section was created.
Game specific: Leisure Suit Larry 6 (SVGA CD-ROM version)
This game has no real debug mode (anymore), but yet it had some leftovers of one, which were actually worth to mention. Trigger certain actions by clicking 4 times with the "hand icon" on the following list of objects:
FRONT DESK LOBBY:
Left chandelier   -  Gives stuff to fix cellulite machine
Right chandelier  -  The maid's cart is now upstairs
Ashtray           -  Gives you ThunderBird's sequence
Counter door      -  Gives you Char's sequence
Counter top       -  Gives current free memory
HALL WITH ELEVATOR:
Plant above elevator  -  Shablee has the gown and gives Larry the condom and champagne
LARRY'S ROOM:
Overhang above toilet door  -  Gets the plumber to work on sink/toilet
Right-most plant            -  Choice between certain events to execute
LARRY'S TOILET:
Towel rack  -  Gives the towel, toilet cover, toilet paper, hand creme, brochure and the wash cloth.
STAIRS LEADING TO BEACH:
Big tree  -  Gives you Shablee's sequence
PART OF THE LOBBY WITH SWIMMING POOL ENTRANCE TO THE NORTH:
Right sculpture  -  Gives the swim suit, your room key and the inflatable beaver
END OF THE LOBBY (TO THE EAST):
Right sculpture  -  Gives matches for Art
ROSE'S ROOM (OR WHEN LOOKING AT HER):
Bottle of grease  -  Gives flowers for Rose


Interesting fact:
When clicking 4 times on the big tree, to activate the "Shablee sequence", somehow the debug mode gets activated (sort of), because the game will react to key combinations used in debug. However, being removed, it will terminate the game directly with the error "cannot find 911.hep". Also, clicking 4 times will be reduced to 2 times.

Suspected of having a debug mode

The following games have some references to debug options, yet no way found to activate them, if they can be activated at all:
EcoQuest: The Search for Cetus
Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work
Games that I do not have (or haven't tried yet):
Lighthouse
Phantasmagoria
Phantasmagoria 2
Police Quest SWAT
RAMA