RSX/IAS SIG Tape Distribution - Spring 1986 =========================================== This is the RSX/IAS SIG Symposium Tape from the Spring 1986 DECUS Symposium at Dallas. The tape contains material submitted by the user community for the tape at that meeting. The programs on this tape are from user submissions. The DECUS staff, the RSX & IAS SIG staffs, and DEC are all in complete ignorance of the contents of the tapes. No warranty of any kind is implied in the distribution of these tapes. The programs may or may not be well documented, they may or may not work, they may even crash your system. If you have a problem with the contents of the tape, contact the author of the program. Do not contact DECUS, DEC, or the RSX or IAS SIGs. The tape contains about 2846 files requiring 61,000 blocks of disk space. Since this will fit on a single 2400 foot tape only in BRU at 1600 bpi, it is being distributed as such. To simplify distribution and production, the tape is a single BRU container file followed (for the LUG distribution only) by several extra files. Directory [300,1] contains the files documenting the contents of the tape. The following files are present: RSX86ATPE.DOC contains an abstract of the contents of the tape by UIC. ALLREADME.86A contains a concatenated list of all the README files on the tape. RSX86ADIR.LIS contains a directory of all the files on the tape (BRU does not produce nice directories). This is a brief listing with UICs and filenames only for space reasons. SUBMIT.DOC contains guidelines for submissions to the RSX/IAS Sig Tape collection. This is MUST reading for everyone who desires to submit a program to the SIG tape. BEGIN86A.DOC has a copy of this text. UICSET86A.CMD contains the UFD commands to create all the needed UIC's on a device whose name is asked for in the command file. Edit it to match your needs before using BRU to extract the tape contents. A word of caution: under at least some circumstances, 11M V4.0 BRU's /UFD switch creates directories even when it doesn't put anything in them. If your disk is smaller than an RM03, you may want to exclude some files from the copy in order to have a backup set that fits on a smaller disk. Copy these off in separate passes. The directories [5,*] contain 5247 blocks in 2 directories and 197 files and have tools from DECUS C with some utilities needed to decompress a few files elsewhere also (See [5,14]lzpdp11.arc for these). The directory [70,101] has a rerelease of "Swedish" PASCAL and occupies 2131 blocks, and the directory [150,1] contains some utilities for Commodore Amiga containing 4114 blocks. Also, directory [356,40] contains several Kermit packages occupying a total of 7587 blocks. If these are omitted, the rest of tape will fit on an RK07. A second pass through the tape can extract the [5,*] and other directories onto another device. Glenn C. Everhart RSX/IAS SIG Tape Copy Coordinator RCA A&D Engineering MS 206-1 Rt. 38 Cherry Hill, N.J. 08358 (609)-338-6022 --------------------------------------------------------------------------------- [005,014]README.602 ---------------------------------------------------------------------------------------- Miscellaneous stuff ------------- ----- Miscellaneous stuff -- use at your own risk. Many routines were contributed by Decus C users. Generally untested. Of special interest are: pinst Decompile PDP-11 instruction codes. (This is a subroutine -- you call it with a program counter location.) maze an amazing program, especially if you have a VT52 and a five year old child. gothic Generate big gothic lettered banners. See gothic.cmd for build instructions. banner Generate medium size letters. cookie Fortune cookie program. See cookie.cmd for build instructions. Enjoy. roff.arc Somewhat incomplete and untested runoff (from Software Tools) in archive format. basic.arc Basic interpretor focal Focal interpretor units Convert units flx File transfer utility, runs on Unix, reads Dos-11 tapes. spell.arc Spelling checker -- includes a large dictionary. Needs the RMS interface library. rmslib.arc RMS interface library for Fortran and C. --------------------------------------------------------------------------------- [005,026]README.601 ---------------------------------------------------------------------------------------- Software Tools -------- ----- This account contains source for a number of programs that are generally useful. You will probably have to modify the account names in the command files to suit your own taste. Of course, there's no accounting for taste. NOTE: as of this writing, there seems to be a bug in the sorts program (or in the file-service library) that causes sorts to return an initial zero-length record as the first sorted record. There is a work-around for this in kwik.c, but it may be a general problem. The old C pre-processor (mp) has been replaced by cpp. mp sources are in the miscellaneous directory, stored in mp.arc. The programs are: arch The old (mostly obsolete) archive maintenence program. The data format is slightly different from the newer archc and archx programs. archc The new archive builder (reads files, writes an archive). archx The new archive extractor (reads an archive, writes the files). build Reads C source files, builds a command file to compile them. comm Compare the contents of two files, indicating what is common to both files, and what is different. comm ? gives help. cpp C pre-processor with full functionality. Usage: cpp [input [output]]. cpp replaces mp. Follows the Draft Ansi C Standard and may be conditionally compiled to accept other "non-standard" flavors of cpp. See the source code (especially CPPDEF.H) for details. detab Convert to an appropriate number of blanks. diff Differential file comparison program, as described in Bell Labs C.S. technical report 41. echo Echo arguments -- used mostly to debug the compiler and run-time system. entab Converts a string of blanks to . fixdoc For building the documentation. getcmd Reads filenames to build macro compilation commands. For maintaining Decus C. getkwk Builds index entries for kwik -- for building the documentation. getrno Reads C and macro source files, extracting runoff documentation source. grep "Global Regular Expression Pattern" -- search files for lines which satisfy an argument pattern. grep ? gives help. kwik Kwik index program. See kwik.rno/kwik.doc. Link with sorts.c. linepr listing utility that writes a line-numbered output file. mc A multi-column print utility. nm Print "namelist" -- prints global symbols for an object module. Lots of options described in the source code, but nowhere else. od Octal dump of a file -- Options described in the source code only. As the RSX library doesn't mangle file attributes, some of the features don't work. od dumps records on RSX, blocks on RT11 pr Print with line numbers. rnoidx Converts the output of kwik to a form that can be processed by runoff ("quoting" special runoff characters, such as '#'). scat Concatenate a list of files (accepting wildcards). scopy Clean up runoff output files and other files with strange RMS attributes. RSX-11M and VMS only (needs file version numbers). sortc Sort a file. sorts Sort library routines. Help in the source code. Used by kwik. t File type (on a video screen) utility. Run T and see. Works well on a network virtual terminal. Handles random RMS file formats. uniq Print unique lines from a file, uniq ? gives help. units Convert between various units. Needs floating-point hardware. The first time you run it, it will compile the units database (this is a slow process). Make sure the units database (units.txt, which becomes units.dat) is in a reasonable place. See the comments in the source code. wc Word/line/byte counter xrf Cross reference listing for C programs --------------------------------------------------------------------------------- [210,001]AAAREADME.1ST ---------------------------------------------------------------------------------------- MCE and CLE These are command line editors for MCR and for MCR and DCL both, respectively. All sources are present and these files implement command line editing in RSX. Also present is a command file CPMRSX.CMD which generates a CP/M format (8") disk read/write utility for RSX. From David C. Guelet of Worren, Switzerland. --------------------------------------------------------------------------------- [270,001]AAAREAD1. ---------------------------------------------------------------------------------------- This is a chapter newsletter article on patching MCR's SET /SPEED command. --------------------------------------------------------------------------------- [271,100]README.1ST ---------------------------------------------------------------------------------------- (README.1ST) Machiavelli Systems / Wittenoom and Associates "B4S" and "BASIC MINUS 2" B4S is a preprocessor set up by Dean Elsner in an attempt to make BP2 compile and run at a finite speed and fit into a reasonable area of disk at a time when both time and space were critical. There would be little justification for taking such a course on today's hardware. However at the time (1982) it was a lifesaver. It could still be of great use to those with old, small, slow systems who are using Basic Plus 2.. B4S takes a file of basic code without necessarily any line numbers. It inserts its own numbers as required, taking note of any numbers which may have been included. This means that spource modules can be made more easily portable, as line numbers can be effectively ignored in most cases. B4S makes provision for "include" pre-processing, by including the name of the required file in curly brackets. e.g.: {BL:[101,5]FNFCSCHK.B4S} This is very useful in the case of large MAP or COMMON definitions which must be included in each of several modules. A key link in trying to make Basic Plus 2 acceptable was to throw out RMS and write a series of BP2 and MACRO subroutines using the FCS routines for file access. These have proved very successful in the relatively straightforward world of engineering where there is no great need for ISAM capabilities. These routines and the relevant libraries are in [274,101]. A number of "include" modules treated as library modules are in [274,105]. This system is referred to as "BASIC MINUS 2" (BM2). Typically, task file sizes were reduced by anything up to 75% (e.g. from 240 blocks using RMS to 60 blocks using BM2. Task builds sped up by a substantial amount (measured in cups of coffee). A full example of how the basic minus 2 system is used is given in [274,6]. This area includes the sources for a Hardy Cross network analysis utility written in "BM2" as an example only. Much of our site's forward programming is in DECUS-C. However BM2 is still used almost all the time by our young draftsmen for routine engineering software development. We often find that the quickest way to get something up and running is to throw it together in B4S and when you know what is actually required, re-write it properly in C. Meanwhile, your office has been making money with the interim B4S utility. There have also been a number of times when I have faced a delivery deadline of 8 a.m., abandoned the C code in which I have been trying to follow pointers off random parts of the end of the earth, and written a quick hack in BM2 which worked slowly but adequately in the morning. Richard Wittenoom 3 Ord Street, West Perth 6005, Australia. Phone (0)9-3-222-777 --------------------------------------------------------------------------------- [271,104]README.1ST ---------------------------------------------------------------------------------------- FLD: FIXED LENGTH RECORD DUMP UTILITY ---------------------------------------- SOURCE: BASIC MINUS 2 (BP2 minus RMS using FCS I/O) FLD dumps the contents of each byte of a fixed length record threating it as though it were each of the possible data types. Read FLD.HLP Author: Dean Elsner, @ Wittenoom and Associates, 1982 --------------------------------------------------------------------------------- [272,001]AAAREADME.AAA ---------------------------------------------------------------------------------------- UIC LAYOUT FOR [272,*] ACCOUNTS AUSTRALIAN DECUS C FIXES ========================================================== [272,1%] Chester Wilson's RT-11 Fixes [272,2%] [272,3%] Dean Elsners RSX fixes [272,4%] [272,5%] Richard Wittenooms RSX fixes [272,6%] These accounts Parralell the decus c distribution kit accounts the [5,*] account is the odd number first digit of the owner code and the [6,*] is the even number. eg [272,11] == [5,1] [272,34] == [5,4] --------------------------------------------------------------------------------- [272,010]README.1ST ---------------------------------------------------------------------------------------- Interim C bugs disc 23-Sep-84 Bugs found (& hopefully corrected) by CGW 1) STDIO.H Missing definition of _base 2) FCLOSE Failed to flush a terminal 3) IOABUF Allocated 82 words for a terminal buffer. On output appended a <200> byte before using a .PRINT, but as it could have already used up all 82 bytes it clobbered the pointer word to the next piece of memory allocated, causing most weird crashes. 4) IOFOPA Would not allow reading of "DEV:" alone. Now allows this, and, if the user sets (global) $WRDV$ non-zero, will allow writing of "DEV:" alone also (treat with care!). Bugs found & corrected before C came to me: SEQEB - M Leditschke: Missing macros - added in new version of RT11.EIS (I also hacked RT11.EIS to shorten the listings). The SEQEB conversions are included in SEQEB.DSK. A copy of their compiler is included as CC.SAV, and their assembler as AS.SAV. Other things on this disc: C.OBJ A combination SUPORT/CLIB containing the corrected routines All rude remarks, comments, etc etc will be appreciated and read with interest. Chester Wilson, 71 Galatea St, Charleville 4470, Australia. --------------------------------------------------------------------------------- [272,030]README.1ST ---------------------------------------------------------------------------------------- The [272,3x] and [272,4x] accounts are Dean Elsners bug fixes etc for DECUS C. ACCOUNTS AS FOLLOWS [272,30] This account [272,31] == [5,1] [272,32] == [5,2] [272,33] == [5,3] [272,34] == [5,4] [272,35] == [5,5] [272,36] == [5,6] [272,37] == [5,7] [272,40] [272,41] == [6,1] [272,42] == [6,2] [272,43] == [6,3] [272,44] == [6,4] [272,45] == [6,5] [272,46] == [6,6] [272,47] == [6,7] --------------------------------------------------------------------------------- [272,031]README.1ST ---------------------------------------------------------------------------------------- Dean Elsners fixes for DECUS C The accounts [272,30] - [272,47] are fixes for Decus C done by Dean elsner. These are submitted for application to the DECUS C package. [272,31] ALGOL68.H ALGOL68.H I use this #include file to write C that my fellow programmers (at least until they are re-captured) can use and read. This was evolved when I had to pay professional rates to these people. Because of our style, the number of bugs we did not write was very high. Examples of using this are all over these submissions. --------------------------------------------------------------------------------- [272,032]README.1ST ---------------------------------------------------------------------------------------- [273,12] DECUS C *.H, *.DOC, *.HLP QIOTTD.H 2 symbols added. Cosmetic fixes. QIOFUN.H 1 symbol added. Cosmetic fixes. F11MOR.H Another Files-11 parameter file. Bitmap header. DECUSC.DOC Trys to briefly describe useful library functions. I regret it has some mistakes and many ommisions. Please re-submit any cleaned-up versions. I wish I had common lisp to do this automagically. Sort it by GINDENT.C, SOR.C, CLEAN.C . NEWDECUSC.CMD Example of the way I maintain DECUSC.DOC in order. --------------------------------------------------------------------------------- [272,034]README.1ST ---------------------------------------------------------------------------------------- [273,14] This is the *.mac from [5,4] but edited to work in I/D space. Also other patches to [5,4] DECUS C stuff. Most patched files here have mandatory patches. No known bugs are caused by these patches. ----------------------------------------------------------------------------- The new C library is [1,1]CID.OLB derived from [1,1]C.OLB and the *.mac above. C5TA.MAC Convert rad50 to ascii. Changed psects: OK for I/D tasks. IOGETC.MAC Mandatory patch if you ever do sscanf(...%s . LTOA.MAC Convert long integers to ascii (various radices). Cosmetics + psect changes. OK for I/D tasks. MALLOC.MAC Allocate and free memory. Cosmetic psect changes. OK for I/D tasks. MAMCHK.MAC Veryify memory allocation pointers. Cosmetic psect changes. Simplify TKB maps. PCSV.MAC One day (like when I need it!) I will rewrite PCSV.MAC for I/D space. Until then: why don't YOU hack one for me? RSX.MAC I just use this to save time testing these mothers. Delete it from distribution. ----------------------------------------------------------------------------- Following patches are optional INCHR.MAC Corrects documentation bug. No code bugs. ISALLO.MAC Corrects documentation bug. No code bugs. --------------------------------------------------------------------------------- [272,035]README.1ST ---------------------------------------------------------------------------------------- [273,15] These are updates to [5,5] of the DECUS C. [5,5] is the area for RSX-specific runtime modules. If you replace your DECUS C.OLB modules with these updates: I/D tasks should work for you. 16-Jun-85: I have a bug in exec: $$wank in wank.mac will reveal all: I use this kludge so applications folks can have I/D while I work out why EXTK fails. 25jul85: from other DECUS submissions, not my own investigation, I guess TKB is the culprit: unprivileged code can kill RSX and Crash Dump Analyser won't have a chance of understanding the mess. (Kernal D registers are mapped to K I-space!!) ATOD.MAC Ascii to double precision floating. Update so I/D tasks work: eliminate psects with "." in their names: such psects can't be touched with .psect lines in .ODL files. ATODD.MAC Dummy of ATOD: saves space if you don't need ATOD but things like printf() refer to it. Comments say I created it! What do other people use? ATOF.MAC Ascii to double precision floating. Modify psects so I/D tasks can work. ATOFD.MAC Dummy of ATOF: saves space if you need the globals but not the code. Psect'ed so I/D tasks can work. C.CMD Developed by a friend to keep the natives happy at a RSX site. (The secretaries have been seen debugging C programs: I think the site is now quite sophisticated.) C compile and link, minimum of fuss. DELETE.MAC File deletion. Invent unlink() entry for UNIX compliance. DOSCAN.MAC Re-code a switch construct in getnum: works much better on kinky 11's, 25-bit addresses, I/D etc. DTOA.MAC Use new version number. Use psects properly. Now OK for I/D tasks. 000005: make it really understand double precision. 000006: one of my crew wanted to change default field width: another %^$#@& 'feature' ! 000007: make psects sane. DTOAD.MAC Dummy DTOA: give globals, saves code. EXIT.MAC Reconstructed from DOB'ed .OBJ files & out-of-date sources. OK for I/D tasks. **NEVER** use a dot in a psect name if you want current taskbuilder to change .psect attributes for you! INIT.MAC Again an unofficial version 000038, plus version 999999 mods to call $$wank to patch around exec crashes at one of my sites. Works for I/D. v00039a does NOT GMCR$ unless it has to. $$narg=1; will stop it wasting (terminal wait) time doing GMCR$. Needed for truly phantom C utilities which must never do real I/O. IOQIOW.MAC Calls RSX exec. Change psect names. Helps I/D tasks work. TENS.MAC Doutab:: is a table of powers of 10 in floating point. My DECUS C tape never had one, so I guessed this must be about what they wrote. RSX.MAC If this file appears, it is a mistake. I sometimes keep it here to "simplify" assemblies. Delete it from distribution tapes. SUPORT.MAC Starts up DECUS C runtime system. Reconstructed from old sources and .OBJ files. Re-arrange psects so I/D tasks work. UTIME.MAC Yield a (almost) unix ascii time string. Change psect names so I/D tasks are easier. WANK.MAC Temporary patch so one of my RSX doesn't tangle its' kernal mapping registers. Pity the bug isn't useful: DEC's network security just might be secure. This module subsumes SBREAK.MAC or SBRK.MAC. Read comments. --------------------------------------------------------------------------------- [272,037]README.1ST ---------------------------------------------------------------------------------------- [273,17] This is updates to DECUS C [5,7]: RSX exec calls. I only made the ones I need: I suspect someone else has done all of them. All these are OK for I/D tasks. FEATURE.C Tests gin(). Shows what features an exec supports. GIN.MAC Allows structured crashes of RSX. GMCR.MAC Total re-write! (Previous version could never work). SFUIC.C Test gin() SFUIC$ function. TASK.C Test gin() SFFTK$ fuction: give details of own task. VSDA.MAC Invented. VRCS.MAC Invented. VSRC.MAC Invented. --------------------------------------------------------------------------------- [272,040]README.1ST ---------------------------------------------------------------------------------------- [273,20] RRMS, RMS RRMS - a remotable RMS for DECUS C - 18th October 1984 Dean Elsner 16th June 1985 Dean Elsner The RMS package supplied with DECUS C has some drawbacks: 1 you must know at RMSsubs ASSEMBLY time how many files you want to use, and some of how you want to use them. 2 RMS can take up a lot of room in your task. 3 Memory that RMS MIGHT use some of the time is lost to your program ALL the time. (This is like FCS does if you just copy code from the I/O Operations Reverence Manual as is done for DECUS C run-time system.) This RMS package dynamically allocates memory only as needed and lets RMS use the C runtime system memory allocator (Malloc() and friends) so there need be no conflict between RMS and your C program. In lb:''rms.olb will be ForTran callable RMS subroutines that let you do most anything with RMS. My C stuff uses them. One flavour of this package keeps RMS code and buffers in your task virtual address space. It lives inter alia on 11/23 RSX-11/M. The other flavour uses a remote RMS: another task has RMS & buffers while your task has applications code. The tasks use variable length send/receive. It lives inter alia on 11/23 RSX-11M+. A sub-package allows DECUS C to use variable send/receive exec directives. This is V*.MAC. The remote flavour will let you trace (to any file) transactions between your application task(s) and the remote RMS server task. The RRMSST just writes to stdout. You send it a message to toggle the trace bit. Both flavours use an IDENTICAL interface to your applications code, shown in RMSDOC.H and demonstrated in RMSTST.C . Bugs: 1 The code is sloppy. (I don't touch it until someone pays me!) I submit this because it seems so much nicer than current C/RMS 2 Variable Send/Receive doesn't happen on RSX-11M. This stuff is M+ only. However the send/receive is modular: roll your own. 3 As noted in RMS.H the RMS.C/RRMS.C module includes stuff most people don't need. Split it into maybe 20 smaller modules. 4 No support for records exceeding about 490 bytes. Such a package is brewing, but I don't want to release it to DECUS yet. 5 (Because I do kinky things to M systems) the logic of rmscs() explicitly creates a server task name. I should just use RRT instead of RRTtnn. Please change it if you like, the next release will do it different anyway. Now the next release has happened: you still need a call to rmscs(), which kickstarts lots of things. 6 General rampant featuritus. Most unUnixy. Sorry, I have been managed here: my public commands this slop. 7 NO SECURITY IS ATTEMPTED. Smart programmers may rape YOUR RMS files (or just inspect your transactions on the fly). Roll your own security, hooks are there. Experience: Some really gross programs (My clients can write C with a heavy COBOL accent) have run without overlays using RRMS. The RRMS server task itself uses RMS.C . No known bugs. The system needs re-writing for a nicer interface than this one, but my application programmers don't want me to change anything. A CPM-86 version of these calls also runs with no bugs known. A CP/M-80 version is around. The tracing and testing (RMSTRC & RMSTST) suffice to show that all bugs reported in the past 13 months aren't in this stuff. I can't think of any more feature(?)s to add to RMSTST/TRC. Well... actually, an RMSDDT would be nice ... STOP THAT !!! June 1985. The COBOL reached critical mass. We decided to use more tricknology to allow yet bigger applications. I actually got paid to make DECUS C run I/D tasks. They never needed that. Overlays were "too hard" because the "structured applications code" could not adapt to the idea. Actually I think it might have, but we didn't need overlays anyway. This crud works with I/D, supervisor etc. Seems robust. Would somebody try DECnet? Tell me about the bugs. As always, a sensible "structured" version is coming "real soon now". It takes me about 8 hours to test each new version, so I won't make minor mods. Maintenance: +61(9)322-6048 Dean Elsner @ ML Silbert Ltd 26 Queen Street Perth Western Australia 6000 Telex (Aust) 9325 GPO Box S1525 Perth More: README.2ND is a flame. (removed to protect the guilty!) README.3RD is installation guide. README.4TH is a software bill of materials Liability: Ha! Ha! I will try to help, but will NOT be liable for any function or dysfunction of this software. When you feel sick enough to re-write this software, send rewritten files to DECUS or me. The first rewrite commands in TECO read HK ... . ALSO: to confuse the enemy (that's you) RMSCHECK.C was part of a desperate effort to scrape records from a disk for a government which scrambled 5 years of records, without a backup. It worked. Likewise G.C H.C I.C were used to re-construct RSTS RMS files. Worked. [end README.1ST] --------------------------------------------------------------------------------- [272,041]README.1ST ---------------------------------------------------------------------------------------- [273,21] DECUS C [6,1] patches. [6,1] is utilities. ADDAR.C Adds groups of files to .ARC files. Someone built it because it was faster than AR.C RIPOUT.C Faster than AR.C to -x *.* from a .ARC file. SCVTSOROC.MAC SCREEN.MAC lobotomised to handle (ecch!) SOROC Challenger 530 crts, which are barely SOROC compatible and NOT ansi compatible. Use as skeleton for other odd crts. Still works with ordinary crts. UNIQ.C You could crash uniq.c with (unusual) arguments. By adding ( ) uniq.c will not crash as much. T1.C Due to a Basic programmer specifying (non-ansi!) T2.C terminals for a client, I patched screen.mac. T3.C Then I patched T.C (TXX to RSX users) to do various T5.C minor tasks better. The patched modules (in full) T.CMD are here. Get the rest from [6,1]t*.* off a DECUS C T.H tape. It IO.ATT's the TI: so you can type ahead. T.TKB File attributes are better understood. Nicer ways to print or delete files. -------------------------------------------------------------------------- Yet another bloody attempt to mend sortc.c . SOR.C A kludge to replace [6,1]sortc.c, which is nice in theory but bugged in practice for big sorts. Believed to have much more graceful failure. Believed to tolerate bigger sorts before breaking. Only good for text records: loses anything past '\0'. SORTS.C Warmed-over [6,1]SORTS.C. Used with SOR.C. --------------------------------------------------------------------------------- [272,046]README.1ST ---------------------------------------------------------------------------------------- [273,26] for DECUS C [6,6] - useful functions. SASSOC.C Map strings onto other strings. Used to reduce keywords to int size for table lookup etc. Crude associative memory for strings. Intended for maps known at compile time. If you want a run-time built mapping, try Jerry Leichter's TABLES.C in DECUS C [6,6]. ICSP.C Weird character in string tester. Permits binary strings with embedded '\0's. FSBUO.C Implement Data General's "byte move (to self) FSFUO.C until ..." instructions. Scan strings with FSTUO.C various stop-scan conditions. FSBUI.C FSFUI.C They conform to FS???? conventions of V24 things. FSTUI.C --------------------------------------------------------------------------------- [273,001]README.1ST ---------------------------------------------------------------------------------------- [273,1] Roadmap to [273,*] from Dean Elsner. These are my contributions to Australian 1985 tape. Because I might be held responsible for some of these indecent acts (committed in the form of psychotoxic programs) I dare not attend DECUS this year. If I can stay ahead of the Customs, Tax, Police and Mental Hygene people, I hope to submit some commercially useful stuff for the next tape. It is still being debugged. CONTENTS.UIC A quick guide to my stuff. Another Note from Bruce cook [21-APR-1986 12:41:52] Dean Elsner is now at MIT, an therefore cannot be contacted in Perth at M.L. Silberts. If you realy wish to contact him, contact The Nice Computer Company of Australia GPO Box S1517 Perth 6001, Australia ---------------------------------------------- [273,002]README.1ST ------------------------------------------------------- [273,2] experiments in terminal serving with DECUS C RSX11M+. Looking for various timeout tricknology. Rational.c is the result of this. It gives unechoed timedout input of a char from keyboard. I never got the multi-terminal server going. Note that you get 8 bits from a keystroke - beware strange terminal modes. SET /RPA=TI: is bloody dangerous - beware of it. ie ^C for MCR will fail. Try SET /EBC=TI: if you need 8 bits. (which will catch ^C but is nicer). ---------------------------------------------- [273,003]README.1ST ------------------------------------------------------- [273,3] lun.c - routines to manage LUNs in an rsx decus-c application No longer a mess, but still not useful I think. Many conceptual bugs. I hope the interface will be stable, but the guts WILL be rethought. Maybe what I want to do is "unnatural" for RSX. LUN Manages the LUN resources of a task. LUNFIX() begin, internal LUNATTACH(dev) Allocate, return Lun # LUNDETACH(lun) Free up Lun LUNRESERVE(lun) Note we may not use said Lun GETBIT.C Extract bit from vector PUTBIT.MAC Force bit into vector. "C" version won't compile straight. LUN.OLB Library of LUN things to build against. LUNTST.C Tests above. A Note from BRU (No not that confounded DEC [f]utility) A lun allocation package, the fits in with the DECUSC C library, has been submitted by Bruce Cook. This is probably a better solution, though the function names may not be appropriate. ---------------------------------------------- [273,010]README.1ST ------------------------------------------------------- [273,10] CPM This is CPM.C, a DECUS C (and many 8080 Cs) compatible kludge that reads/writes/modifies CP/M diskettes. I use it on RX01s to diddle standard CP/M 8" floppys. I know DECUS is wretching with CP/M diskette readers, but I include this because: (1) you can #include cpmoscpm.h to do a BDS C version of this program for your 8080, and (2) I haven't seen one done in C. If DECUS C's wild cards worked, this would be much better. Because I pranged DECUS C's quick-sort routine, a crude bubble sort is used instead. A program to drive RX01/02/03 diskette drives to use CP/M(sic(k)) standard diskettes. Diskettes are electromagnetically equivalent to IBM 3740 standards. Program does detailed or brief directories. Binary or text input or output are supported. Help is in the program. Wildcards are supported. Beware DECUS C wildcards for RSX: needs a total rewrite! Initialising diskettes or deleting (wild) files is easy. The program is in production and has been sold. No known bugs or deficiencies. Design suggestions welcomed. Contact: Dean Elsner Dean Elsner M L Silbert P/L Rent-A-Mind 26 Queen Street Box T 1680 Perth 6000 GPO Perth 6001 Western Australia Western Australia phone: +61 (9) 322 6048 phone: +61 (9) 271 9014 ---------------------------------------------- [273,030]README.1ST ------------------------------------------------------- [273,30] DTC stuff. (corrections to old decus tape) [312,365] is the Desk Top Calendar area. Find DANY.FOR being corrected version of [312,365]DANY.FOR. Corrected bug is for leap year accounting. Now January 1985 starts on Tuesday like it should, not on Monday like before. Find DTCAT.FOR, YEAR.FOR, DAY.FOR all correcting cosmetic bugs. Dean Elsner, M L Silbert Pty/Ltd. +61 (9) 322 6048. 26 Queen Street Perth Western Australia 6000. ---------------------------------------------- [273,031]README.1ST ------------------------------------------------------- [273,31] Quick and dirty re-construction of stuff for Chris' C sickness @ MLS WOTTY.MAC Returns the terminal type (SF.GMC,TC.TTP) ---------------------------------------------- [273,032]README.1ST ------------------------------------------------------- [273,32] Attempt to explore gmcr$. object: long command lines and less editing of command lines by MCR and other CLIs. Aim of this project is to re-write FRC (force) program. I want better stropping of magic characters, and long command lines. INIT.MAC SPECIAL. Does no GMCR$. Subsumed & obsoleted by (Bruce Cook inspired) patch to init.mac so gmcr$ is not done if $$narg is TRUE. cf [273,15]INIT.MAC or DECUS C [5,5]. ---------------------------------------------- [273,040]README.1ST ------------------------------------------------------- [273,40] BINCMP Compares two Files-11 files in binary. Crude tool. Good to test equality. Verbose if files are different. Comparison is byte by byte. Whole of EOF block is compared: this is a feature not a bug. Use this (f)utility if you cannot be bothered using CMP on two outputs from DMP simply to see if two files contain the same data. ---------------------------------------------- [273,041]README.1ST ------------------------------------------------------- [273,41] Command file modules to assist installing packages. These in*.cmd files run on RSX-11M/M+ and help me make install command files for other kludges i submit to DECUS etc. What do you think? Are they worth using? The 'reason for existence' of these files is that unlike simple commands e.g. MAC foo=bar these commands will (a) complain in english(?) about any problems (b) pause so you can fix the problem (c) re-try the failed command and keep on trucking. By using these macro-commands, you can build quite robust command files that cope with many flavours of RSX (assuming a wizard is available to pick up command files that fall over). Features (frobs) of these command files include - automatic clean-up of intermediate files if desired - automatic back-out of the install process if desired (not perfect) - a list of what the install file needs, and what it will do The table sumarises the commands as I use them. p0 p1 p2 p3 p4 does inc prg wot xcc prg -a incl prg wot lib.olb wot @inc prg wot @inl prg wot lib.olb wot inh foo wot pip [1,1]=foo.h ini tsknam $tsk wot ins $tsk/task=tsknam ink proc wot pip ''=proc.cmd inl prg wot lib.olb wot lbr lib.olb/in=prg inm prg wot mac prg=prg inml prg wot lib.olb wot @inm prg wot @inl prg wot lib.olb wot inmp prg wot pre1 ... mac prg=pre1,...,prg inmpl prg wot lib.olb wot pre... @inmp prg wot pre... @inl prg wot lib.olb wot inn lib wot lbr lib/cr int tsk wot pip lb:''/nv=tsk inx fil wot ensure file exists #1 cleanup instructions #2 backout instructions #3 requirements documentation inn.cmd expects lbr to be installed, checking this nests at. too deeply use ini.cmd to check lbr before @inn ---------------------------------------------- [273,042]README.1ST ------------------------------------------------------- [273,42] Offspring tasks in DECUS C. CSPAWN.C Contains a main() to test cspawn(), which will spawn a task and wait for it. I use this a lot so applications programmers can call up MCR commands from inside their programs: you don't write fspool() when they can spawn to mcr... "PRI foo/DE" . CHAIN.C Equivalent routine to give a command and EXIT. Again some applications programmers think it useful, particularly for micky-mouse menu programs (yes virginia, people still do menus in 2nd generation languages!) that just dispatch to a worker program. ---------------------------------------------- [273,043]README.1ST ------------------------------------------------------- [273,43] REODER.C utility. This utility is called REODER for historical reasons. It should be called RE-ORDER. It is a C utility that re-arranges lines. REODER has power somewhere between sed and awk. The idea is that you get one output record for each input record. An output record is a concatenation of fields. Each field is manufactured from a recipie given on the command line (the recipie may include constant strings) and from data in one input line. Uses of reoder are to e.g. pull a column out of a report (PIP/FU), and to re-arrange one utility's output before use by another utility. I paid big $ to have this kludge written, and it has made my work much easier doing simple commercial data processing. I often suck down raw magtape data and use reoder to re-arrange each record before processing with standard utilities. Read XFIELD.C for details of field building. Read REODER.C for details of comand lines. Tested OK with DECUS C. Stop press: new version of REODER even has a manual. (and a .hlp yet!) ---------------------------------------------- [273,044]README.1ST ------------------------------------------------------- [273,44] Get Command Line demos. These kludges are adapted from a Get Command Line (ForTran-callable) subroutine originally used with BASIC+2 and now used with DECUS C. Demo program provided. ---------------------------------------------- [273,046]README.1ST ------------------------------------------------------- [273,46] Tape vivisection programs. These will read (fast enough) lots of different tape formats. One day I will double-buffer them. (22jun85: Maybe I won't double-buffer them. My problem is that I want the tape to stop just after a bad record. If I double-buffer, the 2nd QIO might read the next tape record before I inspect the damage; then again it might not. Will think it over.) I use these for media conversion, typically of fixed-field-length records. They work with no problems. Improvements are solicited. For many of my media conversion programs, I use a disk file layout with R.VAR where 1 record of disk matches 1 tape record. These programs evolved when I paid by wall-clock time for use of a PDP-11. So I would set mylar spinning then write the other half of a medium conversion program while the tape(s) poured onto disk. I.E. speed and reliability overrode simplicity. I found MAG SET unusable for some tasks and just used these trusted kludges. ASCII.H Ecch. B2T.C Copies a disk file to tape. CASCII.H Table to convert EBCDIC to ASCII. (Always a good idea!) REW.C Rewind to BeginOfTape. SPB.C Space along tape +-n blocks. IO.SPB . SPF.C Space along tape +-n file marks. IO.SPF . T2B.C The original and best. Wizards only. T3B.C A nicer tape reader, with simpler commands. ANSID.C Turn T2B output from ANSI "D" format tape into F.CR R.VAR. ---------------------------------------------- [273,050]README.1ST ------------------------------------------------------- [273,50] TAR format tape untanglers. I paid $60.00 for a modula 2 compiler (in M2). The tape was some kinky TAR format (I think BSD4.2) so I used this to untangle the mess. MODULARIP.C Shame on you for using this to rip off unix tar tapes! This program assumes T2B or similar has already read the tape to disk for us. The DGT program is also good at TAR tapes. MYTAR.C Prototype TAR tape reader. Unlike the DECUS C distributed reader, this one understands file aliases: "linked files" in UNIXese. SUCKER.C Unknown TAR tape reader from the dark ages. Untested. ---------------------------------------------- [273,051]README.1ST ------------------------------------------------------- [273,51] Disk(ette) vivisection, ignoring file structures. I never used these except to re-build corrupt XXDP diskettes etc. Would someone in DECUS please give us a decent TECO in XXDP? Binary file format is like T2B: 1 R.VAR record matches 1 diskette block. B2F.C From binary file to floppy. D2B.C From DEC disk (512 bytes/block) to binary file. DREDGE.C Prototype disk recovery program. Never used to my knowledge. F2B.C From floppy diskette to binary file. ---------------------------------------------- [273,052]README.1ST ------------------------------------------------------- [273,52] Empty directory (f)utilities. I use these to help clean up disks. 1 gigabyte is not enough for pdp-11 DECUS software. I will need perhaps 10Gb if I ever play with VAX DECUS software. MTD.C Gives a list of empty directories on a disk. I use it when I have finished using a DECUS tape that I copied down. I delete contents of directories as I work through the tape. When I am done this helps me make a command file to delete the empty directories themselves. NED.C This gives a list of all directories on a files-11 structure (ODS-1 actually) and the number of entries in each directory. Remember that the number of directory entries is not related to any number of files concept in files-11. ---------------------------------------------- [273,053]README.1ST ------------------------------------------------------- [273,53] Kludges for a letter quality printer. These have nothing to recommend them except 2 users like them: one is cyber-wise and the other is a digital virgin who is afraid to turn her terminal on. MAILMERGE.C Simple way to merge mailing list (rather free format) and a template to produce mail labels, form letters etc. PAGETYPE.C Types letters a page at a time, and waits while you hand load the next page into a letter-quality printer. When laser printers are common we can kill this program. Also allows typing selected pages of a document, in case you goof on a few pages. SPC.C Print files but indented 'n' columns. Users like it because unlike PIP they need not specify explicit output file. ---------------------------------------------- [273,054]README.1ST ------------------------------------------------------- [273,54] Telex (5-hole Baudot code) routines. A client uses these to prepare telexes with a PDP-11 then punch a telex tape. Ditto to read telex tapes into a computer. Our reader/punch is a TTY-33 with tape reader punch. We use a paper clip to narrow the reader/punch for 5-hole tape, since 33's are built for 8-hole tape. TLR.C Read a baudot tape. TLP.C Punch a baudot tape. TLX.CMD Set up a terminal for this SHUTDOWN.CMD Demo what mantra to feed RSX to let these programs work. This is what you say AFTER using telex programs. It tries to turn ASR33 back to a VDU terminal. SHUTUP.CMD Demo what mantra to feed RSX to let these programs work. This is what you say BEFORE using telex programs. It makes TT: driver happy. ---------------------------------------------- [273,055]README.1ST ------------------------------------------------------- [273,55] Various skeleton filter programs. BORING.C Classic. getchar() putchar() ... EOF F.C Fgetss(). Fputss(). FALTER.C Fgetss(). Fputss(). FILTER.C Fgetss(). Fputss(). Use to sort out kinky files with more than one line/record. FILTERIN.C Fgetss(). As for filter.c, but does no output. UFILTER.C You must name the files. I/O redirection won't work. Fast as they use fget() & fput(). Binaries work pretty well, but kinky many lines per record files will lose. UFILTER2.C Fails for binary files. Fast as it uses fget() & fput(). I/O redirection works. UFILTER3.C Nicer UFILTER2. Modular get & put of records. Still useless for binary files. Still redirects. UFILTER4.C Modular. Ultimate weapon for speed. OK for binaries. No redirection. NO '\n' funnies. Recommended skeleton for production stuff. UFILTER5.C As UFILTER4, but seperate input & output buffers. Recommended skeleton for production stuff. ---------------------------------------------- [273,056]README.1ST ------------------------------------------------------- [273,56] Various filters. I know most of these are trivial. But I keep my filters in one bag so I can find a good filter fast. CLEAN.C Fast way to lose all weird embedded control characters from text records. TKB, PIP/TB, RNO output is messy with embedded [\r\n\0] characters. COAGULATE.C Untangle very complex '\r' '\n' s in big block files. Like CLEAN.C but allows weird control characters to pass through. FF2LF.C Read a file, changing form-feeds to line-feeds. Optionally assumes 66 lines/page. (Metric A4 is usually 70). *** full of CONCEPTUAL bugs. files-11/unix don't mix. *** FUNNYOCT.C Inverse of FUNNYTEXT.C. FUNNYTEXT.C Turn a readable ascii file into binary. Used a lot for loading smart terminals, front panels etc from a human-readable file. GINDENT.C Group a master line and detail line(s) into one line. Detail lines are indented lines after master line. Use CLEAN.C to untangle back to original text. Mostly use GINDENT, SORT, CLEAN to sort files like this readme.1st. INORDP.C Determines if lines in a file are in sorted order. ISSORTEDP.C Print lines in a file that are out of order. Tests if a file is sorted. Only known use is for highlighting buggy sorts (a usual problem here). LASTREC.C Will (one day) be re-written to give the "n" last lines of a file. Does it the hard way, by reading whole file. LUMP.C Catenates groups of lines according to simple rules. Helps reduce many cards per record files into 1 "card" per record files, suitable for reoder.c . NLI.C A sophisticated version of LUMP.C. Reads input in m-line groups, and makes output in n-line groups. One use is to get 6 lines per label in a mailing list regardless of how many lines are used for the address. NOENDSPAC.C Removes trailing spaces (NOT tabs etc) from lines. NO2SPACE.C Trivial futility to supress groups of spaces. Each such group is reduced to 1 space. Useful for micro-computer files that have lots of junk in them. PAD.C Widen records in a file to specified length. PGCOUNT.C Count number of formfeeds in file. One day, will understand page size in lines too! RECCOUNT.C Count the records in a file. RECPROFIL.C Output record lengths of input records. RECSIZ.C Turn R.VAR FD.CR records into R.FIX FD.CR records. REV.C Reverse each line in a file. Only here we reverse each record (RSX FCS Files-11 sense of record). RSPLIT.C Chop a file up into "n"-line lumps. SPLIT.C Split a big file into smaller files. Each small file is approximately 'n' blocks. Ideal for chopping up a magtape full of data for transport by e.g. floppys. UPCASE.C Fold alphabetics to upper case. WRAP.C Turn lines over a certain length into >1 short lines. Frobs include prefixing both 1st and subsiduary lines. Created to cope with printing 400+ character records on a narrow lineprinter, catching all the details. XTRACTREC.C Gets a bunch of records from the middle of a file. 2ASCII.C Ebcdic -> ASCII. Primitive, due for re-write. 3GREP.C Extract records that begin with a certain 3 chars. 3OCTAL.C Just print 1 char per line, rendered as %03o. 7BITS.C Strip parity bit of characters in a file. Common problem if you import WORDSTAR documents. ASCII.H Ebcdic -> ASCII table. ---------------------------------------------- [273,057]README.1ST ------------------------------------------------------- [273,57] Playing with RSX send/receive directives. Demos of send/receive. No known use. CHAT.C General purpose. RECV.C Needs SEND.C . SEND.C Needs RECV.C . BABBLE.C this slime was a prototype for eg DEQ.C. GABBLE.C ABBLEV.H Play with vsda$, vrcs$ ABBLE.H Crude play with send, receive, unstop etc. ---------------------------------------------- [273,060]README.1ST ------------------------------------------------------- [273,60] Double Ended QUEue. DEQ.C Implements a deque. Your tasks sends/receives with it. One client used it to save memory in a basic+2 program. Each element in the deque is only 12. words, but at least it ports to RSX11M. No protection or privacy. 1 tasks implements 31. deques each of which is a public resource. Tracing provided. Tracing is great to debug application programs (because anything 12. words wide is a well-defined interface. ---------------------------------------------- [273,061]README.1ST ------------------------------------------------------- [273,61] FIles-11 Header bashing. FID.C Now subsumed by srd/fi, but was used when you knew the file number and wanted to know the current usage count number of a file's FID. No known use except as an example. UNDELETE.C Never finished. Subsumed by UND.MAC etc. FIND.C Report all file headers that have a text name that matches an ambiguous file specification. --- I have not included (this time) my CPM-80 programs that do ALL files-11 tricks. Write me if you want them. ---------------------------------------------- [273,062]README.1ST ------------------------------------------------------- [273,62] METER.C Helps remind me when a parking meter should be fed. ---------------------------------------------- [273,107]README.1ST ------------------------------------------------------- [273,107] Ring Buffers RB.C Library routines to handle ring buffers of items, where all items in a ring buffer are the same size. Different ring buffers can have different item sizes. Use DECUS C tool GETRNO to get documentation. RB.H Needed for use with struct "rb". RBTEST.C Crude test & demo of RB.C. ---------------------------------------------- [273,110]README.1ST ------------------------------------------------------- [273,100] IBM interchange things. EBCDIC.HLP Table of Ebcdic characters. Needs better format. EBCDMP.C Dumps a file as DMP would /RC but converts EBCDIC to ASCII. ASCII.H Table for C programs. Converts EBCDIC byte to ASCII byte. EBCDIC.H Table for C programs. Converts ASCII byte to EBCDIC byte. SAVELIBR.C Knowledge of IBM SAVELIBR format diskette files. ? Sundry other "work in progress" for IBM conversion. A project I didn't include is a COMPLETE RPG environment for DEC computers. Assists conversion from IBM to a computer. ---------------------------------------------- [273,111]README.1ST ------------------------------------------------------- [273,111] Dean's HEX protocol for booting kermit etc. ---------------------------------------------- [273,112]README.1ST ------------------------------------------------------- [273,112] Indirect files. Mainly file scrubbing. BALLSUP.CMD Report file errors to user, execute recovery code. KILLFILE.CMD Unprotect then delete a file. KILMTDIRS.CMD Delete any empty directories. WANT2USE.CMD Try various INStall commands to find FSL, RES etc flavours of a task, then install it. WHOGOTWOT.CMD Reports disk usage (blocks & files per UIC). ---------------------------------------------- [273,114]README.1ST ------------------------------------------------------- [273,114] Demo many ASTs doing cute things. Keyboard ASTs feed a ring buffer. Time-out ASTs milk the ring buffer. Offspring status ASTs tell us when a worker task has done it's thing. 1.C Demo astset() astx(), using MKRT$. 2.C Demo type-in asts, and time-out asts. 3.C Demo type-in asts, and timeout asts, with a common event flag. 4.C 3.C, + background worker task emmitting status. Fun. 5.C Demo Send, Request and Connect SDRC$. All this slime is a demo for a nice user-resistant terminal server. (Being written, but not yet fit for DECUS. Watch your tapes. If I haven't died by the time we perpetrate the NEXT bloody Australian tape, it will be there.) ---------------------------------------------- [273,117]README.1ST ------------------------------------------------------- [273,117] .CMD files. RMS2TEXT.CMD Convert RMS indexed file to text, for editing. RMSCLONE.CMD Create an empty RMS file, with the same "shape" (attributes in Files-11speak) as an existing file. I let computer-naieve users set up their directories with this command file. No disasters so far. BALLSUP.CMD Universal file error reporter, corrector. WANT2USE.CMD My utility to try installing various flavours of a task. (e.g. PIP, PIPRES, PIPFSL, PIPFS5, etc.) NEEDVT.CMD Demands a ANSI tube. CONESTAT.CMD I read a manual, and tried to get CON to emit status. Ecch! I can see why the IND people gave us .TESTDEVICE! BACKUP.CMD Example command file using much of above. Backs up a single UIC using BRU. QUICKSAND.CMD Just in case some other .CMD file refers to it. C.CMD DECUS C users will love this. Lets raw idiots (i.e. your typical applications programmer, who in another time would have been a clerk with a quill pen) use C compiler and fast taskbuilder without knowing what they are doing. It saves me time because I am a slow typist. Was originally written because some secretaries at one of my sites taught themselves C and RSX to avoid taking insults (in the form of software) from various computer stores. I didn't write this version, but it represents a collective frob. EXISTTEST.C Used by command files to check file existence. ---------------------------------------------- [273,120]README.1ST ------------------------------------------------------- [273,120] Disk Manipulation. Not bound to any On Disk Structure. DREDGE.C Obtain some data from contiguous disk blocks. ** UNTESTED ** ---------------------------------------------- [273,122]README.1ST ------------------------------------------------------- [273,122] Kermit things. This kermit.hlp is the distributed k11.hlp with annotations about what subtopics you may summon from help (DEC-11 help is too dumb to do this for you.) I install this for on-line documentation users as well as using k11hlp.hlp for within-kermit help. I know this is trivial, but I wish they had done it and put it on the distribution tape. BUG WARNING about kermit 11 help files. K11HLP.MAC does an open for both read and WRITE(!!) on the [1,2]K11HLP.HLP file. So PIP [1,2]K11HLP.HLP/PR:0 or the mother will fake a ER$FNF when it can't get write-access and you will wonder why it can't find the file. ---------------------------------------------- [273,200]README.1ST ------------------------------------------------------- Wittenoom and Associates/Machiavelli Systems -------------------------------------------- [273,200] DECUS C Documentation This account was created for the purpose of documenting the libraries in [273,201]. There are command files to build documentation, and runoff header files for each of the documents in [273,201]. These command files have been generalized so that they will document any set of routines with the DECUS 'C documentation standard. MAKDOC.CMD This command file creates a manual for a specified set of routines. Format : @MAKDOC lisfil LISFIL is a file containing a list of functions to be placed in the document. The name of the file is carried through to be used as : 1. Name of document header files [lisfil]1ST.RNO [lisfil]HDR.RNO 2. Name of the created .RNO and .DOC files [lisfil].RNO [lisfil].DOC 3. Name of the Function index file output [lisfil].IND 4. The device name and uic specified in the list File spec. is used as the default for the 'C source file specification. The account you are logged into is the account that the output files are created on. This function assumes that all source files are 'C, perhaps someone would modify it to copy with macro source files as well [very little to change]. MAKFNLIS.CMD This command file creates A .IND file as above, without the documentation the same rules for the file name apply as above LSTNOTDOC.CMD This command file is meant to find un-documented files... It FAILED ... would someone please fix it. FNAMEPARS.CMD This command file gets a file name passed to it and strips it into it's various componants. Is called by .SETS DEFDEV "defualt device name including colon" .SETS DEFUIC "default uic including brackets" .SETS DEFEXT "default file extension including period" @FNAMEPARS/LO filename ; DEV has resolved device name ; UIC has resolved uic ; FILE has file name ; EXT has resolved file extension ; FILNAM has composite file name with resolved items BATDOC.CMD This command file creates a command file to submit to the batch to create documentation. The format is @BATDOC lisfile destin Where lisfile is the listing file to search through same as MAKDOC, and destin is the device/uic specification of where the documentation is to be put GO.CMD This command file changes the default device/uic. Format is : @GO DEV:[UIC] Brackets are not nessacerry for the uic, and the uic may be spaced apart from the device. *.DOC These are the documentation for the lirarys in [273,201] *.IND Indexes for the functions in the lirarys in [273,201] *HDR.RNO This is the header file placed before the index of a document for the particular libraries. *1ST.RNO This is the header placed at the front of the documentation for the particular libraries. *.TSK These are the programs used to extract the documentation from the libraries, and make them into a runoff file. [ DECUS C distribution ] ---------------------------------------------- [273,200]README.ALL ------------------------------------------------------- [273,200] DECUS C Documentation This account was created for the purpose of documenting the librarys in [273,201]. There are command files to build documentation, and runoff header files for each of the documents in [273,201]. These command files have been generalized so that they will document any set of routines with the DECUS 'C documentation standard. MAKDOC.CMD This command file creates a manual for a specified set of routines. Format : @MAKDOC lisfil LISFIL is a file containing a list of functions to be placed in the document. The name of the file is carried through to be used as : 1. Name of document header files [lisfil]1ST.RNO [lisfil]HDR.RNO 2. Name of the created .RNO and .DOC files [lisfil].RNO [lisfil].DOC 3. Name of the Function index file output [lisfil].IND 4. The device name and uic specified in the list File spec. is used as the default for the 'C source file specification. The account you are logged into is the account that the output files are created on. This function assumes that all source files a C, perhaps someone would modify it to copy with macro source files as well [very little to change]. MAKFNLIS.CMD This command file creates A .IND file as above, without the documentation the same rules for the file name apply as above LSTNOTDOC.CMD This command file is meant to find un-documented files... It FAILED ... would someone please fix it. FNAMEPARS.CMD This command file gets a file name passed to it and strips it into it's various componants. Is called by .SETS DEFDEV "defualt device name including colon" .SETS DEFUIC "default uic including brackets" .SETS DEFEXT "default file extension including period" @FNAMEPARS/LO filename ; DEV has resolved device name ; UIC has resolved uic ; FILE has file name ; EXT has resolved file extension ; FILNAM has composite file name with resolved items BATDOC.CMD This command file creates a command file to submit to the batch to create documentation. The format is @BATDOC lisfile destin Where lisfile is the listing file to search through same as MAKDOC, and destin is the device/uic specification of where the documentation is to be put GO.CMD This command file changes the default device/uic. Format is : @GO DEV:[UIC] Brackets are not nessacerry for the uic, and the uic may be spaced apart from the device. I have since found a bug in MAKDOC.CMD : Every time GETRNO starts up, as a matter of course, it sets up headers etc for RNO. This has the effect of putting the header line for a page of documentation onto the next page, therfore putting the header line out by one page throughout the document. I havn't had time to bash this bug [ I think that I will have to put another switch into GETRNO ] so if someone thinks it's worth doing, please send me a copy. ...BRU [No not that DEC f[]utility, Bruce Cook]. ---------------------------------------------- [273,201]README.1ST ------------------------------------------------------- WITTENOOM AND ASSOCIATES/MACHIAVELLI SYSTEMS -------------------------------------------- This account is a set of utility routines and the command file to build them (used at RWA). ---------------------------------------------- [273,202]README.1ST ------------------------------------------------------- [273,202] Bruce Cook Garbology A collection of files from my account doing various things. I promise this account will be cleaned up next time arround. MEMDUMP.C Dump a block of memory to ti: in hex PURGE.C Purge all redundant files in account by spawning pip under a different name. MASK.C Create a character mask for ti: input QIO's QIOMASK.C RENAME.C Rename a file from 'C [old cludge uses pip] SPEED.C Set the serial port on a KAYPRO II [BDS C] ASTACK.DAT Description of the C stack after an AST in C ASTSIT.MAC Functions to terminate routines in mid-execution SAVPOS.MAC Primitive -- will have a better version next time STOPIT.MAC FCALL.MAC Macro to call fortran-1v routines VARSENREC.MAC C variable send/recieve functions GCL.ULB Gcl under Decus C [with example program] ATOD.MAC Fixes for Decus 'C routines SPWN.MAC SPAWN.ULB NTWS.C Filter to remove trailing white spaces from a file [ good for those people who leave ws arround with edt] NLWS.C Filter to remove trailing whilte spaces from a file [ good when re-tabbing a file] FILEDMP.C This routine dumps all known information about a C File header & associated info, to a specified output file. It's usefull LGR.C This program is basically a username driven notepad program. Very usefull for logging bugs, needed utilitys time sheets etc. HMM4.C This is a filter that reads text in, making sure that a line isn't greater than 132 characters, if one is, a newline is places at the 133th position LP.C This is a program to generate pages of Line printer test data. Good for checking print heads. PHELP.C This program gets a help file, and turns it into a doc file. It knows about all the standard help file operators, and will take care of nested help files. It's output does not contain formfeeds, and therfore will work on DECWRITERS etc. Any formfeeds in the input file are also converted to linefeeds. Output is categorized in sections depending upon the documentation level. PRINTABL.C This filter reads a file from stdin, and outputs it at stdout, with any non-printable characters as periods. this is usefull for editing DTEXT.DAT and other files with bits of binary in them. QUEUE.C This module inmpliments a queue system for C. Usefull for many applications. Queue's are opened like a file, so seperate queues can co-exists easily exist. SCAN.C This program scans the lights on a VT100. It is usefull when run at a priority of 1. for testing system load. ---------------------------------------------- [276,001]README.1ST ------------------------------------------------------- Files in this area contain the Murdoch University data logging system. Basically there are two systems. Laboratory system (PYRO) for RSX-11M or 11S Remote data logging system (STARLOG). The Laboratory system was built to run on small LSI 11/02 computer systems running RSX-11S, logging data to a TU58 cassette system. It will however, also run on an 11-M system, logging data into a disc file. Further documentation may be found in PYDOC.RNO. All .TSK files were prepared under RSX11M 4.0 and require the FCSRES partition to be resident. Otherwise a rebuild is in order. Task builder options for the privaledged tasks (Pyro, Labmon) can be found in the ".LNK" files. The remote logging system is a UNIDATA - Starlog logger which requires no external power source nor tapes or discs. It can be placed in the most remote locations, with its own battery power and memory logging system and can perform for months without attention. Program STARLOG is a Ratfor program that communicates to a UNIDATA remote data logging device. The program can extract logged data, initialize the logger, and be used to pre-program the logger. Data extracted from the logger is placed in a formatted file. The pre-proceesed .FTN file of STARLOG is included for those who don't run Ratfor. If re-building programs, use the MURDLIB.OLB to resolve any unresolved variables. FILES: *.RNO Documentation PYRO.* Stand-alone data logging system. PYTAPE.* Program to read TU58 data tapes from PYRO. STARLOG.* Program to handle a Unidata model Starlog data logger. John Horgan Murdoch University South Street Murdoch Western Australia 6150 Tel. 3322298 ---------------------------------------------- [276,002]README.1ST ------------------------------------------------------- This UIC contains the Murdoch University plotting system library and some sample bar and pie plotting tasks. Also a polinomial and exponetial curve fitting program (POLY) with graphics output. All .TSK files were prepared under RSX11M 4.0 and require the FCSRES partition to be resident. Otherwise a rebuild is in order. If rebuilding the stand-alone programs, use the MURDLIB.OLB to resolve any unresolvable variables. FILES: *.RNO Relevant documentation. PLOTBLD.CMD Command file to build the PLOT.OLB system. PLOT.RNO Documentation for the plotting library. *.RAT Ratfor programs and modules *.FTN Fortran generated from Ratfor processing. BAR.* Stand-alone bar graph program PIE.* Stand-alone pie plotting program MIPLOT.* Program to drive any Wantanbe multi-pen plotter TK4006.* Program to drive Tektronix 4006 VDU. POLY.* Program to curve fit to given data. MURDLIB.OLB Just in case you need it. John Horgan Murdoch University South St. Murdoch Western Australia 6150 Tel. 3322298 ---------------------------------------------- [276,003]README.1ST ------------------------------------------------------- Files in this area contain the Murdoch University LABORATORY control system. The time shared system was designed so that non-privileged users can write Fortran programs to moniter Analogue devices without disruption to other time shared users of the system. This is accomplished by installing the privileged task (Labmon) which does all the nasty A/D conversion and clock driven analogue sweeps and communicates to the user task via a common area (ACOM). The user program need only call two subroutines (LABINI and LABWT) to get a hold of the analogue buffers. An example program can be found in the LAB.RNO document. During TKB the user task must issue a "RESCOM=[1,1]ACOM/RO" option. Several users can be using the same analogue hardware concurrently, provided that they all agree on a common sampling time and different physical channels. Sampling times and dispalys of channel usage can be obtained with the LAB command. Install the following two tasks before any of the "LAB" commands or user tasks are run. INS LABMON INS LABSND All .TSK files were prepared under RSX11M 4.0 and require the FCSRES partition to be resident. Otherwise a rebuild is in order. Task builder options for the privileged task (Labmon) can be found in the ".LNK" file. Program AUTO is a Ratfor program written to use the lab control system. It analyses peak over background data from the analogue port of an auto-analyser instrument. It is used in our 6 terminal general computing system without noticable loss of response. If rebuilding the stand-alone programs, use the MURDLIB.OLB to resolve any unresolvable variables. FILES: *.RNO Documentation STARLOG.* Program to handle a Unidata model Starlog data logger. LABMON.* Heart of the Time shared data logging system LABSND.* Command processor for LABMON. LABINI.* Fortran callable initialization routine. LABWT.* Fortran callable logging routine. AUTO.* Program to interpret analogue data from auto-analyser. John Horgan Murdoch University South Street Murdoch Western Australia 6150 Tel. 3322298 !************************************************************************************************** ---------------------------------------------- [276,010]README1ST.AAA ------------------------------------------------------- ! README.GAM ! ! PROGRAMS SUPPLIED TO PUBLIC DOMAIN FROM SCGH ! ! PROGRAMMER G. GUELFI ! ! FROM SIR CHARLES GAIRDNER HOSPITAL ! VERDUN STREET ! NEDLANDS W.A. 6009 ! AUSTRALIA ! ! 02 - 3892322 ! ! ! TO BUILD PROGRAMS USING VIRTUAL ARRAYS CONCURRENTLY WITH ! FGAMMA BOTH FGAMMA AND THE FORTRAN OBJECT LIBRARY MUST BE MODIFIED ! AS SPECIFIED BY B. HUTTON RPAH SYDNEY AUSTRALIA . ! SEE COMAND FILE FORPAT.COM FOR PATCH DETAILS ---------------------------------------------- [301,050]README.1ST ------------------------------------------------------- BRUDIR is a program to list the contents of BRU tapes. It was written by Richard Kirkman whilst investigating the structure of BRU tapes. Current modifications are by Alan Frisbie to produce cleaner listings. It will produce a directory listing of a BRU Tapeset (up to some limit - currently 32767 files) in formats similar to that used by PIP: BRIEF, LIST and FULL. It has not been checked out with tapes produced under RSX-11M-Plus v3.0. ------------------------------------------------------------------------ ---------------------------------------------- [307,020]README.1ST ------------------------------------------------------- [307,20] README.1ST U.S. Geological Survey, Menlo Park, California, submissions to the Spring 1986 DECUS Tape. This material was discussed in the presentation "Fortran-77 Performance and Optimization Issues" at the Dallas Symposium. Contents of this UIC: F77VBUG.DOC Description and correction to Fortran-77 V5.0 OTS which causes Virtual Array problems with I/D Tasks. VIRT.MAC Experimental "Fast Virtual Array" package. This code is CRVIRT.MAC meant to replace standard Virtual arrays when performance DSVIRT.MAC or Virtual Array index limitations need to be stretched. DSWIND.MAC Allows creation of one or more regions, and performs TEST.FTN manual mapping to the region through any arbitrary common TESTBLD.CMD block. Once mapped, array accesses to the "Virtual array" are as fast as normal array accesses. Look at the source files and the test program for details. GETVIR.MAC Map and return the virtual address of a Virtual Array element BLKIO.FTN Virtual disk I/O routines from Fortran-77. Allows you to read and write disk blocks directly into arrays (regular OR Virtual!) using direct QIOs. Uses the GETVIR routine for accessing Virtual Arrays. A MUST for reducing disk I/O overhead for an application. See the source files for details. ---------------------------------------------- [312,315]AAAREADME.TXT ------------------------------------------------------- SPRING 1986 RCA SUBMISSIONS This set of programs has hopefully something for everyone. Directories and contents are BRIEFLY summarized here. Look at AAAREADME.1ST, README.1ST, and other manual files and .RNO files for further information. [312,371] New release of AnalytiCalc. Many bugfixes and new features since Fall '85 including more string functions, a CHOOSE function, and some internal improvements related to storage use. Also the AAINSTALL.COM file does installation for VMS and command file and program documents are much improved. Another late addition is input and output "areas" which allow you to connect ANY application or DBMS to AnalytiCalc. Before you go buying an expensive spreadsheet, try this one first. It does generally MORE than the expensive ones and is also quite easy on your system. It does not need special privileges and can be built from source. It introduces NO security holes in VMS. Also in this area: DATMG*.* is a complete relational DBMS in src. with docs. Dearchive with ARCH and build with the .COM files included. (Use a scratch empty directory.) [312,345] Document area (and old VMS version) AnalytiCalc. The documents are better done and there's a reference card file for a handy reference to all commands and functions. [312,375] Object libraries for AnalytiCalc for those who don't have Fortran. You can install from these libraries. Also task images for RSX and POS for those who don't have the F77 compiler. [312,315] This area contains some useful odds and ends. Among them are RSX Focal, and LIST, a multicolumn lister, with the ASSLUN module needed to get around a VAX/RSX bug. If you have a compat mode program crashing VAX/RSX V2.0, try linking ASSLUN into it rather than using the default one from SYSLIB. This will get around a bug in the AME that fails to range check LUN assignments. The problem should be resolved in VAX/RSX V2.1 (one hopes). ---------------------------------------------- [321,100]AAAREADME.1ST ------------------------------------------------------- This area contains a modified tape positioning program I have used to read SIG tapes and 2 programs for the PRO350. FRG - The disk fragmentation report for the 11 from Ed Cetron modified for the PRO. USE - The cpu usage utility from John Lloyd that shows useage just like on a vax. This has been modified for the PRO TMV - This utility is a modified version of the one submitted by Alan Watson. It has been changed to use the MS: device. *****NOTE***** This can be used to read the second backup set on a DECUS SIG tape. Our drive would report errors when BRU came to the Second backup set caused by an extra EOF mark on tapes made on a VAX. To read the second backup set try the following: >MOU MS:/FOR >TMV MS0:/FS >TMV MS0:/FS I/O ERROR # -64 ON MAG TAPE UNIT <- MESSAGE FROM TMV >TMV MS0:/FS >BRU MS0: VE1: <- DON'T TELL BRU TO REWIND Also included are the .RNO files from my sessions on PRO/Toolkit. ---------------------------------------------- [333,100]README.1ST ------------------------------------------------------- Hans J. Jung SUBMISSIONS The [333,*] UIC's contain primarily FCS and DECnet extensions for DECUS "C". There are also two set of useful DECnet tasks. These UIC's require about 2500 blocks of disk space. [333,100] - Contains this file and ready to use CX and CN librarys. It also contains the FCS extensions. The FCS stuff was submitted on the Fall '84 SIG tape. See README.2ND. [333,101] - DECUS "C" DECnet extensions. Sources for the CN library. Also conatins NETIO and NETLNK routines easier network access. [333,102] - Contains a DECnet remote file access package. Uses a special remote DECnet object, not FAL. [333,103] - REX - a remote execution package. Allows submitting command on a remote node without losing the use of the local node. [333,104] - Remote print spooling from RSX to VMS. Contains sources for a virtual printer driver (VP:) and a special priveleged task (VPVDV) that allow transparent print spooling to a VMS system over DECnet. Documentation may be sparse. [333,105] - A resubmission of the unsupported DECnet mail system from the Spring '81 tape. Provides RSX and VMS DECnet mail. This submission was put together shortly before symposium (as usual). I believe it is complete, but as with all DECUS software, your on your own. Questions, complaints, praise (I rather like the last) can be addressed to: Hans J. Jung Assistant Manager of Research and Development The Associated Press 50 Rockerfeller Plaza New York, NY 10020 (212) 621-1568 I will take calls, but am notoriously hard to reach by phone. I also can't guarantee you much phone time. ---------------------------------------------- [337,024]README.1ST ------------------------------------------------------- Abstract CRU: Convert, Compress, and Restore File Utility This program is primarily designed for operations on text files, and includes the following options: 1) Converts files between fixed and variable length records. 2) Converts carriage control types (FORTRAN, LIST, and NONE). 3) Converts between 8 column tabs and spaces. 4) Truncates or padds records. 5) Removes trailing blanks and tabs from records. 6) Selects a range of pages for output. 7) Compresses (or restores) records. The compression algorithm is based on repeat characters, and is therefore especially effective on reducing the storage required for files which contain significant amounts of filler (spaces) or nulls. The program was written in MACRO-11 and uses large buffers for efficient processing. ---------------------------------------------- [344,001]README.1ST ------------------------------------------------------- K M S K I T R E A D M E . 1 S T V 4 . 2B *************************************************************************** ** Please note. Support for the KMS enhancements is dying even ** ** faster than it was before. (DEC would refer to this as Category Z- ** ** support on an SPD for KMSKIT.) However, the RSX modifications ** ** still work, even though KMS has converted everything to M-Plus ** ** and does not care about RSX-11M any more than for sentimental ** ** reasons. Tony Scandora of Argonne National Laboratory still uses ** ** KMSKIT on some steam-powered 11s, and has updated KMSKIT for V4.2B. ** ** A feeble attempt was made to install the whole thing as a package, ** ** as you, the user, might want to do. Jim tended to put changes in ** ** piece meal as he had time. The master command files are an attempt ** ** to try and make the kit easily installable, and they actually have ** ** been tried a few times. That sadly, does not mean that they are ** ** guaranteed to work. Tony has built most of KMSKIT, but has only ** ** tested what he uses. He hopes all that you need to build KMSKIT ** ** is here, and he will do his best to keep it current as long as he ** ** supports the steam-powered 11s. ** ** ** Please be careful. The SLP files may not conform to the source ** ** files you have (though they should). BEWARE-----BEWARE. If the SLP ** ** files don't work, if the command files don't work, or if you need ** ** help, find a mirror (preferably larger than the pocket variety) and ** ** gaze at it intently. Note the face looking back at you. It is the ** ** kindly face of your Software Support Specialist. Good Luck!! ** *************************************************************************** In going from V4.1 (field test version) to V4.1 Updata B version, all that Jim ever needed to change was the first ASCII locator string (which looks for that last audit trail record in the text preamble) to reflect the correct place for the SLP file audit trail to go. We have attempted to make the process fullproof, which is a sure indication that it is bound to fail for some. Three files (EXECSLP.CMD, MCRSLP.CMD, and ICPSLP.CMD) actually do all the SLPing. They used to assume most files are the unupdated distribution files with a NAME.EXT;1 file name, and a few (known internally to the command files) are known to be updated (via Update B). Tony took all of that version number stuff out and let it all work with latest versions. Since users have not yet seriously proposed that KMS try generating a "product", our assumption is that users interested in KMSKIT are generally sophisticated and able to fix minor "bugs" that creep into the installation procedure. In practice, Tony does the following: 1. Apply DEC Autopatch/Update "xx" to produce .XYZ;2 files 2. Read each and every .SLP file and what it patches to insure reasonablness 3. Use EXECSLP.CMD, ICPSLP.CMD, MCRSLP.CMD If SLP complains, you missed something that needed to be fixed 4. Read each and every SLPed source file to insure reasonablness I know of no way to set up a command procedure that can tell if the autopatch has been done and to set things up automatically. Perhaps if I gave it enough thought... But someone else should worry about this. As a note of MINOR encouragement, I have all of KMSKIT working on V4.2B of RSX11M and the enclosed files are the ones I used. This is is it intended to be a rerelease of the entire KMSKIT. Send comments to Tony Scandora if it is not. The following UIC's are part of the KMSKIT RSX11M Enhancements Package Update for V4.2. [344,1] Documentation files. Command file to create the document files. You need RUNOFF to do this. Hope you have it. The documentation has not been updated recently. [344,40] Terminal and disk accounting, privilege allocation, modifications to HELLO, HELP and BYE, account utilities and report programs. Run privilege checking and searching LIBUIC, NETUIC and SYSUIC on a RUN $ command. SET /LIBUIC for RSX11M (just like M-Plus). Enhancements to ...AT. to implement the /-LI switch. [344,43] Utilities. Updated versions of GREP and LIST [344,44] Here is a version of the old RMDEMO which runs on VT100's which are in ANSI mode. This version is almost half as small as the new version and supports reploting and easy exit. In addition, if KMS Accounting is present and active, it provides a dynamic display of the percent of total system utilization. This version (less my mods) was distributed with the field test kit of RSX11M V3.2 and is distributed here courtesy of the the RSX group. It runs on a RSX11M V4.1 system. [344,45] PDQ -- Program Development Queues. PDQ is a multi- queue command file despooler (using QMG...). Submit a command file for execution. When a program development queue becomes free, the command file executes at your TI: [344,61] CCL has been taken over by Paul Sorenson. Best command line processor for RSX available, bar none. Need I say more? CCL is almost too useful to be free. [344,65] A complete SYSTEM ACCOUNTING package for RSX11M. While oriented towards providing performance measurement, it provides the basis for implementing a versitile and reasonable charge-back accounting system. Some reports are provided which will do this. Please read SYSLOG.DOC. Please, create and read the documentation before leaping in and trying to use the kit! A discription of all the modifications and enhancements and most of the utilities is in KMSKIT.DOC. The command file [344,40]KMSGEN.CMD will provide all required information (or most of it)for building the KMS Enhancements and a number of the other programs. Read KMSKIT.DOC before trying to include the executive data base changes. Please note that it has not been updated since V4.0 and the file REQSB.SLP is no longer needed. To use this kit, transfer the files to their respective UIC's. Read all the documentation over twice. Set /UIC=[344,40] and type @KMSGEN/-MC and run through a KMSGEN asking for a long dialog. Place the required DEC sources in the correct places, KMSGEN will try and do all the SLP patches both to MCR sources, the EXEC modules and the SYSGEN command files. If KMSGEN sucessfully SLPs the MCR, EXEC and SYSGEN command files, stop, place the OLB's and sources on your SYSGEN disks and do a SYSGEN if you are incorporating data structures (accounting) requiring a SYSGEN. Once the SYSGEN is done use KMSGEN again to create all needed files. These programs have been extensively tested for the case where all KMS options are selected and where most DEC sysgen options are selected. KMSGEN and the command files to implement KMSKIT for the general user have had almost no testing since I do all patches one at a time checking results as I go. The first user to try KMSKIT found a bunch of bugs in the command files. These I tried to fix. But, as we all know, bugs are hard to completely stamp out. Be warned, be careful, and be alert. Since, I know the SLP patches once incorporated work, I am sure they can be incorporated with a bit of perseverence. I apologize in advance for any potential inconvenience, but current government regulations (let alone my family) preclude me spending in excess of 24 hours daily at work. I simply do not have time to do all that I have to do as well as all that I would like to do. We owe Jim Downward a large debt for this package. Now that he has converted to M-Plus, send comments, praise, and bug reports (preferably with fixes) to Tony Scandora, who will forward any praise to Jim. Thanks again, Jim, and good luck out there, Tony Scandora Argonne National Laboratory CMT 205 Argonne, IL 60439 BitNet B35048 at ANLCMT 312-972-7541 FTS 972-7541 ---------------------------------------------- [350,031]README.1ST ------------------------------------------------------- Sorry, for the strange format..... I have 12 hours before I leave for Dallas and my tape drive (as usual) is on the fritz..... BRU and FLX will not work at all. However, PIP seems to work fine. So here it is. There are two 'articles' that I have submitted. they are machine readable code versions of my session notes.... I have also included my connect time accounting package for 11m and m+. I have updated it to include support for TT's, VT's, HT's and the new RT's. Please send me copies of any suggestions, comments, and especially bugs and/or fixes to: Ed Cetron Center for Biomedical Design 3168 MEB, Univ. of Utah Salt Lake City, Utah 84112 Ma bell: (801) - 581-6499 or 581-5304 ARPA: cetron%utah-cbd@utah-cs.arpa p.s. Please feel free to contact me for any help or further articles or whatever. ---------------------------------------------- [350,120]README.1ST ------------------------------------------------------- This submission contains various update to various software from the sig tapes of years gone past. They are: Directory VD2:[356,60] 24-APR-86 19:15 MAKE.CMD;1 1. 21-APR-86 21:19 POS.CMD;1 2. 21-APR-86 21:14 POS.SLP;1 15. 14-MAR-86 13:57 README.1ST;1 2. 21-APR-86 21:26 REC.CMD;1 2. 21-APR-86 21:14 REC.SLP;1 15. 21-APR-86 21:11 REW.CMD;1 2. 21-APR-86 21:13 REW.DOC;1 3. 26-OCT-83 00:35 REW.MAC;1 12. 26-OCT-83 00:35 REW.RNO;1 3. 26-OCT-83 00:35 REW.SLP;1 5. 14-MAR-86 13:57 TEST.CMD;1 1. 03-OCT-85 16:20 Total of 63./63. blocks in 12. files Directory VD2:[351,41] 24-APR-86 19:15 ACCBYE.MAC;2 52. 24-APR-86 11:38 ACCBYE.SLP;1 1. 24-APR-86 11:34 README.1ST;2 2. 24-APR-86 12:56 Total of 55./55. blocks in 3. files Directory VD2:[307,120] 24-APR-86 19:15 COOKIE.MAC;4 48. 13-MAR-86 21:40 README.1ST;1 2. 24-APR-86 10:58 Total of 50./50. blocks in 2. files Directory VD2:[312,16] 24-APR-86 19:15 BACKUP.CMD;15 12. 06-JAN-86 08:08 BRUDIR.CMD;1 2. 17-APR-86 19:43 BRUDIR.FTN;1 22. 11-MAY-82 23:56 BRUDIR.HLP;1 2. 11-MAY-82 23:56 BRUDIR.SLP;1 21. 17-APR-86 19:47 README.1ST;1 3. 24-APR-86 19:06 Total of 62./62. blocks in 6. files ---------------------------------------------- [350,122]README.1ST ------------------------------------------------------- This is an update to the program BRUDIR. It has been modified to allow for MCR and DCL input type calls. Also a spooling and rewind switch has been added. If the -rewind switch is used then the progran will not look for the volume header which is normally found as the first record of a tape. This was done so that one could position a tape to a BRU dataset and do a directory of that data set rather than doing the whole tape set. A copy of the backup command file that We use to backup our disk is included to show how the BRUDIR may be used to do a directory of an incremental backup set. The other programs to manuplate the Mag-tape are in other UIC's on the distribution tape. You need POS and REC to position the magtape for the directory process. To run the program: run brudir It will prompt for the proper info or one may place it all on one line. See the source listing for further information on the program. Dan L. Eisner Perkin-Elmer Corporation Applied Optics Operation Garden Grove, California 714-895-1667 ---------------------------------------------- [350,123]README.1ST ------------------------------------------------------- Changes to the accounting package from: School of Chem Engr. Cornell University This is a correction to the subroutines for the BYE process changes from the fall 1985 distribution. I found that the original produced an odd address trap. The error was that the account file system disc info was placed into location 0 thru 5 since a pointer to the device name string was zero. I added a check to see if the string address was zero or not and corrected the error. Dan L. Eisner Perkin-Elmer Corp Garden Grove, CA 714 895 1667 ---------------------------------------------- [350,131]AAAREADME.1ST ------------------------------------------------------- This area contains ZCL, a short program which permits you to set character length, parity, etc. on a DH(v)11 interface under RSX11M V4.1. It is donated by Allen Bennett. It can serve as a simple example of a task that uses CSI$ macros to handle its commands as well as a utility for those with DH11's. ---------------------------------------------- [351,040]README.1ST ------------------------------------------------------- Cornell University Submissions Coordinated by: Dennis P. Costello National Submicron Facility G02 Knight Lab Cornell University Ithaca, NY 14853 607-255-2329 BRUIN - Author: Dennis Costello A corrected version of the command files which appeared on the Fall 85 (Anaheim) tape. This submissions will also appear on the Spring 86 VMS SIG tape. These command files copy a BRU backup set onto an ODS-2 rooted directory. Specify the backup set name and the device name on which the rooted directory should be created, eg: $ @BRUIN RSX85B DU1 VAXBRURDR.EXE, as provided here, is required. (This is a copy of the one on the RSX85A tape). Before running BRUIN, change the line in BRUIN.COM which reads: $ vmsbru :== $[manager.bru]vaxbrurdr to point to the correct location of VAXBRURDR.EXE on your system. To read in multiple backup sets from one tape, use the command file BRUALL.COM: $ @BRUALL DU1 This will make a list of all backup sets on the tape, and read each into its own subdirectory. All files on the tape must be BRU backup sets, or the command file will probably die horribly. As in BRUIN.COM above, you should change the following 2 lines to point to appropriate directories: $ vmsbru :== $[manager.bru]vaxbrurdr $ @[manager.bru]bruin 'name' 'p1' This command is quite appropriate to run as a batch job. TABBUILD - Author: Dennis Costello This is a command file which produces a loadable device database for use in a loadable device driver. In particular, the driver source, normally found in [11,10]xxDRV.MAC, can be used to produce a loadable/loadable driver, and that driver can then be LOAded into the RSX system, even though the device was not defined during Sysgen. Tabbuild does not actually produce the database code directly; it merely provides an environment in which the Sysgen command file SGNPER.CMD is called. SGNPER then does the real work. The instructions for using this command file are in the paper "Adding Device to RSX Without a Sysgen", which will be in the Spring 86 Proceedings and the Multi-tasker. A preliminary copy of the paper is included here for your benifit, as PAPER.RNO. The slides from the talk, some of which will be figures in the final version of the paper, are included as *.sls. These are sixel files, and can be printed on any printer which supports that format, such as the LA50, LA100, and LN03. ---------------------------------------------- [351,144]README.1ST ------------------------------------------------------- FIGure - Calculator for RSX and VMS -- Version: 86.080 PAGE 1 Author: T. R. Wyant III, E. I. DuPont de Nemours, Richmond, VA. Operating System: RSX11M+, RSX-11M, VMS Language: FORTRAN Memory Required: RSX - 20KW Other Hardware Required: RSX - FPP instruction set. Keywords: RSX-11; VMS; Calculators; Mathematical. Abstract: FIGure is a calculator to evaluate arithmetic and logical ex- pressions. Syntax is similar to the FORTRAN assignnemt state- ment. Up to 100 variables may be defined, with 1 to 6 char- acter alphanumeric names beginning with an alphabetic. All data are stored in REAL*4 format, but converted to scaled in- tegers for the logical operations & (and), ! (or), and ~ (not). Data may be entered and displayed in any radix from 2 through 36. Commonly used expressions can be executed from a command file. Online help is available. Compiles under F4P/RSX V2.5 forward, F77/RSX, and VAX FORTRAN. ---------------------------------------------- [351,145]README.1ST ------------------------------------------------------- TEM - Terminal EMulator for RSX -- Version: 86.093 PAGE 1 Author: T. R. Wyant III, E. I. DuPont de Nemours, Richmond, VA. Operating System: RSX11M+ V2.0 forward, RSX-11M V4.0 forward, RSX-11S V4.0 forward, VAX-11 RSX V2.0 forward. Language: MACRO-11 Memory Required: 16KW Other Hardware Required: Dial-out Modem Keywords: RSX-11; Communications; Terminal Emulator Abstract: TEM provides "dumb" terminal emulation over a full duplex TT: line. It allows the user to "become" a terminal on a remote system, and to do ASCII file transfer between systems. TEM has been used to communicate with RSX, VMS, RSTS, and TOPS-20 sys- tems, as well as non-DEC equipment. It requires no software on the remote system (and therefore has no error checking). In addition to the basic functionality, TEM can automati- cally issue canned commands to smart modems at the beginning and end of a session. The user can also select from the fol- lowing features: * Local Echo. * Automatic linefeed on carriage return. * Translation of inbound control characters to ASCII abbre- viations. * Passthru of control/s, control/q, control/o and control/x to the remote system. * User selectable attention and end-of-file characters. * Inbound and outbound character mapping. * Specifiable record delay and prompt character for file transfer. * Parity generation and checking. * Support for dialout modems as remote devices. TEM requires at least RSX-11M+ V2.0, VAX-11 RSX V2.0, RSX-11M V4.0, or RSX-11S V4.0. If running under RSX-11M or RSX-11S, it requires the full-duplex TT: driver, get/set mul- tiple characteristics, and unsolicited input AST's. Correct access of named directories and files numbered in decimal re- quires the FEAT$ directive. The GIN$ directive is used to pre- vent nonprivileged users from using TEM to read files that are none of their business (eg: LB:[0,0]RSX11.SYS). An attempt has been made to conditionalize TEM for RSX-11M V3.2, but I have no way to check it. TEM can be initiated from and commun- icate with any reasonable serial device, but there may be res- trictions if not being used on a TT:-type device. ---------------------------------------------- [356,040]README.1ST ------------------------------------------------------- KERMIT-11 UPDATE The [356,40] area contains an update to Kermit-11 from Brian Nelson. The [356,41] area has sources to the IAS version of Kermit-11. ---------------------------------------------- [356,042]AAAREADME.1ST ------------------------------------------------------- VMSTPC By Brian Nelson This area is a rewrite of the BIGTPC utility by Brian Nelson for native mode VMS. BIGTPC basically takes any format tape and copies its' contents onto a disk container file, or copies the container file to a tape. It is a PRELIMINARY effort but tries to copy the major advantage on RSX of BIGTPC, namely, that it is AST driven and so tends to keep lots of outstanding I/O on tapes (and disk) to keep the tape moving. The idea is to copy tapes on sites with disk space but only one drive, or to make copies faster than most any tape to tape method could. VMSTPC does not have the baroque switch set of BIGTPC but does its' major job. Also some things need to be set externally (like density). The program has not had a whole lot of testing but is presented in the hope it may prove useful. ---------------------------------------------- [370,106]AAAREADME.TXT ------------------------------------------------------- Pro Computing 222 Third Street Cambridge, Ma 02142 Jared M. Spool & John Dunning SHEAP - SuperHeap for Pro Pascal. The SHeap is a way to allow your Pro Pascal programs to get more memory. It deals with a data structure called a super pointer which is 32 bits big. The first 16 bits are the region number and the last 16 bits are the pointer within the region. When you create a region, it creates a region with the name SHPxxx, where xxx is the number of the region that it created. If you are multi-tasking, you can have one task send a pointer to another task, and connect to it, thus sharing data. There are three files in this directory: 1. SHEAP.MAC - The source file. Just PMA this and then link the OBJ into your task image. 2. SHEAP.DOC - This describes all of the calls, and also some symbol definitions you need to include in your PAB command file. 3. SHEAP.INC - This is an include file for your Pascal programs. The functions are self explanatory. ---------------------------------------------- [370,210]README.1ST ------------------------------------------------------- Caterpillar Inc. Submissions [370,210] Submitted by: Rick Webster Caterpillar Inc. Factory Integration Div. Mail Stop AD235 600 W. Washington St. East Peoria, Il. 61630 309-675-9662 VTL - Virtual Terminal Logger (Not to be confused with Robin Miller's VTL, Video Terminal List from previous tapes) VTL is a utility to allow a virtual terminal to be accessed from an actual physical terminal. Any output directed to the virtual terminal will be displayed on the user's TI:. Optionally, the data can be logged to a file at the same time, creating an exact log of all the data that appears on the screen during the interactive terminal session. Note that this is for RSX11M+ only and has been tested on both V2.1 and V3.0. Files: VTL.MAC Source code VTLON.MAC Program to re-attach to VTL after a detach from VTL VTL.RNO User's Guide VTLBLD.CMD Build command file BYEBRK - Task to implement automatic disconnect from Micom port on user log out. BYEBRK and companion task CSRFND can be used to send a BREAK to a port when a user logs out. This will cause an automatic disconnect on a properly configured Micom port selector. This has been tested on RSX11M+ V2.1 and V3.0 and although not tested, it should also work on RSX11M V4.0 and beyond. Files: BYEBRK.MAC Source to BYEBRK CSRFND.MAC Source to CSRFND BYEBRKBLD.CMD Command file to build BYEBRK and CSRFND SYSLOGOUT.CMD Sample system log out command file to implement BYEBRK BYEBRK.RNO User's Guide ---------------------------------------------- [370,352]README.1ST ------------------------------------------------------- README.1ST This UIC contains submissions from Steve Jobes, Mayo Foundation, including CLE, an interactive command line editor. With CLE, the user is able to edit his command line before or even after dispatching the CLI and it "remembers" the last several commands which can be recalled, edited, and resubmitted as well. CLE is non-privileged and requires no changes to other software. The user creates or edits a command line in a local buffer and sends it off to his CLI when ready. If installed, CLE can be invoked by typing "CLE". Or, for regular use, the last line of LOGIN.CMD should be ".xqt CLE". Questions, comments and suggestions can be addressed to Steve Jobes Mayo Clinic 232 Plummer Bldg Rochester, MN 55905