Difference between revisions of "SCI"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Create SCI page, to enable all the pages below SCI (e.g. SCI/Specifications/SCI_in_action/Parser) to have links to their parents)
 
(Reformatting EngineDescription parameters for easier maintainability)
 
(106 intermediate revisions by 12 users not shown)
Line 1: Line 1:
TODO
+
{{EngineDescription
 +
|name=SCI
 +
|developer=[[User:fingolfin|fingolfin]], [[User:lskovlun|lskovlun]], [[User:M_kiewitz|m_kiewitz]],<br>[[User:Md5|md5]], [[User:waltervn|waltervn]], [[User:wjp|wjp]]
 +
|companies=[[Sierra]]
 +
|usedBy=[[Sierra_Game_Versions#SCI_Games|Sierra SCI Games]], [[SCI/Fan_Games|SCI Fan Games]]
 +
|dateAdded=February 14, 2009
 +
|release=1.2.0
 +
}}
 +
 
 +
== About ==
 +
SCI, which Sierra referred to as both the "'''S'''cript '''C'''ode '''I'''nterpreter" and later "'''S'''ierra's '''C'''reative '''I'''nterpreter", is a p-machine style virtual machine for executing platform-independent, object-oriented code.
 +
 
 +
SCI was designed for 16-bit little-endian computers, although there were later attempts to create 32-bit versions, LSCI and SCI3. SCI was exclusively used by Sierra On-Line, Inc., to run its computer game series, with titles like Leisure Suit Larry 2-7, Space Quest 3-6, King's Quest 4-7, Quest for Glory 1-4, and several others.
 +
 
 +
The SCI engine in ScummVM is based on the code of the FreeSCI project, used with permission.
 +
 
 +
 
 +
== History ==
 +
SCI was initially created in 1988 by Jeff Stephenson to replace [[AGI]]. The first game using it was [[King's Quest IV]] at the same year of its creation, which was simultaneously released with an AGI edition for lower-end machines.
 +
 
 +
 
 +
== Engine Status ==
 +
 
 +
* [[SCI/Testing|SCI Testing]]: Current Testing
 +
 
 +
== Resources ==
 +
* [[SCI/Bugs|SCI Bugs]]: List of known bugs in the original SCI games
 +
* [[SCI/Pirate_Bugs|SCI Pirate Bugs]]: List of known bugs in pirated SCI games (do not fix!)
 +
* [[SCI/Features|SCI Features]]: Features in SCI
 +
* [[SCI/TODO|SCI TODO]]: TODO Page
 +
* [[SCI/Specifications|SCI Specifications]]: SCI Specs, based on "The Sierra Creative Interpreter" document from the FreeSCI Team, with our modifications
 +
* [[SCI/FreeSCI/Pathfinding|SCI Pathfinding]]: Documentation by Walter van Niftrik about the pathfinding method used in FreeSCI and now the SCI engine
 +
* [[SCI/Development|SCI Development]]: Programs used to make SCI Fan Games
 +
* [[Sierra Game Versions#SCI Games|SCI Versions]]: An attempt to list all versions of SCI games
 +
* [[SCI/Debug Modes|SCI Debug Modes]]: Many of the original SCI games contain debug modes. This page lists known debug modes and the method to unlock them.
 +
* [[SCI/FreeSCI|FreeSCI Documentation]]: Technical documentation about FreeSCI
 +
* [[SCI/Patches|SCI Patches]]: A list of known game patches for SCI games, both official and unofficial, which fix several game bugs and offer new features
 +
* [[SCI/Playthrough videos|Playthrough videos]]: Playthrough videos of several SCI games, for reference and debugging
 +
* [[SCI/Game Collections|SCI Game Collections]]: Game collections in detail (including photos)
 +
* [[SCI/Japanese Games|SCI Japanese Games]]: Japanese game releases (including photos)
 +
* [[SCI/KQ5 floppy fix|KQ5 floppy fix]]: A fix for the ending of one of the floppy versions of KQ5
 +
* [[SCI/GM Mapping|MT-32 -> GM mapping information]]: Information on how to add new MT-32 -> GM mapping
 +
* [[SCI/Phantasmagoria 2 Censorship|Details on Phantasmagoria 2 censorship]]
 +
* [[SCI/SCI32 Mac Support Status|SCI32 Mac Support Status]]: Current status of the development effort
 +
 
 +
== Debugging ==
 +
* Show priority and control map in original interpreter (SCI1/SCI11)
 +
** search for A9 06 00 74 05 in original interpreter, replace with all 90h (NOP)
 +
* Change days in Gabriel Knight 1
 +
** vmvars g 7bh x - where x is the day number
 +
* Break into debugger immediately on VM start
 +
** Run ScummVM with --debugflags=onstartup
 +
 
 +
== Error loading resource 999.pal message with original interpreter ==
 +
 
 +
=== King's Quest 7 ===
 +
* resource.cfg has to include this:
 +
  directory = .\
 +
  videoDrv  = VESA.DRV
 +
  soundDrv  = ADL.DRV
 +
  audioDrv  = DACBLAST.DRV
 +
  joyDrv    = NO
 +
  cmd      = KQ7DOS
 +
  mouseDrv  = NONE
 +
  memoryDrv = NONE
 +
  minMemory = 1600k
 +
  brightness= 0
 +
  language  = 1
 +
  minCPU    = 386
 +
  CD        = yes
 +
  resMap=.\
 +
  resAUD=.\
 +
  resSFX=.\
 +
  patchDir=.\;.\AVI
 +
  robot=.\
 +
 
 +
* start the game using sierrah -o resource.cfg
 +
 
 +
=== Space Quest 6 ===
 +
* Just start the game using "sierra -o". That will fix it (happens at least with SQ6 DOS included in the Space Quest Collection).
 +
 
 +
== External Links ==
 +
* [http://en.wikipedia.org/wiki/Sierra%27s_Creative_Interpreter Sierra's Creative Interpreter article on Wikipedia]
 +
* [http://freesci.linuxgames.com/ FreeSCI website]
 +
* [http://www-plan.cs.colorado.edu/freesci/darcs/freesci-scummvm FreeSCI-ScummVM darcs repository]
 +
 
 +
[[Category:Engines]]

Latest revision as of 00:24, 11 April 2020

SCI
Engine developer fingolfin, lskovlun, m_kiewitz,
md5, waltervn, wjp
Companies that used it Sierra
Games that use it Sierra SCI Games, SCI Fan Games
Date added to ScummVM 2009-02-14
First release containing it 1.2.0

About

SCI, which Sierra referred to as both the "Script Code Interpreter" and later "Sierra's Creative Interpreter", is a p-machine style virtual machine for executing platform-independent, object-oriented code.

SCI was designed for 16-bit little-endian computers, although there were later attempts to create 32-bit versions, LSCI and SCI3. SCI was exclusively used by Sierra On-Line, Inc., to run its computer game series, with titles like Leisure Suit Larry 2-7, Space Quest 3-6, King's Quest 4-7, Quest for Glory 1-4, and several others.

The SCI engine in ScummVM is based on the code of the FreeSCI project, used with permission.


History

SCI was initially created in 1988 by Jeff Stephenson to replace AGI. The first game using it was King's Quest IV at the same year of its creation, which was simultaneously released with an AGI edition for lower-end machines.


Engine Status

Resources

Debugging

  • Show priority and control map in original interpreter (SCI1/SCI11)
    • search for A9 06 00 74 05 in original interpreter, replace with all 90h (NOP)
  • Change days in Gabriel Knight 1
    • vmvars g 7bh x - where x is the day number
  • Break into debugger immediately on VM start
    • Run ScummVM with --debugflags=onstartup

Error loading resource 999.pal message with original interpreter

King's Quest 7

  • resource.cfg has to include this:
 directory = .\
 videoDrv  = VESA.DRV
 soundDrv  = ADL.DRV
 audioDrv  = DACBLAST.DRV
 joyDrv    = NO
 cmd       = KQ7DOS
 mouseDrv  = NONE
 memoryDrv = NONE
 minMemory = 1600k
 brightness= 0
 language  = 1
 minCPU    = 386
 CD        = yes
 resMap=.\
 resAUD=.\
 resSFX=.\
 patchDir=.\;.\AVI
 robot=.\ 
  • start the game using sierrah -o resource.cfg

Space Quest 6

  • Just start the game using "sierra -o". That will fix it (happens at least with SQ6 DOS included in the Space Quest Collection).

External Links