                           The Wall Door v1.1
                           ==================



 OverView:
 ---------

     "TheWallDoor" is a program, a door to be more precise, that runs under
 any MetroBBS, written by Percy Broadnax,  installation.   Basically, the
 game is a remake of the popular but ancient game "BreakOut", all rights
 reserved by the Atari Corp.  I consider "BreakOut" the forerunner of games
 such as Spectrum Holobyte's "Tetris" series and "Emerald Mines", by a
 different company.  Games of addiction seem to be the current wave, giving
 the inovations of CD-ROM a hard time, as people find that a "beatable" game
 (an adventure for example) quickly bores the player after the goal has
 been reached... so here is my first MetroBBS door program, "TheWallDoor".


 Requirements:
 -------------

 * Copy of the MetroBBS Software
 * Modem
 * At Least 512K Total System Memory
 * IBM 8-point font (Included With The MetroBBS)
 * Amiga 500/1000/2000/3000
 * Appreciation (The Software's FREE)


 Features:
 ---------

 *  Exclusive "OneWayChat" Option
 *  IBM ANSI Graphics
 *  HighScores Table And File
 *  Iconify Option (Auto-Configuring)
 *  On-Line Timer
 *  Level Editor (Remote/Local)
 *  Dropped Carrier Test
 *  Accelaration Point
 *  Lots of SysOp POWER!!


 SetUp:
 ------

 ** NOTE: This section may be skipped if you have set up a MetroBBS door **
 **       before, otherwise... please continue reading.                  **
 **       TheWall v1.1 includes a CLI executable scriptfile that will    **
 **       configure your system with TheWall as your first and ONLY door **
 **       Please refer to "Wall.Setup" to auto-install.                  **

 - If you do not already have a "DOORFILES" directory in you MetroBBS
   directory create one.

 - In the root of the "DOORFILES" directory you may have a few directories
   entitled "DOORx" where x is a number (as in "DOORFILES/DOOR1").  You will
   need to create another "DOORx" directory in "DOORFILES" where x will be
   one if you have no "DOORx" directories or one more than the greatest
   numbered "DOORx" directory (i.e. if you had "DOOR1" "DOOR2" "DOOR3" in
   your "DOORFILES" directory you'd create "DOORFILES/DOOR4").

 - In your new "DOORx" directory copy the executable "WallDoor" file to
   a file named "DOORx" where x corresponds to the directory you're in
   (if you were in "DOORFILES/DOOR1/" then you'd copy "WallDoor" to a
   file named "DOORx")

 - Finally you must update your "BBSFILES/doorcmds" file with a new entry.
   You should refer to that file's commented and the MetroBBS documentation
   for further information.  It is advisable that you declare an access level
   that indicates that a user has ANSI capability and require this level to
   enter "TheWallDoor".


 Controls:
 ---------

 ============================================================
 |   KEY(S)     |     EFFECT      | LOCAL | REMOTE | *SYSOP |
 ============================================================
 |  <           | Paddle Left     | ##### | ###### |        |
 ------------------------------------------------------------
 |  >           | Paddle Right    | ##### | ###### |        |
 ------------------------------------------------------------
 |  Q           | Quit (Player)   | ##### | ###### |        |
 ------------------------------------------------------------
 |  SPACE       | Ball Release    | ##### | ###### |        |
 ------------------------------------------------------------
 |  TAB         | (Un)Iconify     |       |        | ###### |
 ------------------------------------------------------------
 |  ESC         | Enter/Exit Chat |       |        | ###### |
 ------------------------------------------------------------
 |  DEL + HELP  | Quit (SysOp)    |       |        | ###### |
 ============================================================

           #'s indicate that the function is available.
            Blanks show the function is not available.

 *SYSOP = The function is ONLY available while a user is remote.
 REMOTE = The function is available to the user over the modem.
 LOCAL  = The function is available to a local user.

 Paddle Left   - Moves the paddle one position (character) to the left.
 Paddle Right  - Moves the paddle one position (character) to the right.
 Quit (Player) - Prompts the player with "QUIT (Y/N)" and waits for a
                 affirmative response (Y, y, yes, YES, yeah, etc.) or
                 a response differing from another control key (<, >, etc.)
                 in which case it aborts the requestor.
 Ball Release  - The string "<SPACE>" will appear above the paddle upon
                 the loss of a ball or the start of a new game.  The program
                 will wait for the space bar to be pressed, when pressed it
                 will release another ball (if there are any left).
 (Un)Iconify   - Puts a small window on the WorkBench screen which, when
                 clicked on and the TAB key is again pressed, allows the
                 SysOp to locally view the game being played.  This window
                 will carry the iconified information both to and from the
                 main BBS (in other words, if the main BBS is iconified than
                 the game will begin iconified and vice versa).
  Enter/Exit   - An option, as of this writing, unique among doors.  This
     Chat        option allows the SysOp to type 55 characters at the bottom
                 of the display.  If the SysOp types more than 55 characters
                 the line will slowly slide the first character off to make
                 room for new ones.  If the SysOp presses return, however,
                 the entire line will be blanked to allow for a fress start.
                 The only editing keys, so far, are the backspace and
                 delete keys which both delete one character from the end
                 of the chat line.  In this implementation, the user
                 cannot type back to the SysOp.
                 Note: "OneWayChat" occasionally looses characters... if you
                       solve this problem please contact me (I'll try to
                       come up with a solution myself also).
  Quit (SysOp) - This option allows the SysOp to "knock" a user out of the
                 door.  Added tenatively, this should only be used on
                 occasion.  The main purpose is to lock "Enemies Of The
                 BBS" out from doing mischeif.  Once you've depressed DEL
                 you may press it again to abort the escape.  A small
                 asterix (*) will locally appear, in the upper right-hand
                 corner if the DEL key is currently "locked" into quit mode.
                 Note: Quiting in this manner will still display the High
                       Score List both remotely and locally.


 StatusDisplay:
 --------------

 TitleBar:
 Title  - "TheWall" and it's current version number
 Name   - User's name with user id number in paranthesis
 Level  - User's access level
 Connect- Either "Local" or "Remote" (to indicate if a local user is dormant)

 Display Box:
 Name   - Provides both the current user's name and number
 Score  - Provides the current score
 Balls  - Number of balls left in current game
 Bricks - Indicates the number of bricks left in the current level
 Level  - Indicates the current level or round of the game


 Editor:
 -------

 - The integrated editor allows a local or remote user to edit levels
   ranging from 1 to 32000 and store any edited levels.
 - Access, to the editor, is granted if: the user is local, if the user has
   an access level of 8 or 9 (SysOp or Co-Sysop), or if a SysOp or CoSysop
   has specifically granted that user editor access.
 - Editor Controls
        8   Move cursor up              <SPACE>  Brick on/off toggle
        2   Move cursor down             <ESC>*  Exit edit and save
        4   Move cursor left                  N  Turn all bricks on
        6   Move cursor right                 F  Turn all bricks off
        +   Next level w/ save                A  Edit user access
        -   Prior level w/ save               S  Edit ball speed
   * The <ESC> key, pressed locally, will enter/exit chat mode as before
 - The <DEL>+<HELP> autoexit combination is available to the SysOp when a
   remote user is in the editor.
 - The <TAB>, (Un)Iconify, will NOT (un)iconify when editing.
 - All "Status" registers will show NA, not applicable, EXCEPT for the
   user name/number and the level, reflecting not the level being played
   but the actual level that is being edited.


 TechnicalNotes:
 ---------------

 - If you wish to compile the source (under HiSoft BASIC Pro) set only Array
   and Stack Checks to on, everything else should be set to off.
 - Files generated, referenced, or included with/by "TheWall"
   NAME             SIZE           DESCRIPTION
   WallDoor         052 KBytes     Executable Door Program    [INCLUDED]
   WallDoor.BAS     033 KBytes     HiSoft BASIC Source Code   [INCLUDED]
   WallDoor.DOC     010 KBytes     Complete Documentation     [INCLUDED]
   TheWall.Scores   240 Bytes*     Encrypted HighScores List  [GENERATE]
   WallDat (LEVEL)  095 Bytes      Files With Level Data      [GENERATE]
   WallDat.Access   003 Bytes      File With Editor Access    [GENERATE]
   Wall.Setup       001 KBytes     Script File For Setup      [INCLUDED]
   icon             003 Bytes      Contains BBS Iconify State [UTILIZED]
   USERDATA         050 Bytes*     Contains Limited User Data [UTILIZED]
   ZZWallStuff      227 Bytes      Archive DownLoad Insurance [INCLUDED]
   * Size May Vary
   KBytes Are Expressed As Bytes Divided By 1024


 DisClaimer:
 -----------
    I, Craig Jackson, take NO responsibility for any damage caused by this
 program, either directly or indirectly.  Although every effort has been
 made to make this program free of any bugs, no program can be assurdly bug-
 free.  If, however, you would like to make a bug report please see the
 closing information and I shall try to irradicate it if contacted.  Also,
 if this door program appears on, either running or stored in a file area,
 an illegal or pirate BBS I shall not be held responsible, either in part
 or full for the activities of such a BBS.


 Claimer:
 --------

    All code, executables that code produces, and this documentation
 Copyright (c) 1991.  You may modify the source, no viri please, to
 suit your needs (defined as bug-fixes and/or improvements).  If you
 modify the source please redistribute the code and make sure my name
 remains as the original author in both the program and documentation
 (ego attack), change the version number to signify the change, and if
 you wish you may send the code to either me or Percy Broadnax to include
 in the "offical" distribution.  You may also include your name in the
 "Authors:" section of thus document with a short description of any
 features you have added.


 Known Bugs:
 -----------

 - "OneWayChat" occasionally looses a character
 - Flow control pauses when: a disk is read from, game (un)iconified

 Version List:
 -------------

 Version 1.0
    First release, possibly rushed out of the door
    Version Features: OneWayChat, HighScores List, SysOp -> User Knockout,
                      Iconify, Acceloration Point, Status Display, ANSI
 Version 1.1
    Second release, adds a level editor
    Version Features: Editor (Local/Remote), Configurable Acceloration Speeds,
                      Many Minor Optimizations Througout The Code


 Contact:
 --------

    I can be electronically contacted on "Deep Thought", the Software
 Distillery's BBS at (919)-460-7430.  In the unlikely event that "Deep
 Thought" comes down or changes numbers I can be contacted on "The National
 Amiga Echo" on any FidoNET node.  In both places I may be found under the
 user name "Craig Jackson".  God, those "claimers" are longer than I wanted
 then to be.  Oh and if someone wants to they could optimise the chat
 routine for me... it loses too many characters currently (this was only
 written in BASIC because the MetroBBS was also written in BASIC and the
 sample door routines for it were written in BASIC... someone could port it
 to 'C', maybe I will sometime.)

                                    -- Craig --