================================================================================ FreeSCI 0.3.5 for OpenVMS -- USAGE HOWTO ================================================================================ Platform : OpenVMS 8.4 (Alpha / AXP), DECwindows-Motif X11 Updated : 2026-07-23 Scope : How to RUN the interpreter. This document assumes FREESCI.EXE has already been built and that you have a Sierra SCI game's resource files available on disk. ================================================================================ 1. WHAT RUNS ================================================================================ This port plays SCI0 and SCI0.1 (early "SCI0" generation) games. SUPPORTED --------- King's Quest 4 Police Quest 2 Leisure Suit Larry 2 Leisure Suit Larry 3 Space Quest 3 Quest for Glory 1 Colonel's Bequest Conquests of Camelot Codename ICEMAN King's Quest 1 SCI remake NOT supported ------------- Quest for Glory 2 Also note on this port: - No sound / music. The sound server is a null stub. Games play silently. ================================================================================ 2. PREREQUISITES (once per login session) ================================================================================ FreeSCI is a DECwindows (X11) application. It has no terminal/text mode -- you MUST have a working X display before running it. a) Make sure DECwindows is running and your DISPLAY is set. For a local display on the same node: $ SET DISPLAY /CREATE /NODE=localhost /TRANSPORT=TCPIP To display on another workstation running an X server, use that node's name/address instead of localhost, and make sure that X server permits the connection. b) Make sure the SDL shareable/logical used at build time is still defined, e.g. (adjust to your SDL location): $ DEFINE LIBSDL device:[path.to.SDL] If FreeSCI fails to activate at startup with a missing-image error, this logical (or the SDL shareable image search path) is the usual cause. ================================================================================ 3. DEFINE A FOREIGN COMMAND (so you can pass options) ================================================================================ IMPORTANT (OpenVMS specific): $ RUN FREESCI.EXE runs the program but does NOT pass any command-line words to it. The DCL RUN verb gives the program no argv, so --gamedir, -R, etc. are all ignored. To pass options, define FREESCI as a foreign command that points at the .EXE, then invoke it like a normal command. From the directory holding FREESCI.EXE: $ FREESCI :== $SYS$DISK:[]FREESCI.EXE (Use the full device:[directory] if you will run it from elsewhere, e.g. $ FREESCI :== $DKA0:[CLAUDE.OPENVMS.FREESCI.SRC]FREESCI.EXE ) Put that line in LOGIN.COM to make it permanent. All examples below assume the FREESCI foreign command has been defined. Verify it works and see the option list: $ FREESCI -h ================================================================================ 4. RUNNING A GAME ================================================================================ The simplest and most reliable way is to point FreeSCI straight at the game's resource directory with --gamedir (-d). This bypasses the config file entirely. $ FREESCI --gamedir DKA0:[GAMES.QFG1] or the short form: $ FREESCI -d DKA0:[GAMES.QFG1] The game directory is the folder that contains the SCI resource files (RESOURCE.MAP, RESOURCE.000 / RESOURCE.001..., and any loose patch files). Recommended first-run form -- start the game directly, no built-in debugger: $ FREESCI -r --gamedir DKA0:[GAMES.QFG1] -r / --run Go straight into the game instead of stopping in the script debugger console at startup. A DECwindows window opens and the game begins. Play with keyboard and mouse (unless mouse is disabled -- see section 5). ================================================================================ 5. USEFUL OPTIONS ================================================================================ (Run "FREESCI -h" for the complete list built into this binary.) -d dir --gamedir dir Read game resources from dir. Overrides any config-file game entry. This is the easiest way to launch a game. -r --run Do not start the debugger; run the game. -D --debug Start up in debug mode (script debugger). -m --disable-mouse Disable the pointing device. Use this if the mouse pointer misbehaves on your display. -x n --scale-x n Horizontal scale factor. -y n --scale-y n Vertical scale factor. (Larger scale = more pixels to push = slower on DECwindows. Scale 1 is fastest. See section 7.) -c n --color-depth n Color depth in bpp (8 bpp is normal for SCI0). -l --list-savegames List the savegame IDs for the current game and exit. Combine with --gamedir to pick the game. -R name --restore-savegame name Restore savegame "name" (one of the IDs shown by -l) directly at launch -- no config file needed. See section 6. -v --version Print version and exit. -h --help Print help and exit. Sound/MIDI options exist in the help text (-O, -M, -P, -S) but have no effect on this port -- sound is stubbed out. OpenVMS-only: -L --log Dump debug traps to FREESCI_PROBE.LOG in the current directory. Diagnostic use only; leave it off for normal play (logging is extra overhead). ================================================================================ 6. SAVING AND RESTORING GAMES ================================================================================ - Save from inside the game using the game's own save command/menu. Saving has been fixed to work on this port. Saved games are saved to the current path from where you load the game data - To see the save IDs for a game: $ FREESCI --gamedir DKA0:[GAMES.QFG1] --list-savegames - To jump straight back into a save at launch (handy, and it needs no config file): $ FREESCI -r --gamedir DKA0:[GAMES.QFG1] --restore-savegame where is a name/number from the --list-savegames output. A savegame given with -R is used even if you also give a positional savegame argument. ================================================================================ 8. TROUBLESHOOTING ================================================================================ "Can't open display" / connection refused DECwindows/X is not running, DISPLAY is not set, or the target X server is refusing the connection. Re-do SET DISPLAY (section 2a) and confirm the X server allows your connection. Missing-image / shareable-not-found error at startup The SDL logical/shareable is not defined for this process. Define LIBSDL (section 2b) and retry. My --gamedir / -R / options are ignored You launched with "RUN FREESCI.EXE". RUN passes no arguments. Define and use the FREESCI foreign command instead (section 3). Screen is black but the program is clearly running This is the palette-sync failure mode. It should not happen with the shipped SDL driver; if it does after a rebuild, the palette-sync code in src/gfx/drivers/sdl_driver.c has regressed -- see WORKING_CONFIGURATION.txt for the required always-sync behavior. Mouse pointer misbehaves Run with -m / --disable-mouse and use the keyboard. Game won't start / wrong graphics and it's an SCI01 or later title Not supported. Only SCI0 / SCI0.1 games run on this port (section 1). Rendering is very slow Expected. See section 7 for the levers that help. ================================================================================ 9. QUICK REFERENCE ================================================================================ $ SET DISPLAY /CREATE /NODE=localhost /TRANSPORT=TCPIP $ DEFINE LIBSDL device:[path.to.SDL] ! if not already set $ FREESCI :== $SYS$DISK:[]FREESCI.EXE ! once (put in LOGIN.COM) Play a game: $ FREESCI -r --gamedir DKA0:[GAMES.QFG1] List saves, then restore one directly: $ FREESCI --gamedir DKA0:[GAMES.QFG1] --list-savegames $ FREESCI -r --gamedir DKA0:[GAMES.QFG1] --restore-savegame Help / version: $ FREESCI -h $ FREESCI -v ================================================================================ End of USAGE_OPENVMS.txt ================================================================================