** This file only covers the changes to The MainMail System since ** ** version 3.0. It is intended as a SUPLIMENT not a REPLACEMENT ** ** to the version 3.0 sysop's manual. Refer to the sysop's manual ** ** for a complete guide of operations. ** ========================================================================== The MainMail System Ver 3.41 - Changes 03/19/94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ 1) This update has no actual code changes. There was a bug in the buffered file I/O library I am using, which we think was causing corrupted packets once in a while. This version is simply a recompile with the new library. The MainMail System Ver 3.4 - Changes 03/03/94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ 1) !!!!!!!! IMPORTANT !!!!!!!! If you use the command line parameter to pass the path to your GAP default directory, you will have to preface the parameter with a -G: starting with this version. Old method: MM-GAP I:\GAP New Method: MM-GAP -G:I:\GAP An easier way is to use the GAPCNF environment variable to point to your default directory. Doing so will eliminate the need for the -G: command line parameter altogether. Using the GAPCNF environment, the above example would become this: SET GAPCNF=I:\GAP 2) You may now specify a 'local download/upload' path on the commend line, to override the path specified in MMSETUP. This may be handy of you use MainMail for a local network crosslink, and don't want to intermix your network packets with your personal packets. A command-line local download/upload path must be prefaced by a -L: switch. Example: MM-GAP -U -N:USER'S NAME -L:F:\GAPNET\UPLOAD This example would use 'F:\GAPNET\UPLOAD' for the QWK or REP directory instead of the path specified in MMSETUP. 3) MainMail was adding a phantom forum with no name to the end of CONTROL.DAT, resulting in a blank forum in the user's mail reader. Fixed.... 4) MainMail and MMSETUP are now _FULLY_ Desqview aware. Previous versions checked for DV and routed screen writes through it, but did not relinquish unused timer ticks to it. This version relinquishes all unused clock tics back to Desqview. MM-GAP.EXE will display "[dv]" in the status line if Desqview is detected. MMSETUP.EXE has no indication. 5) MainMail was causing a system hang or an exception 13 when an uploaded message had an AT sign (@) embedded in the TO: name of the message, as used in Internet. Fixed... 6) Added some special modified MSC startup code to allow us to open up to 60 files at a time, instead of the normal default of 20 files. This will save some code we had to use in the past to manipulate file handles to stay under a total of 20. Because of this, your CONFIG.SYS __MUST__ replect a minimum of 30 files on EACH NODE or you will someday experience a failure while in MainMail as a result of running out of file handles. MainMail no longer attempts to stay within the limit of 20 file handles. Check your CONFIG.SYS _NOW_! Set FILES= to a minimum of 30 for a node, or if running on a servr, a minimum of 30 files for each node connected to the server. MMSETUP.EXE ~~~~~~~~~~~ 1) See above regarding Desqview awareness. 2) New command line parameter: -NM Disables mouse support. When operation under a multitasker such as Windows or Desqview, the mouse support built into MMSETUP takes a tremendous amount of processor time. Even with Desqview awareness built in, the mouse support practicaly DOUBLES the number of clock tics needed to perform any given function. For this reason, the -NM (stands for NoMouse) will completely disable the mouse support, lending more of MMSETUP's time back to Desqview, and speeding up the other windows currently open. In-house tests showed a 92% increase in the amount of time GIVEN BACK to Desqview when mouse support was disabled. ========================================================================== 01/22/94 ~~~~~~~~ Fixed the brain-fart on my part that was causing the ISAM error 202 in the single user version of MM-GAP.EXE, MMSETUP.EXE and MMPACK.EXE. Kept the version number the same because it is essentially the same code as Ver 3.3 dated 1/21/94. The MainMail System Ver 3.3 - Changes 01/21/94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ 1) There have been a couple of reports of MainMail 'homing' the cursor on the remote screen in version 3.2 and 3.21 just as the download started. The following result was that the text AFTER the download completed would overwrite existing text at the top of the screen. While The Main Shop was never able to successfully duplicate this phenomenon, we suspect that MainMail was closing the com port too quickly prior to launching the external protocol, and this was corrupting an ANSI color code being sent to the remote. The corrupted ANSI sequence was then being misinterpreted as a cursor positioning code. (works for me). Anyway, I added a 1/4 second delay before launching any external program. We'll see if that works..... 2) New command: 'SY' [S]elect [Y]our forums. The 'SY' command is identical to the 'S' command except that it only displays forums that the user has CURRENTLY SELECTED. The user can then deselect any or all of them (except any FORCED forums), or change their select flags or message pointers in a normal manner. A new MM-MENU is part of this release. (See MM3GEN.ZIP) 3) Added support for the offline configuration command "RESET" used by OLX Ver 3.x and other modern QWK mail readers. To use, send a message to MAINMAIL, in the forum you wish to reset, with the subject of 'RESET xxx' or 'RESET -xxx' where xxx is a number pertaining to the messages. If xxx is a positive number, MainMail will set the last read message number to THAT number. If xxx is negative (-xxx) then MainMail will set the last read message number to the high message number LESS that number. 4) Fixed a minor bug which resulted in MainMail including a message as 'personal' if the TO: or FROM: field(s) were blank, and the user's handle was also blank. MMSETUP.EXE ~~~~~~~~~~~ 1) Fixed an oversight in the user editor that was not allowing the sysop to enter a user's network number without using the F5 pick list. ========================================================================== The MainMail System Ver 3.21 - Changes 12/31/93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ I don't know how this one slipped through beta testing. MainMail was falsely detecting a dropped carrier when the user used the 'UG' (upload/goodbye) command. MainMail would then throw away the uploaded REP packet, loosing the uploaded messages. Fixed.... MMSETUP.EXE ~~~~~~~~~~~ Version number change only. ========================================================================= The MainMail System Ver 3.2 - Changes 12/31/93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ 1) MainMail now writes directly to screen memory if a VGA card is present. This should speed up local screen writes tremendously. If the local video card is CGA or MONOCHROME or if Desqview is present, MainMail will continue to use INT10 to prevent CGA snow, and bleed through in DesqView. 2) Fixed a bug pertaining to forced forums, and net-status users. When a non-net status user opens the MainMail door for the first time, s/he is registered into all 'forced' forums. If, after that time, that user is granted net-status, those forums are no longer forced. Therefore, the user can deselect those forums. The bug manifested itself if one of those 'forced' forums is not a network forum. MainMail was not allowing the user to deselect any non-network forums, and was continuing to include the non-network forum in the download. Fixed... 3) MainMail now has the ability to swap to EMS or disk when shelling out to an external program, or during a sysop shell to dos (F5). With swapping enabled, MainMail will swap to either EMS or DISK. If MainMail swaps to DISK, then a swap file with the file name "MM-GAPxx.SWP" will be written to the directory in which MainMail was started from. ('xx' will be replaced by the node number). See the next section regarding the changes to MMSETUP.EXE. NOTE: If swapping is enabled, MainMail clears the local screen while the external program is running. This allows MainMail to swap out the ENTIRE program, leaving the least possible 'stub' of itself in memory. MMSETUP.EXE ~~~~~~~~~~~ 1) Fixed a minor bug in the user editor. 2) As mentioned above (in the section on MM-GAP.EXE), MainMail can swap to EMS or DISK when shelling to external programs. To enable this feature, two GENERAL screen toggles were added. Swap During Shell ~~~~~~~~~~~~~~~~~ This toggle MUST be set to "Y" for ANY swapping to occur. If this toggle is "N", then the next toggle has no effect. Use EMS For Swap If Available ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If the previous toggle is "Y", then this toggle tells MainMail whether or not to try EMS first when swapping. If this toggle is set to "N", then MainMail will swap to disk. If this toggle is set to "Y", then MainMail will try EMS first, and if unsuccessfull, it will swap to disk. !! READ THIS !! Notes On Swapping ~~~~~~~~~~~~~~~~~ 1) MainMail does not use very much memory. Even under extreme situations, the MainMail door only uses about 220k to 240k of memory when running. Realizing that MainMail is usually running within a shell from GAP, GAP leaves aproximately a 30k stub in memory. This brings the total memory requirments to about 270k maximum for both GAP and MainMail, while MainMail is running as a door from GAP. As a result, MOST systems will have plenty of memory left over for external programs such as PKZIP, DSZ or HSLINK without swapping. If your system has even as little as 500k available at DOS prior to starting GAP, there will most likely be enough memory to shell to PKZIP without swapping. MainMail uses the same swapping routines as GAP (Hold Everything, from South Mountain Software). We know that these routines are VERY stable. However, there is always some overhead associated with swapping, and some delays (especially if MainMail is swapping to disk) while MainMail writes and reads the swap file. Therefore, it is recommended that you _ONLY_ enable swapping in MainMail if _AND_ONLY_IF_ you receive an error (E22) "out of memory" from PKZIP. 2. To utilize the most of swapping, MainMail disables the int21 redirection (dos box) while swaped out. We decided to do this so that we can disable ALL interrupts (including the common DOS int 21h), and allow Hold Everything to take control of the entire system, and swap every part of MainMail. The result is that the 'stub' left in memory by MainMail will usually be less than 10k, (nominally about 6k) resulting in a substantial amount of memory available to the external program. For this reason, when swapping is enabled, and MainMail launches an external program, the screen will clear, and you will see the external program run in a full screen mannor. Once the external program finishes, MainMail will swap back in, and restore the screen to it's original 'pre-swap' status. Again, there is a very slight delay associated with this procedure. ========================================================================= The MainMail System Ver 3.1 - Changes 11/10/93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MM-GAP.EXE ~~~~~~~~~~ Fixed a display bug in the 'RESET POINTERS' function that was causing the same forum name to be displayed on each line. This bug was NOT causing the function to fail, only to display incorrectly. MMSETUP.EXE ~~~~~~~~~~~ In the editors (users/forums/networks), when going from page to page, the editors will no longer prompt you to save changes, but will save changes automaticaly. The only time the 'SAVE CHANGES' box will pop is when you hit ESC and there have been changes to the record(s) on the current screen.