home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progbas / dfqbx16.arj / DFRAMEX.DOC < prev    next >
Text File  |  1992-04-28  |  58KB  |  1,106 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                D O O R F R A M E
  17.                                   Version 1.6
  18.  
  19.                         A BBS Doors Development Library
  20.                           for the BASCOM 7.x compiler
  21.  
  22.                              Copyright (c) 1990-92
  23.                                 by Ted Freeman
  24.                              All rights reserved.
  25.  
  26.  
  27.                                Support board is:
  28.  
  29.                                MicroNet PCBoard
  30.                            Node1: 615-626-1620 ULTRA
  31.  
  32.  
  33.  
  34. DOORFRAME v1.6 - Users Guide - Page i
  35.  
  36.  
  37.                                 C O N T E N T S
  38.                                =================
  39.  
  40.         Warranty ............................................ ii
  41.         Copyright notice .................................... ii
  42.         Distribution ........................................ ii
  43.         Description ......................................... ii
  44.         BOX ................................................. 1
  45.         CLREOL .............................................. 1
  46.         CLRSCRN ............................................. 1
  47.         DE.LAY .............................................. 2
  48.         DETECT.ANSI ......................................... 2
  49.         DIS.PLAY ............................................ 3
  50.         ENTER ............................................... 4
  51.         EXIT.DOOR ........................................... 4
  52.         IN.PUT .............................................. 4
  53.         INITIALIZE .......................................... 5
  54.         LINES ............................................... 5
  55.         MAKE.BLT ............................................ 5
  56.         MAKE.BLT.CURRENT .................................... 6
  57.         MORE ................................................ 6
  58.         MUSIC ............................................... 6
  59.         OUT.PUT ............................................. 6
  60.         SEND ................................................ 6
  61.         SHOW.BLT ............................................ 6
  62.         COLOR TABLE ......................................... 7
  63.         CONFIGURATION FILE FORMAT ........................... 8
  64.         PCBOARD.SYS VARIABLES ............................... 9
  65.         USERS.SYS VARIABLES ................................. 11
  66.         DOOR.SYS VARIABLES .................................. 12
  67.         USERINFO.DAT VARIABLES .............................. 14
  68.         DORINFOx.DEF VARIABLES .............................. 14
  69.         CALLINFO.BBS VARIABLES .............................. 15
  70.         SFDOORS.DAT VARIABLES ............................... 17
  71.         CHAIN.TXT VARIABLES ................................. 19
  72.         MISCELLANEOUS NOTES ................................. 20
  73.  
  74.  
  75. DOORFRAME v1.6 - Users Guide - Page ii
  76.  
  77.  
  78.                                    Warranty
  79.  
  80.     This product is provided "as is" without warranty of any kind. The entire
  81.     risk as to the results and  performance of the program is assumed by you.
  82.     Futhermore, the  author does  not warrant, guarantee, or  make any  other
  83.     representations regarding  the use of,  or the  results of the use of the
  84.     program,  and you  rely on the  program and  results  solely at  your own
  85.     risk.  The author  cannot and  will not accept  responsibility for system
  86.     damage, loss of profit, or any other special, consequential or incidental 
  87.     damages  resulting  from  the  use  or  inability  to  use this  product.
  88.  
  89.                                    Copyright
  90.  
  91.     DOORFRAME Copyright (c) 1990-92 by  Ted Freeman  is being distributed as
  92.     Shareware. Under this concept you may use the  SHAREWARE  (unregistered)
  93.     version for a reasonable period of  time for evaluation  after which you
  94.     must either register your copy or discontinue  usage.
  95.  
  96.  
  97.                                  Distribution
  98.  
  99.     You  are encouraged to distribute DOORFRAME provided that all files
  100.     contained in the archive are distributed in their original and
  101.     unmodified state.
  102.  
  103.                                   Description
  104.  
  105.     
  106.     DOORFRAME is a subroutine library for developing online BBS Doors for
  107.     systems that are compatible with PCBOARD.SYS, USERS.SYS, DOOR.SYS,
  108.     CALLINFO.BBS, USERINFO.DAT, SFDOORS.DAT, CHAIN.TXT, or DORINFOx.DEF for
  109.     interfacing to the BBS.
  110.     This version of DoorFrame was written for BASCOM (tm) 7.x and is not
  111.     recommended for use with earlier versions of the compiler. DoorFrame also
  112.     utilizes some of the routines contained in Tom Hanlin's PBClone library.
  113.     The COM routines are handled by the QBSerial I/O library.
  114.     NOTE: A version of DoorFrame is also available for Quickbasic 4.x.
  115.  
  116.  
  117. DOORFRAME v1.6 - Users Guide - Page 1
  118.  
  119.  
  120.                               DOORFRAME ROUTINES
  121.                              ====================
  122.  
  123. NOTE: 
  124. Since the subroutines are DECLAREd in DFRAMEX.INC (you DID $INCLUDE: it didn't 
  125. you?) you should not use the CALL statement. Type the name of the subroutine 
  126. and list it's parameters (if any) without the enclosing parentheses.
  127. For example:
  128.  
  129.  DIS.PLAY MSG$, FG%, BG%, BLINK%, BELL%, XPOS%, YPOS%, NL%, CENTER%, CAPS% 
  130. ------------------------------------------------------------------------------
  131.  
  132. SUBROUTINE: 
  133. BOX.IT SROW%,SCOL%,EROW%,ECOL%,BTYPE%,BFG%,BBG%,FFG%,FBG%,FCHAR%,SHADOW%,TITLE$,HFG%,HBG%
  134. PARAMETERS: SROW%    - ROW the box is to start at. Valid numbers are 1 - 22.
  135.                        Accepts an INTEGER number or variable.
  136.             SCOL%    - COLUMN the box is to start at. Valid numbers are 1 - 79.
  137.                        Accepts an INTEGER number or variable.
  138.             EROW%    - ROW the box is to end at. Valid numbers are 2 - 23.
  139.                        Accepts an INTEGER number or variable.
  140.             ECOL%    - COLUMN the box is to end at. Valid numbers are 2 - 80.
  141.                        Accepts an INTEGER number or variable.
  142.             BTYPE%   - Type of border. Accepts an INTEGER number or variable.
  143.                          0 = No border (spaces all the way around).
  144.                          1 = Single line all the way around.
  145.                          2 = Double line all the way around.
  146.                          3 = Double line on sides, single on top and bottom.
  147.                          4 = Single line on sides, double on top and bottom.
  148.             BFG%     - Foreground color of the border. (See color table)
  149.                        Accepts an INTEGER number or variable.
  150.             BBG%     - Background color of the border. (See color table)
  151.                        Accepts an INTEGER number or variable.
  152.             FFG%     - Foreground color of the box fill characters.
  153.                        Accepts an INTEGER number or variable.
  154.             FBG%     - Background color of the box fill characters.
  155.                        Accepts an INTEGER number or variable.
  156.             FCHAR%   - ASCII number of the character to fill box with.
  157.                        EX: 32 = SPACE, 65 = A, 206 = ╬
  158.             SHADOW%  - 1 = Shadow, 0 = no Shadow. This will put a Shadow
  159.                        on the right and bottom edges of the box.
  160.             TITLE$   - Displays a title centered on the top border.
  161.                        Accepts a STRING variable or QUOTED TEXT.
  162.             HFG%     - Foreground color of TITLE$
  163.             HFG%     - Background color of TITLE$
  164.  
  165. DESCRIPTION: Draws a BOX with various style borders. The inside of the
  166.              BOX may be filled with any ASCII character you choose. The
  167.              upper left corner of the screen is ROW 1, COLUMN 1 and the
  168.              bottom right is ROW 23, COLUMN 80.
  169.  
  170. SUBROUTINE: CLREOL XPOS%, YPOS%, BGC%
  171. PARAMETERS: XPOS%, YPOS%, BGC%
  172. DESCRIPTION: Clears from the specified row and column to the end of that
  173.              line. The line is cleared in whatever color is specified in
  174.              the BGC% parameter. NOTE: Does not work in non-ANSI.
  175.  
  176. SUBROUTINE: CLRSCRN
  177. PARAMETERS: BGC%
  178. DESCRIPTION: Clears both the LOCAL (if ON) and REMOTE displays in the back-
  179.              ground color of your choice. Range is 0 - 7. ANSI only.
  180.  
  181.  
  182.  
  183. DOORFRAME v1.6 - Users Guide - Page 2
  184.  
  185.  
  186.  
  187. SUBROUTINE: DE.LAY SEC%
  188. PARAMETERS: SEC%, 1, 2, Etc.
  189. DESCRIPTION: Pauses your program for the number of seconds in SEC%. Accepts
  190.              INTEGER number or variable.
  191.  
  192. SUBROUTINE: DETECT.ANSI
  193. PARAMETERS: None
  194. DESCRIPTION: This routine will determine if the remote system has ANSI
  195.              capability. If the remote system is ANSI compatible, the
  196.              GRAPHICS% variable will be set equal to -1 otherwise it is
  197.              set to 0. This routine does not control whether COLOR is used
  198.              or not, see the MODE% variable for that.
  199.  
  200.  
  201.  
  202. DOORFRAME v1.6 - Users Guide - Page 3
  203.  
  204. SUBROUTINE: DIS.PLAY MSG$,FG%,BG%,BLINK%,BELL%,XPOS%,YPOS%,NL%,CENTER%,CAPS%
  205. PARAMETERS: MSG$     - Text to be printed in either variable or quoted form.
  206.                        Example: "Print this" or MSG$ = "Print this".
  207.  
  208.             FG%      - Foreground color (0 - 15) Of the text. Can be in
  209.                        INTEGER number or INTEGER variable form. 
  210.                        Example: FG% = 1, 1, BLUE (See Color Table)
  211.  
  212.             BG%      - Background color (0 - 7) of text otherwise same as FG%
  213.  
  214.             BLINK%   - Enter 1 for blinking text or 0 for normal text.
  215.                        Accepts INTEGER number or INTEGER variable.
  216.  
  217.             BELL%    - Enter 1 to sound a beep on the remote or 0 for no
  218.                        beep. Does not beep on the local computer.
  219.                        Accepts INTEGER number or INTEGER variable.
  220.  
  221.             XPOS%    - Row number for cursor positioning. Valid numbers
  222.                        are 0 - 23 (status line is on 24 - 25). Enter 0 to
  223.                        disable. Accepts INTEGER number or variable.
  224.                        NOTE: XPOS% is ignored when GRAPHICS% = 0.
  225.  
  226.             YPOS%    - Column number for cursor positioning. Valid numbers
  227.                        are 0 - 80. Enter 0 to disable. Accepts INTEGER number
  228.                        or INTEGER variable.
  229.                        NOTE: YPOS% is ignored when GRAPHICS% = 0.
  230.  
  231.             NL%      - Enter 1 to send a CR/LF at the end of the line. Enter
  232.                        0 to position the cursor after the last character.
  233.                        Accepts INTEGER number or INTEGER variable.
  234.  
  235.             CENTER%  - Enter 1 to center the line or 0 for no centering.
  236.  
  237.             CAPS%    - Enter 1 to convert text to all uppercase.
  238.                        Enter -1 to convert text to all lowercase.
  239.                        Enter 0 for no case conversion.
  240.                        Accepts INTEGER number or INTEGER variable.
  241. DESCRIPTION: Displays text to both the Local (if on) and Remote screens.
  242.              Accepts the full ASCII charcter set (0 - 255). Supports ANSI
  243.              color and cursor positioning (XPOS%, YPOS%). DoorFrame features
  244.              auto-ANSI detection and will display in graphics mode if it
  245.              senses ANSI capability on the remote end.
  246. ENHANCEMENTS: There are some special symbols available to make text blink
  247.              in the middle of a line in any color you wish. For example:
  248.  
  249.              DIS.PLAY "This will %{Blink Yellow{", LWHITE, BLACK, 0, 0,......
  250.  
  251.              Note the {'s before and after Blink Yellow. They tell the routine
  252.              to display the text in between in yellow and blinks because 
  253.              of the % symbol. Without the % the text is displayed in yellow
  254.              but does not blink. The rest of the line is displayed in white
  255.              on black. The symbols and their corresponding colors are:
  256.                 ~ = Blue,  ` = Green,  @ = Cyan,  ^ = Red,  | = Magenta
  257.                 { = Yellow, and } = White 
  258.              Put a * in front of the first symbol to display in low intensity
  259.              colors. Ex: *}text} displays 'text' in low intensity white. And
  260.              %*}test} displays 'text' in low intensity white and blinks.
  261.              Please note that you must have called DETECT.ANSI before using
  262.              these symbols and the caller must be ANSI capable. Multiple codes
  263.              are allowed in one Dis.Play statement. See the included
  264.              DFDEMO.BAS file for examples on using this option.
  265.  
  266.  
  267. DOORFRAME v1.6 - Users Guide - Page 4
  268.  
  269. SUBROUTINE: ENTER
  270. PARAMETERS: None
  271. DESCRIPTION: Outputs a "Press <ENTER> to Continue" prompt and waits for the
  272.              response. If the caller is in graphics mode, this is centered
  273.              on line 23. In non-graphics mode it is centered 2 lines below
  274.              the last line printed.
  275.  
  276.  
  277. SUBROUTINE: EXIT.DOOR YN$
  278. PARAMETERS: YN$, "Y", "N", "G"
  279. DESCRIPTION: VERY IMPORTANT! Always call this subroutine as the last thing
  280.              your program does. EXIT.DOOR updates the system files with any
  281.              changes that have been made to system variables, closes the
  282.              files, etc. When your Door closes, DoorFrame displays:
  283.  
  284.                         Thank you for using (Door Name)
  285.  
  286.                      Please wait while (BBS NAME) reloads.
  287.  
  288.              You can toggle this ON, "Y" or OFF, "N" when you call EXIT.DOOR.
  289.              Accepts a STRING variable YN$ = "Y" or quoted text "Y".
  290.              If you wish to allow the caller to log off from your Door, call
  291.              EXIT.DOOR "G".
  292.  
  293. SUBROUTINE: IN.PUT LENGTH%, WAITTIME!, IFG%, IBG%
  294. PARAMETERS: LENGTH%   - Desired length of input. Accepts an INTEGER number
  295.                         or variable. 0 = any length.
  296.             WAITTIME! - Number of seconds to wait for input. If ENTER is not
  297.                         pressed before this times out, control is passed back
  298.                         to the calling routine and RESPONSE$ will contain "-1"
  299.                         You may also have wait times of less than 1 second.
  300.                         Try .005 for 1/18th of a second wait.
  301.             IFG%      - Foreground color of the caller's response (INTEGER).
  302.             IBG%      - Background color of the caller's response (INTEGER).
  303.  
  304. DESCRIPTION: Gets a response from the caller which is returned in the variable
  305.              RESPONSE$. Passes ASCII characters in the range 32 - 127 and
  306.              ignores all others. The 1st parameter indicates the desired
  307.              length of the input. Pass 0 to accept any length. This feature
  308.              allows you to use HOT KEYS! If you are prompting for a Y/N you
  309.              could do something like:
  310.                 DIS.PLAY "Is everything correct? (y/n) " (+ your parameters)
  311.                 IN.PUT 1, 180, 12, 0
  312.                 IF UCASE$(RESPONSE$) = "Y" THEN
  313.                  Etc., Etc.
  314.              As soon as the caller hit Y or N, the subroutine terminates
  315.              without his having to hit ENTER (however IN.PUT always returns
  316.              when ENTER is pressed). Accepts an INTEGER number or variable.
  317.  
  318.              The IN.PUT can also be used as a timed routine. In the example
  319.              above, The routine would wait for 180 seconds. if it does not
  320.              receive a keypress within that time, it returns to the calling
  321.              routine and RESPONSE$ would contain a "-1".
  322.              (See the enclosed EXINPUT.BAS for an example).
  323.  
  324.  
  325. DOORFRAME v1.6 - Users Guide - Page 5
  326.  
  327. SUBROUTINE: INITIALIZE
  328. PARAMETERS: None
  329. DESCRIPTION: VERY IMPORTANT! You MUST make a call to INITIALIZE before your
  330.              code does anything. This subroutine opens the system files and
  331.              obtains all the information you will need to run your Door. It
  332.              first reads the configuration file you passed on the command
  333.              line, then it reads the BBS interface file PCBOARD.SYS, etc.
  334.              There are 3 variables that must be populated before the call
  335.              to INITIALIZE. 
  336.                 PROGNAME$ = "Name of your Door"
  337.                 EXENAME$ = "FILENAM"
  338.                 VERSION$ = " v0.0"
  339.                 INITIALIZE
  340.              PROGNAME$ and VERSION$ are displayed on the Status line after
  341.              the callers name. EXENAME$ must be populated if you plan to use
  342.              the high score bulletin generator. EXENAME$ is the filename of
  343.              your program minus the .EXE extension.
  344.          ->  NOTE: EXENAME$ MUST BE NO MORE THAN 7 CHARACTERS!
  345.  
  346.  
  347. SUBROUTINE: LINES SROW%,SCOL%,LEN%,DIR$,ENDS%,MID%,EFG%,EBG%,MFG%,MBG%
  348. PARAMETERS: SROW%    - Row the line starts at. Valid numbers are 1 - 22.
  349.                        Accepts an INTEGER number or variable.
  350.             SCOL%    - Column the line starts at. Valid numbers are 1 - 79.
  351.                        Accepts an INTEGER number or variable.
  352.             LEN%     - Length of the line. Max. of 23 for vertical, 80 horiz.
  353.                        Accepts an INTEGER number or variable.
  354.             DIR$     - "H" = horizontal. "V" = vertical. Accepts a STRING
  355.                        variable or quoted text.
  356.             ENDS%    - If you are placing the line inside a box, you can
  357.                        make the ends of the line match the box border.
  358.                        Accepts an INTEGER number or variable.
  359.                          0 = No ends. (straight line only)
  360.                          1 = Single line.
  361.                          2 = Double line.
  362.             MID%     - Type of line. 1 = Single line. 2 = Double line.
  363.                        Accepts an INTEGER number or variable.
  364.             EFG%     - Foreground color of the ends (see color table).
  365.                        Accepts an INTEGER number or variable.
  366.             EBG%     - Background color of the ends (see color table).
  367.                        Accepts an INTEGER number or variable.
  368.             MFG%     - Foreground color of the line (see color table).
  369.                        Accepts an INTEGER number or variable.
  370.             MBG%     - Background color of the line (see color table).
  371.                        Accepts an INTEGER number or variable.
  372. DESCRIPTION: Draws either a vertical or horizontal line at the specified
  373.              location. 
  374.  
  375.  
  376. SUBROUTINE: MAKE.BLT HI.SCORE&
  377. PARAMETERS: HI.SCORE&, 10, 10000, Etc.
  378. DESCRIPTION: This routine will write a hi-score bulletin listing the top ten
  379.              scores. The parameter passed must be a LONG INTEGER (&). This
  380.              routine creates a file called FILENAME.BUL (where FILENAME is
  381.              the same as specified in the EXENAME$ variable). The first line
  382.              of this .BUL file indicates the path to the actual BLT file. It
  383.              initially writes FILENAME.BLT. If you wish to have a different
  384.              filename (such as BLT1) you must edit this line. The filename
  385.              for your BLT file should be 7 characters or less because
  386.              DoorFrame also writes a graphics BLT and appends a G to the
  387.              filename. (You should also explain this to your user Sysops!)
  388.  
  389.  
  390. DOORFRAME v1.6 - Users Guide - Page 6
  391.  
  392.  
  393. SUBROUTINE: MAKE.BLT.CURRENT HI.SCORE&
  394. PARAMETERS: HI.SCORE&, 10, 10000, Etc.
  395. DESCRIPTION: Same as MAKE.BLT except it posts CURRENT scores rather than
  396.              highest scores.
  397.  
  398.  
  399. SUBROUTINE: MORE
  400. PARAMETERS: None
  401. DESCRIPTION: Outputs "Press <ENTER> to continue, or <E> to end" and waits
  402.              for a response. Check the variable RESPONSE$ for an "E" and
  403.              terminate the current routine if found. For example:
  404.                 MORE
  405.                 IF UCASE$(RESPONSE$) = "E" THEN
  406.                   Etc.. Etc.
  407.  
  408. SUBROUTINE: MUSIC TUNE$
  409. PARAMETERS: MUSIC CODES
  410. DESCRIPTION: Outputs music to the remote system. The TUNE$ parameter
  411.              contains the same codes you would normally use in the BASIC
  412.              PLAY statement. For example:
  413.               TUNE$ = "t110 l8 ms d4 mn o3 g a b o4 c ... "
  414.               MUSIC TUNE$
  415.              Since not all communications programs can handle music, you
  416.              should ask the user if he has music capabilities. If the
  417.              user can't handle music he will simply see the music codes
  418.              come across his screen (not a pretty sight!).
  419.  
  420.  
  421. SUBROUTINE: OUT.PUT LF%
  422. PARAMETERS: LF%, 1, 2, Etc.
  423. DESCRIPTION: Outputs the specified number of CR/LF. Parameter is an INTEGER
  424.              number or an INTEGER variable. Ex: OUT.PUT 2
  425.  
  426. SUBROUTINE: SEND FILENAME$, YN%, CLR%
  427. PARAMETERS: FILENAME$ - STRING variable or quoted text of file to SEND.
  428.             YN%       - 0 = Do not use the ENTER prompt after last page.
  429.                         1 = Use the ENTER prompt after last page.
  430.             CLR%      - 0 = Home cursor, do not clear screen.
  431.                         1 = Normal clear screen.
  432. DESCRIPTION: Sends the specified filename. This can be either an ASCII file
  433.              or an ANSI file. SEND first checks for the existance of the file
  434.              and either sends the file or reports "File not Found!". This is
  435.              handy for displaying Help files, Welcome screens, etc.
  436.        NOTE: When using The Draw to create ANSI screens, save the screen using
  437.              the block mode (ALT-B) as this seems to produce better results
  438.              than using the regular save function (ALT-S).
  439.  
  440.  
  441. SUBROUTINE: SHOW.BLT YN$
  442. PARAMETERS: YN$, "Y", "N"
  443. DESCRIPTION: Call this routine if your Door features a Hi-score bulletin. Make
  444.              sure you have called MAKE.BLT first! Best place to call this
  445.              is just before you call EXIT.DOOR. For example:
  446.                MAKE.BLT HI.SCORE&
  447.                SHOW.BLT "Y"
  448.                EXIT.DOOR "Y"
  449.              SHOW.BLT "Y" will ask if they want to see the Bulletin.
  450.              SHOW.BLT "N" displays the bulletin without asking.
  451.  
  452.  
  453. DOORFRAME v1.6 - Users Guide - Page 7
  454.  
  455.  
  456.                              C O L O R  T A B L E
  457.                             ======================
  458.  
  459. COLOR # - NAME       INTENSITY       FOREGROUND (FG%)     BACKGROUND (BG%)
  460. ---------------------------------------------------------------------
  461.  0 - BLACK              Low               X                   X
  462.  1 - BLUE                "                X                   X
  463.  2 - GREEN               "                X                   X
  464.  3 - CYAN                "                X                   X
  465.  4 - RED                 "                X                   X
  466.  5 - MAGENTA             "                X                   X
  467.  6 - YELLOW              "                X                   X
  468.  7 - WHITE               "                X                   X
  469.  8 - GRAY               High              X
  470.  9 - LBLUE               "                X
  471. 10 - LGREEN              "                X
  472. 11 - LCYAN               "                X
  473. 12 - LRED                "                X
  474. 13 - LMAGENTA            "                X
  475. 14 - LYELLOW             "                X
  476. 15 - LWHITE              "                X
  477.  
  478. The COLORs are defined as CONSTANT in the DFRAMEX.INC file so you may use
  479. either the actual color number, it's name or an INTEGER variable of your own
  480. choosing when CALLing the DIS.PLAY subroutine.
  481.  
  482.  
  483.  
  484. DOORFRAME v1.6 - Users Guide - Page 8
  485.  
  486.  
  487.                               CONFIGURATION FILE
  488.                               ==================
  489.  
  490. The format of the configuration file used by Doors created with DoorFrame is:
  491.  
  492. C:\PCB\PCBOARD.SYS              <- For PCBoard systems using PCBOARD.SYS only
  493. C|\PCB\USERS.SYS                <- For PCBoard systems using USERS.SYS
  494.                                    DoorFrame also recognizes the PCBoard
  495.                                    %PCBDRIVE% and %PCBDIR% environment var.
  496. C:\BBS\CALLINFO.BBS             <- For Wildcat! systems (prior to v3.0)
  497. C:\BBS\CHAIN.TXT                <- For WWIV systems
  498. C:\BBS\GTUSER.BBS               <- For GT Power systems
  499. C:\BBS\USERINFO.DAT             <- For Wildcat! 3.x+ systems.
  500. C:\BBS\DOOR.SYS                 <- For systems that support DOOR.SYS
  501. C:\BBS\DORINFOx.DEF             <- For QBBS/RBBS/RA. Replace x with Node #.
  502. C:\BBS\SFDOORS.DAT              <- For Spitfire systems.
  503. MicroNet                        <- BBS name
  504. Ted                             <- Sysop's first name
  505. Freeman                         <- Sysop's last name
  506.   .                             <- The Configuration file is left open as #1
  507.   .                                so you may add whatever is necessary.
  508.  
  509. NOTE: DoorFrame supports COM 1-4 on the standard IRQ's - COM1/COM3 = IRQ4 and
  510.       COM2/COM4 = IRQ3. If you wish to use a non-standard IRQ, add the IRQ
  511.       number after the configuration filename. Let's assume your Door is
  512.       called FOOBAR and you want to use COM1 and IRQ5. The command line
  513.       passed to your Door would be:
  514.         FOOBAR FOOBAR.CFG /5
  515.         or  FOOBAR FOOBAR.CFG /%IRQ%  for the environment variable.
  516.       The /5 tells DoorFrame to use IRQ5 rather than the standard IRQ4 that
  517.       is normally used with COM1. No /x parameter is needed for the standard
  518.       IRQ's.
  519.  
  520. NOTE: There are 2 additional lines necessary when using GTUSER.BBS. Since
  521.       this file does not provide the ComPort% and NodeNum% variables, advise
  522.       your Door users to add them to this .CFG file on lines 5 and 6
  523.       respectively. Both variables will default to 1.
  524.  
  525.  
  526.  
  527. DOORFRAME v1.6 - Users Guide - Page 9
  528.  
  529.  
  530.                   VARIABLES AVAILABLE WHEN USING PCBOARD.SYS
  531.                   ==========================================
  532.  
  533.         ALLOWEDBYTES&             Allowed D/L bytes from the PWRD file.
  534.                                   This number has already been multipled
  535.                                   by 1024 so it will be in actual bytes
  536.                                   rather than Kilobytes allowed.
  537.       * BAUDCONN$                 Connect rate of caller or "LOCAL"
  538.       * BAUDOPEN$                 Port opening BPS
  539.       * BBSSYS$                   Name of the BBS
  540.         CALLALARM%                Caller alarm status.     -1=ON, 0=OFF
  541.       * CALLERSLOC$               Location of CALLERSx log
  542.         CHATSTATUS$               Chat mode status. "U" or "A"
  543.       * CITY$                     Callers city and state
  544.       * CNAMESLOC$                Location of CNAMES
  545.       * COMPORT%                  COM port number
  546.         CONFREG$                  Conferences registered in
  547.         DISPLAY%                  Local display status.    -1=ON, 0=OFF
  548.         DOWNLOADS&                Number of downloads made
  549.       * ECC%                      Error corrected connect.  1=YES, 0=NO
  550.         EXENAME$                  Name of .EXE (Programmer supplied)
  551.         EXPERT$                   Expert mode - "Y" or "N"
  552.         EXPIRE$                   Callers expiration date
  553.       * FIRST$                    Callers first name
  554.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  555.                                   Determines if the caller is ANSI compatible
  556.                                   If your door requires the use of cursor
  557.                                   positioning and GRAPHICS% = 0 then you
  558.                                   should kick him back out of the door.
  559.       * HPHONE$                   Callers home phone number
  560.       * LASTON$                   Date caller last logged on (MM-DD-YY)
  561.         LEVEL&                    Callers security level
  562.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  563.       * LOGONHRS$                 Time caller logged on in HH:MM format
  564.       * LOGONMINS%                Time caller logged on in minutes
  565.         MODE%                     0 = Non-color, -1 = color is on. Default
  566.                                   is the BBS setting. You may force color
  567.                                   by setting this to -1.
  568.       * NAME$                     Callers full name
  569.       * NETWORK%                  1 = BBS is networked, 0 = no network
  570.       * NODENUM%                  Node number
  571.         OWNER$                    Name DoorFrame is registered to (if any).
  572.         PASSWORD$                 Password of caller
  573.         PAGEBELL%                 Page bell status.        -1=ON, 0=OFF
  574.         PAGELEN%                  Callers page length
  575.       * PCBDAT$                   Location of PCBOARD.DAT
  576.       * PCBOARD%                  1 = PCBoard, 0 = non-PCBoard
  577.         PRINTER%                  Printer status.          -1=ON, 0=OFF
  578.         PROGNAME$                 Name of DOOR (Programmer supplied)
  579.         PROTOCOL$                 Caller's default protocol (Z, X, etc.)
  580.         RESPONSE$                 Returned after a CALL to IN.PUT
  581.         SERIAL$                   Your DoorFrame serial #. String variable.
  582.       * SYSLOC$                   Location of system file. This contains the
  583.                                   path/filename of line 1 in the .CFG file.
  584.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  585.       * SYSOPFIRST$               Sysops first name
  586.         SYSOPFLAG$                " ", "N"=Sysop Next, "X"=Exit to DOS
  587.       * SYSOPLAST$                Sysops last name
  588.       * SYSOPNAME$                Sysops first and last names
  589.  
  590.  
  591. DOORFRAME v1.6 - Users Guide - Page 10
  592.  
  593.  
  594.         TIMEADJUST%               Use to adjust the callers remaining time
  595.                                   online. This variable adjusts the ELAPSED
  596.                                   time so if you wish to decrease his time,
  597.                                   give this a positive value.
  598.       * TIMEALWD%                 Minutes caller is allowed
  599.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  600.                                   calculates this so changing it has no effect
  601.       * TIMENOW%                  Current time in minutes (0 - 1440)
  602.       * TIMESON%                  Number of times on system
  603.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  604.                                   not specified. Has a minimum of one min.
  605.                                   No limit on maximum. 
  606.       * TIMEUSED%                 Time used so far today in minutes
  607.         UPLOADS&                  Number of uploads made
  608.       * USERCOMMENT$              User maintained comment
  609.       * USERSLOC$                 Location of USERS file
  610.       * USERNUM%                  Record number of caller
  611.         VERSION$                  DOOR version # (Programmer supplied)
  612.       * WPHONE$                   Callers work phone number
  613.  
  614. NOTES: Variables marked with '*' are provided for information only.
  615.  
  616.  
  617. DOORFRAME v1.6 - Users Guide - Page 11
  618.  
  619.  
  620.                    VARIABLES AVAILABLE WHEN USING USERS.SYS
  621.                    ========================================
  622.  
  623.         When using USERS.SYS, all variables contained in PCBOARD.SYS may
  624.         be used plus the following additional variables.
  625.  
  626.         DAILYDNLDBYTES&          Bytes downloaded so far today.
  627.         DELETEFLAG%              1 = delete this record, 0 = keep
  628.         EXPIREDLEVEL&            Expired Security level
  629.         LASTCONF%                Conference number last in.
  630.         LASTTIMEON$              Last time caller was on
  631.         MSGS.LEFT%               Number of messages posted
  632.         MSGS.READ%               Number of messages read
  633.         PCB.VERSION%             PCBoard version number (i.e. 1450)
  634.         TOTDNLDBYTES&            Total number of BYTES downloaded
  635.         TOTUPLDBYTES&            Total number of BYTES uploaded
  636.  
  637. NOTES: These variables are all passed back to PCBoard.
  638.  
  639.  
  640. DOORFRAME v1.6 - Users Guide - Page 12
  641.  
  642.  
  643.                     VARIABLES AVAILABLE WHEN USING DOOR.SYS
  644.                     =======================================
  645.  
  646.         ALIAS$                    Callers alias/handle
  647.       * ANSISUPPORT$              Caller supports ANSI but in NG mode
  648.       * BAUDCONN$                 Connect rate of caller or "LOCAL"
  649.       * BAUDOPEN$                 Port opening BPS
  650.       * BBSCOLOR%                 BBS default color code (1-15)
  651.       * BBSSYS$                   Name of the BBS
  652.         BIRTHDATE$                Callers date of birth
  653.         CALLALARM%                Caller alarm status.     -1=ON, 0=OFF
  654.       * CITY$                     Callers city and state
  655.       * COMPORT%                  COM port number (1 - 4).
  656.         CONFREG$                  Conferences registered in
  657.         DAILY.BYTES.ALWD&         Daily download max. K limit
  658.         DISPLAY%                  Local display status.    -1=ON, 0=OFF
  659.         DOORS.OPENED%             Number of Doors caller has opened
  660.         DOWNLOADS&                Number of downloads made
  661.       * ECC%                      Error corrected connect.  1=YES, 0=NO
  662.         EXENAME$                  Name of .EXE (Programmer supplied)
  663.         EXFROM%                   Conference exited to Door from.
  664.         EXPERT$                   Expert mode - "Y" or "N"
  665.         EXPIRE$                   Callers expiration date
  666.       * EVENT$                    Event time (hh:mm)
  667.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  668.                                   Determines if the caller is ANSI compatible
  669.                                   If your door requires the use of cursor
  670.                                   positioning and GRAPHICS% = 0 then you
  671.                                   should kick him back out of the door.
  672.       * HPHONE$                   Callers home phone number
  673.       * LASTON$                   Date caller last logged on (MM-DD-YY)
  674.         LASTSCAN$                 Date of last directory/new files scan.
  675.         LEVEL&                    Callers security level
  676.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  677.       * LOGONHRS$                 Time caller logged on in HH:MM format
  678.       * LOGONMINS%                Time caller logged on in minutes
  679.         MAX.FILES%                Maximum daily files available
  680.         MINSCREDIT%               Time credits in minutes
  681.         MODE%                     0 = Non-color, -1 = color is on. Default
  682.                                   is the BBS setting. You may force color
  683.                                   by setting this to -1.
  684.         MSGS.LEFT%                Total messages left
  685.       * NAME$                     Callers full name
  686.       * NETWORK%                  1 = BBS is networked, 0 = no network
  687.       * NODENUM%                  Node number
  688.         DLTODAY&                  Files downloaded so far today
  689.         OWNER$                    Name DoorFrame is registered to (if any).
  690.         PAGEBELL%                 Page bell status.        -1=ON, 0=OFF
  691.         PAGELEN%                  Callers page length
  692.       * PARITY%                   Parity (word length?) (7 or 8)
  693.         PASSWORD$                 Password of caller
  694.       * PATHGEN$                  Path to the GEN directory
  695.       * PATHMAIN$                 Path to the MAIN directory
  696.         PRINTER%                  Printer status.          -1=ON, 0=OFF
  697.         PROGNAME$                 Name of DOOR (Programmer supplied)
  698.         PROTOCOL$                 Callers default protocol (Z, X, etc)
  699.         RESPONSE$                 Returned after a CALL to IN.PUT
  700.  
  701.  
  702. DOORFRAME v1.6 - Users Guide - Page 13
  703.  
  704.  
  705.         SECREM$                   Number of seconds remaining this call.
  706.         SERIAL$                   Your DoorFrame serial #. String variable.
  707.       * SYSLOC$                   Location of system file. This contains the
  708.                                   path/filename of line 1 in the .CFG file.
  709.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  710.       * SYSOPFIRST$               Sysops first name
  711.       * SYSOPLAST$                Sysops last name
  712.       * SYSOPNAME$                Sysops first and last names
  713.         TIMEADJUST%               Use to adjust the callers remaining time
  714.                                   online. This variable adjusts the ELAPSED
  715.                                   time so if you wish to decrease his time,
  716.                                   give this a positive value.
  717.       * TIMELASTCALL$             Time of last call (hh:mm)
  718.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  719.                                   calculates this so changing it has no effect
  720.       * TIMENOW%                  Current time in minutes (0 - 1440)
  721.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  722.                                   not specified. Has a minimum of one min.
  723.                                   No limit on maximum. 
  724.       * TIMESON%                  Number of times on system
  725.       * TIMEUSED%                 Time used so far today in minutes
  726.         TOTAL.BYTES.TODAY&        Daily download K total
  727.         TOTAL.KB.DL&              Total K bytes downloaded
  728.         TOTAL.KB.UL&              Total K bytes uploaded
  729.         UPLOADS&                  Number of uploads made
  730.       * USERCOMMENT$              User maintained comment
  731.       * USERNUM%                  Record number of caller
  732.         VERSION$                  DOOR version # (Programmer supplied)
  733.       * WPHONE$                   Callers work phone number
  734.  
  735. NOTES: Variables marked with '*' are provided for information only.
  736.  
  737.  
  738. DOORFRAME v1.6 - Users Guide - Page 14
  739.  
  740.  
  741.                   VARIABLES AVAILABLE WHEN USING USERINFO.DAT
  742.                   ===========================================
  743.  
  744.       * ACTIVE.MENU%              0=Main, 1=Msg, 2=File, 3=Sysop
  745.         ALIAS$                    Callers alias/handle
  746.       * ANSISUPPORT$              'Y' or 'N' for ANSI enabled.
  747.         BANKED.TIME%              Banked time. (DLT - MaxLogOn)
  748.       * BAUDCONN$                 Connect rate of caller or "LOCAL"
  749.       * COMMAND.LINE$             Started with a CommandLine switch. Y or N.
  750.       * DATABITS$                 Databits, 7 or 8.
  751.       * DOOR.LOGOFF$              Y or N. Set to Y if caller logged off from
  752.                                   inside the door.
  753.         DOOR.DL&                  Number of files DL'ed in the door.
  754.         DOOR.KB&                  Downloads in K, add to daily and total bytes
  755.       * ECC%                      Error corrected connect.  1=YES, 0=NO
  756.       * LOGONTIMEDATE$            Time and date caller logged on to BBS
  757.       * NAME$                     Callers full name
  758.         SEC.LEVEL.NAME$           Security level name.
  759. NOTES: Variables marked with '*' are provided for information only.
  760.        All other variables are taken from the DOOR.SYS file.
  761.  
  762.  
  763.                   VARIABLES AVAILABLE WHEN USING DORINFOx.DEF
  764.                   ===========================================
  765.  
  766.       * BAUDRATE$                 Baud rate and parity of caller.
  767.                                   Ex. 2400 BAUD,N,8,1
  768.                                   NOTE: RBBS adds baud rate of BBS.
  769.       * BBSSYS$                   Name of the BBS
  770.       * CITY$                     Callers city and state
  771.       * COMPORT%                  COM port number (1 - 4).
  772.         DISPLAY%                  Defaults to -1 (ON).
  773.       * DORINFO13TH$              13th line available only on RBBS systems.
  774.         EXENAME$                  Name of .EXE (Programmer supplied)
  775.       * FIRST$                    Callers first name
  776.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  777.                                   Determines if the caller is ANSI compatible
  778.                                   If your door requires the use of cursor
  779.                                   positioning and GRAPHICS% = 0 then you
  780.                                   should kick him back out of the door.
  781.                                   Use DETECT.ANSI to determine this.
  782.       * LAST$                     Callers last name
  783.       * LASTON$                   Default 01-01-80 (not provided in DORINFO)
  784.         LEVEL&                    Callers security level
  785.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  786.         MODE%                     0 = Non-color, -1 = color is on. Default
  787.                                   is the BBS setting. You may force color
  788.                                   by setting this to -1.
  789.       * NAME$                     Callers full name
  790.         NETWORK$                  Network type. DoorFrame reads/writes as is.
  791.       * NODENUM%                  Number of this Node.
  792.         OWNER$                    Name DoorFrame is registered to (if any).
  793.         PROGNAME$                 Name of DOOR (Programmer supplied)
  794.         RESPONSE$                 Returned after a CALL to IN.PUT
  795.         SERIAL$                   Your DoorFrame serial #. String variable.
  796.       * SYSLOC$                   Location of system file. This contains the
  797.                                   path/filename of line 1 in the .CFG file.
  798.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  799.       * SYSOPFIRST$               Sysops first name
  800.       * SYSOPLAST$                Sysops last name
  801.       * SYSOPNAME$                Sysops first and last names
  802.  
  803.  
  804. DOORFRAME v1.6 - Users Guide - Page 15
  805.  
  806.         TIMEADJUST%               Use to adjust the callers remaining time
  807.                                   online. This variable adjusts the ELAPSED
  808.                                   time so if you wish to decrease his time,
  809.                                   give this a positive value.
  810.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  811.                                   calculates this so changing it has no effect
  812.       * TIMENOW%                  Current time in minutes (0 - 1440)
  813.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  814.                                   not specified. Has a minimum of one min.
  815.                                   No limit on maximum. 
  816.       * TIMESON%                  Defaults to 1 (Not provided in DORINFO)
  817.       * TIMEUSED%                 Time used so far today in minutes
  818.  
  819. NOTES: Variables marked with '*' are provided for information only.
  820.  
  821.  
  822.  
  823.                   VARIABLES AVAILABLE WHEN USING CALLINFO.BBS
  824.                   ===========================================
  825.  
  826.       * ALREADYCONNECTED$         "TRUE" or "FALSE"
  827.       * BAUDCONN$                 Connect rate of caller or "LOCAL"
  828.       * BBSSYS$                   Name of the BBS
  829.       * CITY$                     Callers city and state
  830.       * COMPORT%                  COM port number (1 - 4).
  831.         CONFREG$                  Conferences registered in (ABCD etc.)
  832.       * CONSOLE$                  "LOCAL" or "REMOTE"
  833.         DAILY.BYTES.ALWD&         Daily download max. K limit
  834.       * DATABITS$                 7 or 8
  835.         DISPLAY%                  Local display status.    -1=ON, 0=OFF
  836.       * DOORNUMBER$               BBS number of this door?
  837.         EXENAME$                  Name of .EXE (Programmer supplied)
  838.       * ENTERDOOR$                Time caller entered door in HH:MM format.
  839.       * FIRST$                    Callers first name
  840.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  841.                                   Determines if the caller is ANSI compatible
  842.                                   If your door requires the use of cursor
  843.                                   positioning and GRAPHICS% = 0 then you
  844.                                   should kick him back out of the door.
  845.                                   Use DETECT.ANSI to determine this.
  846.       * LAST$                     Callers last name
  847.         LASTMSG$                  Last message read
  848.       * LASTONDATE$               Date and time of last call
  849.         LEVEL&                    Callers security level
  850.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  851.       * LOGONTIMEDATE$            Time and date caller logged on to BBS
  852.       * LOGONHRS$                 Time caller logged on in HH:MM format
  853.         MODE%                     0 = Non-color, -1 = color is on. Default
  854.                                   is the BBS setting. You may force color
  855.                                   by setting this to -1.
  856.       * MNP$                      "MNP/ARQ Connection" or "Normal Connection"
  857.       * NAME$                     Callers full name
  858.         DLTODAY&                  Files downloaded so far today
  859.  
  860.  
  861. DOORFRAME v1.6 - Users Guide - Page 16
  862.  
  863.         OWNER$                    Name DoorFrame is registered to (if any).
  864.         PASSWORD$                 Password of caller
  865.         PROGNAME$                 Name of DOOR (Programmer supplied)
  866.         RESPONSE$                 Returned after a CALL to IN.PUT
  867.         SERIAL$                   Your DoorFrame serial #. String variable.
  868.       * SYSLOC$                   Location of system file. This contains the
  869.                                   path/filename of line 1 in the .CFG file.
  870.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  871.       * SYSOPFIRST$               Sysops first name
  872.       * SYSOPLAST$                Sysops last name
  873.       * SYSOPNAME$                Sysops first and last names
  874.         TIMEADJUST%               Use to adjust the callers remaining time
  875.                                   online. This variable adjusts the ELAPSED
  876.                                   time so if you wish to decrease his time,
  877.                                   give this a positive value.
  878.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  879.                                   calculates this so changing it has no effect
  880.       * TIMENOW%                  Current time in minutes (0 - 1440)
  881.       * TIMEOFF$                  Time caller exited from the door.
  882.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  883.                                   not specified. Has a minimum of one min.
  884.                                   No limit on maximum. 
  885.       * TIMEUSED%                 Time used so far today in minutes
  886.       * USERNUM%                  Record number of caller
  887.  
  888. NOTES: Variables marked with '*' are provided for information only.
  889.  
  890.  
  891. DOORFRAME v1.6 - Users Guide - Page 17
  892.  
  893.  
  894.                   VARIABLES AVAILABLE WHEN USING SFDOORS.DAT
  895.                   ==========================================
  896.  
  897.         ANSION$                   "TRUE" or "FALSE"
  898.       * BAUDCONN$                 Connect rate of caller or "LOCAL"
  899.       * BBSDIR$                   Spitfire's home directory
  900.       * BBSSYS$                   Name of the BBS
  901.       * CITY$                     Callers city and state
  902.       * COMPORT%                  COM port number (1 - 4).
  903.         DAILY.BYTES.ALLOWED&      Maximum download BYTES per day
  904.         DISPLAY%                  Local display status.    -1=ON, 0=OFF
  905.         DLPERDAY&                 Number of downloads allowed per day
  906.         DLTODAY&                  Number of downloads made today
  907.         DOWNLOADS&                Number of downloads made
  908.       * ECC%                      Error corrected connect.  1=YES, 0=NO
  909.         EXENAME$                  Name of .EXE (Programmer supplied)
  910.         EXTRATIME&                Number of seconds gained since logon
  911.       * FIRST$                    Callers first name
  912.       * FRONTEND$                 "TRUE" or "FALSE" if booted from a
  913.                                   front end program.
  914.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  915.                                   Determines if the caller is ANSI compatible
  916.                                   If your door requires the use of cursor
  917.                                   positioning and GRAPHICS% = 0 then you
  918.                                   should kick him back out of the door.
  919.                                   Use DETECT.ANSI to determine this.
  920.       * HPHONE$                   Callers home phone number
  921.       * LAST$                     Callers last name
  922.         LASTMCONF$                Last message conference
  923.         LASTFAREA$                Last file area
  924.         LEVEL&                    Callers security level
  925.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  926.       * LOGONHRS$                 Time caller logged on in HH:MM format
  927.       * LOGONSECS&                Number of seconds since midnight
  928.                                   when caller logged on to the BBS.
  929.       * MAXBAUD$                  Maximum baud of the system
  930.         MODE%                     0 = Non-color, -1 = color is on. Default
  931.                                   is the BBS setting. You may force color
  932.                                   by setting this to -1.
  933.       * NAME$                     Callers full name
  934.       * NODENUM%                  Number of this Node.
  935.       * NODTELOCK$                "TRUE" or "FALSE" if configured for
  936.                                   software data flow control.
  937.         OWNER$                    Name DoorFrame is registered to (if any).
  938.         PASSWORD$                 Password of caller
  939.         PROGNAME$                 Name of DOOR (Programmer supplied)
  940.         RESPONSE$                 Returned after a CALL to IN.PUT
  941.       * SECONDS&                  Number of seconds since midnight
  942.                                   when caller entered the door.
  943.         SERIAL$                   Your DoorFrame serial #. String variable.
  944.       * SYSLOC$                   Location of system file. This contains the
  945.                                   path/filename of line 1 in the .CFG file.
  946.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  947.       * SYSOPFIRST$               Sysops first name
  948.       * SYSOPLAST$                Sysops last name
  949.       * SYSOPNAME$                Sysops first and last names
  950.         SYSOPNEXT$                "TRUE" or "FALSE"
  951.  
  952. NOTES: Variables marked with '*' are provided for information only.
  953.  
  954.  
  955. DOORFRAME v1.6 - Users Guide - Page 18
  956.  
  957.  
  958.         TIMEADJUST%               Use to adjust the callers remaining time
  959.                                   online. This variable adjusts the ELAPSED
  960.                                   time so if you wish to decrease his time,
  961.                                   give this a positive value.
  962.       * TIMEALWD%                 Minutes caller is allowed
  963.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  964.                                   calculates this so changing it has no effect
  965.       * TIMENOW%                  Current time in minutes (0 - 1440)
  966.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  967.                                   not specified. Has a minimum of one min.
  968.                                   No limit on maximum. 
  969.       * TIMEUSED%                 Time used so far today in minutes
  970.  
  971.         TOTAL.BYTES.TODAY&        BYTES downloaded so far today
  972.         TOTAL.KB.DL&              Total K bytes downloaded
  973.         TOTAL.KB.UL&              Total K bytes uploaded
  974.         UPLOADS&                  Number of uploads made
  975.       * USERNUM%                  Record number of caller
  976.  
  977. NOTES: Variables marked with '*' are provided for information only.
  978.  
  979.  
  980. DOORFRAME v1.6 - Users Guide - Page 19
  981.  
  982.  
  983.                    VARIABLES AVAILABLE WHEN USING CHAIN.TXT
  984.                    ========================================
  985.  
  986.         AGE$                      Caller's age
  987.         ALIAS$                    Callers alias/handle
  988.       * BBSSYS$                   Name of the BBS
  989.       * CALLSIGN$                 HAM radio call sign
  990.         COLUMNS$                  Caller's screen width
  991.       * COMPORT%                  COM port number (1 - 4).
  992.         COSYSOP%                  1 if Caller is co-Sysop, 0 if not
  993.       * DATADIR$                  System DATA directory
  994.         DISPLAY%                  Local display status.    -1=ON, 0=OFF
  995.         DOWNLOADS&                Number of downloads made
  996.         EXENAME$                  Name of .EXE (Programmer supplied)
  997.       * FIRST$                    Callers first name
  998.       * GFILESDIR$                System GFILES directory
  999.         GOLD$                     Caller's gold (?)
  1000.         GRAPHICS%                 Graphics mode status.    -1=ON, 0=OFF
  1001.                                   Determines if the caller is ANSI compatible
  1002.                                   Use DETECT.ANSI to determine this.
  1003.       * LAST$                     Callers last name
  1004.       * LASTON$                   Date caller last logged on (MM/DD/YY)
  1005.         LEVEL&                    Callers security level
  1006.       * LOCALUSR%                 -1 = LOCAL mode, 0 = Online
  1007.       * LOG$                      System LOG of the day
  1008.       * LOGONSECS&                Number of seconds since midnight
  1009.                                   when caller logged on to the BBS.
  1010.         MODE%                     0 = Non-color, -1 = color is on. Line 14
  1011.                                   of CHAIN.TXT determines this setting.
  1012.       * NAME$                     Callers full name
  1013.       * NODENUM%                  Defaults to 1 (not provided in CHAIN.TXT)
  1014.         OWNER$                    Name DoorFrame is registered to (if any).
  1015.         PAGELEN%                  Callers page length
  1016.         PARITY$                   "8N1" etc.
  1017.         PROGNAME$                 Name of DOOR (Programmer supplied)
  1018.         RESPONSE$                 Returned after a CALL to IN.PUT
  1019.         SERIAL$                   Your DoorFrame serial #. String variable.
  1020.         SEX$                      Callers sex
  1021.       * SYSLOC$                   Location of system file. This contains the
  1022.                                   path/filename of line 1 in the .CFG file.
  1023.       * SYSOP%                    1 = SYSOP is using DOOR, 0 otherwise
  1024.       * SYSOPFIRST$               Sysops first name
  1025.       * SYSOPLAST$                Sysops last name
  1026.       * SYSOPNAME$                Sysops first and last names
  1027.         TIMEADJUST%               Use to adjust the callers remaining time
  1028.                                   online. This variable adjusts the ELAPSED
  1029.                                   time so if you wish to decrease his time,
  1030.                                   give this a positive value.
  1031.       * TIMELEFT%                 Time caller has left in minutes. Doorframe
  1032.                                   calculates this so changing it has no effect
  1033.       * TIMENOW%                  Current time in minutes (0 - 1440)
  1034.         TIMEOUT%                  Programmer supplied. Defaults to 5 mins if
  1035.                                   not specified. Minimum 1 min. 
  1036.       * TIMEUSED%                 Time used so far today in minutes
  1037.         TOTAL.KB.DL&              Total K bytes downloaded
  1038.         TOTAL.KB.UL&              Total K bytes uploaded
  1039.         UPLOADS&                  Number of uploads made
  1040.       * USERNUM%                  Record number of caller
  1041.  
  1042. NOTES: Variables marked with '*' are provided for information only.
  1043.  
  1044.  
  1045. DOORFRAME v1.6 - Users Guide - Page 20
  1046.  
  1047.  
  1048.                                 MISCELLANEOUS NOTES
  1049.                                 ===================
  1050.  
  1051. Check DFRAMEX.INC for an explanation of variables not listed above.
  1052.  
  1053. DoorFrame requires DOS 3.x and up since all files are opened in SHARED mode.
  1054.  
  1055. When using PCBOARD.SYS, DoorFrame also accesses the USERS file.
  1056.  
  1057. When using USERS.SYS, DoorFrame also accesses PCBOARD.SYS, PCBOARD.DAT and the 
  1058. USERS file.
  1059.  
  1060. The DOOR.SYS used by DoorFrame is the standard 52 line GAP (tm) file.
  1061.  
  1062. The CALLINFO.BBS used by DoorFrame currently contains 36 lines.
  1063.  
  1064. Trapping errors
  1065. ---------------
  1066.  If you wish to utilize the internal error trapping, insert the following
  1067.  line wherever you wish the trapping to begin. I would suggest putting it
  1068.  right after you call INITIALIZE.
  1069.  
  1070.    ON ERROR GOTO ERR.ROUTINE
  1071.  
  1072.  Then at the very end of your program insert the following:
  1073.  
  1074.    ERR.ROUTINE:
  1075.    ERRORS ERR, ERL
  1076.    END
  1077.  
  1078.  If ANY Basic error is encountered, it will branch to ERR.ROUTINE and call
  1079.  the ERRORS subroutine. The error will be printed to the screen and written
  1080.  to DFRAME.ERR. Your Door will then exit back to the BBS.
  1081. The first few lines of your Door should be:
  1082.  
  1083.    ' $INCLUDE: 'DFRAMEX.INC'
  1084.    PROGNAME$ = "Name of the Door"
  1085.    VERSION$ = " v1.0"
  1086.    EXENAME$ = "FILENAM"           <- NOTE: Max of 7 letters!
  1087.    TIMEOUT% = 240                 <- Numbers of seconds to wait for keyboard
  1088.                                      activity. 240 will wait for 4 minutes
  1089.                                      then send a Keyboard Timeout msg. and
  1090.                                      exit back to the BBS. Defaults to 300.
  1091.    OWNER$ = "Your Name"           <- For registered DoorFrame users only.
  1092.    SERIAL$ = "99999"              <- DoorFrame will display an EVALUATION
  1093.                                      COPY message until registered.
  1094.    INITIALIZE
  1095.    .
  1096.    Your code.......
  1097.    .
  1098.    MAKE.BLT HI.SCORE&            <- If you want one generated.
  1099.    SHOW.BLT "Y"                  <- If you want to show it before door closes.
  1100.    EXIT.DOOR "Y"
  1101.  
  1102. The configuration filename passed on the command line is OPENed as #1. This
  1103. file is left open so you may read additional lines from the .CFG file. 
  1104. Although it is not absolutely necessary, you should CLOSE #1 somewhere near
  1105. the start of your program.
  1106.