home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
nubye
/
nubye101.lbr
/
NUBYE.HQS
/
NUBYE.HIS
Wrap
Text File
|
1986-08-05
|
28KB
|
476 lines
NUBYE
(History of Updates)
All current and past revisions will be found within this file.
NUBYE's roots stretch way back to original code and concepts by Dave
Jaffe (01/79). Over the years, it has progressed from one version to
another and is currently found in three fully commented, public domain
formats (i.e. BYE3, MBYE and NUBYE), all of which benefit greatly by
input from hundreds of sysops from around the globe. Thanks to all
who have kept the public domain CP/M concept alive!
-----------------------
** current changes **
-----------------------
NUBYE v1.01 - 07/30/86
*For those unaware -- the NUBYE has an automatic system operation equate
(AUTOSYS) which allows for automated, non-attended part-time system
operation (i.e. you can have your system start up at 7 p.m. and shut
down at 8 a.m. every day of the week while you are on vacation, etc).
*PBBS fully supported (as it always has been).
*NUBYE will now allow only one run of an EXIT file on normal 'BYE', time
up, or time out functions. Russ Pencin has also added code to PBBS
(which I submitted) to prevent additional timeouts from occuring once
within the PBYE exit utility.
*Modified the high memory bell toggle byte for proper operation, if
using this and you set LMBELL to NO.
*Modified ASKNUL related code (when this is set to NO) to display
"Default nulls" message only when your BBS is a non-PBBS system.
*Added additional path equates for ZCPR3 and/or those folks who need
more than the previously available two. You may now specify up front
as many as 5 drive/user paths (suggested by Jim Gooch & Terry
Carroll).
*Added SHOSYS equate for those who wish to display a special line of
text (i.e. system name, etc) upon carrier detect (suggested by Murray
Simsolo).
*Added HITCR equate for those who have set ASKNUL to NO, yet insist upon
making your users hit a key to continue...(suggested by Murray
Simsolo). Note: This defeats the purpose of setting ASKNUL to NO,
which is meant to automate system entry a bit more. If you truly find
a use for this function, please let me know -- if I don't hear many
requests to keep it in, I may remove it in a future version...
*Added ECBFIX (i.e. E Cold Boot Fix) for those whose systems would get
hung in an endless loop when trying to perform a BYE E right after
doing a system reset (i.e. Kaypro 10's with Turbo ROM and Epson QX's).
Note, this slows down local entry of your .COM file, so leave this
equate NO if you've had no problem in v1.00 of NUBYE (Murray Simsolo
sent in the fix as a hard code setting, but an equate is better since
not everyone has experienced this problem).
*You may now run your .COM file locally without first hitting your ^C to
get to the special menu. While NUBYE is waiting for a call, hit an
upper case 'E' and you'll be off and running. While a super simple
hack, this really comes in handy.
*Added a new ^C menu choice (i.e. 'Z'), which allows you to zero your
system counters and resume NUBYE operation (suggested by Barry
Miller). Also, changed the menu format while I was at it.
*NUBYE now displays useful system information between calls, before
clearing your screen (if CLRSCR is YES, that is). You have plenty of
time to view this information while NUBYE does normal modem/port
resets.
*NUBYE now displays a new prompt when requesting nulls. A LF does not
occur until the user inputs a CR or 0-9 for nulls selection.
*Added a Sysop function key which will toggle just the WHEEL byte (^E).
*Fixed the timeout routine (located in MSTAT:) -- this was causing
timeouts to occur at an accelerated pace, regardless of what you
wanted your timeout period to be...
- Tom Brady
Decibel RCP/M (PBBS)
(404) 288-6858
*Submitted code for SHOSYS and HITCR equates, above. Also, suggested
moving the label HANGUP2: as mentioned above with ECBFIX.
*Turned off sysop function keys during local running of .COM file.
*Moved the code which automatically sets a users default nulls upon
carrier detect for those systems which set IMAT to NO.
*Corrected numerous conditionals throughout.
*Eliminated the label STARTE: and modified code to simplify local .COM
runs.
*Modified the section of code which requests selection of nulls to allow
a CR entry to default to 0 nulls.
*Moved the ZCPR3 initialization code up front rather than where it has
been called as a subroutine. This clears the ZCPR3 buffers as soon as
NUBYE hangs up, rather than when the Sysop exits to CP/M or a new
caller logs on.
*Corrected NUBYE to update the clock when running locally (these three
lines had mysteriously vanished somewhere along the way -- tmb).
- Murray Simsolo
LIKUG MBBS
(516) 825-8465
------------------------
** previous changes **
------------------------
NUBYE v1.00 - 04/21/86
*Renamed to NUBYE in order to prevent certain "machinery" from squashing
our efforts -- there are many who don't realize that BYE505
incorporated modifications and new features that were totally ignored
in BYE506. The NUBYE series provides 100% support for all of you who
have been using the BYE5 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!
*NUBYE now announces itself to the user upon carrier detect -- always
nice to know what is in operation as with any system utility.
*Added code to prevent NUBYE from timing-out when the WHEEL is on --
this at Joubert Berger's suggestion.
*Added code to make the twit key work properly -- when you hit CTRL-N
(^N), NUBYE will now drop carrier -- no "Goodbye, call again..." or
anything. This was also suggested by Joubert Berger.
*Added UPDOUT (UPdate clock during OUTput) -- normally set YES, some
systems are a bit slow to update the clock, evidenced by "hitches"
after each CR/LF (i.e. during DIR output). If your system acts this
way, set this to NO and the clock will only be updated after receiving
a CR from the user (not local). See Jim Gooch credit, below.
*Got rid of an extra CALL TCHECK (and associated code) that was not
needed, so some systems will notice a bit quicker CR/LF response.
*Added EXRET (if EXFILE is YES) for those MBASIC, C and Pascal programs
which have troubles saving the stack and RETurning to NUBYE. Read
the NUBYE.HLP file for a bit more info.
*An update to "dummy" BDOS call 84 -- seems this is used by the "METAL"
system and Wayne never mentioned it -- so THAT'S why it isn't defined.
- Tom Brady
Decibel RCP/M - MBBS
(404) 288-6858
*Fixed clock update to take place only after an incoming CR is received,
so systems with slow clock updating won't notice "hitches".
- Jim Gooch
Norcross MBBS RCP/M
(404) 921-1116
CP/M Plus Update ----------------
*Removed NU-CPM3.ASM cleanup code and merged them (properly) into
the NUBYE100.ASM. See NU-CPM3 files in NUBY-SUP.LBR.
*EXFILE logic corrected -- CP/M 2.2 and 3 systems will now operate the
same at disconnect or carrier loss.
*Code has been cleaned up to prevent unecessary loading/unloading of the
NUBYE RSX between calls.
*RSX cleanup routine between calls now removes any/all RSX's loaded
during last caller's session, instead of just the LD generated RSX's.
*Drive select logic now uses WBDRIV setting.
- George Peace
FOG System #10
(717) 657-8699
-------------------
BYE v505 - 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.
*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.
*Added AUTOSYS, ONHR/OFFHR and DROPLOC -- should be very good news to
those of you who operate systems during certain hours only, as well as
those who would like to run a system from work. Set AUTOSYS to YES --
ONHR to the hour you wish BYE5 to start answering the phone, OFFHR to
the hour you wish it to stop -- walk away and forget it. Everything
will be handled automatically for you. Say you leave your office at
5pm (17:00 hours) and get back to work at 9am (9:00 hours), but would
like your system to operate from 6pm to 8am. Set ONHR to 18 and OFFHR
to 8 and assemble BYE for your other system requirements. Now, run
BYE before you leave and it will wait until ONHR to start answering
the phone and will stop answering the phone at OFFHR -- all
automatically. Unless you set DROPLOC to YES (in which case, BYE will
drop into local mode at OFFHR), BYE will continue this ONHR/OFFHR
cycle until your computer dies, or you break out of it in the normal
manner (^C). Note: This feature only available is you have a clock
(CLOCK is YES). For those of you who operate "off the cuff", or
occasionally want BYE5 to begin answering the phone when you first run
it (regardless of your ONHR setting), all you have to do is hit the ^T
key and off it goes! BYE5 automatically resets at OFFHR -- super
simple, very handy.
*Added CCPOFF -- This figure was hard-coded into all previous BYE5
versions. Originally, it started out at 256, dropped to 128, dropped
even lower in v503 and, in v504, came out set to -8! Well, a number
of systems have problems with certain housekeeping utilities when it
hit this point and others reported system crashes in unlikely places.
You will now set this to whatever your system can handle -- most will
be satisfied by leaving it set to 128 (default). This provides some
buffer between the end of BYE and the beginning of your CCP.
*Added FUNKEY -- for those of you who have TPA shortages when trying to
use all of BYE's features. Set this to NO and it eliminate all
special Sysop function keys, except for the BELL key (^G) and the TWIT
key (^N).
*Moved all of that "-40H" code in the function key section to the
sections where each is actually used, so as not to confuse some folks
(rather than tell them "don't mess with the -40H"). Did the same for
the "-'@'" used in a number of equates.
*Added WHLKEY -- this function key (^E) will allow you to toggle just
the WHEEL byte on/off, if used.
*Added SETFLG and USRFLG for those of us who don't want the ^U or the ^B
to toggle all restriction flags on! Keep in mind, I added the RESUSR
code to v503 specifically for us MBBS Sysops (but kept everything
generic to please Wayne Masters). We might want a user to have
unlimited time, but MBBS provides many useful utilities for fiddling
with these bits. Set SETFLG to YES, if you have incorporated support
for these access bits -- then, determine which bits you would like to
have ^B/^U toggle and set USRFLG accordingly. MBBS users will want
SETFLG NO.
*Added SHOWTLN -- also for code savings and for those who run a ZCMD
version which constantly displays the "time-left-on" or "time-on"
system. In this case, set SHOWTLN to NO and the normal "Minutes on:
xx" will be displayed with your ^T function. When set YES, your
display is:
"Minutes left: xx" -- for normal users
"Minutes on: xx" -- for unlimited time users
*Added NOSHOW -- if you have COMFILE set YES, but don't operate one of
the six BBS systems designated, set this to YES and enter your
system's .COM filename at the label COMFCB: (near the end of the
program).
*For those of us (MBBS and some RBBS systems) who use LMBELL and are
tired of all that double bell toggle crap (which didn't always work
properly), v505 is a blessing. Set LMBELL to YES and the ONLY bell
flag location used is the low memory byte located at KILBEL (3BH
default). The new CHAT45 also has this support (again), so we don't
need to use BYE's internal flag. Set BELOFF to YES, if you wish for
BYE to initialize with the console bell flag (LMBELL YES) turned off
-- the status of all later toggles will remain in force while BYE is
operative.
*Placed the header into BYE for those who display the current caller
data with the WHOKEY (^W). This header will display above the current
caller data -- customize it at the label LCHEAD: near the end of BYE5
code.
*If you don't like to have BYE ask your users "how many nulls...", set
ASKNUL to NO and BYE5 will now display the default nulls setting to
your users upon connect, as well as inform them to change this setting
at your system's command menu. The default nulls are based upon the
user's MSPEED (see Terry Carroll's credits below). Normally, if your
system provides a means for the user to change his/her own nulls, you
don't need ASKNUL!
*Corrected the routine which handles OFFHK (IMQUIT: routine), since this
was improperly sending an ATS0=0 before the ATH1 -- ATS0 should not
even be sent, when OFFHK is YES (if your phone is offhook, your modem
can't possibly answer!).
*Removed mysterious 4800/9600 baud equates which have been in this
series for some time, now. Let's keep things included to what is
actually available for all and not just a "wow, things to come" wish
list. Even when someone irons out a standard 9600 baud protocol
(which still supports 2400 baud) the majority of interested sysops
will not be able to lay hands on anything for quite a while.
*Pulled the BDOS descriptions out of the BYE5.DOC (which has been re-
written) and placed it in its own B5-BDOS.DOC file, where more people
will see it -- very likely many haven't noticed it was there...
*Code has been shortened as much as possible throughout, having removed
all ";....", extra lines, etc. All of the opening comments (the bulk
of them) have been moved to general information files. Removed all
Trantor (WL) bios code and placed same in a separate patch document
where it belongs. Wayne probably uses this, as do a number of others,
but the majority of us don't -- besides, hardware dependent code such
as this does not belong already coded into BYE (in Wayne's own words).
All miscellaneous documents and patch files have been placed in a
separate .LBR, to help keep the main BYE5 library more reasonable in
size.
*Corrected this history file to reflect those features and/or
modifications added to v503 by me, but which were shown as having been
added by Wayne Masters. This included the MSGFIL (adapted from Kim
Levitt's MBYE) and OFFHK code, as well as the modifications to enable
full Sysop control with the ^B toggle. Also, added credit to Joubert
Berger (Atlanta Kaypro MBBS) for the CHEKDU code/support he added to
v503, as well as the ZCPR3 fix file now found in the miscellaneous
files library.
*BDOS call 84 -- why did Wayne Masters stick this dandy in BYE? Would
have preferred he make up a doc file to explain how a custom call
could be utilized for an individual's system, rather than waste code
(granted, only a few bytes) with a useless "put your own customized
routine here..." and then continue on with the addition of BDOS call
85.
- Tom Brady
Decibel RCP/M - MBBS
(404) 288-6858
*Added support (adapted from Kim Levitt's MBYE) for the new CHAT45 we
have released. This support allows CHAT45 to give a user the option
of leaving a private message to the Sysop, when informed that the
Sysop is not available.
*Moved the code which times-out a user after TOVALUE of no activity to
the MSTAT area. MBBS (and possibly other) systems will now properly
time-out at any command prompt. This has been a long-standing problem
with BYE5/MBBS users.
*Added REENTER -- set this to YES to get rid of all the double .COM file
loads which BYE performs (especially for MBBS). This will speed up
system operation quite a bit.
*Removed a number of CALL xxx, RET statements -- the CALLed routines
already contained RET statements of their own, so we realize some code
savings.
- Joubert Berger
Atlanta Kaypro MBBS
(404) 923-2580
*Added code to cause BYE5 to default nulls to the MSPEED value (i.e. 300
baud = 1 null, 1200 baud = 5, 2400 baud = 6) prior to asking the user
(when ASKNUL is YES) "how many nulls...". This was originally hard-
coded to set at 5 nulls, but this method is much better.
- Terry Carroll
Poor Man's Z-NODE (#56)
(817) 283-9167
----------
03/03/86
v504
*Appreciation is extended to Irv Hoff, Russ Pencin, Gary Inman, Dennis
Recla, Les Archambault and the PRACSA sysops for ideas, suggestions
and the beta-tests that contributed to this update.
*NOTE... All clock inserts are now contained in a new .LBR. Look for
B5-CLOCK.LBR to find your clock inserts.
*So many sysops have asked for the ability to edit BYE5 on a small
floppy system that a method of reducing the size of BYE5 was
considered mandatory. You will notice that the squeezed BYE5 source is
now appx. 44K and the unsqueezed source is appx. 66K. This will solve
many problems for the smaller disk systems and allow faster assembly
times for everyone, not to mention the time saved uploading and
downloading these files.
*Corrected a bug in the CP/M-2 loader that caused the first six bytes of
the CCP to be destroyed on some systems.
*Added PBBS equate and code to support Russ Pencin's new BBS software
written in assembly language. Promises to be a new and welcome
addition to public domain (free) bbs software.
*Added the BYHANG equate to allow your EXIT file to be loaded and
executed with/without BYE5 hanging up on the caller. Some EXIT
routines want to display data to the caller before BYE5 hangs up the
phone. PBBS uses this technique.
*Added LCKEY function key to allow the sysop to reserve his system for
local use as soon as the current caller finishes. The sysop can type
^L (BYE5 displays [Last call] on local crt) and leave the room. When
the current caller logs off, BYE5 will exit back to cp/m (leaving the
modem in a non-answer mode) and signal the sysop (bell) that his
system is free for local use.
*Expanded the code for ^U (ULTKEY) function key to allow the sysop to
enable all the flag bits in LCPTR. This key will now grant unlimited
time and enable all the flag bits for the current caller only.
*Added equates to allow MBBS users to keep MBBS.COM on any d/u (normally
A0). LOGIN.COM and MFMSG.COM can then be kept in an area (normally
A14) not available to the caller.
*Added LMBELL equate to allow any BBS system (formerly for MBBS only) to
keep a low memory bell flag in addition to the internal BYE5 byte.
This byte is toggled with the ^G bellkey. RBBS now uses this feature.
*BYE5 now displays "Minutes left: nn" unless the Wheel byte is on or
MXTIME = 0. In either of those two cases BYE5 displays "Minutes on
system: nn".
*Added code to allow the newer Hayes-cloned 2400 type modems to work at
2400 bps. Some send a 6 and some a 9 for "Connect 2400" rather than
the "Hayes" compatiable 10.
*Corrected error in saving previous callers Timeon when sysop is running
in the local "E" mode.
*The ^B (blank remote modem) now sets/resets the LCPTR flags to enable
all functions when the remote is blanked, and restore them to original
values when the remote modem is turned back on.
*BYE5 now sends a bell to the remote modem (not heard locally) every 1
minute of no-activity. This alerts the caller that BYE5 is waiting
for him. The caller is still logged off if TOVALUE expires while BYE5
is waiting.
- Wayne Masters -
----------
02/14/86
v503
*This is a major update to BYE5. Many thanks to the sysops'
organizations around the world for contributing suggestions and code
for this update, and in particular to PRACSA, Tom Brady, Jack Brown,
Kevin Murphy, George Peace, Don Appleby, and Irv Hoff (our "buffer"
with the Compu-Serv sysops).
- Wayne Masters
----
*Added OFFHK equate to allow BYE to make your modem/phone "busy" while
you are using your computer locally.
*Added MSGFIL (adapted from Kim Levitt's MBYE) to allow a new message
file handling utility (MFMSG.COM as used by MBBS systems) to be called
when KMD11 (or later) as well as later versions of XMDM [sic] are
given the "RM" command. This specially formatted message file is
appended to your message data file by MFMSG, which then returns you to
the CP/M prompt. KMD11 alters location 00H to a C2 (instead of normal
C3) and does a JMP 0 (warmboot) after the RM file has been uploaded.
BYE traps the warmboot call and will load and CALL your .COM file to
append the message(s) to your message file. This .COM file must be
located on the same D/U area as specified by the COMDRV/COMUSR
equates. Utility programs are available which will allow message files
to be prepared (formatted) offline and then uploaded with the KMD "RM"
command. MBBS uses this feature and other BBS systems can now take
advantage of MSGFIL.
*Modified the BLNKKEY code to set the sysops wheel byte and path when
toggling remote caller off/on with ^B. Maxdriv and Maxuser bytes,
PATH, and Wheel are set/reset with this function key, depending on
your zcpr2, zcpr3 and chgpath equates.
- Tom Brady
*Added CHEKDU -- if running NZCPR/ZCPR/ZCMD, you should set this to NO
and save some TPA -- BYE doesn't need to duplicate checks already
performed by your CCP replacement. If not operating with a CCP
replacement, set this to YES and BYE will police the system and
prevent users from extending past MAXDRIV/USER (either YES or NO, BYE
still holds the correct MAXDRIV/USER values). For ZCPR3 systems, you
will need to make the patches mentioned in ZCPR3.FIX to take advantage
of CHEKDU set NO.
*Most modems, Hayes, USR, Vadic, Anchor....don't need the "ATZ" command
between calls. In fact, some of these modems revert to auto-answer
when the "ATZ" command is executed, causing potential problems if BYE
is trying to reset the modem and the phone rings. Set the new equate
DOATZ to NO and that problem is fixed, PLUS, you will notice the
system resets between calls 3 or 4 seconds faster.
*Fixed the jump table which caused double display when local print (^P)
key hit and print option was equated as NO.
- Joubert Berger
----
*Previous versions of BYE only ran an exit file (If EXFILE YES) when the
carrier was lost. That has all changed in v503. Many sysops asked
for the ability to run an exit file any time BYE hangs up on a caller.
MBBS users and CP/M-3 users already did that in v501 and up. Now
anyone can. There are, depending on your equate selections, 9
conditions that will cause BYE to hangup on a caller. If EXFILE is
YES, these 6 conditions will now cause your exit file to be executed:
1) Caller types BYE, 2) Carrier loss, 3) Twit key, 4) Location 000H
<> C3 on warmboot, 5) No activity timeout, 6) Time-on-system exceeded.
Since a caller can't possibly be logged in for the following 3
conditions, BYE will hang up without running the exit file: 7) RSPEED
primetime violation, 8) BYE5 password mismatch, and 9) "Nulls needed"
question failed. The sysop is informed on his local console which
.COM file (Entry or exit) is loaded. Again, MBBS and/or CP/M-3 users
are not affected. The rules for your exit file to follow: Save the
stack, do a RETURN, not a warmboot, to re-enter BYE.
*The previous callers MXTIME and Time-on-system are now preserved in
BYE's fixed lookup table for use by an exit file. The equate LCTON
may be changed to a low memory byte to preserve lastcallers time-on-
system to a location other than the fixed table.
*Added BDOS call 84 which allows the installer to write his own unique
subroutine and install it at label SRUDEF. His transient program(s)
like ENTRY or EXIT can access that s/r with an 84 BDOS call. See the
area marked ++++ Install SubRoutine U DEFine for more details.
*Added BDOS call 85 to allow get/set functions for LCPTR. LCPTR
contains a bit mapped status register when a user is logged in, and
contains the previous callers Timeon when no user is logged in. To
use the "get current value": MVI C,85 MVI E,255 CALL BDOS.
The value of LCPTR is in A on return. To use the "Set value" : MVI
C,85 MVI E,0 MVI D,0-255 (your SET data) CALL BDOS.
*Added the ANSKEY function key to allow sysop to force BYE5 to answer
the phone. This is handy if you are talking voice to your friend and
decide to bring up BYE to exchange data. You can now bring up BYE
while on voice, wait for your friend to get set, then type ^A, and be
back online without having your friend hangup and pay for another
phone call.
*Added WBDRIV equate to allow selection of a drive to log to on the
first warmboot to cp/m. 99% will use 'A', but some hard disk systems
need 'C' or non-A drives.
*Added TRANWL equate to help those systems running the Trantor hard disk
drivers. This will save 2K for your TPA.
*Several other byte-saving features added to save run-time code that you
will notice when configuring BYE for your system.
- Wayne Masters -
o duplicate checks already
performed b