home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor
- Version 3.0
- Copyright (c) 1991-1992 By Mark Goodwin and Randy Hunt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor i
-
- COPYRIGHT NOTICE
- ----------------
-
- RMDoor is a copyrighted program being distributed under the shareware
- concept. As such you may use RMDoor for a period of 30 days without
- registering the software. After the 30 day evaluation period, you
- must register your copy of RMDoor or you will be in violation of
- United States and International copyright laws.
-
- As a shareware program, RMDoor may be freely distributed through a
- BBS. Shareware distributors may distribute copies of RMDoor on disk
- for a modest disk duplication charge not to exceed $6 per disk.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor ii
-
- WARRANTY
- --------
-
- RMDoor is distributed without warranty. In no event will Mark Goodwin
- or Randy Hunt be liable to you for damages, including any loss of
- profits, lost savings, or other incidental or consequential damages
- arising out of your use of or inability to use the program, even if
- Mark Goodwin, Randy Hunt, or an authorized representative has been
- advised of the possibility of such damages. Mark Goodwin and Randy
- Hunt will not be liable for any such claim by any other party.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor iii
-
- TABLE OF CONTENTS
- -----------------
-
-
- INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . 1
-
- USING RMDOOR . . . . . . . . . . . . . . . . . . . . . . . . . . 2
-
- RUNNING AN RMDOOR DOOR . . . . . . . . . . . . . . . . . . . . . 3
-
- SPECIAL KEYS . . . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- THE RMDOOR VARIABLES . . . . . . . . . . . . . . . . . . . . . . 5
- ansicolor . . . . . . . . . . . . . . . . . . . . . . . . . 5
- baudrate . . . . . . . . . . . . . . . . . . . . . . . . . . 5
- bbsname . . . . . . . . . . . . . . . . . . . . . . . . . . 5
- callingfrom . . . . . . . . . . . . . . . . . . . . . . . . 5
- doorname . . . . . . . . . . . . . . . . . . . . . . . . . . 5
- lockedrate . . . . . . . . . . . . . . . . . . . . . . . . . 5
- minutesleft . . . . . . . . . . . . . . . . . . . . . . . . 5
- phonenumber . . . . . . . . . . . . . . . . . . . . . . . . 6
- seclevel . . . . . . . . . . . . . . . . . . . . . . . . . . 6
- sysopname . . . . . . . . . . . . . . . . . . . . . . . . . 6
- userfirstname . . . . . . . . . . . . . . . . . . . . . . . 6
- username . . . . . . . . . . . . . . . . . . . . . . . . . . 6
-
- THE RMDOOR PROCEDURES AND FUNCTIONS . . . . . . . . . . . . . . . 7
- rmclrscr . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- rmdisplayfile . . . . . . . . . . . . . . . . . . . . . . . 7
- rmgetbackground . . . . . . . . . . . . . . . . . . . . . . 7
- rmgetforeground . . . . . . . . . . . . . . . . . . . . . . 7
- rmgotoxy . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- rmreadi . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- rmreadkey . . . . . . . . . . . . . . . . . . . . . . . . . 7
- rmreadl . . . . . . . . . . . . . . . . . . . . . . . . . . 8
- rmreads . . . . . . . . . . . . . . . . . . . . . . . . . . 8
- rmsetcolor . . . . . . . . . . . . . . . . . . . . . . . . . 8
- rmtimeleft . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmtimeon . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwrite . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwritei . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwritel . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwriteln . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwritelni . . . . . . . . . . . . . . . . . . . . . . . . . 9
- rmwritelnl . . . . . . . . . . . . . . . . . . . . . . . . . 10
-
- SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
-
- REGISTRATION . . . . . . . . . . . . . . . . . . . . . . . . . . 12
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 1
-
- INTRODUCTION
- ------------
-
- RMDoor is a comprehensive set of Turbo Pascal routines designed to
- enable programmers to easily write doors for BBSes. The following are
- some of RMDoor's many features:
-
- Assembly language serial input/output routines for maximum
- speed.
-
- Fully supports high speed modems: 16550 FIFO buffering and
- locked serial ports.
-
- Built in ANSI terminal emulator. No need to have ANSI.SYS
- loaded in memory.
-
- Supports all of the most popular door data file formats:
- TriBBS, PCBoard, GAP (DOOR.SYS), Spitfire, WildCat!, RBBS,
- and WWIV. Thus, a door built around RMDoor is compatible
- with a wide range of BBS software.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 2
-
- USING RMDOOR
- ------------
-
- Because RMDoor comes supplied is a Turbo Pascal unit it can be
- seamlessly integrated with your door program by simply including the
- following two lines in your door program:
-
- {$M $4000,0,0}
- uses rmdoor;
-
- The first line is a {$M} compiler directive and is necessary to enable
- RMDoor's Drop to DOS function. If you omit this line from your door
- program, RMDoor will not be able to drop to DOS and will display an
- appropriate error message to the sysop. NOTE: The {$M} compiler
- directive also affects your program's heap space. Be sure that the
- final two values are set accordingly if you dynamically allocate
- memory.
-
- The second line is a "uses" statement and simply instructs Turbo
- Pascal to include the RMDOOR.TPU unit in your compiled door program.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 3
-
- RUNNING AN RMDOOR DOOR
- ----------------------
-
- An RMDoor-based door program is run by entering a command similar to
- the following:
-
- door config
-
- In the above command line, "door" is the name of your door's EXE file
- and the "config" parameter is the name of the door's configuration
- file. The configuration file can have any name the sysop chooses, but
- it must reside in the same directory as the door. The configuration
- file is an ASCII text file with the following format:
-
- Line 1: Door data file type.
- Line 2: Path to the door data file(s).
- Line 3: BBS name.
- Line 4: Sysop's name.
- Line 5: Locked baud rate.
-
- As illustrated above, the door's data file type is specified in line 1
- and can be PCB for PCBoard, GAP for GAP (DOOR.SYS), SF for Spitfire,
- RBBS for RBBS, WC for WildCat!, TRIBBS for TriBBS, or WWIV for WWIV.
- The locked baud rate is specified in line 5. If the sysop doesn't
- lock his serial port, he must specify 0 for the locked baud rate.
- NOTE: Although many door formats do pass the locked baud rate in the
- door data files, some older formats such as RBBS do not. For
- conformity, RMDoor requires that you specify the locked baud rate in
- line 5 and ignores any value passed in the door data files.
-
- The following is a sample door configuration file:
-
- PCB
- C:\tribbs\
- The Lobster Buoy
- Mark Goodwin
- 38400
-
- RMDoor can be run locally without a door data file (handy for the
- sysop to use the door without logging on to the BBS) by specifying
- LOCAL after the configuration file parameter in the DOS command line.
- RMDoor will request the user to enter his name before running the
- door.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 4
-
- SPECIAL KEYS
- ------------
-
- While a door is running, the sysop can press certain special keys to
- perform a variety of functions. The following is a list of the
- functions that the RMDoor special keys perform:
-
- Key(s) Function
-
- HOME Toggles between the user status window and a help
- display that lists the RMDoor special keys.
-
- F6 Takes 5 minutes away from the caller.
- NOTE: This will NOT be returned to BBS.
-
- F7 Gives 5 minutes to the caller.
- NOTE: This will NOT be returned to the BBS.
-
- F9 Quit the door and return the caller to the BBS.
-
- F10 Enter chat mode. Pressing the ESC key exits the
- chat mode.
-
- Alt+D Drop to DOS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 5
-
- THE RMDOOR VARIABLES
- --------------------
-
- The following are the global variables that RMDoor supplies for the
- door author's convenience:
-
-
- ansicolor : boolean;
-
- The ansicolor variable is set to True for a caller using ANSI color
- graphics or to False for a monochrome caller.
-
-
- baudrate : longint;
-
- The baudrate variable holds the caller's baud rate. This is the
- callers actual connection rate and not the locked baud rate. NOTE:
- RMDoor will set baudrate to 0 for local calls.
-
-
- bbsname : string;
-
- The bbsname variable holds the BBS's name.
-
-
- callingfrom : string;
-
- The callingfrom variable holds the user's city and state. This may
- not be supported by all door formats and will be set to a null string
- if not.
-
-
- doorname : string;
-
- The doorname variable holds the door's name. The door's name will be
- displayed in the user status window. NOTE: It is the door author's
- responsibility to assign a value to this variable.
-
-
- lockedrate : longint;
-
- The lockedrate variable holds the serial port's locked baud rate, if
- any.
-
-
- minutesleft : integer;
-
- The minutesleft variable holds the number of minutes the caller had
- remaining when he entered the door.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 6
-
-
- phonenumber : string;
-
- The phonenumber variable holds the user's phone number. This may not
- be supported by all door formats and will be set to a null string if
- not.
-
-
- seclevel : integer;
-
- The seclevel variable holds the caller's security level.
-
-
- sysopname : string;
-
- The sysopname variable holds the sysop's name.
-
-
- userfirstname : string;
-
- The userfirstname variable holds the user's first name.
-
-
- username : string;
-
- The username variable holds the user's name.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 7
-
- THE RMDOOR PROCEDURES AND FUNCTIONS
- -----------------------------------
-
- The following is a explanation of procedures and functions that RMDoor
- provides:
-
-
- procedure rmclrscr;
-
- The rmclrscr procedure clears both the local and remote displays.
-
-
- procedure rmdisplayfile(filename : string; pause : boolean);
-
- The rmdisplayfile procedure displays a file to both the local and the
- remote displays. The file to be displayed is specified by "filename".
- The "pause" parameter specifies whether or not the display is to be
- paused every 24 lines.
-
-
- function rmgetbackground : integer;
-
- The rmgetbackground function returns the current background color.
-
-
- function rmgetforeground : integer;
-
- The rmgetforeground function returns the current foreground color.
-
-
- procedure rmgotoxy(x, y : integer);
-
- The rmgotoxy procedure positions the cursor for both the local and
- remote displays. The cursor's new column position is specified by the
- "x" parameter and its new row position is specified by the "y"
- parameter. NOTE: This will only work if the user has ANSI enabled
- (RMDoor will ignore this statement if called when the user does not
- have ANSI enabled).
-
-
- function rmreadi : integer;
-
- The rmreadi function returns the value of an integer that is entered
- either locally or remotely.
-
-
- function rmreadkey : char;
-
- The rmreadkey function waits for either a key to be pressed or a
- character to come in through the serial port. As soon as a character
- is available, its value will be returned by rmreadkey.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 8
-
- function rmreadl : longint;
-
- The rmreadl function returns the value of a longint that is entered
- either locally or remotely.
-
-
- function rmreads : string;
-
- The rmreads function returns the value of a string that is entered
- either locally or remotely.
-
-
- procedure rmsetcolor(f, b : integer);
-
- The rmsetcolor procedure sets the foreground color (the "f" parameter)
- and the background color (the "b" parameter) for both the local and
- remote displays. NOTE: The colors will only be set if the caller has
- ANSI color graphics enabled. The foreground colors are as follows:
-
- 0 - Black
- 1 - Blue
- 2 - Green
- 3 - Cyan
- 4 - Red
- 5 - Magenta
- 6 - Brown
- 7 - White
- 8 - Dark grey
- 9 - Light blue
- 10 - Light green
- 11 - Light cyan
- 12 - Light red
- 13 - Light magenta
- 14 - Yellow
- 15 - Bright white
-
- The background colors are as follows:
-
- 0 - Black
- 1 - Blue
- 2 - Green
- 3 - Cyan
- 4 - Red
- 5 - Magenta
- 6 - Brown
- 7 - White
- 8 - Black with blinking foreground
- 9 - Blue with blinking foreground
- 10 - Green with blinking foreground
- 11 - Cyan with blinking foreground
- 12 - Red with blinking foreground
- 13 - Magenta with blinking foreground
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 9
-
- 14 - Yellow with blinking foreground
- 15 - White with blinking foreground
-
-
- function rmtimeleft : integer;
-
- The rmtimeleft function returns the number of minutes the caller has
- remaining.
-
-
- function rmtimeon : integer;
-
- The rmtimeon function returns the number of minutes that the caller
- has been in the door.
-
-
- procedure rmwrite(s:string);
-
- The rmwrite procedure displays a string both locally and remotely.
-
-
- procedure rmwritei(i : integer);
-
- The rmwritei procedure displays an integer both locally and remotely.
-
-
- procedure rmwritel(l : longint);
-
- The rmwritel procedure displays a longint both locally and remotely.
-
-
- procedure rmwriteln(s:string);
-
- The rmwriteln procedure displays a string both locally and remotely.
- After displaying the string, RMDoor will send a CR/LF pair to the
- local and remote displays.
-
-
- procedure rmwritelni(i : integer);
-
- The rmwritelni procedure displays an integer both locally and
- remotely. After displaying the integer, RMDoor will send a CR/LF pair
- to the local and remote displays.
-
-
- procedure rmwritelnl(l : longint);
-
- The rmwritelnl procedure displays a longint both locally and remotely.
- After displaying the longint, RMDoor will send a CR/LF pair to the
- local and remote displays.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 10
-
- SUPPORT
- -------
-
- You may obtain assistance with a RMDoor related problem by calling
- either The Lobster Buoy at 207-941-0805.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 11
-
- REGISTRATION
- ------------
-
- Registration of RMDoor is only $25.00. Please use the form in the
- file REGISTER.TXT. When you register RMDoor, you will receive a
- letter of verification and a note on how to turn your shareware
- version of RMDoor into a registered version.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-