LEFT 001 A 002 0 003 004 005 006 007 008 F;CL;C1;0(T2,1);CL;=;[] 009 L 010 1 RIGHT 001 A 002 0 003 004 005 006 007 008 F;CR;C1;0(T2,1);CR;=;[] 009 L 010 1 PICK-LEFT 001 A 002 0 003 004 005 006 007 008 F;CL;C1;0(T2,1);CL;=;[] 009 L 010 1 PICK-RIGHT 001 A 002 0 003 004 005 006 007 008 F;CR;C1;0(T2,1);CR;=;[] 009 L 010 1 Ultimate-RIGHT 001 A 002 0 003 004 005 006 007 008 FCR;C1;0(T2,1);CR;=;[] 009 L 010 1 Ultimate-LEFT 001 A 002 0 003 004 005 006 007 008 FCL;C1;0(T2,1);CL;=;[] 009 L 010 1 Microdata-LEFT 001 A 002 0 003 004 005 006 007 008 F;CL;C1;0(T2,1);CL;=;[] 009 L 010 1 Microdata-RIGHT 001 A 002 0 003 004 005 006 007 008 F;CR;C1;0(T2,1);CR;=;[] 009 L 010 1 DI2 001 .* DISTR-INSTRUCTIONS -- PART 2 002 To proceed with installation the following may be helpful. 003 .SKIP.NOFILL.NOJUSTIFY 004 >SELECT PR IF SUBS-CALLED "!]" 005 ---------------------------------- 006 nn ITEMS SELECTED. 007 .SKIP.FILL.JUSTIFY 008 This will select the programs which have a PICK/Microdata/Ultimate 009 syntax variation so that they may be changed to correspond to your 010 system. If you are porting to a new implementation, PLEASE send 011 your findings back to me so that I can incorporate them into the 012 documentation. 013 Change the D-pointer in the dictionary of the PR and SUBS files 014 to "DC" if necessary to store object pointers and then compile 015 .SKIP.NOFILL.NOJUSTIFY 016 >BASIC PR * (options) 017 ------------------------- 018 .SKIP.FILL.JUSTIFY 019 All of the programs should compile although not all of them will be 020 called; some are still experimental! Most systems require that 021 a called subroutine be catalogued in the users M/DICT so after 022 you compile them, you may catalog them with 023 .SKIP.NOFILL.NOJUSTIFY 024 >SELECT DICT PR IF *A1 "CC" 025 ------------------------------ 026 nn ITEMS SELECTED. 027 .SKIP.FILL.JUSTIFY 028 \or some such statement. 029 ^^DATA/KERMIT\\ will always run faster if verbs are found in the 030 master dictionary, and believe me this code needs all the speed 031 up it can get! Then do a 032 .SKIP.NOFILL.NOJUSTIFY 033 >CATALOG PR 034 -------------- 035 .SKIP.FILL.JUSTIFY 036 \to put verbs into the M/DICT. 037 Follow a similar procedure to that above for the SUBS file or set 038 up interface subroutines to your own installation site's subroutines 039 that do the same functions. DATA/KERMIT should now be ready for a 040 test run. Just go to TCL and type "KERMIT". 041 EDIT the M/DICT item 'PARAMS' and change attribute 1 to your 042 system type and operating system release number. This is just cosmetic 043 for screen headings. 044 Attribute 13 contains the frame numbers for any user modes that may 045 be loaded. The programs will use these hex numbers in OCONV() type 046 calls to the modes named 'DKn' where "n" is the value number of 047 its frame address in 'PARAMS' attribute 13. 048 Attribute 14 contains a (multivalued) list of conversions that will 049 be applied to the string 050 'DKcommand' where "command" is a command issued at the DATA/KERMIT 051 prompt. This prevents DATA/KERMIT from aborting to TCL if an 052 invalid command is entered by indirectly calling a nonexistent 053 subroutine. Some systems will first search the users M/DICT and finding 054 no subroutine name there will search the dictionary of the calling 055 programs source file that contained its catalogued object pointer. 056 These conversions are each applied to the "DKcommand" string and 057 check for a non-null result as valid. DISTR-INSTRUCTIONS 001 .NOFILL.NOJUSTIFY.CENTER 002 DATA/KERMIT Distribution/Installation Instructions 003 .CENTER 004 ----------- ------------------------- ------------ 005 .SKIP.FILL.JUSTIFY 006 The enclosed medium contains 11 T-DUMP files as listed below. 007 On the source system there was an account named 'DK' which contained 008 these data files with separate dictionaries. It might be best to create an 009 account called 'DK', LOGTO it, create the 5 files listed below and 010 then T-LOAD their contents. 011 .SKIP.NOFILL.NOJUSTIFY 012 File# File Name 013 ----- ---- ---- 014 015 1 M/DICT (items unique to the DK account) 016 2 DICT PR 017 3 PR (BASIC programs and subroutines) 018 4 DICT DOC 019 5 DOC (documentation) 020 6 DICT SUBS 021 7 SUBS (application system subroutines) 022 8 DICT ERRFILE 023 9 ERRFILE (error message bodies) 024 10 DICT UM 025 11 UM (user-modes) 026 .SKIP.FILL.JUSTIFY 027 In the PR file there may be some units which are developmental and 028 which may not either be necessary or even work; it is best 029 to start with the main program 'KERMIT' and work progressively 030 downward. A LIST WITHIN PR 'KERMIT' should make an indented subroutine 031 listing which may be helpful. You will have to add a "V;;4" correlative 032 to the D-pointer for the data portion of the PR file. 033 The item 'UREADME' in the DOC file describes how to physically produce 034 the manual (what there is of it!). ANY additions to the manual 035 especially in the nature of installation hints and kinks will be 036 greatly appreciated and included in future releases to Columbia U. 037 In the SUBS file are subroutines which may duplicate similar 038 subroutines at any particular installation site. This permits easy 039 replacement or interface to locally used subroutines of the same 040 generic type. 041 ERRFILE items are the skeletons of error messages used by DATA/KERMIT. 042 .READ DICT DOC DI2 043 Some assembly code is used and will always be necessary 044 to interface with the SPOOLER, catalogue space (POINTER-FILE), or abs 045 area. Notice that the numbers of the frames wherein 'DK1' and 'DK2' are 046 loaded are stored as two multivalues in DK's M/DICT 'PARAMS' attribute 13. 047 Good Luck and call if I can help. There will be an answering 048 machine on 512 928-4113 in my study at home; please leave numbers 049 where I can return your call at different times. THANKS for your interesst 050 in Kermit. 051 .SKIP 052 Joe Fisher 1 001 A 002 4 003 TOPIC 004 005 006 007 008 F;4;C60;0(T2,1);CR;=;*;C1;+;C99;[] 009 T 010 65