home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jason Aller Floppy Collection
/
129.img
/
PCB142.ZIP
/
PCB142.DOC
Wrap
Text File
|
1989-07-01
|
29KB
|
632 lines
*************** PCBoard (R) 14.2 Beta Code ******************
Why 14.2 Beta?
--------------
PCBoard 14.2 Beta code is being released in order to check out
some of the new features we are implementing in the current
15.0 'C' code. In order to verify several of the new features
we are placing in the 15.0 code, we are releasing a 14.2
version, still compiled under QB1.0, in order to obtain some
feedback on the implementation of the new routines. Since the
placing of many of these routines in the current code make it
quite large, some folks may not have enough memory available
to run the 14.2 code under a multitasking environment. We
apologize to any of you who are not able to squeeze this code
into your environemt. However, in order to test out some of the
new features we have planned for 15.0, it was necessary to allow
the size of the 14.2 Beta code to increase. The 15.0 code will
be much more compact and provide much better support for our
multitasking users than does the 14.2 Beta code. Again, the
Beta code is large in order to test out the procedures and 'feel'
of the upcoming 15.0 code. It is not intented to be a production
release of the software.
This 14.2 code is being written in parallel with 15.0 in
order to obtain your feedback on the new features - since it
is much easier for us to check out a new function in the current
working code, rather than having to wait for the 15.0 code to go
on-line here at Salt Air. We would like to have included some
of the other new items you will see when 15.0 is released -
such as the ability to define several of the operating parameters
associated with the new functions. However, due to limited code
space and our desired to keep 14.2 as close to a direct replacement
of 14.0/14.1 as possible, we have to hold off on those items
until 15.0 comes out. However, some items are definable with
the new code using SET PCB statements, etc. to get you by
until 15.0 begins testing. At that time, many more parameters
will be definable inside PCBSetup. Please be patient and
understand why some of the features have to be held off.
If you decide to check out the 14.2 beta, be sure to keep
accurate information on any problem you may have and pass them
along to us in a timely manner. Please, if you are reporting
a problem with the code, first read all mail to see if your
problem has already been taken care in the new code posted.
Also, when reporting problems, it is imperative that you
include the date and time of the code you are running, and
whether it is the EMS or non-EMS version.
Updating to This Code
---------------------
To update, simply replace your current PCBOARD.EXE file with
the one included.
*** CAUTION ***
Be sure to keep a copy of your old file available in case of
problems.
*** CAUTION ***
This version of the code opens from 2-4 more files per
node than previous versions. If you get a lot of drive
errors when running this code, or really strange behaviour
when trying to log into your system, you are most likely
out of available file handles and should increase your
FILES statement in your CONFIG.SYS file.
Also required for this version of the code is a new MKPCBTXT.EXE
file which must be used to add the necessary new records to your
current PCBTEXT file. To add the new records, simply run the new
MKPCBTXT.EXE program. The program will automatically create the
new records in your current PCBTEXT file without changing any of
your current entires.
Second, you must alter your current PCBPROT.DAT file and change
any DSZ file entries to a 'D' protocol vs a 'S' protocol. NOTE:
You are not changing the procotol selection letter. You are
altering the 'I'nternal vs 'S'hell letter to a 'D' for only those
entries which are referencing DSZ. (See below for more details).
DSZ Batch Download Support
--------------------------
This code supports batch file transfers when using the DSZ
module by Chuck Forsberg. The DSZ module is currently the only
external protocol module which is supported in batch mode.
To activate batch mode on your system, make sure you have
obtained the current MKPCBTXT.EXE file and added the
necessary records to the end of your current PCBTEXT file.
New records include some for the scroll back buffer operation
as well as messages needed for batch operation. Failure to
add the new records to your current PCBTEXT file can cause
erroneous code operation.
Next, you must slightly alter your current PCBPROT.DAT file.
In the file where you currently have an 'S' next to a DSZ
module protocol, simply change the letter to 'D'. Leave
all other 'S' and 'I' entries as is. CAUTION: DO NOT
CHANGE A NON-DSZ LISTING TO A 'D'! IF YOU DO, THAT MODULE
WILL NO LONGER WORK! The 'S' we are referring to here is the
'S' used to define a SHELL protocol - *NOT* the protocol
selection letter S.
Here is an example of what we are talking about:
PCBPROT.DAT (Old Format)
------------------------
A,I,128,Ascii (Non-Binary)
X,I,128,Xmodem (Checksum)
C,I,128,Xmodem-CRC (CRC)
O,I,1024,1K-Xmodem (PCBoard Ymodem)
F,I,1024,1K-Xmodem-G (PCBoard Ymodem-G)
G,S,1024,Ymodem/G (DSZ - Batch OK)
B,S,1024,Ymodem (DSZ - Batch OK)
Z,S,1024,Zmodem (DSZ - Batch OK)
K,S,128,Kermit (PCKermit/Columbia U)
N,I,0,None
PCBPROT.DAT (New Format)
------------------------
A,I,128,Ascii (Non-Binary)
X,I,128,Xmodem (Checksum)
C,I,128,Xmodem-CRC (CRC)
O,I,1024,1K-Xmodem (PCBoard Ymodem)
F,I,1024,1K-Xmodem-G (PCBoard Ymodem-G)
G,D,1024,Ymodem/G (DSZ - Batch OK) <- note change from S to D
B,D,1024,Ymodem (DSZ - Batch OK) <- note change from S to D
Z,D,1024,Zmodem (DSZ - Batch OK) <- note change from S to D
K,S,128,Kermit (PCKermit/Columbia U)
N,I,0,None
If you forget to alter your PCBPROT.DAT file a caller,
when requesting a batch transfer, will simply be advised
that no batch protocols are available.
Make sure you have a late version of DSZ.COM which
properly supports the '@x:[filename]' command line prompt -
since that is what the code uses to pass batch filenames to the
module. If you have an older version of DSZ, none of your
batch transfers will execute. Instead, when the DSZ batch
file is executed, DSZ will issue the message that there was
an error in the command line.
NOTE: The code fully supports the use of the DSZLOG file
and is *required* for use. You should place a statement in
your BOARD.BAT file which reads:
SET DSZLOG=[filename]
You can specify any filename you like. However, in order for
the code to function properly, you must have a SET DSZLOG=
statement active in your environment. If you run out of
environment space, place the following command in your
CONFIG.SYS file and reboot:
shell=c:\command.com /e:1024 /p
This will insure you have enough environment space.
When PCBoard executes a DSZ transfer protocol, it will scan
the DSZLOG file upon completion for certain information such
as CPS rate, bytes transfered, etc. When done scanning the file,
PCBoard will erase it. Therefore, if you use a DSZLOG file for
other programs, or you want to keep a continual log of the
files transfered using DSZ, you should reset your DSZLOG=
parm to some other filename than the ones you currently use -
specifying a spearate log file for each program. If you wish
to save the PCBoard DSZ log file, place a statement in each of your
DSZ protocol batch files (such as your PCBSZ.BAT file) which
reads:
copy [filename] >> [filename.old]
This will continually append the current file to an archive one
if you desire. Note that all DSZ protocol's - whether downloads
or uploads - will now be tracked by PCBoard through the use of
this file. You can, if desired, remove all 'pcberr.fil'
logic from your DSZ batch files.
Selecting Batch Downloads
-------------------------
To select batch mode, enter (DB) at the command line. (Note
that only DSZ batch downloads are currently supported.) If you
have already selected one of the DSZ protocols, you will
immediately be asked for the first filename. If your
current protocol is not a DSZ module one, you will be asked
to select from those which have been marked with a 'D'
inside PCBPROT.DAT.
The code defaults to a maximum of 10 files during any given
batch request. This number can be decreased to a low of 1 or
a high of 30 files. To reset the default of 10 files per
request, use the following statement in your environment:
SET PCB=/BLIM:xx
where 'xx' above can be a number from 1 to 30
Also provided is an automatic logoff mechanism when the
transfer is complete.
Stacked filenames are permitted in any order on the command line.
This includes both the protocol requested as well as the files
desired. Please note that the caller can only make one stack request.
Additionally, they can place the command (GB) or (BYE) in the
command line and the code will automatically hang them up after
the transfer completes. Additionally, if the caller does not
enter your default (V) extension in a filename to download,
the code will first search for an exact match on the filename
entered, followed by a subsequent search for the file with your
default extension included. NOTE: The (GB) or (BYE) command will
also work with internal or single file transfers as well. All that
is required is that the command be stacked with another download
command sequence.
If auto-disconnect is selected, the caller will have 10 seconds
after the batch transfer finishes to change their mind and
continue before the auto-disconnect occurs. If they wish to
cancel the auto-logoff sequence, they must press (Ctrl+K).
Again, about all you need do is update your current PCBTEXT file
and change your PCBPROT.DAT file accordingly. All other batch
files remain 'as-is'.
Scroll Back Buffer Size
-----------------------
To activate a scroll back buffer, use the following environment
setting:
SET PCB=/MAX:xxx
where 'xxx' can be from '023' to '255'
Note that when running a /U version, the maximum you will be
able to set this to is about 180 lines due to memory constraints
when reading in the USERNET.DAT file. If the above statement
is missing from your environment, no buffer will be allocated.
Setting 'xxx' to any number less than 23 will disable the buffer.
The default for the buffer is off. You must use the above
statement to activate it.
Free Data Segement Memory Display
---------------------------------
At the bottom right of your screen next to the '(Home)=Help'
text you will see a value in 'K'. This is free data segment
memory space available. Due to the dynamic nature of the code's
operation, you should have at least 8K always showing for
reliable operation. If that number falls below 8K, decrease the
number of scroll back lines above or totally erroneous code
operation will occur - such as 'Insufficient Memory' errors,
not being able to log onto your system, not finding a user in the
USERS file, etc. Again, you should not attempt to operate with
less than 8K showing at all times.
For multitasking users, the 'K' value can be used to gauge your
available memory for SHELL functions and scroll back buffer size.
In order to determine whether you have sufficient memory in which
to perform a SHELL function, use the following procedure:
(1) Do NOT use a SET PCB=/MAX:xxx statement for this test
(2) Run CHKDSK and make a note of your available free memory
(3) Load PCBoard and logon
(4) Write down the 'K' value at the bottom of your screen
(5) Exit from PCBoard
(6) Subtract the 'K' value above from 64.
(7) Add the result above to the size of the PCBoard code you
are running
(8) Subtract the new total obtained in (7) above from your free
memory available from item (2). This final figure is an
approximation of the true free memory you have available for
that node.
(9) If you add in a SET PCB=/MAX:xxx statement, recalculate your
true memory figure again.
If you get an '_C error in PCBS1 at xxxx:xxxx' message when running the
code, you do not have sufficient free memory available and must adjust
your memory requirements accordingly - inlcuding scroll back buffer
size, etc.
Operating the Scroll Back Buffer
--------------------------------
The scroll back buffer is only operational when logging on in local
mode. It is not available if a caller has dialed into the node.
*** CAUTION ***
Attempting to activate the scrollback buffer while a caller is
online may result in accidentally altering the caller's available
system time.
The buffer can be viewed by pressing the (UpArrow) or (Ins) keys.
Status information on the size of the buffer will be displayed at the
bottom of the screen. A block cursor will indicate your position
in the buffer. You can use all cursor control keys to move around
the file, including:
(Up Arrow) Up One Line
(Down Arrow) Down One Line
(Left Arrow) Left One Position
(Right Arrow) Right One Position
(Home) Beginning of Line
(End) End of Line
(PgDn) Up 23 Lines
(PnUp) Up 23 lines
(Ctrl+Home) Beginning of Buffer
(Ctrl+End) End of Buffer
To exit the scrollback buffer, press (Esc).
You can 'tag' any text in the buffer to merge into a message. You
must be in message entry mode (i.e. actually entering text via
a reply, enter, or comment command). Press (Ins) to activate the
scroll back buffer. Place the cursor at the beginning point of the
text you wish to merge and press your (Space) bar. Next, move the
cursor to end the the text you wish to move and again press (Space).
The area between the two positions will be highlighted as the text
which will be merged. If you wish to 'detag' the text just tagged,
simply press (Space) again.
Text tagged for merging will automatically be merged when (Esc) is
pressed. You can only 'tag' one block of text at a time since the
code will reflow the block as it is merged into a message.
NOTE: The code will not allow you to tag text for merging unless
you are in message entry mode. You can review the buffer at any
time however.
NOTE: If you are running the standard code and perform a SHELL
function such as (F5), etc, your scroll back buffer will be
lost. If you are running the EMS code, your buffer will be
retained even during SHELL functions. However, screen displays
during the SHELL will not be part of the buffer.
EMS Code Now Works With Many More Systems
-----------------------------------------
The EMS code now works with most network operations. The
EMS code maintains the current command line parameters of:
SET PCB=/NOEMS (disables EMS memory swap - forces disk)
SET PCBSHELL=[filename] (instead of default PCB.SAV in current dir)
The SET PCBSHELL=[filename] allows you to specify a given disk
swap file instead of the default file of PCB.SAV in your current
directory. This allows you to swap out to a RAM disk, or in the
case of a diskless workstation, the file server.
There is one other precaution when using the EMS code in conjunction
with SHELL protocol modules such as PCKermit. If you are currently
using the program SH.EXE in order to provide for file sharing, etc.,
you need to modify your command line and place a '0' after the SH
command. For example, if your current PCBSK.BAT file read as follows
you should change it to the new example below:
Current File
------------
echo off
if exist pcberr.fil del pcberr.fil
sh 1 pckermit.exe -b %2 -m 31 -p n -s %3 -c
if errorlevel 1 goto bad
goto end
:bad
copy pcberr.old pcberr.fil
:end
New File
--------
echo off
if exist pcberr.fil del pcberr.fil
sh 0 pckermit.exe -b %2 -m 31 -p n -s %3 -c
if errorlevel 1 goto bad
goto end
:bad
copy pcberr.old pcberr.fil
:end
Note the change to the third line of the new file where the 'sh 1'
has been replaced with 'sh 0'. This will prevent a system lockup
upon completion of the SHELL protocol.
The EMS code will require approximately 280K of free EMS memory in
order to swap out to memory. Otherwise it will swap to disk to the
PCB.SAV file, or optionally the file and location you have specified
in your SET PCBSHELL= statement. The SET PCBSHELL= statement is not
required. To force disk swapping, use the SET PCB=/NOEMS parm.
Choosing Between EMS and non-EMS Code
-------------------------------------
What is EMS code? It is code that allows you to access EMS (expanded)
memory during SHELL routines. If EMS memory if not available,
it will make use of a disk swap routine instead. The actual
memory (EMS or disk) is only used when PCBoard performs a SHELL
function - such as when pressing (F5), Sysop Function (10), or
when executing either a SHELL protocol or an (F) (V) command.
Does this mean I can use the memory from 640K to 1 meg for this?
Most probably not. That memory is not usually EMS memory. In
order to have EMS memory, you either need specific hardware, or
a product like QEMM or 386MAX which converts 386 class machine
extended memory to expanded memory.
Standard Code Summary (non-EMS)
-------------------------------
The advantage of using the non-EMS or standard code is that if
you do not have any EMS memory in your system, this version will
provide the fastest SHELL funtions. During all SHELL functions,
the code will remain in memory during the activity.
The disavdantages are that during SHELL functions while in local
mode, your scroll back buffer is lost. Also, the SHELLED TO
function is 'added' to the current code's memory requirements.
This means if you wish to SHELL to a program which requries 100K
to operate, you would need at least 320K or so of free memory
in order for the SHELL to function properly.
EMS Code Summary
----------------
The advantage of using EMS code is that although the physical
program size is larger, less memory is required during SHELL
functions. This is true whether you are swapping to EMS memory
or to physical disk. If you have at least 300K of free EMS
memory on your system, your disk swaps will be as fast as the
non-EMS code above. In either case of a disk or EMS swap, you
will have virtually all of you free low memory availble for the
SHELL. This means that PCBoard systems running in a multitasking
environment will now be able to SHELL to external protocols
without problems. Another advantage of the EMS code is that
your scroll back buffer is not lost when running the EMS code.
The disadvantage of the EMS code is that if you do not have any
free EMS memory, the disk swapping will take considerably longer
to perform that either of the above - possibly creating excessive
delays on your system.
Checks BLT Update Different
---------------------------
The message 'Bulletins have been updated since last call' is
only displayed if the date and time of the respective BLT file
is newer than the caller's last date and time on.
New Random Access CNAMES File
-----------------------------
When 14.2 loads, it will look for a file called CNAMES.$$$ which
is automatically created by the code in the same location as your
CNAMES file. If it is not found, it will create it. If it finds
the file to be older than your current CNAMES file, it will be
updated. The new file is used during all 14.2 operation to free
up additional memory for the above operations. Do not delete the
file during SHELL operations or erractic operation will occur. The
file can be deleted at any other time however if you wish to
generate a new one. Again, the building and maintenance of the
file is completely automatic.
Substitute '@' Commands
-----------------------
This version will begin to support many '@' substitute text commands.
When the code encounters one of the commands below in a text string
for display, it will replace the command with the corresponding
data from the system. Note that the commands must be entered in
caps in order to function.
@USER@ - complete name of the caller (first & last - all caps)
@FIRST@ - first name of the user (first letter captialized)
@CITY@ - city and state of caller (all caps)
@DATAPHONE@ - caller's business/data phone number
@HOMEPHONE@ - caller voice phone number
@SECURITY@ - users current security level including conf. add.
@EXPDATE@ - subscription expiration date
@LASTDATEON@ - last date on (mm-dd-yy format)
@LASTTIMEON@ - last time on (hh:mm format)
@NUMTIMESON@ - number of times on system
@INCONF@ - conference the caller is currently in
@DLBYTES@ - total bytes downloaded - all calls
@DLFILES@ - total files downloaded - all calls
@UPBYTES@ - total bytes uploaded - all calls
@UPFILES@ - total files uploaded - all calls
@TIMELIMIT@ - time allowed from PWRD file
@TIMELEFT@ - time remaining that call incl. all credits, etc.
@TIMEUSED@ - minutes used since logon
@BYTELIMIT@ - bytes allowed from PWRD file
@BYTESLEFT@ - remaining bytes available for download for that day
@DAYBYTES@ - bytes downloaded so far that day
@SYSTIME@ - host system in in (hh:mm format)
@SYSDATE@ - host date in (mm-dd-yy format)
@BOARDNAME@ - the name of your BBS
For example, a message addressed to @USER@ would result in the
users name appearing in the 'To:' field when the message is displayed
to them - giving the message a more personalized touch even though it
is a 'generic' message. Note that the user's name will appear in
all capital letters.
The @USER@ command can only be entered at the 'To:' message prompt
by the sysop. Regular system callers can not use the @USER@ command
when addressing mail.
When to Address a Message to @USER@
-----------------------------------
There may be a tendency to over-work the use of the @USER@ capability
instead of using the "ALL" header. You should consider only using the
@USER@ parameter when placing a message on your system which is personal
in nature, but needs to be read by all. When leaving such a message,
you should assign the message Sender Password protection so that the
first caller does not delete the message on you. Since the code will
treat an @USER@ message as being addressed to that specific individual,
all the normal read and kill privileges are in effect for that message.
CAUTION: DO NOT address mail using the @USER@ or other substitute
commands when echoing or transferring mail in a net_mail environment, as
erroneous message transferring operation can occur!
Other Changes/Additions
-----------------------
Message Read (A)ll, (C)apture, (D)ownload Subcommands
-----------------------------------------------------
The code now supports an (A)ll subcommand when reading mail. If you
select (A)ll for your mail read functions, all message bases will be
checked for your request. For example, a command of (R) (A) (S) will
read all mail in all conferences since your last time on. Note that
an (A)ll subcommand will automatically perform a (S)ince read if no
other starting number options are specified. Hence, the above command
can be shortened to (R) (A) if desired.
The (C)apture subcommand indicates that the caller wishes to capture
the screen output to a disk file for automatic download. During the
capture process, only dots will show on the screen as the command
progresses.
The (D)ownload subcommand can be stacked with the above to automatically
initiate the download upon completion of the capture.
The (GB) or (BYE) subcommand can also be used in combination of the above.
When either is stacked along with a (C)apture subcommand, the automatic
(D)ownload parameter is assumed.
Here are some examples:
r a c <- read+all+since+capture, will be asked to download
r a d <- same as above, except download starts immediately
r y s d <- read+your+since+capture, automatic download
r a c gb <- read+all+since+capture+download+automatic goodbye
If the caller has not already defined a default protocol, the code will
ask them for the protocol to use before beginning the transfer. Currently
all capture information is in straight ASCII text. The file which will
be created will not be in ZIP or ARC format.
Capture files downloaded will not be counted against a caller's d/l
limit or total number of downloaded files. The capture files themselves
are temporarily created in your default '\pcb' drive location in the
format of [caller number]+.'CAP'. In other words, if a caller were
caller number 35689 on your system, the file created will be called
35689.CAP. If you wish to specify an alternate location for the file
(note, you can alter the location where the file is created - not the
name of the file), use the following SET statement in your environment:
SET PCBCAP=[location]
For example, to have the file created on drive D: in a subdirectory
called WORK, your set statement above would read:
SET PCBCAP=D:\WORK\
Don't forget the trailing backslash and *do not* include a filename!
This file is only present on disk during the capture procedure.
Once the download has been completed or cancelled, the file is removed.
If a capture session is aborted, the caller's last message read pointers
are restored to their previous values prior to the capture request.
We have been asked why we are not 'ZIPPING' or 'ARCING' up the text to
be sent. The answer is quite simple - we lack the code space to do
so in 14.2. If we were to include that feature, it would mean that
virtually none of our multitasking users would be unable to run the
14.2 code. For 15.0 we *will* have procedures in place which can
compress a capture file before sending it. Again though, for 14.2
that feature will not be available.
Definable Output Text Filename
------------------------------
When using the (Alt+F) command to output text to a file, the code
will now ask for the filename to use rather than defaulting to the
location and name + ".txt" of the current message base. You must
have properly edited your PCBTEXT file using the new MKPCBTXT.EXE
program in order to obtain the proper prompt on your screen when
pressing (Alt+F).
Notes
-----
A couple of other notes.
(1) Some of the high speed modems do not like a 'bad' 7-E-1 connect
(which involves a great deal of line noise), followed by an immediate
loss of carrier on the remote end. In those cases, the modem can 'hang',
causing PCBoard to loose control of the modem's functions. If you
experience modem 'hangs' (which can be cleared by turning off/on the
modem, it is suggested you disable 7-E-1 callers by setting the flag
inside the Modem Information screen of PCBSetup to (Y) - do not allow
7-E-1 callers.
(2) A number of sysops are still attempting to run either one or both
nodes of a multitasking system ay 19200 or above. In many cases, this
can cause erroneous code operation, loss of interrupt control, and system
lockup due to the fact that the multitasking software can not handle
interrupt control at anything above 9600. Again, if you are attempting
to run either one or both nodes of a multitasking system above 9600 bps,
your system nmay be unreliable and the only 'cure' is to lower your port
speed down to 9600.
Other small cosmetic changes have been made as well.
(C) Copyright Clark Development Company, Inc - 1989
PCBoard (R) - Registered Trademark - Clark Development Company, Inc.
All Rights Reserved