official void documentation

                              by irrational

                                 01/16/98


哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
- VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD -
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

﨎BS                    蘒nternet Email

 Insurrection Alpha       irrational@most-wanted.com
 905-ASK-SUM1             (specify topic of email)
 Irrational               (and who you are)


------------------------------------------------------------------------------
                        Table Of Contents - By Section
------------------------------------------------------------------------------

        Contents                                      Section

        Legal notice and license .....................   i
        What is Void? ................................   ii
        What's Functioning, What's Not ...............   iii
        Preface ......................................   1
          Minimum Hardware Requirements ..............   1.1
          Software Requirements ......................   1.2
          Recommended Equipment and Software .........   1.3
        Acknowledgements .............................   2
        Source Code ..................................   3
        Installation .................................   4
          The Main Distribution Archive ..............   4.1
          Installation ...............................   4.2
        Message Command Interpreters .................   5
          Pipe Code System ...........................   5.1
            Screen control codes .....................   5.1.1
            Number Color Codes .......................   5.1.2
          Percent Code System ........................   5.2
            ..........................................   5.2.1


        Ascii Chart ..................................   Appendix A
        Ansi Escape Codes ............................   Appendix B
        Runtime Errors ...............................   Appendix C
          DOS Errors .................................   Appendix C.1
          I/O Errors .................................   Appendix C.2
          Critical Errors ............................   Appendix C.3
          Fatal Errors ...............................   Appendix C.4
        



------------------------------------------------------------------------------
[section i]               Legal notice and license
------------------------------------------------------------------------------

    The  VOiD  Bulletin  Board  Software  and  information  attached  hereto,
    hereafter  referred to as VOiD, is copyright 1997 by the VOiD Development
    Team [VDT].

    VOiD BBS software is  considered  freeware  and is free of charge for non
    commercial use. Unauthorized selling, distribution or publication without
    written permission from the author is strictly prohibited. Any alteration
    of included files except for configuration files is strictly prohibited.

    VOiD may NOT be modified in any form, for any reason, including  but  not
    limited to, decompiling, disassembling,  or reverse engineering  of  this
    program.

    If a user has been caught doing any modifying the original software,  you
    you will be persecuted upon discovery, and will suffer the   consequences
    of you're mistakes. This software has been bound  by the  copyright laws,
    and  any  copy  not  in  the  original  form  will be destroyed if at all
    possible.

    You may freely distribute and copy VOiD BBS software provided that you do
    not alter the original archive as produced by VDT, and that no  money  is
    charged for it.

    VOiD BBS software is 100% cripplefree. If you like the program and decide
    to run it, how about showing your gratitude for all the hard work we have
    put into this program!

    Neither VDT or any of the members can be held responsible for ANY damages
    caused by  VOiD BBS software or  any of our other  productions.   You are
    using them at your own risk.

    Lastly,  VOiD  is  ALPHA SOFTWARE!  This  means  that old versions may no
    longer  be  supported  at ANY GIVEN TIME.  We try to  include  conversion
    programs (if needed)  with  each new  version  of VOiD; but we don't save
    them  from old versions.  Beta software also means versions are  released
    with  bugs,  but hopefully the features outweigh them (and we attempt  to
    keep bugs to a minimum).

    All trademarks and copyrights are owned by their respective  owners, even
    if not acknowledged. No infringements are intended.


------------------------------------------------------------------------------
[section ii]                  What is Void?
------------------------------------------------------------------------------

       The Void Bulletin Board System package  was  programmed as a  hobby of
    mine (Irrational).  It is a well programmed package written and  compiled
    using the Turbo Pascal v7.0 compiler by Borland International.

       Since it had began, it has grown significantly.  Hopefully, when  this
    software is released in a standard  version,  people  will  create  third
    party software to support the Void BBS package.

       This package is very stable, and  can only be  configured by  external 
    utilities.  This makes it almost impossible for a hacker  to modify  your
    data files, unless you have a menu command to execute the  utility.  Even
    through this way, you will still need to enter your SysOp password to get
    access to the functions.

------------------------------------------------------------------------------
[section iii]              What's Functioning, What's Not
------------------------------------------------------------------------------

       The Void BBS package is in it's very preliminary stages, therefore the
    package may be lacking features.

    Here's a short list of what's functioning.

         * MCI Codes
         * Menu System
         * Ansi Parser
         * Oneliners
         * Configurable strings
         * PCBoard colour codes
         * Time Bank


    What's not functioning.

         * File system
         * Message system
         * Dropfiles
         * YOU suggest something!


    What will not be implemented.

         * IEMSI.  It can be useful, but can be dangerous
         * User number logons.  A BIG hassle if the datafile is packed.
         * Internal Telnet stuff.  Just use a free telnet server thing.


------------------------------------------------------------------------------
[section 1]                      Preface
------------------------------------------------------------------------------

       Void BBS is a well programmed BBS package fully written by Irrational.
    This  software  is  not only  unique, but you can also configure  this to
    your heart's content.

         1.1  Minimum Hardware Requirements

              - 80286 or above
              - Hard disk drive with at least 2 megabytes free
              - 512K of free memory
              - EGA or VGA colour monitor
              - Modem (300bps or greater)

         1.2  Software Requirements

              - MS-DOS v3.2+ or compatible
              - A FOSSIL driver such as X00 or BNU

         1.3  Recommended Equipment and Software

              - 80486 or above for multinode usage
              - A 14400bps modem or greater
              - 10 megabytes or more of free space
              - Archive utilities (minimum of PKZIP/PKUNZIP)
              - An external X/Y/Zmodem protocol driver such as CE-XYZ
              - A front-end mailer (such as FrontDoor or InterMail)
              - AcidDraw, an ANSI drawing program
              - EMS/XMS memory for overlays and memory image swapping
              - A dedicated phone line

------------------------------------------------------------------------------
[section 2]                  Acknowledgements
------------------------------------------------------------------------------

        Greets go out to all the people that made this BBS package possible:

                        Alan Caruana/IceSoft Software
                                - Provided an excellent ANSI parser.
    
                        Ralf Brown
                                - Provided modern swapping routines!

                        SWAG
                                - For some source snippets.

                        and everyone else I forgot to mention ... (sorry!)
                       

------------------------------------------------------------------------------
[section 3]                     Source Code
------------------------------------------------------------------------------

        The authors of this BBS package will not give the source code to any-
    one, under any circumstances.  We are not going to make the same  mistake
    as many BBS authors have.

        The records for this BBS package will be released, so people can wri-
    te utilities.

    Look for them under this filename format: VOIDDxxx.zip
    where xxx corresponds to the version number.

------------------------------------------------------------------------------
[section 4]                     Installation
------------------------------------------------------------------------------

        Included in  the package are several files.  This document will  walk
    you through the installation process.  All pathnames and directories sug-
    gested here are not required.  You can change them as you  wish, but  the
    examples  here will remain constant.  In the examples, it will be assumed
    that you will install Void on drive C.

    4.1  The Main Distribution Archive
     
         Unzip the main distribution archive into the directory you  wish  to
         run your BBS from  (this  is "main  BBS  directory"  you  decided on
         earlier.   ie: "C:\BBS").  Read  any  included files in the main BBS
         archive,  and   follow  any   last  minute  instructions.  The  main
         distribution  archive  often contains a few other files.

         VOIDINIT.EXE  -  Initialization program.  This program will  install
         Void which includes creating directories and data files.

         Other DOC/TXT/NFO files - Miscellaneous information about Void.

         Always look over the included files, but when you are creating a new
         BBS,  you  shouldn't  need to run any conversions (unless  any  last
         minute notes specifically address new systems).

    4.2  Installation

         Run the VOIDINIT program.  Follow  all the  on-screen  prompts   and
         directions.  You can select any directory names  you want, but we'll
         use the following for examples (all under C:\BBS):

         ...\ANSI  - Text and *.ANS files
         ...\DATA  - Void's main data file directory
         ...\MENU  - Void's configurable menu directory
         ...\SWAP  - Void's swap directory

         Your Void BBS should now be operational. You should keep the program
         VOIDINIT because  it can be  a file recreation  utility for  corrupt
         status files.


------------------------------------------------------------------------------
[section 5]           MCI (Message Command Interpreters)
------------------------------------------------------------------------------

        MCI codes are the perfect way to display a user's information from a
    text file or if you just want to change colours.  They can  be  used  in
    many  ways to spice up your board, or  just make the  perfect  touch  of
    customization.  MCI is a  powerful  system  that allows  you to  display
    system   and  user  information  in  prompts,  command  lines, and  text
    messages.

    5.1  Pipe Code System

         The pipe codes mainly deal with the display and colors.  These codes
         don't  generate  information and usually will perform some  type  of
         function.  Available throughout the BBS,  the codes are entered with
         a  pipe ("|")  followed by a 2 character code.

         5.1.1 Screen control codes

              |!S     Save cursor position.
              |!U     Restore cursor position.
              |CD     Move the cursor down one row.
              |CL     Move the cursor one column to the left.
              |CR     Move the cursor one column to the right.
              |CS     Clear the screen.
              |CU     Move the cursor up one row.
              |CZ     Clear to end of line (fast w/ansi code).
              |DH     Delays 1/2 (half) second
              |DE     Delays 3/4 (three-quarters) of a second.
              |DS     Delays one (full) second
              |DM     Delays for a millisecond
              |LF     Linefeed and CR

         5.1.2 Number Color Codes

              |00     Sets foreground color to black
              |01     Sets foreground color to blue
              |02     Sets foreground color to green
              |03     Sets foreground color to cyan
              |04     Sets foreground color to red
              |05     Sets foreground color to magenta
              |06     Sets foreground color to brown
              |07     Sets foreground color to light gray
              |08     Sets foreground color to dark gray
              |09     Sets foreground color to light blue
              |10     Sets foreground color to light green
              |11     Sets foreground color to light cyan
              |12     Sets foreground color to light red
              |13     Sets foreground color to light magenta
              |14     Sets foreground color to yellow
              |15     Sets foreground color to white
              |16     Sets background color to black
              |17     Sets background color to blue
              |18     Sets background color to green
              |19     Sets background color to cyan
              |20     Sets background color to red
              |21     Sets background color to magenta
              |22     Sets background color to brown
              |23     Sets background color to light gray

------------------------------------------------------------------------------
[appendix a]                  Ascii Chart
------------------------------------------------------------------------------

        People have asked for a quick ASCII Chart.  Here it is.  To type the
        codes in, press ALT, then enter the code (ASCII Number) below on the
        Numeric Keypad, then release ALT.  Characters 0 through 31 have been
        X'ed out to prevent the re-formating of  the  document  while  being
        printed.

000: X  027: X  054: 6  081: Q  108: l  135: �  162: �  189: �  216: �  243: �
001: X  028: X  055: 7  082: R  109: m  136: �  163: �  190: �  217: �  244: �
002: X  029: X  056: 8  083: S  110: n  137: �  164: �  191: �  218: �  245: �
003: X  030: X  057: 9  084: T  111: o  138: �  165: �  192: �  219: �  246: �
004: X  031: X  058: :  085: U  112: p  139: �  166: �  193: �  220: �  247: �
005: X  032:    059: ;  086: V  113: q  140: �  167: �  194: �  221: �  248: �
006: X  033: !  060: <  087: W  114: r  141: �  168: �  195: �  222: �  249: �
007: X  034: "  061: =  088: X  115: s  142: �  169: �  196: �  223: �  250: �
008: X  035: #  062: >  089: Y  116: t  143: �  170: �  197: �  224: �  251: �
009: X  036: $  063: ?  090: Z  117: u  144: �  171: �  198: �  225: �  252: �
010: X  037: %  064: @  091: [  118: v  145: �  172: �  199: �  226: �  253: �
011: X  038: &  065: A  092: \  119: w  146: �  173: �  200: �  227: �  254: �
012: X  039: '  066: B  093: ]  120: x  147: �  174: �  201: �  228: �  255:
013: X  040: (  067: C  094: ^  121: y  148: �  175: �  202: �  229: �
014: X  041: )  068: D  095: _  122: z  149: �  176: �  203: �  230: �
015: X  042: *  069: E  096: `  123: {  150: �  177: �  204: �  231: �
016: X  043: +  070: F  097: a  124: |  151: �  178: �  205: �  232: �
017: X  044: ,  071: G  098: b  125: }  152: �  179: �  206: �  233:
018: X  045: -  072: H  099: c  126: ~  153: �  180: �  207: �  234: �
019: X  046: .  073: I  100: d  127:   154: �  181: �  208: �  235: �
020: X  047: /  074: J  101: e  128: €  155: �  182: �  209: �  236: �
021: X  048: 0  075: K  102: f  129: �  156: �  183: �  210: �  237: �
022: X  049: 1  076: L  103: g  130: �  157: �  184: �  211: �  238: �
023: X  050: 2  077: M  104: h  131: �  158: �  185: �  212: �  239: �
024: X  051: 3  078: N  105: i  132: �  159: �  186: �  213: �  240: �
025: X  052: 4  079: O  106: j  133: �  160: �  187: �  214: �  241: �
026: X  053: 5  080: P  107: k  134: �  161: �  188: �  215: �  242: �


------------------------------------------------------------------------------
[appendix b]                 Ansi Escape Codes
------------------------------------------------------------------------------

    Using  ANSI.SYS  or another ANSI driver,  the screen display  colors  and
    cursor  movement  can  be  controlled  through the  use  of  ANSI  escape
    sequences.  The  format  of  an ANSI escape sequence  is  <esc>  (alt-27)
    followed  by  a left bracket.  The <esc>[  is then followed by one  or  a
    series of characters denoting the desired function.

    The  following is a list of most commonly used ANSI escape sequences used
    for cursor and screen manipulation, where <esc>  is the escape character.
    These commands are case sensitive.

         <esc>[y;xf     Both  of these commands will move the cursor to  x,y,
         <esc>[y;xH     where  x  is  the  column  number and y is  the  line

         <esc>[#A       This command will move the cursor up # lines.

         <esc>[#B       This command will move the cursor down # lines.

         <esc>[#C       This command will move the cursor right # columns.

         <esc>[#D       This command will move the cursor left # columns.

         <esc>[s        This command will save the current cursor position.

         <esc>[u        This  command will restore the cursor position  saved
                        using the <esc>[s command.

         <esc>[K        This command will clear to the end of the line  using
                        the current text attribute colors.

         <esc>[#m       This  command will control the screen text  attribute
         <esc>[#;#;#m   colors.  Each #  is a separate m command,  and many m
                        commands many be "stacked"  by separating them with a
                        semicolon. The following are available commands:

                        0    All attributes off (light grey on black)
                        1    Bold on (ie:  dark blue would become light blue,
                             brown  would become yellow,  black would  become
                             dark grey, etc.)
                        4    Underscore (monochrome display adapters only)
                        5    Blinking on
                        7    Reverse video on
                        8    Concealed on

                        Foreground colors
                        30   Black (w/bold: Dark Grey)
                        31   Red (w/bold: Light Red)
                        32   Green (w/bold: Light Green)
                        33   Brown (w/bold: Yellow)
                        34   Blue (w/bold: Light Blue)
                        35   Magenta (w/bold: Light Magenta)
                        36   Cyan (w/bold: Light Cyan)
                        37   Light Grey (w/bold: White)

                        Background colors
                        40   Black
                        41   Red
                        42   Green
                        43   Yellow
                        44   Blue
                        45   Magenta
                        46   Cyan
                        47   White

                        Parameters 30 through 47 meet the ISO 6429 standard.

         <esc>[2J       This command will clear the screen using the  current
                        text attribute colors and move the cursor to 1,1.

------------------------------------------------------------------------------
[appendix c]                 Run-Time Errors
------------------------------------------------------------------------------

         Certain errors during the execution can cause Void to exit  back  to
    DOS.  Whenever  a  run-time  error occurs,  it is usually a  bug in Void.
    Void is not supposed to  have  run-time  errors  occurring,  but  certain
    external factors can also cause Void to exit with an error.

    The  run-time errors are divided into four categories:  DOS errors  1-99,
    I/O errors 100-149, critical errors 150-199, and fatal errors 200- 255.

    The following is a listing of the most common run-time errors.  You might
    be able to figure out the problem and correct it. If you can't, don't get
    discouraged.  Just  contact  one of the authors,  and  they'll  be  happy
    to help you through any problem you might encounter.

    C.1  DOS Errors

         1    Insufficient function number

         2    File not found

              If this occurs at startup,  you should be able to determine the
              missing   file  by  noting  the  last  file  attempted  to   be
              initialized. You can try and recreate the missing file with the
              INIT program.

         3    Path not found

         4    Too many open files

              This  error  may  indicate  that your FILES=xx  entry  in  your
              CONFIG.SYS is either non-existent or the value is too low.  Add
              or modify the line to read "FILES=30".

         5    File access denied

              This  error most often indicates a file sharing error or a  bug
              in Void.

         6    Invalid file handle

              This error is reported if an invalid file handle is passed to a
              DOS system call. It should never occur,  but if it does,  it is
              an  indication  that  the  file variable  is  somehow  trashed,
              perhaps from you editing a file that Void has opened.

         12   Invalid file access code

         15   Invalid drive number

         16   Cannot remove current directory

         17   Cannot rename across drives

         18   No more files

    C.2  I/O Errors

         100  Disk read error

              This  error  is reported if Void attempts to read past  the end
              of a file. It is a common error  in  development  versions  and
              usually means a bug in Void.

         101  Disk write error

              This  error  is  reported if the disk becomes full  or  another
              unknown error occurs.

         102  File not assigned.

         103  File not open

         104  File not open for input

         105  File not open for output

         106  Invalid numeric format

    C.3  Critical Errors

         These errors usually indicate a hardware problem.  Double-check your
         system for faults especially your drives.

         150  Disk is write-protected

              This  error has been known to appear sporadically when  running
              under Windows 95.  A cause is yet unknown.

         151  Unknown unit

         152  Drive not ready

         154  CRC error in data

         156  Disk seek error

         157  Unknown media type

         158  Sector not found

         159  Printer out of paper

         160  Device write fault

         161  Device read fault

         162  Hardware failure

    C.4  Fatal Errors

         These errors always immediately terminate the program.

         200  Division by zero

         201  Range check error

         202  Stack overflow error

         203  Heap overflow error

         204  Invalid pointer operation

         205  Floating point overflow

         206  Floating point underflow

         207  Invalid floating point operation

         208  Overlay manager not installed

         209  Overlay file read error

              This can occur if you use a hard disk organizer or defragmenter
              such as Norton Utilities' Speed Disk or PC Tools' Compress as a
              DOS  Shell event,  because these will probably move the overlay
              file  somewhere else on the disk.  The solution is to run these
              events as External events.

         210  Object not initialized

         211  Call to abstract method

         212  Stream registration error

         213  Collection index out of range

         214  Collection overflow error

         215  Arithmetic overflow error

         216  General protection fault


------------------------------------------------------------------------------
[appendix d]               Sample Modem Configurations
------------------------------------------------------------------------------

    This section is very short because of the lack of information about other
    modems.  If  you  wish  to make a contribution to  this  section,  please
    contact one of the authors.

    Zoom 28.8k v.Fast
         Init string   : AT&F&C1&D2M0E0W2V1S0=0
         Answer string : ATA
         Hangup string : ATH0
         Offhook string: ATM0H1

    USRobotics 14.4k Sportster
         Init string   : AT&F1 M0 S11=38 S0=0
         Answer string : ATA
         Hangup string : ATH0
         Offhook string: ATM0H1

    Generic 14400 baud
         Init string   : AT&FE0M0Q0V1W2X4&C1&D2S0=0S95=1
         Answer string : ATA
         Hangup string : ATH0
         Offhook string: ATM0H1

    Generic 2400 baud
         Init string   : ATV1S0=0&C1&D2M0E0
         Answer string : ATA
         Hangup string : ATH0
         Offhook string: ATM0H1

哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
- VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD - VOiD -
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
                       VOiD.NFO (c) copyright VDT 1998