Difference between revisions of "AGI/Specifications"

From ScummVM :: Wiki
< AGI
Jump to navigation Jump to search
(remaking the index page)
 
 
(21 intermediate revisions by 9 users not shown)
Line 1: Line 1:
This is being slowly wikified and the specs added --[[User:Stu|df]] 14:01, 18 August 2006 (UTC)
+
==[[AGI/Specifications/Introduction|AGI Specifications v3.2, 17 July 2007]]==
  
==AGI Specifications v3.0, 22 May 1999==
+
Lance Ewing, Peter Kelly, Claudio Matsuoka, Stu George, David Symonds
  
Lance Ewing, Peter Kelly, Claudio Matsuoka, Stu George
 
  
 +
This document is a collection of all the information currently known about the structure and operation of the Adventure Game Interpreter, used in 1984--1989 for a variety of adventure games published by Sierra On-Line such as Space Quest I and II, and Leisure Suit Larry in the Land of the Lounge Lizards.
 +
 +
 +
    * 1.1 [[AGI/Specifications/Introduction#About|About]]
 +
    * 1.2 [[AGI/Specifications/Introduction#Audience|Audience]]
 +
    * 1.3 [[AGI/Specifications/Introduction#Conventions|Conventions used in this document]]
 +
    * 1.4 [[AGI/Specifications/Introduction#WhatsStillMissing|What's still missing]]
 +
    * 1.5 [[AGI/Specifications/Introduction#ChangeLog|Change log]]
 +
    * 1.6 [[AGI/Specifications/Introduction#Credits|Credits]]
  
This document is a collection of all the information currently known about the structure and operation of the Adventure Game Interpreter, used in 1984--1989 for a variety of adventure games published by Sierra On-Line such as Space Quest I and II, and Leisure Suit Larry in the Land of the Lounge Lizards.
+
==[[AGI/Specifications/Overview|General AGI overview]]==
 +
 
 +
    * 2.1 [[AGI/Specifications/Overview#Versions|Versions of the AGI interpreter]]
 +
    * 2.2 [[AGI/Specifications/Overview#GameFiles|AGI game files]]
 +
    * 2.3 [[AGI/Specifications/Overview#Logic|LOGIC, PICTURE, SOUND, and VIEW data files]]
 +
    * 2.4 [[AGI/Specifications/Overview#Ego|What is Ego?]]
 +
    * 2.5 [[AGI/Specifications/Overview#Commands|AGI commands]]
 +
    * 2.6 [[AGI/Specifications/Overview#Debug|Debug modes]]
 +
    * 2.7 [[AGI/Specifications/Overview#Priority|Priority bands and control lines]]
 +
 
 +
==[[AGI/Specifications/Internals|AGI internals]]==
 +
 
 +
    * 3.1 [[AGI/Specifications/Internals#Interpreter|How the interpreter works]]
 +
    * 3.2 [[AGI/Specifications/Internals#VariableTypes|Variable types]]
 +
    * 3.3 [[AGI/Specifications/Internals#Variables|Variables used by the interpreter]]
 +
    * 3.4 [[AGI/Specifications/Internals#Flags|Flags used by the interpreter]]
 +
    * 3.5 [[AGI/Specifications/Internals#Memory|Memory organization]]
 +
    * 3.6 [[AGI/Specifications/Internals#GameID|Game IDs and loaders]]
 +
    * 3.7 [[AGI/Specifications/Internals#Encryption|Encrypted AGI data]]
 +
    * 3.8 [[AGI/Specifications/Internals#Input|Player input parsing]]
 +
    * 3.9 [[AGI/Specifications/Internals#InterpreterVersions|AGI interpreter versions]]
 +
    * 3.10 [[AGI/Specifications/Internals#VersionDifferences|Version differences]]
  
 +
==[[AGI/Specifications/Logic|The LOGIC language]]==
  
     * 1.1 [[agispecs_introduction#About)|About]]
+
     * 4.1 [[AGI/Specifications/Logic#Logic|LOGIC syntax]]
     * 1.2 [[agispecs_introduction#Audience|Audience]]
+
     * 4.2 [[AGI/Specifications/Logic#CommandRef|Reference of the LOGIC commands]]
     * 1.3 [[agispecs_introduction#Conventions|Conventions used in this document]]
+
     * 4.3 [[AGI/Specifications/Logic#Sample|Discussion of sample LOGIC code from KQ4 ]]
    * 1.4 [[agispecs_introduction#WhatsStillMissing|What's still missing]]
 
    * 1.5 [[agispecs_introduction#Change Log|Change log]]
 
    * 1.6 [[agispecs_introduction#Credits|Credits]]
 
  
==General AGI overview==
+
==[[AGI/Specifications/Formats|Formats of the resource files]]==
  
     * 2.1 [[agispecs_overview#Versions|Versions of the AGI interpreter]]
+
     * 5.1 [[AGI/Specifications/Formats#Dir|Directory files]]
     * 2.2 [[agispecs_overview#GameFiles|AGI game files]]
+
     * 5.2 [[AGI/Specifications/Formats#Vol2|Format of Vol files (version 2)]]
     * 2.3 [[agispecs_overview#Logic|LOGIC, PICTURE, SOUND, and VIEW data files]]
+
     * 5.3 [[AGI/Specifications/Formats#Vol3|Format of Vol files (version 3)]]
     * 2.4 [[agispecs_overview#Ego|What is Ego?]]
+
     * 5.4 [[AGI/Specifications/Formats#Sample|Sample code]]
    * 2.5 [[agispecs_overview#Commands|AGI commands]]
 
    * 2.6 [[agispecs_overview#Debug|Debug modes]]
 
    * 2.7 [[agispecs_overview#Priority|Priority bands and control lines]]
 
  
==AGI internals==
+
==[[AGI/Specifications/Resources|LOGIC resources]]==
  
     * 3.1 [[agispecs_internals#Interpreter|How the interpreter works]]
+
     * 6.1 [[AGI/Specifications/Resources#Intro|Introduction]]
     * 3.2 [[agispecs_internals#VariableTypes|Variable types]]
+
     * 6.2 [[AGI/Specifications/Resources#CmdList|Command list and argument types]]
     * 3.3 [[agispecs_internals#Variables|Variables used by the interpreter]]
+
     * 6.3 [[AGI/Specifications/Resources#LogicFormat|LOGIC resource format]]
    * 3.4 [[agispecs_internals#Flags|Flags used by the interpreter]]
 
    * 3.5 [[agispecs_internals#Memory|Memory organization]]
 
    * 3.6 [[agispecs_internals#GameID|Game IDs and loaders]]
 
    * 3.7 [[agispecs_internals#Encryption|Encrypted AGI data]]
 
    * 3.8 [[agispecs_internals#Input|Player input parsing]]
 
    * 3.9 [[agispecs_internals#InterpreterVersions|AGI interpreter versions]]
 
    * 3.10 [[agispecs_internals#VersionDifferences|Version differences]]
 
  
==The LOGIC language==
+
==[[AGI/Specifications/Pic|PICTURE resources]]==
  
     * 4.1 [[agispecs_logic#Logic|LOGIC syntax]]
+
     * 7.1 [[AGI/Specifications/Pic#Intro|Introduction]]
     * 4.2 [[agispecs_logic#CommandRef|Reference of the LOGIC commands]]
+
     * 7.2 [[AGI/Specifications/Pic#PicFormat|PICTURE resource format]]
     * 4.3 [[agispecs_logic#Sample|Discussion of sample LOGIC code from KQ4 ]]
+
    * 7.3 [[AGI/Specifications/Pic#Implementation|Implementation]]
 +
     * 7.4 [[AGI/Specifications/Pic#HiRes|Using higher resolution modes]]
 +
    * 7.5 [[AGI/Specifications/Pic#PicEdit|Sierra's picture editor]]
 +
    * 7.6 [[AGI/Specifications/Pic#Sample|Sample code]]
  
==Formats of the resource files==
+
==[[AGI/Specifications/View|VIEW resources]]==
  
     * 5.1 [[agispecs_formats#Dir|Directory files]]
+
     * 8.1 [[AGI/Specifications/View#Intro|Introduction]]
     * 5.2 [[agispecs_formats#Vol2|Format of Vol files (version 2)]]
+
     * 8.2 [[AGI/Specifications/View#ViewFormat|VIEW resource format]]
     * 5.3 [[agispecs_formats#Vol3|Version 3 resource storage]]
+
     * 8.3 [[AGI/Specifications/View#ViewTable|VIEW table]]
     * 5.4 [[agispecs_formats#Sample|Sample code]]
+
     * 8.4 [[AGI/Specifications/View#ViewTest|VIEW test commands]]
 +
    * 8.5 [[AGI/Specifications/View#Sample|Sample code ]]
  
==LOGIC resources==
+
==[[AGI/Specifications/Sound|SOUND resources]]==
  
     * 6.1 [[agispecs_resources#Intro|Introduction]]
+
     * 9.1 [[AGI/Specifications/Sound#Intro|Introduction]]
     * 6.2 [[agispecs_resources#CmdList|Command list and argument types]]
+
     * 9.2 [[AGI/Specifications/Sound#PCJr|Sound in the IBM PCjr]]
     * 6.3 [[agispecs_resources#LogicFormat|LOGIC resource format]]
+
     * 9.3 [[AGI/Specifications/Sound#IIgs|Sound in the Apple IIgs]]
     * 6.4 [[agispecs_resources#Sample|Sample code]]
+
    * 9.4 [[AGI/Specifications/Sound#Other|Sound in other platforms]]
 +
    * 9.5 [[AGI/Specifications/Sound#PCJrFormat|SOUND resource format (PCjr version)]]
 +
     * 9.6 [[AGI/Specifications/Sound#IIgsFormat|SOUND resource format (IIgs version)]]
 +
    * 9.7 [[AGI/Specifications/Sound#Playing|Playing the sounds on a sound card]]
 +
    * 9.8 [[AGI/Specifications/Sound#Sample|Sample code]]
  
==PICTURE resources==
+
==[[AGI/Specifications/Data|Other game data]]==
  
     * 7.1 [[agispecs_pic#Intro|Introduction]]
+
     * 10.1 [[AGI/Specifications/Data#Object|Format of the object file]]
     * 7.2 [[agispecs_pic#PicFormat|PICTURE resource format]]
+
     * 10.2 [[AGI/Specifications/Data#Words|Format of words.tok]]
     * 7.3 [[agispecs_pic#Implementation|Implementation]]
+
     * 10.3 [[AGI/Specifications/Data#Sample|Sample code]]
    * 7.4 [[agispecs_pic#HiRes|Using higher resolution modes]]
 
    * 7.5 [[agispecs_pic#PicEdit|Sierra's picture editor]]
 
    * 7.6 [[agispecs_pic#Sample|Sample code]]
 
  
==VIEW resources==
+
==[[AGI/Specifications/Other|Other information]]==
  
     * 8.1 [[agispecs_view#Intro|Introduction]]
+
     * 11.1 [[AGI/Specifications/Other#AGDS|The AGDS package]]
     * 8.2 [[agispecs_view#ViewFormat|VIEW resource format]]
+
     * 11.2 [[AGI/Specifications/Other#Thunder|The making of the Thunderstorm educational Program]]
     * 8.3 [[agispecs_view#ViewTable|VIEW table]]
+
     * 11.3 [[AGI/Specifications/Other#Terps|Other AGI interpreters]]
    * 8.4 [[agispecs_view#ViewTest|VIEW test commands]]
 
    * 8.5 [[agispecs_view#Sample|Sample code ]]
 
  
==SOUND resources==
+
==[[AGI/Specifications/Booters|Booter versions of AGI games]]==
  
     * 9.1 [[agispecs_sound#Intro|Introduction]]
+
     * 12.1 [[AGI/Specifications/Booters#DDP|Donald Duck's Playground]]
    * 9.2 [[agispecs_sound#PCJr|Sound in the IBM PCjr]]
 
    * 9.3 [[agispecs_sound#IIgs|Sound in the Apple IIgs]]
 
    * 9.4 [[agispecs_sound#Other|Sound in other platforms]]
 
    * 9.5 [[agispecs_sound#PCJrFormat|SOUND resource format (PCjr version)]]
 
    * 9.6 [[agispecs_sound#IIgsFormat|SOUND resource format (IIgs version)]]
 
    * 9.7 [[agispecs_sound#Playing|Playing the sounds on a sound card]]
 
    * 9.8 [[agispecs_sound#Sample|Sample code]]
 
  
==Other game data==
+
==[[AGI/Specifications/Fan Made Extensions|Fan-Made Extensions to the AGI Engine]]==
  
     * 10.1 [[agispecs_data#Object|Format of the object file]]
+
     * 13.1 [[AGI/Specifications/Fan Made Extensions#AGIPAL|AGIPAL]]
     * 10.2 [[agispecs_data#Words|Format of words.tok]]
+
     * 13.2 [[AGI/Specifications/Fan Made Extensions#AGI256|AGI256]]
     * 10.3 [[agispecs_data#Sample|Sample code]]
+
     * 13.3 [[AGI/Specifications/Fan Made Extensions#AGI256-2|AGI256-2]]
  
==Other information==
+
==[[AGI/Specifications/Savegame|Savegame files]]==
  
     * 11.1 [[agispecs_other#AGDS|The AGDS package]]
+
     * 14.1 [[AGI/Specifications/Savegame#Introduction|Introduction]]
     * 11.2 [[agispecs_other#Thunder|The making of the Thunderstorm educational Program]]
+
     * 14.2 [[AGI/Specifications/Savegame#Saved_Game_Format|Saved Game Format]]
     * 11.3 [[agispecs_other#Terps|Other AGI interpreters]]
+
     * 14.3 [[AGI/Specifications/Savegame#Restoring_a_Game|Restoring a Game]]

Latest revision as of 22:22, 11 March 2017

AGI Specifications v3.2, 17 July 2007

Lance Ewing, Peter Kelly, Claudio Matsuoka, Stu George, David Symonds


This document is a collection of all the information currently known about the structure and operation of the Adventure Game Interpreter, used in 1984--1989 for a variety of adventure games published by Sierra On-Line such as Space Quest I and II, and Leisure Suit Larry in the Land of the Lounge Lizards.


   * 1.1 About
   * 1.2 Audience
   * 1.3 Conventions used in this document
   * 1.4 What's still missing
   * 1.5 Change log
   * 1.6 Credits

General AGI overview

   * 2.1 Versions of the AGI interpreter
   * 2.2 AGI game files
   * 2.3 LOGIC, PICTURE, SOUND, and VIEW data files
   * 2.4 What is Ego?
   * 2.5 AGI commands
   * 2.6 Debug modes
   * 2.7 Priority bands and control lines

AGI internals

   * 3.1 How the interpreter works
   * 3.2 Variable types
   * 3.3 Variables used by the interpreter
   * 3.4 Flags used by the interpreter
   * 3.5 Memory organization
   * 3.6 Game IDs and loaders
   * 3.7 Encrypted AGI data
   * 3.8 Player input parsing
   * 3.9 AGI interpreter versions
   * 3.10 Version differences

The LOGIC language

   * 4.1 LOGIC syntax
   * 4.2 Reference of the LOGIC commands
   * 4.3 Discussion of sample LOGIC code from KQ4 

Formats of the resource files

   * 5.1 Directory files
   * 5.2 Format of Vol files (version 2)
   * 5.3 Format of Vol files (version 3)
   * 5.4 Sample code

LOGIC resources

   * 6.1 Introduction
   * 6.2 Command list and argument types
   * 6.3 LOGIC resource format

PICTURE resources

   * 7.1 Introduction
   * 7.2 PICTURE resource format
   * 7.3 Implementation
   * 7.4 Using higher resolution modes
   * 7.5 Sierra's picture editor
   * 7.6 Sample code

VIEW resources

   * 8.1 Introduction
   * 8.2 VIEW resource format
   * 8.3 VIEW table
   * 8.4 VIEW test commands
   * 8.5 Sample code 

SOUND resources

   * 9.1 Introduction
   * 9.2 Sound in the IBM PCjr
   * 9.3 Sound in the Apple IIgs
   * 9.4 Sound in other platforms
   * 9.5 SOUND resource format (PCjr version)
   * 9.6 SOUND resource format (IIgs version)
   * 9.7 Playing the sounds on a sound card
   * 9.8 Sample code

Other game data

   * 10.1 Format of the object file
   * 10.2 Format of words.tok
   * 10.3 Sample code

Other information

   * 11.1 The AGDS package
   * 11.2 The making of the Thunderstorm educational Program
   * 11.3 Other AGI interpreters

Booter versions of AGI games

   * 12.1 Donald Duck's Playground

Fan-Made Extensions to the AGI Engine

   * 13.1 AGIPAL
   * 13.2 AGI256
   * 13.3 AGI256-2

Savegame files

   * 14.1 Introduction
   * 14.2 Saved Game Format
   * 14.3 Restoring a Game