















          D O O R    I N T E R F A C E    P R O G R A M
                             (DIP)
                    Version 1.6 User's Manual
              Copyright (c) 1990-93 by Jeff Fehlman
                       All rights reserved.






















                         19 January,  1993

                         MindKeep Software
                           Jeff Fehlman
                           PO Box  5332
                     Fair Oaks, CA 95628-9106








               T A B L E    O F    C O N T E N T S 






Introduction................................................  3
  Description
  The Shareware Plea
  Warranty and Disclaimer
  Registration and Benefits
  Obtaining Updates
Getting Started.............................................  5
DIP Configuration...........................................  5
  Main SysOp Menu
  Select Input Method to DIP Menu
Door Configuration..........................................  7
  Door Selection Menu
  Door Edit Menu
  Select Desired Groups for Access Menu
DIP Graphics Modes.......................................... 10
Appendix.................................................... 11
  DIP Color Graphic Codes
  DIP Group Integer Field
  DIP/ST-KEEP Input User File Format
  DIP DORINFO1 Input File Format


























Description:

	The Door Interface Program (DIP) is an on-line menuing
 system designed to allow on-line games and programs to be exe-
 cuted from within most BBS software.  It features complete log-
 ging capabilities, VT-52, ANSI and ASCII graphics and a user
 friendly GEM SysOp interface.

DIP may receive it's input in a variety of ways:

	Direct User Input
	Command Line Parameters
	Special ST-Keep User File
 	DORINFO1.DEF File

DIP will output the following formats while launching a program:

	Command Line Parameters
	FOREM.DAT File
	DORINFO1.DEF File
	Simple ASCII User name File


The Shareware Plea:

       Shareware is commercial (or near commercial) software
 distributed in an unconventional manner.  Anyone may copy a
 Shareware program and distribute it to whomever they desire, 
 provided they do not charge a fee or alter it in any way.
 Shareware isn't free.  Serious Shareware represents just as
 much programming effort as any conventional commercial product.
 If you use it regularly, the authors expect compensation.
 Unlike commercial distribution, Shareware allows you to
 evaluate the product before you decide to purchase it.  The
 price is often lower, as well, because there are no adver-
 tising, packaging, or distribution costs.  It can only work
 with your support.  If you are still using a Shareware pro-
 duct after a couple of weeks, then it is obviously worth
 something to you, and you should register it.

	DIP is distributed as Shareware.  This means that
 users are encouraged, subject to restrictions described above,
 to share copies of this program with friends, associates and
 bulletin boards.  Please remember that if you use this soft-
 ware you are required to pay the registration fee of either
 $10.00 or $15.00 depending upon your delivery method as
 described in the section titled Registration Fee.  DIP may
 NOT be sold or included with a commercial product without
 the express written consent of the author.  Also, this
 documentation may not be reprinted without the express
 written consent of the author.   




Warranty and Disclaimer:

	MindKeep Software and Jeff Fehlman specifically dis-
 claims all warranties, expressed or implied, including but not
 limited to implied warranties of merchantability and fitness
 for a particular purpose with respect to defects in the pro-
 grams and documentation. In no event shall MindKeep Software
 and Jeff Fehlman be liable for any loss of profit or any other
 commercial damage, including but not limited to special, in-
 cidental, consequential or other damages.

 	Jeff Fehlman retains all rights to the DIP Package and
 the right to make updates to this package and its documentation
 without notification to the purchaser.  This package is sold
 and distributed "as is".


Registration and Benefits:

  You may register DIP in either of two ways:

    1)  Send $15.00 and the registration form to the address
        indicated.  You will be sent a 3 1/2" disk containing
        the latest version of DIP and a key file to register
        your copy of DIP.

    2)  Send $10.00 and the registration form to the address
        indicated.  In a few weeks call the DIP Support BBS
        and download your registered program yourself.


Obtaining Updates:

	Updates and Product Support may be best obtained by
 calling the DIP Support BBS (FREQ DIP):

                       =-=-=-=-=-=-=-=-=-=
                          The Mind Keep
                         (916)  723-1657
                        1200 - 14.4K baud
                       =-=-=-=-=-=-=-=-=-=
                      AtariNet    51:3/13.0
                      FidoNet  1:203/1657.0
                      NeST    90:300/1657.0
                      TurboNet 100:290/10.0
                      PixNet  116:204/140.0

 I may also be reached via GEnie address J.FEHLMAN
 and InterNet (query NIC).






Getting Started:

	First, create a folder in which DIP and it's associated
 files will reside.  Copy DIP.TTP and DIPSYSOP.PRG into this
 folder.  Before running DIP you must have a modem connected to
 your system and turned on.  Make sure the modem is set to the
 Hayes AT&C1 command (cause DCD to track actual state of remote
 modem's carrier).

	Run DIP.TTP by double clicking on it.  There is no need
 to enter command line parameters.  The title screen will come
 up and DIP will ask for your name.  Enter any name here.  DIP
 will ask for conformation and then ask for your Graphics mode.
 Enter either ASCII or VT-52.

	At this point you will see a menu with two entries, 'M'
 for maintenance and 'X' for exit.  Press 'M' and the SysOp
 Maintenance program will start.  You are ready to configure DIP.


Main SysOp Menu:

	The Main SysOp menu is the opening menu to configure DIP
 for your system.  It is accessed by typing 'M' from the DIP
 menu.

  Edit Door:   Calls the Door Selection Menu which allows you
               to create, delete, edit and move menu entries.
  Save:        Saves your work and exits the SysOp Maintenance
               Program.
  Exit:        Exits the SysOp Maintenance Program but DOES NOT
               save your work.
  Time Limit:  Enter the maximum amount of time you wish to
               allow users in this menu.
  Menu Title:  Enter the title of your menu.
  
  Configuration Switches:
    
    Display BBS Name:         Display your BBS name the first
                              time a user enters the menu.
    Display Bulletin:         Display a specified text file the
                              first time a user enters the menu
                              (you must specify the name and
                              path of the Bulletin file in the 
                              box beside this switch, see 
                              details elsewhere).
    Display Welcome Message:  Display "Welcome <USER NAME>" the
                              first time a user enters the menu.
    Record LOG File:          Keeps a log file of the users
                              actions (you must specify a name
                              and path of the Log file in the
                              box beside this switch.  In
                              addition, you must initialize the
                              log file if it does not already
                              exist, see details elsewhere).
    Initialize LOG File:      Destroy the old log file (if any)
                              and  create a new one.
    Select DIP Input:         Calls the "Select Input Method to
                              DIP" menu, see details elsewhere
                              (VERY IMPORTANT!).

  Specify Bulletin path/name: Pressing 'Yes' will display the
                              file selector and allow you to
                              choose a Bulletin (text) file name
                              and path for display to the user
                              immediately after DIP starts exe-
                              cuting.  This is only necessary if
                              you have selected the 'Display 
                              Bulletin' switch (see details
                              elsewhere).
  Specify LOG file path/name: Pressing 'Yes' will display the
                              file selector and allow you to
                              choose a log file name and path to
                              record user activities while in
                              DIP.  This is only necessary if
                              you have selected the 'Record LOG
                              File' switch (see details else-
                              where).  In addition, you must
                              initialize the log file if it does
                              not already exist (see details
                              elsewhere).


Select Input Method to DIP Menu:

	The 'Select Input Method to DIP' menu allows you to
 specify which method DIP will use to input user information.
 Not entering this information will cause DIP to default to 
 'User Query' mode.  Entry is from the Main SysOp Menu.

  Configuration Switches:

    User Query:          DIP will query the user about their
                         name and graphics mode when DIP is
                         first executed.  This provides only
                         minimal information.  The user's time
                         limit is taken from the time the user 
                         enters the DIP program.  The user is
                         placed in 'Group 1' (more information
                         on this elsewhere).
    Command Line Input:  DIP will read it's command line for the
                         user's name.  It will still query the
                         user for their graphics mode.  The 
                         user's time limit is taken from the
                         time the user enters the DIP program.
                         The user is placed in 'Group 1' (more
                         information on this elsewhere).



    User File Input:     The author of ST-Keep BBS, Andrew 
                         Studer, has provided DIP with an ASCII
                         format file containing all of the in-
                         formation need for DIP to operate ef-
                         ficiently.  You will need to specify
                         the file name and path in the box below
                         this switch (make sure this corresponds
                         with ST-Keep's name and path!).  
                         Details on the format of this file may
                         be found in the Appendix.
    DORINFO1 Input:      DIP will read a DORINFO1.DEF file and
                         extract the necessary user information
                         from it.  You will need to specify the
                         file path in the box below this switch
                         (make sure this corresponds with your
                         BBS system's path!).  Details on the
                         format of this file may be found in the
                         Appendix.

  Specify Input File Path/Name:  Pressing 'Yes' will display the
                                 file selector and allow you to
                                 choose either a user file name
                                 and path or a DORINFO1 path.
                                 This field MUST be used either
                                 the 'User File Input' or
                                 'DORINFO1 Input' is selected.

  Exit:  Returns DIP to the Main SysOp Menu.


Door Selection Menu:

 	This menu allows you to create, delete, edit and move
 menu entries.  It is entered from the Main SysOp menu.

  Menu Item Selection:

	The left side of the Door Selection menu contains a list
   of existing menu entries.  You may select a menu item either
   by selecting the menu title or it's corresponding letter
   designation.

  Create:  Calls the 'Door Edit Menu' to create and edit a new
           menu item.  It is not necessary to choose an existing
           menu item.
  Delete:  Deletes an item from the menu.  You must select a
           menu item either before or after activating this
           switch.  Selecting 'Cancel' aborts this operation.
  Edit:    Calls the 'Door Edit Menu' to edit an existing menu
           item.  You must select a menu item either before or
           after activating this switch.  Selecting 'Cancel'
           aborts this operation.
  Move:    Changes the order of appearance of the menu items.
           You must select a menu item either before or after
           activating this switch.  DIP will prompt you for the
           'Destination' location.  Simply choose your new
           location in the Menu Item Selection area (see details
           elsewhere) and the menu item will be moved to that
           location.  Selecting 'Cancel' at any time aborts this
           operation.
  Cancel:  Returns DIP to the Main SysOp Menu.


Door Edit Menu:

	The Door Edit Menu specifies all the necessary parameters
 to run a given menu item.  It is entered from the Door 
 Selection Menu.

  Title:  Enter the title of your menu item.
  Save:   Saves your work and exits to the Door Selection Menu.
  Exit:   Exits to the Door Selection Menu but DOES NOT save
          your work.

  Configuration Switches:

    Console ONLY:  Menu item is only executable (and visible)
                   when DIP is in 'local' or 'console' mode.
    LOG Program:   Allows logging of activity in this menu item.
                   The Record LOG File switch (see the Main
                   SysOp Menu description previously in this
                   manual) must be switched on for this to have
                   any effect.
    Send LOCAL:    Sends 'LOCAL' across the command line to the
                   menu item when evoking that program while in
                   console mode. This overrides any command line
                   parameters specified in the Specify Command
                   Line field (see elsewhere).

  Group:  Calls the 'Select Desired Groups for Access' menu.  If
          not specified, a default group of '1' is specified
          (see below for details).

  Select Emulation:

    DORINFO1:  Selects the DORINFO1.DEF File Format.  DIP will
               write a DORINFO1.DEF file to the location
               specified by the 'Specify Data File Path/Name'
               field (described below) when the menu item is
               launched.
    FOREM:     Selects the FOREM.DAT File Format.  DIP will
               write a FOREM.DAT file to the location specified
               by the 'Specify Data File Path/Name' field
               (described below) when the menu item is launched.
    TEXT:      Selects the Text File mode.  DIP will output the
               file specified in the 'Specify Program File Path/
               Name' field (described elsewhere) directly to the
               screen/modem when the menu item is launched.


    USERNAME:  Selects a simple ASCII User Name File Format.
               DIP will write an ASCII user name file specified
               by the 'Specify Data File Path/Name' field
               (described elsewhere) when the menu item is 
               launched.  The file contains the user's name on
               the first line and the user's time remaining on
               the last line.
    DIP MENU:  Selects the DIP sub menu option.  This allows
               creation of menus within the main DIP menu.  You
               must specify the name and path of the menu file
               in the 'Specify Data File Path/Name field'
               (described elsewhere).  This option is only
               available in registered versions of DIP.
    NONE:      Specifies that no data files are to be written
               when this menu item is launched.

  Specify Program Path/Name:    Pressing 'Yes' will display the
                                file selector and allow you to
                                choose the file/program that you
                                wish to correspond with the menu
                                item and launch.
  Specify Command Line:         Pressing 'Yes' will allow you to
                                specify a command line to be
                                passed when the menu item is
                                launched.  Putting a "#" in the
                                command line followed by any
                                letter ("U" is used internally)
                                will cause DIP to output the
                                user's name.  You may have up to
                                40 characters in this field.  If
                                more is desired you must manual-
                                ly edit the data file cor-
                                responding with this menu item
                                entry.
  Specify Data File Path/Name:  Pressing 'Yes' will display the
                                file selector and allow you to
                                choose the  data file path (for
                                DORINFO1 and FOREM emulation)
                                and data file path/name (for
                                ASCII user file emulation types
                                and DIP sub menu types) that you
                                wish to correspond with the menu
                                item and launch.


Select Desired Groups for Access Menu:

	The Select Desired Groups for Access menu allows you to
 specify user group access to DIP menu items.  Default group
 access is '1'.  It is entered from the Door Edit Menu.  Group
 access options may be utilized only when using the ST-Keep User
 File or DORINFO1 DIP Input Method selections.  Otherwise it
 should always be '1'.  If no groups switches are turned on then
 ALL users may access that menu item.  For more information on
 the Group access integer see the Appendix.

  Configuration Switches:

    Group 01:      Simply turn on/off the user groups you wish
       :           to grant/deny access.
       :
    Group 15:
    Console Only:  Specifies this menu item may only be run from
                   the console or local mode.  Same as the 
                   'Console Only' switch in the Door Edit menu.

  Exit:  Exits to the Door Edit menu.


DIP Graphics Modes:

	DIP has the ability to emulate ASCII, Atari VT-52 and
 ANSI graphics modes.  The user's current graphic mode is ob-
 tained from the DORINFO1 or ST-Keep User File Input Methods or
 directly from the user at run time.  The user may change their
 graphics mode by typing '!' at the DIP menu prompt.  You may
 create text files and bulletins using these graphics modes by
 imbedding the proper escape code sequence into the text file to
 be displayed.  Refer to the Appendix for the exact codes DIP
 will reconize.





















Thank you for your interest in the Door Interface Program. 
If you have any questions or problems please feel free to
call the MindKeep and leave me a message.  I will get back
to you ASAP and if that dosn't work call Pres. Clinton, he
said he would listen to the people!  (he he he)





                           A P P E N D I X



DIP Color Graphic Codes:

         <ESC>00         Black foreground
         <ESC>01         Red foreground
         <ESC>04         Blue foreground (green in VT-52)
         <ESC>07         White foreground
         <ESC>08         Black background
         <ESC>09         Red background
         <ESC>12         Blue background (green in VT-52)
         <ESC>15         White background
         <ESC>18         Erase screen

  NOTE:  The <ESC> symbol denotes the ASCII 27.


DIP Group Integer Field:

	The DIP group field is an integer divided into 16 bits.
 Each bit corresponds a given group as specified below:

 msb                                            lsb
  15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  +- Group  1
   |  |  |  |  |  |  |  |  |  |  |  |  |  |  +---- Group  2
   |  |  |  |  |  |  |  |  |  |  |  |  |  +------- Group  3
   |  |  |  |  |  |  |  |  |  |  |  |  +---------- Group  4
   |  |  |  |  |  |  |  |  |  |  |  +------------- Group  5
   |  |  |  |  |  |  |  |  |  |  +---------------- Group  6
   |  |  |  |  |  |  |  |  |  +------------------- Group  7
   |  |  |  |  |  |  |  |  +---------------------- Group  8
   |  |  |  |  |  |  |  +------------------------- Group  9
   |  |  |  |  |  |  +---------------------------- Group 10
   |  |  |  |  |  +------------------------------- Group 11
   |  |  |  |  +---------------------------------- Group 12
   |  |  |  +------------------------------------- Group 13
   |  |  +---------------------------------------- Group 14
   |  +------------------------------------------- Group 15
   +---------------------------------------------- Group 16
                                                  (Console Mode)


DIP/ST-KEEP Input User File Format:

  LINE  1:  User's Name
  LINE  2:  User's Graphics Mode 
  LINE  3:  User's Group Number
  LINE  4:  User's Time Left



DIP DORINFO1 Input File Format:

  LINE  1:  BBS Name
  LINE  2:  SysOp's First Name
  LINE  3:  SysOp's Last Name
  LINE  4:  unused by DIP
  LINE  5:  Baud Rate
  LINE  6:  User's First Name
  LINE  7:  User's Last Name
  LINE  8:  User's City/State
  LINE  9:  User's Graphics Mode
  LINE 10:  User's Group Number
  LINE 11:  User's Time Left
