** 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. ** ========================================================================== 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.