NUKMD (History of Updates) All current and past revisions will be found within this file. NUKMD's roots stretch way back to the original code and concepts of Keith Petersen's XMODEM (based upon Ward Christensen's MODEM2). In that time, XMODEM has progressed from one version to another and is currently in two fully commented, public domain formats (i.e. XMDM and NUKMD), both of which benefit greatly by input from hundreds of sysops around the globe. Thanks to all who have kept the public domain CP/M concept alive! ** SPECIAL NOTE ** NUKMD is now (as of v1.10) online as an .ARK collection, which is more space efficient than .LBR's used in conjunction with "crunch" and/or "squeeze" utilties. I would suggest that you convert your .LBR files to .ARK format as soon as possible. This would normally be done with Bob Freed's "NOAH" utility, but as of this date (02/01/87) he hasn't completed it! Until NOAH is available for CP/M use, you will have to gain access to an MS-DOS machine, use PKARC (with /oct switch) or ARC to compile the .ARC files, then rename to .ARK and place on your CP/M system. When using PKARC, the "/oct" switch is required in order for the current UNARC utility (v1.4) to be able to properly extract the file members. Once NOAH is available, all CP/M systems will have no problem converting over to .ARK storage! ----------------------- ** current changes ** ----------------------- NUKMD V1.11 - 02/04/87 *First -- (Murphy's Law and my own faux pas here in my not making this clear in v1.10 notes below) the routines used for the .ARK/.ARC support were adapted from KMD22.ASM, by Irv Hoff (the majority of the adapted code was actually written by Bob Freed), as well as UNARC12 (Bob Freed) and TYPELZ21 (Steven Greenberg). A special thanks to Bob Freed for contributing *so* much to CP/M with his work in UNARC and KMD (and the eagerly awaited NOAH)! *Second -- corrected serious code error in the .ARK/.ARC routines, which would have surfaced at some point, but which did not appear during the last 1-1/2 months of testing. Thanks to Bob Freed for pointing out the error! *Last -- Keith Petersen (Royal Oak RCP/M 313-759-6569) mentioned his wish that NUKMD attempt to transfer an EOT ten times (previously tried only 4) as with any other received NAK, so the change has been made accordingly. Tom Brady NUKMD v1.10 - 02/01/87 *Users may now extract individual file members from .ARK/.ARC file collections via the "A" option. .ARK files (CP/M) are identical to .ARC files (MS-DOS) and are much more space efficient than the now antiquated .LBR storage used in conjunction with "crunch" and "squeeze" utilities. Those of you with access to an MS-DOS machine can easily begin .LBR to .ARK file conversions with the ARC or PKARC utilities -- those without will have to wait until Bob Freed completes his NOAH utility (get it? NOAH and ARK) for CP/M. *NuNEW v1.0 released -- supports the .ARC/.ARK member extractions noted in the transfer activity log file. It also provides 5 command line options for the Sysop (or user with WHEEL access), as well as pagination. *LUX v5.4 released -- added support for NUKMD. Also corrected some minor v5.2 errors and added a few features. AFILES will display a DIRectory of .ARK/.ARC files (when in a .LBR) and LFILES will display a DIRectory of .LBR files (when in an .ARK/.ARC file) -- FILES continues to display a DIRectory of files which match the type of current logged file. Removed LUXTYP22.COM/.MAC/.SUB because of the antiquity of this utility -- replaced with LT18, which types all files, regardless of storage format (i.e. squeezed, crunched, etc); it also accepts wild cards. *Those of you who do not wish to use menus for upload area user choice, but prefer to have one drive/user area available may now set an EQUate. *Corrected a bug (cropped up in v1.03) which prevented message files and message file descriptions from being handled properly by MFMSG (MBBS systems). Barry Miller (Long Island Epson RCP/M 516-536-1546) and Jim Foust (Data-World MBBS 404-289-2050) both brought this problem to my attention -- thx! *Because NUKMD is now a single file of over 190k, I split it into several smaller sections -- this will help those of you working with limited space on floppy drives. Tom Brady Decibel PBBS (404) 288-6858 PC Pursuit Access ---------------------- ** previous changes ** ---------------------- NUKMD v1.03a - 12/29/86 *Corrected a couple of conditionals which showed up when MSGDSC and DESCRIB were both set to NO and SETAREA was YES. Thx to Bob Clyne (Royal Oak RCP/M 313-759-6569) for informing me of the errors which appeared when he set things this way! NUKMD v1.03 - 12/16/86 *Corrected various output messages which were being incorrectly sent to local *and* remote. All displays are now as they should be and the remote end will no longer be confused by things such as "CRC requested" responses which are meant for local viewing only. Special thanks to Ed Garcia for pointing out (as well as diligent research/analysis in finding) an offending output, which led to the fixes! Thx to Gary Inman (West LA MBBS/RCPM 213-838-9229) for uploading Ed's notes and suggested areas to be checked. *After numerous requests for this, multiple upload category/area support via menu mode is now available! The sysop now has a choice between two formats: 1> multiple menus (up to 3) or 2> single menu. By using the multiple menu mode, you can have up to 30 drive/user/category options available, while the single menu mode supports up to 26 drive/user/category options. You may now (if you wish) have all uploads placed directly into the appropriate drive/user areas and your FOR file will contain much more detailed information headers. Note: For those of you who still prefer to use only one or two drive/user landing zones, you may still take advantage of the extensive category options for your FOR file, while assigning only your required d/u areas. Dick Roberts (Holly Park RCP/M 201-757-1491) submitted code suggestions, some of which were incorporated into the final NUKMD draft -- thank you very much! A section of the code submissions was by Russ Pencin (Dallas Connection 415-964-4356) as found in XMDM125. *Revamped the error handling routine to operate via a menu, so users can pick exactly what NUKMD transfer information they require additional help with -- they may now see just what available upload space there is, too, which ties into the multiple/single drive/user/category modes mentioned above. *You may now perform limited tests without a BYE installed. Mainly useful to verify your category menu(s) format, free disk space (which tells you if you have your equates set properly), etc. Should prove useful to many of you! *Corrected to correctly credit a user's upload time (if CREDIT is YES). This bug was last brought to my attention by Bill Duerr (Detroit KUG 313-772-0522) and Carol Miller (Znode #33 405-237-9890) -- thanks to all others who complained but didn't get mentioned! *Added an alternate special download command and d/u area. The "SS" option is useful for those of you who have restricted download access for non-verified users. By using this download command option, your non-verified users are able to download files only from your designated d/u area, which may be public -- they are able to get your directory files, BBS lists, help files, etc, same as your normal users, without your having to duplicate these files for access via the "SP" command option. I use this feature on my system to allow all users access to the NUBYE/NUKMD files section (currently E0:) without them having to be verified for "full" system access. Command format: NUKMD SS filename.ext - Tom Brady ----------------------------------------------------------------------- NUKMD v1.02 - 08/08/86 *My apologies for this version following so closely at the heels of v1.01, but Murray Simsolo discovered one major and one minor bug as described below. Two other mods were incorporated, also. *One note about the UPLOADS file when operating MBBS and MSGDSC is set YES -- this file is kept on the private area since it is of no importance to any user. NUKMD also overwrites this file on each normal upload and little space is ever required. *The batch uploads display now includes BLIMIT, so your users will know the maximum number of files you allow via batch upload. *Expanded the NUK-HEAD.INS to include the description categories, which are normally edited to your system's needs. - Tom Brady *(Bug fix) When the system is neither MBBS nor PBBS and RESUSR is set to YES, the WHEEL byte turned off would prevent uploads. This section of code was removed (not needed for uploads at RCVOK2:). *(Bug fix) When MSGDSC was set YES, the description header showed the wrong drive/user area for the newly uploaded file(s). *Adapted code from XMDM to prevent free space being shown twice when the normal and private upload areas were the same. *Adapted a line of code from XMDM to strip any high bits in the file name before entering in the NUKMD.LOG. Some backup utilities, etc, set bits high. - Murray Simsolo LIKUG MBBS (516) 825-8465 ----------------------------------------------------------------------- NUKMD v1.01 - 07/30/86 *A little known (?) fact about batch transfers -- 300 baud users *ARE* able to use batch for downloads/uploads. NUKMD will force Xmodem protocol at this baud rate. *A secondary library and NUKMD format have been added for those who have limited disk space for file editing. Within NUK101-S.LBR you will find NUK-HEAD.INS (header text and all the setup EQUates) and NUK- BODY.ASM (the main program code). After setting the numerous EQUates found within the "Head" for your system needs, you will join it to its "Body" using PIP (or similar) and assemble with your favorite assembler. The -READ.ME file will help you through this procedure. This should be beneficial for those who have no desire to fiddle with NUKMD's "innards". *Added the MSGDSC equate and related code for MBBS Sysops who like to have upload descriptions added directly to their message base. While header format is in keeping with Kim Levitt's special utility programs (i.e. WHATS, etc -- at Joubert Berger's request), you get the added benefit of multiple description entries via batch. While not as nice as being able to use MBBS's editing features during description entry, the batch description handling is a big plus. Using this function replaces the standard FOR file of descriptions, substituting an UPLOADS file which is over-written after each upload session and picked up by MFMSG.COM to be stuffed into your message base. *NUKMD now correctly handles EOT's from those "dumb" terminal programs which don't/can't acknowledge NUKMD's request for an additional confirming EOT. If this happened in the past, NUKMD would timeout waiting for another character and erase the file just received. You will now see (local) a special message when this occurs and NUKMD will continue on, properly saving the file. *Modified the "RW" command to be of benefit to those Sysops who use neither MBBS or PBBS, but who would like to utilize this feature. This allows you to upload a file to any accessible d/u area without being asked for a description. The transfer *IS* recorded as a "P"rivate upload, so as not to be viewable by a normal user with the NEW utility -- this is very handy if you have an assistant Sysop and (as most of do) wish to keep track of their transfer activity. The new support is for those who utilize the WHEEL byte -- MBBS/PBBS systems use the special access flags byte to restrict this function as well as a number of other functions. *Reformatted most all output messages and transfer menus to make more sense to all users. Until now, both you and your users were shown all transfer data (except transfer times) based upon Xmodem protocol only -- this meant the number of records/packets sent were 8x the actual number of 1k packets and you (locally) had to watch as number of records sent/received were incremented by 8 (i.e. 8, 16, 32, etc) - senseless. Now, if operating at 1200+ baud, all displays are utilizing both protocols (Xmodem 128-byte and Ymodem 1k), and you are shown "Sending Xmodem packet #" or "Sending Ymodem packet #", depending upon the current transfer state (i.e. this output changes as the transfer requires). Also, a 300 baud user is not shown any Ymodem data, since 1k transfers are useless to them. *Added CLRSCR equate to provide crt clearing during batch downloading. You may define up to 6 bytes for your clear screen sequence. - Tom Brady *Corrected an error (at FULL: and OERROR:) where a JMP DEXIT was made, rather than a CALL DEXIT. - Murray Simsolo ----------------------------------------------------------------------- NUKMD v1.00 - 04/28/86 *Renamed to NUKMD (from the public domain title KMD) in order to prevent certain "machinery" from squashing our efforts -- there are many who don't realize that KMD15e incorporated modifications and new features that were totally ignored in KMD17. The NUBYE series provides 100% support for all of you who have been using the old KMD series, yet brings to you many new features. All suggestions and/or ideas are welcomed -- any mods/features incorporated from your code will bring you full credit! *Added code to require two EOT characters (end of transmission -- ^D) from the remote user (uploads only) before file termination. Xmodem protocol has only required one EOT in the past and this would sometimes cause a partial file to be left on your system when an unwanted EOT was received in the middle of a transfer -- chances are this has happened to you and a user told you he/she sent another copy (using a different filename) since the transfer bombed... While the idea for this modification came from KMD16, the code I implemented responds quicker and is much more efficient. Also, this is transparent to all popular communications programs (i.e. PROCOMM, QMODEM, PRO-YAM, MEX+, MEX, IMP, etc). - Tom Brady ----------------------------------------------------------------------- KMD v15e - 04/09/86 *First "east coast release group" version, dedicated to promoting public domain enthusiasm! All code submissions and modification requests from sysops (individuals or groups) will be considered. The contributor of anything incorporated in future releases will receive FULL credit (i.e. name, system name, phone number, etc) -- not just a thx... Beta test sights/contact boards are listed in the ASM file. Read the KMD-EAST.INF file for reasons behind this move... *All comments have been returned as of v15 -- unless a person is the sole/original author, they do not have the right to remove all comments from a general release version of a public domain program. *There were no additional MBBS, Metal or PBBS options (or even any new code added for them) in v14 -- contrary to Irv Hoff's revision notes (line-by-line check will show you). The feature of showing current baud rate when showing time for transfer during batch uploads was in KMD, but just being by-passed specifically during batch xfrs. *Corrected KMD to support Ymodem batch downloads by those who use PROCOMM (MS-DOS) -- the authors will undoubtedly fix their error, but KMD will work smoothly with it now and not cause others any problems. *Returned the help menu which I installed in v11 -- it's there for the users -- NOT experienced folks! Every sysop who runs with this example display reports their users have virtually stopped asking how to transfer files. "Help" files for a user to download are all well and good, but most users won't take the time to read a separate file... *Added a new KMD.HLP file for those of you who wish to have such for user download. This is for the user and is written in an easy to understand manner. *Shortened the ASM file as much as possible by removing all the ";.....", extra lines, dashes, etc. *Added BLIMIT -- originally hard-coded to 50, the Sysop may now decide how many files may be uploaded via batch (max 256). *Added WRAP -- one of the nicest features, this provides auto line wrap at your pre-set column position. The user also has the option of turning off line wrap following the upload, in case a pre-typed description needs to be transferred via an ASCII send. This option is only asked once for batch. *Added PUPOPT -- "P"rivileged "UP"load "OPT"ion. For use by any system supporting the restriction access bits (currently MBBS). When RESUSR and this are set YES, the Sysop and anyone else designated "privileged" may upload files without being asked for a description. The transfer is also tagged in the KMD.LOG/LOG.SYS file as a "P"rivate upload, so nothing shows when NEW is run. The files may be sent to any drive/user area. The "RW" command is good in all modes - single/batch. (note: while "RW" is supported in XMDM, the use of it in KMD is unique -- XMDM was not referenced for this feature.) *Added MBBS -- under "File transfer logging options". MBBS systems use LOG.SYS -- not KMD.LOG. *Made it easy to spot the areas for patching with DDT (i.e. PRDRV/PRUSR 10CH/116H, DRV/USR 121H/12CH and WRAP 135H). *New file category descriptions -- everyone uses their own, but if you're going to mention adding just one, you may as well change the whole thing... *Corrected this history file to reflect the fact that all of new features shown in the v11 release were incorporated by me - I want credit for my hours. Just to make it clear: 1) Added code (adapted from Kim Levitt's XMDM/MBYE) for the RESUSR/MSGFIL feature. 2) Added the help menu with page pause. 3) Added support for local abort by Sysop with a ^X. 4) Corrected a long nagging KMD message, which told the user the files he requested were longer than the MAXTIM he had left -- if he had 5 minutes left from a total (MAXTIM) of 60, it still said a 10 minute file was longer than the 60 minutes he had! Made it correctly report the remaining minutes he had left for that day. *A number of other minor mods. - Tom Brady ----------------------------------------------------------------------- KMD v11 - 02/15/86 *Added RESUSR to allow SYSOP to control user access of uploads and downloads if their software sets the proper flags in BYE5. BYE's access restriction flag (LCPTR) are checked by KMD using the new extended BDOS call 85. See BYE503 for additional information. *Added MSGFIL for those systems which can support the new message file upload function in BYE503/KMD11. If RESUSR is YES, KMD also checks BYE5's LCPTR flag to see if caller is allowed to leave messages on your BBS. *Expanded the help menu and added automatic page pause. *Added local console abort (^X) capability for all file transfer operations, except after an upload has started. *Modified the routine which informs a user that the requested file would take longer than the alotted time. The user is now informed of his exact time-left-on-system for that current 24-hour period, rather than his maximum system time allowed. - Tom Brady