

            














                                SSSoooffftttwwwaaarrreee TTToooooolllsss SSSuuubbbsssyyysssttteeemmm

                        VVVeeerrrsssiiiooonnn 888 tttooo VVVeeerrrsssiiiooonnn 888...111 CCCooonnnvvveeerrrsssiiiooonnn GGGuuuiiidddeee












                                  Terrell L. Countryman
                                      Peter N. Wan












                       School of Information and Computer Science
                             Georgia Institute of Technology
                                 Atlanta, Georgia  30332


                                       March, 1983











            




            Version 8.1 Conversion Guide                                     


                                      IIInnntttrrroooddduuuccctttiiiooonnn


                 Version 8.1  of  the  Subsystem represents a big change over
            Version 8, as well as being the last  release  of  the  Subsystem
            targeted  for  a  Primos 18 system.  The next release, Version 9,
            will  be  targeted  for  the  new  operating  system,  Primos 19.
            Although  this release will run under Primos 19 (if you have got-
            ten it already), you will not have access to some  of  the  newer
            features,  such  as  Access Control Lists (ACLs) and disk quotas.
            Estimates for the release date of Version 9 are  for  around  the
            end  of the third quarter of 1983 or at the beginning of the last
            quarter; the reason for this delay is that as of the  writing  of
            this  paragraph,  we  have  not  yet received our release copy of
            Primos 19.1.  We ask your  indulgence  in  this  matter;  we  are
            endeavoring to obtain a copy as soon as possible.

                 This  conversion  guide  is  divided  into  three  sections:
            GGGlllooobbbaaalll CCChhhaaannngggeeesss  discusses  the  alterations  that  affect   large
            portions   of   the  user  interface;  SSStttaaatttuuusss ooofff VVV888 CCCooommmmmmaaannndddsss  and
            SSStttaaatttuuusss ooofff VVV888 SSSuuubbbrrrooouuutttiiinnneeesss  describe  additions,   deletions,   and
            modifications made to individual commands and subroutines.



                                     GGGlllooobbbaaalll CCChhhaaannngggeeesss


            CCChhhaaannngggeee iiinnn VVVaaallluuueee ooofff EEEOOOSSS

                 As  described  in the _V_7._1 _t_o _V_8 _C_o_n_v_e_r_s_i_o_n _G_u_i_d_e, the value
            of EOS (end of string) has changed from the value  of  -2  to  0.
            This  change  should  not  affect the operation of your programs,
            unless  they  make  (unwise)  assumptions  as  to  the  value  or
            magnitude  of  this  constant.   The purpose of this change is to
            better support the C language (available as a separate package to
            Subsystem customers) and to slightly improve run-time performance
            of the Subsystem in general (it is faster to  compare  against  0
            than -2).

                 Although  a  change  of this magnitude normally requires the
            recompilation of all code (yours and ours), we have come up  with
            a  scheme  whereby we build _t_w_o Subsystem libraries:  one handles
            EOS being -2, and the other one handles EOS being 0.  The library
            that will be used for a particular object program  is  determined
            by  whether  the  program  calls  'init' or not -- programs which
            contain "call init" are assumed to be "old" and get an EOS  value
            of -2.  We can get by with this because 'init' hasn't been needed
            for  years;  not calling it has caused no ill effects for several
            releases, although its call was automatically included  by  'rp'.
            This  means  as long as existing object programs behave (the only
            ones in doubt are non-Ratfor programs) by calling 'init', use the
            shared library,  and  don't  muddle  with  the  Subsystem  common
            blocks,  they  will work perfectly under Version 8.1.  Of course,
            Ratfor programs compiled under Version 8.1 will  no  longer  call
            'init'  and  will  receive  EOS  as  0.  (It is still possible to


                                          - 1 -                              




            Version 8.1 Conversion Guide                                     


            recompile EOS=-2 programs under Version 8.1, but it will  not  be
            as  convenient.)   Locally-written  routines  (that do not access
            Subsystem common blocks) can be incorporated into  both  versions
            of the library automatically by putting them in the proper source
            directory and rebuilding the libraries.

                 This  horrendous kluge will not be in effect for more than a
            couple of releases; good taste prevents us from allowing such  an
            abomination  to  live any longer than necessary.  We are doing it
            in the first place only to allow users at both your and our sites
            time to  gradually  rebuild  programs  (and  because  there  were
            threats  against  our  personal safety if we forced recompilation
            again).  We do expect you to recompile all your local programs in
            the months following the installation of Version 8.1.

                 In recompiling your code, you should look for several things
            which could  cause  problems  at  execution  time  with  the  new
            library.   First, make sure that your code does not depend on the
            value or magnitude of EOS, except  to  note  that  its  value  is
            different from the characters returned by 'getlin'.  Next, if any
            of your main programs are introduced by the 'subroutine' keyword,
            you  should recompile them immediately, since they are definitely
            not going to work with this version  of  the  Subsystem.   Third,
            make  sure  that none of your code (Ratfor or otherwise) contains
            an explicit call to the  'init'  routine.   This  routine  is  no
            longer  needed,  and will cause the wrong value of EOS to be used
            while the compatible library is in use.  Finally, if you use  the
            unshared  version  of  the  Subsystem  library ("nvswtlb") in the
            loads of your programs, they must be recompiled also.  Except for
            the exceptions noted above, you may recompile  your  programs  at
            your  leisure; but be sure to do it soon, since the compatibility
            library will disappear eventually.

                 However, if you must recompile a program which has not  been
            purged of its EOS value dependencies (and therefore must run with
            the  value of EOS used at Version 8), you can do so by first mak-
            ing sure that the program (we are  assuming  Ratfor  here)  _c_a_l_l_s
            _'_i_n_i_t_'.  Then, compile and load it via the following:

                      rp =src=/lib/swt/v8def.r.i <program>.r _
                           -x =src=/lib/swt/v8rptab -o <program>.f
                      fc <program>.f
                      ld <program>.b -l v8vswtlb -o <program>

            In  the 'rp' call, the "v8def.r.i" file changes EOS references in
            your source and the file "v8rptab" changes the strings  generated
            by  'rp' to have the correct terminator.  The library call to the
            "v8vswtlb" library in the 'ld' line will cause the  compatability
            library  to  be  loaded,  which does expect EOS to have the value
            used in Version 8.


            MMMaaacccrrrooo DDDeeefffiiinnniiitttiiiooonnn CCChhhaaannngggeeesss

                 The Subsystem definition files have been changed to clean up
            some old definitions and add some new ones.  The old  values  INH


                                          - 2 -                              




            Version 8.1 Conversion Guide                                     


            and  ENB,  which  are used with the Primos 'break$' routine, have
            been changed to DISABLE and ENABLE, respectively.  The values  of
            PRIMOS_KEYS  and  PRIMOS_ERRD  have  been  changed to contain the
            current names of those respective files.  The  names  MAXUSERNAME
            and  MAXPACKEDUSERNAME have been added to help interface with the
            'date' routine; these values should also  be  used  when  dealing
            with  login  names  (warning:   Primos 19  will allow much longer
            names, so using these constants will ease your transition to  the
            new operating system for programs which process login names).


            NNNeeewww SSSuuubbbsssyyysssttteeemmm LLLiiibbbrrraaarrriiieeesss

                 There  have  been  many additions to the Subsystem libraries
            for this release.  Two new libraries, "v8vswtlb" and "nv8vswtlb",
            have been added to provide compatability for programs which  were
            compiled  with  Version 8  and  must  have  EOS at the old value.
            There is a new library, "shortlb", which contains  short-callable
            routines  to  provide  Ratfor/Fortran programmers with operations
            that before this time were available only  to  assembly  language
            programs.   The  Subsystem  math  library, "vswtml", contains new
            routines which provide double precision functionality.   Finally,
            the  support  library  for  the Portable Pascal compiler has been
            renamed to "p4clib", to lessen confusion with  the  Prime  Pascal
            library.


            DDDeeellleeettteeeddd SSSuuubbbsssyyysssttteeemmm LLLiiibbbrrraaarrriiieeesss

                 The pattern-matching library, "vpatlb", has been merged with
            the  standard  Subsystem  library,  and  is  therefore  no longer
            needed.  All programs that used to be loaded  with  this  library
            can  be loaded with the standard Subsystem library (automatically
            included by 'ld').  The old version of the Portable  Pascal  com-
            piler library, "pasclib", has been removed (as noted above); Sub-
            system  managers  should  make  sure that this library is removed
            from =lib= to avoid having users access  an  older  copy  of  the
            routines formerly in this library.


            NNNeeewww SSSuuubbbsssyyysssttteeemmm TTTeeemmmppplllaaattteee

                 The  Subsystem  template file has been enhanced by the addi-
            tion of the template  "=phonelist=".   The  'phone'  program  was
            changed  to  use this template so that the user may set a private
            value for this template and use personal phone number lists.


            CCCooommmmmmaaannnddd IIInnnttteeerrrppprrreeettteeerrr EEEnnnhhhaaannnccceeemmmeeennntttsss

                 Terminal configuration (suppressed output  and  duplex)  are
            restored properly after a command aborts and between execution of
            commands on a command line.

                 There  are  two  new variables, "_eof" and "_newline", which
            have been documented.


                                          - 3 -                              




            Version 8.1 Conversion Guide                                     


                 There is now  documentation  in  the  _U_s_e_r_'_s  _G_u_i_d_e  _t_o  _t_h_e
            _S_o_f_t_w_a_r_e  _T_o_o_l_s  _C_o_m_m_a_n_d  _I_n_t_e_r_p_r_e_t_e_r about restrictions that the
            Subsystem administrator can impose on Subsystem users in terms of
            which commands may be executed.


            UUUpppdddaaattteee tttooo SSSWWWTTTSSSEEEGGG

                 The Subsystem segmented loader has been  updated  to  Primos
            version  18.3.   This  will  solve most problems with loading the
            output of the  current  compilers;  the  temporary  solution  for
            program  loading  as  described  in  the  newsletter is no longer
            needed.



                              SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888 CCCooommmmmmaaannndddsss


                 This section summarizes the user-visible changes  that  have
            been  made  to Subsystem commands for Version 8.1.  It is divided
            into several subsections:   obsolete  commands,  superseded  com-
            mands,  modified  commands, enhanced commands, and unchanged com-
            mands.  The final subsection is a summary of  commands  that  are
            new for the Version 8.1 release.


            OOObbbsssooollleeettteee CCCooommmmmmaaannndddsss

                 The  commands  in this subsection were part of the Version 8
            Subsystem, but are not included in the Version 8.1 release.  Most
            of them were used only by certain shell programs  and  have  out-
            lived their usefulness.  In other cases, the commands were relics
            of  past  Subsystems,  and  either  were  no longer useful, or no
            longer worked.


                 llleeexxx
                      The lexical analyzer for the  SSPL  compiler  has  been
                      removed  because  support  of  the  compiler  no longer
                      exists.

                 ooopppttt666888000000
                      The Motorola 6800 code generator for the SSPL  compiler
                      has been removed because there is no longer any support
                      for the compiler.

                 ooopppttt888000888000
                      The Intel 8080 code generator for the SSPL compiler has
                      been removed because there is no longer any support for
                      the compiler.

                 ssssssppplll
                      Support for the Small Systems Programming Language com-
                      piler  (SSPL)  has  been  removed  from  the Subsystem,
                      because it enjoyed very limited use.


                                          - 4 -                              




            Version 8.1 Conversion Guide                                     


            SSSuuupppeeerrrssseeedddeeeddd CCCooommmmmmaaannndddsss

                 The commands in this subsection are not  part  of  the  Ver-
            sion 8.1  Subsystem;  their  functionality  has  been subsumed by
            other commands.  Each entry describes the command and options you
            can use to get the same results.

                      NNNooo cccooommmmmmaaannndddsss aaarrreee sssuuupppeeerrrssseeedddeeeddd aaattt VVVeeerrrsssiiiooonnn 888...111...


            MMMooodddiiifffiiieeeddd CCCooommmmmmaaannndddsss

                 The commands listed in this subsection  have  been  modified
            for  the  Version 8.1  release  and are no longer completely com-
            patible with their Version 8 counterparts.  Each  entry  gives  a
            brief  description  of the changes, but before using any of these
            commands, please check the corresponding Reference  Manual  entry
            to be sure of the command's exact behavior.

                      NNNooo cccooommmmmmaaannndddsss aaarrreee mmmooodddiiifffiiieeeddd aaattt VVVeeerrrsssiiiooonnn 888...111...


            EEEnnnhhhaaannnccceeeddd CCCooommmmmmaaannndddsss

                 Commands  in this subsection have been functionally enhanced
            for the Version 8.1 release, but  remain  compatible  with  their
            Version 8 counterparts.

                 bbbmmmeeerrrgggeee
                      Updated to handle new object code format.

                 bbbnnnaaammmeeesss
                      Updated to handle new object code format.

                 cccooopppyyyooouuuttt
                      Updated to use new spooler library.

                 dddeeefffiiinnneee
                      Enhanced  to  allow  dollar signs in identifiers (to be
                      compatible with 'rp').

                 dddmmmaaaccchhh
                      Installed in the correct location (it is supposed to be
                      in "=lbin=").

                 fff777777ccc
                      Now handles the "-u" option to list undefined variables
                      and routines (its default  behavior),  and  allows  new
                      levels of optimization.

                 fffccc
                      Added "-k" option to list compilation statistics.

                 fffsssiiizzzeee
                      Gives  the number of records in a file system object as
                      the default, and has "-w" option to list sizes in words


                                          - 5 -                              




            Version 8.1 Conversion Guide                                     


                      (like 'lf').

                 hhhddd
                      Gives record size for  unnormalized  records,  searches
                      all possible disks instead of stopping at the first one
                      that  it  could  not  size,  and has new verbose option
                      "-v".

                 iiinnncccllluuudddeee
                      Continues to process input despite  errors  in  opening
                      included  files, and handles more deeply nested include
                      calls.

                 lllddd
                      Added "-b" option to handle  the  C  language  library,
                      added "-f" option to provide full map, and updated "-u"
                      option  to  issue  "ma 6" instead of "ma 3" to increase
                      load speed.

                 lllpppsss
                      Updated to use the newer spool  library,  accepts  more
                      than  one  disk  pack  specification  to indicate spool
                      directories to  be  searched,  prefixes  the  currently
                      printing  spooler  entry with an asterisk, modified the
                      "-q" option to provide more verbose information,  queue
                      entry  lists  are now prefixed by a label indicating on
                      which disk partition the queue was found, and the  "-c"
                      option  no longer allows cancellation of print files on
                      remote spool queues.

                 mmmaaacccrrrooo
                      Now accepts the "-e" option to allow  the  escaping  of
                      characters.

                 mmmooonnn
                      Accepts new commands "?", "x", and "q".

                 ooosss
                      Includes  speed enhancements and accepts "-x" option to
                      reverse the order in which it outputs  the  overstrikes
                      (needed for Printronix printers).

                 pppccc
                      Extended the "-f" option to handle the new map options,
                      meaning  of the "-q" option changed so that the meaning
                      of the levels is now reversed.

                 pppggg
                      Calls the extended 'page' subroutine to allow search by
                      pattern, etc.  See the Reference Manual entry for  both
                      the  'pg'  command  and  the 'page' subroutine for more
                      information.

                 ppphhhooonnneee
                      Changed to use the new template "=phonelist=", to allow
                      private phone lists to be used.


                                          - 6 -                              




            Version 8.1 Conversion Guide                                     


                 ppplllgggccc
                      Extended the "-f" option in the same  manner  as  'pc',
                      added  the  "-p"  option  to control short-call routine
                      generation, and added the "-s" option to control  copy-
                      ing of constant subroutine parameters.

                 ppplllpppccc
                      Added  "-q"  option  to control listing of warning mes-
                      sages.

                 ppprrr
                      Now kicks the spooler after the file has been spooled.

                 rrraaadddiiixxx
                      Prints on standard output instead of the error  output,
                      as stated in the Reference Manual entry.

                 rrrppp
                      No  longer  generates  calls  to the 'init' routine and
                      transliterates single  character  constants  correctly.
                      New  'b'  option to prevent mapping of long identifiers
                      or identifiers which contain upper  case  letters,  and
                      new  'h'  option  to  force  the  output  of  Hollerith
                      constants rather than quoted string constants.

                 ssseee
                      Handles more terminal types, handles  more  and  longer
                      lines,  and  fixed  errors  caused  by an uninitialized
                      variable.  Documentation has been added for  "oss"  and
                      "osf"  options,  "&"  pattern element, ";" and "#" line
                      number elements, and extended message command.

                 sssppp
                      Now kicks the spooler after the file has been spooled.

                 wwwhhhooo
                      Added the "-q" option to suppress  printing  of  header
                      lines.




















                                          - 7 -                              




            Version 8.1 Conversion Guide                                     


            UUUnnnccchhhaaannngggeeeddd CCCooommmmmmaaannndddsss

                 This subsection lists the commands that have no user-visible
            changes made for Version 8.1.

                      aaalllaaarrrmmm           aaarrr               aaarrrggg              aaarrrgggsss
                      aaarrrgggssstttooo          aaasss111111             aaasss666888000000           aaasss888000888000
                      bbbaaannnnnneeerrr          bbbaaassseeennnaaammmeee         bbbaaasssyyysss            bbbaaatttccchhh
                      bbbllloooccckkk           bbbsss               bbbsss111              bbbuuuggg
                      bbbuuugggfffmmm           bbbuuugggnnn             bbbyyyeee              cccaaalll
                      cccaaassseee            cccaaattt              cccddd               cccdddmmmlllccc
                      cccdddmmmlllccclll          ccchhhaaannngggeee           ccchhhaaattt             ccchhhooowwwnnn
                      cccllleeeaaarrr           cccllloooccckkk            cccmmmppp              cccnnn
                      cccooobbbccc            cccooobbbccclll            cccooolll              cccooommmmmmooonnn
                      cccooommmooo            cccooopppyyy             cccppp               cccrrryyypppttt
                      cccsssuuubbbccc           ccctttiiimmmeee            ccctttooo              dddaaattteee
                      dddaaayyy             dddbbbggg              ddddddlllccc             dddeeeccclllaaarrreee
                      dddeeeccclllaaarrreeeddd        dddeeelll              dddeeesss              dddeeetttaaabbb
                      dddiiiffffff            dddmmmaaaccchhh            dddnnnuuummm             dddppprrriiinnnttt
                      dddrrroooppp            ddduuummmppp             eee                eeeccchhhooo
                      eeeddd              eeekkk               eeelllssseee             eeennntttaaabbb
                      eeerrrrrrooorrr           eeesssaaaccc             eeevvvaaalll             eeexxxiiittt
                      fff777777ccclll           fffccclll              fffdddmmmlllccc            fffdddmmmlllccclll
                      fffdddmmmppp            fffiii               fffiiieeelllddd            fffiiillleee
                      fffiiillleeesss           fffiiinnnddd             fffiiixxxppp             fffmmmttt
                      fffoooccclllddd           fffooorrrgggeeettt           fffooosss              fffsssuuubbbccc
                      gggoootttooo            ggguuueeessssss            ggguuuiiidddeee            hhheeelllppp
                      hhhiiissstttooorrryyy         hhhppp               iiifff               iiimmmiii
                      iiinnndddeeexxx           iiinnnssstttaaallllllaaatttiiiooonnn     iiinnnttteeelll            iiioootttaaa
                      jjjoooiiinnn            kkkiiillllll             kkkwwwiiiccc             lllaaammm
                      lllaaasssttt            llleeennngggttthhh           lllfff               llliiibbb
                      llliiinnneee            llliiinnnkkk             lllkkk               lllooocccaaattteee
                      llloooggg             lllooogggiiinnn___nnnaaammmeee       mmmaaaiiilll             mmmeeemmmooo
                      mmmkkkccclll            mmmkkkcccllliiisssttt          mmmkkkdddiiirrr            mmmkkkllliiibbb
                      mmmkkktttrrreeeeee          mmmkkkuuusssrrr            mmmoooooottt             mmmooottt
                      mmmttt              mmmvvv               nnnaaarrrgggsss            nnneeewwwsss
                      ooolllddd___aaarrr          ooouuuttt              ppp444ccc              ppp444ccclll
                      pppaaasssssswwwddd          pppaaauuussseee            pppccclll              ppphhh
                      ppphhhiiisssttt           ppplllgggccclll            ppplllpppccclll            pppmmmaaaccc
                      pppmmmaaaccclll           ppprrriiimmmooosss           ppprrriiinnnttt            ppprrrooofffiiillleee
                      pppuuubbbllliiissshhh         pppwwwddd              pppwwwooorrrddd            qqquuuooottteee
                      rrraaaiiiddd            rrrccclll              rrrdddcccaaattt            rrrdddeeexxxtttrrr
                      rrrdddjjjoooiiinnn          rrrdddmmmaaakkkeee           rrrdddppprrriiinnnttt          rrrdddppprrrooojjj
                      rrrdddssseeelll           rrrdddsssooorrrttt           rrrddduuunnniiiqqq           rrreeetttrrraaacccttt
                      rrrfff              rrrffflll              rrrmmmuuusssrrr            rrrnnnddd
                      rrrooottt             rrrsssaaa              rrrtttiiimmmeee            sssaaavvveee
                      ssscccrrrooollllll          ssseeemmmaaa             ssseeeppp              ssseeettt
                      ssshhh              ssshhhooowww             ssshhhtttrrraaaccceee          sssiiizzzeee
                      sssllliiiccceee           sssooolll              sssooorrrttt             sssooouuurrrccceee
                      ssspppeeellliiinnnggg         ssspppeeellllll            ssssssrrr              sssttt___ppprrrooofffiiillleee
                      ssstttaaacccccc           ssstttaaatttsss            ssstttoooppp             sssuuubbbssscccrrriiibbbeee
                      sssuuubbbssstttrrr          sssyyymmmbbbooolllsss          sssyyyssstttaaattt           tttaaaiiilll
                      tttaaakkkeee            tttccc               ttteeeeee              ttteeemmmppplllaaattteee
                      ttteeerrrmmm




                                          - 8 -                              




            Version 8.1 Conversion Guide                                     


            NNNeeewww CCCooommmmmmaaannndddsss

                 This subsection lists commands that are new for Version 8.1.

                 bbbrrreeefffsss
                      Provide  a  list  of  caller-callee pairs for an object
                      file.

                 cccccc
                      Compiles a C program with  the  Subsystem  C  compiler.
                      TTThhhiiisss  ppprrrooogggrrraaammm  iiisss  ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo cccuuussstttooommmeeerrrsss wwwhhhooo hhhaaavvveee
                      aaalllsssooo llliiiccceeennnssseeeddd ttthhheee CCC lllaaannnggguuuaaagggeee cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee...

                 cccccclll
                      Compiles and loads a C program.  TTThhhiiisss ppprrrooogggrrraaammm  iiisss  ooonnnlllyyy
                      aaavvvaaaiiilllaaabbbllleee  tttooo  cccuuussstttooommmeeerrrsss  wwwhhhooo  hhhaaavvveee aaalllsssooo llliiiccceeennnssseeeddd ttthhheee CCC
                      lllaaannnggguuuaaagggeee cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee...

                 iiisssppphhh
                      Allows shell files to determine whether they  are  run-
                      ning  in  a  phantom  environment.   This is useful for
                      scripts which might attempt to write  to  the  terminal
                      unless their output is redirected.

                 lllooorrrdddeeerrr
                      Provides the ordering of a library necessary for a one-
                      pass load.

                 sssppplllccc
                      Compiles an SPL program.

                 sssppplllccclll
                      Compiles and loads an SPL program.

                 sssppprrriiinnnttt
                      Filters  formatter  output  for  a  NEC  Spinwriter and
                      provides similar functionality to 'dprint.'

                 tttsssooorrrttt
                      Performs topological sort of  caller-callee  pairs  for
                      ordering library routines.

                 uuucccccc
                      Compiles  and  loads  a  C program, ala Unix(tm).  TTThhhiiisss
                      ppprrrooogggrrraaammm iiisss ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo cccuuussstttooommmeeerrrsss  wwwhhhooo  hhhaaavvveee  aaalllsssooo
                      llliiiccceeennnssseeeddd ttthhheee CCC lllaaannnggguuuaaagggeee cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee...

                 vvvcccggg
                      Generates  V-mode  object code for Prime 50-Series com-
                      puters.  Allows the  ambitious  installation  to  write
                      "front-ends"  for  local  implementations of compilers.
                      TTThhhiiisss ppprrrooogggrrraaammm iiisss ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo  cccuuussstttooommmeeerrrsss  wwwhhhooo  hhhaaavvveee
                      aaalllsssooo llliiiccceeennnssseeeddd ttthhheee CCC lllaaannnggguuuaaagggeee cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee...





                                          - 9 -                              




            Version 8.1 Conversion Guide                                     


                 vvvcccgggddduuummmppp
                      Displays  the  input files for 'vcg' in a semi-readable
                      format; useful  for  debugging  compiler  "front-ends."
                      TTThhhiiisss  ppprrrooogggrrraaammm  iiisss  ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo cccuuussstttooommmeeerrrsss wwwhhhooo hhhaaavvveee
                      aaalllsssooo llliiiccceeennnssseeeddd ttthhheee CCC lllaaannnggguuuaaagggeee cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee...

                 yyyeeesssnnnooo
                      Provides selective input filtering.



                             SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888 SSSuuubbbrrrooouuutttiiinnneeesss


                 This section summarizes the user-visible changes to the Sub-
            system library routines.  It is divided into several subsections:
            obsolete  routines,  superseded  routines,   modified   routines,
            enhanced routines, unchanged routines and new routines.


            OOObbbsssooollleeettteee RRRooouuutttiiinnneeesss

                 The  routines  listed  here  were only used by other library
            routines.  Since their services are no longer required, they have
            been deleted.

                      NNNooo rrrooouuutttiiinnneeesss wwweeerrreee ooobbbsssooollleeettteeeddd aaattt VVVeeerrrsssiiiooonnn 888...111...


            SSSuuupppeeerrrssseeedddeeeddd RRRooouuutttiiinnneeesss

                 The following routines have  been  subsumed  by  other  more
            powerful routines.  Each entry names the Version 8.1 routine that
            performs the same function.

                 aaattt$$$
                      Use  'at$swt'.   Its  name  was changed to avoid naming
                      conflicts with a Primos 19 routine.


            MMMooodddiiifffiiieeeddd RRRooouuutttiiinnneeesss

                 The routines listed in this subsection have been modified so
            that  they  are  no  longer  compatible  with   their   Version 8
            counterparts.   Although each entry briefly describes the changes
            that  have  been  made,  you  should  examine  the  corresponding
            Reference  Manual  entries to determine the exact behavior of the
            routines.

                 fffiiillleee$$$ppp
                      Updated for Prime  Pascal  version  18.3/18.4  release,
                      which is incompatible with previous releases.

                 iiinnniiittt
                      Modified  to  allow  use  of  the compatibility library
                      (funeral notices will soon appear in a  Subsystem  new-


                                         - 10 -                              




            Version 8.1 Conversion Guide                                     


                      sletter near you).

                 iiinnniiittt$$$ppp
                      Updated  for  Prime  Pascal  version 18.3/18.4 release,
                      which is incompatible with previous releases.


            EEEnnnhhhaaannnccceeeddd RRRooouuutttiiinnneeesss

                 The routines listed in this subsection have additional func-
            tionality in the Version 8.1 release, but remain compatible  with
            their Version 8 counterparts.

                 aaaddddddssseeettt
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 aaammmaaatttccchhh
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 cccaaallllll$$$$$$
                      Modified to handle the "output suppressed" bits.

                 cccaaannnttt
                      Changed  its  error message to the one specified in the
                      Reference Manual.

                 cccaaatttsssuuubbb
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 dddmmmpppcccmmm$$$
                      Also  prints  the current EOS value, which is currently
                      stored in the common block.

                 dddooodddaaassshhh
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 eeesssccc
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 fffiiilllssseeettt
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 gggeeetttcccccclll
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 lllooocccaaattteee
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.



                                         - 11 -                              




            Version 8.1 Conversion Guide                                     


                 mmmaaakkkpppaaattt
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 mmmaaakkksssuuubbb
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 mmmaaatttccchhh
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 ooommmaaatttccchhh
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 pppaaagggeee
                      Handles  the page count correctly, allows pattern sear-
                      ching, and has been modified  to  provide  better  per-
                      formance.

                 pppaaatttsssiiizzz
                      Cleaned  up  code  and is now part of the standard Sub-
                      system library.

                 ssstttccclllooosss
                      Cleaned up code and is now part of  the  standard  Sub-
                      system library.

                 vvvfffyyyuuusssrrr
                      Checks  the  length  of  its  argument, and immediately
                      returns if the argument string is  too  long  to  be  a
                      legal login name.

                 vvvttt$$$dddeeefff
                      Uses Primos C1IN instead of T1IN for faster response.

                 vvvttt$$$gggeeettt
                      Uses Primos C1IN instead of T1IN for faster response.

                 vvvttt$$$gggsssqqq
                      Uses Primos C1IN instead of T1IN for faster response.

                 vvvttt$$$nnndddfff
                      Uses Primos C1IN instead of T1IN for faster response.

                 vvvttt$$$pppooosss
                      Supports positioning for Hewlett-Packard terminals.










                                         - 12 -                              




            Version 8.1 Conversion Guide                                     


            UUUnnnccchhhaaannngggeeeddd RRRooouuutttiiinnneeesss

                 No  user-visible  changes  have  been  made  to the routines
            listed in this subsection.

                      aaatttoooccc            bbbpppooonnnuuu$$$           ccc$$$eeennnddd            ccc$$$iiinnncccrrr
                      ccc$$$iiinnniiittt          ccchhhkkkaaarrrggg           ccchhhkkkiiinnnppp           ccchhhkkkssstttrrr
                      ccchhhuuunnnkkk$$$          ccclllooossseee            cccooofff$$$             cccpppfffiiilll$$$
                      cccpppssseeeggg$$$          cccrrreeeaaattteee           ccctttoooaaa             ccctttoooccc
                      ccctttoooddd            ccctttoooiii             ccctttooolll             ccctttooommmnnn
                      ccctttoooppp            ccctttooorrr             ccctttooovvv             dddaaattteee
                      dddeeecccooodddeee          dddeeelllaaarrrggg           dddeeellleeettteee           dddgggeeetttlll$$$
                      dddmmmaaarrrkkk$$$          dddmmmpppfffddd$$$           dddooopppeeennn$$$           dddpppuuutttlll$$$
                      dddrrreeeaaaddd$$$          dddsssdddbbbiiiuuu           dddsssddduuummmppp           dddssseeeeeekkk$$$
                      dddsssfffrrreeeeee          dddsssgggeeettt            dddsssiiinnniiittt           dddtttoooccc
                      dddwwwrrriiittt$$$          eeedddiiittt             eeennncccooodddeee           eeennnttteeerrr
                      eeeqqquuuaaalll           eeerrrrrrooorrr            eeexxxeeeccc             eeexxxeeecccnnn
                      eeexxxpppaaannnddd          fffcccooopppyyy            fffiiilllcccpppyyy           fffiiillltttsssttt
                      fffiiinnndddfff$$$          fffiiinnnfffooo$$$           fffiiirrrsssttt$$$           fffllluuussshhh$$$
                      fffooollllllooowww          gggcccddd              gggcccdddiiirrr$$$           gggccciiifffuuu$$$
                      gggccctttoooiii           gggccctttooolll            gggeeetttaaa$$$fff           gggeeetttaaa$$$ppp
                      gggeeetttaaa$$$ppplllggg        gggeeetttaaarrrggg           gggeeetttccchhh            gggeeetttfffddd$$$
                      gggeeetttkkkwwwddd          gggeeetttllliiinnn           gggeeettttttooo            gggeeetttvvvdddnnn
                      gggeeetttwwwrrrddd          gggfffnnnaaammm$$$           gggfffnnnaaarrrggg           gggiiitttoooccc
                      gggkkklllaaarrrggg          gggllltttoooccc            gggtttaaattttttrrr           gggttteeemmmppp
                      gggttttttyyypppeee          gggvvvlllaaarrrggg           iiicccooommmnnn$$$           iiinnndddeeexxx
                      iiinnniiittt$$$fff          iiinnniiittt$$$ppplllggg         iiinnnpppuuuttt            iiinnnvvvmmmoooddd
                      iiioooffflll$$$           iiioooiiinnniiittt           iiisssaaadddssskkk           iiisssaaattttttyyy
                      iiitttoooccc            jjjdddaaattteee            llldddssseeeggg$$$           llldddtttmmmppp$$$
                      llleeennngggttthhh          lllooooookkkuuuppp           lllooopppeeennn$$$           lllsssaaallllllooo
                      lllssscccmmmpppkkk          lllssscccooommmppp           lllssscccooopppyyy           lllssscccuuuttt
                      lllsssdddeeelll           lllsssdddrrroooppp           lllsssddduuummmppp           lllssseeexxxtttrrr
                      lllsssfffrrreeeeee          lllsssgggeeetttccc           lllsssgggeeetttfff           lllsssiiinnniiittt
                      lllsssiiinnnsss           lllsssjjjoooiiinnn           lllsssllleeennn            lllsssmmmaaakkkeee
                      lllssspppooosss           lllssspppuuutttccc           lllssspppuuutttfff           lllssssssuuubbbsss
                      lllssstttaaakkkeee          llltttoooccc             llluuuttteeemmmppp           mmmaaapppdddnnn
                      mmmaaapppfffddd           mmmaaapppssstttrrr           mmmaaapppsssuuu            mmmaaapppuuuppp
                      mmmaaarrrkkkfff           mmmkkkdddiiirrr$$$           mmmkkkfffddd$$$            mmmkkkpppaaa$$$
                      mmmkkktttaaabbblll          mmmkkkttteeemmmppp           mmmkkktttrrr$$$            mmmnnntttoooccc
                      mmmooovvveee$$$           ooopppeeennn             pppaaarrrsssccclll           pppaaarrrsssdddttt
                      pppaaarrrssstttmmm          ppprrriiimmmeee            ppprrriiinnnttt            ppptttoooccc
                      pppuuutttccchhh           pppuuutttdddeeeccc           pppuuutttllliiinnn           pppuuutttllliiittt
                      pppwwwrrrmmmoooddd          rrreeeaaadddfff            rrreeemmmaaarrrkkk           rrreeemmmooovvveee
                      rrreeeooonnnuuu$$$          rrreeewwwiiinnnddd           rrrmmmfffiiilll$$$           rrrmmmssseeeggg$$$
                      rrrmmmtttaaabbblll          rrrmmmttteeemmmppp           rrrtttnnn$$$$$$            rrrtttoooccc
                      ssscccooopppyyy           sssccctttaaabbblll           sssdddrrroooppp            ssseeeeeekkkfff
                      ssseeettt___cccooopppyyy        ssseeettt___cccrrreeeaaattteee       ssseeettt___dddeeellleeettteee       ssseeettt___eeellleeemmmeeennnttt
                      ssseeettt___eeeqqquuuaaalll       ssseeettt___iiinnniiittt         ssseeettt___iiinnnssseeerrrttt       ssseeettt___iiinnnttteeerrrssseeecccttt
                      ssseeettt___rrreeemmmooovvveee      ssseeettt___sssuuubbbssseeettt       ssseeettt___sssuuubbbtttrrraaacccttt     ssseeettt___uuunnniiiooonnn
                      ssseeettteeerrrrrr          sssppprrrooottt$$$           sssttt$$$llluuu            ssstttaaakkkeee
                      ssstttrrrbbbsssrrr          ssstttrrrcccmmmppp           ssstttrrriiimmm            ssstttrrrlllsssrrr
                      sssuuubbbssstttrrr          ssswwwttt              sssyyysss$$$$$$            ttt$$$cccllluuuppp
                      ttt$$$eeennntttrrr          ttt$$$eeexxxiiittt           ttt$$$tttiiimmmeee           ttt$$$tttrrraaaccc
                      tttcccooooookkk$$$          tttgggeeetttlll$$$           tttmmmaaarrrkkk$$$           tttpppuuutttlll$$$
                      tttqqquuuiiittt$$$          tttrrreeeaaaddd$$$           tttrrruuunnnccc            tttssscccaaannn$$$
                      tttssseeeeeekkk$$$          ttttttyyyppp$$$fff           ttttttyyyppp$$$lll           ttttttyyyppp$$$qqq


                                         - 13 -                              




            Version 8.1 Conversion Guide                                     


                      ttttttyyyppp$$$rrr          ttttttyyyppp$$$vvv           tttwwwrrriiittt$$$           tttyyypppeee
                      uuupppkkkfffnnn$$$          vvvttt$$$aaalllccc           vvvttt$$$ccclllrrr           vvvttt$$$dddbbb
                      vvvttt$$$dddbbb111          vvvttt$$$dddbbb222           vvvttt$$$dddbbb333           vvvttt$$$dddeeelll
                      vvvttt$$$dddssswww          vvvttt$$$eeerrrrrr           vvvttt$$$iiidddfff           vvvttt$$$iiieeerrr
                      vvvttt$$$ooouuuttt          vvvttt$$$pppuuuttt           vvvttt$$$rrrdddfff           vvvtttccclllrrr
                      vvvttteeennnbbb           vvvtttgggeeetttlll           vvvtttiiinnnfffooo           vvvtttiiinnniiittt
                      vvvtttmmmooovvveee          vvvtttmmmsssggg            vvvtttoooccc             vvvtttooopppttt
                      vvvtttpppaaaddd           vvvtttppprrrttt            vvvtttpppuuutttlll           vvvtttrrreeeaaaddd
                      vvvtttssstttoooppp          vvvtttttteeerrrmmm           vvvtttuuupppddd            wwwiiinnnddd
                      wwwkkkdddaaayyy           wwwrrriiittteeefff           zzzmmmeeemmm$$$



            NNNeeewww RRRooouuutttiiinnneeesss

                 The routines listed in this section are  new  for  the  Ver-
            sion 8.1 release.

                 aaabbbqqq$$$xxxsss
                      Adds an entry to the bottom of a queue.

                 aaattt$$$ssswwwttt
                      Provides interlude to Primos ATCH$$ (formerly 'at$').

                 aaatttqqq$$$xxxsss
                      Adds an entry to the top of a queue.

                 dddaaacccooosss
                      Returns  the  double  precision inverse cosine value of
                      its argument.

                 dddaaasssiiinnn
                      Returns the double precision inverse sine value of  its
                      argument.

                 dddbbbeeexxxppp
                      Returns  the  double  precision  exponentiation  of its
                      argument to the base of the natural logarithms.

                 dddbbbsssqqqrrrttt
                      Returns  the  double  precision  square  root  of   its
                      argument.

                 dddffflllooottt
                      Returns  the double precision float of its long integer
                      argument.

                 dddrrraaannnddd
                      Returns a double precision random number.

                 gggeeettt$$$xxxsss
                      Returns a character from an array  by  using  efficient
                      indexing and byte-swapping operations.





                                         - 14 -                              




            Version 8.1 Conversion Guide                                     


                 gggkkkyyy$$$xxxsss
                      Returns the current CPU keys.

                 iiisssnnnuuullllll
                      Test to see if a given file is the null device.

                 mmmkkkqqq$$$xxxsss
                      Initializes a hardware-defined queue.

                 pppeeekkk$$$xxxsss
                      Returns  the value in a given memory location (performs
                      a peek operation).

                 pppoookkk$$$xxxsss
                      Changes the value in a given memory location  (performs
                      a poke operation).

                 pppuuuttt$$$xxxsss
                      Put a character into an array by using efficient index-
                      ing and byte-swapping operations.

                 rrrbbbqqq$$$xxxsss
                      Returns the value removed from the bottom of a queue.

                 rrrdddyyy$$$xxxsss
                      Returns  the character that was typed at a terminal, if
                      any.

                 rrrtttqqq$$$xxxsss
                      Returns the value removed from the top of a queue.

                 sss111ccc$$$xxxsss
                      Implements an atomic set-and-test operation.

                 sss222ccc$$$xxxsss
                      Implements  an  atomic  set-and-test  operation  on   a
                      double-word.

                 ssskkkyyy$$$xxxsss
                      Changes the value of the CPU keys.

                 ssstttkkk$$$xxxsss
                      Sets  and  reads  the  value  of  the  stack  extension
                      pointer.

                 tttsssqqq$$$xxxsss
                      Returns the number of entries in a queue.











                                         - 15 -                              




            




























































            




            


                                    ___TTT___AAA___BBB___LLL___EEE___ ___OOO___FFF___ ___CCC___OOO___NNN___TTT___EEE___NNN___TTT___SSS




            IIInnntttrrroooddduuuccctttiiiooonnn .............................................   1

            GGGlllooobbbaaalll CCChhhaaannngggeeesss ...........................................   1
               Change in Value of EOS ................................   1
               Macro Definition Changes ..............................   2
               New Subsystem Libraries ...............................   3
               Deleted Subsystem Libraries ...........................   3
               New Subsystem Template ................................   3
               Command Interpreter Enhancements ......................   3
               Update to SWTSEG ......................................   4

            SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888 CCCooommmmmmaaannndddsss .............................   4
               Obsolete Commands .....................................   4
               Superseded Commands ...................................   5
               Modified Commands .....................................   5
               Enhanced Commands .....................................   5
               Unchanged Commands ....................................   8
               New Commands ..........................................   9

            SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888 SSSuuubbbrrrooouuutttiiinnneeesss ..........................  10
               Obsolete Routines .....................................  10
               Superseded Routines ...................................  10
               Modified Routines .....................................  10
               Enhanced Routines .....................................  11
               Unchanged Routines ....................................  13
               New Routines ..........................................  14



























                                         - iii -                             




            




























































            


