home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-09 | 18.1 KB | 1,057 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor
- Version 1.0
- Copyright (c) 1991 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 your 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 FUNCTION . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . 9
-
- 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: PCBoard, GAP (DOOR.SYS), Spitfire, WildCat!,
- and RBBS. 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 effects 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, or WC for WildCat!. 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:\tritel\
- 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.
-
- F7 Gives 5 minutes to the caller.
-
- 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 FUNCTION
- ----------------------------------
-
- 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.
-
-
- 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
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 9
-
- 13 - Magenta with blinking foreground
- 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
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 10
-
- remotely. After displaying the longint, RMDoor will send a CR/LF
- pair to the local and remote displays.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 11
-
- SUPPORT
- -------
-
- You may obtain assistance with a RMDoor related problem by
- calling either James Bond's Hideaway at 207-942-6575 or The
- Lobster Buoy at 207-941-0805.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- RMDoor 12
-
- 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 registered version of the RMDOOR.TPU file on disk.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-