King's Quest IV: The Perils of Rosella Technical

From Sierra WikiNew
Revision as of 00:07, 3 June 2024 by Andrew Branscom (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:SubpageTechLinks


General Information

As hardware began to advance beyond what AGI could utilize, Sierra began development on its next engine, SCript Interpreter or later Sierra Creative Interpreter (SCI). A year before the last official AGI game, Manhunter 2: San Francisco in 1989, Sierra released the first SCI (SCI0) game, King's Quest IV: The Perils of Rosella in 1988. In keeping with Moore's Law, SCI could take advantage of the constantly increasing capabilities of the new hardware. As with AGI in its day, SCI was a big leap forward in technology. SCI's 200px x 320px vector graphics allowed for noticeably better graphics over AGI's 160px x 200px. While still just 16 colors, but SCI0 introduced dithering, which mixed pixels of different colors into the same fill areas that gave the effect of more than 16 colors. See the Differences Between Sierra's AGI and SCI Engines.


KQ4AGI Fisherman's Shack


KQ4SCI Fisherman's Shack

Sound

SCI introduced support for the new sound cards. This expanded its audio capabilities over that of AGI's three voice with noise channel sound PCjr/Tandy sound. With the advent of SCI, music became an inseparable part of Sierra games. Even though the first exposure most had was with AdLib's hoots and honks, it also supported the MPU-401, which allowed Sierra's composers to create some amazing Roland MT-32 sound tracks. KQ4's MT-32 track gave a quality to the game's music that at the time was unsurpassed.

KQ4AGI Intro
KQ4SCI Intro
KQ4AGI Dwarves's Mine
KQ4SCI Dwarves's Mine

Requirements


MS-DOS

Minimum CPU: Intel 8088 / 8086 8mhz
Minimum RAM: 512 KB
Graphics Modes: Hercules, CGA, EGA, VGA
Audio Hardware: PC Speaker, Tandy/PCjr Sound, AdLib, Roland MT-32, Sound Blaster, IBM Music Feature Card
Input Devices: Keyboard, Mouse, Joystick (Analog)
Media: 4 3½" floppy diskettes


Apple II

Minimum OS: None (bootable game disk)
Minimum CPU: Apple IIe
Minimum RAM: 128 KB
Graphics Modes: Double Hi-Res
Input Devices: Keyboard, Joystick (Analog)
Media: 5.25" floppy diskettes


Apple IIgs

Minimum RAM: 512 KB
Input Devices: Keyboard, Mouse, Joystick (Analog)
Media: 3.5" floppy diskettes[1]


Amiga

Minimum OS: Kickstart 1.2
Minimum CPU: Amiga 500/2000
Minimum RAM: 1 MB
Graphics Modes: OCS/ECS
Input Devices: Keyboard, Mouse, Joystick (Digital)
Media: 3.5" floppy diskettes


Atari ST

Minimum OS: 520 ST
Minimum RAM: 512KB
Sound Devices: Roland MT-32 (and LAPC-I)
Input Devices: Keyboard, Mouse, Joystick (Digital)
Media: 3.5", 5.25" Double-sided floppy diskettes


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

Note that the first version of the game did not recognize resources outside of the resource archive. This made patching the game more difficult as new resource patches cannot simply be dropped into the game's folder. To be accessible to the game the patch needs to be packed and mapped in the game's resource volume to be accessible to the game.

Lockups or errors at the waterfall scene (for version 1.003.006 only)

New Installers

Requires files from the original distribution media. Works with all versions of the game.
This new installer includes a Munt enabled build of DOSBox for MT-32 sound. It requires that the "MT32_CONTROL.ROM" and "MT32_PCM.ROM" ROMs be present on installation. Requires files from the original distribution media.
This installer not only includes the Munt enabled build of DOSBox for MT-32 sound, but also adds sounds from the Amiga versions with a patch by NewRisingSun. Requires files from the original distribution media.


Debug Modes

Internal Debugger

The internal debugger can be activated at any point during the game 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. To exit this mode, press Shift and D.

The following options are available:

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.

In-Game Debugger

To activate the debug mode, type: "overtime nosleep". An extra menu item will be activated on room change.

The following options are available:

General commands
Command Action
TP Teleport (change room/scene/script)[2]
ENTER NIGHT Changes game state into night on room change
GET MEMORY Show memory
[CTRL + D] Internal debug will pop up when entering a new room
Menu Items
Menu Item Command Action
Ego info [ALT + E] Show ego information
Free Mem [ALT + F] Show memory
Show Room [ALT + R] Show current room number
Show ATPs [ALT + P] Show ATPs (Add-To-Pic)
Set Inv [ALT + S] Gives inventory item
Set Var [ALT + V] Set global variable
Get All [ALT + G] Gives all inventory items
Log [ALT + L] Log information
Control [F4] Show control lines
Priority [F6] Show priority screen
Visual [F10] Show visual screen
Clicks    
  [ALT + Left click] Show ego information
  [CTRL + Left click] Moves ego instantly to point of click

Most options are also available in the debug menu item. The menu option "Clicks" will (de-)activate the debug options triggered by mouse.


References

  1. Game can be installed on HDD.
  2. See the King's Quest IV Room Maps page for room numbers.


Related Links