------------------------------------------------------------------------ EMX-DOC.HIS -- EMX Documentation Addendum ------------------------------------------------------------------------ Explantion: I am very tired of looking at updates of files that con- sume more space in the source file than the actual code! For this reason I am asking all who update or modify EMX in such a way as to require a new release of the source code, to please use this file as a means of explaining what they did, why they did it and how to use it..... Please follow the structure that I have used here as it will at least keep the file neat and readable. The new update should be at the start of the list each time, thereby minimizing the time spent reading the file. ------------------------------------------------------------------------ The EMX313.DOC file will remain as the general documentation file for this series of programs but the docs for any changes to any of the EMX files will appear here.... please forward any updates to the following: --> EMX RCPM, Toronto, Ontario, Canada - Simon Ewins --> CNY Technical RCP/M, Syracuse New York, USA - Mark Howard --> CP/M-NET (East), Piscataway New Jersey, USA - Harry Kaemmerer ------------------------------------------------------------------------ Version: 3.13 Files Affected: EMX.MAC BYEMX.MAC EMXHDR.MAC Update by: Simon Ewins Date: 09/15/84 Details: Version 3.13 brings a major change to EMX.... The origi- nal message entry routines for EMX were character-based rather than line-based but a few bugs at the time of the initial release caused me to install the current line- based routines. The bugs are gone now so the character- based routines have been included. There are a number of advantages to this method, the most noticable being the "search/replace" type of editing... the second main advantage is that larger messages can be supported, in fact with the MSGBUF equate to be found in the new EMXHDR file, you can define a message to be any size that you wish as long as it is a multiple of 64. In the new message entry system a carriage return is treated as just another character and unless four are entered in a row, the carriage reaturn is simply added to the message... Linefeeds are not added in the message itself but are printed when the message is listed to the screen each time a carriage return is encountered. You exit the message entry routine by entering either the 4 carriage returns mentioned already or by entering a dot (.) in column 1 of the screen... for purposes of "auto- linefeeding", a column counter is kept which is used every time a '.' is entered... If the column counter is at 0 and the user enters a ',' then the message entry routine is terminated and the user is given a short list of options. A few notes: - The messages are now stored as a continuous string of characters. the block size is still 64 but the blocks are not padded to the right with nulls. - A carriage return, when entered into a message is stored without a linefeed, so if you wish to write a routine to print the MESSAGES.EMX file you will have to add a linefeed whenever you see a carriage return. - To quit entering a message, the user must enter a dot (.) when the cursor is in column 1 (left-most side) of the screen. A column counter is maintained by EMX that is based on an 80 character screen... this could be changed but I would suggest that you leave it alone since the counter is used for generating a new line at 80 and will not allow a backspace beyond the start of a line. if the width was changed then some remote users with screens that are wider than the width you choose will get some pretty messy screens.... - The caret (^) is used in editing to represent a carriage return. - The message routine is VERY stack intensive... use a LOT of care if changing ANY of the new routines! ------------------------------------------------------------------------ Version: 3.12 Files Affected: EMX.MAC BYEMX.MAC EMXHDR.MAC Update by: Simon Ewins Date: 09/02/84 Details: Version 3.12 of EMX contains a couple of minor code fixes and one major change to the EMX.MAC file and the BYEMX.MAC file. the EMXHDR.MAC file is also affected by this change. The change involves the ability to keep track of the time that a user has spent on the system in any one 24 hour period. The change to the file structure is that an extra byte in the user's file is now used to hold the total time used. This in no way affects existing user's files as there are a number of free bytes in each record already. The value is set when the user logs off and the next time the user calls in a check is made to see if the day is the same as the last time he called. If the day is different the value of the total-time byte is set to 0 and the user gets the full time allowed him according to the value set for his access level in the access table in EMXHDR. if, however, the day is the same as the last time the user called then the time used so far is subtracted from the time allowed and the resulting amount of time is set into place as the maximum time allowed for that call. As with all such features of EMX this is a switchable option that is kept in the EMXHDR file ... the label is TOT and if it is set to 1 then this feature is acti- vated, if it is set to 0 then the routine is bypassed. This routine depends on your running byemx on your system to load BYE proper when a user logs off... the minutes used on the current call are added to the value of the time used today and then written to the users file. The first problem is with the fact that all users do not type BYE when signing off and if they go over limit then the loader is not normally able to run. The file called EXAMPLE.312 in the library shows how I changed my version of EMXBYE (v4.1 of EMXBYE now in- cludes all these changes) so that it will chain to BYEMX when either the input times out or the carrier is lost or the user goes over his time limit... the version of EMXBYE that I was using was 2.4 ... also in the same EXAMPLE.312 file you will find an extra couple of function key routines that load either the remote path or the Sysop path into place. This allows you to ac- cess private .COM files when a user is online and carry out file maintenance etc., etc... If you are not running EMXBYE then the EXAMPLE.312 file should still prove useful as a guide to modifying your BYE but you will probably have to refer to EMXBYE41 to get a clear view of the method used to chain to BYEMX as outlined above. So... you need to set TOT: to either use or not use the new time feature you must be using BYEMX and you should modify your BYE to chain to BYEMX. If the above aren't all YES then you better set TOT: to 0 to disable this stuff.... If you are running an older version of EMX then the files in this library should replace those you are using now even if you don't implement the new time stuff.... If you are just starting with EMX at v3.12 then you will need EMX-UTIL.LBR and EMX-STRT.LBR as well as this file. Read emx-3xx.DOC for more information. ------------------------------------------------------------------------ ==> Fixed bug in the check for maximum users ........... v3.11 08/06/84 ------------------------------------------------------------------------ ==> Source code released ............................... v3.00 07/28/84 ------------------------------------------------------------------------ ==> Second public release version ...................... v2.35 06/15/84 ------------------------------------------------------------------------ ==> Initial public release version ..................... v2.30 06/01/84 ------------------------------- end ------------------------------------