







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







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

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

  DayDream BBS was originally  developed for the IBM PC and it was some kind
  of a QuickBBS clone.  It was programmed by Tuomas Tonteri.  When the 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 rather rapidly, but
  after  one year of programming Tuomas ran out of time and the studying and
  his 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 (hits) occur.

  !NOTICE THIS!
  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 - node1 :+358-81-5522597 - 24h - v.fc

  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 the calls will fail.

  Registration  fee  is 300FIM or 75USD.  If possible, use FIM.  This is not
  much,  because  I  spend  several  hours a 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 in
  uuencoded format.


  1-5 - Features
  ~~~~~~~~~~~~~~
	
   - DayDream  BBS  looks  like  AmiExpress, which is a much loved and hated
     BBS software. Most of the people who like AmiExpress like it because of
     it's simpliness and  because it's very fast to use. However, AmiExpress
     requires a very fast CPU to operate smoothly and the configurability is
     rather poor 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
     list -utilities, weektop etc.
     
   - Configuration is done  via an ascii file.  This enables quick modifica-
     tions to the BBS'  settings.  Asciifile  is converted  to  binaryformat
     with  utility  called  DreamConfig.  It takes about 0.5 secs to compile
     the datafiles with it.
     
   - Superb  upload handling.  Full support  for file_id.diz, gets date from
     file_id.diz (if  wanted),  built-in offline  checking, adds file_id.diz
     to archives if it didn't exist etc.
     
   - Strings  and  prompts  can be re-defined, so you can customize your BBS
     any 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 quite 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.

   - Everything else except DDHydra can be made resident!
                                                ^^^^^^^^^
  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

  Beta testing, discovering most the bugs, ideas, spreading, public
  reactions, included ARexx-doors, whipping etc:
   -DarkElf/aCCESs

  Reqtools.library:
   -Nico Franēois

  Whipping, Ideas:
   -CandyMan/Morque

  Beta testing, enforcer testing, documentation "improvement"/grammar
  checking:
   -Allas/Parallax & Damage

  Background music, keeping the programming mood on:
   -Sonic Youth, REM, Nofx, Bad Religion, CMX, Ramones,
    Rage Against the machine, Pearl Jam etc...


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

  If you have any  comments, discover some  bugs or have any suggestions etc
  feel free to send E-Mail to me at: hydra@tolsun.oulu.fi.

  If our  (lame) school  joins  internet, I'll put a bot on  IRC and you can
  leech  doors and utils from it. [Unless it's otol.fi domain you join. They
  have limits for foreign transfers -Allas]


         <---------------------------------------------------------->
                     (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
               your BBS from floppies.


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

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

  Step 2)
    Compile  DayDream.CFG  using  supplied config-program, DreamConfig.  Eg.
    DayDream:Utils/DreamConfig DayDream:DayDream.CFG.

  Step 3)
    Put in your user-startup (or where ever) following things:
        run <>NIL: L:Fifo-Handler
        resident >NIL: DayDream:DayDream pure (if you want!)
        path >NIL: DayDream:Utils
        path >NIL: sys:rexxc

  Now  you should be able to test it.  Of course you cannot discover all the
  features  with only 5 minutes  checking, so I suggest you  spend some time
  testing this. It has lot of features never seen on Amiga BBS programs.

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

  DayDream:Data/            - Includes all the  configuration  and datafiles
                              (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  program modules,  commands,
                              games etc. that can be executed 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 (DayDream) 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.
                         NOTE!  Global  freedownloads  can  be  specified in
                         DayDream:Data/FreeDownloads.DAT.


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

  This directory includes bulletins,  such as top uploader list or otherwise
  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 the current conference.

  MessageBases         - List of messagebases in the 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]/Display/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  This directory contains only one optional file, prompt.txt. It's a  custom
  menu prompt for this conference, and supports following control codes:

  Control code    Meaning
  ========================================================================
       %%         Print %-char
       %A         Last read pointer
       %C         Conference name
       %E         Highest message
       %L         Message base number
       %M         Message base name
       %N         Conference number
       %T         Time left in minutes


  3-5 - [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-6 - DayDream:Display/[DisplayMode]/
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

  AccountFrozen        - Shown  when user  whose  account  has  been  frozen 
                         tries to login.

  Banner               - Shown before the login prompt.

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

  Commands             - List of available commands

  Conferences          - List of available conferences

  Download             - Shown to the user before download

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

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

  GoodBye              - Logoff screen

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

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

  LineEditorCommands   - List of available commands in message-editor.

  MoreHelp             - Shown when user requests help in more-prompt.

  MoveFiles            - Shown before asking files to move.

  MsgReadCommands      - List of available commands when reading messages.

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

  PassWordFailure      - Displayed  to  the  user  if  he fails  3  times in
                         the password checking.

  ProtocolMenu         - List of available protocols.

  Reg_Realname         - Shown to the user  before asking  his/her real name
                         during the registration.

  Reg_Handle           - Shown  to  the user  before  asking  his/her handle
                         during the registration.

  Reg_Zip+City         - Shown  to the  user before  asking  his/her Zipcode
                         during the registration.

  Reg_VoiceNumber      - Shown  to  the  user  before asking  his/her  Voice
                         phone number during the registration.

  Reg_PassWord         - Shown to  the user  before asking  his/her password 
                         during the registration.

  Reg_ComputerModel    - Shown to the user  before  asking his/her computer-
                         model during the registration.

  Reg_ScreenLength     - Shown  to the  user before  asking  his/her  Screen
                         length during the registration.

  ScanDateHelp         - Shown  to the user when  he  requests  help  during
                         new file scan.

  SystemPassword       - Shown  to  the  user  before  asking for the System
                         Password (if SystemPassword is enabled)

  Upload               - Shown 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 for every security level.  Eg.
  Commands.255.GFX  will  be  showed  to the user if his/her access level is
  255.


  3-7 - DayDream:Display/
  ~~~~~~~~~~~~~~~~~~~~~~~

  DisplayModeHelp.TXT  - List of available display modes.

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

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

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

  3-8 - Questionnaire/
  ~~~~~~~~~~~~~~~~~~~~

  New  user  questionnaire  is based on 2 files:  Registration.questions and
  Registration.

  If yhe Registration  file exists, it  will be displayed  to every new user
  that logs in (or  to all users who have not answered the questionnaire, if
  it's enabled in the DayDream.cfg file (QUESTIONS .. Y/N)).

  The basic format  of the Registration and Registration.Questions files are
  as follows:

  Each question  is followed  by ’N (ASCII-code 255+N) where N is the number
  of lines user is allowed to use to answer the question.
  For example:

  Please name atleast 3 presidents of the United States of America (3 lines)

  ’3

  The string  "(3 lines)" is not  needed for  the questionnaire to work, but
  it's nice to let the user know how many lines he can use.

  Now let's  suppose this was  the first question in the questionnaire file.
  So in the Registration.Questions file the first line could be like:

  Presidents

  User won't see this  string, but it will be added  in front of the answers
  in the Registration.Answers file. If the user answered ie.:

  Ronald Reagan
  George Bush
  Bill Clinton

  The Registration.Answers would then show:

  Answers by Real Name / Handle on 01.01.1995 at 18:00:00
  ===========================================================================
  Qst: President                                                            |
  Ans: [ Ronald Reagan                                                      ]
     : [ George Bush                                                        ]
     : [ Bill Clinton                                                       ]
  etc.

  The procedure is the  same for all the questions.  Just make sure that you
  have  as  many  lines in  the  Registration.Questions  file  as  you  have 
  questions in the Registration file.

  3-9 - 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 etc in your board etc.


  3-10 - 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 the codes:

  ’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!
  ’K<command>|               - Execute standard menu command.

  Example on ’D-code:

  --------------------------------------------
  ’DDayDream:Doors/Wall %N||
  --------------------------------------------
  ^ ^                   ^ ^^
  | |                   | ||
  | |                   | ``-> ..And between these two add
  | |                   |      the parameters
  | |                   `--> Pause after running
  | `--> Full path to the door
  `--> 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,  that
  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.


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

  Main configuration in DayDream.CFG looks like this:

  !DAYDREAM.DAT
  BBSNAME...... Windowskiihdytin
  SYSOP........ Hydra
  LOCALUPLDPATH Dh1:download/
  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
  LOGDISA...... Y
  QUICKLINEED.. N
  SYSOP_COL.... [36m
  USER_COL..... [35m
  SHELL_PW..... SODOM
  ALIENS....... DayDream:Aliens/
  ~


  BBSNAME...... 

        The actual name of your BBS.

  SYSOP........ 

        Your name/handle.

  LOCALUPLDPATH 

        Default path used for sending ascii files while in chat mode,
	for local uploading etc..

  CHATDLPATH... 

        Path of directory where the files downloaded during a chat will be
        placed.

  OP_DMODE..... 

        Display mode used to run "daydream n? lo" -connections.

  SYSTEM_PW.... 

        System password (- for none)

  NEWUSER_PW... 

        New user password (- for none)

  USERED_PW.... 

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

  FSCAN_BUFFER. 

        Size of buffer (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 (=autojoin conference)

  FREEFORUL.... 

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

 ASK_REASON... 

        Set wether or not user is asked for a reason when paging for a chat

  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. 

        Set wether or not  wildcards can  be used  during  login. Be careful
        with  this, as a plain * can  be used to list  all the  handles  AND
        real names that are used in the board.

  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)

  LOGDISA......

        Y/N switch. If this  is Y,  DayDream will  not write  logfile during
        a local operator login.

  QUICKLINEED..

	Y/N switch. If this is Y,  CR in empty  line will enter command mode
        in line editor.

  SYSOP_COL.... 

        Ansicode that will be used for the sysop's colour in the chat mode.

  USER_COL..... 

        Ansicode that will be used for the user's colour in the chat mode.

  SHELL_PW..... 

        Password required for Remote shell operation (- for none)

  ALIENS.......

	Path to place  files that are found  in Temporary directory when  it
	needs to be cleaned. There  can be files  eg. if system  has crashed 
	during uploading. If this is -, files in temporary directory will be
	deleted.


  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 of 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 in the conference.

  CONF_ULPATH...

        Path of 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  this conference  to be  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  a  new  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 the message base. Allowed values are 1-254.

  BASE_TYPE.....

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

  BASE_LOWEST...

        Number  of  the  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  the  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,
        they can't.

  BASE_ALLOWPRIV

        If  this is Y, users can write private message to this base.  If N,
        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 a$$!"

  BASE_DEFGRAB..

        Y/N  switch.  Use Y, if  you want  this messagebase  to be 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  new 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-door  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/dos  programs  support following
  parameters:

  %N - Node
  %R - Real name
  %H - Handle
  %S - Screenlength
  %D - Device
  %U - Unit
  %B - Bps rate of the current connection
  %L - Locked baud rate

  More will be added if you request something.


  !EXTERNALCOMMANDS.DAT
  DOOR_COMMAND.. WALL
  DOOR_TYPE..... 1
  DOOR_SECURITY. 5
  DOOR_EXECUTE.. 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 finish  writing 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 another
  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_OFFLINE... Y
  ARC_GETDATE... Y
  ARC_DELETECOR. Y
  +

  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 (- for none)

  ARC_EXTRACT...

        Extract command of the archiver (- for none). Unused.

  ARC_ADD.......

        Add command of the archiver (- for none). Unused.

  ARC_FAIL1.....

        Keyword if archive is corrupted (- for none). Case-sensitive. 

  ARC_FAIL2.....

        Keyword if archive is corrupted (- for none). Case-sensitive. 

  ARC_FAIL3.....

        Keyword if archive is corrupted (- for none). Case-sensitive. 

  ARC_FIDEXTRACT

        File_id.diz extract command (- for none)

  ARC_FIDADD....

        File_id.diz add command (- for none)

  ARC_OFFLINE... 

        Use offline checking to check the files. (Y/N)

  ARC_GETDATE... 

        Get  date  from  file_id.diz  and insert it to the filedescription.
        Note that using this isn't wise for textfiles.  (Y/N)

  ARC_DELETECOR. 

        Delete file if it is corrupt. (Y/N)


  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 = Non-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.

  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_FONT.... topaz.font
  MNODE_FSIZE... 8
  MNODE_STYPE... 1
  MNODE_SHANGHAI N
  MNODE_DEFPTOF. N
  MNODE_AUTOFRNT Y
  MNODE_AUTOOPEN Y
  MNODE_OWNDIR.. N
  MNODE_COMMAND. run daydream n1 <>NIL:
  MNODE_PRIORITY 2
  MNODE_TEMPDIR. DayDream:Temporary/Node1/
  +

  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 logon.

  MNODE_MNBAUD..

        Minimum baud to allow new users to logon.

  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 had better use public screen.

  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_OWNDIR..

	Get Display stuff  from  DayDream:Node[number]/Display/  instead of
	DayDream:Display/.

  MNODE_COMMAND.

        Command to run when node is inactive and clicked from server.

  MNODE_PRIORITY

        Priority for node.

  MNODE_TEMPDIR.

	Path to place uploads while they are being received to the system.

  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 as IO_SPEED1.

  IO_SPEED3.....

        Same as IO_SPEED1.

  IO_SPEED4.....

        Same as IO_SPEED1.

  IO_SPEED5.....

        Same as IO_SPEED1.

  IO_SPEED6.....

        Same as IO_SPEED1.

  IO_SPEED7.....

        Same as IO_SPEED1.

  IO_SPEED8.....

        Same as IO_SPEED1.

  IO_SPEED9.....

        Same as IO_SPEED1.

  IO_SPEED10....

        Same as 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
  SECF_OLM...... N

  SEC_LEVEL..... 

        Security level that 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 is  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 is  not allowed
        to join the conference.

  SECF_DOWNLOAD. 

        Everything  below  this defines access to the specified thingin 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.

  SECF_OLM......

	Send online line message to the user on the another node.

  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 (- for none)

  SCHE_NEWUSERPW 

	New user password at this hour (- for none)

  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.

  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 user friendly!

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

  DDTop                 - Generates a 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 or other PC-format  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.


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

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

  ARexx-interpreter  of  DayDream  BBS  is  an external program,  DreamRexx.
  I'm planning to make it a part of the DayDream BBS but for  the time being
  it remains as it is, 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 code 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.

  Note, ascii code 250 = Up, 251 = Down, 252 = Right and 253 = left!
  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 great 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 PCs 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 the filearea to place uploads in
    5 = Number of messagebases in conference
    6 = Number of the 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 it possible to run DayDream's main menu commands
  from arexx-doors (also doors)

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

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

  Example:
  RELOGIN
  --------------------------------------------------------------------
  JOINCONF <conftojoin>
  Joins conference using QUICK-mode, without displaying or loading any
  conference specific data. Before quitting door, join the conference
  user were when door was started.

  Example:
  JOINCONF 4
  --------------------------------------------------------------------
  CHANGEMSGBASE <basetojoin>
  Changes the current messagebase without any output.

  Example:
  CHANGEMSGBASE 5
  --------------------------------------------------------------------
  INTCOMMAND <Command>
  This command makes it possible to run DayDream's main menu commands
  from arexx-doors (only internal, no doors)

  Example:
  DDCommand "N S A"
  --------------------------------------------------------------------



  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  programming  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 that 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 the future versions of DayDream BBS.

  Documentation for DDDP-Commands and format of  data-structures is 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  currently supports only a few 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!!!

  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!!!


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

         <---------------------------------------------------------->
                           (8) How does it work
         <---------------------------------------------------------->

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

  This chapter  explains how this  thing works.  Description of the commands
  is  kinda brief, but you should be able to customize your system
  etc after reading this chapter carefully.

  8-2 - Login procedure
  ~~~~~~~~~~~~~~~~~~~~~

  1) When  ring  is  received  from modem, or local connection is initiated,
     first thing DayDream does is to display to user that he/she has entered
     to the BBS running DayDream BBS and tells node number and bps-rate.

     Serial  number  is  displayed,  if  the  system  is  running registered
     DayDream  BBS.   If  system is running unregistered version of DayDream
     it's  informed  to  the user and DD does some gambling :).  If user has
     bad luck he will be hung up on.

  2) Then   DayDream  displays  file  "DayDream:Display/DisplayModeList.TXT"
     which  contains  list  of  available  display modes.  Then user will be
     prompted  to  select  the displaymode (default is 1).  If user requests
     help, "DayDream:Display/DisplayModeHelp.TXT" is shown.

  3) If  SysOp  has  specified  system password, it will be asked now.  File
     "SystemPassword.TXT/GFX"  will  be  shown  from the specified directory
     (specified in Display.DAT)

  4) DD Displays file DayDream:Display/[mode]/Banner.TXT/GFX.

  5) Now  account  name will be asked.  User account name is required or NEW
     to  create  a  new  account,  CHAT  to  chat  with  SysOp  of LOGOFF to
     disconnect from the BBS.

    NEW - Create new account
    ~~~~~~~~~~~~~~~~~~~~~~~~
    1) DayDream  checks  if  system  requires  password  to  enter.   If so,
       DayDream:Display/[mode]/NewUserPassword.TXT/GFX is displayed  and the 
       password is asked from the user.

    2) File DayDream:Display/[mode]/NewUser.TXT/GFX is displayed and user is
       queried  if  he/she is absolutely  certain that he/she want to create
       account.

    3) Next  the  BBS will  ask things such  as real name etc from the user.
       Textfile will  be  shown from DayDream:Display/[mode]/  if it's exist
       before each question (see above for filenames).

    4) New user questionnaire will be asked now (described earlier on)

    5) When  account  is  created,  user  may  change  the  data  (equal  to
       A-command) he entered.

    6) DD jumps to the login procedure (step 5)

    CHAT
    ~~~~
    Just pages SysOp for chatting...

    LOGOFF
    ~~~~~~
    Disconnects the user from BBS.
    
  6) Password  of  the  user  is  asked  now.   User  has  3 attempts and if
     something    went    wrong,    user    will    be    kicked   out   and
     DayDream:Display/[mode]/PassWordFailure.TXT/GFX will be shown.

  7) Next DayDream  checks that user's account has been filled in correctly.
     Some  fields may be missing, if account has been converted from another
     BBS software.  Information will be queried until it's filled correctly.

  8) File DayDream:Display[mode]/Welcome.TXT/GFX is shown.

  9) Checks if user has any  uploads without  descriptions. If so, asks user
     to describe them.

  10) Checks if user has  unfinished upload.  If so, allows user to continue
      uploading it.

  11) Selected  conferences will be scanned  for  new files.  (If user wants
      that)

  12) Selected messagebases  will be scanned  for new mail addressed  to the
      user. (If user wants that)

  13) User  joins   the  conference   where  he/she  was  last  time  he/she
      disconnected.

  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
  OLM                   - Send line message to the another node
  RELOGIN               - Relogin
  SF                    - Select fileareas
  SM                    - Select Messagebases
  UD                    - Bidirectional Hydra-transfer
  USERLIST              - List of users
  MODE                  - Change displaymode
  WHO                   - Who's online
  CLS                   - Clear Screen

  NOTE!   Many  of  these  commands support commandline options, so user can
  skip  those  prompts  asking  for  extra parameters just by seperating the
  parameters with space.

  [ A ] - Alter userdata
  ~~~~~~~~~~~~~~~~~~~~~~

  User  can  change  his  personal information such as phone number, sent-by
  line,  password  etc..   Some  switches can be altered behind this command
  too.

  [ B ] - Bulletins
  ~~~~~~~~~~~~~~~~~

  Every  conference  can  contain  it's  own  bulletins.  Bulletins  will be
  searched from  [Conference]/Bulletins/  directory and the naming system is
  as follows:

  BulletinMenu.TXT/GFX     - Menu of available bulletins

  Bulletin.XXX.TXT/GFX     - Textfile containing the information.

  User can toggle between view and download mode.

  If  conference  doesn't  contain  any bulletins, they will be snooped from
  DayDream:Bulletins/.

  [ C ] - Comment
  ~~~~~~~~~~~~~~~

  User can leave comment to system administration using this command.

  [ D ] - Download
  ~~~~~~~~~~~~~~~~

  Performs file downloading using XPR-Protocols. 

  1) Shows   Download.TXT/GFX  from  Conferences  displaydirectory  or  from
     DayDream:Display/[Mode]/.

  2) Asks for files to download.

  3) Shows  list of  files to  download, their sizes and  estimated transfer
     time.

  4) Asks  if  user wants to start transfer, disconnect after transfer, edit
     list of the files to download or abort.

  5) Performs transfer using XPR-Library.

  [ E ] - Enter Message
  ~~~~~~~~~~~~~~~~~~~~~

  Allows user to write public/private/echo/netmail messages. 

  1) Asks  for  receiver.  If message is public or private, receiver will be
     looked  from  userbase.   If  user  presses just enter, message will be
     addressed  to  everyone.  If receiver is EALL, message will be shown to
     everyone at the mailscan.

  2) Asks  for  subject.   If  user  just  enters  return,  message  will be
     aborted.

  3) If message base allows both public and private messages, DD will ask if
     user wants to send it as a private message.

  4) User  enters  internal  line-editor.   It's very easy to use, but still
     quite  efficient.   When  user  types $ in  empty line, user will enter
     commandmode.  Supported commands:

      A)bort      - Aborts message entry.

      C)ommands   - Shows DayDream:Display/[mode]/LineEditorCommands.TXT/GFX

      D)elete     - Allows user to delete lines from the message.

      E)dit       - Allows user to edit line in message.

      I)nsert     - Allows user to insert line anywhere in the message.

      P)assword   - Equips message with password.

      Q)uote      - Quotes message (works only in reply mode)

      R)esume     - Back to the message-editor.

      S)ave       - Saves message.


  [ F ] - List files
  ~~~~~~~~~~~~~~~~~~

  Lists files available for downloading.

  1) If number of filedirectories is 0 in the conference, drops user back to
     the main prompt.

  2) Displays the file FileCatalogs.TXT/GFX from the displaydirectory of the
     conference or from DayDream:Display/[mode]/.

  3) Asks areas to scan or A)ll or U)pload.

  4) Shows  filelists  from  the  specified areas.  In more prompt there are
     following options available:

     Y)es          - Shows more files

     N)o           - Quits filelisting

     F)lag or T)ag - Adds file for download request.

     C)ontinuous   - Non-stop listing, no more more-prompts.

  [ G ] - Goodbye (Disconnect)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This command disconnects user from the system. 

  1) Asks if user is absolutely certain about leaving the BBS.

  2) Displays the file DayDream:Display/[Mode]/GoodBye.TXT/GFX.

  3) Drops the carrier.

  4) Checks if there are any uploads to be checked. If so, checks them.

  5) Executes  the  file  "DayDream:Batch/Logoff[node].BAT".   If  this is a
     shell-script, make sure it's equipped with "s"-flag.

  Note  that dropping carrier anywhere in the BBS will bring user to phase 3
  of this command.

  [ J ] - Join conference
  ~~~~~~~~~~~~~~~~~~~~~~~

  This  command  allows  user  to  change to the another conference from the
  current conference.

  1) Shows the file DayDream:Display/[mode]/Conferences.TXT/GFX.

  2) Prompts for the conference  user wishes to join.  User must have access
     to the conference he tries to join.

  3) Shows [Conference]/Display/[Mode]/JoinConference.TXT/GFX if exists.

  [ L ] - Local time
  ~~~~~~~~~~~~~~~~~~

  Just shows what time is it...

  [ M ] - Change message base
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This command allows user to change to another message base.

  1) If  the conference doesn't have more than 1 message bases, informs user
     that this command has no effect and quits.

  2) Shows file [Conf]/Display/[Mode]/MessageBases.TXT/GFX.

  3) Prompts for the number of message base user wants to enter.

  [ N ] - New file scan
  ~~~~~~~~~~~~~~~~~~~~~

  Scan conference for new files.  Uses the same routine for showing files as
  F-Command (File list).

  1) If number of filedirectories is 0 in the conference, drops user back to
     the main prompt.

  2) Asks date to start scanning from.

  3) Asks  for  filecatalogs to be  scanned for new  files:
      A=All, L=List or H=Help.
     If user requested for help, DayDream:Display/[mode]/CatalogHelp.TXT/GFX
     will be displayed.

  4) Scans new files from requested directories.

  NOTE!   To  scan  new files in current conference, just type N S A in main
  prompt.
 
  [ O ] - Operator Page
  ~~~~~~~~~~~~~~~~~~~~~

  Pages sysop for chatting.

  1) Checks  if  SysOp  is available.  If there's no chat message enabled in
     pulldownmenus  and  DayDream:Display/PermanentlyAway.TXT doesn't exist,
     step  2 will take place.  Otherwise chat message or PermanentlyAway.TXT
     will be displayed.

  2) If DayDream:Display/[Mode]/BeforeChat.TXT/GFX exist, DD displays it.

  3) If  SysOp  has enabled "Ask Reason"-flag in configuration, user will be
     prompted for reason.

  4) Pages  SysOp with annoying beep or screen flashes if DD cannot allocate
     audio  channels.   Page  can  be aborted using CTRL-C.  SysOp can enter
     chat mode by pressing CTRL-C.

  5) If page wasn't canceled or SysOp didn't enter chat mode, window will be
     opened  to  the  screen  informing  that user has paged and telling the
     reason for chat.

  [ R ] - Read Messages
  ~~~~~~~~~~~~~~~~~~~~~

  This  command  allows user to read messages.  It also allows user to reply
  to a certain message.

  Shows the read prompt, looks like this:

    Message Read Command: <Enter> Next, <C>ommands (5/6;-):
                                                    ^ ^ ^
                                                    | | +- Reading direction
                                                    | +--- Highest message
                                                    +----- Current message

    Available commands:

    A)gain         - Redisplay message

    D)elete        - Delete current message

    R)eply         - Reply to the current message. Same as  Enter  Message -
                     command, but the receiver of the message is the  author
                     of  the message to be replied and when entering message
                     editor, lines to be quoted will be asked.

    Q)uit          - Quit reading messages

    +              - Set reading direction forward (-->)
    
    -              - Set reading direction backward (<--)

    <Number>       - Read specified message (if available)

    <CR>           - Read next message 


  [ S ] - User statistics
  ~~~~~~~~~~~~~~~~~~~~~~~

  Shows  information  about  user,  eg.   his/her name, organization, upload
  bytes etc.

  [ T ] - Tag editor
  ~~~~~~~~~~~~~~~~~~

  Allows user to edit  his/her  download  batch.  User  can add/remove files
  to/from download  batch using this  command. This also  displays the total
  size of files in the batch and an estimated transfer time.

  [ U ] - Upload
  ~~~~~~~~~~~~~~

  Allows user to send files to the system using XPR-Protocol.

  1) If number of filedirectories is 0 in the conference, drops user back to
     the main prompt and informs that uploads are not allowed in the current
     conference.

  2) Displays  Upload.GFX/TXT from the display directory of the confernce or
     from  DayDream:Display/[Mode]/.   Useful  for  telling  users what they
     should and should not upload.

  3) Checks  free  space  on  hard  disk.  If there's not enough free space,
     drops user back to the main prompt.

  4) Asks  if user wants to Proceed, Disconnect after transfer or Abort.  If
     user  decides  to  disconnect  after  transfer, archives should contain
     FILE_ID.DIZ.   Otherwise  descriptions will be asked next time the user
     calls.

  5) Cleans up the DayDream:Temporary/Node[Node]/ directory. Uploads will be
     placed here.

  6) Remote mode (=normal user upload):
      Starts XPR-Transfer.

     Local mode (=sysop upload from local connection):
      Asks  SysOp  to  copy  files to  be  uploaded to directory called
      DayDream:Temporary/Node[Node]/.  Press return when all  the files
      are copied.

  7) Checks  if  there are any files in temporary directory to be processed,
     and if there's not, exits.

  8) Checks if filename is longer than 12 characters. If it is, asks user to
     rename it.

  9) Scans BBS  for duplicates. If  file already exists, it will be deleted.

  10) Tests archive integrity. If offline  checking is enabled, this will be
      done after the user has disconnected.

  11) Checks if archive contains file_id.diz.  If it  does, then DD displays
      it and  asks  if user  wants to save it,  edit it,  discard  it,  save
      upload  to  SysOp's  private  directory or  turn autosave  mode on. In
      autosave mode, file_id.diz will  be used  automatically from the  next
      archives.

      If  archive  doesn't contain  file_id.diz,  description will be asked.
      Description may contain up to 13 lines.

  12) Jump to step 7.

  [ X ] - Expert mode toggle
  ~~~~~~~~~~~~~~~~~~~~~~~~~~

  Turns  expert mode on/off.  In expertmode, menu will be shown only if user
  requests it with ?-command.

  [ Z ] - Zippy Search
  ~~~~~~~~~~~~~~~~~~~~

  Scans  file  catalogs  for  a match for a specified string.  When match is
  found, it will display the whole entry to the user.

  [ < / > ] - Previous / Next conference
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Joins  prev/next  conference user has access to.  Very fast method to move
  around the BBS.

  [ << / >> ] - Previous / Next message base
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Joins prev/next message base in the current conference.

  [ MS ] - Mail scan
  ~~~~~~~~~~~~~~~~~~

  Scans selected message bases for new mail addressed to the user.  When new
  message is found, it will be shown to the user.

  [ NS ] - New files scan
  ~~~~~~~~~~~~~~~~~~~~~~~

  Scans selected conferences for new files. Uses N-Command.

  [ VER ] - Version information
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Shows some version specific information, serial number and the name of the
  registered user.

  [ OLM ] - Online message
  ~~~~~~~~~~~~~~~~~~~~~~~~

  Send line of text to the user on the another node.  If user on the another
  node has disabled OLMs, then message won't be sent.

  [ RELOGIN ] - Relogin
  ~~~~~~~~~~~~~~~~~~~~~

  This command allows user to relogin to the system without calling again.

  [ SF ] - Select file conferences
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This  command allows user to select conferences he/she wants to be scanned
  in the new files scan during logon or when he/she enters the NS-command.

  [ SM ] - Select messagebases
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This command allows user to select messagebases he/she wants to be scanned
  in the new mail scan and to be grabbed for offline reading.

  [ UD ] - Bidirectional Hydratransfer
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This command performs file transfer using bidirectional Hydra-protocol.

  1) Shows HydraTransfer.TXT/GFX  from Conferences  displaydirectory or from
     DayDream:Display/[Mode]/.

  2) Asks for files to be downloaded.

  3) Shows  list  of files  to  be  downloaded, their  sizes  and  estimated
     transfer time.

  4) Asks  if user wants to  start transfer, disconnect after transfer, edit
     download request or abort.

  5) Performs the file transfer.

  6) Jumps  to  the  phase  7 of Upload-command to process possible incoming
     uploads.

  [ USERLIST ] - List of users
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Lists users that has access to the system. 

  [ MODE ] - Change displaymode
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Exactly the same as the first question after handshaking.

  [ WHO ] - Who's online
  ~~~~~~~~~~~~~~~~~~~~~~

  Displays  users that are using the system on other nodes and what they are
  doing.


  8-4 - SysOp commands
  ~~~~~~~~~~~~~~~~~~~~

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

  Enters the user editor. Ansimode is required to use this.

  1) Shows menu with the following commands:

    C)urrent user        - Edit current user
    S)earh from userbase - Searches  user   from   the  userbase,  wildcards
                           allowed.
    N)ew accounts scan   - Scans userbase for new accounts.
    Q)uit                - Quit usereditor.

  2) When user to edit is selected, DD will show this kind of a screen:

    --------------------------------------------------------- cut ----------

    A) Name         : Antti Häyrynen               L) Security    : 255
    B) Handle       : Hydra                        N) Time Left   : 289
    C) Organization : Windowskiihdytin             Q) Calls Made  : 73
    D) Zip & City   : 90810 Kiviniemi              R) Protocol    : Z
    E) Voice Phone  : --------                     S) Auto-Join   : 6
    F) PassWord     : NOTFORYOU!                   T) Free Bytes  : 0
    G) CPU Model    : 020                          U) PW Failures : 0
                                                   V) Scr Length  : 30
    H) Uploaded     :    7097404 | 32              W) Acc. Status : Active
       Downloaded   :          0 | 0
    
    X) Access Presets                              Z) Edit Security
    
    I) UL Signature : -Hydra
    
    Select field to be altered (SAve, ABort or VIew):

    --------------------------------------------------------- cut ----------
      
    Now  sysop may alter any of these fields.  With X-command he can select
    pre-defined accesslevels which is the fastest method to edit the access
    of the user.

    Using Z-command screen like this will be shown:

  --------------------------------------------------------- cut ------------

  1) Security Level  : 255            2) Daily Time      : 300
  3) Byte Ratio      : 0              4) File Ratio      : 0
  5) Conference Access (01-32): XXXXXXXX________________________
  6) Conference Access (33-64): ________________________________
    
  7) Download       : On    8) Upload         : On    9) Read Message   : On
  A) Enter Message  : On    B) Page SysOp     : On    C) Comment        : On
  D) Bulletins      : On    E) List Files     : On    F) New Files      : On
  G) Zippy Search   : On    H) Run Door       : On    I) Join Conference: On
  J) Change Msg Area: On    K) Change Info    : On    L) Relogin        : On
  M) Tag Editor     : On    N) User Stats     : On    O) View Time      : On
  P) Hydra Transfer : On    Q) Expert Mode    : On    R) Eall-Message   : On
  S) Fidomessage    : On    T) Public Message : On    U) Privateread    : On
  V) User Editor    : On    W) View Log       : On    X) SysOp DL       : On
  Y) Userlist       : On    Z) Delete Any Msg : On    !) Remote Shell   : On
  ") Who is online  : On    £) Move file      : On    $) Select FConfs  : On
  %) Select Bases   : On    &) Send Netmail   : On
    
  Select field to be altered (SAve, ABort or VIew):
    
  --------------------------------------------------------- cut ------------

     SysOp  is  able  to edit these fields, too.  It's not advicable to edit
     access  information  from  here, because when new securityflags appear,
     they  will be always set to OFF if user has his/her own custom security
     information.

  [ MOVE ] - Move file(s)
  ~~~~~~~~~~~~~~~~~~~~~~~

  This  command  allows  SysOp  to move files from conference/catalog to the
  another.  Wildcards are supported.  Should be easy to figure out.

  [ SD ] - SysOp download
  ~~~~~~~~~~~~~~~~~~~~~~~

  This  command  allows  SysOp to download any file from the harddisk.  File
  won't be marked to the download bytes/files.

  [ LOG ] - View logfile
  ~~~~~~~~~~~~~~~~~~~~~~

  This command allows SysOp to view logfile of the specified node.

  [ SHELL ] - Remote shell
  ~~~~~~~~~~~~~~~~~~~~~~~~

  This  command  allows  SysOp to enter to the remote shell.  If normal user
  gets  access  to this command, he  can seriously  damage to your harddisk.
  !! He could even format it !!

         <---------------------------------------------------------->
                              (9) Pulldown menus
         <---------------------------------------------------------->

  9-1 - DayDream BBS menu
  ~~~~~~~~~~~~~~~~~~~~~~~

  About (Ramiga+A)
  ~~~~~~~~~~~~~~~~
        Shows information about DayDream BBS.

  Quit (Ramiga+Q)
  ~~~~~~~~~~~~~~~
        Shutdown node. Requester with three gadgets will appear when you
        choose this. They are

        Exit    - Quit DayDream BBS
        ReCycle - Exit to Waiting for call mode
        Cancel  - Abort, do not exit.

  9-2 - Display
  ~~~~~~~~~~~~~

  Palette
  ~~~~~~~
        Behind this you will find some palette specific stuff.

  Screen Title (Ramiga+O)
  ~~~~~~~~~~~~~~~~~~~~~~~
        Turn screen title on/off.

  Screen Mode
  ~~~~~~~~~~~
	Allows you to change screen mode for the local screen.

  Save
  ~~~~
	Allows you to save display configuration.


  9-3 - Online
  ~~~~~~~~~~~~

  ASCII Send (Ramiga+S)
  ~~~~~~~~~~~~~~~~~~~~~
        Send ascii file to the user. If file contains  those 255-codes, they
        will be executed also.

  Send file(s) (Ramiga+U)
  ~~~~~~~~~~~~~~~~~~~~~~~
        Send binary  file(s) to the user  using xpr-libraries.  Uses reqtools 
        -file requester  to select files for transfer.  Files won't be marked
        to the user's download bytes/files.

  Receive file(s) (Ramiga+D)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~
        Receive  file(s) from  the  user using xpr-libraries.  Files will be
        placed in "chat download"-directory. Uploaded files won't be marked.

  Chat Message (Ramiga+E)
  ~~~~~~~~~~~~~~~~~~~~~~~
        Edit message to  send to the  user  when he pages. If this is empty,
        paging is allowed.

  Modem Command (Ramiga+M)
  ~~~~~~~~~~~~~~~~~~~~~~~~
        Send  an  Hayes AT  command  to  the  modem. Useful  if  you want to
        disable DTR-hangupping etc.

  Local UserEd (Ramiga+1)
  ~~~~~~~~~~~~~~~~~~~~~~~
        Edit user  locally. Output  won't be shown to the user. Exaclty same
        as UserEd mainmenu command.

  Lo&Re UserEd (Ramiga+2)
  ~~~~~~~~~~~~~~~~~~~~~~~
        Exactly same as UserEd mainmenu command. Output will be shown to the
        user, so be careful with this.

  Chat Request Off (Ramiga+W)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Closes chat request window if such exists.

  Kick User (Ramiga+H)
  ~~~~~~~~~~~~~~~~~~~~
        Hang up user. 

  Chat Mode (Ramiga+C)
  ~~~~~~~~~~~~~~~~~~~~
        Starts chatmode. To quit from chat, just press ESC.

  Hydra Transfer (Ramiga+T)
  ~~~~~~~~~~~~~~~~~~~~~~~~~
        Transfer files  using Hydra-protocol.  Received files will be placed
        in "chat download"-directory.

  Butt noise (Ramiga+B)
  ~~~~~~~~~~~~~~~~~~~~~
        Sends some random characters to the user. Emulates linenoise.

  Disable idle
  ~~~~~~~~~~~~
        Disable idle. User won't be kicked out because of inactivity.


         <---------------------------------------------------------->
                                 (10) FidoNet
         <---------------------------------------------------------->

  10-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, due to the popularity of the net.

        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.

  10-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 in 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
            doesn't have an AREA:-kludge. This kind of messages will be
            imported as Netmail. Netmail can be sent anywhere on 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



         <---------------------------------------------------------->
                      (11) Other things you should know
         <---------------------------------------------------------->

  11-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>.

