Open main menu

SCI

Revision as of 03:57, 24 July 2010 by Digitall (talk | contribs) (Update to SQ4CD Blockers)
SCI
Engine developer clone2727, 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 None

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 simultaniously released with an AGI edition for lower-end machines.


Engine Status

Known Games That Can Be Completed (MM/DD/YYYY)

NOTE: All of these games should get completed again to find sci-valgrind issues.

  • Codename: ICEMAN (05/17/2010) - although with parser issues
  • King's Quest 6 (10/2009)
  • Laura Bow 1 Colonel's Bequest (12/28/2009)
  • Police Quest 2 (05/18/2010)
  • Police Quest 3 (05/11/2010)
  • Space Quest 4 CD (05/26/2010)
    • Uncompletable (07/24/2010) due to engine aborts: "Unknown kDisplay argument (0000:0064) from method choosePlug::changeState (script 391, localCall ffffffff)!" in room 391 i.e. Pressing "Hz So Good" Robot Teller Menu's "Order" Button for Pocket Pal Connector and "[VM] kDisposeScript[3]: signature mismatch via method fightScript::dispose (script 151, localCall ffffffff)! parameter 0: 0031:0bfd (object), should be null, integer parameter 1: not passed, should be null, integer (optional) (more may follow)" in room 150 i.e. during Roger-Vohaul Fight Scene

Known Games That Can Be Completed Since sci-valgrind

  • Castle of Dr. Brain (06/27/2010)
  • Hero's Quest/Quest for Glory (07/11/2010)
  • Quest For Glory 1 VGA ((07/15/2010)
  • Island of Dr. Brain (06/26/2010)
  • King's Quest 1 (07/20/2010) - although a problem happened with the condor not appearing (ffs. TODO)
  • King's Quest 5 (06/26/2010)
  • Leisure Suit Larry 1 (07/16/2010)
  • Leisure Suit Larry 2 (07/22/2010)
  • Leisure Suit Larry 3 (07/18/2010)
  • Leisure Suit Larry 5 (07/18/2010)
  • Leisure Suit Larry 6 (07/19/2010)
  • Space Quest 1 VGA (07/20/2010)
  • Space Quest 3 (07/21/2010)

Resources

  • SCI Bugs: List of known bugs in the original SCI games
  • SCI Features: Features in SCI
  • SCI TODO: TODO Page
  • SCI Specifications: SCI Specs, based on "The Sierra Creative Interpreter" document from the FreeSCI Team, with our modifications
  • SCI Pathfinding: Documentation by Walter van Niftrik about the pathfinding method used in FreeSCI and now the SCI engine
  • SCI Development: Programs used to make SCI Fan Games
  • Sierra Game Versions: Versions of Sierra's Games (AGI & SCI)
  • FreeSCI Documentation: Technical documentation about FreeSCI
  • 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/let's play videos of several SCI games, for reference and debugging

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)


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