







                                 ..
                               ::::::.
              .::.         ...:::  `:::..
       . .. .:' `::.   ..:::::'         ::..      _ _________    ______:______
           ________::::::'                 `:. .  .    _____/    \____ | ____/
_ ________/   __  ¬\         _ _________ _ __________   _)________/   \_/  ¬\_
 ___  _  ¬\_  \     \____:_______  _   ¬\_______   _/   \  /  __ ¬\_   |_____/
 |    (/   ____Y     \_  |   __    (/   __   _(/  ______  __  \    ____;
 l____      /  l_______  '  _/l____      /___\    ¬\_. \__/____Y    \_   (zS!)
     l_____/          l_____|     l_____/     \_____/ :..      l_____/
                                                        :::.    .::::.   .:. .
       · DayDream BBS - Documentation ·                   `::..:::' `::.::'
                                                            `::'      `::'



  Note: This manual is not finished. All features are not introduced
  here. I didn't have time to write complete documentation, but this should
  help you to get the software working.







         <---------------------------------------------------------->
                        (1) Introduction & features
         <---------------------------------------------------------->

  1-1 - General information
  ~~~~~~~~~~~~~~~~~~~~~~~~~

  DayDream BBS was originally developed for the IBM PC and it was some
  kind of QuickBBS clone. It was programmed by Tuomas Tonteri, but
  when A1200 was released Tuomas sold his PC and bought an Amiga. He started
  to code a new AmiExpress-lookalike BBS-program, but the name was the same,
  DayDream BBS. At the beginning, DayDream evolved pretty rapidly, but
  after one year of programming Tuomas ran out of time and the studying
  and a girlfriend took all his time, so he gave the sources etc to me.
  Soon Tuomas changed back to the PC, but still DayDream is evolving
  at the full speed. 


  1-2 - Legal Info
  ~~~~~~~~~~~~~~~~

  I'm not responsible if DayDream causes any damage to your system.
  You use it at your own risk.

  If you find any bugs please inform me. Also, if you have MMU,
  try to find enforcer hits and tell me where they occur.

  WARNING!
  If you use cracked version of DayDream BBS please register. DayDream BBS
  is a result of two years of hard work. I haven't spent my life coding
  protection, but certain tricks can make the cracked version not to work
  properly. If you're going to crack this, think twice because i'm not going
  to throw away this project unless everybody use cracked version. And i'm
  not going to slow down the progress of this BBS software!


  1-3 - Contacting Author
  ~~~~~~~~~~~~~~~~~~~~~~~

  The Chameleon - +358-81-5522597 - 24h - VFc

  Leave mail to Hydra (Antti Häyrynen).

  InterNet Address: hydra@tolsun.oulu.fi.


  1-4 - Registration
  ~~~~~~~~~~~~~~~~~~

  The unregistered version of DayDream BBS has one annoying limitation.
  60% of calls will fail.

  Registration fee is 300FIM or 75USD. If possible, use FIM.
  This is not much, because i spend many hours/day developing this
  software. Compare the price to any other GOOD BBS Software, and
  you'll see that they cost at least TWICE as much!

  I suggest that you use cash, because it's the cheapest way to do it.

  Send the registration fee with letter containing following information
  about yourself:

   - Full name
   - Full Address
   - Possible phone number and information about your BBS.
   - E-Mail address

  Send them to this address:

   Antti Häyrynen
   Rysätie 12a1
   SF-90810 Kiviniemi
   Finland

  If you want to receive the keyfile faster, I can send it via E-Mail
  as uuencoded.


  1-5 - Features
  ~~~~~~~~~~~~~~
	
   - DayDream BBS looks like AmiExpress which is loved and hated BBS
     software. Most of people like AmiExpress because of it's simpliness
     and because it's very fast to use. However, AmiExpress requires
     very fast CPU to operate smoothly and the configurability is
     quite bad too. DayDream fixes the major problems found in AmiX.

   - 100% assembly code. DayDream  is  probably the fastest BBS-software
     ever.

   - Number of conferences is limited to 64. Each conference can have up
     to 254 messagebases and fileareas.  64*254 =  16256 or  for pentium
     users 16255.999999987.

   - Maximum security.  Each user  can have their  own securitysettings,
     but defaults are  taken by securitylevel. Every command in DayDream
     can be toggled on/off.

   - Basic utilities and doors are included in distribution archive. For
     example:  Faker,   whof,  new,  GUI-Usereditor,  GUI-Uploader,  top
     utilities, weektop etc.

   - Configuration is done via ascii file. This provides quick access to
     modify DayDream's settings. Asciifile  is converted to binaryformat
     with utility called DreamConfig. It takes about 0.5 secs to compile
     the datafiles.

   - Full support for FILE_ID.DiZ.

   - Strings and  prompts are sysop-definable  so you can customize your
     BBS the way you like.

   - You can have 254 different  displaymodes. Each displaymode can have
     it's own characterconversiontables (No more linefeeds), prompts and
     strings and textfiles.

   - Multinode support (Not finished yet, will be done very soon!)

   - Supports  DDDP  (DayDream  door  protocol)  doors  and ARexx-doors.
     Support for Paragon and stdio-doors will be done soon.

   - Supports XPR-Protocols and Hydra (Bidirectional w/ chat).

   - Cheap. DayDream costs only 300FIM or 75USD.


  1-6 - The credits
  ~~~~~~~~~~~~~~~~~

  Design, programming in 1993-1994, the most of the bugs, frame:

                                                            Tuomas Tonteri

  Design, current development, optimizing, programming in 1994 - 20??,
  manual, utilities, included DDDP-Doors, ideas etc:

                                                            Antti Häyrynen

  Betatesting, discovering most the bugs, ideas, spreading, public
  reactions, included ARexx-doors, whipping etc:

							           DarkElf

  Whipping, Ideas:
								  CandyMan

  1-7 - Support
  ~~~~~~~~~~~~~

  If you have any comments, know bugs, have any suggestions etc
  feel free to send me E-Mail to hydra@tolsun.oulu.fi.

  I need 2 more registrations to get my own board 24h. So if YOU
  register, that will help me a lot and i can form a support board
  for DayDream BBS. 

  If our lame school joins internet, i'll put a bot on IRC and you
  can leech doors and utils from it.

         <---------------------------------------------------------->
                     (2) Requirements and installation
         <---------------------------------------------------------->

  2-1 - Software Requirements
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

   - KickStart 2.04 (V37) or higher.
   - Fifo.library and l:fifo-handler running for remote shell operation.
   - Reqtools.library
     

  2-2 - Hardware Requirements
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

  - Memory: Server requires about 60kb and each node about 300kb
            ram.

  - Harddrive : Not required, but i suggest asylum if you are planning
                to run a BBS from floppies.


  2-3 - Installation
  ~~~~~~~~~~~~~~~~~~

  Just use the supplied installation-script and Commodore's installer-
  program to install DayDream. 


  2-4 - Directories
  ~~~~~~~~~~~~~~~~~

  DayDream:Data/            - Includes all the configuration and data-
		  	      files (like UserBase etc)

  DayDream:Batch/           - Includes logoff-batch files.
  
  DayDream:Utils/           - Includes DayDream BBS-utilities.

  DayDream:Temporary/       - Required for uploads.

  DayDream:Display/         - Contains most of the textfiles that are
                              showed to the user when he's cruising in
                              the BBS.

  DayDream:Doors/           - Contais external programmodules, commands,
			      games etc which are runnable from the BBS.

  DayDream:Hold/            - Private uploads to the SysOp are placed in
			      here.

  DayDream:Logfiles/        - Contains your logfiles.


  2-5 - Executing DayDream
  ~~~~~~~~~~~~~~~~~~~~~~~~

  To execute DayDream BBS, you must have the DayDream BBS Server running.
  Server handles most of the dos routines and shares access between nodes.
  To do this, simply type "Run Server" in the main directory.

  Commandline parameters for the main executable are:

  ----------------------------------------------------------------------
  DayDream n[node] (d[baud]) (lo/lc) (h) (c["connectstring"])

        n = node
        d = BPS rate for direct connection
        lo = Operator login
        lc = Local connection
        h = Use +++ hangupping instead of DTR hangup
        c = parse connectstring and make direct connection

  ----------------------------------------------------------------------

  Examples: run DayDream n1                      (Normal wait-for-call mode)
            run DayDream n1 lo                   (Local connection)


         <---------------------------------------------------------->
                                (3) BBS Files
         <---------------------------------------------------------->

  3-1 - [Conference]/Data/
  ~~~~~~~~~~~~~~~~~~~~~~~~

  This directory includes some conference-specific data, such as
  File catalogs, list of free downloads, list of paths that are used
  to access downloadable files etc.

  Directory.XXX        - File-catalog of XXX - filearea.

  Paths.DAT            - This file is used to define directories that are
                         used for searching files. First line=Area 1 etc.
                         Amount of lines can be unlimited. If there are
                         more lines in this file than filedirectories in
                         the conference, rest of the lines are extra dl-
                         paths.

  FreeDownloads.DAT    - Contains list of Free downloads. Wildcards
                         allowed.


  3-2 - [Conference]/Bulletins/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This directory includes bulletins, such as top uploader list or other-
  wise useful information. Add .GFX or .TXT suffix.

  BulletinMenu         - List of available bulletins

  Bulletin.X           - Should be selfexplaining.


  3-3 - [Conference]/Display/[Displaymode]/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This directory contains the conference-specific textfiles displayed
  to the user. If file is not found, it is searched from
  DayDream:Display/[Displaymode]/. Add .GFX or .TXT suffix.

  Commands             - List of commands.

  FileCatalogs         - List of file-areas in current conference.

  MessageBases         - List of messagebases in current conference.

  Upload               - Showed to the user before uploading. Useful
                         if you want to show some upload-rules etc.

  Download             - Showed to the user before downloading.

  HydraTransfer        - Showed to the user before bidirectional Hydra-
                         transfer.

  JoinConference       - Showed to the user when he/she joins the conference.


  3-4 - [Conference]/Messages/[BaseXXX]
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Contains messages and their headers.

  MsgBase.DAT          - Headers of the messages in the current base.

  MsgBase.LRP          - Autoscan and lastread pointers.

  MsgXXXXX             - Standard messagefile.


  3-5 - DayDream:Display/[DisplayMode]/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Contains most of the textfiles that are showed to the user when he's
  cruising in the BBS. 

  AccountFrozen        - Showed to the user who has been frozen from the
                         BBS.

  Banner               - Logon screen

  BeforeGoodBye        - Showed to the user when he/she enters G-command.

  Commands             - List of available commands

  Conferences          - List of available conferences

  Download             - Showed to the user before download

  EditUser             - Showed to the user when he/she's modifying account info.

  FileCatalogs         - Showed to the user when he/she's listing files.

  GoodBye              - Logoff screen

  LineChatOn           - Showed to the user when sysop enters chat mode.

  LineChatOff          - Showed to the user when sysop exits chat mode.

  LineEditorCommands   - List of available commands in message-editor.

  MoreHelp             - If user requests help in mode-prompt.

  MoveFiles            - Showed before asking files to move.

  MsgReadCommands      - List of available commands when reading messages.

  NewUser              - Displayed to the user when he/she decides to create
                         new account. Useful for rules etc.
  
  NewUserPassword      - Showed to the user when he/she decides to create
                         new account and the system requires New User
                         Password.

  PassWordFailure      - Displayed to the user when he fails 3 times in
                         Password-check.

  ProtocolMenu         - List of available protocols.

  Reg_Realname         - Showed to the user before asking his/her real 
                         name in the registrarion.

  Reg_Handle           - Showed to the user before asking his/her handle 
                         in the registrarion.

  Reg_Zip+City         - Showed to the user before asking his/her Zipcode
                         in the registrarion.

  Reg_VoiceNumber      - Showed to the user before asking his/her Voice
                         phone number in the registrarion.

  Reg_PassWord         - Showed to the user before asking his/her password
                         in the registrarion.

  Reg_ComputerModel    - Showed to the user before asking his/her computer-
  			 model in the registration.

  Reg_ScreenLength     - Showed to the user before asking his/her Screen
  			 length in the registration.

  ScanDateHelp         - Showed to the user when he requests help in new
                         file scan.

  SystemPassword       - Showed to the user after asking display mode
                         if SystemPassword is enabled.

  Upload               - Showed to the user before uploading.

  UploadCommands       - Commandlist on prompt requesting save etc.

  Welcome              - Displayed to the user after logon.

  ZippySearch          - Showed to the user if he/she didn't enter any
                         parameters for Z-command.

    NOTE! Some of these files can be different on each security level.
    Eg. Commands.255.GFX will be showed to the user if his/her access level
    is 255.


  3-6 - DayDream:Display/
  ~~~~~~~~~~~~~~~~~~~~~~~

  DisplayModeHelp.TXT  - List of available displaymodes.

  Strings.XXX          - Contains nearly all strings and prompts in BBS.

  BoardClosed.TXT      - If exists, DayDream will display this and disconnect
                         user before logon.

  PermanentyAway.TXT   - If exists, will be displayed to the user when he/she
                         requests chatting. Useful if you are having a
                         vacation.

  3-7 - Questionnaire/
  ~~~~~~~~~~~~~~~~~~~~

  New user questionnaire is based on 2 files: Registration.questions and
  Registration. My english isn't good enough to explain them, so please
  take a look at the provided example files. Answers will be placed in
  Registration.answers.


  3-8 - DayDream:Batch/
  ~~~~~~~~~~~~~~~~~~~~~

  This directory contains batch files. You must protect +s them, so
  DayDream can execute then. Currently supported files are:

  LogoffX.bat          - This will be executed everytime user leaves
                         a BBS. Useful, if you want to have up-to-date
			 top users list in your board etc.


  3-9 - Special Control Codes
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Textfiles can have special control codes, which will send out some
  variable text or cause certain things to happen. These control codes
  begin with asciicode 255 (’). Here is the list of them:


  ’P                         - Pause
  ’N                         - Any key to resume (Pause)
  ’R                         - Real name
  ’H                         - Handle
  ’O                         - Organization
  ’Z                         - Zip code and city
  ’V                         - Voice Phone
  ’A                         - Password (Use with care!!)
  ’S                         - Screen length
  ’T                         - Protocol ID
  ’U                         - Upload Signature
  ’C                         - Computer Model
  ’D<command>|[parameters]|  - Run a standard DDDP-door
  ’I                         - Current Date
  ’M                         - Current Time
  ’B<asciifile>|             - Display ascii file
  ’L                         - Silent any key to resume
  ’Fxx.yyy                   - Forbid printing  xx: 01 = Conf access
                                               yyy: Parameters
  ’Exx.yyy                   - Permit printing  xx: 01 = Conf access
                                               yyy: Parameters
  ’G                         - Turn more-prompts off
  ’J<path>|<max value>|      - Shows random file. <Path> is a path and 
                               prefix of filename. Postfix for file is
                               a number between 1 and <max value>. Eg

			       ’JDayDream:display/iso/Showme|6|
			       could show DayDream:display/iso/Showme3.
			       GFX/TXT extension won't be added!

  Example on ’D-code:

  --------------------------------------------
  ’DC:Run <NIL: >NIL: DayDream:Doors/Wall %N||
  --------------------------------------------
  ^ ^                 ^                   ^ ^
  | |                 |                   | |
  | |                 |                   | `--> ..And between these two add
  | |                 |                   |      the parameters
  | |                 |                   `--> Pause after running
  | |                 `--> Full path to the door
  | `--> C:Run - command
  `--> Run External Door


         <---------------------------------------------------------->
                            (4) Configuring BBS
         <---------------------------------------------------------->

  4-1 - General information
  ~~~~~~~~~~~~~~~~~~~~~~~~~

  Configuration of DayDream BBS is done via external configprogram,
  DreamConfig. It compilies specified ascii file to the datafiles,
  which can be found in DayDream:Data/-directory. Be sure you have
  correct number of lines in each entry, or the DreamConfig will
  fail. Compiler is quite fast, it takes only few seconds to compile
  all data-files. 

  The basic configfile is included in distribution archive, just look
  at the examples to get the idea.

  NOTE! Make sure server IS NOT running when you compile the config-
  file. Server loads all the datafiles to memory, so it is completely
  useless if you run dreamconfig when server is running.

  4-2 - Main Configuration
  ~~~~~~~~~~~~~~~~~~~~~~~~

  Main configuration in DayDream.CFG looks like this:

  !DAYDREAM.DAT
  BBSNAME...... Windowskiihdytin
  SYSOP........ Hydra
  ASCIISENDPATH Dh1:ascii/
  CHATDLPATH... dh1:download/
  OP_DMODE..... 1
  SYSTEM_PW.... -
  NEWUSER_PW... -
  USERED_PW.... -
  FSCAN_BUFFER. 60
  NEW_PRESET... 1
  IDLE......... 180
  AUTOCONF..... 1
  FREEFORUL.... 2000000
  ASK_REASON... Y
  NAMEMODE..... H
  LOCATION..... O
  DISABLEWILDS. N
  QUESTIONS.... N
  SYSOP_COL.... [36m
  USER_COL..... [35m
  SHELL_PW..... SODOM
  ~


  BBSNAME...... 

	The actual name of your BBS.

  SYSOP........ 

	Your name.

  ASCIISENDPATH 

	Default path used for sending ascii files to user while chatting.

  CHATDLPATH... 

	Path of directory where the files will be placed when uploaded in
	chat mode.

  OP_DMODE..... 

	Display mode used for run daydream n? lo-connections.

  SYSTEM_PW.... 

	System password or - for nothing.

  NEWUSER_PW... 

	New user password or - for nothing.

  USERED_PW.... 

	Password required to enter user editor. To enter usereditor, user
	also requires the on/off flag of UserEditor to be set as On.

  FSCAN_BUFFER. 

	Size of buffer in kb used by Zippy Search, File scan and New files
	scan.

  NEW_PRESET... 

	Access preset used for new users.

  IDLE......... 

	Inactivity timeout in seconds. If nothing happens in the BBS for
	this period of time, user will be disconnected.

  AUTOCONF..... 

	Conference to join, if user doesn't have access to the Conference
	where he was on when logged off last time.

  FREEFORUL.... 

	Free space required for uploads in bytes. Suggested value about
	2000000.

 ASK_REASON... 

	Y/N switch. If this is Y, reason will be asked when user requests
	chatting.

  NAMEMODE..... 

	If H, use handles in the BBS as default.
	If R, use real names in the BBS as default.

  LOCATION..... 

	If L, use zip code as location.
	If O, use organization as location.

  DISABLEWILDS. 

	Y/N switch. If this is N, user can use wildcards in his name
	when logging in.

  QUESTIONS.... 

	Y/N switch. If this is Y, DayDream will run Questionnaire for
	the user if he hasn't answered it yet. (If userbase was converted
	from /X etc)

  SYSOP_COL.... 

	Ansicode in chat mode when SysOp writes something..

  USER_COL..... 

	Ansicode in chat mode when user writes something..

  SHELL_PW..... 

	Password required for Remote shell operation or - for nothing.


  4-3 - Conferences
  ~~~~~~~~~~~~~~~~~

  CONF_NUMB..... 1
  CONF_NAME..... Example Conference
  CONF_PATH..... DayDream:ExampleConf/
  CONF_FILEAREAS 2
  CONF_UPLOADSTO 2
  CONF_MSGBASES. 2
  CONF_COMMENTS. 1
  CONF_ULPATH... DayDream:ExampleConf/New/
  CONF_NSAREAS.. A
  CONF_DEFFSCAN. N
  +

  CONF_NUMB.....

	Conference Number. Allowed values are 1-64.

  CONF_NAME.....

	Name of the conference.

  CONF_PATH.....

	Path to the conference. End with / or :

  CONF_FILEAREAS

	Number of fileareas in conference. Allowed values 0-255.

  CONF_UPLOADSTO

	Number of area to place uploads in.

  CONF_MSGBASES.

	Number of message bases. MUST be the same value as number of 
 	defined message bases or DD will piss.

  CONF_COMMENTS.

	Number of message base to place comments in. If 0, comments
	won't be accepted.

  CONF_ULPATH...

	Path to the directory where uploads are moved after transfer.
	End with : or /.

  CONF_NSAREAS..

	Arealist for global new file scan. Area list uses the same
	routine as N S [....]-menu command. [....] will be placed 
	with this.

  CONF_DEFFSCAN.

	If you want that this conference is turned on as default for the
	global file scan, use Y. If not, then N.

  The next line specifies what to do next. If it's +, then next block of
  config file is for message base. If it's *, then next block of config
  file is for conference and if it's ~, it's the end of the Conferences.DAT.



  BASE_NUMBER... 1
  BASE_TYPE..... L
  BASE_LOWEST... -
  BASE_HIGHEST.. -
  BASE_MAXMSGS.. 1000
  BASE_NAME..... Comments to SysOp
  BASE_FIDOTAG.. -
  BASE_ORIGIN... -
  BASE_FIDOADD.. -
  BASE_ALLOWPBLC N
  BASE_ALLOWPRIV Y
  BASE_NAMES.... R
  BASE_QUOTE.... L
  BASE_DEFGRAB.. Y

  BASE_NUMBER...

	Number of message base. Allowed values are 1-254.

  BASE_TYPE.....

	Message base type. L = Local, E = FidoNet Echomail, N = Fidonet
	netmail.

  BASE_LOWEST...

	Number of lowest message. If -, value will be taken from existing
	Conferences.DAT. This should always be -. If you have blown your
	message bases up, just use included fixbases-program.
	
  BASE_HIGHEST..

	Number of highest message. If -, value will be taken from existing
	Conferences.DAT. This should always be -. If you have blown your
	message bases up, just use included fixbases-program.
	
  BASE_MAXMSGS..

	Maximum number of messages allowed in this base. Not yet supported,
	but i'll write a maintenance tool soon which autodeletes these etc.

  BASE_NAME.....

	Name of the message base.

  BASE_FIDOTAG..

	FidoNet tag for the message base. Case sensitive.
	Use - if none.

  BASE_ORIGIN...

	FidoNet origin for the message base. Use - if none.
	
  BASE_FIDOADD..

	4d FidoNet address. Use - if none.

  BASE_ALLOWPBLC

	If this is Y, users can write public messages to this base. If N,
	then they can't.

  BASE_ALLOWPRIV

	If this is Y, users can write private message to this base. If N,
	then they can't.

  BASE_NAMES....

	If this is R, real names will be used in this base. If this is H,
	handles will be used.

  BASE_QUOTE....

	Quoting method. If L, /X-like quoteline will be inserted after quote.
	If this is >, plain > will be inserted before each line of the quote.
	If this is I, initials of the original message author and ">" will
	be inserted before quote. EG. "AH> DayDream kix ass! :)"

  BASE_DEFGRAB..

	Y/N switch. Use Y, if you want that this messagebase is turned on
	as default for new mail scan and message grabbing.

  The next line specifies what to do next. If it's +, then the next block of
  config file is for message base. If it's *, then the next block of config
  file is for conference and if it's ~, it's the end of the Conferences.DAT.



  4-4 - External Commands
  ~~~~~~~~~~~~~~~~~~~~~~~

  DayDream supports 5 kinds of doors. They are DosScript (not so useful),
  DDDP (DayDream Doorprotocol, like XIM in AmiX), stdio-doors, ARexx-
  doors and textfiles. ARexx interface is external, program called rexx
  in Doors/-directory converts ARexx<->DDDP.

  Paragon-door support is not ready yet.

  To use any DayDream-doors you will need ENV:-variable called DreamUtils.
  Doors and utils should look for their configfiles from path which is
  placed in that ENV:-variable. This provides possiblity to you to have
  configfiles placed where ever you want. Example configfiles are placed
  in DayDream:Configs/ so type "setenv DreamUtils DayDream:Configs/" to
  get doors and utils working.

  Stdio-doors supports following parameters:

  %N - Node
  %R - Real name
  %H - Handle
  %S - Screenlength

  More will be added if you request something.


  !EXTERNALCOMMANDS.DAT
  DOOR_COMMAND.. WALL
  DOOR_TYPE..... 1
  DOOR_SECURITY. 5
  DOOR_EXECUTE.. C:Run <>NIL: DayDream:Doors/Wall %N
  +

  DOOR_COMMAND.. 

	Command in main menu to launch this door.

  DOOR_TYPE..... 

	Door type. 0 = Dos program without any kind of output or input
		       to the serial or console.

		   1 = DDDP door (DayDream Door Protocol). DDDP is very
		       flexible method for programming doors. Specifications
		       of DDDP are included in Developer/-directory.

		   2 = Paragon door. Tuomas wrote this, but it's not finished
		       yet. I don't have specifications for paragon doors, so
		       i've been unable to write this ready, sorry.

		   3 = Stdio door. Uses Matthew Dillon's fifo.library and
		       fifo-handler. Standard dos programs which won't open
		       screen or window will work.

		   4 = Text file. Specified text file from current display
		       directory will be shown to the user. Useful for
		       doormenus etc.
		       
  DOOR_SECURITY. 

	Security level required to run this door.

  DOOR_EXECUTE.. 

	Command or filename to run the door.

  The next line specifies what to do next. If it's +, then there's door
  to compile. If it's ~, it's the end of the ExternalCommands.DAT.


  4-5 - Access Presets
  ~~~~~~~~~~~~~~~~~~~~

  PRESET_SEC.... 5
  PRESET_NUMBER. 1
  PRESET_FFILES. 0
  PRESET_FBYTES. 0
  PRESET_DESC... New User
  PRESET_STATUS. 3
  +

  PRESET_SEC....

	Security level of this preset.

  PRESET_NUMBER.

	Number of preset.

  PRESET_FFILES.

	Free files.

  PRESET_FBYTES.

	Free bytes. (In KB!!!)

  PRESET_DESC...

	Description of the preset.

  PRESET_STATUS.

	Status of the preset. 0 = Active, 1 = Deleted, 2 = Frozen, 3 = New

  The next line specifies what to do next. If it's +, then there's preset
  to compile. If it's ~, it's the end of the Access.DAT.

  4-6 - Archivers
  ~~~~~~~~~~~~~~~

  !ARCHIVERS.DAT
  ARC_TYPE...... F
  ARC_EXTENSION. LHA
  ARC_NAME...... LHA
  ARC_TEST...... dh1:utils/lha -m -M T %A
  ARC_EXTRACT... dh1:utils/lha -m -M E %A %F
  ARC_ADD....... dh1:utils/lha -m -M A %A %F
  ARC_FAIL1..... Failed
  ARC_FAIL2..... -
  ARC_FAIL3..... -
  ARC_FIDEXTRACT dh1:utils/lha -m -M E %A %F
  ARC_FIDADD.... dh1:utils/lha -m -M A %A %F
  +

  ARC_TYPE......

	Archiver type. F = File archiver, D = Disk archiver.

  ARC_EXTENSION.

	Extension of the archive.

  ARC_NAME......

	Archiver name.

  ARC_TEST......

	Test command of the archiver or -.

  ARC_EXTRACT...

	Extract command of the archiver or -. Unused.

  ARC_ADD.......

	Add command of the archiver or -. Unused.

  ARC_FAIL1.....

	Keyword if archive is corrupted or -. Case-sensitive. 

  ARC_FAIL2.....

	Keyword if archive is corrupted or -. Case-sensitive. 

  ARC_FAIL3.....

	Keyword if archive is corrupted or -. Case-sensitive. 

  ARC_FIDEXTRACT

	File_id.diz extract command or -.

  ARC_FIDADD....

	File_id.diz add command or -.

  The next line specifies what to do next. If it's +, then there's archiver
  to compile. If it's ~, it's the end of the Archivers.DAT.


  4-7 - File transfer protocols
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  DayDream uses external xpr-protocols for transfering files. Hydra protocol
  routines and configurations are hard coded, so you don't need to care about
  Hydra.

  !PROTOCOLS.DAT
  XPR_ID........ Z
  XPR_NAME...... Z-Modem
  XPR_EFFICIENCY 97
  XPR_LIB....... xprzmodem.library
  XPR_INIT...... TN,OR,B10,DN,KY,SN,RN
  XPR_TYPE...... B

  XPR_ID........ 

	Protocol ID for Alter userdata menu.

  XPR_NAME...... 

	Protocol name.

  XPR_EFFICIENCY 

	Protocol efficiency in percents.

  XPR_LIB....... 

	XPR-library name.

  XPR_INIT...... 

	XPR init string.

  XPR_TYPE...... 

	Protocol type. B = Batch protocol, N = Not a batch protocol.

  The next line specifies what to do next. If it's +, then there's protocol
  to compile. If it's ~, it's the end of the Protocols.DAT.


  4-8 - Display Modes
  ~~~~~~~~~~~~~~~~~~~

  !DISPLAY.DAT
  DPL_ID........ 1
  DPL_PATH...... Iso/
  DPL_ANSI...... Y
  DPL_INCONV.... N
  DPL_OUTCONV... N
  DPL_FILESCONV. N
  DPL_TABLE..... 0
  DPL_TABLE..... 0
  DPL_FONT...... topaz.font
  DPL_SIZE...... 8
  DPL_STRINGS... 1


  DPL_ID........

	Display mode number.

  DPL_PATH......

	Path used by display mode to find menus and text files. If this is
	"Iso/", text stuff is searched from DayDream:Display/Iso/-directory.

  DPL_ANSI......

	If this is Y, ansi colors are enabled. If this is N, only 2 colors are
	used.

  DPL_INCONV....

	Activate incoming conversion. If this is Y, incoming characters will
	be converted.

  DPL_OUTCONV...

	Activate outgoing conversion. If this is Y, outgoing characters will
	be converted.

  DPL_FILESCONV.

	Activate textfile conversion. If this is Y, outgoing textfiles will
	be converted.

  DPL_TABLE1....

	ID of ConversionTableXX.DAT used for incoming conversion.

  DPL_TABLE2....

	ID of ConversionTableXX.DAT used for outgoing conversion.

  DPL_FONT......

	Local font when user is using this displaymode. Not supported yet.
 
  DPL_SIZE......

	Size of font when user is using this displaymode. Not supported yet.

  DPL_STRINGS...

	Number of strings to use. 0 if you want to use built-in ones.

  The next line specifies what to do next. If it's +, then there's 
  displaymode to compile. If it's ~, it's the end of the DisplayModes.DAT.


  4-9 - Multinode stuff
  ~~~~~~~~~~~~~~~~~~~~~

  MNODE_NODE.... 1
  MNODE_IODEV... 1
  MNODE_MBAUD... 1200
  MNODE_MNBAUD.. 1200
  MNODE_SCREENW. 640
  MNODE_SCREENL. 256
  MNODE_FONT.... topaz.font
  MNODE_FSIZE... 8
  MNODE_STYPE... 1
  MNODE_PALETTE. 1
  MNODE_SHANGHAI N
  MNODE_DEFPTOF. N
  MNODE_AUTOFRNT Y
  MNODE_AUTOOPEN Y
  MNODE_COMMAND. run daydream n1 <>NIL:
  +

  MNODE_NODE....

	Node number of this node. DO NOT USE 0!

  MNODE_IODEV...

	Number of IO-Device to use.

  MNODE_MBAUD...

	Minimum baud to allow log on.

  MNODE_MNBAUD..

	Minimum baud to allow new users to log on.

  MNODE_SCREENW.

	Screen width for this node.

  MNODE_SCREENL.

	Screen length for this node.

  MNODE_FONT....

	Font to use for this node.

  MNODE_FSIZE...

	Font size for this node.

  MNODE_STYPE...

	Screen type for this node. 0 = Custom screen, 1 = Public Screen.
	If you want that Hydra will open it's windows to the DayDream
	screen, you _MUST_ use public screen.

  MNODE_PALETTE.

	Palette type. 0 = Default palette, 1 = Ansi palette.

  MNODE_SHANGHAI

	Shanghai windows.

  MNODE_DEFPTOF.

	Default public screen to front when visitor.

  MNODE_AUTOFRNT

	Screen to front when connected.

  MNODE_AUTOOPEN

	Open screen when node starts (Not yet available, screen will be
	opened always)

  MNODE_COMMAND.

	Command to run when node is inactive and clicked from server.
	(Not yet implemented)

  The next line specifies what to do next. If it's +, then there's 
  more nodes to compile. If it's ~, it's the end of the Multinode.DAT.

  4-10 - I/O Devices
  ~~~~~~~~~~~~~~~~~~

  !IO-DEVICES.DAT
  IO_NUMBER..... 1
  IO_UNIT....... 0
  IO_BAUD....... 38400
  IO_DEVICE..... serial.device
  IO_PREINIT.... |ATZ|
  IO_OFFHOOK.... AT &D0 M0 H1|
  IO_ANSWER..... ATA|
  IO_INIT....... AT M0 L0W2%C3\A3\N3\L1|
  IO_OK......... OK
  IO_RING....... RING
  IO_NOCARRIER.. NO CARRIER
  IO_CONNECT.... CONNECT
  IO_SPEED1..... HST,14400
  IO_SPEED2..... -
  IO_SPEED3..... -
  IO_SPEED4..... -
  IO_SPEED5..... -
  IO_SPEED6..... -
  IO_SPEED7..... -
  IO_SPEED8..... -
  IO_SPEED9..... -
  IO_SPEED10.... -
  IO_ERRORCORR.. ARQ
  IO_DELAY1..... 1
  IO_DELAY2..... 2
  IO_MODE....... S


  IO_NUMBER.....

	Number of I/O Device.

  IO_UNIT.......

	Unit number.

  IO_BAUD.......

	DTE Rate.
	
  IO_DEVICE.....

	Device-name to use.

  IO_PREINIT....

	Pre-init string. Will be sent before init string.

  IO_OFFHOOK....

	Off-hook string.

  IO_ANSWER.....

	Answer string when modem receives RING.

  IO_INIT.......

	Initialization string.

  IO_OK.........

	OK string.

  IO_RING.......

	RING string.

  IO_NOCARRIER..

	NO CARRIER string.

  IO_CONNECT....

	Connect string.

  IO_SPEED1.....

	Speed identifier. If this is found from connection string, bps
	rate will be taken after ",".

  IO_SPEED2.....

	Same is IO_SPEED1.

  IO_SPEED3.....

	Same is IO_SPEED1.

  IO_SPEED4.....

	Same is IO_SPEED1.

  IO_SPEED5.....

	Same is IO_SPEED1.

  IO_SPEED6.....

	Same is IO_SPEED1.

  IO_SPEED7.....

	Same is IO_SPEED1.

  IO_SPEED8.....

	Same is IO_SPEED1.

  IO_SPEED9.....

	Same is IO_SPEED1.

  IO_SPEED10....

	Same is IO_SPEED1.

  IO_ERRORCORR..

	Error correction keyword. If this is found from connection string,
	connection is error correcting.

  IO_DELAY1.....

	Delay between connection and first output (secs).

  IO_DELAY2.....

	Delay between modem init attempts.

  IO_MODE.......

	Mode. S=Shared, E=Exclusive. Note that you can't use Hydra-protocol
	if mode is exclusive.

  The next line specifies what to do next. If it's +, then there's 
  more IO-Devices to compile. If it's ~, it's the end of the IO-Devices.


  4-11 - Security levels
  ~~~~~~~~~~~~~~~~~~~~~~

  !SECURITY.DAT
  SEC_LEVEL..... 1
  SEC_FRATIO.... 3
  SEC_BRATIO.... 3
  SEC_PAGES..... 3
  SEC_TIMELIMIT. 20
  SEC_CONFACC1.. XXXXXXXXXXXXXX------------------
  SEC_CONFACC2.. --------------------------------
  SECF_DOWNLOAD. N
  SECF_UPLOAD... N
  SECF_READMSGS. N
  SECF_ENTERMSG. N
  SECF_PAGE..... N
  SECF_COMMENT.. N
  SECF_BULLETINS N
  SECF_LISTFILES N
  SECF_NEWFILES. N
  SECF_ZIPPY.... N
  SECF_RUNDOOR.. N
  SECF_JOINCONF. N
  SECF_MSGAREAC. N
  SECF_CHANGEINF N
  SECF_RELOGIN.. N
  SECF_TAGED.... N
  SECF_VIEWSTATS N
  SECF_VIEWTIME. N
  SECF_HYDRA.... N
  SECF_EXPERT... N
  SECF_EALL..... N
  SECF_FIDOMSG.. N
  SECF_PRIVMSG.. N
  SECF_READALL.. N
  SECF_USERED... N
  SECF_VIEWLOG.. N
  SECF_SYSOPDL.. N
  SECF_USERLIST. N
  SECF_DELETEANY N
  SECF_SHELL.... N
  SECF_WHO...... N
  SECF_MOVE..... N
  SECF_SFCONFS.. N
  SECF_SMBASES.. N
  SECF_NETMAIL.. N


  SEC_LEVEL..... 

	Security level which uses these settings.

  SEC_FRATIO.... 

	File ratio for this security level.

  SEC_BRATIO.... 

	Byte ratio for this security level.

  SEC_PAGES..... 

	Pages allowed.

  SEC_TIMELIMIT. 

	Time limit.

  SEC_CONFACC1.. 

	Conference access for conferences 1-32. X means that user has
	access to the conference. If it's "-" then he/she's not allowed
	to join the conference.

  SEC_CONFACC2.. 

	Conference access for conferences 33-64. X means that user has
	access to the conference. If it's "-" then he/she's not allowed
	to join the conference.

  SECF_DOWNLOAD. 

	Everything below this defines access to the specified thing in the
	BBS. If it's Y user has access to do it, if N then doesn't.

	Download.

  SECF_UPLOAD... 

	Upload.
	
  SECF_READMSGS. 

	Read messages.

  SECF_ENTERMSG. 

	Enter message.

  SECF_PAGE..... 

	Page SysOp.

  SECF_COMMENT.. 

	Leave comment to the SysOp.

  SECF_BULLETINS 

	Read bulletins.

  SECF_LISTFILES 

	List files.

  SECF_NEWFILES. 

	New file scan.

  SECF_ZIPPY.... 

	Zippy Search.

  SECF_RUNDOOR.. 

	Run an external program.

  SECF_JOINCONF. 

	Join conference.

  SECF_MSGAREAC. 

	Change MSG-Area.

  SECF_CHANGEINF 

	Alter his/her settings. (Like protocol, handle, phone number etc)

  SECF_RELOGIN.. 

	Relogin.

  SECF_TAGED.... 

	Tag Editor.

  SECF_VIEWSTATS 

	View his/her statistics.

  SECF_VIEWTIME. 

	Check what time is it.

  SECF_HYDRA.... 

	Use Hydra-transfer protocol.

  SECF_EXPERT... 

	Change to expert/novice mode.

  SECF_EALL..... 

	Leave an Exclusive all-message.

  SECF_FIDOMSG.. 

	Leave an fido message.

  SECF_PRIVMSG.. 

	Send a private message.

  SECF_READALL.. 

	Read any message including Private messages addressed to someone
	else.

  SECF_USERED... 

	Use user editor.
	
  SECF_VIEWLOG.. 

	View log file.

  SECF_SYSOPDL.. 

	SysOp download. Free download from any path.

  SECF_USERLIST. 

	List users.

  SECF_DELETEANY 

	Delete any message.

  SECF_SHELL.... 

	Remote shell. 

  SECF_WHO...... 

	View who's online.

  SECF_MOVE..... 

	Move file from area to another.

  SECF_SFCONFS.. 

	Select conferences to be scanned with NS-command.

  SECF_SMBASES..

	Select message bases to be scanned with MS-command and to be
	grabbed to offline reading.

  SECF_NETMAIL..

	Send netmail.

  The next line specifies what to do next. If it's +, then there's 
  more Sec levels to compile. If it's ~, it's the end of the Security.DAT.


  4-12 - Schedule
  ~~~~~~~~~~~~~~~

  !SCHEDULE.DAT
  SCHE_HOUR..... 0
  SCHE_LOGOFF... N
  SCHE_SYSPW.... -
  SCHE_NEWUSERPW -
  +


  SCHE_HOUR..... 

	Hour. 0-23. 

  SCHE_LOGOFF... 

	Force logoff at the end of this hour.

  SCHE_SYSPW.... 

	System password at this hour or -.

  SCHE_NEWUSERPW 

	New user password at this hour or -.

  The next line specifies what to do next. If it's +, then there's 
  more hours to compile. If it's ~, it's the end of the Schedule.DAT.
  Note that you MUST have all 24 hours in this block!


  4-13 - Server
  ~~~~~~~~~~~~~

  !SERVER.DAT
  SRV_X......... 0
  SRV_Y......... 75
  SRV_ICONIFY... N
  SRV_NAMES..... R
  SRV_LOCATION.. O
  ~

  SRV_X.........

	Server window X-coordinate.

  SRV_Y.........

	Server window Y-coordinate.

  SRV_ICONIFY...

	Iconify server at start. (Not yet implemented)

  SRV_NAMES.....

	Use real names or handles in the server's listview. R = Real names,
	H = Handles.

  SRV_LOCATION..

	Use zipcode or organization in the server's listview. O =
	Organization, L = Zip code.

         <---------------------------------------------------------->
                         (5) Included utils & doors
         <---------------------------------------------------------->

  5-1 - DayDream:Utils/
  ~~~~~~~~~~~~~~~~~~~~~

  Bulk                  - Nice uploading program w/ GUI. Supports file_id,
			  archive testing etc. Very comfortable!

  DDCallers             - Generates the list of last 10 callers and weekly
                          statistics. Generates also "minilog".

  DDTop                 - Generates list of top 10 uploaders, downloaders,
                          callers, messagewriters and crapuploaders.
                          WARNING! DO NOT USE THIS IF YOU HAVE LESS THAN
                          THREE USERS!!! IT WILL CRASH THE MACHINE! IF YOU
                          HAVE THREE OR MORE USERS, IT IS SAFE TO USE
                          THIS!

  DDWeekTop             - Generates list of weekly top 10 uploaders and
                          downloaders. Writes message to the BBS at the
                          end of the week (Optional).
                          WARNING! DO NOT USE THIS IF YOU HAVE LESS THAN
                          THREE USERS!!! IT WILL CRASH THE MACHINE! IF YOU
                          HAVE THREE OR MORE USERS, IT IS SAFE TO USE
                          THIS!

  DreamConfig           - Compiles normal ascii-configfile for DayDream
                          usage.

  DreamToss		- FidoNet tosser for DayDream BBS. 

  FixBases              - Fixes messagepointers in Conferences.DAT.

  UserEd                - Nice GUI usereditor.

  Using these utilities shouldn't cause any problems, when you take a look
  at the example-configfiles etc...


  5-2 - DayDream:Doors/
  ~~~~~~~~~~~~~~~~~~~~~

  Faker                 - DreamFaker. Allows users to comment files.
                          SysOp can give or take extra credits from the
                          upload user has committed. SysOp can also
                          return credits to the downloaders, delete file
                          and even reward the first commenter. Very useful.

  Grab                  - DreamMail. Allows user or SysOp to read messages
                          offline. Supports only 2 formats, ascii and WWF.
                          WWF supports also replying. Offline readers sup-
                          porting WWF are at least Offline Orbit and WWF-
                          reader. QWK will be added some day.

  New                   - DreamNew. Allows user to read filelists backwards.

  Rexx                  - External ARexx-interface. Look at the supported
                          commands below. Some example ARexx-doors are
                          included in the distribution archive.

  Wall                  - Stupid wall program which allows users to write
                          their slogans so everybody can laugh at them :)

  WhoF                  - Allows user to see who has uploaded and downloaded
                          the file and when.


  5-3 - DayDream:Doors/RexxDir/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Some example ARexx-scripts are placed here, some of them are written
  by me, some of them are written by DarkElf/Smurfs.


         <---------------------------------------------------------->
                                  (6) ARexx
         <---------------------------------------------------------->

  6-1 - General info
  ~~~~~~~~~~~~~~~~~~

  ARexx-interpreter of DayDream BBS is external program, DreamRexx. I'm
  planning to make it as internal part of DayDream BBS but it still
  remains external.


  6-2 - Requirements
  ~~~~~~~~~~~~~~~~~~

  To use ARexx-doors you'll need DreamRexx (included in DD-Distribution),
  rx and rexxmast. Rexxmast must be running.


  6-3 - Launching Door
  ~~~~~~~~~~~~~~~~~~~~

  Usage : Doors:Rexx [node] [script]

  Example : C:Run <>NIL: Doors:Rexx %N Doors:Rexxdir/rexxscript.dd


  6-4 - Supported Commands
  ~~~~~~~~~~~~~~~~~~~~~~~~
  --------------------------------------------------------------------
  TRANSMIT "<string>" -
  Sends a given string with newline appended. Returns nothing.

  Example:
  Transmit "Hello World!"
  --------------------------------------------------------------------
  SHUTDOWN -
  End Arexx-script and close DreamRexx and doorport. Returns nothing.

  Example:
  Shutdown
  --------------------------------------------------------------------
  PROMPT <max length> NORMAL|HIDE|FILE "[<prompt>]\\[<default>]" -
  Prompts the user to enter text with the given length as the maximum.
  Three types of text input are currently supported:
    NORMAL: Normal input
    HIDE: Replace chars w/ *
    FILE: Don't allow characters illegal in filenames	
  If a prompt is supplied, it will be displayed before waiting for
  input. A default answer can be defined with 2 backslashes after
  prompt-text.

  Example:
  Prompt 30 NORMAL "Your Name:\\Antti Häyrynen"
  --------------------------------------------------------------------
  NEWLINE -
  Sends a newline code (a carriage return followed by line feed).
  Takes no parameters and returns nothing
	
  Example:
  Newline
  --------------------------------------------------------------------
  SEND <string>
  Sends a given string. Nothing is added to the string. Returns
  nothing.

  Example:
  Send "Hello World!"
  --------------------------------------------------------------------
  SENDFILE <filename> -
  Sends a given text file to the online user. File is searched from
  DayDream:Display/<displaymode>-directory and extension is added
  automatically.

  Example:
  Sendfile "goodbye"
  --------------------------------------------------------------------
  SENDANY <filename> -
  Sends a given text file to the online user. Full pathname must be
  given.

  Example:
  Sendany "s:user-startup"
  --------------------------------------------------------------------
  GETUSER <number> -
  Returns requested information about user.
    1 = Real Name
    2 = Handle
    3 = Organization
    4 = Zip copy and city
    5 = Voice Phone Number
    6 = Password
    7 = Screen length
    8 = Protocol
    9 = Ul-signature
   10 = Bytes Uploaded
   11 = Bytes Downloaded
   12 = Files Uploaded
   13 = Files Downloaded
   14 = Public Messages Written
   15 = Private Messages Written
   16 = Calls made to the system
   17 = File ratio (UL:DL <> 1:VALUE)
   18 = Byte ratio (UL:DL <> 1:VALUE)
   19 = Computer Model
   20 = Free Bytes
   21 = Failed login attempts since last authorized login
   22 = Sec Level
   23 = Conference to auto-join during the next login
   24 = Conference access indicator (1-32)
   25 = Conference access indicator (33-64)
   26 = Daily time limit in minutes
   27 = Slot number
   28 = Time remaining
   29 = Free files
   30 = Faked files
   31 = Faked bytes

  Example:
  Getuser 2
  --------------------------------------------------------------------
  SYSTEMINFO <number> -
  Returns requested information about System.
    1 = System Name
    2 = SysOp
    3 = Door parameters
    4 = Current conference (Number)
    5 = Current messagebase (Number)
    6 = Connection type (REMOTE or LOCAL)
    7 = Displaymode number
    8 = Display type (ANSI/ASCII)

  Example:
  Systeminfo 6
  --------------------------------------------------------------------
  GETCHAR -
  Get a single character from local console or remote terminal.
  Doesn't send anything to modem or console!
  Returns received character.

  Example:
  Getchar
  --------------------------------------------------------------------
  QUERYY [<prompt>] -
  Prompt user for Yes or No response, Yes as default. If a prompt is
  supplied, it will be displayed before user input. Returns 'Y'
  or 'N'.

  Example:
  Queryy 'Are Amigas good computers? (Yes/no) :'
  --------------------------------------------------------------------
  QUERYN [<prompt>] -
  Prompt user for Yes or No response, No as default. If a prompt is
  supplied, it will be displayed before user input. Returns 'Y'
  or 'N'.

  Example:
  Queryn 'Are Pc's good computers? (yes/No) :'
  --------------------------------------------------------------------
  CONFINFO <conf> <number> -
  Returns requested information about conference.
    1 = Conference name
    2 = Conference path
    3 = Number of fileareas in conference
    4 = Number of filearea to place uploads in
    5 = Number of messagebases in conference
    6 = Number of messagebase to place comments in
	
  Example:
  Confinfo 2 1
  --------------------------------------------------------------------
  DOWNLOAD <file1> [<file2>] [<file3>] ... -
  Allows user to download files. Note that this will not add user's
  download bytes.

  Example:
  Download 'S:User-startup' 'daydream:wares/data/directory.001'
  --------------------------------------------------------------------
  UPLOAD <path> -
  Allows user to upload files to specified path. Note that this will
  not add user's upload bytes.

  Example:
  Upload 'daydream:temporary/node'node'/'
  --------------------------------------------------------------------
  GETLRP <conf> <base> -
  Get lastread-pointer of the current user from the specified base.

  Example:
  Getlrp 2 3
  --------------------------------------------------------------------
  SETLRP <conf> <base> <lrp> -
  Set lastread-pointer of the current user in the specified base.

  Example:
  Setlrp 2 3 14
  --------------------------------------------------------------------
  FLAGFILE <conf> <file> -
  Flag file from specified conf for download. Wildcards allowed.

  Example:
  Flagfile 2 '#?.dms'
  --------------------------------------------------------------------
  HANGUP
  Disconnect user from BBS.

  Example:
  Hangup
  --------------------------------------------------------------------
  DDCOMMAND <Command>
  This command makes possible to use DayDream's internal routines
  from arexx-doors.

  Example:
  DDCommand "N S A"
  --------------------------------------------------------------------
  RESETIDLE
  Resets idle counter.

  Example:
  Resetidle
  --------------------------------------------------------------------
  RELOGIN
  Generates new connection.

  Example:
  RELOGIN
  --------------------------------------------------------------------

  6-5 - Debugging
  ~~~~~~~~~~~~~~~

  Because DreamRexx is a bit kludged program, use TCO for debugging purposes.
  TCO is included in the OS and can be found in rexxc:.

         <---------------------------------------------------------->
                        (7) Developing Doors & Utils
         <---------------------------------------------------------->


  7-1 - General Guidelines
  ~~~~~~~~~~~~~~~~~~~~~~~~

  If you plan to program doors & utils for DayDream BBS, you must be
  familiar with some rules. 

  1) If your door or util has a configfile, it is highly recommended,
     that it is looked from the path which is given in ENV:-variable
     DreamUtils.

  2) If your door uses Data-Structures, please get structuresizes from
     DayDream:Data/Version.DAT. This will make sure that your program
     will work with future versions of DayDream BBS.

  Documentation for DDDP-Commands and format of data-structures are
  included in DayDream:Structures/-directory. Check it out!

  If your program needs doorcommand(s) that DD doesn't support, just
  e-mail me, and it might be available in the next release!

  I will do my best to get the development of the DayDream doors&utils
  working!


  7-2 - DayDream BBS Server commands
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  DayDream BBS server supports currently only couple of commands that
  can be accessed via execmessages. The commands, that are not listed,
  are only for private use of DayDream BBS.
  
  Portname for DayDream BBS server is "DD-Server".

  Format of Servermessage is as follows. Note that offset 0 is the end of
  standard exec-message header.

  OFFSET  TYPE     LENGTH  DESCRIPTION                                 FLAGS
  ==========================================================================
   0000   UBYTE      01    NODENUMBER OR -1 IF EXTERNAL PROGRAM          (-)
   0001   UBYTE      01    FREE SPACE                                    (-)
   0002   UWORD      02    MESSAGE CODE                                  (-)
   0004   LONG WORD  04    COMMAND DATA FIELD #1                         (-)
   0008   LONG WORD  04    COMMAND DATA FIELD #2                         (-)
   0012   LONG WORD  04    COMMAND DATA FIELD #3                         (-)
   0016   LONG WORD  04    COMMAND DATA FIELD #4                         (-)
   0020   STRING     80    ROOM FOR MISCELLANEOUS VARIABLES              (-)
   0100   -- END --  00    END OF SERVER MESSAGE                         (-)
  ==========================================================================

  MESSAGE CODE=3       -> Save Conferences.DAT
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This function saves current Conferences.DAT in memory. Use with care.

  Input:

    Nothing

  Output:

    Nothing

  Other:

    Server deletes message and doesn't reply it, so DO NOT WaitPort()!

  
  MESSAGE CODE=10      -> DosRead
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This function is standard dos read-command. It opens file and does seeking
  operations, closes it etc. Useful if you want to access stuff that other
  nodes can access at the time, so there won't be any conflicts.

  Input:

  DATA1  = Pointer to the filename to read
  DATA2  = Pointer to the destination buffer
  DATA3  = Number of bytes to read
  DATA4  = Offset to start reading

  Outputs:

  DATA1  = Number of bytes read. If -1, error occured.


  MESSAGE CODE=11      -> DosAppend
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  With this function, you can safely add stuff to the filelists etc.
  If file is not found, it will be created. This function seeks to
  the end of file and writes the specified data.

  Input:

  DATA1  = Pointer to the filename
  DATA2  = Pointer to the source buffer
  DATA3  = Number of bytes to write

  Outputs:

  DATA1  = Number of bytes written. If -1, error occured.

  MESSAGE CODE=100     -> Add msgpointers
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This function adds highest msg pointer of the specified messagebase, so
  you can add message to the messagebase.

  Inputs:

  DATA1  = Conference number
  DATA2  = Base number

  Outputs:

  This function deletes the message automatically, you mustn't wait for
  the message to be replied!!!

  I will add lot of commands to the server soon! If you want something,
  just e-mail me!

  MESSAGE CODE=101     -> Inquire pointers to datafiles
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This function helps you to get datafiles directly from server. This
  saves memory from system and allows you to modify Conferences.DAT
  etc. You can also check out what's happening in the BBS.
  You may modify datafiles, but be careful when modifying Conferences.DAT,
  because modifications to Conferences.DAT will be saved to the disk!

  Inputs:

  -Nothing-
  
  Outputs:

  OFFSET+MN_SIZE      FILE                        VALUE AT THE END OF DATA
  ========================================================================
  0000                Conferences.DAT                                  255
  0004                Protocols.DAT                                    255 
  0008                Archivers.DAT                                    255
  0012                DayDream.DAT                                       -
  0016                Display.DAT                                      255
  0020                Access.DAT                                         0
  0024                ExternalCommands.DAT                             255
  0028                Multinode.DAT                                      0
  0032                Schedule.DAT                                     255
  0036                Security.DAT                                       0
  0040                Node Structures (Not a file)                       -
  ========================================================================

  ALLOCATE MN_SIZE+80 BYTES OF MEMORY FOR THE MESSAGE!!!








         <---------------------------------------------------------->
               (8) List of available commands in DayDream BBS
         <---------------------------------------------------------->

  8-1 - General info
  ~~~~~~~~~~~~~~~~~~

  This chapter contains only available mainmenu commands of the DayDream
  BBS and a little explanation. I'm not going to explain how do they work,
  you gotta find it out yourself!

  8-2 - SysOp commands
  ~~~~~~~~~~~~~~~~~~~~

  USERED                - Online UserEditor
  MOVE                  - Move file from area to another
  SD                    - SysOp download
  LOG                   - View logfile
  SHELL                 - Remote Shell
  

  8-3 - User commands
  ~~~~~~~~~~~~~~~~~~~

  A                     - Alter userdata
  B                     - Bulletins
  C                     - Comment to SysOp
  D                     - Download
  E                     - Enter message
  F                     - List files
  G                     - Logoff
  J                     - Join Conference
  L                     - Local time
  M                     - Change msg-base
  N                     - New file scan
  O                     - Operator Page
  R                     - Read messages
  S                     - User Statistics
  T                     - Tag Editor
  U                     - Upload
  X                     - Expertmode toggle
  Z                     - Zippy Search
  <                     - Previous Conference
  >                     - Next Conference
  ?                     - Show mainmenu
  1                     - Kewl little game :)
  <<                    - Previous Messagebase
  >>                    - Next Messagebase
  MS                    - Mailscan
  NS                    - Global new file scan
  VER                   - Displays version information
  RELOGIN               - Relogin
  UD                    - Bidirectional Hydra-transfer
  USERLIST              - List of users
  MODE                  - Change displaymode
  WHO                   - Who's online
  CLS                   - Clear Screen
  



         <---------------------------------------------------------->
                                 (9) FidoNet
         <---------------------------------------------------------->

  9-1 - Requirements
  ~~~~~~~~~~~~~~~~~~

  To join FidoNet, you need:

	1) FidoNet address of your own. You can get it from most of the
	   BBS'es near you, because it's so popular.

	2) Mailer software. DayDream has been tested with JamMail and
	   Trapdoor. It works fine.

  	3) Cron utility to execute mailer to poll messages, Dreamtoss to
	   pack messages etc.

  9-2 - Installing Dreamtoss
  ~~~~~~~~~~~~~~~~~~~~~~~~~~

  Configfile of DreamToss must be placed in Mail:-directory and it's
  called DreamToss.CFG. DreamToss doesn't require any kind of nodelist
  compiler or so.

    Akas
    ~~~~

	    DreamToss supports AKA-addresses, so you can have multiple
	    networks in your BBS. Standard AKA-line looks like this

		AKA?? XX:XX/XX.XX

	    AKA1 is your primary FidoNet address. So if your primary
	    address is for example 9:866/3.0, put to your configfile:

		AKA1 9:866/3.0

    Bad messages
    ~~~~~~~~~~~~

	    There can be some bad messages in the message packet, for
	    example there might be message to the area you have not
	    configured. That kind of messages are imported to the area,
	    you have defined as a bad message base. It should be local
	    area because then you know what went wrong from the message
	    kludges, and so you can configure DayDream so it will work.

	    Standard BAD-line looks like this:

		BAD [CONF]:[BASE]

	    For example, if you want to have base 6 of conference 10 as
	    a bad base, put to your config file:

		BAD 10:6

    Netmail
    ~~~~~~~

	    There might be a message in the inbound directory, that
	    hasn't AREA:-kludge. This kind of messages will be imported
	    as Netmail. Netmail can be sent anywhere from the globe,
	    and is always private. Line NETMAIL in config-file defines
	    the base to be used for Netmail messages.

	    Standard NETMAIL-line looks like this:

		NETMAIL [CONF]:[BASE]

	    For example, if you want to have base 5 of conference 10 as
	    a netmail base, put to your config file:

		NETMAIL 10:5


    Inbound & Outbound directories
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	    DreamToss needs to know, where the received messages are
	    located. It also needs to know, where you want to pack
	    outgoing messages. Path for received messages is defined
	    in INBOUND-line and for outgoing in OUTBOUND-line.

	    Here are examples:

		INBOUND "Mail:Inbound"
		OUTBOUND "Mail:Outbound"

	    Note that / will be added automatically after path and
	    path must be enclosed with quotes.


    Packer definitions
    ~~~~~~~~~~~~~~~~~~

	    You can have multiple packers for packing outgoing mail,
	    but only 1 for decrunching mail. If you want to have more
	    decrunchers, get a extracter, which detects which packer is
	    used for packing message packets.

	    Standard packer line looks like this:

	    PACK[PACKERNUMBER] "[Commandline]". First %s is for name of
	    archive and the second %s is for source file.

	    Eg:

	    PACK1 "Lha a %s %s"

	    Standard unpack line looks like this:

	    UNPACK "[Commandline]". %s is a archive name to extract.

	    Eg:

	    UNPACK "Lha e %s"

    Outgoing echo
    ~~~~~~~~~~~~~

	    To specify nodes/points which get some mail from you, you need
	    to use list of outbound nodes. List begins with line "OUT:".
	    The next lines are for specifications about nodes/points which
	    get the mail packets from you. The line format is:

	    [4D ADDRESS] [TYPE] [PACKER] [AKA]

	    4D Address is a typical fidonet 4D address, eg. 9:866/3.0.
	    Type specifies the method which is used to deliver packets to
	    the current node. If it's H, node will call you to exchange the
	    packets. If it's N, you will call the current node to exchange
	    packets.

	    Packer specifies packer number to use.

	    Aka specifies aka to use in messages to this node.

	    ~ is end of the outbound definitions.

	    Example list:

	    OUT:
	    9:866/1.0 N 1 1
	    9:866/2.0 H 1 1
	    ~

    Inbound conversion
    ~~~~~~~~~~~~~~~~~~

	    It's possible to convert incoming messages. If you live in
	    scandinavia and you are member of PC-network, those linefeeds
	    are really annoying. If you want to use conversion table, specify
	    the conversion table number in "CONVERSION" line. Table will
	    be taken from DayDream:Data/-directory.

    Area definitions
    ~~~~~~~~~~~~~~~~

	    To export echomail messages, you need to specify nodes who are
	    polling area. Every area requires this. Format for AREA-line is

	    AREA [CONF]:[BASE] [List of 4d-addresses].

	    Eg:

	    AREA 4:5 9:866/1.0 9:866/2.0



         <---------------------------------------------------------->
                         (10) Things you should know
         <---------------------------------------------------------->

  10-1 - Chat mode
  ~~~~~~~~~~~~~~~~

  When user is paging you, press ctrl-a to enter the chat. Otherwise,
  use Amiga+C. To exit chatmode, just hit <esc>. 

