King's Quest I: Quest for the Crown - SCI Technical

From Sierra WikiNew
Jump to navigationJump to search

Template:SubpageTechLinks

  This article is a technical stub page. You
can help the Sierra Wiki by expanding it.




General Information

Graphics

Sound

Requirements


MS-DOS

Minimum OS: MS-DOS 3.3
Minimum CPU: Intel 8088 / 8086
Minimum RAM: 512 KB
Minimum Video RAM: N/A
Graphics Modes: Tandy / PCjr, EGA, VGA, MCGA
Audio Hardware: PC Speaker,Tandy/PCjr Sound,Tandy with DAC,AdLib,Roland MT-32,Game Blaster (CMS),Sound Blaster,IBM Music Feature CardPC Speaker, Tandy/PCjr Sound, Tandy with DAC, AdLib, Roland MT-32, Game Blaster (CMS), Sound Blaster, IBM Music Feature Card
Input Devices: Keyboard, Mouse, Analog Joystick
Media: 3 3½" floppy diskettes


Amiga

Minimum OS: Kickstart 1.2 or better
Minimum CPU:
Minimum RAM: 1 MB
Graphics Modes: OCS/ECS
Sound Devices Supported:
Input Devices: Keyboard, Mouse, Joystick
Media: 4 3½" floppy diskettes


Atari ST

Minimum OS:
Minimum RAM:
Input Devices:
Media:


Exploring Game Resources


Resources Used

  • VIEW.* — View resources; 16 color sprite graphics. Location: RESOURCE.00*, RESSCI.00*, patchDir.
  • PIC.* — Picture resources; 16 color background graphics. Location: RESOURCE.00*, RESSCI.00*, patchDir.
  • SCRIPT.* — Script resources; the game logic. Location: RESOURCE.00*, RESSCI.00*, patchDir.
  • TEXT.* — Text resources; series of ASCII strings. Location: RESOURCE.00*, RESSCI.00*, patchDir.
  • SOUND.* — Sound resources; MIDI music and some sound effects. Location: RESOURCE.00*, patchDir.
  • VOCAB.* — Vocabulary resources; Internal dictionary for the parser. Location: RESOURCE.00*, RESSCI.00*, patchDir.
  • FONT.* — Font resources; graphics to display text. Location: RESOURCE.00*, patchDir.
  • CURSOR.* — Cursor resources; graphics for the cursor or pointer. Location: RESOURCE.00*, patchDir.
  • PATCH.* — Patch resources; Audio patch files. Location: RESOURCE.00*, patchDir.


External Resources


Resource Tools

Patches

Addresses opening and closing credits sequence issues.


New Installer

These require files from the original distribution media. Works with both AGI and SCI versions. The Munt installer also requires the Roland MT-32 ROMs "MT32_CONTROL.ROM" and "MT32_PCM.ROM" (not included.)


Debug Modes

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 simultaneously pressing [SHIFT + SHIFT + MINUS] (the MINUS key located at the NUMERIC keypad). The debugger is/was mainly useful for programmers, but some things like changing variables can be easily done.

Command Action
Q Quit game
B Set Breakpoint
A Inspect ID in accumulator
C Inspect Current Set of Objects

Press C to see all of the objects within that set. Press I to inspect the selector. Press E to edit that selector.
I Inspect Object/Memory

Press cursor Up/Down to go up/down through the memory by 16 bytes and Left/Right to go up/down the memory by 2 bytes.
F Show free heap
S Show sends
R Show resource types
O Show objects in heap
[SHIFT + O] Show objects with addresses
[SHIFT + S] Show stack usage
G Change global variable
L Change local variable
T Change temp variable
ENTER Proceed single step through script.
TAB Step across send
[SHIFT + /] Help; shows list (incomplete) of shortcuts.

Note that these are case sensitive, so [CAPS LOCK] should be deactivated.

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 ([SHIFT + SHIFT + MINUS] or [SHIFT + SHIFT + D]) 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. However, a fair number 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:

Command Action Notes
[CTRL + left click] Instant movement (of ego) Does not work with Quest for Glory / Hero's Quest
[SHIFT + left click] Show coordinates  

References



Related Links