The Sierra Creative Interpreter is a stack-based virtual machine ("P-Machine"). In addition to its roughly 125 basic opcodes, it provides a set of extended functions for displaying graphics, playing sound, receiving input, writing and reading data to and from the hard disk, and handling complex arithmetical and logical functions. In version 0.xxx of the interpreter, Sierra split the game data into nine different types of information:
script data: SCI scripts and local data |
vocab data: Parser data and debug information |
patch data: Information pertaining to specific audio output devices |
sound data: MIDI music tracks |
cursor data: Mouse pointer shapes |
view data: Sets of sets of image and hotspot information |
pic data: Background images and metadata |
font data: Bitmap fonts |
text data: Plain text information |
Each game may contain up to 1000 different elements of each data type; these elements are referred to as "resources". The index numbers of the various resources need not be in sequence; they are usually assigned arbitrarily. [1]
[1] | With several notable exceptions, such as script 0 and most vocab resources. |