<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>