home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / mag7demo.zip / WHATSNEW.ZIP / WHATSNEW.7 < prev   
Text File  |  1993-09-01  |  69KB  |  1,334 lines

  1.                   September, 1993 - Magnum BBS version 7.00C
  2.          List of new features, bug fixes & enhancements since v6.00C
  3.  
  4. ***************
  5. *             *
  6. * NEW PROGRAM *  ======>  MAGINST.EXE
  7. *             *           -----------
  8. ***************
  9.  
  10. This new program is an "intelligent install" program.  It will install
  11. Magnum version 7.00C from scratch, or over any existng version of Magnum
  12. (including betas, commercial releases, and demo versions) from version
  13. 4.00C and up.  If you're running a version of Magnum less than version
  14. 4.00C, contact Gilmore Systems.
  15.  
  16.  
  17.  
  18. ***************
  19. *             *
  20. * NEW PROGRAM *  ======>  MAGFILE.EXE
  21. *             *           -----------
  22. ***************
  23.  
  24. WARNING: This new program only works once you've installed  or upgraded to
  25.          Magnum version 7.00C, do not run this program until you've
  26.          completed installation!
  27.  
  28. By popular demand, many Sysops have asked for a way to get an entire
  29. directory into their FILE database(s) without having to manually go through
  30. the motions of 'uploading' the individual files.  We bring you MAGFILE.EXE,
  31. which can do just that!  It can add entire directories to any particular
  32. FileBase and any file area of any FileBase.  One major use for this program
  33. is for when you need to deal with CD-ROM disks.  To add an entire directory
  34. of files you must first create an ASCII text file containing the list of
  35. the files in the directory you wish to add.  This can easily be accomplished
  36. on the OS/2 command line with (assume G:\SOMEDIR\DIR1):
  37.  
  38.           DIR  G:\SOMEDIR\DIR1  >MAGDIR.LST
  39.  
  40. the output of the DIR command has now been written to the MAGDIR.LST file.
  41. Next, edit the file, stripping out any directory names or any other text
  42. lines which don't contain valid filenames and sizes.  Next, you will need
  43. to place 7 keywords and parameters at the top of the file (each on a line
  44. of its own).  By way of example:
  45.  
  46.     #INIT: D:\MAGNUM\PGM_DIR\MBBSINIT.1
  47.     #BASE: 5
  48.     #AREA: C
  49.     #NAME: 41-52
  50.     #SIZE: 18-26
  51.     #DESC: ** From CD-ROM \SOURCE\C\SAMPLES
  52.     #CDROM: F
  53. where
  54.     #INIT: Defines the filespec to one of your MBBSINIT.x files.
  55.     #BASE: Defines which FileBase to add these files to. If you do
  56.            not have the Extended FileBase module, this parm should be 0.
  57.     #AREA: Defines which FileArea (of FileBase) to assign these files to.
  58.     #NAME: Defines column positions that filenames are in (FAT FORMAT ONLY).
  59.     #SIZE: Defines column positions in which the file sizes appear.
  60.     #DESC: This will be the description line added to each of the files.
  61.     #CDROM: Optional!  Defines the drive letter of CD-ROM drive
  62.             Do NOT supply a parameter if not using a CD-ROM drive!!
  63.  
  64. Lines starting with the ! or ; characters are ignored (comment lines).
  65.  
  66. Optionally, the #DESC: parm can also define column positions in case you
  67. wish to manually provide a description for each file.
  68.  
  69. Save the changes, then run MAGFILE.EXE as follows:
  70.  
  71.     MAGFILE.EXE  MAGDIR.LST
  72.  
  73. When the program completes successfully, your files have been added to the
  74. FileBase specified in the #BASE parameter.
  75.  
  76. If you execute MAGFILE.EXE without any parameter (ie: just MAGFILE.EXE and
  77. no filename), then the above instructions will appear on your screen.
  78.  
  79. And don't forget to change your STARTUP.x file(s) for FileBase 0, or run
  80. your FILEBASE.EXE program (for extended FileBases) to accurately indicate
  81. the proper directory paths for the BASE and AREA parms you supplied above.
  82.  
  83. Take note that although the 7 keywords and their parameters need to occupy
  84. the first 7 text lines, any of these keywords can re-appear anyplace else
  85. in the file with different parameters.  This will allow you to change the
  86. file area or the FileBase or desc fields midstream.  The changes take place
  87. from that point on, or until another change is encountered.  Also note that
  88. if your FileBase already exists (ie: FILE.DAT for example), the new records
  89. will be appended (added) to the database, otherwise the program will create
  90. the database.
  91.  
  92. NOTE: This program does NOT check your existing FileBase for duplicate
  93.       names (ie: names already in the database which may also appear within
  94.       your directory list).  Remember, duplicate filenames are fine as long
  95.       as they're in different FileBases, but duplicate filenames in the
  96.       same FileBase won't work as you might like them to.  Most file
  97.       operations in Magnum work on the first matching file!  To get to
  98.       a file with a duplicate name, use the #nnnn method (instead of the
  99.       filename) when answering a filename prompt while online.
  100.  
  101. This is a great little program to have, and is now be included in the
  102. Magnum BBS package.
  103.  
  104. ===========================================================================
  105.  
  106. ***************
  107. *             *
  108. * NEW PROGRAM *  ======>  MAGDRIVE.EXE
  109. *             *           ------------
  110. ***************
  111.  
  112. You wanted better CD-ROM support and now it's here!  This program is a
  113. simple program to run.  Simply run it with the drive letter of your CD-ROM
  114. drive as the parameter to this program.  For example, if the drive letter
  115. of (one of your) CD-ROM drive is F, then run the program as:
  116.  
  117.       MAGDRIVE  F
  118.  
  119. The output of this program is placed in a file d.DIR (where 'd' is the drive
  120. letter you specified)... in the above example, the output file would be F.DIR
  121.  
  122. The resultant d.DIR file is an ASCII text file of all of the files in each and
  123. every subdirectory of that drive!  Edit the d.DIR file with your favorite text
  124. editor according to the rules of the MAGFILE.EXE program described above, but
  125. DO NOT remove any of the statements starting with PATH[ in column 1.
  126. The d.DIR has already filled in the #CDROM, #NAME, and #SIZE fields for you.
  127. When you've finished editing the file, run it as the parameter to the
  128. MAGFILE.EXE program.  The #BASE and #AREA parameters will determine which
  129. area of which FileBase the CD-ROM files will be stored in.  The files will
  130. always remain on your CD-ROM drive.  Unlike other BBS software, Magnum has
  131. no need for copying any files from your CD-ROM drive to someplace else in
  132. order to [A]ccess, [D]ownload, or perform any other function.  Although there
  133. may be litterally thousands of subdirectories on a particular CD-ROM disk,
  134. as far as the online user logged onto Magnum is concerned, they're all in
  135. File Area x of FileBase y (where x was the parm to your AREA keyword in the
  136. d.DIR file, and y was the parm to your BASE keyword in d.DIR).  Once you've
  137. run the MAGFILE.EXE program against the d.DIR file, you may delete the d.DIR
  138. file, all information is now in Magnum's File Database(s).
  139.  
  140. Note that there may be many duplicate filenames on any given CD-ROM disk.
  141. A popular name which may occur in many subdirectories is READ.ME.  If the
  142. online user specifies a filename (to a filename prompt), Magnum will always
  143. use the first matching entry.  To get to the particular file you have in
  144. mind, always use the #nnnnn method of file entry.
  145.  
  146. ===========================================================================
  147.  
  148. MBBS.EXE:
  149. --------
  150.  
  151. - Changed such that after an RMAIL command is issued (either via an ACE
  152.   command or at the "command => " prompt), the node used for the AMMO
  153.   modem link will automatically be re-activated.
  154.  
  155. - A "modem" (ie: certain WAN networks) can now have incoming calls
  156.   established by only the presence of DCD (data carrier detect).
  157.   To accomplish this, simply change the ANSWERTYPE parm in your STARTUP.x
  158.   file(s) to D (to indicate DCD) and recompile with MAKEMBBS.EXE (make
  159.   sure the node is shut down when recompiling).
  160.  
  161. - The display on the MBBS.EXE console for file transfers now includes
  162.   the start time of the xfer.
  163.  
  164. - Added a new capability to the MBBS.ACE file: the ability to queue a
  165.   command based on the date of the month!  For example, if you wanted
  166.   to queue (store) an ACE command to be executed on the 15th day of
  167.   each month (at 02:01), your ACE command might look like this:
  168.  
  169.        -15,02:01,"maintain.cmd",wait
  170.  
  171.   or suppose a command is to be executed on the 1st of each month (at
  172.   01:00):
  173.  
  174.        -1,01:00,2 shutdown 02:00
  175.  
  176.   the secret is the - character (the minus sign) in column 1 of the
  177.   queued command.  Keep in mind that February has 28 (or 29) days,
  178.   therefore, if you want a command to execute on the 30th of each
  179.   month, it will never execute in February!  Likewise, if you specify
  180.   for a command to be executed on the 31st of each month, it will
  181.   never execute during months containing less than 31 days!
  182.  
  183. - Added another new capability to the MBBS.ACE file: the ability to
  184.   queue a command based on a specific date!  For example, if you wanted
  185.   to queue (store) an ACE command to be executed on July 4, 1994 at
  186.   02:01, your ACE command might look like this:
  187.  
  188.        07/04/1994,02:01,"maintain.cmd",wait
  189.    or
  190.        04.07.1994,02:01,2 shutdown 02:00
  191.  
  192.   Note that the date can be either in European or U.S. date format.
  193.   Leading 0's for month or day are not necessary (ie: 7/4/1994).
  194.   The year (if provided) can be 1 to 4 digits. The year is optional,
  195.   and if omitted (ie: 7/4 or 4.7 or 07/04 or 04.07), then the command
  196.   will execute on July 4th EVERY year.  If a 1-digit year is provided,
  197.   the current decade will be used (ie: if the current year is 1993 and
  198.   you provide 5 for the year, then 1995 will be used); if a 2-digit
  199.   year is provided, the current century will be used; if a 3-digit year
  200.   is provided, the current millenium will be used.  A 4-digit year will
  201.   be accepted as is.
  202.  
  203. - Any command that you can type at the MBBS.EXE control program's
  204.   "Command => " prompt, can now be optionally entered via a program
  205.   you may be developing.  Simply create a file called TMP.ACE in the
  206.   PROGRAM DIRectory and write your commands (one per line, each line
  207.   terminated by a CR/LF - in other words, it's an ASCII text file).
  208.   No queued commands are allowed (as opposed to the MBBS.ACE file).
  209.   Commands are to be written exactly the way you'd type them at the
  210.   "Command => " prompt.  After all the commands in the file are
  211.   executed, Magnum will delete the file.  Any text lines not starting
  212.   with either a digit (node#) or the * character will be discarded.
  213.   Magnum will check for the presence of TMP.ACE only once per minute.
  214.  
  215. - Powerful new capability added: the ability to program your own actions
  216.   based on modem result codes!  We recommend the VERBOSE modem setting
  217.   (AT V1) for this.  The way it works is as follows.  When your modem
  218.   answers an incoming call, the two modems begin a "handshake" procedure.
  219.   During this handshake, your modem may return many different information
  220.   strings to Magnum, such as CONNECT, CARRIER, FAX, ARQ, MNP, LAP, etc.
  221.   Beginning with this release, you can act on any one of these through
  222.   an ASCII text file which you create by the name of SPECIAL.x (where x
  223.   is the node#).  These SPECIAL.x files are optional, and you can have
  224.   one for each node, any node, or none.  These SPECIAL.x files are to
  225.   be located in your PROGRAM DIRectory.  By way of example, suppose you
  226.   have a fax-modem on node1 which returns the word FAX if it determined
  227.   that the remote caller is a fax machine.  Your SPECIAL.1 file might
  228.   look like this:
  229.  
  230.        FAX {
  231.            ex c:\fax\faxpgm.exe %com%
  232.            }
  233.  
  234.        ARQ {
  235.            ec
  236.            }
  237.  
  238.   When you start your BBS (MBBS.EXE), it reads the SPECIAL.x files.
  239.   When the modem returns word results (such as FAX), Magnum compares
  240.   it against the keywords in your SPECIAL.x file for that node.  Your
  241.   keywords must end with the { character.  When it finds a match, it
  242.   performs the statements it finds for that keyword until the } character
  243.   is reached.  In the above example, when it matches on FAX, the one
  244.   statement between the curly brackets tells Magnum to EXecute the program
  245.   c:\fax\faxpgm.exe and pass it the handle of the comport.  As you may
  246.   have guessed, one of the allowable program statements is EX, which means
  247.   EXecute.  In passing command-line arguments to the program to be
  248.   executed, you may specify any parameters you wish, however, the following
  249.   parameters have special meaning:
  250.  
  251.        %com%    - Magnum will replace this with the comport handle.
  252.        %baud%   - Magnum will replace this with the baudrate (DCE).
  253.        %device% - Magnum will replace this with the device name.
  254.  
  255.   There are other allowable program statements.  In the above example, the
  256.   keyword ARQ has as its statement EC - this program statement tells
  257.   Magnum to treat the connection as an error-correcting connection.  For
  258.   those of you using Verbose modem codes, this would be the means of
  259.   determining and setting the connection to error-correction = TRUE.  Other
  260.   error-correction word results are MNP and LAP.
  261.  
  262.   You are not limited to one program statement between the { and } braces.
  263.   Other allowable program statements are:
  264.  
  265.        PAUSE nnnnn     -   Pauses nnnnn miliseconds (ie: 3000 = 3 seconds).
  266.        SEND string     -   Sends "string" to the modem.  "string" is meant
  267.                            to be a message to the user.  Modem commands
  268.                            (ie: AT) will not work once carrier is raised.
  269.        EX pgm [parms]  -   We covered this above.
  270.        EC              -   No parms required (or allowed).  Covered above.
  271.        x cmd | * cmd   -   Any commands that you can type at the MBBS.EXE
  272.                            "Command => " prompt may also be supplied as
  273.                            a program statement here.
  274.  
  275. NOTE:-At this time, only 5 modem codes (and thus 5 pairs of { and } program
  276.       statements) are the maximum allowed.  This should be more than
  277.       adequate.  Most of the modem codes you would probably deal with are:
  278.           MNP, LAP, ARQ, FAX
  279.       Once again, you are not limited to the above modem codes, you can use
  280.       (and act on) any modem code that your modem returns.  The above list
  281.       of 4 modem codes are merely what we feel would probably be the most
  282.       widely used.
  283.      -The EX program statement does not actually start any programs, it
  284.       merely sets the program to be started ONCE CARRIER IS RAISED!  Once
  285.       the program is actually started, it will start in its own session,
  286.       and Magnum will terminate the program immediately in the event of
  287.       a dropped carrier!  If you're using the %device% keyword as part of
  288.       the EX program statement, you should have the OPENMODE parm of your
  289.       STARTUP.x file for that node configured to indicate S (shared).
  290.      -The modem codes (ie: FAX) returned by your modem almost never appear
  291.       on a line by themselves.  Keep in mind that the words you're
  292.       searching for in your SPECIAL.x file(s) (ie: FAX, ARQ, etc) are
  293.       compared for in your actual modem result strings by checking to see
  294.       if the word occurs at any point in the string.  In other words, if
  295.       you're searching for ARQ, your modem may actually return:
  296.           CONNECT 9600/ARQ
  297.       This will match the ARQ word in your STARTUP.x file because ARQ does
  298.       indeed occur within the modem result string.
  299.      -The SEND program statement will work once carrier is raised.  Keep
  300.       in mind that once the commands within your file have finished, the
  301.       regular program, trademark and copyright notices will be sent to the
  302.       remote modem (but a 'clear-screen' command will be sent first).  This
  303.       is the purpose of the PAUSE command - you may want to use the PAUSE
  304.       command after your last SEND statement to make certain the user has
  305.       enough time to read your SEND statements.  DO NOT USE the SEND
  306.       statement until after carrier is raised (usually indicated by CONNECT).
  307.      -If you make any changes to a SPECIAL.x file, in order for the changes
  308.       to "take", you must deactivate the node (x INACTIVE), and re-activate
  309.       it (x ACTIVE).
  310.      -Only .EXE programs are allowed.  If you wish to run a .CMD file, your
  311.       EX statement should look like this:
  312.             EX C:\OS2\CMD.EXE /c SOMEFILE.CMD
  313.       and you could also include any command-line parameters after the .CMD
  314.       filename.  Note the /c (lowercase) - this is mandatory!
  315.     - Note that all searching/matching for your modem keywords terminate
  316.       upon raised carrier!  CONNECT is usually the last keyword your modem
  317.       will return, however, once CONNECT is returned, as far as Magnum is
  318.       concerned, carrier has been raised!  So if your modem is a FAXmodem
  319.       and returns a string with the word FAX in it AFTER the string which
  320.       contains the word CONNECT, the match for FAX will never materialize
  321.       since carrier has already been raised.
  322.  
  323. - New feature: the ability to automatically invoke "Command => " commands
  324.   at the end of each session.  For example, when an onlline user ends
  325.   their session on node 1, you may optionally have a file ATEND1.ACE,
  326.   which can have any commands in it that you could ordinarily type at the
  327.   "Command => " prompt.  Each node is associated with its own ATENDnn.ACE
  328.   file (ie: ATEND1.ACE, ATEND2.ACE, .... ATEND10.ACE, ATEND11.ACE, etc).
  329.   The format of the file is one command per line.  The file is a normal
  330.   ASCII text file which you create with your text editor.
  331.   It is extremely important to keep in mind that commands in these files
  332.   should be short & brief.  The same rules apply to these files as they
  333.   do when you type something at the "Command => " prompt: the BBS is
  334.   frozen until the commands are finished.  Try to refrain from running
  335.   any programs at this point.
  336.   Although these files have an extension of .ACE, queued commands are not
  337.   allowed!  Queued commands are ONLY allowed in the MBBS.ACE file.
  338.  
  339. - New "Command => " commands:
  340.  
  341.      * ERRLOG ON
  342.      * ERRLOG OFF
  343.  
  344.   If you specify ON, any warning or error messages will be logged to the
  345.   file MBBS.ERR in your program directory.  Note that once ON is specified,
  346.   the file MBBS.ERR remains open until the BBS is shut down (* ENDNOW), even
  347.   if you specify OFF.  Also note that whenever you restart your BBS (MBBS.EXE),
  348.   it will delete the MBBS.ERR file upon startup.
  349.  
  350. - If you issue the PLAY command, you can use it as sort of an automated
  351.   logon.  To do this, record your session (log on as //0), and logoff.
  352.   Edit the resultant MRECORD.x file for that node, removing the logoff
  353.   command (G) and save the file.
  354.  
  355. - If "x INACTIVE" was typed at the "Command => " prompt (or via .ACE file),
  356.   even if node x is already inactive, MBBS would remember this and inactivate
  357.   the node whenever it became active!  Fixed.
  358.  
  359. - Some Sysops have reported a scrolling problem with MBBS which would shift
  360.   everything up by one line.  If/when this happens, the MBBS "Command =>"
  361.   prompt would not function.  This problem has been fixed.
  362.  
  363. - Changed "Ring detected on line xx" to "Ring detected on node xx".
  364.  
  365. - To accommodate up to 33 nodes, all configurations of MBBS.EXE have been
  366.   changed in the area of displaying which nodes are "in use" (ie: someone
  367.   online).  Starting with this release, the three lines below the upper
  368.   right portion of the screen (below "All Rights Reserved") will hold the
  369.   display of which nodes are "in use".  If the console node is "in use" it
  370.   will appear within angle brackets.  The display of console node prior
  371.   to this was (assume 4-node configuration): 4(4) if the console was logged
  372.   onto node 4, or 4(3) is the console was logged onto node 3.  The new
  373.   method will simply be which logical node the console is on (ie: <4> or
  374.   <3>, etc).  This also required changing the display of date and time
  375.   from:
  376.        Tuesday, 17 August 1993 - 14:39
  377.   to:
  378.        Tuesday, 17 August 1993, 14:39
  379.  
  380.  
  381. ===========================================================================
  382.  
  383. MSESSION.EXE:
  384. ------------
  385.  
  386. - The November release of Magnum v6.00C introduced a bug with AMMO/RMAIL
  387.   which sent the ENTIRE msgbase to a remote link in the event that the
  388.   previous link with the same remote system failed.  Fix applied.
  389.  
  390. - Changed such that after an RMAIL link, alerts MBBS.EXE to re-activate
  391.   the node.
  392.  
  393. - Added "POSTED" field to message headers whose creation was on a remote
  394.   Magnum system.  This field shows the date & time of the time the message
  395.   was posted (received) on your system.
  396.  
  397. - Added "<echo>" field to message headers who's "to" serial number is
  398.   different than that of your BBS.  The word "<echo>" will appear when
  399.   the message is to be echoed to other systems (in lieu of the word
  400.   "<sent>" or "<unsent>").
  401.  
  402. - Changed date & time field of message headers from:
  403.      "DATE: mm/dd/yyyy TIME: hh:mm"
  404.   to:
  405.      "DATE: mm/dd/yyyy hh:mm"
  406.  
  407. - Marked file(s) are now saved between sessions.  These are saved as
  408.   Uid.FMK (were 'id' is the user's id) in the USER DIRectory.
  409.   All *.FMK files will be deleted whenever a pack of the file database
  410.   is performed.
  411.  
  412. - Extended file descriptions (message style) for uploaded files were being
  413.   placed in the last MsgBase (for those who have the extended msgbase) the
  414.   user was in instead of MsgBase 0.  Fix applied.
  415.  
  416. - The "Read Messages Submenu", choice V (View Unread Mail) was taking too
  417.   long.  This has been speeded up by several orders of magnitude.  To take
  418.   advantage of this speed increase, the NEW_MAIL parm of your STARTUP.x
  419.   file(s) should be set to F (force).  If it's set to A (ask), then the
  420.   speedup will only occur if the user answers Y to the "check your mail"
  421.   prompt.  If it's set to B (bypass), then no speedup will occur unless
  422.   the user chooses P (personal mail check) in the message menu prior to
  423.   choosing R (read) and V (view).  [NOTE: These menu choices may have
  424.   different letters on your system]
  425.  
  426. - Changed the user's "[E]nvironment" section such that when they try to
  427.   change their system password, Magnum will now prompt them for their
  428.   current password.  This will prevent someone from changing a user's
  429.   password who's logged on to the system but walked away from their
  430.   terminal for any reason (thus giving someone else the chance of
  431.   changing their password).
  432.  
  433. - Added choice 25 to user's "[E]nvironment" section.  This allows the
  434.   user to pick a default Editor type (Ansi, Line, or None).  If the user
  435.   does not choose a default editor type (or chooses "None"), Magnum will
  436.   prompt the user prior to message entry as to which editor to use.
  437.  
  438. - The number of files allowed per batch download has been increased from
  439.   9 to 50.  Also, the internal length for each filespec has been increased
  440.   from 60 to 80 bytes (ie: do not exceed a filespec of 80 bytes when using
  441.   the MILC @E2 or @E3 commands).
  442.  
  443. - Improved speed on "New Files Search" and file "Text Search" routines.
  444.  
  445. - During local (console) logon, file 'uploads' previously aborted if the
  446.   source filename you're uploading isn't found.  Many times this was due
  447.   to a spelling error when entering the source ('from') filename.  This
  448.   has been changed such that if the source file isn't found, Magnum will
  449.   re-prompt you for the filename again (a blank name will quit).  This
  450.   should save you some frustration from the previous way.
  451.  
  452. - Fixed bug that would allow R, W, or L access in a FILE*.GRP file without
  453.   specifying it.  The bug was due to not stripping comments out, therefore
  454.   if the character R, W, or L (case independent) appeared within a comment
  455.   for that group, access would be given (requires Extended MsgBase module).
  456.  
  457. - Fixed bug of Sysop Menu's "[S]tats" (pack) which didn't delete the
  458.   physical file on disk which was described by that of a deleted file
  459.   record.
  460.  
  461. - Fixed the following bug: if Download is chosen, and you choose Y to view
  462.   or modify marked files, an endless loop would occur if you chose INFO on
  463.   a marked file that you don't have LIST access to (but have DOWNLOAD
  464.   access to).
  465.  
  466. - File xfers invoked with the MILC @E2 or @E3 command, or when uploading an
  467.   "attached file" to a message, would not flag the "<You have new mail>"
  468.   routine that a file xfer was taking place.  Fix applied.
  469.  
  470. - When a user changes the MsgBase (from within the Message Menu), Magnum
  471.   will now either 1) perform a personal mail check, 2) prompt the user to
  472.   perform a personal mail check, or 3) bypass the mail check and/or prompt.
  473.   The action it takes is based on the parameter you supply to NEW_MAIL in
  474.   your STARTUP.x file for that node.
  475.  
  476. - Due to the nature of high-speed modems, large modem buffers, and other
  477.   factors, <Ctrl-X> is NOT always trapped during a NonStop File Listing.
  478.   For this reason, when a user chooses N (NonStop) at the FileListing's
  479.   "More" prompt, Magnum will now check for the presence of FILECONT.BBS
  480.   in your SESSION DIRectory.  If this file exists, Magnum will display
  481.   the file to the user.  Within this file, you can warn the user that
  482.   during a nonstop file listing, they may not be able to break out of
  483.   it!  You may also prompt the user as to whether they're sure if they
  484.   want to continue with their choice of Nonstop.  Upon return, Magnum
  485.   checks the variable @Z0 for the presence of Y or N.  If it contains
  486.   Y, Nonstop filelisting will continue.  If N or any other character,
  487.   they'll be reprompted with the "More" prompt.  The prior contents (if
  488.   any) of the @Z0 variable will be preserved prior to the "More" function
  489.   ending.  An example of the prompting:
  490.             Do you really want NonStop? (Y/N) =>  @Z0('yn');
  491.  
  492. - File Existence tests would intermittently fail (even if the file existed)
  493.   when attempting to find a file across a network drive.  Fix applied.
  494.  
  495. - Enhanced "[W]hos On" command.  Who's currently on the system is contained
  496.   within individual files in the SESSION DIRectory by the filenames of
  497.   *.USR (where * is the ID number of the user's who are on).  The user's
  498.   city, state and country will also be shown depending on the GEO_PRIVACY
  499.   setting in the STARTUP.x file for the node the user is on.
  500.  
  501. - If you wish to override the display of the "[W]hos On" command with that
  502.   of your own, simply create the file WHOS.ON in your SESSION DIRectory.
  503.   The contents of this file should contain the MILC commands you wish in
  504.   order to convey the information you wish to display during the "[W]hos on"
  505.   command.  Note that this file will NOT be used for information regarding
  506.   a NEW (first time) caller - the default display will be used for a first
  507.   time caller instead.  The way the WHOS.ON file works is that it's similar
  508.   to a displayable MILC file, but it's processed as soon as the password is
  509.   entered.  It's not displayed, but rather interpreted (MILC characters
  510.   are replaced) and written to the nnnnn.USR file for that ID on that node.
  511.   Whenever someone does a "[W]ho's On" from the main menu, Magnum simply
  512.   displays the contents of each of the *.USR files it finds.
  513.  
  514. - In the event that you don't want a certain user to display during the
  515.   "[W]hos on" command, simply create a file in the SESSION DIRectory by the
  516.   name of *.USX (where * is their ID number) - this can come in handy for
  517.   Sysops who don't want their users to know that they're on the system
  518.   (ie: create a file 0.USX), the actual contents of the file is unimportant.
  519.   This enhancement also fixes up the problem some Sysops had where the
  520.   "[W]hos on" command would show users that are no longer logged on.
  521.  
  522. - The "Press Enter" prompt has been removed after display of the following
  523.   files:  QSECnnnnn.BBS
  524.             IDnnnnn.BBS
  525.            SECnnnnn.BBS
  526.   if you want a "Press Enter" after display of these files, use the @C9
  527.   MILC command prior to ending the file.
  528.  
  529. - The improper FileSize reporting for "attached files" has been corrected.
  530.  
  531. - When doing a Pack of an extended FileBase who's datafile is NOT the
  532.   FILE.DAT file in your SESSION DIRectory, the pack would inadvertently
  533.   overwrite the FILE.DAT file in the SESSION DIRectory with the newly
  534.   packed database file.  Fix applied.
  535.  
  536. - Some Sysops running Rmail have stated they don't want to see the MsgMarkers
  537.   during the reading of mail.  If you are one of these Sysops, simply create
  538.   the file NOSHOW.RMM (no show of remote mail markers) in your SESSION DIR.
  539.   The contents of the file are unimportant.  If the file exists, no messages
  540.   which are MessageMarkers will be displayed.
  541.  
  542. - With the introduction of the AGE: parm within the AMMO.MAG file (for those
  543.   using RMAIL), an expiration date on all MsgMarkers generated will bear an
  544.   expiration date equal to that of today's date + the number of days in the
  545.   AGE parameter.  If the AGE parameter is set at 0 (no AGE), the expiration
  546.   date will default to 30 days.  If the AGE parameter is LESS THAN 30 days,
  547.   the expiration date will also default to 30 days.
  548.  
  549. - MILC commands @E81 (change FileBase) and @E83 (change MsgBase) always
  550.   changed to the base in the @N1 variable, regardless of whether it was
  551.   a valid base or even if the user had access to it.  Fix applied.
  552.   On the same topic, there was an error in the user manual (v6.00C) for
  553.   these two commands (page 4-15): it should read that if the variables
  554.   @N0 and @N1 are equal then the change took place.
  555.  
  556. - The "Read Messages Submenu" now offers three additional choices: '+' and '-'
  557.   if you have the extended msgbase module, and C to change conference areas
  558.   without having to go back to the main message menu.  Choice '+' will move
  559.   the user into the next succeeding sequential msgbase the user has access to.
  560.   Choice '-' will move the user into the next preceding sequential msgbase
  561.   the user has access to.
  562.  
  563. - When using command-stack chaining (starting your commands with the ';'
  564.   character), the listing of FileBases and MsgBases will now be supressed
  565.   if changing File or Msg Bases using command-stack chaining.  Requires
  566.   extended filebase module and/or extended messagebase module.
  567.  
  568. - New MILC commands:
  569.  
  570.    @V95 - Returns BBSID (for use with QWK)
  571.  
  572.    @O24 - Returns the DEVICENAME used for this node.
  573.  
  574.    @O25 - returns OS version (ie: "1.30", "2.00", "2.10", etc).
  575.  
  576.     @E4 - Places name of "response file" in @Z0.  The "response file" is
  577.           the name of the file that any @Zx(""); or @Nx(""); requests will
  578.           be written to.
  579.  
  580.     @E5 - Turn off "response file" header.   This supresses the header that
  581.           Magnum writes to the "response file" prior to logging the
  582.           responses (ie: user's name, id, phone number, date & time, etc).
  583.           NOTEs: - This works only on the currently-displaying file!
  584.                    If you "include" a file, you must also issue this command
  585.                    from the included file if you want supression.
  586.                  - This command should be issued prior to writing (ie: prior
  587.                    to issuing any @Zx(""); or @Nx(""); commands.
  588.  
  589.     @E6 - Override "response filename" with that of the one in MILC variable
  590.           @Z0.  For example, to create a DOOR.SYS file, you would assign
  591.           the name of the file in @Z0 (ie: @Z0="d:\magnum\ext_dir\door.sys";),
  592.           then you would issue the @E6 command.  Make certain to also issue
  593.           the @E5 command to alert Magnum to NOT write the response file
  594.           header!
  595.  
  596.     @E7 - Open the (ASCII) file in @Z0 for Reading.
  597.           Upon successful open, @N0 will contain 0, otherwise an error
  598.           number.  If you open another file with @E7 prior to closing
  599.           an existing opened file, it will close the existing file first.
  600.  
  601.     @E8 - Read one text line (up to 100 chars) of the file opened with
  602.           @E7 (above) into @Z0.  The number in @N0 will indicate how many
  603.           bytes were read.  If 0, the file is automatically closed.  Magnum
  604.           will insure that each line read has a CR/LF pair at the end,
  605.           therefore, any blank lines read will have at least 2 bytes.
  606.           The purpose for the @E7, @E8 and @E9 commands is to have the
  607.           capaibility of reading an ASCII text file and scanning for a
  608.           match on a certain keyword with the @Bx(@Z0~"keyword"); statement.
  609.           As a rough example, here's a small example file which only displays
  610.           those text lines which contain the word "execute".
  611.  
  612.                 @z0="d:\mydir\read.me"; @c12
  613.                 @e7 @b99(n0>0); Open was successful!
  614.                 @p0 @e8 @b99(n0=0); @b1(z0~"execute"); @b0; @p1 @z0; @b0;
  615.                 @e9
  616.                 @p99
  617.  
  618.     @E9 - Close the file opened with @E7 (above).
  619.  
  620.     For examples, see the file MAKEDOOR.BBS with this distribution; it
  621.     demonstrates how to make a DOOR.SYS equivalent for those external door
  622.     programs which depend on this file (ie: DOS 'doors' such as TradeWars
  623.     is being ported to OS/2).  NOTE: External 'door' programs such as
  624.     TradeWars which make use of a DOOR.SYS-equivalent file expect their
  625.     dates in U.S. date format; Magnum writes dates in either U.S. or in
  626.     European date format depending on what the user's default date format
  627.     is; you may have to notify the user to change to U.S. date format!
  628.     The MAKEDOOR.BBS file was placed into your EXT DIR with this installation.
  629.     If you plan on using it, you will need to modify part of it to reflect
  630.     things about your system - see the comments within that file.
  631.  
  632.       @E14 - ReOpen FileBase 0 (main)
  633.       @E15 - ReOpen  MsgBase 0 (main)
  634.  
  635.      These new commands are to be used after calling a .MEX program with
  636.      the @E0 command (do not use these if calling the .MEX program with
  637.      the @E1 command).  When a .MEX program is called to update a user's
  638.      file or msg access areas online, the update takes place immediately,
  639.      however, the information within the file & msg menus don't reflect
  640.      the change until next logon.  Use of the new @E14 and @E15 commands
  641.      will refresh the access areas to the menus.
  642.  
  643.      ==>> NEW NEWS (just in): You can now run certain DOS doors via Magnum!!
  644.           If you're running OS/2 2.1, you can run a DOS door as follows:
  645.            - In your STARTUP.x file(s), set your OPENMODE to S (shared).
  646.            - Your DEVICENAME parm MUST be a STANDARD devicename (ie: COM1,
  647.              COM2, etc).  Non-standard devicenames will not work (ie: DIGI1).
  648.            - Use the new MILC command @O24 to obtain (and pass to the DOS
  649.              door) the DEVICENAME.
  650.            - Only DOS doors that use STANDARD devicenames will work!
  651.           This method is NOT supported under OS/2 1.x or 2.0.  It will only
  652.           work under OS/2 2.1 so far.
  653.      ==>> Download MAGFOSS.ZIP from our BBS... it will allow you to run
  654.           almost any DOS door!!
  655.  
  656. - Since Marked Files are now saved between sessions, logic was implemented
  657.   to delete these saved files in the event of a file 'pack'.  However, what
  658.   we failed to realize was that Expired or Deleted files (which became
  659.   expired or deleted since the user's last logon), were still saved in the
  660.   user's list of marked files (this presented a problem when the user went
  661.   to modify, list, or download marked files).  Fix applied.  Note: whoever
  662.   is online issuing the pack command (usually the sysop or cosysop), their
  663.   file of 'marked files' (if it exists) can not be deleted.  After a pack,
  664.   you must delete it manually (extensions with .fmk in the USER directory).
  665.  
  666. - When in the [E]nvironment menu, if the user's lines/screenpage is greater
  667.   than or equal to 28, there will be no break in the display of the settings.
  668.   If the user changes from a lines/screenpage of less than 28 to 28 or
  669.   greater, the Environment menu itself won't recognize the change until the
  670.   next time the user enters the Environment menu (ie: they'll have to Quit,
  671.   then re-enter the Environment menu).
  672.  
  673. - When doing "[S]tats of Databases" from the Sysop menu: if you're using an
  674.   Extended FileBase or Extended Msgbase such that you've defined more than
  675.   one FileBase or MsgBase within the same database file, the system will now
  676.   show you the number of records it found which ARE in the currently selected
  677.   base.  This number will show up within angle brackets after the FileBase
  678.   indicator.
  679.  
  680. - Fixed bug which would save a "file description" message with the wrong name.
  681.  
  682. - When forwarding a message to someone from the message disposition prompt,
  683.   you'll now be returned back to that message disposition prompt after
  684.   entering the ID(s) of who to forward the message to.
  685.  
  686. - When in the Group Chat section, issuing a /WHO command will produce the
  687.   same results as issuing the "[W]hos On" command from the main menu.  This
  688.   is for consistency as well as making the Sysop (or others) appear invisible
  689.   on the system when using the *.USX file feature.
  690.  
  691. - New Feature: When the Sysop (or CoSysop) is reading a message while in the
  692.   the Message Section of the BBS, pressing the <Ctrl-E> key (at the message
  693.   disposition prompt) will now prompt you as to whether you wish to edit the
  694.   M)essage or the H)eader.  After editing, you'll be returned to the message
  695.   disposition prompt.
  696.  
  697. - New Feature: When the Sysop (or CoSysop) is in the File section and has
  698.   entered the name (or #nnnnn) of a file to the "Utilities" prompt, they
  699.   can press the <Ctrl-E> key in order to modify the record for that file.
  700.  
  701. - When in the Sysop menu, if you choose "Remote Sysop Console", it would
  702.   only work if you dialed in on a single-digit node (ie: node 1 thru 9).
  703.   Fix applied.
  704.  
  705. - In the message section (and other sections), choices which are defaults
  706.   such as "(N)ext, [A]gain, [B]ackthread" were enclosed within parenthesis
  707.   rather than square brackets.  This has been changed to angle brackets
  708.   instead (ie: "<N>ext, [A]gain, [B]ackthread").  If I missed any, let me
  709.   know!
  710.  
  711. - When in the Sysop menu, User Database area, moving on to the Next record
  712.   would prompt you with "Delete User (Y/N) => " if that user record is
  713.   deleted.  This is fine, but with many sequential deleted records, you'd
  714.   be stuck answering this prompt for every record with no other way out
  715.   until you came across an undeleted record or the last record in the
  716.   user database.  Therefore, the (Y/N) portion has been changed to (y/n/Q)
  717.   where Q (the default) means Quit.
  718.  
  719. - When in the Sysop menu, User Database area, if you change any field of
  720.   anyone's record, Magnum would check to see if they were online.  If they
  721.   are, Magnum would go ahead and update their record in online memory.
  722.   This is wrong!  Most Sysop's set up their BBS's such that ALL nodes point
  723.   to the same SESSION DIRectory.  However, in the case of those Sysops who
  724.   set up some nodes to be different BBS's (ie: different SESSION DIRectories),
  725.   the online user may not even be a part of that BBS!  I've fixed the code
  726.   so that when it matches on an online user's user id, it then goes and
  727.   checks to make sure the BBS they're on is also pointing to the same
  728.   SESSION DIRectory before making any online changes in memory.
  729.   To make this a little clearer, suppose you had node 1 and 2 set up as
  730.   a BBS for motorcyclists (session directory is d:\magnum\cycle\ses_dir),
  731.   and nodes 3 and 4 set up for your church group (session directory is
  732.   d:\magnum\church\ses_dir), and node 5 (assuming 5-node version) is your
  733.   local console node.  If you log on locally using the node 3 configuration,
  734.   (ie: * LOGON 3) to get to the church group BBS, then enter the Sysop menu
  735.   and pull up the record of ID: /10 (for example), and someone with an ID of
  736.   /10 just happens to be online on node 2 (the motorcycle bbs), if you make
  737.   any changes to record 10, their entire online record (in memory) would be
  738.   updated!  This means (for example) that ID /10 with a name of "Pack Leader"
  739.   would become ID /10 from the 'other' BBS with a name of "Father O'Reilly".
  740.   That's the reason the check for the matching session directory needed to
  741.   be thrown in!
  742.  
  743. - Fixed problem with ANSI message editor where message text would be left
  744.   over after choosing some of the options in the <ESC><ESC> menu.
  745.  
  746. - When responding (replying) to a message with the ANSI editor, bringing
  747.   in any marked lines from the message being replied to was too slow.
  748.   This has now been sped up: instead of updating the entire screen for
  749.   each inserted line of a marked block, the insertion of the entire block
  750.   will now be performed in memory first and the screen will be updated once
  751.   at the end of the insertion.  At the end of the update, the cursor will
  752.   remain on the original line that the insert was started from.
  753.  
  754. - New: The ANSI message editor will now attempt to adjust the number of
  755.   text lines in the text-entry area to that of users with lines/screen
  756.   sizes of 28 or greater.
  757.  
  758. - New: When logged on via the CONSOLE (only), the ANSI message editor will
  759.   now recognize the <Ctrl-End> key combination to mean to delete all
  760.   characters on the current line starting at the cursor position to the
  761.   end of the line.
  762.  
  763. - Enhanced: When re-reading a message you're responding to with the ANSI
  764.   editor with marking facilities, the - - MORE - - prompt formerly prompted
  765.   you to press any key to continue.  This forced users to read the entire
  766.   message first before they could mark any text lines.  This has been changed
  767.   such that the - - MORE - - prompt will now prompt you for (Y/n) where if
  768.   you supply N, the display of the message will stop and you'll be able to
  769.   mark any text lines - even if those lines haven't been displayed - as long
  770.   as you know which line numbers those text lines are on.
  771.  
  772. - New: when in the message database area of the Sysop menu, you may now
  773.   supply a record number in response to the prompt which will take you to
  774.   the nth message in that message database.  Start the record number with
  775.   the # character.  Example: #850 will take you to record number 850.  If
  776.   you supply a record number out of range, you'll receive a beep and will
  777.   be reprompted.
  778.  
  779. - New: The inclusion of RJE Database in the "Stats" section of the Sysop
  780.   menu, as well as the ability to Pack the RJE Database.  Deleted records
  781.   can only be marked as deleted by a .MEX program!
  782.  
  783. - Enhanced: Many Sysops have complained about users forgetting about their
  784.   middle names when logging on by name.  This release will match on first
  785.   and last name and attempt to match on middle name if present.  For example,
  786.   "John Smith" will match on "John F Smith" or "John David Smith", etc.
  787.   Also, "John S Smith" will match on "John S Smith" or "John Steven Smith".
  788.   "John Steven Smith" will also match on "John S Smith".
  789.   If the match is not correct (ie: the prompt "Is this correct (Y/N) => "
  790.   is answered with N), the user will then be prompted as to whether to
  791.   search further or to re-enter their name.
  792.  
  793. - Modified Ammo/Rmail such that ZFRONT.EXE is no longer needed when using
  794.   InfoZip's UNZIP.EXE program.
  795.  
  796. - Fixed bug when using the MILC @B (branch) command to branch to a forward
  797.   reference (a @P label appearing later in the file) which would result in
  798.   certain formatting problems.
  799.  
  800. - The timer is now stopped during SysChat (chat between sysop and user) when
  801.   the Sysop presses <F7> to start the chat.  When the Sysop presses <F7>
  802.   again to terminate the chat, the timer will reactivate (note that there
  803.   may be a delay of up to one minute before the timer actually restarts).
  804.  
  805. - When the user chooses to Enter a new message, Magnum will now check for
  806.   a file by the name of NEWMSG.BBS in your DISPLAY DIRectory.  If it exists,
  807.   this file will be displayed to the user.  The purpose of this file is to
  808.   notify the user of anything you wish, most likely to tell them to enter
  809.   a message to a specific ID (ie: /1) for "technical support", or some other
  810.   specific ID on your system.
  811.  
  812. - The logon entry (First name or /ID => ) has once again been enhanced.
  813.   In that up to 20 characters are allowed for a first name, if a user can
  814.   supply their entire name on the 'first name' entry line, separating their
  815.   first (optional middle) and last names with either the space character or
  816.   the ; character, Magnum will take the entry as supplied.
  817.  
  818. - When supplying filenames (or file numbers) to download prior to downloading
  819.   with a batch protocol, Magnum will now accept up to 100 characters in
  820.   response to any filename prompt.  This will enable the user to specify
  821.   multiple filenames, separated by spaces or by the ; character without
  822.   having to wait for the prompt for the next filename to download.  Normally,
  823.   this is only accomplished by command-stack chaining (ie: starting with the
  824.   ; character), however, in order to be compatible with other systems, we've
  825.   implemented this new feature.
  826.  
  827. - The message "Caller on Node xx is Paging You..." would appear wherever
  828.   the current cursor happened to be.  This has been changed to apppear at
  829.   column one of the next line.
  830.  
  831. - Fixed problem with @C5 and @C6 MILC commands.
  832.  
  833. - Intelligence added to slightly boost priority levels during file xfer.
  834.  
  835. - Problems with the buffer that holds dynamically-generated menus fixed.
  836.  
  837. - Problems with the "More" prompt being erased are fixed.
  838.  
  839. - NEW: In that only 255 file groups and 255 message groups are allowed
  840.        with the extended filebase and extended msgbase, we've added the
  841.        following feature:
  842.  
  843.          - If the file Uxxxxx.MG exists (where xxxxx is the user's id
  844.            number), this file will be used INSTEAD of any MSG group that
  845.            user is assigned to.
  846.  
  847.          - If the file Uxxxxx.FG exists (where xxxxx is the user's id
  848.            number), this file will be used INSTEAD of any FILE group that
  849.            user is assigned to.
  850.  
  851.        The format of the Uxxxxx.MG and Uxxxxx.FG files are identical to
  852.        that of the corresponding .GRP files.  If you create Uxxxxx.FG or
  853.        Uxxxxx.MG files, they are to be placed in the SESSION DIRectory.
  854.        Do not use leading zeros for the xxxxx portion!  Examples:
  855.  
  856.               U0.MG  - Group File for ID 0 for MsgBase access
  857.             U156.FG  - Group File for ID 156 for FileBase access
  858.  
  859.        - When viewing a user's record in the Sysop menu, whatever File
  860.          Group or Msg Group they're assigned to will be followed by the
  861.          '*' character if the override file (Uxxxxx.?G) exists for that
  862.          user.
  863.  
  864.  
  865. ===========================================================================
  866.  
  867. MAKEMBBS.EXE:
  868. ------------
  869.  
  870. - The ANSWERTYPE parm can now be the character D to indicate DCD.  This
  871.   is for certain WANs in which a "modem" appears to be present, but only
  872.   the presence of a carrier is used to determine an incoming call.  The
  873.   baudrate of the incoming call will always be equal to the BAUDRATE parm.
  874.  
  875. - The following fields in your STARTUP.x file(s) can now be blank (ie: no
  876.   parms required): MODEMRESET, STARTUP1, STARTUP2, STARTUP3, REINIT.
  877.   This is by popular demand.  Examples of where parms for these fields
  878.   are meaningless or unnecesary: Device is a pipe, console node, WAN,
  879.   serial port connected to null modem cable & dumb terminal, etc.
  880.  
  881. - Support now added for 57600 baud (DTE rate) as a parameter to the
  882.   BAUDRATE keyword.
  883.  
  884. - For those using Numeric modem result codes, the following keywords have
  885.   been added to support the new 16800 baud connections available on some
  886.   modems (such as the new US Robotics HST dual standard):
  887.  
  888.      RC_16800
  889.      ERC_16800
  890.      ERCA_16800
  891.      ERCB_16800
  892.  
  893. - The default PRTY_CLASS and PRTY_LEVEL have been changed (defaults are used
  894.   only when you don't specify a parameter to these keywords in your STARTUP.x
  895.   file(s)).  The default PRTY_LEVEL is now 2 for all nodes.  The default
  896.   PRTY_CLASS is now 0 for the console node, 10 for all other nodes.
  897.  
  898. - Added Four (required) keywords:
  899.  
  900.    MSGMENU_BASEUP:- Moves to next succeeding MsgBase (requires extnd MsgBase)
  901.    MSGMENU_BASEDN:- Moves to next preceding MsgBase (requires extnd MsgBase)
  902.    FILEMENU_BASEUP:-Moves to next succeeding FileBase (requires extnd FileBase)
  903.    FILEMENU_BASEDN:-Moves to next preceding FileBase (requires extnd FileBase)
  904.  
  905.    If you're not using (or don't have) the optional extended MsgBase module,
  906.    then the security levels of MSGMENU_BASEUP and MSGMENU_BASEDN should be set
  907.    to a level higher than that of the Sysop so that these menu choices will not
  908.    appear online.
  909.    If you're not using (or don't have) the optional extended FileBase module,
  910.    then the security levels of FILEMENU_BASEUP and FILEMENU_BASEDN should be
  911.    set to a level higher than that of the Sysop so that these menu choices will
  912.    not appear online.
  913.  
  914. - Added four (optional) keywords:
  915.  
  916.    FILEGROUP: - Default FileGroup (0-255) for new user
  917.    MSGGROUP: - Default MsgGroup(0-255) for new user
  918.  
  919.    The FILEGROUP keyword should only be used by those sysops with the optional
  920.    Extended FileBase Module.  The MSGGROUP keyword should only be used by
  921.    those sysops with the optional Extended MsgBase Module.  Even with these
  922.    modules, the use of these keywords are optional, and if not supplied, will
  923.    default to 0 (no FileGroup and/or no MsgGroup).  The use of FileGroups and
  924.    MsgGroups will significantly speed up the new capabilities implemented by
  925.    the four new keywords described above.
  926.  
  927.    MENU_HILITE: - Allows you to specify a character and color which tells
  928.                   Magnum to change the color of the character immediately
  929.                   following it.  Example:
  930.  
  931.                             MENU_HILITE: ~12
  932.  
  933.                   This tells Magnum that the ~ character means to change
  934.                   the very next character to color 12 (see the MILC @A
  935.                   command for color number meanings).  With this method,
  936.                   your menu choice definitions in your STARTUP.x file(s)
  937.                   can look like:
  938.  
  939.                            MAINMENU_MSG: M,5,[~M]essage Section
  940.  
  941.                   which tells Magnum that the character M is to be changed
  942.                   to color 12 (bright red).
  943.                   If the online user does not have their color settings
  944.                   on, the ~ character (or whatever character you specified
  945.                   in the MENU_HILITE parm) will simply be stripped, and no
  946.                   color change will happen.  Note that this character will
  947.                   also be stripped for color users.
  948.                   NOTE: *** Do NOT use the [ character as the parm for the
  949.                             MENU_HILITE keyword!!
  950.  
  951.    MENU_COLOR: -  Allows you to override the default color of 2 (green) in
  952.                   which dynamic menus are built.  For example, to present
  953.                   your menus in brown:
  954.  
  955.                             MENU_COLOR: 6
  956.  
  957.    NOTE: External Menus ALWAYS override the dynamic menus!!
  958.  
  959. ===========================================================================
  960.  
  961. MSGLIST.EXE:
  962. -----------
  963.  
  964. - Prior to this version, mail received from other systems (via AMMO link)
  965.   were not included in mail lists created by MSGLIST.EXE if the date did
  966.   not fall within the start & stop date of the MSGLIST parameters.  This
  967.   has been changed to include mail based on the date the msg was POSTED on
  968.   your system, rather than the date the mail was created.  For those msgs
  969.   whose posting date on your system are different than the creation date,
  970.   the posting date will be appended to the subject field as <<MM/DD/YYYY>>
  971.   or <<DD.MM.YYYY>> depending on the user's date format.
  972.  
  973. - Incorporated enhancements to generate mail in QWK format.  To specify
  974.   QWK mail format, the last command-line parameter to the program (optional
  975.   msgbase) should be immediately preceded by the letter Q (no spaces between
  976.   the Q and the msgbase).
  977.   NOTE: Change the PHONE1 parameter of the SYSOP user record (ID: /0) to
  978.         indicate your main BBS Phone#!
  979.  
  980. - The processing time (speed) has been dramatically improved!
  981.  
  982. - ALL MsgBases on the system can be generated by specifying Q* as the last
  983.   parameter to the msglist.exe program.  A new MSGLIST.RJE file has been
  984.   included to incorporate this capability.  The generation of ALL MsgBases
  985.   is only possible with the QWK option (not with POWER).  Note that when
  986.   ALL MsgBases are specified, conference names are supplied only for those
  987.   conferences in which actual messages were produced.  If generating a
  988.   specific MsgBase (as opposed to ALL MsgBases), conference names will be
  989.   supplied for ALL conferences the user has access to in that MsgBase.
  990.  
  991. - If the QWK portion is used, the resultant QWK file will be placed in
  992.   the download RJE area of FileBase 0 and will follow the naming convention
  993.   of RJE files EXCEPT that the extension will be .QWK instead of .ZIP - this
  994.   eliminates the need to enclose the .QWK file within a .ZIP file.  In other
  995.   words, the naming convention is Uid@n.QWK where id is the user's id, and
  996.   n is a character 0 to 9 or A to F.  The file will be password protected
  997.   with the user's logon password.  If the user's logon password exceeds 10
  998.   characters, only the first 10 characters will become the password.
  999.   Just for fun, you could add the following lines to your COMPRESS.LST file:
  1000.  
  1001.            .QWK:
  1002.                  D=PKUNZIP2.EXE -o %s
  1003.                  L=PKUNZIP2.EXE -v %s
  1004.  
  1005.   if you do this, this would enable the user to view the contents of this
  1006.   file just as if it were a .ZIP file!  Personally, I wouldn't recommend
  1007.   this because it tempts the user to spend more unnecessary time on your
  1008.   system when they could just download the file to begin with.
  1009.  
  1010. - If the QWK portion is used, you can have the following optional files
  1011.   in your SESSION DIRectory.  If present, they'll be included in the
  1012.   QWK packet:
  1013.  
  1014.        HELLO.Q - The 'Welcome' file to be included in the QWK packet.
  1015.         NEWS.Q - The 'News' file to be included in the QWK packet.
  1016.      GOODBYE.Q - The 'GoodBye' file to be included in the QWK packet.
  1017.  
  1018.   note that these files need not be text files, they may also contain
  1019.   ANSI escape sequences.  There is NO MILC processing.  These files
  1020.   (if present) are merely copied verbatim into the QWK packet.
  1021.  
  1022. - If the file NOSHOW.RMM exists in your SESSION DIRectory, then MsgMarker(s)
  1023.   will not be included in your POWER or QWK file(s).
  1024.  
  1025. - Abides by the Uxxxxx.MG file (if it exists) in lieu of the MSGxxx.GRP
  1026.   file [if extended MsgBase module installed].
  1027.  
  1028.  
  1029. ===========================================================================
  1030.  
  1031. RJEMONIT.EXE:
  1032. ------------
  1033.  
  1034. - The code within this module to lower its priority to 'idle class' was
  1035.   located in the wrong place.  It's now been moved to the right place.
  1036.  
  1037.  
  1038. ===========================================================================
  1039.  
  1040. RJEQWK.EXE:
  1041. ----------
  1042.  
  1043. - This is a new program, equivalent of RJEPOW.EXE (for uploaded POWER
  1044.   message responses) but for uploaded QWK message responses.
  1045.  
  1046. NOTE: As of this writing, PK-Ware has not released their OS/2-equivalent
  1047.       of their DOS version 2.04 ZIP format.
  1048.  
  1049. ===========================================================================
  1050.  
  1051. RJEPOW.EXE:
  1052. ----------
  1053.  
  1054. - The SUBJECT line of an incoming message would sometimes be blank if
  1055.   its a reply to an existing message.  Fixed.
  1056.  
  1057. ===========================================================================
  1058.  
  1059.  
  1060. MBBSEXEC.EXE:
  1061. ------------
  1062.  
  1063. - The runtime display of "Record: xxx of yyy" has now been changed to
  1064.   just "xxx" for purposes of speed gain.  "yyy" is displayed on the
  1065.   line above the "xxx" line and is only displayed upon program start.
  1066.  
  1067. - By popular request, when changing a file AREA, the physical file is
  1068.   also moved to the directory described by that area.
  1069.  
  1070. - Added new Keyword for USER database:
  1071.  
  1072.      @EDITOR_PREF
  1073.  
  1074.   This keyword refers to the user's preference of L (Line editor), or
  1075.   A (Ansi editor).
  1076.  
  1077. - Add new Keywords for FILE database:
  1078.  
  1079.      @CDROM - This keyword (if alphabetic) indicates the file is on
  1080.               a cd-rom or other drive described by a directory which
  1081.               is external to the file database.
  1082.  
  1083.      @PATHNUM - This keyword indicates which path number to use in
  1084.                 the external pathname file (if @CDROM is alphabetic).
  1085.  
  1086.   Ordinarily, you will have no use for these two keywords, however, those
  1087.   of you writing in-house applications which interface with Magnum may
  1088.   have a use for these.
  1089.  
  1090. - When processing the USER database, if a change is made to the
  1091.   @REMAINING field, Magnum will now recognize this and respect it if
  1092.   the user who's record is being changed is online at the time of the
  1093.   change.  If their time remaining for the period is less than the
  1094.   new change to their time remaining (for this call), the time remaining
  1095.   for the period will also be adjusted.
  1096.  
  1097. - Corrected a bug which updates an online user who's on a node
  1098.   that's configured as a "different" BBS than the one described in
  1099.   the MBBSINIT.x (STARTUP.x) file being used by MBBSEXEC.  Ordinarily,
  1100.   most Sysops configure all of their nodes as the same BBS (ie: the
  1101.   same SESSION DIRectory), so this bug has gone undetected for quite
  1102.   some time.  The correction now compares the SESSION DIRectory of the
  1103.   one used during MBBSEXEC processing and compares it to the SESSION
  1104.   DIRectory of the online user(s) who's ID matches the record being
  1105.   processed - if the two SESSION DIRectories match, the change is made
  1106.   online, otherwise the online change is ignored for that node.
  1107.  
  1108. - The keyword @K_DL_THIS_PERIOD was being mistaken for @K_DL when processing
  1109.   the USER database.  Fix applied.
  1110.  
  1111. - The read-only variable @RESULTCODE is now set when doing a string
  1112.   compare with the ~ comparator (string within a string).  The value
  1113.   of @RESULTCODE will be 0 if no match, otherwise it will be the
  1114.   starting position of the place within the string the match was
  1115.   found.  For example, if @STRING1 contained "a musical instrument",
  1116.   then the following statement would set @RESULTCODE to 3:
  1117.  
  1118.      if(@string1 ~ "music") {
  1119.         .
  1120.         .
  1121.         }
  1122.  
  1123. - By popular request, the new function EXTRACT() has been added.  This
  1124.   function requires four (4) parameters:
  1125.  
  1126.      EXTRACT( target_string, source_string, start_position, byte_count )
  1127.  
  1128.   This function can extract any portion of source_string and place that
  1129.   extracted portion into target_string.  For example:
  1130.  
  1131.      @string1 = "Hello there, my name is Joe"
  1132.      @string2 = "name"
  1133.      if(@string1~@string2) {
  1134.         extract(@string3,@string1,@resultcode,9)
  1135.         }
  1136.  
  1137.   The above code sample uses @string3 as target_string, @string1 as
  1138.   source_string, @resultcode as start_position, and 9 as byte_count.
  1139.   The statement extracts from @string1 (the source_string), 9 characters
  1140.   (the byte_count) beginning at position 17 (the start_position of where
  1141.   "name" appears within @string1.  The resultant target_string (@string3)
  1142.   will contain (without the quotes):  "name is J"
  1143.  
  1144.   Now for the rules:
  1145.  
  1146.      target_string:    must be either a @STRINGxx variable or a number.
  1147.                        If a number, the number represents which @STRINGxx
  1148.                        variable to use.
  1149.  
  1150.      source_string:    must be either a @STRINGxx variable or a string
  1151.                        literal (enclosed in doublequotes - ie: "hi there"),
  1152.                        or a number.  If a number, the number represents
  1153.                        which @STRINGxx variable to use.
  1154.  
  1155.      start_position:   must be one of:  a @TALLYxx variable,
  1156.                                         the @RESULTCODE variable,
  1157.                                         or a number.
  1158.  
  1159.      byte_count:       must be one of:  a @TALLYxx variable,
  1160.                                         the @RESULTCODE variable,
  1161.                                         or a number.
  1162.  
  1163.    NOTEs: - no indirect addressing is allowed within any of the EXTRACT()
  1164.             parameters!
  1165.  
  1166.           - if the value of start_position is out of bounds during runtime,
  1167.             the program will abort with an error message which states the
  1168.             contents of the variables.  Under normal operations this should
  1169.             never happen.
  1170.  
  1171.           - If the value of byte count is more than the number of bytes
  1172.             in the string from the starting position, then only the number
  1173.             of bytes left in the string will be extracted.  For example, if
  1174.             you find the word "music" in a string and want to extract the
  1175.             entire string from that word on, set the byte_count parm to 999
  1176.             or some other large number.
  1177.  
  1178. ===========================================================================
  1179.  
  1180. USERS OF RMAIL (AMMO):
  1181. ---------------------
  1182.  
  1183. - MsgMarkers are now marked with the 'echo' field 'off'.
  1184.  
  1185. - New optional paramater can now be placed anywhere within the AMMO.MAG
  1186.   file (as long as its on a line by itself):
  1187.  
  1188.           AGE: xxx
  1189.  
  1190.   where xxx is the age (in days) of messages which are allowed to be
  1191.   sent to or received from other systems.  For example, if you have:
  1192.  
  1193.           AGE: 20
  1194.  
  1195.   then no messages older than 20 days will be sent to other systems.
  1196.   Likewise, no incoming messages older than 20 days will be accepted
  1197.   by your system.
  1198.  
  1199.   The age (in days) of a message is determined by its creation date
  1200.   (the date the message was created).  This feature is HIGHLY recommended
  1201.   for all Sysops participating in AMMO/RMAIL.  The "AGE: xxx" (without the
  1202.   quotes) specification is not limited to appear only once in the file.
  1203.   You may place it on however many lines of your AMMO.MAG file that you
  1204.   wish, each occurrence can have a different parameter.  Once this
  1205.   specification appears in the AMMO.MAG file, the age you specify is in
  1206.   effect until another AGE specification appears in the file, or for the
  1207.   remainder of the file (whichever occurs first).  You can even have a
  1208.   different AGE parameter for every serial# if you wish by placing an AGE
  1209.   statement on the line immediately before a particular serial#.
  1210.   One excellent example of how this feature would be of great significance
  1211.   is when you're setting up a new AMMO account:  without the use of the AGE
  1212.   field, your first link with a new AMMO account will receive your entire
  1213.   messagebase(s).  You may want to limit the outgoing messages to this new
  1214.   account by, say, 60 days.  Also, for informational purposes, a parameter
  1215.   of zero (ie: AGE: 0) turns off this feature (ie: no age calculations will
  1216.   be performed).
  1217.  
  1218. - All MsgMarkers will now be stamped with an expiration date of 30 days.
  1219.   If your AGE parameter is greater than 30 days, MsgMarkers will be
  1220.   stamped with an expiration date of AGE days instead.
  1221.  
  1222. - A new copy of RMAILMAP.EXE was placed in your SESSION DIRectory.
  1223.  
  1224.  
  1225. ALL PROGRAMS:
  1226. ------------
  1227.  
  1228. - Any programs (.EXE) supplied with this Magnum revision which deals
  1229.   with compressed (ie: .ZIP, .ARC, etc) files will now abide by the
  1230.   rules of your COMPRESS.LST file (if it exists).  If it does not exist,
  1231.   an internal default will be used.
  1232.   NOTE: Do not override the default of PKZIP2.EXE (the old pk-ware format)
  1233.         if you're using AMMO/RMAIL.  Some systems are still using the older
  1234.         format and will not be able to unzip your mail packet!  You may,
  1235.         however, override the PKUNZIP2.EXE default (or replace PKUNZIP2.EXE
  1236.         in your EXTERNAL DIRectory).
  1237.  
  1238. - Programs which set or use the hardware buffering built into your UART (if
  1239.   your UART auto-buffers) have had the code that disables this buffering
  1240.   removed.  This applies to: MBBS.EXE, MSESSION.EXE, GETFILES.EXE, and the
  1241.   PUTFILES.EXE programs.
  1242.  
  1243. -------------------------------------------------------------------------
  1244.  
  1245. GENERAL NOTES:
  1246. -------------
  1247.  
  1248. - OS/2 2.1 GA has many problems.  Most notably, the COM.SYS driver supplied
  1249.   with the OS seems to slow the overall system down, and cause problems with
  1250.   RJE and SYS3175 errors.  I strongly recommend using Ray Gwinn's drivers
  1251.   instead (download SIO102.ZIP) from our BBS which is orders of magnitude
  1252.   faster and more stable than IBM's drivers.  And by all means, help Ray
  1253.   with a contribution towards his great software.
  1254.  
  1255. - OS/2 2.1 GA has returned the 'hung session' problem. IBM is 'working on it'
  1256.   but it seems that this problem has disappeared if using Ray Gwinn's SIO
  1257.   driver.
  1258.  
  1259. - MultiMedia and OS/2 2.1 GA 'break' the API call DosSetMaxFH() which obtains
  1260.   more file handles for the application.  Until IBM comes out with a fix for
  1261.   this problem, Magnum will not run when MultiMedia is installed.  However,
  1262.   we've come up with our own workaround: create a file MMPATCH in your
  1263.   PGM_DIR (program directory) -- the contents of the file is unimportant,
  1264.   only its existence is checked.  If the file exists, the code to work around
  1265.   the MultiMedia problem will be invoked.  Do not forget to delete this file
  1266.   if/when IBM releases a fix for the MultiMedia problem.
  1267.  
  1268. - In OS/2 2.1: from time to time, when a session starts (as an icon), the
  1269.   OS will place the icon for that session directly over an icon for another
  1270.   session.  Moving (dragging) that icon out of the way reveals the other
  1271.   icon underneath it.
  1272.  
  1273. - OS/2 2.x doesn't seem to want to display our icon file.  To get around
  1274.   this, create the following statements in your MBBS.ACE file:
  1275.  
  1276.      *,1 icon d:\magnum\pgm_dir\msession.ico
  1277.      *,2 icon d:\magnum\pgm_dir\msession.ico
  1278.      .
  1279.      .
  1280.      .
  1281.  
  1282.    of course, you'll need to substitue the path name you're using on your
  1283.    system; and the three dots merely represent additional statements, one
  1284.    for each node you have on your system.  In that these are "immediate"
  1285.    commands (read only on startup), you'll need to shut down the bbs and
  1286.    restart it in order for these commands to "take".
  1287.  
  1288. -  PK-Ware doesn't seem to be making any progress in coming out with an
  1289.    OS/2 version of their ZIP utils for 2.04G format.  You can download
  1290.    UNZIP16.EXE from FileBase 0 on our BBS to get InfoZip's OS/2 version
  1291.    which DOES support it.  You can either rename this to PKUNZIP2.EXE and
  1292.    place it in your EXTERNAL DIRectory, or modify your COMPRESS.LST file
  1293.    accordingly.
  1294.  
  1295. -  For those running OS/2 2.1 GA and wish to run DOS doors (just about any
  1296.    door that runs under DOS BBS's), download MAGFOSS.ZIP from FileBase 0 on
  1297.    our BBS.  This offering from Greg Rumple makes it such that Magnum will
  1298.    run virtually any DOS door program under OS/2 2.1 GA.  If you take
  1299.    advantage of Greg's driver, please help support his development efforts
  1300.    with a contribution so that we can see more of his excellent software in
  1301.    the future!
  1302.  
  1303.  
  1304. ---------------------------------------------------------------------------
  1305.  
  1306.  
  1307.                               CLOSING REMARKS
  1308.                               ---------------
  1309.  
  1310. Good news: if you've been waiting for PK-Ware to release their OS/2 versions
  1311. of the ZIP/UNZIP programs which support the 2.04G compression format they've
  1312. released under DOS, you can download UNZIP16.EXE from our BBS and use it
  1313. while you're waiting!  You can either rename it to PKUNZIP2.EXE and replace
  1314. the current PKUNZIP2.EXE with it; or keep the same name (UNZIP16.EXE) and
  1315. place it in your EXTERNAL DIRectory and modify (or create) your COMPRESS.LST
  1316. file accordingly.  UNZIP16.EXE works under both OS/2 1.x and 2.x.
  1317.  
  1318. Users of OS/2 2.x: IBM's COM drivers are (as usual) not the greatest
  1319. (they've even been known to hang the system).  I strongly recommend
  1320. downloading Ray Gwinn's comm drivers and using these instead.  The latest
  1321. release (as of this writing) is available for download on our BBS under the
  1322. name of SIO102.ZIP and is located in FileBase 2.  This is a supberb piece of
  1323. work, please send in your registration fee to Ray if you plan on using these
  1324. drivers for more than 30 days (which I'm sure you will).
  1325. If you're using an intelligent serial board such as Artic or Digiboard,
  1326. disregard this paragraph, as the drivers for these boards are supplied by
  1327. Quadron (for Artic cards) or Digiboard (for Digiboard cards) disregard the
  1328. above.
  1329. If you're using DigBoard, please call their BBS and download the latest
  1330. revision of their drivers.  Their current drivers (as of this writing) have
  1331. some problems which are easily fixed by downloading the new ones.
  1332.  
  1333. End.
  1334.