Date : Thu, 02 Feb 1984 11:21:19 EST
From : Rick Conn <rconn@brl>
Subject: SYSLIB 2.7 and SYSLIB 3.0 differences
SYSLIB 3.0 Upgrade Notes
Notes on Changes in SYSLIB
From SYSLIB 2.7 to SYSLIB 3.0
Richard Conn
February 1, 1984
This document summarizes the changes made to SYSLIB under
Version 3.0 from the previous version, 2.7. SYSLIB 3.0 consists
of over 210 routines in over 150 modules, each module residing in
a separate file.
A. Changes Made to Existing Routines and Modules
1. All of the ZCPR2-specific routines have been removed from
SYSLIB. These are now placed in a separate library and have been
updated to reflect ZCPR3 rather than ZCPR2. SYSLIB 2.7 is still
to be used to support ZCPR2, while SYSLIB 3.0 and Z3LIB are to be
used to support ZCPR3.
2. Disk-Based Named Directories are not supported in Z3LIB.
The ZDNAME routine has been omitted, and ZCPRQ2, ZFNINIT,
ZDNFIND, and ZFNAME have been changed to remove any features
relating to disk-based named directories. Memory-based named
directories are still supported. Modules: SZFNAME.MAC and
SZGPINS.MAC changed and now named Z3FNAME.MAC and Z3GPINS.MAC.
Also, to test the value of this change, XD was reassembled, and
the new COM file is 11 blocks (almost 1.5K) smaller than the old
version.
3. All math routines have been broken out into separate
modules as appropriate. There are now 12 math modules in SYSLIB.
Modules: SMATH.MAC removed, SMTHnn (01 <= nn <= 12) added.
4. A bug has been corrected in EVAL10 which prohibited
accurate processing of numbers greater than 8 bits. Module:
SEVAL1.MAC.
5. Version Number is now 3.0. Module: SVERSION.MAC.
6. A bug has been corrected in DIRF and DIRFS in which the
proper return code was not returned in A/PSW. Internal
documentation was also cleaned up. Also, the SDIR.MAC module was
broken up into a set of independent modules, named SDIRxx.MAC (00
<= xx <= 10), SDIR.MAC, SDIRHDR.LIB, and SDIRBF.MAC.
7. The SUD module was broken up into SUD1.MAC, SUD2.MAC,
and SUD3.MAC.
8. The routines F$MAKE, F$READ, and F$WRITE were changed to
return proper PSW flag settings. Now return codes can be
examined without an ORA A after the routine call. Modules:
SFMAKE.MAC, SFREAD.MAC, SFWRIT.MAC.
Page 1
SYSLIB 3.0 Upgrade Notes
9. The following SYSLIB routines have been modified or
improved:
Routine Module Routine Module
------- ------ ------- ------
PADC SPADC PA2HC SPA2HC
PHL4HC SPHL4HC PHL5DC SPHL5DC
PHLDC SPHL5DC LADC SLADC
LA2HC SLA2HC LHL4HC SLHL4HC
LHL5DC SLHL5DC LHLDC SLHLDC
B. New SYSLIB Routines and Modules
1. The following numeric output routines have been added:
Routine Module Function
------- ------ --------
LAFDC SLAFDC Print A as Floating Decimal to LST:
LHLFDC SLHLFDC Print HL as Floating Decimal to LST:
MAFDC SMAFDC Print A as Floating Decimal to Memory
MHLFDC SMHLFDC Print HL as Floating Dec to Memory
PAFDC SPAFDC Print A as Floating Decimal to CON:
PHLFDC SPHLFDC Print HL as Floating Decimal to CON:
SA2HC SSA2HC Print A as 2 Hex Chars to S Output*
SA3DC SSADC Print A as 3 Dec Chars to S Output
SADC SSADC Print A as Decimal Chars to S Output
SAFDC SSAFDC Print A as Floating Dec to S Output
SHL4HC SSHL4HC Print HL as 4 Hex Chars to S Output
SHL5DC SSHL5DC Print HL as 5 Dec Chars to S Output
SHLDC SSHL5DC Print HL as Dec Chars to S Output
SHLFDC SSHLFDC Print HL as Floating Dec to S Output
* S Output is the new SYSLIB Switched Output feature, where
output can be selected to go to any one of four combinations of
CON: or LST: dynamically.
2. The following S-Output Routines have been added:
Routine Module Function
------- ------ --------
SCOUT SSCOUT Print Char A with Ctrl Char Processing
to S Output
SCRLF SSCRLF Print New Line to S Output
SCTLFL SSCTLFL Switch Control Flag
SOUT SSOUT Print Char A to S Output
SPRINT SSPRINT Print String at Ret Adr to S Output
SPSTR SSPSTR Print String at HL to S Output
Page 2
SYSLIB 3.0 Upgrade Notes
B. New SYSLIB Routines and Modules, Con't
3. The following Byte-Oriented File I/O routines, which
support variable-sized buffers for blocking/deblocking, have been
added. All are in the SFXIO.MAC Module.
Routine Function
------- --------
FXI$OPEN Open File for Input
FXI$CLOSE Close Input File
FXO$OPEN Open File for Output
FXO$CLOSE Close Output File
FX$GET Get Byte from Input File
FX$PUT Put Byte to Output File
4. An F$SIZE routine has been added which computes the file
size of a file to the nearest K, ignoring grouping factors. Just
the first 12 bytes of the FCB are passed to F$SIZE. Module:
SFSIZE.MAC.
5. A set of routines have been added for character testing
and string parsing functions. Each is contained in its own
module, which is named after it with an S prefix. These routines
are:
Routine Function
------- --------
ISALNUM Is Alphanumeric
ISALPHA Is Alphabetic
ISCTRL Is Control
ISDIGIT Is Digit
ISGRAPH Is Graphic
ISHEX Is Hexadecimal
ISPRINT Is Printable
ISPUN Is Punctuation
ISSP Is Space Char
SKNPUN Skip Over Non-Punctuation Chars
SKNSP Skip Over Non-Space Chars
SKPUN Skip Over Punctuation Chars
SKSP Skip Over Space Chars
6. New dynamic buffer allocation routines have been added.
Both are in the SALLOC.MAC Module.
Routine Function
------- --------
ALLOC Allocate N Bytes from Dynamic Buffer
IALLOC Specify Bounds of Dynamic Buffer
Page 3
SYSLIB 3.0 Upgrade Notes
B. New SYSLIB Routines and Modules, Con't
7. The following character I/O routines have been added:
Routine Module Function
------- ------ --------
BIN SBIN Input CON: Char via BDOS
BIST SBIST Input CON: Char Status via BDOS
BOUT SBOUT Output Char to CON: via BDOS
CAPIN SCAPIN Input CON: Char and Capitalize
CAPINE SCAPIN CAPIN and Echo
8. There are now eight SYSTEST programs, designed to test
the various features of SYSLIB 3.0. These programs are
SYSTEST.MAC and SYSTESTn.MAC (1 <= n <= 7).
9. The following FCB File Name and Type Output routines
have been added:
CON: LST: Switched Memory Function
---- ---- -------- ------ --------
PFN1 LFN1 SFN1 MFN1 12 Chars, Embedded Spaces
PFN2 LFN2 SFN2 MFN2 N-Chars, No Spaces
PFN3 LFN3 SFN3 MFN3 12 Chars, Trailing Spaces
Each routine is in its own module, which is named after the
routine but is prefixed with an S (ie, PFN1 is in SPFN1.MAC).
10. The following User Area Manipulation routines have been
added:
Routine Module Function
------- ------ --------
GUA SGUA.MAC Get Current User Area in A
SUA SSUA.MAC Set User Area in A
11. The following file attribute manipulation routines have
been added:
Routine Module Function
------- ------ --------
GFA SGFA.MAC Return File Attributes
SCFA SSCFA.MAC Set and Clear File Attributes
SFA SFA.MAC Set File Attributes
Page 4
SYSLIB 3.0 Upgrade Notes
B. New SYSLIB Routines and Modules, Con't
12. The following random file access routines have been
added:
Routine Module Function
------- ------ --------
R$READ SRREAD Random Block Read
R$WRITE SRWRITE Random Block Write
C. Documentation
1. All of the SYSLIB.HLP files have been rewritten, and
many new files have been added. These files completely document
SYSLIB 3.0. There are 20 SYSLIB 3.0 HLP Files.
2. Realizing the investment some people have in hard copy
of the SYSLIB 2.4 documentation, I do not intend to release new
SYSLIB 3.0 manuals at this time. This update and the four Z2SYS-
n.MOD files will serve to bring your documentation up to date.
The SYSLIBx.HLP files should be used as the complete, on-line
authoritative reference.
Richard Conn
Page 5