adv770.zip Game version 2.07 Built using A-code engine 12.53 Build date 14 April 2013 This package contains an MSDOS build of my 770 points version of Adventure. The game (generally known as Adv770) is made available under GPL3 and may be freely distributed and archived. Please note: this is an MSDOS build, not a Windows one. It is known to work in a DOS prompt or CMD window on Win98, WinXP, Vista and various DOS emulators (e.g. DOSBOX). It is known *not* to work on Windows7 and later -- please use a Windows build instead. In any case, the Windows build will also work on Win98, WinXP and Vista and is much preferable even if run in the console mode because, unlike the DOS build, it permits command recall and editing. Contents: adv770 Container folder README.txt This file adv770.exe Game executable adv770.dat Game text data file; should live in the same place as the executable cswdpmi.exe DOS memory extender, which you may or may not need -- see below. You will only need the DOS memory extender if you intend to run the game on a pure DOS machine, real or virtual (e.g. runnig DOSBOX on a tablet). The simple presence of CWSDPMI.EXE alongside the game's executable may be sufficient in such circumstances, but if not, try running CWSDPMI as "CWSDPMI -p -s-" before running the game itself. The extender is not required for running in a DOS/CMD window on a Windows machine. This being an A-code 12 build, it automatically has some features not provided by the game itself: * The game has a persistent state, which means that if the game process gets killed for whatever reason, once restarted, the game will be automatically resumed from where it was interrupted, unless a new game is requested by using the /n command line switch. * The game has its home in the ACODE\ADV770 folder automatically created in your home folder. On pure DOS machines (real or virtual) it'll be in your current folder. That is where it is going to write save files and also where it is going to look for old saves. If you have any games saved by an older version, you may need to move them over to this new game folder. * The ACODE folder in your home folder now also contains the DOS-mode A-code configuration file acode.cfg which contains default settings for some aspects of the game. Please feel free to modify it as you wish. To restore defaults simply delet the file and it will be re-created automatically. Game versions with the same major version number (version 2.x at present) are upward compatible in that they can restore games saved by an earlier version, unless the bugs list states otherwise. This means that it is quite safe to upgrade to later bug-fixed versions. Should an unavoidable incompatibility arise at some future time, it will be signalled by the game major version changing from 2 to 3. For more A-code information, please visit my web-site: http://mipmip.org/ Hope you enjoy the game! Mike Arnautov mla@mipmip/org 14 April 2013 ________________________________________________________________________ All relevant Adv770 and A-code sources can be found at http://mipmip.org. The CWSDPMI memory extender was created by CW Sandmann and its source can be obtained from http://homer.rice.edu/~sandmann/cwsdpmi/index.html. ________________________________________________________________________ A-code game command line options (A-code version 12.53) This document describes command line options available when running any A-code game built using A-code 12 engine. The behaviour of the game is generally regulated by the self-documented file ACODE.CFG, which can be found in the acode directory, automatically created in player's home directory. Where command line options refer to particular aspects covered by the configuration file, they override the configuration file settings. Conventions: * Angle brackets denote a symbolic string to be replaced by something appropriate. E.g. would be replaced by the name of a file (with no surrounding angel brackets). * Square brackets [ ] denote something optional. So e.g. /l[] means that the name of the log file may be omitted. * Braces { } denote a list of permissible values, separated by vertical bars |. E.g. /b[{0|1|2}] means the /b may be optionally (square brackets!) followed by one of the three digits zero,one or two. * Where a value can be specified with a command line option, the syntax shown is that of the value abutting directly to the option specification letter. However, an equality sign = can be placed between the two, so that /b0 is equivalent to /b=0. * Some options can have either word or numerical values; the two styles are shown on two separate lines and are exactly equivalent. The following command line options are valid for both the browser and the console display modes: /n Force a new game. By default, if a previous game session got somehow forcibly interrupted (e.g. by the game process being killed for whatever reason), the interrupted session is automatically resumed when the game is restarted. The /n option overrides this behaviour and forces the interrupted session to be forgotten. /b[{no|yes|all}] /b[{0|1|2}] Set or invert the blank line setting. If set to zero blank lines are inserted before and after each prompt. If the value is 1, blank lines around '?' prompts are suppressed, resulting in a more compact display. If the value is 2, then ALL blank lines are suppressed, for super-compact, but less readable output. If no value is specified, the new setting is 0 or 1, inverting the A-code default for this game. In old-style A-code (Adv550), which does not distinguish between replies to queries and general commands, this only affects presence/absence of a blank line after the prompt line, and never before it. /d If using a data file, specify its directory. Ignored if the game is built as a simple executable with no associated data file. By default, the game data file is assumed to live in the same directory as the executable. The /d option allows a separate location to be specified. The program will attempt to work out the separator which should follow the directory name, but if in doubt as to the appropriate one for the given platform, the dbs name will be simply concatenated with the supplied pathname -- hence if it doesn't work, try adding the trailing separator to the pathname. [/r] Restore game from dump. Ignored if the game does not support game dump files being specified on the command line. The /r optional in that any command line argument which does not begin with a dash will be interpreted as the name of the dumpfile to restore on invocation. /c Replay game from log. This is a debugging tool, which allows a game to be replayed from a log file (see below). If the logfile contains more than one session log, only the first session will be replayed. The log contains the value of the random seed used in the session, thereby ensuring that the game is replayed exactly, despite any randomisation. [NB, replaying games only works if the log was created by exactly the same version of the game.] /l[] Log the game. Specifies the file into which a session log is to be written. The log is human-readable, but has some additional features allowing it to be used subsequently for replaying the session. If the nominated logfile already exists, it gets appended to. If no logfile is specified the name of the game is used, suffixed with .log. /u{off|on|none} /u{0|1|none} Set the initial state of undo-history collection. Ignored if the game does not support undo. If the value is zero, the default undo status is OFF. If the value is one, the default undo status is ON. The "none" state implies OFF and disallows undo functionality being subsequently switched on from within the game. The default state is ON for games which define the verb UNDO, and "none" otherwise. /v Show the game, kernel and acdc version numbers and exit. /h Print command line usage summary. The following options are only meaningful in the console display mode, and therefore force the console mode even if the /B option is used. /j[{off|on}] /j[{0|1}] Set text mode to wrap (0) or justify (1). If no value is specified, invert the default A-code setting for this game. In wrap mode, text is simply broken into lines according to the screen width (see the /s option below). With justification turned on, each line is right-justified. All of this presupposes a fixed font being in use. For variable font devices, which tend to do their own wrapping, the default screen width should be set to zero, meaning "infinite", and the margin should be specified as zero too. If no value is supplied, the effect is to invert the game's default setting. This option is ignored by games written in the "old style" A-code (i.e. by adv550). /s.[.] Set screen size (width in fixed font characters, height in lines, and margin in fixed font blanks). The default screen dimension is 80x24-1, the margin being set to 1 character. The /s option allows a different screen size (and optionally margin) to be specified. Screen width of zero means "infinite" width. Note that the line length cannot be set to less than 16 characters and the minimal number of lines per screen is 5. /p[{off|on}] /p[{0|1}] Pause on exit. Requests that after printing the final exit message the game should prompt the player for a , before exiting. This feature is intended for players who wish to play console version of the game, in a window which closes as soon as the game exits. The functionality of the /s, /u and /j options is also provided via kernel hooks (see procedure special() in the kernel source file adv00.c), so that the game may -- at author's discretion -- offer the player commands for toggling the justification switch, switching on and off the change history, and altering screen size and margin. Any unknown or suppressed keywords are quietly ignored. Mike Arnautov mla@mipmip/org 14 April 2013 ________________________________________________________________________