---
name: "freesci-tools"
section: "6"
platform: "linux"
package: "freesci"
version: "0.6.4-7"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/freesci-tools"
---

# freesci-tools(6)

Disassembles all script resources into .script files sciunpack - A tool for unpacking and converting SCI resource data

## NAME

**scidisasm** - Disassembles all script resources into .script files

**sciunpack** - A tool for unpacking and converting SCI resource data

## DESCRIPTION

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)](/sciv/6.md).

**SCIDISASM**

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**

**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.

- **--version**

  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*.

- **--with-header**

  Forces the SCI header to be written (default).

- **--without-header**

  Prevents the two SCI header bytes from being. written

- **--sort-alpha**

  Sorts in alphabetical order when listing words (*-W*)

- **--sort-group**

  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*

- **SCRIPTDUMP**

  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.

**VOCABDUMP**

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

## SEE ALSO

[**freesci**(6)](/freesci/6.md).

## AUTHORS

This software is copyright (c) 1999-2006 by Christoph Reichenbach \<*creichen@gmail.com*\>, Carl Muckenhoupt \<*carl@wurb.com*\>, Dmitry Jemerov \<*yole@exch.nnz.spb.su*\>,  Magnus Reftel \<*d96reftl@dtek.chalmers.se*\>, Sergey Lapin \<*slapin@karelia.ru*\>, Lars Skovlund \<*lskovlun@image.dk*\>, Matt Hargett \<*matt@use.net*\>, Solomon Peachy \<*pizza@shaftnet.org*\>, Walter van Niftrik \<.f.b.w.v.niftrik@stud.tue.nl\>, Ruediger Hanke \<*tomjoad@muenster.de*\>, Hugues Valois \<*hugues\_valois@hotmail.com*\>, Alexander Angas \<gd@adelaide.on.net\>, Rickard Lind \<*rpl@dd.chalmers.se*\> and Rink Springer \<*rink@springer.cx*\>.

This man page was written by Bas Zoetekouw \<*bas@debian.org*\> and Christoph Reichenbach.
