                       THE MAGIC ORACLE v10.4 (DOS)
          "If you've got questions, The Magic Oracle's got answers."
     Written and (C)2008 by Sean Dennis -- another Cheepware production!
                          http://nsbbs.info
============================================================================== 
This program is a BBS door.  If you do not know what that is, you really
shouldn't try to use this program.

A quick table of contents:

   I. LICENSE AND DISCLAIMER
  II. WHAT IS THE MAGIC ORACLE?
 III. UPGRADING FROM A PREVIOUS VERSION OF TMO
  IV. SETTING UP TMO
   V. CUSTOMIZING TMO
  VI. COPYRIGHT NOTICES/CODE CREDITS
 VII. CREDIT AND THANKS
VIII. CONTACTING THE AUTHOR 

                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

I. LICENSE AND DISCLAIMER

  This program and its associated files are property of Sean Dennis.  You
  may use this program for free as long as you are NOT running a for-profit
  ("pay") BBS.  Reverse engineering of this program or its associated files
  in any form, analog or electronic, is prohibited.  This program works
  nicely on my system, but I can't guarentee that it will work on your
  system.  If something breaks, I'm not responsible.  There is no promise
  or guarentee of future development or support of this program.

  SPECIAL NOTE: I support this program as long as it's run under Windows,
  DOS or OS/2.  If you are attempting to use this under Linux (or any
  *NIX or *BSD) in any way, I DO NOT SUPPORT that usage of my doors!
  This means you are on your own and do not expect any help from me.
  
                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

II. WHAT IS THE MAGIC ORACLE?

  The Magic Oracle (TMO) is a BBS door that can be run locally or through a
  BBS that is capable of running 16-bit DOS doors.  TMO is like the Magic
  8-Ball(tm), but with a more sardonic twist.  Features of this door:

    - Supports DOOR.SYS and DORINFO1.DEF drop files.

    - DOS, DesqView, Windows, and OS/2 multitasker friendly.

    - ANSI.SYS not needed as the door has its own ANSI driver.

    - Reads all needed runtime information from the dropfile, meaning
      no configuration files!

    - Uses standard "pipe" or Telegard-style color codes for customization.


  Requirements to run TMO:

    - A BBS that is capable of running 16-bit DOS doors and can produce 
      either DOOR.SYS or DORINFO1.DEF dropfiles.

    - A FOSSIL driver.

    - ANSI.SYS is NOT required as the door has its own ANSI driver.

    - The user must have ANSI emulation enabled.

                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

III. UPGRADING FROM A PREVIOUS VERSION OF TMO

  If you're upgrading from a previous version, here's some important things
  you need to know:

    - Before you install this, back up your LANGUAGE.DAT and ANSWER.DAT files.

    - This version of TMO does not require any .CFG or .CTL file as it reads
      all its needed information from the dropfile.  You may safely delete all
      *.CFG and *.CTL files as well as MAKECTL.EXE.

    - This version uses pipe and Telegard-style color codes.  If your version
      uses any other color codes in the *.DAT files (such as TDK-style), you
      will need to convert the color codes to either pipe or Telegard-style
      color codes.

    - This upgrade is highly recommended since I do not support ANY of the
      previous versions of The Magic Oracle.

                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

IV. SETTING UP TMO

  Thankfully, TMO is very easy to setup.  Here's the steps to set up a new
  installation:

    - Create a directory for the door and unzip the archive in it.  If
      you have customized ANSWER.DAT and/or LANGUAGE.DAT files, you
      can copy them over the stock DAT files (make sure you change the
      color codes as mentioned in "Customizing TMO").

    - Run ORACLE /L to create INDEX.DAT (a small file that tells TMO
      how many "answers" are in ANSWERS.DAT).

    - Create a batch file to run the door from your BBS (or if you run
      Synchronet, you can run it directly from the door menu).

    - Add TMO into your BBS's door menu and you're set.

  If your BBS requires a batch file to run a door like mine does, here's
  how to do it.  I run a multinode Maximus/2 BBS and this is my setup
  to run TMO.  I created a batch file called RUNTMO.BAT:

    @echo off
    d:
    cd\doors\oracle
    oracle d:\max\node%1\door.sys
    cd\max\node%1

  If you're going to use DORINFO1.DEF, you can use this batch file:

    @echo off
    d:
    cd\doors\oracle
    oracle d:\max\node%1\dorinfo1.def
    cd\max\node%1

  You can pass the node number to the batch file from your BBS (please
  check your BBS documentation on how to do this).  If you're running
  a single-line BBS, just put a 1 instead of the %1 in the batch file.

  If you need an example on how to use the door, just type ORACLE at
  the command prompt and a small help screen will appear.

  A quick note about the status bar you see when the door is running on
  your BBS with a remote caller...the status bar looks like this:

    <door name and author information>
    <caller name>     <node #> <OS> <COM port> <emulation> <KP> <TL>

  It's easy to understand, but there's a few things you should know:

    - <OS> will always show as "DOS" under Windows.  If you're running
      the door under OS/2, it will say "OS/2".

    - <KP> is the number of seconds since the last keypress.

    - <TL> is the time left before the door kicks the user off.

  Command line parameters you can use:
    - /L - run the door in local mode
    - /? or /H - get the door's help screen
    - /+ - some miscellaneous information :)

  Some miscellaneous notes about the door:

    - Ezycom sysops need to use the *D5 ("extended" DOOR.SYS) option when
      using any of my Cheepware doors.  The other version available for use
      is a non-standard DOOR.SYS.  The standard DOOR.SYS has 52 lines.

    - I have been told that some sysops are having problems using DOOR.SYS.
      I personally haven't had any problems with using DOOR.SYS and recommend
      that you use it with my doors, but they have reported success with using
      DORINFO1.DEF.  DOOR.SYS passes more information to the door which is why
      I recommend its use.

    - It has been reported to me that some doors under Windows XP have a hard
      time figuring out whether they are using ANSI or not; you may need to
      force ANSI manually to the door if you have problems with this.

                         -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

V. CUSTOMIZING TMO

  There are three files you can customize in TMO:

    - ORACLE.ANS: This is a standard ANSI file, but I'd recommend making it
      no larger than 10 lines long as TMO uses absolute coordinates to draw
      its screen.

    - ANSWERS.DAT: This is a standard text file.  You can have up to 32,767
      "answers" in it, but each answer must be shorter than 79 characters or
      else unpredictable results will occur.  The line length does NOT
      include the length of the pipe or Telegard-style color codes
      as they are stripped out of the string as it's displayed.  After you
      subtract or add to ANSWERS.DAT, delete INDEX.DAT and run TMO locally
      to rebuild the index file (it's just faster for your users).

    - LANGUAGE.DAT: This is a standard text file also and directions
      about what each line is for is included at the bottom of LANGUAGE.DAT.
      Color codes in each string do not count as part of the string's overall
      length.

  TMO supports pipe or Telegard-style color codes in both ANSWER.DAT and
  LANGUAGE.DAT.  Here's how to use the color codes.

    - Pipe codes: The pipe codes are your "standard" color codes.  A chart
      to explain what the codes are:

      The color sequence indicator (|), followed by two characters
      (0..9) which form the color code.  This method changes only the
      foreground or the background at any given time.  To change both
      attributes, two color sequences need to be used.  In the "Fore" table,
      the first number is the "normal" color and the second number is the
      "bright" color.

                 Fore               Back              Blink
              +-------+            +----+            +-----+
      Black   | 00 08 |    Black   | 16 |    Black   |  24 |
              +-------+            +----+            +-----+
      Blue    | 01 09 |    Blue    | 17 |    Blue    |  25 |
              +-------+            +----+            +-----+
      Green   | 02 10 |    Green   | 18 |    Green   |  26 |
              +-------+            +----+            +-----+
      Cyan    | 03 11 |    Cyan    | 19 |    Cyan    |  27 |
              +-------+            +----+            +-----+
      Red     | 04 12 |    Red     | 20 |    Red     |  28 |
              +-------+            +----+            +-----+
      Magenta | 05 13 |    Magenta | 21 |    Magenta |  29 |
              +-------+            +----+            +-----+
      Brown   | 06 14 |    Brown   | 22 |    Brown   |  30 |
              +-------+            +----+            +-----+
      White   | 07 15 |    White   | 23 |    White   |  31 |
              +-------+            +----+            +-----+

      Yellow is "bright brown" (14).  Don't ask me why.

      The "|" characters in the boxes to not translate into color codes
      because they are not immediately followed by a number (but rather
      by other characters (i.e. "-" or " ").  This is important to note
      if you need to hse the "|" character anywhere.

      Examples:

      |11Hello!     (turns the foreground color to cyan)
      |17|15Hello!  (turns the background color to blue and the foreground
                     to yellow)


    - Telegard-style codes: Telegard uses its own proprietary (`) color
      codes.  The advantage to these codes is that you can change the
      foreground and background colors at the same time.  Here's how to
      use these codes:

      The color sequence indicator (`), followed by two characters from
      0 to 9, A to F, form the color code.  The color codes are listed
      below (low and high intensity side by side).

  REGULAR COLORS

           Black   Blue    Green   Cyan    Red     Magenta Brown   White
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Black   | 00 08 | 01 09 | 02 0A | 03 0B | 04 0C | 05 0D | 06 0E | 07 0F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Blue    | 10 18 | 11 19 | 12 1A | 13 1B | 14 1C | 15 1D | 16 1E | 17 1F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Green   | 20 28 | 21 29 | 22 2A | 23 2B | 24 2C | 25 2D | 26 2E | 27 2F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Cyan    | 30 38 | 31 39 | 32 3A | 33 3B | 34 3C | 35 3D | 36 3E | 37 3F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Red     | 40 48 | 41 49 | 42 4A | 43 4B | 44 4C | 45 4D | 46 4E | 47 4F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Magenta | 50 58 | 51 59 | 52 5A | 53 5B | 54 5C | 55 5D | 56 5E | 57 5F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Brown   | 60 68 | 61 69 | 62 6A | 63 6B | 64 6C | 65 6D | 66 6E | 67 6F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  White   | 70 78 | 71 79 | 72 7A | 73 7B | 74 7C | 75 7D | 76 7E | 77 7F |
          +-------+-------+-------+-------+-------+-------+-------+-------+

  BLINKING COLORS

           Black   Blue    Green   Cyan    Red     Magenta Brown   White
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Black    80 88 | 81 89 | 82 8A | 83 8B | 84 8C | 85 8D | 86 8E | 87 8F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Blue     90 98 | 91 99 | 92 9A | 93 9B | 94 9C | 95 9D | 96 9E | 97 9F |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Green    A0 A8 | A1 A9 | A2 AA | A3 AB | A4 AC | A5 AD | A6 AE | A7 AF |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Cyan     B0 B8 | B1 B9 | B2 BA | B3 BB | B4 BC | B5 BD | B6 BE | B7 BF |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Red      C0 C8 | C1 C9 | C2 CA | C3 CB | C4 CC | C5 CD | C6 CE | C7 CF |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Magenta  D0 D8 | D1 D9 | D2 DA | D3 DB | D4 DC | D5 DD | D6 DE | D7 DF |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  Brown    E0 E8 | E1 E9 | E2 EA | E3 EB | E4 EC | E5 ED | E6 EE | E7 EF |
          +-------+-------+-------+-------+-------+-------+-------+-------+
  White    F0 F8 | F1 F9 | F2 FA | F3 FB | F4 FC | F5 FD | F6 FE | F7 FF |
          +-------+-------+-------+-------+-------+-------+-------+-------+

      Examples:

      `0CImproper password!  (sets the foreground color to bright red)
      `FDPaging the sysop... (sets the foreground color to blinking magenta
                              and the background color to white)

  You can use these color codes interchangeably in the .DAT files, but for
  readability, I'd recommend to sticking to just one type of color code
  throughout all of the data files.

  Note you cannot use these codes in ORACLE.ANS; that file must be pure
  ANSI code in order to be displayed properly.
  
                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

VI. COPYRIGHT NOTICES/CODE CREDITS
 
  FKFOSSIL v1.02 (C)1993-1994 Tim Strike and Forbidden Knights Systems.
  TGCOLOR (C) Doug Reynolds.
  UNIX DATE (C)1991 by Brian Stark.

  Some code is derived from The Doorkit (TDK) written by Larry Athey,
  et al. and is used with permission.
 
  "Cheepware" and "The Magic Oracle" are (C) Sean Dennis.  All
  rights reserved.

  All other copyrighted/trademarked names used in this documentation
  are property of their respective owners and are used for
  identification purposes only.

  The color code documentation was taken from the Telegard BBS
  documentation written by Tim Strike and was partially edited by me
  for use with this door.
  
                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

VII. CREDITS AND THANKS

  The Magic Oracle was developed using Turbo Pascal 7 (RTE200 patched) and
  FKFOSSIL v1.02 under Windows XP.  The main executable was packed
  using aPack (http://www.ibsensoftware.com).  The door was initially tested
  under OS/2 Warp 4.52 on my own BBS running Maximus/2 v3.01.

  I'd like to thank the following people for their help:

    - My Cheepware beta team for all of their time, effort, feedback
      and opinions to make sure Cheepware is as good as it should be!

    - My wife, Maura, for putting up with me while I hack away at the
      computer for what seems like endless hours.

    - Trav'ler for testing my doors and providing much needed feedback
      and suggestions, as well as the Ezycom DOOR.SYS tip.

    - Steve Winn for reporting the WinXP ANSI problem.

    - All the sysops, users and fellow programmers who have helped me
      learn and understand over the years.  Thank you all for the
      invaluble help and experience.

                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

VIII. CONTACTING THE AUTHOR

  If you have any comments, suggestions or ideas, I'd love to hear from you.
  If you have a bug report, I need to hear from you.  Please make sure you
  have all the needed details handy for me so I can try to reproduce the
  problem (such as what you were doing when the problem occured, et al.).

  You can contact me via the following ways:

    - Netmail: 1:18/200@Fidonet

    - BBS: telnet://nsbbs.info

    - Email: sean@nsbbs.info

    - IM: ICQ (19965647) - AIM (eekahausmaus)

  You can find me in the CHWARE, DOORGAMES and BBS_CARNIVAL echoes 
  in Fidonet.

  If you'd like more information about Cheepware, you can get it via:

    - WWW: http://nsbbs.info

    - BBS: Just telnet to my BBS and look in my Cheepware file area.
           Telnet to nsbbs.info to get to my board.

    - Filebone: You can connect to the CH-WARE filebone in Fidonet.
      Ask your uplink on how to connect to it.  You'll get everything
      I release this way automatically.  All of the programs I hatch
      into CH-WARE are available as a WWW mirror at the following:
      
      http://www.filegate.net/ch-ware

                         -=-=-=-=-=-=-=-=-=-=-=-=-=-=-

 Thank you for using Cheepware.  Support your local BBS scene!

 -- Sean Dennis
    Cheepware Author

<EOF>
