LAYOUTS FOR DATA FILES USED IN TRANSCENDENCE BBS
------------------------------------------------
  This file contains the layout information for the various types of data
files that the BBS uses.

  Date/Time Variable Types are read as 3 Bytes.
  Byte 1 = Hours or Month
  Byte 2 = Minutes or Day
  Byte 3 = Seconds or Year  Year is (1900 + 0 - 255)

  There is NO guarantee that each string will end in a NULL byte. There is
also NO String Length Byte at the beginning of a String. The Data was produced
by GFA Basic and is the way it is.
  
  I have attempted to provide this information as accurately as possible.
There may be unknown errors contained in this file. If you find any, please
report it to me. My information is in the Trans. BBS package.

                                                       Wayne Watson

BBS DATA FILE LAYOUT
---------------------

File:  \TRANS.DAT

  The TRANS.DAT file contains all the information for the BBS. This
information is generated by the System Editor.

Description                             Variable                 Length Offset
                                        Type                            Start
--------------------------------------  ----------------------   ------ -------
Drive List for each file type           10 Strings

Data                                    String                   32   1
Message Bases                           "    "                   32   33
File Areas                              "    "                   32   65
Text Files                              "    "                   32   97
Backups                                 "    "                   32   129
Modules                                 "    "                   32   161
Fmail/FMessages                         "    "                   32   193
Temporary Files                         "    "                   32   225
Reserved                                "    "                   32   257
Reserved                                "    "                   32   289


Pathname for each Folder                10 Strings

Data                                    String                   12   321
Message Bases                           "    "                   12   333
File Areas                              "    "                   12   345
Text Files                              "    "                   12   357     
Backups                                 "    "                   12   369
Modules                                 "    "                   12   381
Fmail/Fmessages                         "    "                   12   393
Temporary                               "    "                   12   405
Reserved                                "    "                   12   417
Reserved                                "    "                   12   429

Number of Msg Bases                     Byte                     1    441
Number of File Areas                    Byte                     1    442

Each Msg Base's information is 44 bytes long. Read in a loop for info for
the # of Msg Bases as defined above. Up to 256 Msg Bases may be defined.

Msg Base Name                           String                   30   443
Max. Number of Msgs per Base            Word                     2    473
Max. Number of Lines per Msg            Word                     2    475
Msg Base Status                         Bytes                    10   477

     Byte 1 - Minimum Age
     Byte 2 - On/Off Bits for the following

          Bit 0 - Reserved
          Bit 1 - Remote Message Ops
          Bit 2 - Allow Anonymous Msgs
          Bit 3 - Select FROM Field
          Bit 4 - Alt. Msg. Headers
          Bit 5 - Allow Any Name
          Bit 6 - Allow ESC Codes
          Bit 7 - Allow Variable Tags

     Bytes 3 - 10 are Reserved

Email Name                              String                   30   11707
Max. number of Emails                   Word                     2    11737
Max. number of lines per Email msg      Word                     2    11739

Each File Area's information is 52 bytes long. Read in a loop for info for
the # of File Areas as defined above. Up to 256 File Areas may be defined.            

File Area Name                          String                   30   11741
Folder Name                             String                   12   11771
File Area Status                        Bytes                    10   11783

     Byte 1 - Minimum Age
     Byte 2 - Number of Desc. lines Allowed
     Byte 3 - On/Off Bits for the following

          Bit 0 - Ask for File Type
          Bit 1 - Reserved
          Bit 2 - Alt. Headers
          Bit 3 - Ask Program Type
          Bit 4 - Ask Monitor Type
          Bit 5 - Ask CPU
          Bit 6 - Allow Anonymous Uploads
          Bit 7 - Allow Remote File Ops.

     Byte 4 - Reserved
     Byte 5 - Upload Level (for File Area)

     Bytes 6 - 10 - Reserved

BBS Name                                String                   30   25053
Sysop Password                          String                   30   25083

Reserved                                Bytes                    27   25113
Last Run Date                           Date/Time                3    25140

Last Caller                             String                   30   25143

Number of calls today                   Byte                     1    25173
Number of calls total                   Longint                  4    25174

Password Echo Character                 Char                     1    25178

Idle Baud Rate                          Longint                  4    25179
Max Baud Rate                           Longint                  4    25183
Low Baud Rate                           Longint                  4    25187

Default Country                         String                   30   25191

Modem Hangup Command                    String                   30   25221
Modem Offhook Command                   String                   30   25251

UL Level for Sysop Area                 Byte                     1    25281

Inactivity Timeout Period               Byte                     1    25282

Main BBS Directory                      String                   12   25283

BBS Settings Bits                       Bytes                    32   25295

Holds the on/off bits for the settings in the System Editor. Most are found
on Page 4 & 5 of the Settings. These control a lot of how the BBS reacts.

     Byte Bit Description
     ---- --- -----------
     1    7  Questor Mode
          6  Modem 2/Falcon
          5  Remote Sysops
          4  Screen Saver
          3  Allow Handles
          2  Not Used
          1  Show VT-52
          0  Not Used

    2     7  Snoop Mode
          6  Printer Echo
          5  Disklog
          4  Printer Log
          3  Fido
          2  Local Security
          1  Terminal at Logon
          0  Hard Drive

    3     7  New User Email
          6  Warn Low Space
          5  Printer Bells
          4  Post during Quickscan
          3  Ack. Local Calls
          2  New User Settings
          1  Color Toggle
          0  Ringback Local

    4     7  Ringback Long Distance
          6  Verify Local
          5  Verify Long Distance
          4  Upload to Sysop File Area
          3  Visual Alerts
          2  RTS/CTS
          1  Inform New User Logons
          0  See Passwords Locally

    5     7  Inform Bad User Logon
          6  Private BBS
          5  BBS answers Phone
          4  Not Used
          3  Not Used
          2  Not Used
          1  Not Used
          0  Not Used

    6 - 32  Not Used/Reserved

Max # of Macros per User                Byte                     1    25328
Max # of Characters per Macro           Byte                     1    25329

The Fido Node stuff was never used but, the space is still there and may be
used for something if you want to.

Node Number (fido)                      Long Integer             4    25330
Node Name (fido)                        String                   30   25334
Node City (fido)                        String                   30   25364

Local Dial Command                      String                   30   25394
Long Distance Dial Command              String                   30   25424
Area Codes Allowed for LD Dial          String                   30   25454

Page On Time                            Date/Time                3    25484
Page Off Time                           Date Time                3    25487

The colors have a range of 000-777. Each value is stored so that if it is 7,
then the color value would be 007. If it is 77, then the value would be 077,
etc. The numbers are always padded with 0 to make it a 3 number digit for
Red, Green and Blue values.

Background Color                        Word                     2    25490
Alternate 1                             Word                     2    25492
Alternate 2                             Word                     2    25494
Text Color                              Word                     2    25496

Reset Modem Time                        Byte                     1    25498

Warn Events Time                        Byte                     1    25499

Sysop UL Area                           Byte                     1    25500

System Password (Private BBS)           String                   30   25501

Reserved                                Bytes                    6    25531

Keep xx Calls                           Byte                     1    25537

New User Mask Number                    Byte                     1    25538
Guest User Mask Number                  Byte                     1    25539

Feedback goes to User Number            Word                     2    25540

Bootup Window Size                      Byte                     1    25542

Reserved                                Bytes                    100  25543

Lock Baud Rate at                       Word                     2    25643

Auto Inform Messages to User #          Word                     2    25645

Verified User Mask Number               Byte                     1    25647

Local Password (When Local Sec. On)     String                   30   25648

BBS Operation Hours                     Date/Time

     Sun On Time                        "      "                 3    25678
     Mon On time                        "      "                 3    25681
     Tue On time                        "      "                 3    25684
     Wed On Time                        "      "                 3    25687
     Thu On Time                        "      "                 3    25690
     Fri On Time                        "      "                 3    25693
     Sat On Time                        "      "                 3    25696

     Sun Off Time                       "      "                 3    25699
     Mon Off Time                       "      "                 3    25702
     Tue Off Time                       "      "                 3    25705
     Wed Off Time                       "      "                 3    25708
     Thu Off Time                       "      "                 3    25711
     Fri Off Time                       "      "                 3    24714
     Sat Off Time                       "      "                 3    25717

State Mask                              String                   20   25720
Phone Mask                              String                   15   25740

Online Game Time                        Longint                  4    25755

Reserved                                Bytes                    6241 25759

Baud Rate Times                         Date/Time

     300   Baud On Time                 "       "                3    32000
     300   Baud Off Time                "       "                3    32003
 
     1200  Baud On Time                 "       "                3    32006
     1200  Baud Off Time                "       "                3    32009

     2400  Baud On Time                 "       "                3    32012
     2400  Baud Off Time                "       "                3    32015

     4800  Baud On Time                 "       "                3    32018
     4800  Baud Off Time                "       "                3    32021

     9600  Baud On Time                 "       "                3    32024
     9600  Baud Off Time                "       "                3    32027

     19200 Baud On Time                 "       "                3    32030
     19200 Baud Off Time                "       "                3    32033

     LOCAL      On Time                 "       "                3    32036
     LOCAL      Off Time                "       "                3    32039

     MIDI       On Time                 "       "                3    32042
     MIDI       Off Time                "       "                3    32045


USERS DATA LAYOUT
-----------------

File: DATA\USERS.DAT

  The USERS.DAT file contains all the information for each user.

Name                                    String                   30   1
Handle                                  String                   30   31
Address                                 String                   30   61
City                                    String                   30   91
Reserved                                String                   2    121
Zip Code                                String                   10   123
Country                                 String                   30   133
Voice Phone Number                      String                   14   163
Used to store Survey Info **            String                   80   177
Sex  (M or F)                           Char                     1    257
Birthday                                Date/Time                3    258
Password                                String                   20   261
Computer Type                           String                   30   281
Calls Per Day                           Byte                     1    311
Time Per Call                           Word                     2    312
Time Per Day                            Word                     2    314
Time Online Today                       Word                     2    316
Calls Made Today                        Byte                     1    318
Command Table Lvl (CTL)                 Byte                     1    319
File Access Lvl (FAL)                   Byte                     1    320
Online Game Lvl (OGL)                   Byte                     1    321
Menu Processor Lvl (MPL)                Byte                     1    322
Access Lvl 5                            Byte                     1    323
Up/Download Ratio (x:1)                 Byte                     1    324
Msg/Download Ratio (x:1)                Byte                     1    325
Download points                         Long Integer             4    326
Privledges                              4 Long Integers          16   330

     Long Integer 1

     Bit  31 - Sysop Access
          30 - Read All Email
          29 - See Anonymous Msgs
          28 - Post Anonymous Msgs
          27 - Bypass Time Limits
          26 - Bypass Call Limits
          25 - Bypass Msg:Download ratio
          24 - Bypass Upload:Download ratio
          23 - Bypass File Points System
          22 - Auto Validate Uploads
          21 - Bypass Auto-Deletion
          20 - Edit FROM Field
          19 - Delete Own Msgs
          18 - Edit Own Msgs
          17 - Select Upload Level
          16 - Post Extended Msgs
          15 - Copy File to Editor
          14 - Edit User's Access
          13 - See Passwords Remotely
          12 - Send Anonymous Email
          11 - Read Anonymous Email
          10 - Validate Messages
           9 - Edit Topics
           8 - Bypass Upload/Download limits
           7 - Download Past Time Limit
           6 - 0 Reserved

     Long Integer 2 - 4 Reserved

Restrictions                            4 Long Integers          16   346

     Long Integer 1

     Bit  31 - Can't Page Sysop
          30 - Msgs Are Unvalidated
          29 - Can't Add to BBS List
          28 - Log Activity To Disk
          27 - Log Activity To Printer
          26 - Can't Send Email to Self
          25 - Can't Batch Upload
          24 - Can't Use Sysop DOS Commands
          23 - Can't Download From Sysop Mode
          22 - Can't Upload To Sysop Mode
          21 - Can't Execute From Sysop Mode
          20 - Can't Bypass Verify
          19 - 0  Reserved

     Long Integer 2 - 4 Not Used

Total Calls                             Long Integer             4    362
Total Illeagal Hangups                  Long Integer             4    366
Message Base Access                     256 Bytes                256  370

     Each Byte is Bitmapped for each
     of the 256 possible Msg Bases

     Bit  1 - Enter
          2 - Read
          3 - Post
          4 - Delete
          5 - Edit
          6 - Hurl
          7 - Sysop
          0 - Qscan

File Area Access                        256 Bytes                256  626

     Each Byte is Bitmapped for each
     of the 256 possible File Areas

     Bit  1 - Enter
          2 - Download
          3 - Upload
          4 - Edit
          5 - Delete
          6 - Sysop
          7 - Reserved
          0 - Qscan

First Call Date                         Date/Time                3    882
Last Call Date                          Date/Time                3    885
Last File Listing Date                  Date/Time                3    888

User Settings 1                         4 Long Integers          16   891

     Each Long Integer is Bitmapped  ON = TRUE  OFF = FALSE

     Bit  31 - Page Pause
          30 - Auto Email Scan
          29 - Auto Message Scan
          28 - Auto File Scan
          27 - Clear Screen
          26 - Hotkeys
          25 - Command Stack Printing
          24 - Continuous Scroll Msgs
          23 - File Area Prompts
               (Long = True, Short = False)
          22 - Msg Base Prompts
               (Long = True, Short = False)
          21 - Word Wrap in Editor
          20 - Line Numbers in Editor
          19 - Scan/Mark Msgs
          18 - Editor Summary (Help)
          17 - Micro Emacs Editor
          16 - New Files Scan
               (Full = True, Catalog = False)
          15 - Key Aborts Text
          14 - 0 Reserved

     Long Integer 2 - 4 Reserved

User Settings 2                         Variable                 16   907

     Byte 1 - Default Terminal Type
     Byte 2 - Default Window Size (Sysop)
     Byte 3 - Pause Time Between Msgs (0-255)
     Byte 4 - Default Protocol
              1 - Xmodem Checksum
              2 - Xmodem CRC
              3 - Xmodem 1K
              4 - Ymodem Batch
              5 - Fmdoem Batch
              6 - Zmodem Batch
              7 - Ymodem-G

     Bytes 5 - 16 Reserved

Downloads                               Long Integer             4    923
Uploads                                 Long Integer             4    927
Downloads Today                         Word                     2    931
Uploads Today                           Word                     2    933
Email Sent                              Long Integer             4    935
Messages Posted                         Long Integer             4    939
Messages Replied To                     Long Integer             4    943
Video Height                            Byte                     1    947
Video Width                             Byte                     1    948
High Message Count                      256 Words                512  949

     Contains the High Message Read
     in each of the possible 256
     Message Bases.

Downloads Per Call                      Word                     2    1461
Downloads Per Day                       Word                     2    1463
Uploads Per Call                        Word                     2    1465
Uploads Per Day                         Word                     2    1467
Status                                  Byte                     1    1469

     Bit  0 - 1 Reserved
          2 - Alert
          3 - No Delete
          4 - 7 Reserved

Max Emails Per Day                      Word                     2    1470
Max Msgs Per Day                        Word                     2    1472
Max Feedbacks Per Day                   Word                     2    1474
Max Pages Per Call                      Byte                     1    1476
Total Emails Sent                       Word                     2    1477
Total Messages Sent                     Word                     2    1479
Total Feedbacks Sent                    Word                     2    1481
Locked                                  Byte                     1    1483
Data Phone Number                       String                   14   1484
Online Games Played                     Word                     2    1498
Online Game:Msg Ratio (x:1)             Byte                     1    1500
Online Games Per Call                   Byte                     1    1501
Online Games Per Day                    Byte                     1    1502
Fmail Sends Per Day                     Byte                     1    1503
Fmail Recieves Per Day                  Byte                     1    1504
File Points Ratio (x:1)                 Byte                     1    1505
Online Games Played Today               Byte                     1    1506
Fmails Sent Today                       Byte                     1    1507
Fmails Recieved Today                   Byte                     1    1508
State                                   String                   20   1509


USERS INDEX FILE LAYOUT
-----------------------

File: \DATA\USERS.IDX

  Each record corresponds to the User number. Record 63 belongs to User #63.

Name                                    String                   30   1
Handle                                  String                   30   31


MASKS DATA FILE LAYOUT
----------------------

File: \DATA\MASKS.DAT

  The MASKS.DAT file contains records that allow quick setup of Users.

Daily Call Limit                        Byte                     1    1
Time Per Call                           Word                     2    2
Time Per Day                            Word                     2    4
Calls Made Today                        Byte                     1    6
Command Table Level (CTL)               Byte                     1    7
File Access level (FAL)                 Byte                     1    8
Online Game Level (OGL)                 Byte                     1    9
Menu Processor Level (MPL)              Byte                     1    10
Access Level 5                          Byte                     1    11
UL:DL Ratio                             Byte                     1    12
Msg:DL Ratio                            Byte                     1    13
Privledges                              4 Long Integers          16   14
Restrictions                            4 Long Integers          16   30
Message Base Access                     Bytes                    256  46
File Area Access                        Bytes                    256  302
User Settings 1                         4 Long Integers          16   558
User Settings 2                         Bytes                    16   574
Downloads Per Call                      Word                     2    590
Downloads Per Day                       Word                     2    592
Uploads Per Call                        Word                     2    594
Uploads Per Day                         Word                     2    596
Max. Emails Per Day                     Word                     2    598
Max. Msgs. Per Day                      Word                     2    600
Max. Feedbacks Per Day                  Word                     2    602
Max. Pages Per Call                     Word                     2    604
Online Game:DL Ratio                    Byte                     1    606
Online Games Per Call                   Byte                     1    607
Online Games Per Day                    Byte                     1    608
Max. Fmails Send                        Byte                     1    609
Max. Fmails Recieve                     Byte                     1    610
File Points Ratio                       Byte                     1    611
Reserved                                Bytes                    413  612

  Mask information is read just like the USERS.DAT records are read.


ALTERNATE DRIVE LAYOUT
----------------------

File: DATA\ALTDRV.DAT

  The ALTDRV.DAT file defines the alternate drive locations of each file 
area. This allows the sysop to place the files for each file area onto a 
different partition than what is defined in the DRIVES & PATHS section for 
the file areas. Each Alternate Drive must also be in the DRIVES field for 
the file areas. Each Alternate drive can be up to 8 characters (Char) for 
each of the 256 possible file areas. This results in a 2048 byte file. 
Each Alternate Drive definition may or may not be terminated with a null 
byte.


EVENT DATA LAYOUT
-----------------

File: DATA\EVENTS.DAT

  The EVENTS.DAT file stores the information for Events that are to be 
executed. The number of events is determined by getting the size of the 
EVENTS.DAT file and dividing it by 200. This should ALWAYS result in a 
whole number. If not, then the file could be corrupted.

Filename of Program to Execute          String                   40   1
Event Priority                          Byte                     1    41
                 1 = Kick off the user and execute event
                 2 = Execute event while user online
                 3 = Wait until user has logged off to exec. event.
                 4 = Execute event as part of logoff sequence.

Day                                     Byte                     1    42
     Bit 0 - 6 = Sunday - Saturday  True = On

on_sun                                  Date/Time                3    43
on_mon                                  Date/Time                3    46
on_tue                                  Date/Time                3    49
on_wed                                  Date/Time                3    52
on_thu                                  Date/Time                3    55
on_fri                                  Date/Time                3    58
on_sat                                  Date/Time                3    61

off_sun                                 Date/Time                3    64
off_mon                                 Date/Time                3    67
off_tue                                 Date/Time                3    70
off_wed                                 Date/Time                3    73
off_thu                                 Date/Time                3    76
off_fri                                 Date/Time                3    79
off_sat                                 Date/Time                3    82

Command Line Parameters                 String                   40   85
Modem Init. String                      String                   15   126
Reserved                                Bytes                    61   139


PROTOCOL DATA LAYOUT
--------------------

File: DATA\PROTOCOL.DAT

  The PROTOCOL.DAT file defines what keypress and file goes with each 
protocol. There is room to store 25 protocol types. Each name for the 
first 7 protocols are predefined.

1. Xmodem Checksum
2. Xmodem CRC
3. Xmodem 1K
4. Ymodem Batch
5. Fmodem Batch
6. Zmodem Batch
7. Ymodem-G

Filename                                String                   12   1
Key Sequence                            Char                     1    13
Type                                    Byte                     1    14

     1 = Trans. Transfer Program
     2 = XYZ.TTP (Zmodem)

Reserved                                Bytes                    86   15


FILE AREA DATA FILE LAYOUT
--------------------------

File: FILES\???\Fxxx.DAT

  The Fxxx.DAT File stores all the information about each file that has been
given a description. The size of each record can be variable from one Fxxx.DAT
to another. It's size is determined by the Number of Description Lines allowed
which is setup in the System Editor and stored in the TRANS.DAT file. Refer
to the File Section of the TRANS.DAT for information on this variable. The
size of each record is determined by taking that number, multiplying it by
75 and then adding 256. SO, if the Sysop set up File Area #1 to have 10 Line
descriptions, then each record in F1.DAT would be ((10 * 75) + 256) = 1006
bytes. The number of records can then be determined by dividing the File Size
by the above result.

Filename                                String                   12   1
Filesize                                Long Integer             4    13
Program Type                            String                   30   17
Uploader                                String                   30   47
Upload Time                             Date/Time                3    77
Upload Date                             Date/Time                3    80
Last Download Date                      Date/Time                3    83
Number of Downloads                     Word                     2    86
File Level (0-255)                      Byte                     1    88
File Status                             Byte                     1    89

     Bit  0 - Anonymous Upload
          1 - Reserved
          2 - Offline File
          3 - Free Download
          4 - 7 Reserved

CPU                                     String                   30   90
Reserved                                Byte                     1    120
Number of Lines in Description          Byte                     1    121
Monitor Type                            String                   20   122
File type                               String                   20   142
Reserved                                Bytes                    95   162


FILE AREA INDEX FILE LAYOUT
---------------------------

File: \FILES\???\Fxxx.IDX

  The Fxxx.IDX file is an Index File for each of the File Areas. All info
stored in the Index File can be obtained from the Fxxx.DAT file in case the
Index file is corrupted. The Filenumber is actually the record number in the
Fxxx.DAT file. Each record is 60 bytes long.

Filenumber                              Word                     2    1
Filename                                String                   12   3
Filesize                                Long Integer             4    15
Upload Date                             Date/Time                3    19
Brief Description                       String                   38   22

     The Brief Description can be
     obtained by taking the first 38
     characters from the first line
     of the description.

File Level (0-255)                      Byte                     1    59


MESSAGE BASE DATA FILE LAYOUT
---------------------------

File: \MESSAGES\Mxxx.DAT

  The Mxxx.DAT file contains the information for each message that has been
posted in the Message Bases. The size of each record can be variable from one
Mxxx.DAT file to another. It's size is determined by the Number of Lines allowed
which is setup in the System Editor and stored in the TRANS.DAT file. Refer
to the Msg Base Section of the TRANS.DAT for information on this variable. The
size of each record is determined by taking that number, multiplying it by
75 and then adding 200. SO, if the Sysop set up Msg. Base #1 to have 10 Line
messages, then each record in M1.DAT would be ((10 * 75) + 200) = 950 bytes.
Each record is broken into by the actual message (I didn't do it :-) ). 'ML'
in the Offset Start column means Msg Length.

Message Status (Bitmapped)              Byte                     1    1

     Bit  0 - If True, then record is in use.
              If Off and Bit 1 & 3 are on, then
              Msg was deleted. If 1 & 3 are off,
              then record was never used.

          1 - Private Message
          2 - Fmessage
          3 - Unvalidated
          4 - Anonymous FROM Msg
          5 - Extended Msg
          6 - Anonymous TO Msg
          7 - Reserved

To                                      String                   30   2
From                                    String                   30   32
Time Posted                             Date/Time                3    62
Date Posted                             Date/Time                3    65
Subject                                 String                   30   68
Message (75 * Lines Allowed)            Strings                  VAR  98
Number of Lines in Msg                  Byte                     1    98 + ML
Number of replies to this Msg           Byte                     1    99 + ML
Fmessage Filename                       String                   12   100 + ML
Msg number this is a reply to           Word                     2    112 + ML
Time Recieved (by To)                   Date/Time                3    114 + ML
Date Recieved (by To)                   Date/Time                3    117 + ML
Real To (If Anonymous To Status)        String                   30   120 + ML
Real From (If Anonymous From Status)    String                   30   150 + ML
Reserved                                Bytes                    21   180 + ML


Mxxx.SPD FILE LAYOUT
--------------------

File: \MESSAGES\Mxxx.SPD

  The Mxxx.SPD file is an Index file that contains the To and From User Names.
Each record is 60 bytes long. Each record number corresponds to the same
record number in the Mxxx.DAT file.

To                                      String                   30   1
From                                    String                   30   31


QUICKMSG.DAT FILE LAYOUT
------------------------

File: \MESSAGES\QUICKMSG.DAT

  The QUICKMSG.DAT file is shared by ALL of the Message Bases. It contains all
of the message numbers for each of the 256 possible Message Bases. Each
Message number is 2 bytes (Word) long. Since each Msg. Base can have up to
512 Msgs, this makes the file 256K long. ((2 * 512) * 256) = 256K.
  
  The High Message number is stored in a Round Robin fashion and how far into
the 512 words you go, depends on the Max. Number of Messages allowed for the
Msg Base in question. Ok, if the Sysop set up the Msg Base to allow 50 Msgs,
in Message Base 1, then you would go 50 words into the FIRST (Msg Base # 1)
512 Words and then start over at Word 1 of that block. You would do this until
you found the highest Message Number. You then compare this Number with the
User's High Message Read number stored in their record to determine if they
have new Messages in that Message Base or not.
  
  I know, it sounds confusing but, it really isn't once you understand how it
works. Just search for the Highest number within the 512 words fr that
particular Message Base. Message Base 10's 512 Word block would be 10241 bytes
into the file.


GETTING THE BBS TO PASS ON USER INFORMATION
-------------------------------------------

  You can have the BBS pass on the User's information to your program. You
must set up your program as an External BBS Module. Refer to the Docs on how
to do this. This will cause the BBS to pass on two numbers to your program
via the Command Line. Each number is seperated by a space. The Command Line
is terminated by a space and NULL character.

  The first number is the User's information buffer location. This buffer
will have the User's information in the same layout as the disk file. You will
get the information just like you would from the disk. You can then modify
the User's information. Once your program is finished, you will need to place
the information back into memory just like you got it out. Once control is
passed back to the BBS, it will read the User's information back out of this
location, update the User's information. The User editor is an example of a
program that uses and modifies this information.
  
  The second number you will recieve is the scratch buffer location. This
buffer contains some information that may be useful. Each piece of information
is terminated by a NULL character.

TRANS.DAT File path and name            String                   63   1
User Number                             String                   4    64
Emulation Number from TERMINAL.TXT      String                   2    68

     This will correspond to the MENUSx
     folder within the TEXT folder.
     x = Emulation Number.

Translation from Translation Table      String                   4    70

     This will correspond to the Line
     Number in the EMULATE.DAT file.

Reserved                                Bytes                    4    74

Port (1 = RS232, 2 = Local)             String                   2    78

Reserved                                Bytes                    66   80

User's Time Left                        String                   6    144


