scidisasm — Disassembles all script resources into .script files


FreeSCI is a portable interpreter for SCI games, such as the Space Quest series (starting with SQ3) or Leisure Suit Larry (2 and sequels).

This man page describes the tools that come with FreeSCI. The main executable (which you're probably interesed in if you want to play SCI games) is described in sciv(6).


The scidisasm program disassembles all script resources in SCI resource files in the current directory into .script files.

It takes five optional command line switches: --version prints the version number and exists; --help displays a short help message and exists; --hexdump hex dumps all script resources; --verbose prints additional disassembly information; --opcode-size prints opcode size postfixes.


sciunpack is a tool for unpacking, printing, and converting SCI resource data

Usage: sciunpack [operation] [options] <resource.number>

Alternatively, the resource type and number can be specified as two seperate options.

Available resources are: view, pic, script, text, sound, memory, vocab, font, cursor, patch, bitmap, palette, cdaudio, audio, sync, sync, message, map, heap.

If * is specified instead of <number>, all resources of given type will be unpacked.

sciunpack supports the following operations:

--unpack, -U
This is the default action; it unpacks the specified resource.
--list, -L
Lists all available resources.
--words, -W
Prints all vocabulary words understood by the parser. See
--objects, -O
Outputs the full object hierarchy
--vocab, -V
This operation goes through several relevant 'vocab' resources, interprets their contents, and prints them sequentially. First, all selector (variable/function) names are print, then all opcodes, followed by the names of all kernel functions, and finally the class ID/script lookup table.
Prints the version number.
--help, -h
Displays a short help message.

Also, there are several options available:

--verbose, -v
Enables additional output.
--convert, -c
Forces sound resources to be converted to General MIDI on some platforms, and script resources to be dissected.
--output-file <file>, -o<file>
Selects output file file.
--gamedir <dir>, -d<dir>
Read game resources from dir.
Forces the SCI header to be written (default).
Prevents the two SCI header bytes from being. written
Sorts in alphabetical order when listing words (-W)
Sorts by group IDs when listing words (-W)

As a default, 'resource.number' is the output filename, unless conversion is enabled (-c). With conversion, a few resource types are treated specially:

sound resources: will be converted to General MIDI, stored in <number>.midi (this only works on GNU libc systems)
script resources: will be dissected and stored in <number>.script


The scriptdump tool can be used to disassemble all selector methods into SCI assembly. It takes no command line options and reads the resource files from the current directory.


This tool can be used to display kernel function and selector names. It is obsolete.


This software is copyright (c) 1999-2006 by Christoph Reichenbach <>, Carl Muckenhoupt <>, Dmitry Jemerov <>, Magnus Reftel <>, Sergey Lapin <>, Lars Skovlund <>, Matt Hargett <>, Solomon Peachy <>, Walter van Niftrik <>, Ruediger Hanke <>, Hugues Valois <>, Alexander Angas <>, Rickard Lind <> and Rink Springer <>.

This man page was written by Bas Zoetekouw <> and Christoph Reichenbach.