(2.els H.sk 2 RPN162 contains details on performance and size of the driver. To give \an idea of size and speed: each data block transfer over the link fhas an overhead of under 6 m.s., each data word passed across the plink takes roughly 3 microseconds. The device driver (no trace, but zwith DR11-W and internal link support) is about 2000 words in size. „.sk 3 Ž.hl 1 Software needed ˜.ls ¢.le;The CD device driver, which forms a part of the RSX executive, ¬must be built and loaded in the system. The driver may optionally ¶include a trace feature as a debug and troubleshooting aid. À.le;The tasks to install and interpret the CD driver trace should Êalso be built, to be available in case of problems. Ô.le;The object library of Fortran callable subroutines (CDPACK.OLB) Þneeds to be put on some convenient UIC. Then all tasks using these èroutines can be task built including a CDPACK library search. ò.le;Some test programs, which exercise the link and link software üare available. Either the task files, or if desired the sources and command files may be copied to your system. It is advisable to have at least some of these test programs on your system(s). Then, in case of problems in using the link software in your own $program, you can verify correct operation of the link with the .test programs. 8.els B.sk 3 L.hl 1 Contents of the Archive Tape in detail VFor completeness the archive tape contains all software and test `software relating to the RSX communications driver and the CDPACK jpackage of routines. Some of this software is not normally needed ton a users system. The contents of the tape by UIC is given below. ~.sk 1 ˆ.hl 2 Files normally needed on user's system ’.sk 1 œ.literal ¦[77,1] Command files ° º UFD.CMD Creates the UFDs used by this tape Ä OFFBRU.CMD Copies a complete UIC from this tape to disc Î SAVECD.CMD Copies each of the UIC's on this tape from Ø some other UIC â (only the command file OFFBRU.CMD is needed) ì ö[77,2] CD driver and trace sources and command files  CDTAB.MAC CD Driver tables  CDDRV.MAC CD Driver source  CDPREF.MAC CD Driver Prefix file ( CDDRV.CMD Command file to assemble and build CD Driver 2 and also the trace programs < CDDUMP.MAC Trace Dump program F CDDUMP.CMD Command file to assemble and build CDDUMP P CDTRIN.MAC Program to create a dynamic common region CDTRAC Z CDTRIN.CMD Command file to assemble and build CDTRIN d n[77,4] Library of Fortran callable routines x ‚ CDPACK.OLB CDPACK object library Œ –[77,11] Test programs for Link Software   ª RCVLUP.TSK Loop receiving a single data block ´ XMTLUP.TSK Loop transmitting a single data block ¾ RCVTST.TSK Receive a single data block È XMTTST.TSK Transmit a single data block Ò CDTEST.TSK Test all driver functions and Echo test Ü RCVXMT.TSK Multiple receives and transmits of data blocks æ QIORCV.TSK Receive a single data block (QIO - not CDPACK) ð QIOXMT.TSK Transmit a single data block (QIO - not CDPACK) ú [77,100] Libraries for building test programs   CERNLIB.MLB Macro library " RSXLIB.OLB Object library - shortened version of CERN , RSX object library 6(these are needed only to build CDDUMP or if you intend to rebuild @ any of the other test programs) J T.end literal ^.hl 2 Other files included on the tape but not normally needed h r.literal |[77,3] Sources of Fortran callable subroutine package CDPACK †  CDASGN.MAC CDASGN subroutine š CDDRV.MAC Macros and definitions ¤ CDERRM.MAC CDERRM subroutine ® CDERRN.MAC CDERRN subroutine ¸ CDERRT.MAC CDERRT subroutine  CDMODE.MAC CDMODE,CDCHAN,CDRCVP,CDXMTP,CDRBUF,CDXBUF, Ì CDTMO,CDUSER subroutines Ö CDPACK.MAC CDOPEN,CDCLOS,CDXMT,CDXMTW,CDRCV,CDRCVW à CDSIG,CDSIGW subroutines ê CDPREF.MAC prefix file for assembling routines ô CDRSX.MAC defines conditional for RSX operating system þ CDRT.MAC defines conditional for RT operating system  CDSTAT.MAC CDSTAT subroutine  CDUTIL.MAC internal routines called by other modules  CDWAIT.MAC CDWAIT subroutine & CDCMPL.MAC AST (RSX) and completion routine (RT) 0 :[77,5] Sources and command files for test programs D N RCVLUP.FTN X RCVLUP.CMD b XMTLUP.FTN l XMTLUP.CMD v RCVTST.FTN € RCVTST.CMD Š XMTTST.FTN ” XMTTST.CMD ž ¨ (test programs using CDPACK and described under [77,11]) ² ¼[77,6] Source and command files for test programs Æ Ð QIORCV.MAC Ú QIORCV.CMD ä QIOXMT.MAC î QIOXMT.CMD ø (test programs using QIO's and described under [77,11])  [77,7] Sources and command files for CDTEST program   CDTEST.FTN Single function and Echo test program * CDTEST.INC 4 CDTEST.CMD > CDWAKE.FTN Fortran version of a CDPACK routine H R[77,10] Sources and command files for RCVXMT program \ f RCVXMT.FTN Main program p RXINIT.FTN Initialisation part z RXSUMM.FTN Summary part „ RCVXMT.BLD Task build command file Ž RCVXMT.TXT Combined form of all source for RT-11 ˜ RCVXMT.CMD Command file to compile and build RCVXMT ¢ ¬[77,20] Test programs used in developing CDPACK ¶ À CDUTST.FTN To test CDUTIL package Ê CDUTST.COM to build CDUTST on VAX Ô BADARG.FTN to give bad arguments to CDPACK Þ BADARG.CMD to build BADARG è ERRTST.FTN to test CDPACK error routines ò ERRTST.BLD task build command file ü CDUINT.MAC to use CDUTIL routines from fortran   [77,200] Documentation  $ DS77.RNO DS-77 -link transmission protocol . DS77.MEM 8 DS80.RNO DS-80 -logical link protocol B DS80.MEM L PN159.RNO PN-159-CDPACK documentation V PN159.MEM ` PN159.BTC j PN160.RNO PN-160-DECUS paper on overall connected t PN160.MEM machines project ~ PN161.RNO PN-161-DECUS paper on RT-11 Driver ˆ PN161.MEM ’ PN162.RNO PN-162-DECUS paper on RSX-11M Driver œ PN162.MEM ¦ PN166.RNO PN-166-The RSX-11M Communications Driver ° PN166.MEM º PN172.RNO PN-172-User's Guide to RSX-11M Communications Ä PN172.MEM Software Î .end literal Ø .sk 2 â .hl 1 Installing the Software ì .hl 2 From Tape to Disc ö The tape has been created with the BRU utility, at 1600 bpi. At the time of writing this User's Guide it contains only one backup dataset name - DEC82, which is the date of the release of the  software. There may in future be several different backup datasets  on the tape. The backup dataset names on a tape can be displayed ( by the command 2 .literal < F BRU /DIRECTORY Mxn: P Z where Mx may be MJ for STC 1900 d or MM for TJE-16 tape drives n .end literal x You should have a disc available where the UIC's [77,*] can be ‚ used without conflict with existing software. Œ Having chosen the appropriate dataset name on the tape the command – files can be transferred to the disc with the command   .literal ª ´ BRU /NOINI/BACKUP:backupname ¾ from: Mxn:[77,1] È to: Dxn: (your chosen disc) Ò Ü .end literal æ By repeatedly executing the command file ð .literal ú @OFFBRU  .end literal  each of the UIC's which are required can be copied to the disc  Alternatively the whole tape may be copied to disc with the " command , .literal 6 @ BRU /NOINI J from: Mxn: T to: Dxn: ^ .end literal h .sk 2 r .hl 2 Building the Driver | The software, once on a disc may be copied to any convenient † UIC's. The clustering of files within a particular UIC should be maintained. š To build the communications driver and the related trace and dump ¤ programs invoke the command file by ® .literal ¸  @CDDRV.CMD Ì .end literal Ö à You will need to know the CSR address, interrupt vector of each of ê your DR11-W's as well as the priority of the device (normally 5). ô For CD0 the standard CSR and vector at Fermilab will be suggested to þ you.   You will be required to answer some questions in order to generate  the driver conditionals. & Initially anyway, it is a good idea to include the trace feature 0 in the driver. This takes up about 800 words of extra space. Use : of the trace feature adds up to 3 ms of overhead to each transfer. D but the feature does not need to be used except in case of problems. N X A copy of the trace dump program should be build for each CD unit b number in the system l v The trace partition size can be specified. A 1K buffer should be € sufficient (4K is the maximum). Š Give the block size as an octal number e.g. 100 for a 2K buffer. ” Except in case of problems the trace ž partition CDTRAC need not actually be created. ¨ ² A command file for loading the CD driver will be created for you ¼ .l; CDINS.CMD Æ This can be put into the system startup command file or just invoked Ð when needed. Ú It can be edited to include/exclude creation of a trace common region. ä .sk 3 î .hl 1 Using the communications software ø If you wish to write your own programs  using this software, you will need to do one of the following:  .ls .le;Make FORTRAN calls to transmit and receive messages over a link. * See PN-159 for a complete description of CDPACK and how to use it. 4 CDPACK subroutine calls and error codes are operating system > independent H .le;Make QIO calls to the CD driver directly. PN-166 describes R the QIO functions available, how to use them and the status returns \ from the communications driver. ] .els f .sk 3 p .hl 1 Test Programs z .hl 2 RCVLUP,XMTLUP,RCVTST,XMTTST „ These are self-documenting simple test programs which receive Ž or transmit a block of data with/to a particular packet type code ˜ either one or many times. ¢ The xxxLUP programs give transfer timings. ¬ .b;When the programs are started up, default values for parameters ¶ can be used by pressing carriage return in answer to questions. À .sk 1 Ê .hl 2 CDTEST Ô This is a more complex test program with a menu of options. Þ Press the key with the è letter alongside an option to select that option. An option either ò allows you to change a parameter, start an action or go into further ü menus or dialogue and prompts.  The program operates in two modes .ls .le;Test program for each driver function singly. $.le;Echo type test program with a partner program echoing ..els 8For Echo mode operation both the options B.literal L VE AUTOMATIC WAIT FOR MESSAGE AFTER SEND [ON] `F AUTOMATIC ECHO OF MESSAGE AFTER RECEIVE [ON] j tmust be set to ON ~.end literal ˆOne end of the link must start with option A ’.literal œ ¦A WAIT FOR MESSAGE TO ARRIVE ° º.end literal Äand the other end must then start the echo process with option Î.literal Ø âC TRANSMIT MESSAGE ì.end literal ö etc. should be set up initially using option K .literal  (K SET PARAMETERS (PTCS,BUFFERS,WC,ETC) 2 <.end literal F PThe side which started by transmitting may check on the validity of Zthe data each time it receives it back. d The set of parameters specified may be saved on disc in a named file n-see option K. By default an attempt will be made to save them on xSY:[250,1]CDECHO.LAS. If this fails some error messages relating ‚to Parameter files may be seen, but will cause no problems. Œ.sk 2 –.hl 2 RCVXMT  This is a test program which allows multiple simultaneous transmits ªand receives on one or more links, to be issued. ´ ¾It is a self documenting test task. È ÒA complex test involving each task receiving messages with up to 20 Üdifferent packet type codes, and transmitting messages with up to æ20 different packet type codes, each with a different length and ðpossibly different CD unit number, may be set up. Such a set-up is úquite laborious and so once done the parameters for this particular test may be "saved" on disc and re-used later to repeat the same test  "Default values for parameters may be obtained by pressing carriage ,return in answer to questions. 6 @This same program will run under either RSX-11M or RT-11. J T.sk 3 ^.hl 1 The CD Driver Trace in detail h.hl 2 The Trace in the Driver rThe trace buffer may be a static common partition name CDTRAC. |The task CDTRIN creates a dynamic common region CDTRAC in GEN for use †as a trace buffer. Either will do. If some partition named CDTRAC does not exist when the driver is loaded then tracing will be šdisabled. If the partition is later created you can force the driver ¤to start tracing operations by forcing a protocol re-start. To do ®this you must create a condition where there is link activity but the ¸partner machine does not respond - e.g. Halt it momentarily. Â.hl 2 Trace Dump and Control program CDDUMP ÌCDDUMP should be installed in the system with a name of the form Ö...XXX e.g. by default it will be installed as ...CDD. The dump àfor CD unit 1 might for example be installed as ...CD1. Command êlines can then be passed to the dump program. ô.literal þ e.g. CDD T,L to list the trace on the line printer .end literal  &The commands available are: 0.literal : D A Display all available data and trace N D Display UCB and SCB data X H Help - display list of commands b L Select line printer l T Display trace v F Freeze trace - no further entries will be made until unfrozen € U Unfreeze trace - continue tracing Š P List Packet type code owners and their Read QIOs ” ž more than one command may be used on a line separated by commas ¨.end literal ².sk 1 ¼.hl 2 Interpretation of Trace ÆNo user is expected to make serious use of this trace. It is for the Ðexpert system programmer. However for posterity and interested Úpersons it is described in this document ä îThe trace shows all the link transactions, all the entries and exits øfrom the driver and many other significant events. At each trace one or more relevant parameters are displayed  The first item in the trace is the last event which occurred. Reading down the page leads backwards in time through the events Some typical trace elements are: *.literal 4 >58 EXIT FROM DRIVER, FFL 000001 STATE=IDLE H58 CDINI,STATE=IDLE FLG 000000 FFL 000001 S.BYS 000000 R58 IODON,STATE=FORK UCB 056042 IO STATUS 000001 07640 PKT 054730 \58 IN FORK CODE,FFL 000001 STATE=FORK FINAL STATE=IDLE f58 INTERRUPT EXIT,FFL 000001 STATE=FORK p58 FORK,FFL 000001 STATE=TRAN FINAL STATE=IDLE z58 * INTERRUPT,STATE=TRAN CSR 121330 ERR 000001 IDR 110040 (:EOM) UCB 056042 „57 INTERRUPT EXIT,FFL 000001 STATE=TRAN Ž57 * INTERRUPT,STATE=WRWC CSR 125302 ERR 000001 IDR 003720 (WC=2000) UCB 56042 ˜57 INTERRUPT EXIT,FFL 000001 STATE=WRWC ¢57 SEND LINK CODE 003720 (WC= 2000) ¬57 * INTERRUPT,STATE=WPAK CSR 121302 ERR 000001 IDR 120001 (:ACK) UCB 56042 ¶57 INTERRUPT EXIT,FFL 000001 STATE=WPAK À57 SEND LINK CODE 140001 (:PTC) Ê57 * INTERRUPT,STATE=WLAK CSR 121302 ERR 000001 IDR 120005 (:ACK) UCB 56042 Ô57 EXIT FROM DRIVER,FFL 000001 STATE=WLAK Þ57 SEND LINK CODE 104000 (:RLK) è57 CDCHK,STATE=IDLE IO FN 400 WRITE TASK ...XMT UCB=056042 PKT 054730 ò.end literal ü The above trace entries are those for one normal transmit (write) of a block of data over the link. Column one gives the ticks counter at the time of the trace entry. The asterisk is put beside an interrupt. Most of the $rest is self explanatory for anyone familiar with the link protocol. The .UCB address is used to distinguish between the different CD unit numbers. 8Various interesting words within the UCB are displayed. B L V `.page