NUBYE and CP/M Plus (04/21/86) Please note that with the NUBYE release, most of the functions previously performed by the NU-CPM3.ASM (BYE.COM) program have been moved to NUBYExxx.ASM and that the NUBYE RSX is loaded only when necessary. This new operation is more efficient than previous schemes for RSX removal and system setup and allows the EXFILE logic in NUBYE to operate the same for all CP/M implementations. WHAT YOU WILL NEED: ------------------- - LU.COM and USQ.COM to unpack the distribution library file - The NU-CPM3.ASM file (supplied), which allows CHAINing or RUNning NUBYE from BASIC and schedules the RSX loader (NU-DRIV3) if necessary. - The NU-DRIV3.ASM file (supplied), which is the RSX driver program - The NUBYExxx.ASM file (supplied), which will become the CP/M+ RSX - The NU??-xx.INS machine-specific insert (available in NUBY-INS.LBR) - The NUC-CPM3.INS clock insert for CP/M Plus to replace routine TIME: in NUBYExxx.ASM -- get the insert from the NU-CLOCK.LBR. - RMAC.COM, LINK.COM, and GENCOM.COM (supplied with CP/M Plus) CONFIGURING NUBYE FOR CP/M PLUS ------------------------------ A single configuration parameter (CPM3) controls CP/M Plus code generation in the NUBYExxx.ASM file. Be sure to set CPM3 to YES for CP/M Plus operation. You should also use the ZCPR2 "WHEEL" feature to enable and disable SYSOP access to privileged system commands or program options. Set ZCPR2 to YES to allow SYSOP control of the WHEEL byte. Unless your BBS program has full control of the maxuser and maxdrive locations in page zero, set USEZCPR to NO and the other CCP options to the appropriate values. NU-CPM3.ASM and NU-DRIV3.ASM are necessary for generation and operation of NUBYE for CP/M Plus but do not require configuration or modification on most systems. GENERATING BYE.COM AND NU-DRIV3.COM ----------------------------------- Mimic the following suggested script to generate NUBYE for your CP/M Plus machine: 1 RMAC NU-CPM3 $PZ SZ 2 LINK NU-CPM3[NR] 3 RMAC NU-DRIV3 $PZ SZ 4 LINK NU-DRIV3[NR] 5 RMAC NUBYExxx $PZ SZ 6 LINK NUBYExxx[OP,NR] 7 RENAME NUBYExxx.RSX=NUBYExxx.PRL 8 GENCOM NU-DRIV3 NUBYExxx 9 RENAME BYE.COM=NU-CPM3.COM 1 - Assemble the caller-visible NUBYE program source 2 - Build a .COM file from NU-CPM3.REL 3 - Assemble the NUBYE RSX driver module 4 - Build a .COM file from NU-DRIV3.REL 5 - Assemble the configured and patched source file. Note that RMAC, not M80, must be used. 6 - Build a .PRL file from the .REL file generated in step 5 7 - Rename the LINK relocatable output file from NUBYExxx.PRL to NUBYExxx.RSX for GENCOM processing 8 - Post-process the .COM file to add the RSX just generated 9 - Rename the NU-CPM3.COM file to the familiar BYE.COM The BYE.COM and NU-DRIV3.COM files are now ready to be placed in A0: -- NU-DRIV3.COM may be renamed to something other than NU-DRIV3 but NU-CPM3.ASM must be updated to reflect that name change. The NU- DRIV3.COM file should be made a SYSTEM (hidden) file to minimize "accidental" unnecessary loading/unloading of the NUBYE RSX. Type BYE to start the NUBYE program the same way a caller will type BYE to reset the system for the next caller. The NUBYE program will use the CP/M Plus BDOS chain function to load and execute the NUBYEDRIV RSX loader program to perform system initialization. OPERATING WITH NUBYE IN A CP/M PLUS ENVIRONMENT ---------------------------------------------- NU-CPM3.ASM is provided with the NUBYE release. That program can be assembled, linked, and placed in the default directory as BYE.COM. The program exists ONLY to satisfy the requirement that a program named BYE.COM exist on an RCP/M+ system. All processing is performed by the NUBYE RSX. If BYE.COM cannot locate the NUBYE RSX, it will pass the caller's command tail on to NU-DRIV3.COM to initialize the RSX. The NU-CPM3.ASM file is set up to call A:NU-DRIV3.COM which will be acceptable on most systems. The literal (representing the NUBYE RSX driver program name) can be changed or moved as the Sysop requires. The use of this two-file NUBYE system requires no special configuration. Many RBBS-type programs CHAIN to or RUN the BYE.COM program to cause a disconnect. Most are unaware of CP/M Plus and so simply load the BYE.COM program into the TPA and jump to it. If the program being chained to or run contains an RSX, its first instruction is always RET so the chain or run is in effect ignored. This two-file NUBYE setup allows all RBBS programs to operate as intended by loading the BYE.COM program which has no attached RSX's. That program then uses CP/M Plus or NUBYE functions to load and/or execute the "real" NUBYE program (usually named NU-DRIV3.COM). In order to save space and make the system operate as required for RCP/M use, a sequence similar to the following is recommended to set up the system prior to NUBYE use (why not make it a .SUB file for ease of access?): 1 LD.COM;psword \ 2 BYE 1 Make sure all unnecessary LD-generated RSX's are removed prior to system access 2 Start up the BYE.COM program which will chain to the NU-DRIV3 program and load the NUBYE RSX. Note that "psword" should be changed to your own system's default password. Use of passwords on files "not for distribution" or not recommended for callers' use can be available for the SYSOP but unavailable to callers. If you are using Jim Lopushinsky's CCPnnn+ in place of the standard CP/M Plus CCP, you won't need to make the files in user zero of your control disk SYStem. Use of that package is recommended for optimum remote operation and security. Jim's Meadowlark RCP/M+ number is 403- 435-6579. If you don't use CCP+ and you have enough disk space, place copies of all your online programs (RBBS.COM, DIR.COM, XMODEM.COM, BYE.COM, etc) with SYStem attribute set in user zero of some drive other than A. Then place the .COM files your users typically look for in A0: with attribute DIR. That way, they can do a DIR of A0: and know what is available for execution and still execute them all from any drive/user on the system. BUILDING AN INSERT FOR CP/M PLUS -------------------------------- Any of the existing CP/M Plus inserts can be used as a guide from which a new NUBYE insert can be built. The "original" inserts used for NUBYE research and development are for the Osborne Executive (OX), Morrow Decision hard disk series (MH), and the Lobo Max-80 (LO). Examine the code and comments in any or all of these inserts. CONTACT POINTS -------------- George Peace P.O. Box 4344 / Harrisburg, PA 17111 or P.O. Box 481 / Midlothian, VA 23113 or CompuServe: 71555,1501 or Data only number: 717-657-8699 (300/1200/2400) In addition to the standard contact points listed in the NUBYExxx.ASM file, please feel free to use the CompuServe CP-MIG SIG (GO PCS-47), the FOG RCP/M's, and my own system (see telephone number above) to discuss program operating characteristics, report bugs, and, most important of all, to funnel your suggestions and updates to me.