Reply 1 of 8, by collector
It varied quite a bit. The installer has very few. /F forces some versions to enter install mode instead of configure mode. It mostly was controlled by the helper files INSTALL.HLP, INSTALL.TXT, and the installer script INSTALL.SCR.
As to the interpreter many can be found in the RESOURCE.CFG, but not all are always listed. "sierra -" might display the options. For example Phantasmagoria v1.000.000, interp 2.100.002 from 1995 gives:
PATHS: audio audio36 bitmap cursor font heap map message movieDir palette patch
pic robot script sound sync sync36 translation view vocab audio
audioSize 0K(no audio),...62K(max), 32K default
DACSize 0K(no audio),...32K(max), 2K default
joyStick YES or NO(default)
minMemory required after SCI+extender loaded (1M default)
vmdSkip Yes(default) or No
staticFilter Yes or No(default) to enhance low-volume audio
staticMemory bytes excluded from SCI usage
SystemFont systemFont xxxx where the font number is xxxx
-o old resource-naming convention only
-V Will cause a vmd report after a vmd movie
SYSTEM MEMORY: 8388608
INTERPRETER VERSION : 2.100.002 VERSION STAMP: 1457
Reply 2 of 8, by NewRisingSun
Command-line parameters for 16-bit interpreters: (case-sensitive):
- -a: Do not use "extra memory" even if it was selected via the INSTALL program (i.e. ignore the "memoryDrv=ARM.DRV" setting in RESOURCE.CFG).
- -c [n]: Indicate the change of disks (i.e. changing from RESOURCE.00x to RESOURCE.00y) and the access of "extra memory" by changing the shape and/or position of the mouse cursor. "n" is a decimal representation of a bitfield. The bit values have the following meaning: 1: change cursor shape upon disk change, 2: change cursor position upon disk change, 4: change cursor shape upon "extra memory" access, 8: change cursor shape upon "extra memory" access. If "n" was not specified, value 5 is assumed (change shape but not position on both events).
- -m: The function of the middle mouse button changes from "switch between walk and selected icon" to "open debugger" (same as Shift-Shift-NumMinus)
- -u [filename]: Log use of game resources to filename, default is "resource.use"
- -U [filename]: Log use of far-pointer memory to filename, default is "hunk.use". ("Hunk" is what Sierra calls memory accessed via a far pointer, while "heap" is how Sierra calls memory accessed via a near pointer.)
- -w top left bottom right: Set the dimensions of the game screen. Default is 10 0 200 320, meaning that ten lines at the top are left blank for a status/icon/menu bar. Some games which do not use such must be run with -w 0 0 200 320, otherwise the picture will be drawn ten pixels too low.
- -X Store each handle to a game resource twice in memory so it is noticed when buggy script code overwrites the handle table. (Apparently, that was a problem?)
I have not followed which option was introduced with which interpreter version. The debug-related options will only work as intended, if at all, if the interpreter executable has the debugger included.
Not asked but since I am writing: the meaning of the letters of the interpreter name SCIxxx.EXE:
- V present: Load game data from RESOURCE.0xx/RESOURCE.MAP files, using individual files only as replacements, and use RESOURCE.CFG as a config file.
- V absent: Load game data from individual files only, and use a file named "WHERE" as a config file which, in addition to the usual hardware-config lines, must contain paths for each resource type.
- D present: Pull-down menus not available.
- D absent: Pull-down menus available.
- U present: Debugger not available.
- U absent: Debugger available (Shift-Shift-NumMinus to activate)
- H present: 256 colors
- H absent: 16 colors
SCIV.EXE therefore means 16 colors, with debugger, with pull-down menus, using RESOURCE.00x files. Interestingly, there never seems to have been a letter to indicate the presence or absence of a parser. Obviously, non-V versions were only used internally. Many games rename the interpreter executable to just SIERRA.EXE.
I have no idea about INSTALL.EXE.
Reply 3 of 8, by Jo22
Hm.. Sierra.exe (or Larry.exe, KQ3.exe etc. depending on the games) supports -t as an override-switch for Tandy sound.
It is/was meant to enable 3-Voice sound/music with other graphics adapters (esp. Tandy PCs with an EGA upgrade).
Anyway, you likeley already know this. Not sure if that switch was popular or not. 😅
Edit: I was refering to the AGI interpreters, I know little about SCI1 (SCI0 was way more cool, IMHO).
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//
Reply 4 of 8, by Malik
Reply 5 of 8, by NewRisingSun
I forgot two parameters that only exist in early SCI1 games:
- -f: Search for RESOURCE.00x files on all drives instead of just the current drive. To be used with the "Small Install" option in the INSTALL program that just copies the "Startup" disk to hard disk and then prompts you to insert the other disks into any floppy drive as needed during gameplay.
- -N: Use old names (i.e. SCRIPT.999) instead of the default new names (999.SCR) for replacement files. This is needed by the English floppy disk version of SQ4.
Reply 6 of 8, by Malik
Reply 7 of 8, by NewRisingSun
AGI command line options, since they were mentioned:
- -c: Set monitor type to CGA with Composite color monitor
- -r: Set monitor type to CGA with RGBI monitor
- -e: Set monitor type to EGA
- -h: Set monitor type to Hercules Graphics Card
- -v: Set monitor type to MCGA
- -p: Set machine type to IBM PC/XT/AT
- -t: Set machine type to Tandy 1000
- -s: Set machine type to IBM PS/2
- Only interpreter versions 2.4xx and up support command-line options at all.
- The IBM PCjr machine type cannot be selected via command-line option.
- Only the IBM PCjr and Tandy 1000 machine types use the SN76489 sound chip for three-channel sound.
- Only interpreter versions 2.9xx and up support running the Tandy 1000 machine type together with the EGA monitor type. Attempting to do so in Versions 2.4xx will incorrectly use the Tandy 1000 method of calculating video memory addresses even when the monitor type is EGA, producing a garbled picture.
- Even in versions 2.9xx and up, -t cannot be combined with the CGA or Hercules monitor types.
- Only interpreter versions 2.9xx and up support the IBM PS/2 machine and MCGA monitor types. If they are forced via command-line option, they must be specified together (-s -v) to obtain a usable picture. The graphics will look identical to the EGA monitor type, however, so doing this is pointless. (The mode was added because the IBM PS/2 Models 30 and 25's MCGA chipset was not EGA-compatible.)
Basically, because there are no "sound type" and "graphic type" variables internally, only "machine type" and "monitor type", the number of permissible combinations is more limited than one would think, as the "machine type" also implies a certain graphics type. One can tell that the engine was originally designed only for PC->CGA- and PCjrs, both of which can take Composite and RGBI monitors consequential only on CGA, and everything else was added as an afterthought.
Reply 8 of 8, by keropi
interesting info NRS, thanks for sharing your knowledge!