RSX/IAS SIG Tape Distribution - Spring 1984 =========================================== This is the RSX/IAS SIG Symposium Tape from the 1984 Spring DECUS Symposium Cincinnati. 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 SIG's. The tape contains over 2000 files requiring 60,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. Because it is larger than an RK07 disk, it has been split into 2 BRU container files, with the 1st (/BAC:RX84A1) as an RK07 image (of 53,500 blocks), and the 2nd (/BAC:RX84A2) as an RL02 image containing the new LBL Tools toys, much PRO 350 software, and several other items in a total of about 14,100 blocks. Directory [300,1] contains the files documenting the contents of the tape. The following files are present: RSX84ATPE.DOC contains an abstract of the contents of the tape by UIC. 84AREADME.ALL contains a concatenated list of all the README files on the tape. RSX84A.DIR 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. BEGIN84A.DOC has a copy of this text. UICSET84A.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. Glenn C. Everhart RSX/IAS SIG Tape Copy Coordinator RCA GSD Engineering ms 206-1 Rt. 38 Cherry Hill, N.J. 08358 (609)-338-6022 RSX Spring 1984 SIG Tape README files [Editor's note: These files have in some cases been truncated to reduce space consumption. See the original directories for complete versions. Sufficient information is here to give a very good idea what's on the tape but not total build details.] $! FIRST BACKUP SET R84A1 $TYP MD0:[300,21]README.DOC 25-apr-84 [1,200] RSX BASIC - MICHAEL REESE VERSION Overview: BASIC as implemented in the following files under RSX-11D is a highly upgraded version of what used to be a DECUS library program for DOS. Full FILES-11 I/O is supported (although in a bastard sort of way). String functions and user de- fined functions are much more flexible than in either the original version or in DEC's BASIC-11. A number of defici- encies and bugs in the original have been fixed. Multi-user implementation is supported with separate pure and impure areas. This implementation of BASIC is highly interpretive and thus is slow for number crunching (that's why you have FORTRAN). It is however, highly interactive and includes special debugging commands: STEP, CON and SET TRACE. OVERLAY and a data preserving CHAIN are also supported. A clean "break" feature is implemented via the TT handler (more below). In the latest version, a number of RSTS-like features have been added including: virtual arrays, integer and byte variables, continued lines and IF-THEN-ELSE. Files: BASIC0.MAC through BASIC4.MAC plus IDNTFY.MAC and IMPUR.MAC are the seven source files for the interpreter. BASIC4.MAC implements the guts of the user subroutine CALL statement plus a set of specialized subroutines used at Michael Reese Medical Center. This code can probably be removed with a minimum of work if space becomes a problem. The file SPAWN.MAC implements the IAS V3.0 SPAWN directive via a BA- SIC CALL statement. The reference to SPAWNB in IMPUR.MAC should be commented out if not running under IAS V3.0 or higher. Two command files for assembly are provided: 11MASM.CMD and 11DASM.CMD. BIGBASIC.CMD is a task build command file which may be tail- ored for single user operation. Note that for either single user or multi-user operation, routines for trigonometric and transcendental functions are taken from a FORTRAN OTS libra- ry. The library which we are set up for is V01C. This could be changed to use F4P OTS if references in BASIC1 are changed to the F4P entry point names. FOR V02 is an unknown as far as use of its OTS routines are concerned. The task build command files assume these to be in SYSLIB. If they are somewhere else, an explicit reference should be made to whatever library they are in. Another set of command files is used to link a library ver- sion of BASIC. First, an impure area STB is created by as- sembling IMPUR without the symbol definition TASK=1. Use IMPURNOMO.ASM for this. This prevents the global definition of .MOLUN and prevents problems later on. Also assemble IM- PUR with the command file IMPUR.ASM in preparation for final linking with BAS.CMD (below). IMPURNOMO is then linked to form the symbol table. For RSX11D usd IMPURNOMO.CMD to link the symbol table. The library is then linked using BASPUR.CMD. Put the resulting TSK and STB files in LB:[1,1], install the BASPUR resident library and link with BAS.CMD. The BAS.TSK file can now be installed with differ- ent INC values and different names for optimized use, each one sharing the pure code. A command file for use with ...AT. are provided for doing all of the work described in the above paragraph: 11DSHARE.CMD for RSX11D or IAS. The development of the equivalent command file to do the same for RSX11M-PLUS remains to be done at this point. If some- one has done this, we would appreciate their feedback. One could probably make one following the RSX11D command file and modifying for RSX11M. For use with RSX11M, use 11MASM.CMD and BIGBASIC.CMD out of [300,23] and be sure to edit BASPRE to reflect the 11M usage. See AAAREADME.* first. If you have questions call: Frank R. Borger Dept. of Medical Physics Michael Reese Medical Center 2929 So. Ellis Ave. Chicago, Ill. 60616 (312) 791-2515 Reese BASIC Users Dear User, This release of REESE BASIC is mainly a maintenance update. The basic working of the system has not changed, rather the emphasis has been to include bug fixes and better documenta- tion and 11M support. $TYP MD0:[300,70]README.1ST [300,70] contains Force (FRC) and 'Detach', both for RSX-11M/PLUS V2.1. Force is a program that will force characters to another keyboard. 'Detach' is a patch that will enable users to reconnect to a task after a modem hangup. Frank Penner G.D. Searle & Co. 4901 Searle Parkway Skokie, Illinois 60077 (312) 982-8231 $TYP MD0:[312,315]AAAREADME.1ST [312,*] Collection Spring 1984 There are 6 UICs here. They are: [312,315] Rerelease of LISTRS and BIGTPC, since LISTRS (a multicolumn lister) is useful for the PortaCalc documentation, and BIGTPC to make sure everyone has a copy as edited to work with V4.1 RSX (a local symbol bug had been there, fixed by Tony Scandora.) [312,345] PortaCalc documentation (and latest VAX version), plus some older versions sources. [312,346] Rerelease of FX: (memory disk) driver for M/M+. Fixes some bugs from the 83B version that crop up on large memory systems. Specifically, a disk partition over 2 MB didn't work. Does now. [312,366] PortaCalc-XL. Now-obsolete version of spreadsheet, but still gives decent 64 by 64 sheet on 11M using virtual arrays and for some applications runs faster than PortaCalc-PC. [312,371] PortaCalc-PC. Most advanced PDP11 or VAX spreadsheet. Uses variable sized workfiles (no more huge 1000+ block workfiles unless you REALLY need them), runs MUCH faster than older versions and does all kinds of things you used to need several programs to do. Full Vax version functionality on a PDP11 and supports over 16,000 cells WITHOUT memory mapping or other fancy tricks. Assumes you have a virtual disk assigned as DK: (may exclude this option by editing build file) to hold aux keypad files. Has word processing interface, matrix math, date arithmetic, numerous logical and financial functions, 2D copying, improved command file processing, and better looking screen. Also much more. Why pay more? Get this free and use it. Wipe out the ripoff artists. A PRO 350 version is on the second backup set. [312,376] Command files and keypad picture to drive auxiliary keypad for PortaCalc. Put onto logical DK: (which I make up with a single directory virtual disk (init with undocumented /SDI switch)). Implements a "gold key" style command interface which uses L1 LED and screen text to flag when Gold is depressed. User extensible - you may add up to another 400+ commands (some at 1st Gold level, others at higher levels). Why let me tell you how to run your spreadsheet? You decide! [312,322] Reissue of VE: style virtual disk to ensure users have a usable disk type virtual disk for use as DK:. Glenn Everhart $TYP MD0:[312,317]README.1ST [312,317]README.1ST There are 2 programs here from Bruce Zielinski. NSF sets the task header to prevent a task from being shuffled so that tasks which must be position fixed really stay that way. LOGUIC sets your program UIC back to your login UIC on RSX11M+ if accounting was running, or reports error exit status if accounting is off. This allows logout command procedures to force a person back to his login directory prior to cleanup. $TYP MD0:[312,322]README.1ST VEDRV (Modified VDDRV) ABSTRACT: The VE: package is an RSX M/M+ Virtual Disk package permitting multiple files or devices (or mixtures) to be associated together as single virtual disks. Currently up to 8 such may be so associated, though more can be added easily by reassembly. The mnemonic was changed to VE: from VD: in order to permit the old virtual disks to coexist with it. They provide greater protection against inadvertent errors, but less capability for free association of devices. A protection feature allows some enhanced security using "single owner single terminal" VE: drives. For M/M+ on V3.2/V4.0/V4.1 (M) or V1.0/V2.0/V2.1 (M+) Glenn Everhart $TYP MD0:[312,345]AAAREADME.TXT PortaCalc PortaCalc is a free spreadsheet of greater power than nearly anything available commercially. Full sources for several versions are presented here. It will do more for you than products selling for many thousands of dollars, and runs on RSX or VMS, being compiled in the native mode of either machine. It takes some getting used to, but PortaCalc (or AnalytiCalc as it will announce itself)supplies all functionality of any spreadsheet commercially sold. If a function isn't there, too, it can be programmed in the builtin command language. The standard builds supplied for VAX build a 32000 cell sheet and for PDP11 you can build normally either a 16000 cell sheet or a somewhat less overlain 10000 cell one. If you have I/D space and super mode, you can add cells or speed or both. Indeed if you want to implement swapping of bitmaps, you can easily build a sheet that will handle billions of cells. I may do this in the future (it would be amusing to be able to say you can address cell ZZZ30000), but such a large spreadsheet is too big to be useful and I'm a bit reluctant to bother. Apart from ensuring variables of names like *RX* are I*4, only the WSHEET and WRKFIL files need be changed in the [312,371] version to do this. Do it yourself if you want the biggest spreadsheet address space on your block. Don't expect calculating a billion formulas to be done very quickly though. This file is VAX build notes: To build PortaCalc from supplied object libraries, you need just to extract all objects from a library and link: $LIBR/EXTRACT=*/OUT=PCCVM.OBJ PCCVM.OLB $LINK/NOMAP PCCVM or replace PCCVM (VT100 version with advanced video) by PCC100 (for VT100 without advanced video) or PCGRAF (for the graphics utility). These should run even if you don't have Fortran. For those with Fortran, the COMPIL.COM or COMPILVMX.COM files build these files from source. You can edit the VVKLUGPRM.FTN file first (compil.com copies it to vklugprm.ftn for inclusion in the compiles) to set your max sheet sizes if the ones supplied are too small. The maxima possible then are large enough you are very unlikely to need to go into sources to edit them. Look over the READMEs before doing your build please!!!!!!!!! The file PortaCalc.rno can become a VAX help library and be integrated with your system help if desired. The graphics utility is described separately in PCG.DOC and there is a file called KEYPAD.DOC in the distribution which describes various files of PortaCalc commands which implement auxiliary keypad functions. It should be edited to reflect any system default changes if these features are to be generally used. Note that if CMDMUN.FOR is compiled with the /debug qualifier, these files reside on device DK:, which may be ASSIGN/USER'd to a particular system area prior to running the local PortaCalc version. The PortaCalc.rno file must be passed through Runoff (possibly DECUS runoff as opposed to DSR) to convert it to a VAX help file format. It is designed to fit on 2 columns (using the LISTRS program to reformat it, available in various places in the DECUS library including 11-SP-6), but can fit on other sizes output with a little editing. Column size of less than 60 characters may fail in some places. I recommend all who use this product for office automation look into the DTC program from DECUS also (#11-597, code MC $70). It's a highly useful desktop calendar program for doing time based scheduling, meetings, etc. Glenn Everhart 6/14/1983 For those needing a DBMS, one may look at RIM5, a full public domain relational DBMS done by Boeing for NASA. It's available within the US only, but is public domain there. NASA COSMIC will distribute the public domain version, but if you know someone who has it, it can be had free. Watch for an 8088 version of PortaCalc soon. It'll not be free but it WILL be quite cheap (I hate expensive software!) It's compiling and linking clean and in debug now. GCE $TYP MD0:[312,346]README.1ST This area contains FX:, a memory disk for RSX11M or RSX11M+ V3.2, V4.0, V4.1, V1.0, V2.0, V2.1 (M or M+ respectively). It allows use of a memory partition as a fast disk, size variable, and is now known to work right. Unlike some earlier efforts, this driver checks the fork queue after every block to avoid blocking fork processing. Thus it won't clog your system the way some such programs will. This program is recommended for system libraries or heavily overlain tasks where the decrease in load time can buy significant system response. No SYSGEN required for use, but you should VMR in a dedicated partition which the driver will detect and use to size the device. Device size should be a multiple of 512 bytes and some of the command files here will create the device as a single directory volume (undocumented INI switch /SDI) to avoid overhead of extra UFDs, and which will allow files on the memory disk to be truly global. You can make it an ordinary files-11 disk as needed, or of course make any other file structure desired or needed, just as for any virtual disk. This program came from F82RSX originally but was fixed up for other versions of RSX and to check fork queue by g. Everhart. It has had a couple of bugs that messed up use with very large (>2 MB) disk partitions fixed. $TYP MD0:[312,371]README.1ST This area contains code for a PortaCalc version which will operate in very small environments by using bitmaps, etc., for storage. The WRKFIL and WRKSHT routines are called whenever the work file was accessed or VBLS, FVLD, or TYPE are called. Note that to gain space, the multiple precision integers are reduced to 20 characters' length from 100. NOTE: THERE IS ONE DIFFERENCE IN PROGRAM USE SYNTAX BETWEEN THIS VERSION AND OTHER PORTACALC VERSIONS: The command R (recalculate) in this version recalculates the sheet, but does NOT force recalculation of constants. The command RF recalculates and DOES FORCE recalculation of constants (and the command RR is a synonym for RF). RF can be read as "recalculate, force". In the OTHER versions, R forces recalculation of constants, and RAF recalculates everything except constants. Note that RAF in this version works as it does in others; bare R however has changed. Otherwise this version has the capabilities of the full VAX versions, except the *U XQTCM function is not available (and will not be until a larger machine that permits major mods to the overlay structure is available.) THIS PROGRAM IS NOW THE PREFERRED PORTACALC FOR PDP11 MACHINES AND FOR FURTHER DEVELOPMENT. The command files ending in "NAT" were set up to build a PDP11 .TSK image for RSX under VMS with the RSX TKB task. For RSX, edit PCCPDP.COM into a .CMD file (take out $ signs and be sure device defaults etc. are OK) and verify that the FCS11M.ODL reflects your F77 installation (or fix it up with the F4P flavor if using F4P); then build. The task WILL FIT on a PDP11 if F77 is used. If you use F4P, be SURE the FCS11M.ODL reflects the F4P OTS so addresses won't overflow. The capacity is around 16,000 cells on RSX (edit PVKLUGPRM.FOR to change how they are assigned in rows and cols). If you have the ability to use virtual arrays and/or I/D space, or FCSFSL (you M+ jocks know what that is), DO SO and reduce the complexity of the overlay structure. It probably won't fit flat, but every simplification speeds up the program. You can also increase the in memory array sizes with I/D space or FCSFSL (supervisor mode FCS) if your machine allows. Again, the parameter file controls this. Note that by making variables like IRX* and JRX* be I*4 and editing WSHEET and WRKFIL, you could swap the bitmaps also and address a HUGE sheet (up to 32000 rows and 32000 columns roughly; ZZZ32767 anyhow). But it would not be very fast and you'd have to make the in memory bitmaps smaller (say, 1K or so cells) to get room for the extra code. Please send any versions you bring up as working back to me in source, regardless of what machine they run on. In return I may get you my latest mods and bug fixes. Glenn Everhart 409 High St Mt. Holly, NJ 08060 The Best things in life are free! PORTACALC (alias AnalytiCalc) $TYP MD0:[312,375]README.1ST This area is a contribution by Larry Finger of 2801 Upton St. NW Washington, DC 20008 It includes a replacement (scrind) for UVT100 for PortaCalc that uses the VMS screen independent cursor locs (and a trial vklugprm.ftn to use with it) [which may not be needed - ed], and input files (load with @file) for PortaCalc to do federal income taxes. Updates for the 1984 tax year are promised for August so you can use PortaCalc to do your taxes. *************** Note that these screen enhancements are now merged into the main PortaCalc distribution and normal VAX builds use them. *************** Use @filename.PCC to load the pieces of the spreadsheet to get your taxes entered. $TYP MD0:[312,376]README.1ST Keypad Macros for AnalytiCalc This area contains files for the auxiliary keypad of AnalytiCalc (PortaCalc). They should be moved to an area globally assigned as DK: (a single directory small virtual disk in RSX or a directory in VMS). They are written short and small and are NOT commented since comments would slow them down. Do not attempt to learn PortaCalc command language from them. The KEYPAD.DOC file contains information on the % construct herein, and the PortaCalc manual has further information about how to write command files. Please don't let these be the first command files you read. Do however use them if desired. Once they are moved, you may want to rename KEYPADCS.PIC to KEYPAD.PIC to support terminals with advanced video and/or color. If you are using a VT52, leave KEYPAD.PIC alone. These files will work with either PortaCalc-VM (build from COMPILVMX.COM and similar files on VAX), or PortaCalc-PC (build with PCCMAK.COM on VAX or modify PCCPDP.COM to build for PDP11; it's in another directory.) The other set of keypad files is in the main directory and does not use a "gold key" style keypad interaction. These do, and attempt to put the text "Gold 1" at the upper right part of the screen when the GOLD key (PF1) is pressed. Other keypad commands turn this off, but note that the "gold" condition is cleared by cursor keys or the PF2 key without erasing this text, so treat the text with a grain of salt. $TYP MD0:[326,1]README.1ST North Texas Local Users Group Submissions The UIC=[326,*] comprise the NTLUG submission for this RSXIAS SUG tape. A simplified directory follows: [326,1] Universal library of past years NTLUG newsletters. [326,112] New Spelling Checker with the data base. Contains new overlaid version for space. Comes from Jeff Hamilton of E-Systems. [326,113] Modified XMITR communications port handeler for dial out lines. Auto-dial HAYES modem from directory. Uses event flags for less CPU overhead. [326,116] Real time processing submissions from Richard Crawford of E-Systems. If you have any trouble getting in touch with any of the authors, please contact: Jeff Hamilton E-Systems, Inc. P. O. Box 1056 CBN 27 Greenville, Texas 75401 (214)457-4175 outside Texas (800)527-1000 $TYP MD0:[326,112]README.1ST ***************************************************************************** S P E L L The SPELL files are part of the submission from E-Systems Greenville Division. The update to SPELL (a spelling checker program) (current version 4.5) adds the overlay "feature" due to increase of the size of the F77 OTS with v5.0. ATTENTION SIG TAPE COPY PEOPLE: There are no task images or object files in the libraries. All procedures are UIC independent but are submitted under the UIC assigned last tape ([326,112]). Jeff Hamilton E-Systems Inc. P. O. Box 1056 CBN 28 Greenville, Texas 75401 (214)454-4175 outside Texas (800)527-1000 ***************************************************************************** $TYP MD0:[326,113]README.1ST ********************************************************************* * * * README.XMT XMITR PROGRAM * * * * ORIGINAL AUTHOR Michael D. Lampi * * McDonnell Douglas Corporation * * * * CONTRIBUTOR Glenn EVerhart * * Jeff Hamilton * ********************************************************************* XMTBLD.CMD Command file to assemble & task build XMT @XMTBLD (or @XMTBLD LIST) (to modify a module, edit it, delete obj and @XMTBLD again; only not found obj are remade) ABREAK.FTN ASCII8.FTN BREAK.FTN CLSFIL.FTN COPYMD.FTN CTLCHR.FTN CTLSUB.FTN DELAY.FTN DIAL.FTN ECHO.FTN ENQUE.FTN FORMAT.FTN HELP.FTN INPFIL.FTN OPNGET.FTN OPNPUT.FTN OUTFIL.FTN PROMPT.FTN READST.FTN REDEF.FTN SETUP.FTN STATUS.FTN STOPIT.FTN XMITR.FTN GETSQ.MAC (Just as written in the FORTRAN-IV User's Guide) ICNT.MAC The following MACRO-11 subroutines may have to be tailored to correspond to your respective systems. ITTOUR.MAC TTYOUT.MAC TWAIT.MAC For a bit more background, this program was originally designed to run in an RT-11 environment using DL-11W's for communication. It was then transported over to RSX-11M 3.1 using DZ-11's and 212 modems. No loss of information was found at speeds of 300 baud when talking with ANY system, but PDP-11/70's were able to out-talk our poor 11/34 at 1200 baud and cause us to lose information, but usually only when XMT was checkpointed for extended lenghts of time. Under RSX-11M v3.2 a few features were added to the ITTOUR.MAC and INPTT1.MAC subroutines to make use of a few v3.2 TT: driver features, such as full-duplex and 8-bit characters. This program has been successful in receiving and transmitting at rates up to 4800 baud on an 11/34 system (under v3.1) with no data loss. Under v3.2 there should be no loss of data at any speed. (JLH) Made flags permenant feature to reduce CPU overhread. (JLH) Added auto-dial of HAYES SMARTMODEM 300 (1200?) (JLH) Added ability to insert LFs for those systems which do not supply them. (JLH) Restructored status reports. (JLH) Used for data transfers across DZ at 9600 to tek 8560 and HP1000 with no data loss. (JLH) Redesigned build file. $TYP MD0:[326,116]README.1ST This UIC contains a few programs I developed for data acquisition. These programs were developed for a PDP-11/t55 system that has TE16 tape transports. The routines will allow you to input or output data via a DR11-K digital interface or an AR11 analog subsystem. Included on this UIC are : Fortran Programs : ADORDA Input/output data via an AR11. User selectable sample rate (up to at least 4000 Hz continious). DR2TAP Input data from a DR11-K. User selectable sample rate (up to at least 8000 Hz continious). CLOCKS Can either turn the Line Frequency Clock off or it can turn it on and set it to our systems Digital Pathways TCU-150 time keeper. TAPDSK Reads data put onto tape by ADORDA or DR2TAP and outputs it to a disk file. MACRO Subroutines : LABWORK Miscillaneous AR11, DR11-K, TCU-150, and TE16 handling routines. TAPEIO Connect to unmounted tapes to allow reading, writting, and other various operations. Command Files : BLDLAB Compiles the source files on this UIC and builds privlidged tasks that map to the I/O page via the KCOM partition. GO Runs ADORDA and DR2TAP If you have a problem you can let me know. I don't promise to fix it, but I may be able to help you out. NOTICE A) These routines require that the K-LAB series must be built on your system since the I/O page is mapped to KCOM. NOTICE B) USE ALL SOFTWARE CONTAINED HERE AT YOUR OWN RISK !!! The programs run fine on our system but if there are any differences in the address assignments of your system and what the program is set up for then the result could be a SYSTEM CRASH. So please, check the DEFINE module in LABWORK.MAC carefully before using! NOTICE C) Please check the source files for additional comments and documentation. Richard A. Crawford E-Systems Inc. P.O. Box 1056 CBN-27 Greenville, Texas 75401 (214)457-6018 or outside Texas (800)527-1000 $TYP MD0:[332,12]README.1ST BONNER LAB RUNOFF Page 1 ABSTRACT ABSTRACT Bonner Lab Runoff (RNO) Bonner Lab Runoff is a text formatter which when used with your favorite editor makes a complete word processor. Its syntax is almost a complete emulation of DSR (Digital Standard Runoff) and it is very compatible with previous versions of Runoff. The intent of this program is to support complete scientific word processing to produce publication quality output. It has been used to produce thesis, progress reports, and scientific papers here at Rice University. This version allows complete control of any special printer available via user definable escape sequences. In addition a macro facility allows text or sequences of commands to be abbreviated to a single label. If the printer has the correct features then variable spacing,subscripting, superscripting, and equation formatting are possible. By properly defin- ing escape sequences the user may support different printers in a transparent fashion. In other words the same input text will print in identical fashion on different printers with different control codes and escape sequences. Table of contents, indexing and sub-indexing are all supported. Multiple table of contents or multiple indexing may be constructed from the avail- able commands. A variety of LAYOUT and STYLE commands may completely change the look of the pages. Table layout is simplified by right justified and 'decimal' justified tabs. Permanent margins which apply to the page headers are available. These simplify the setting of header and text margins. This runs under VMS, RSX, IAS, RT11, TSX, and probably RSTS. RNO oc- cupies a minimum of 31 to 37 kbytes depending on the operating system. BONNER LAB RUNOFF Page 2 Distribution DISTRIBUTION This distribution of BONNER LAB RUNOFF contains all the .MAC, .RNO, .TST, .CMD, .COM and .DOC files necessary to build and test RNO. BUILD.DOC or RUNOFF.DOC give the necessary preceedures to build RNO. The distributed RUNOFF.DOC file refers to the VMS version, but in the process of building RNO you may generate documentation suitable for the target operating system. The following are enhancements since the Fall '83 version. ENHANCEMENTS 1. .TEXT DEFERRED allows a block of text to be declared for output on the next available page. This is intended for defin- ing captioned figures. 2. .ENABLE/DISABLE NUMBERING commands allow page numbering to be suspended. These are not affected by the .NUMBER PAGE com- mand. 3. .ENABLE/DISABLE NUMBERING CHAPTER allow chapter-page number- ing to be suspended without having it reenabled by .NUMBER CHAPTER. 4. .ENABLE ODD forces the first page of each chapter onto an odd page by skipping pages if necessary. .PAGE ODD,.PAGE EVEN force page numbers to be odd or even by skipping pages if neces- sary. 5. /EV,/OD switches allow selection of odd or even page output. 6. Limits have been set on parameters so that the maximum page size is 127 lines by 255 spaces. This limitation has been in previous versions even though not explicitly stated. Now at- tempts to exceed these limits will cause error messages rather than mysterious errors. 7. .TAB STOPS may now be specified as a relative value +n from the previous one. The first tab stop may be specifed relative to the current left margin. This is not compatible with DSR usage, but is much more useful than DSR usage. 8. .TAB PROPORTIONAL command allows tab stops to be evenly proportioned across a page. 9. Commands not available in DSR have been marked in the docu- mentation. In addition parameters which differ from DSR are also noted. 10. RT-11 support has been added to this version. 11. .ELSE has been added the same as in DSR. 12. .LAYOUT has been extended to 15 values from 7. 13. .RIGHT TEXT and .END RIGHT commands added. 14. .TYPE command has been added to allow messages to be typed on the terminal. 15. .HEADERS has been made the standard command and .HEADER is now the nonstandard alternate. 16. .REQUIRE "TI:" may now be used to get input from the termi- nal. Previously .REQUIRE "TI:filename" was necessary for input. 17. Multiple input files are allowed on the RNO command line. The first input filename is the default output filename. BONNER LAB RUNOFF Page 3 Enhancements 18. .NO VARIANT turns off a variant. 19. .FLAGS TAB and .NO FLAGS TAB have been added to allow redefinition of the tab flag. 20. .PAGING/.NO PAGING commands have been added. These are useful in generating help files. 21. Both .AUTOHYPHENATION and .PERIOD commands have been ex- tended to allow user selectable punctuation rules. 22. .DEFINE COMMAND has been extended to allow multiple word labels. 23. .DELETE COMMAND/SUBSTITUTE have been added to allow remov- ing a single entry. 24. Literal input has been modified to allow imbedded quotes or apostrophes. 25. The .DISPLAY commands have been enhanced to allow automatic underlining, bolding or use of any special feature of your printer. The pre and post-fixes may contain any flags except for equations and tabs. 26. .DISPLAY LEVELS now supports level numbers with separate pre and post-fixes for each level. This allows possible autotmatic underlining, bolding etc. of header levels. 27. .DISPLAY TITLE/SUBTITLE make automatic underlining/bolding of page titles and subtitles feasable. 28. .SAVE and .RESTORE commands allow the user to quickly change the current status, and set up automatic status. 29. .STYLE HEADERS has been extended to allow for section header numbers in the form of lists (a or b or c instead of a.b.c) 30. The new style and display features are illustrated in DIS- PLA.tst which works on a VT-100 terminal and DISLEV.tst. 31. The command syntax has been further loosened to allow a large variety of command abbreviations in addition to the standard ones. 32. A parameter has been added to the .PRINT INDEX "entry" to allow printing only a specific entry (subindex). .DELETE INDEX "entry" allows deleting an index entry, and .RESET INDEX clears the entire index buffer. 33. .SEND PAGE TOC allows text to be inserted into the table of contents with a page number. The text may be braketed by .IF commands. 34. .ENABLE/DISABLE UNCONDITIONAL allow turning off uncondi- tional lines of input. This may be used with .SEND PAGE TOC to produce separate table of contents for figures, tables etc. 35. The .TOC command was changed to produce better table of contents output by using the paragraph test text parameter. 36. A parameter has been added to .PARAGRAPH, .TEST PAGE, .TEST TEXT which prevents orphan lines on the next page. This also applies to lists, and notes. 37. Dynamic memory is reclaimed more efficiently, to prevent memory overflow. 38. .DO INDEX was changed to conform to DSR usage. BONNER LAB RUNOFF Page 4 Enhancements NOTE If you find any bugs I would appreciate getting a copy of both the .RNO and .DOC files containing these bugs. If you could isolate the bug and demonstrate it in just a few lines of input I would appreciate the effort. I will try to fix bad bugs or at least create a workaround. I do not guarantee anything. John Clement Bonner Nuclear Lab Rice University Box 1892 Houston Tx, 77251 (713) 527-4018 $TYP MD0:[335,50]README.1ST Submissions for the RSX Spring 1984 Symposium, Cincinnati From the Greater Lansing LUG (accounts [335,*]) Hugh Gregg Physiology Department Michigan State University E. Lansing, Mi 48824 (517) 355-5125 (mornings only) [335,50] CATCH is a program that is equivalent to "PIP filename=TI:". On RSX11M systems, you cannot set typeahead serial, and using the above PIP line, overruns go to MCR, DCL or CCL and not into your file. This program is multibuffered (8 input buffers in a ring, 2 output buffers thru FCS), and catches most every thing sent to it. Note that the priority is important, depending on system load. [335,50] REMOTE is a program derived from DUPLEX, and creates a link from a terminal to another port, say a modem. This is almost a complete rewrite, and handles input through the typeahead buffer (the TT: handler is more efficient than the AST mechanism), allows "smart" terminals like VT100's with smooth scroll to stop the host, not the local computer (ie uses READ-PASS-ALLs, ^C is passed as ^C, ^S like ^S, etc), uses the new V4.1 feature of dial out (can dial out on /REMOTE lines), sets the baud rate (for smart modems), and autodials using HAYES modem protocal. A useful program, if I say so myself. Known problem I hope to find an answer to at this symposium: When transmitting a file with REMOTE, the some of the echo (for long lines) is trashed. Filling the typeahead buffer? Wierd interaction between GET$ and QIO$? If anyone fixes this, I'd like the solution. $TYP MD0:[344,377]AAAREADME.1ST PROGRAMS WRITTEN BY DAVID STRAIT APPLIED DYNAMICS INTERNATIONAL 3800 STONE SCHOOL ROAD ANN ARBOR, MICHIGAN 48104 AFTER.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD AFTER.TSK AND AFTER.TXT. AFTER IS A PROGRAM TO DO MULTIPLE MCR COMMANDS ON ONE LINE AND WAIT FOR TASK COMPLETION. MORE IN AFTER.TXT CED.ULB IS A UNIVERSAL LIBRARY WITH THE SOURCES FOR CED.TSK (A COMMAND LINE EDITING CLI) FOR FULL DESCRIPTION EXTRACT MODULE "TXT" FROM LIBRARY >LBR CED.TXT=CEC.ULB/EX:TXT TO BUILD: >@DEV:[UIC]CED.ULB/LB:BUILD CPY.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD CPY.TSK AND CPY.TXT. CPY IS A SMALL ( < 3K ) FILE COPY TASK. ( USES DJS.OLB ) DJS.ULB IS A UNIVERSAL LIBRARY WITH THE SOURCES FOR DJS.OLB TO BUILD DJS.OLB >@DEV:[UIC]DJS.ULB/LB:BUILD DLY.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD DLY.TSK PROGRAM TO DELAY THEN SPAWN A COMMAND TO MCR DTR14.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD DTR14.TSK A PROGRAM RUNNING PR:5 TO SET THE DTR BIT ON A DZ11 LINE (USEFULL FOR CALL OUT APPLICATIONS) EPRINT.ULB IS A UNIVERSAL LIBRARY WITH THE SOURCES FOR EPRINT.TSK AND MAKFIL.TSK SYSTEM ERROR PRINT UTILITY EPRINT USES LB:[1,2]SYSERR.MSG, LB:[1,2]EPRINT.MSG OR USER SUPPLIED MESSAGE FILE MAKFIL.TSK WILL MAKE EPRINT MESSAGE FILE AND/OR ADD ENTRIES TO IT TO BUILD: >@EPRINT.ULB/LB:BUILD TO EXTRACT TEXT FILE >LBR EPRINT.TXT=EPRINT.ULB/EX:TXT FILFIX.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD FILFIX.TSK FILFIX READS IN INPUT FILE WITH IMBEDDED CARRIAGE CONTROL AND OUTPUTS A FILE WITH IMPLIED CARRIAGE CONTROL. ( RNO .DOC FILES, PIP LIST FILES ,ETC:) COMMAND LINE: FILFIX> OUTNAM = INNAME GETLIB.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD GETLIB.TSK GETLIB READS A SRD LIST FILE "GETLIB.IN" AND OUTPUT A LIST OF TASKS LINKED TO A RESIDENT COMMON INTO "GETLIB.OUT". GETLIB CAN BE USED WHEN UPDATING FCSRES. GETPRV.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD GETPRV.TSK GETPRV READS A SRD LIST FILE "GETPRV.IN" AND OUTPUT A LIST OF TASKS NOT BUILT STARTING AT LOCATION 0 INTO "GETPRV.OUT". GETPRV CAN BE USED WHEN UPDATING A SYSTEM TO FIND PRIVILEGED TASKS. GETTSK.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD TASK TO DESPLAY .TSK FILE INFORMATION. COMMAND SYNTAX IS IN FILE. SLIB.ALL COMMAND FILE WITH SOURCES EMBEDDED IN IT TO BUILD SLIB. A TASK TO FIND THE MODULE NAME WITHIN AN OBJECT LIBRARY GIVEN THE ENTRY POINT NAME COMMAND SYNTAX IS IN FILE. $TYP MD0:[350,31]README.1ST Contributions from: Edward J. Cetron Center for Biomedical Design 3168 MEB, University of Utah Salt Lake City, Utah 84112 I have submitted on this tape several utilities and patches that we have found quite useful here at CBD. Except for the .SLP patches to DEC sources, they should all run on RSX11M 4.0 and up as well as Mplus 2.0 and up. Some of the macro routines ( not the CLI's) will (and have) run on 11M 3.2 quite well. I wish I could have spent more time documenting the contents, but with a tape drive on the fritz, I barely had time to create this tape (indeed, I leave for Cincinnati in about 26 hours....) A quick disclaimer and then a quick synopsis of the contents of this uic. ALL SOFTWARE IS FURNISHED 'AS-IS' AND NEITHER I, THE CENTER FOR BIOMEDICAL DESIGN, NOR THE UNIVERSITY OF UTAH WARRANT, GUARANTEE OR SUPPORT THIS SOFTWARE. WE ARE NOT RESPONSIBLE FOR ANY PROGRAMS WHICH DO NOT WORK, CRASH YOUR SYSTEM OR IN ANY OTHER WAY CAUSE ANY INCONVIENCE TO THEIR USERS. However, I am more than happy to receive letters or comments and especially bug discoveries and their corrections. If you are having problems, I will help to whatever extent my current job allows. I can't promise anything except to try. If people send corrections and added features to me, I will try to maintain a full set of sources which are the 'newest, bestest, and greatest'. Contents: Daofwk.* Originally written by Jeff Hamilton. Will return the day of the week in for the indirect command processor (...at.). Duplex.* Source and command files for Duplex. This version has been completely revised since Martin Heller's original copy appeared. I have added large ring buffers, taken the disk access routines out of the ast level and added support for Hayes compatible smart modems... The code has been modified so many times that it needs a major rewrite to neaten the code -- a task I have yet to find the time for. If there are any volunteers, please let me know, I can probably find some time. And will most likely get around to it within the year if no-one else does. Even with data capture enabled and no error checking, Duplex 5.0ejc will run at 4800 baud with less than 2% received character errors. Article.txt Newsletter article to be submitted to the MULTI-TASKER. Frg.* Disk Fragmentation Utility - similar to HOL only it shows a histogram of contiguous blocks on the disk. Priv.* Set terminal privileged with password protection. WHO.* Shows logged on users and current tasks.... RTCLI.* An alternate CLI for V4.n, V2.n RTCLI allows a non-privileged user to run privileged code or code at a very high priority for real-time or other time-critical applications. User is restricted to RUN [GGG,MMM]??????.TSK, ABO, WHO, RMD or MCR/DCL to exit to the appropriate 'normal' CLI. Excellent framework for creating you own CLI's. LGOCLI.* An alternate CLI for V4.n, V2.n LGOCLI allows users to type WHO, RMD, HELP and HELLO from logged out terminals without having to log-in. More sophisticated version (which simply means un-debugged and regularly crashes my system) will also allow BRO and ABO with password protection. Very handy for one pool is almost gone and someone hangs the system to where you can't even logon.... Hplib.* Plotter library(s) for an HP7220C 8-pen plotter. Testhp.* Program which excercise the library and allows direct control of the plotter from a terminal. *.slp (except tdx.slp) rmdsiz.* *mac.cmd Files to allow RMD M page to offer the option of setting the memory size.... the suggestion in the MULTI-TASKER several months ago of changing $SYSIZ is VERY DANGEROUS!!!! This works just as well and WILL NOT corrupt the exec. It also offers support for 132 col. M page display on VT102, VT105, and VT125 type terminals. We have 4Mb, and a normal RMD is absolutely worthless. Use SLP to patch [14,10].mac files patches are the same for V4.0, V4.1, V2.0, and V2.1 EXCEPT for termid....but those changes should be obvious. These patches will are compatible with the article in the MULTI- TASKER about enabling the I/O page in 11M. TDX.slp Apply to distribution 4.1/2.1 TDX.MAC for added interface to EXEcute.cmd, HEY, CVT and other commands. EXEcute.cmd An indirect command file that will take F77 source code and produce, using F77 and TKB, the task image. Default mode asks which of many options are required. Compressed mode allows option specification in the command line. >EXE ? command produces syntax help message screen. Graphit.* F77 source program for a simple HP7220C graphing task. There is no documentation available, but the source is somewhat commented. input file format is: Main Title X-axis Title Y-axis Title Xmin_value, Xmax_value,Increment_Long_ticks,Increment_Short_ticks Ymin_value, Ymax_value,Increment_Long_ticks,Increment_Short_ticks Xform1, Xform2, Yform1, Yform2 (if X-labels are to be F4.3, Xform1 = 4, Xform2 = 3) 0.0 x(1) y(1) x(1) y(1) x(2) y(2) x(2) y(2) x(1) y(1) x(2) y(2) . . . . x(n) y(n) -9999. -9999. (end of curve) x(1) y(1) . . x(n) y(n) -9999. -9999. (end of curve) -9999. -9999. (end of plot) I hope some of these utilities can be of some use Good Luck Ed Cetron $TYP MD0:[351,140]README.BUG **** BUG VERSION 2.0 **** 1. MODULES REQUIRED: - BUG.MAC - MACROS.MAC - BUG.CMD - BUG.TKB 2. TO BUILD BUG: MCR>@BUG 3. BUG REQUIRES A VT52, VT100, OR SIMILAR TERMINAL FOR THE FULL SCREEN ADDRESSING. 4. PLEASE ADDRESS ALL BUGS AND/OR FIXES/ENHANCEMENTS TO: DANIEL T. SEDLACEK INFORMATICS GENERAL CORP. 1508 KENNEDY DRIVE, SUITE 8 BELLEVUE, NE 68005 5. USAGE: MCR>BUG BUG>TSKNAM 6. NOTES: - SYMBOL TABLES ARE SUPPORTED. HINT -- USE .GLOBL FOR SYMBOLS YOU WANT TO SEE, OR EDIT IN THE APPROPRIATE "::" TO MAKE THE SYMBOLS SHOW UP IN THE SYMBOL TABLE. - IF A SYMBOL TABLE IS USED, BUG WILL ASK FOR ADDITIONAL SYMBOL TABLES. CARRIAGE RETURN OR ENTER THE NAME OF ANOTHER SYMBOL TABLE. - DISASSEMBLY MODE IS ENTERED FIRST. AN ESCAPE CHARACTER WILL TOGGLE BETWEEN DISASSEMBLY MODE AND DUMP MODE. - BASICALLY, ALL COMMANDS CAN BE ENTERED ON EITHER SCREEN. THE COMMANDS ARE PRESENTED ON A HELP SCREEN (THAT IS ENTERED FROM THE DISASSEMBLY SCREEN ON ANY INVALID COMMAND). EXAMPLES ARE GIVEN INSTEAD OF A LENGTHY TEXTUAL DESCRIPTION (ANYONE WANT TO VOLUNTEER TO MAKE UP A USER'S MANUAL?). THE "RX" REGISTER IS THE OFFSET REGISTER, AND CAN BE SET LIKE ANY OTHER "REAL" REGISTERS. COMMANDS ARE ENTERED AS: XX=YYYYYY,ZZ..ZZ (EXAMPLE: R0=12345) WHERE XX IS THE COMMAND YYYYYY IS AN OCTAL VALUE OR ADDRESS ZZ..ZZ IS A VALUE FIELD (NOT ALWAYS USED) - READ THE HELP SCREEN IN DETAIL; ITS TERSE, BUT FAIRLY COMPLETE. - **** VERSION 1.3 USERS, PLEASE NOTE... **** YOU NO LONGER NEED THE "C" PRECEEDING A COMMAND IN DISASSEMBLY MODE; JUST ENTER THE COMMAND. BUG NOW GETS RID OF ITS "BUGTSK". NEW PROCEEDURE FOLLOWS FOR RUNNING A TASK FROM DIFFERENT TERMINAL. - IF YOU WANT TO DEBUG FROM A TERMINAL OTHER THAN THE TERMINAL THE TASK IS RUNNING FROM, DO THE FOLLOWING: O BEGIN THE DEBUG SESSION AS NORMAL O PIP BUGTSK.TSK/NV=BUGTSK.TSK (DO THIS FROM ANOTHER TERMINAL TO SAVE BUG'S WORKFILE. NORMALLY IT IS DESTROYED.) O "QUIT" THE DEBUG SESSION O INS BUGTSK/TASK=XXXXXX (XXXXXX IS THE NAME ENTERED DURING THE DEBUG SESSION.) O RUN XXXXXX (THE RUN MAY OPTIONALLY BE INITIATED BY ANOTHER TASK, VIA A "SEND DATA", ETC.) O BUG WILL THEN BE AUTOMATICALLY "FIRED UP" ON THE TERMINAL THAT YOU PERFORMED THE INITIAL DEBUG SESSION PROCESSING. O THE DEBUG SESSION CAN NOW CONTINUE, WITH THE TASK RUNNING FROM ONE TERMINAL, AND BUG RUNNING ON ANOTHER TERMINAL. O YOU WILL GET AN "INS" ERROR REPORTED IN THIS MODE, AND BUG WILL BE UNABLE TO TELL WHEN THE TASK HAS EXITED. BUT OTHERWISE EVERYTHING WILL WORK AS NORMAL. O DELETE "BUGTSK.TSK" AFTER THE DEBUG SESSION. 7. BUG IS BUILT AS A MULTIUSER TASK. USERS HAVE TO BE PRIVILEGED ONLY BECAUSE IT INSTALLS THE TASK BEING "BUG"ED. BUG ITSELF IS A NON-PRIVILEGED TASK. 8. SOME INSIGHT -- WHAT ACTUALLY DOES BUG DO? IT MAKES A COPY OF THE SPECIFIED TASK FILE, AND "IMPLANTS" SOME INTERFACE CODE IN THE TASK'S STACK (SAFELY AWAY FROM LOWER AND UPPER LIMITS). FOR THIS REASON THE TASK HAS TO HAVE AT LEAST THE DEFAULT STACK SIZE. THE STARTING ADDRESS OF THE TASK IS SUITABLY CHANGED AS IF IT WERE BUILT WITH A DEBUGGER. THEN THE TASK BEING "BUG'ED "TALKS" TO ...BUG DURING THE DEBUGGING SESSION. REGISTER INFO, ETC. IS PASSED BETWEEN THE TWO TASKS DURING THE DEBUGGING SESSION. NOTE -- NO SPECIAL PREPARATION IS NECESSARY FOR THE TASK BEING DEBUGGED (YOU CAN "BUG" EDT IF YOU WANT). THE ORIGINAL TASK FILE IS LEFT UNTOUCHED. SEVERAL USERS CAN USE BUG AT THE SAME TIME, AND THE INTER-TASK COMMUNICATIONS IS SENT TO THE ...BUG WITH THE APPROPRIATE "TI" (BUG IS BUILT MULTIUSER). $TYP MD0:[351,144]README.1ST This UIC contains (at least) the source and documentation for an RSX-11 terminal emulator called (originally enough) TEM. TEM can be initiated from any TT:, HT:, or VT: device, and will drive any device on the TT:, HT:, or NL: driver. It does not provide anything really fancy (like help, or escape se- quence translation), but it does provide the following features and options: * Logging of remote input. * Transmission of ASCII files to the remote system. * Control character display (line monitor capability). * Local echo. * Local and remote line conditioning (via Get and Set Mul- tiple Characteristics). * Remote-line-specific startup and shutdown command files. Unlike the P/OS emulator, TEM has a simple, user-friendly com- mand driven interface. Non-wizards have been trained in a few minutes. TEM requires the full-duplex TT: driver, with "Set Multi- ple Characteristics" and "Attach for Unsolicited Input". It was written under RSX-11M+ V2.0, and so far has not been run under any other system. It should run under RSX-11M V4.0, though the smaller typeahead buffer may affect performance. It could probably be "downgraded" to previous releases by removing functions such as >SET /NOABAUD that hadn't been invented yet. TEM has been used successfully in the following applications: * Downloading channel setups to a terminal switch. * ASCII communication with RSX, VMS, and TOPS-20 systems. * Submitting pre-prepared SPRs to the Digital Software In- formation Network. * Debugging FMS. * Miscellaneous non-emulation duties, such as uppercasing files, translating carriage control, etc. TEM comes with the usual guarantee for public-domain software (ie - none). PAGE 2 Installation Guide and Release Notes To rebuild TEM, set your default UIC to the distribution UIC. Ensure that MAC and TKB are installed, and that LB: is assigned to a disk that has the desired copy of [1,1]SYSLIB.OLB on it. Then, >@TEM will build it for you. Following is a list of the files associated with TEM. Note that those marked "optional" are not needed to rebuild TEM. File Need Use ---------- -------- ------------------------- README.1ST Required Overview and Installation. TEM.CMD Required Command file to rebuild TEM. TEMBLD.CMD Required Taskbuilder command file. TEM.MAC Required Source. TEM.RNO Required Documentation. TEM.TSK Optional Prebuilt task. TT7INI.TEM Optional Sample startup command file. TT7KIL.TEM Optional Sample shutdown command file. HASYINI.TEM Optional Sample setup for HAYS modem. HASYKIL.TEM Optional Sample shutdown for HAYS modem. T. R. Wyant Central Virginia LUG E. I. DuPont de Nemours & Co TFD - P.O. Box 27001 Richmond, Virginia 23261 $TYP MD0:[351,145]README.1ST This directory contains several tasks and command files that I have found useful. These come with the standard DECUS grarantee (ie - if it doesn't work or crashes your system, tough). The phrase "Will run under" means I have tried it under these operating systems, and had no problems. The phrase "Should run under" means I have not tried it, but know of no reason why it needs to be modified to work under these operating systems. A couple of bugs in the Spring '83 version have been fixed in this release - see below for details. T. R. Wyant Central Virginia LUG E. I. DuPont de Nemours & co TFD - P.O. Box 27001 Richmond, Virginia 23261 TIZ - Task Image Zapper Source Language - Fortran-77 Will run under - RSX-11M V3.2, RSX-11M+ V1.0 and V2.0 Should run under - RSX-11M, at least back to V3.0 and forward to V4.0 Function - Provide formatted dump of task image label blocks, showing name, partition, priority, creation date, LUN assign- ments, and so on. Most of the items dumped can be modified. This grew out of a task written to deal with the M+ V2.0 task builder's incorrect common area access assignment (since patched). Modified - 16-Mar-84 to correctly determine where number of LUNs is stored, and to add support for TKB IDENT keyword. CALC - Calculator and radix converter. Source Language - "@" processor. Will run under - RSX-11M+ V2.0 Should run under - RSX-11M V4.0 Function - Do integer calculations in octal or decimal, and radix conversion to or from ASCII (word), RAD-50, or any radix from 2 thru 16. User can create numeric symbols on the fly to store results for later use. Note that the calculations string is interpreted in "@" fashion (left to right), rather than in algebraic fashion (* and / before + and -). Also, trapping errors in the calculation string requires servicing Type 2 errors with an ONERR directive, ignoring the manual's contention that you can't continue after a Type 2 error. Wierd things may happen in this case, though it has worked okay, so far. BRU - BRU command line builder. Source Language - "@" processor. Will run under - RSX-11M V3.2, RSX-11M+ V1.0 and V2.0 Should run under - RSX-11M V4.0 Function - Construct the required mount commands and BRU command line to do most of our BRU runs. Can be invoked interactively (@BRU), or with parameter passing (@BRU IN: OU: or @BRU OU:=IN:). Validates input and output devices, mounts all unmounted media foreign (under M+ only), and selects BRU switches depending on whether the input and output media are disk or tape, and whether mounted FILES-11 or foreign. All media mounted by this command file will be dismounted when it exits. Under and RSX-11M+ V1.0 only, media should be either mounted FILES-11 or unmounted; unmounted devices should not be set public. Under the other 3 operating systems, this doesn't matter. This command file will apply the /DEN switch for MF:, MM:, MS:, and MT: out- put, using the highest density avail- able. No density is assumed for input. This should be readily modifiable to meet individual site needs. This command file will also (under M+ V2.0 and M V4.0) compute initial and maximum index file sizes for disk-to- disk transfers between different-sized disks. In all tested cases, these ap- proximate the INI defaults. Modified - 16-Mar-84 to correct initialization for multi-header index files. $TYP MD0:[351,150]AAAREADME.1ST ************************************************************************* * * * HEX - Microprocessor object file management utility * * * * Author: Kevin Angley * * Telex Computer Products * * 3301 Terminal Drive * * Raleigh, North Carolina 27604 * * (919) 834-5251 * * * * Modified by: Chris Doran * * Sira Ltd. * * Research & Development Division * * South Hill, Chislehurst, Kent BR75EH * * England * * 01-467 2636 * * Telex: 896649 * * * * Submitted by: Scott Smith * * Telex Computer Products, Inc. * * Raleigh, North Carolina 27604 * * * ************************************************************************* revision 11-480 HEX: Microprocessor File Management Utility Version: 18APR4 Author: Kevin Angley, Telex Computer Products, Raleigh, N.C. Operating System: RSX11M, VAX/VMS Compatability Mode Keywords: Microprocessor; File Management The HEX utility is designed to manipulate ASCII hex formatted files as output by cross-assemblers and linkers for microprocessors (Z80, 8085, 68000, etc.). HEX supports all of the popular ASCII hex formats: Intel, Motorola, Rockwell, RCA, TekHex, Extended TekHex, Texas, Mostek, Hex-space, Octal-space, and TCI, plus several binary ones: Whitesmiths', PDP-8 RIM and BIN, and PDP-11 object and task formats. The principle component of the HEX utility is a 32K byte virtual memory area that allows the user to manipulate code in memory as if it were in the target machine. Note that the 32K byte virtual memory can be extended to cover the entire 2**32 address range via the OFFSET command. HEX will handle 16, 24, or 32-bit addresses. Operations that can be performed on a hex file in virtual memory: AND - logically AND (mask) bytes in a range. APPEND - append a range of memory to an existing hex file. COMPARE - compare specified addresses to another hex file. COMPLEMENT - perform a logical (1's) complement on a range. COPY - copy from one area to another. CRC - compute the standard cyclic redundancy check. CSUM - place a 4-byte checksum block in memory. DECREMENT - subtract a constant (default 1) from a range of memory. DISPLAY - display to the screen or to a listing file in hex or ASCII. DIVIDE - divide a range of memory by a constant. ECHO - turn on echoing of commands read from an indirect file. EDIT - examine and optionally replace values. EXIT - exit to the CLI. FILL _ fill a range with a value. FORMAT - establish the object file format. HELP - provide on-line help on HEX commands. IDENT _ display the HEX program identification. INCREMENT - add a constant (default 1) from a range of memory. INIT - resets the utility to initial conditions. MOVE - move byte or word values. MULTIPLY - multiply a range of memory by a constant. NAME - establish the object program name. NEGATE - perform the arithmetic (2's) complement. NOECHO - turn off echoing of commands read from an indirect file. OFFSET - establish offset. OR - logically inclusive OR bytes in a range with a constant. READ - read a hex file into virtual memory. REMAINDER - compute the remainder on division (modulus) of bytes in a range. REVERSE - reverse the order of bytes in a range. ROTATE - rotate bytes in shift a range of memory by n bits. SEARCH - search the specified range for a byte or word value. SHIFT - arithmetic or logically shift bytes in a range by n bits. SUM - compute a 16-bit byte-wise summation. TRANSFER - set the transfer address. USE- specify which 8-bit section of an addressable unit to use. WRITE - write a range of virtual memory to a hex file. XOR - logically exclusive OR bytes in a range with a constant. . - spawn another task without losing the HEX edit buffer To build HEX, type @BUILDHEX For a demonstration/test, HEX @HEXTEST. If you need to assemble a module, type @MAC and respond with the module name that you wish to assemble. HEX.HLP is a help file on HEX and all subcommands. HEXRNOMAN.RNO is a manual in a form suitable for input to the RSX SIG's RUNOFF version S1.4 (submitted by Charles Spalding), and HEXDSRMAN.RNO is a form suitable for input to DIGITAL Standard Runoff. See the comments at the top of each of these files for information on conditional processing. Generate the HEX Manual including the Installation Notes for information on tailoring HEX to suit your site's needs. ************************************************************************* $TYP MD0:[351,160]README.1ST This account contains the following sets of programs. Mailing List Set ---------------- Four programs that allow a person to enter names and addresses along with certain other information into one big data file. The names and addresses can then be easily modified using the arrow keys on a VT-100 compatible terminal to get to the code needing changing. The names and addresses may be printed on paper having stick on labels in order either alphabetically or numerically by zip code. (See LIST.DOC) Time Clock System ----------------- A set of programs that allows an employee to check in and out from work each day. Also allows him to put himself on any one of several types of leave beginning immediately or at some future time. A secretary can easily scan the records and make changes by using the arrow keys on a VT-100 compatible terminal to get to the characters needing changing. (See ATE.DOC) FON --- A program to allow a person to enter or change a person's name, phone number and small amount of additional information. To get a person's phone number, all you have to do is enter the command: FON NAME. The one nice feature about this is that you can use any portion of the person's name or company that you want. (See FON.DOC) SPOOL ----- Allows you to spool printouts of data from within a program. (See SPOOL.DOC) PRI --- Allows someone to carry out several functions on an LA120 Printer by giving commands at his terminal. Examples are setting the margin, setting horizontal pitch, and advancing the page. (See PRI.DOC) CSIZE ----- A subroutine to change the horizontal pitch or margin setting for an LA120 printer from within a program. If data from the program is being spooled, this changes the margin or pitch at the proper place within the spooled data. (See CSIZE.DOC) The above three routines were submitted for publication to the Multitasker and are scheduled for publication in the May 1984 issue. Raymond Willis U. S. Forest Service Route 2 Berea, KY 40403 606 986 8431 $TYP MD0:[356,40]00README.TXT 00README.TXT (23 May 1984) COLUMBIA UNIVERSITY KERMIT DISTRIBUTION The KERMIT distribution area includes all the versions of Kermit which are in our possession. The files have names of the form NAME.TYPE where NAME is the name of file, and TYPE is its type (program source, documentation, executable core image, etc). No NAME is more than 9 characters long (the maximum accepted by VAX/VMS), and every NAME is unique in the first 6 characters (the maximum under TOPS-10, RSTS/E, etc). On TOPS-10 BACKUP Interchange tapes, names longer than 6 will be truncated to 6. No type is longer than 3 characters. NAME and TYPE are separated by a period. * Prefixed Files: The file names for files associated with each implementation of KERMIT are prefixed by a few characters denoting the implementation. The following are presently used: Prefix Machine(s) Operating System Language 170 Cyber 170 NOS Fortran-77 20 DECSYSTEM-20 TOPS-20 MACRO-20 AOS Data General AOS Ratfor CMS IBM 370 Series VM/CMS IBM Assembler K10 DECsystem-10 TOPS-10 MACRO-10 K11 PDP-11 RSX-11, RSTS/E MACRO-11 MP PDP-11 MUMPS (M/11) MUMPS MTS IBM 370 Series MTS Assember, Pascal MU Honewyell MULTICS PL/I PRI PRIME PRIMOS PL/P (PL/I) RT PDP-11 RT-11 OMSI Pascal ST HP3000, Univac, etc Software Tools Ratfor UN Univac-1100 EXEC Assembler UX VAX, SUN, PDP-11, etc UNIX C VF VAX VMS Pascal and Fortran VMS VAX VMS Bliss-32 VX VAX VMS C 800 Luxor ABC-800 ABCDOS BASIC-II 86 Rainbow-100, NEC APC CP/M-86 ASM86 APC NEC APC binaries CP/M-86 ASM86 APP Apple II 6502 Apple DOS DEC-10 CROSS ATA Atari Home Computer DOS Action! CPM 8080, 8085, or Z80 CP/M-80 ASM HP1 HP-150 MS DOS HP-150 HP9 HP-98xx UCSD p-System HP Pascal MDS Intel Development System ISIS PL/M RBK Rainbow binaries CP/M-86 ASM86 RBL "LCTERM" for Rainbow MS DOS C PC IBM PC or Zenith Z100 PC DOS, MS DOS MASM SEE Seequa Chameleon MS DOS, CP/M-86 MASM TA2 Tandy 2000 MS DOS MASM UCT Terak 8510a UCSD p-System II.0 Pascal, Macro-11 UCI IBM PC UCSD p-System IV.x Pascal VIC Sirius 1/Victor 9000 MS DOS, CP/M-86 MASM, ASM86 (The VAX/VMS Bliss version is also provided in MACRO-32 (.MAR) source form for those sites that do not have a Bliss compiler. YOU DON'T NEED TO HAVE BLISS IN ORDER TO RUN THIS VERSION.) (The VAX/VMS C version is based on an old version of UNIX Kermit; the VMS support has yet to be merged with the current UNIX Kermit.) (The Victor versions are based on an old version of IBM PC Kermit; the Victor support has yet to be merged with the current IBM PC (MS/PC DOS) and DEC Rainbow (CP/M-86) versions. Similarly for the Seequa, Tandy 2000, and HP-150 MS DOS versions.) In some cases, binaries (.REL, .EXE, .COM, etc) are not supplied. For instance, no binaries come with the UNIX sources, since these can be compiled to run on many different machines, under different versions of UNIX. No binaries come with the VAX/VMS source, since the VMS file attributes cannot be saved on the DEC-20. Binaries are provided when it makes sense, however: DEC-10 and DEC-20 .EXE files are provided on DEC-10 and -20 distribution tapes, MODULE files for CMS KERMIT on the IBM VM/CMS tape. In any event, all necessary files for building each version of Kermit from program source (assuming you have the appropriate compilers) are included on all tapes. When working with one of these implementations, you would normally copy them to a separate area and strip the prefix from the file names, and install the programs on the appropriate systems without the prefix. For instance, on the DEC-20 you would copy 20KERMIT.MAC to KERMIT.MAC, then assemble it, and store the result as KERMIT.EXE in SYS:. The VAX/VMS and TOPS-10 versions are exceptions; in these cases REPLACE the "VMS" or "K10" prefixes with "KER". The following HEX files for specific CP/M-80 implementations are included: CPMBASE.M80 The current, working source file for CP/M KERMIT. CPMKERMIT.DOC User documentation (chapter from the manual). CPMAPPLE.HEX Apple II with Z80 Softcard & DC Hayes Micromodem CPMBRAIN.HEX Intertec SuperBrain CPMDMII.HEX DECmate II with CP/M CPMGENERI.HEX "Generic" CP/M Kermit. CPMHEATH.HEX Heath/Zenith 89 CPMKAYPRO.HEX Kaypro-II CPMMDI.HEX Morrow Decision I CPMMIKKO.HEX Nokia MikroMikko CPMOSBORN.HEX Osborne 1 CPMOSI.HEX Ohio Scientific CPMPLUS.HEX For any system running CP/M-Plus (3.0) CPMROBIN.HEX DEC VT180 "Robin" CPMTELCON.HEX Telcon Zorba CPMTRLB.HEX TRS-80 II with Lifeboat CP/M 2.25 CPMTRPT.HEX TRS-80 II with Pickles & Trout CP/M CPMVECTOR.HEX Vector Graphics CPMZ100.HEX Heath/Zenith Z100 with CP/M-85 "Generic Kermit" can be used on CP/M-80 micros not specifically supported, if the CP/M IOBYTE facility is implemented, and the fields of the IOBYTE point to the right devices. The CP/M-Plus version can run "generically" on any CP/M 3.0 system. See the User Guide and CPMGENERI.DOC for details. The Kermit User Guide contains instructions for installing or bootstrapping the various versions of Kermit. * Manuals: There are two Kermit manuals: USER and PROTO, a user's guide and a protocol manual, respectively. Four versions of each files are provided: .MSS Scribe (UNILOGIC Ltd text formatter) source. .LPT Line Printer format (overstriking, underscore, etc). .DOC No special effects, suitable for reading on line. .FOR Like .LPT, but with Fortran-style carriage control. If you have Scribe and the appropriate Scribe device drivers, you can run the .MSS files through it to produce output suitable for printing on any device supported at your site, including the Xerox-9700, Imagen Imprint-10, or other multifont laser printers or photocomposers. As of this writing, Scribe is not entirely bug-free; you may notice some problems with the footnotes in the .DOC and .LPT files. Note that some parts of the user manual rely on underlining to clarify examples; the underlines are missing from the .DOC files, but will be found in the .LPT and .FOR files. The user's guide is intended for users of Kermit (including those who want to install it), the protocol manual is for those who would like to write a new implementation (i.e. a Kermit program for a new machine or operating system). IMPORTANT: The Users Guide is always out of date. New implementations of KERMIT, and new versions of old ones, arrive in a steady stream. It's impossible to keep the manual totally current. The general description of KERMIT operation remains valid, but detailed descriptions of the various versions are better obtained from the accompanying help (.HLP), documentation (.DOC), memo (.MEM), or manual (.MAN) files. Look to these files for information missing from the user manual. ASCII.MSS is the ASCII/EBCDIC character table, which is included as an appendix in both manuals. MANUAL.HYP is a hyphenation dictionary for building the manual with Scribe. * Other Files: 00README.TXT is this file, which should appear at the top of any alphabetical directory listing, and is the first file on the tape. FLYER.DOC is a short KERMIT "brochure", explaining the distribution policy. MAIL.* is the archive of the CCNET/BITNET/ARPANET KERMIT discussion group. MAIL.TXT is the current, active mail file. MAIL.yyx (e.g. MAIL.83A) files contain older messages. The files MAC80.*, M80UNV, etc, are an 8080/8085/Z80 cross assembler that runs on the DEC-10 or DEC-20; MAC80.DOC is a brief description. TORTUR.M80 is an 8080 instruction set "torture test" for MAC80, which illustrates its features. ZORTUR.M80 is a Z80 instruction set torture test. MAC80 is used to assemble CP/M KERMIT, and is mostly compatible with the standard CP/M 8080 assembler. HEXIFY.* is a program for converting a CP/M .COM file resident on the DEC-10 or DEC-20 to a CP/M .HEX file. This is handy when binary file transfers are failing to work for some reason. The .HEX file can be LOADed on the CP/M system in the normal way to reconstruct the original .COM file. HEXCOM.* is the inverse of HEXIFY, and provides .HEX-to-.COM file conversion. The files CROSS.* are a general purpose cross assembler that runs on the DEC-10 and -20; CROSS.DOC is the manual. CROSS is used to assemble Apple DOS KERMIT. WRITEL is a program to write ANSI labeled ASCII tapes on the DEC-20. TTLINK is a terminal linking program for the DEC-20, allowing you to log in to another system over a TTY line (e.g. using an autodialer). KERMIT-20 runs TTLINK to execute the CONNECT command. EZFIX is a utility for converting EasyWriter files sent to the DEC-20 from the IBM PC into ordinary text form. STRIP is a program for stripping away the 8th bit. KERMIT.WHO is a list of all the sites Columbia has sent KERMIT tapes to. CURRENT.DOC is a list of the current versions of KERMIT in reverse chronological order, to help you see what has changed since the last time you looked. VERSIONS.DOC is a list of all known versions of KERMIT, even those that aren't being distributed yet, showing their status, who's working on them, etc. * Finally... If you make any modifications to Kermit, fix any bugs, or write any new implementations or documentation, please send them back to us on magnetic tape so we can distribute them to other Kermit users: KERMIT Distribution Columbia University Center for Computing Activities 612 West 115th Street 7th Floor New York NY 10025 or via network mail notify CC.FDC@COLUMBIA-20.ARPA SY.FDC@CU20B.BITNET (or .CCNET) We'll return your tape to you with the latest Kermit distribution (if you send a full-size reel). [End of 00README.TXT] $TYP MD0:[370,60]README.DOC This program was written by Wayne Dernoncourt of the Naval Ordnance Station, Indian Head to help explain what computers are and what they can do. This program was used with a short program in BASIC that did some multiplications and some demonstrations in DATATRIEVE with the HOT-100 record list from Billboard magazine. When run, this program inquires as to the teachers name and then asks for a which picture the kids want to see with a choice being 1 through 5, the names in the list are indicative of the contents of the picture, but are not the real title. If anything else is chosen you get a rude message and another attempt. NOTE This question does not need or use a carriage return. And then the program prints out the selected picture. As you can tell from the source file, it is fairly straight-forward to change the pictures, including the number of pictures which can be printed. $! SECOND BACKUP SET R84A2 $TYP MD1:[200,1]README.1ST [200,*] Files The [200,*] directories are allocated for P/OS RX50 images. Task images have been "hexified" to ensure they are movable by any Kermit. The hexify and dehexify programs must be downloaded to a Pro, and can then be used to convert to task image form again. Note that where the tasks start in DDT, use the control-[ key on a Pro to generate an Escape. esc G will start the programs. All these areas assume that the .HEX files are reconverted into .TSK or .OLB files or whatever using the DEHEX program before attempts to put them onto RX50. It is a good idea to make sure .TSK files are contiguous on RX50. [374,*] has PRO 350 DECUS C. README files there note where the original diskettes are. All files are present. [356,40] on the 1st backup set has all Kermits including PRO 350 Kermit. The VAX hexifier and the PRO hexifier are compatible. [200,2] - SRD, TECO, MCR from R. Kirkman. MCR emulator is for P/OS V1 but instructions for updating it are included. TECO V36 and SRD should work OK on all versions, though SRD wildcards DON'T include directories and his SRD is NOT the same as the working group's flavor. [200,3] - DEHEX, PRO Kermit. Kermit for DEC PRO in hex format, plus utils to change .hex files back into .tsk files. (Isolated from Kermit area for convenience.) [200,4] - FIXIT - utility in DECUS library that converts (mostly) files in micro dialects of BASIC (e.g. microsoft) into DEC Basic. [200,5] - BASIC, PASCAL, PortaCalc. Michael Reese BASIC, Swedish PASCAL (and the runtime library), and PortaCalc (AnalytiCalc) all built for the Pro. Get your free utilities here, folks! NOTE: This area needs more than 1 RX50 for everything to fit; 2 will do nicely. [200,6] - DDT debugger for the PRO. Since it is useless without the tool kit, complete sources are provided. Use the DDTBLD.CMD file to generate DDT. It will also give you an I/O PAGE COMMON which allows nonprivileged tasks to map to the I/O page and get anywhere in the machine. This DDT version will provide the common when "2 task" DDT is built and memory mapping is not disabled. $TYP MD1:[200,4]READFI.DOC FIXIT.BAS This program is a single source module, written in VAX-11 BASIC. Depending on the version of VMS you are running, the .EXE may or may not work. The .EXE was linked against the shared RTL images on a system running VMS V3.4. The tape submitted to the DECUS library contains: ABSTRACT.DOC the abstract submitted with the tape FIXIT.BAS the source code FIXIT.OBJ linkable object code FIXIT.LIS the listing file from a compilation FIXIT.EXE a linked executable image READFIRST.DOC this file The executable image was constructed using the following DCL commands: $BASIC/LIST FIXIT $LINK FIXIT NOTE: the program should work on PDP-11 systems under BASIC-PLUS-2 V2.x when running RSTS/E or RSX-11M/M-PLUS. You will need to change the default file(s) from TT: to TI: in order to run under RSX-11M systems. You will need to split the FUNCTION module off into a separate file from the main program, as BASIC-PLUS-2 does not permit multiple compilation modules within a single source file. As written, the program runs out of memory when converting some programs. The cure is to either overlay the program, or to jettison things like HELP text and the microBASIC translation module. The latter can be done very simply by doing the following: $ BP2 >OLD FIXIT >SET VARIANT:1 <-- this does it >COMPILE >BUILD FIXIT/SEQ >EXIT >TKB @FIXIT The source code for FIXIT contains a conditional compilation test which checks to see whether VARIANT has been set to 1 (normally it is zero). If it is one, the HELP text and the call on UBASIC are ignored during compilation. Suggestions are welcome! $TYP MD1:[307,40]README. README FIRST FILE 1 -- THIS INTRODUCTION This is the long-awaited Software Tools "Toys" tape where we bring you some of the major pieces of software that have been written since the first "basic" tape. Hopefully, this will give everyone something to do while we continue to smash out standards which will allow us to generate a new basic tape in the future. This tape contains sources for format, yacc, lex, ar, RatFor and LISP. Format is the Software Tools formatter with tab stops added by the Real Time Systems Group at Lawrence Berkeley Laboratory. This version of format will be necessary to read the documentation provided for yacc and lex. Yacc and Lex are Unix-like language development tools developed by RTSG. Ar is an improved version of the Software Tools archiver which has been taught to handle various flavors of archives including headers with character counts, headers and trailers, and headers and trailers with characters counts. It was contributed by Debbie Scherrer of Carousel Microtools. The RatFor on the tape is the "almost" standard version which narrowly escaped being blessed as our first standard language. It was contributed by Joe Sventek of the Computer Science and Mathematics (CSAM) group at LBL. All of the code on this tape should be compiled using this RatFor. The LISP system on the tape is a new development, and was contributed by Charlie Dolan and Dave Martin of Hughes Aircraft. Also included on the tape are test programs for yacc and lex. There is also an archive containing 5 support libraries which are needed by the yacc and lex code and the test programs. The following sections describe the 7 archives pertaining to format, yacc, lex, and ar. FILE 2 -- RATDEF ARCHIVE The Ratdef archive contains RTSG's standard RatFor definition file. In particular, you will need the definitions for P_, prints, printf, and fprintf in order to use the formatted print routines (see the prilb archive in the Support Library archive). FILE 3 -- FORMAT ARCHIVE The Format archive consists of a documentation archive, an include file archive, and a source code archive. This formatter is the same as the formatter distributed on the last version of the basic tape except that tab stops have been added (.ta). The documentation for Yacc and Lex have tab stops in them, so use this formatter to format the documentation. FILE 4 -- YACC ARCHIVE The yacc program translates a yacc compiler specification into an executable compiler. It actually spawns to 3 main programs; yaclr, lrgen, and rc (RatFor-compiler). Yaclr extracts the user supplied RatFor code and translates the yacc grammar specification into an lrgen grammar specification. Lrgen translates the lrgen grammar spec into LALR parse tables. The user-supplied RatFor code and the parse tables are then compiled and linked with a support library called yyplb. This produces an executable compiler. The yacc program is really just provided on this tape as an example of how to create a program which will do all of the individual tasks required to compile a yacc compiler specification. To be able to use such a program you must be capable of doing spawns and you will probably have to modifiy it to correspond to your RatFor compiler conventions. Otherwise you can use yaclr and lrgen directly. The following 3 sets of shell commands create an executable compiler (assuming your RatFor compiler is called rc): 1. % yacc src/complr library 2. % yaclr -s src/complr.r src/complr | lrgen >> src/complr.r % rc src/complr.r yyplb library 3. % yaclr -s src/complr.r src/complr > lrgram % lrgen < lrgram >> src/complr.r % rc src/complr.r yyplb library The main yacc archive consists of a yacc-tool archive, a yaclr archive, a lrgen archive,a lrglb archive, and a yyplb archive. Lrglb is a set of support routines for lrgen, i.e. lrgen needs to link with lrglb in order to compile. Yyplb is a set of 5 routines which all translated yacc programs must link with. Each of these 5 archives consist of a documentation archive, an include file archive, and a RatFor source code archive. [Editor's note: I tried building yacc and found routine "lastln" missing so I scrounged up RTSG's DEC version and stuck it in the archive.] FILE 5 -- LEX ARCHIVE The main lex archive consists of a yacc lex archive, a skeleton lex program archive, a RatFor lex archive, and a lexlb archive. Lex is written in yacc. This requires that you implement yacc before implementing lex. However, the 3rd archive in this section does include the translated lex program (i.e. the output from yaclr and lrgen) in RatFor. So if you have problems with yacc, you can just compile the RatFor lex program. You can also use the RatFor lex program to test your yacc program (i.e. compare the output from using yaclr and lrgen on the yacc lex code). The 2nd archive is a skeleton program which lex fills out when it is creating a scanner. Lex looks for the skeleton program, lexskel, in a lib directory using searchpaths. RTSG added searchpaths to the Software Tools to implement a kind of UNIX Path variable. You will need to change the string declaration for the skeleton file name from "~/.%lib/lexskel" to something like "/usr/lib/lexskel". This declaration is on line 1807 of src/lex. This is all you should need to change. [Editor's note: Again, I found some routines missing from my system which may not have been on the basic tape. They are in the "yacc.all" archive as file "missing".] FILE 6 -- SUPPORT LIBRARIES ARCHIVE The support libraries archive contains documentation, include files, and RatFor sources for 6 support libraries. These libraries are needed for yacc, lex, and the test programs. They are NOT needed for ar or format. The 6 support libraries are: bslb - portable bit string routines tbllb - portable (rtsg-version) symbol table routines evalb - portable arithmetic expression evaluation routines quelb - portable queue manipulation routines memlb - portable dynamic memory routines vmemlb - VAX-dependent version of memlb (same interface) prilb - portable formatted print routines (fprintf,printf,prints) FILE 7 -- TUTORIALS ARCHIVE This archive contains a tutorial for lex and a tutorial for yacc. Yacc and lex were developed seperately. Unfortunately, they don't fit together exactly like UNIX yacc and lex. One of the things on our "wish list" is to improve the interface between yacc and lex. Yacc expects a scanner called yylex, like UNIX. Unfortunately, Lex produces a scanner routine called lexscan. So basically you need to supply a routine called yylex which calls the lex scanner, lexscan. FILE 8 -- TEST ARCHIVE There are 2 test programs for testing yacc and lex. The yacc test program is a desk calculator tool, dc. It requires 2 support libraries evalb and tbllb. Evalb is an expression evaluation library and tbllb is the symbol table library. The generated dc compiler may be too large for your computer to handle. You can make the dc tool smaller by deleting some of the productions. The lex test program is a "ratfix" tool, i.e. a tool which converts old-style RatFor programs to the new RatFor language. It basically translates all old definitions like LETD, NEWLINE, etc. to the new RatFor constants, 'd', '@n', etc. It also changes all single-quoted strings to double-quoted, and changes all program statements to DRIVER. It deletes initr4, endr4 statements and inserts DRETURN statements. Again you can make it smaller if necessary by deleting some of the rules. Each test program archive consists of a documentation archive, an include file archive, a source archive, and a RatFor source archive. The RatFor versions will allow you to compare your lex and yacc output. FILE 9 -- AR ARCHIVE This archive comes from Debbie Scherrer of Carousel Microsystems. It is basically a fixed up version of the old archive. It handles character counts, headers, and trailers. The archive consists of a documentation archive, an include file archive, and a RatFor source archive. FILE 10 -- RATFOR ARCHIVE This is Joe Sventek's latest do-it-all something-for-everyone RatFor which incorporates all the bells and whistles the standards group insisted we can't live without. Several different preprocessor configurations can be generated, especially in the area of string processing. A second pass is now available for reordering statements according to ANSI-66 specifications for those whose FORTRAN compilers require it. Again, this is the RatFor you should use when building the other tools on this tape. FILE 11 -- LISP ARCHIVE And they said it couldn't be done! A reasonably well-endowed LISP interpreter written (almost) entirely in RatFor. Originally developed for an HP-1000 minicomputer (of all things), this LISP has been residing of late in the memory-rich VAX/VMS environment. The basic overlaying strategy from the HP has been retained, however, so porting it back down to a smaller machine shouldn't be too terrible. If you're not running on a VAX, you'll need to write equivalents for the recursion-handling routines in "rcrsv.mar". Since LISP requires quite a few primitives and library routines you may not have on your local system, we have included our entire runtime library as archive "rlib.ar" in the LISP archive. Note: Please don't become too attached to this particular dialect of LISP. When COMMON LISP becomes available, we plan to rework this one to be as compatible as possible. Have fun! Send us YOUR toys for the next tape... $TYP MD1:[356,44]README.TXT Kermit-P/OS seems to work with Kermit-32 for ASCII files, and with BINAR Y mode from VAX to P/OS as long as the binary file is a 'block' flavor o ne (R.FIX/512 bytes), with 8-bit I/O. I haven't done any tests with Ker mit-32 in "FILE_TYPE BLOCK" mode to see if task images etc. can be moved from the PRO to the VAX. Kermit-P/OS currently spawns the PRO Commu nications for terminal emulation. The file transfer sub-task, KFI, take s a Unix-ish command line from KERMIT. It is by far the easiest to use the KERMIT control task as you'll see... Usage: KFI [s|r|g|q |e][ifd[d]]b [file ...] s = send (server or non-server) r = receive (non-server) g = get (server) q = logout remote ser ver e = finish remote server f = do not strip filenames to "n ormal form" i = image mode (requires 8-bit I/O) d = debug (norm) dd = verbose debug b = baud rate (defaults to 1200) If no file is given, an appropriate file selection menu will appear. Once the transfer starts, operation should be obvious. The parent task, KERMIT, will save the settings for baud rate and ASCII/IMAGE trans fer mode in a file which it automatically creates if it is not there, in [ZZSYS]. If you want to rebuild KERMIT so it'll run as a program from DCL, you'll have to define the symbol TESTING and re-assembl e. This enables code which opens the menu and help files. The applica tion flavor depends on the ASSIGN/MENU and ASSIGN/HELP lines in the .INS file for this, as the C library doesn't yet translate APPL$DIR, so t he menu & help file opens from inside Kermit won't work. Instead, move the KERMIT.MNU and KERMIT.HLP files to your default directory and recomp ile with TESTING defined. One last caution ... if the logicals APPL$HEL P and/or APPL$MNU are defined, the "program" flavor will fail to open th e files. Just deassign the logicals. Ah ... I have also left some ( hopefully) handy tools in [.posutil]. There is documentation on them. T he most useful is SRD, which will re-order your directories, search for locked and/or zero-length files, give quick listings in sorted order & m ore. The file DCLSRD.HLP is set up to be hooked into the help stuff by editing DCL.HLP in [001002] to add SRD as a category in MORE. DOB is th e famous object module & object library disassembler. Handy for poking around in undocumented corners of the libraries & getting symbol defin ition listings without having to link a phoney program. Have fun . .. Bob $TYP MD1:[374,5]README.TXT Copy *.tsk to appl$dir: Copy *.odl to lb:[1,5] Create a directory on sy: called [ZZDECUSC] Copy all files from DECUSC2 to [ZZDECUSC] To run CC: run $cc/command="cc yourfile" run $as/command="as yourfile -d" link yourfile,lb:[1,5]c.odl/lib Libraries include: C.OLB Normal library (FCS) CR.OLB RMS library for the PRO CTEX.OLB PRO interface library CX.OLB RSX interface library PML.OLB Portable math library Good luck. $TYP MD1:[374,5]README.1ST This area is approximately identical to the first of 3 disks for DECUS C on PRO 350. See README.TXT for quick docs; one library was renamed from CR to CRPRO. The rest is all there. DECUS C for P/OS The directories [374,5] through [374,11] represent the basic DECUS C kit for P/OS. Directories are of the following origins: [374,5] Basic kit [374,6] CTEXLIB directory [374,7] Font directory [374,10] RMSPCLIB directory [374,11] ZZDECUSC directory (.H files here) These are put together as originally developed, and do NOT include the documentation. See DECUS #11-SP-18 for the DECUS C documentation and docs on the libraries. Work done by Martin Minow and Bob Denny. $TYP MD1:[374,6]README.INF The following POSRES interface modules have not been tested: DMENU DPACK MPACK NEWFIL OLDFIL while PRSCSI and RDMSG have not even been written yet. Note: The P/OS MSGBRD routine is not in POSRES; it is in the system library (SYSLIB). It was put into the POSRES interface library because the interface is identical to all other POSRES modules. *** 02-Jan-83: *** Added the P$CPRNT function, allowing C access to the P/OS callable print services. This, too, is not in POSRES. This collection of routines is becoming a "CTEX services library", including POSRES stuff, and other things available via SYSLIB. Accordingly, I have renamed the library CTEX.OLB and this directory [CTEXLIB]. Sorry to have thrown you a curve, Tim, but now is the time to do it, before too many command files have been written. Have you tested any more of the routines??? Looks like DMENU works ... Added PFSPOOL, which is a replacement fspool() for P/OS which queues the file to the P/OS print server. See info in PFSPOOL.INF. $TYP MD1:[374,6]README.PRO This directory has contents identical with disk 3 of the DECUS C distribution for DEC PRO 350 on floppy. $TYP MD1:[374,12]README.1ST This directory contains the contents of disk 2 of 3 for the P/OS DECUS C kit. $TYP MD1:[200,5]README.1ST This area contains hexified DEC PRO 350 programs. The following are supplied. They were linked under P/OS V1.7 but should work in later versions also. PAS.HEX - The "Swedish" DECUS PASCAL compiler, built for PRO 350. This file contains PAS.TSK and PASLIB.OLB and can be dehexified on a PRO again. It compiles slowly, but does work and implements essentially the full PASCAL language. BASIC.HEX Michael Reese BASIC (sources on RSX84A SIG tape in [300,21]) built for PRO 350. An excellent BASIC with many extensions. Runs on PRO 350. When I run it from the toolkit, I get a spurious error message at first, but it runs programs OK and seems to work fine. I suspect the error message occurs because it isn't installed and its GMCR$ fails. (I.e., a harmless glitch.) PROCALC.HEX PortaCalc (AnalytiCalc) for the Pro 350. This version is slightly modified from the [312,371] version in that it expects its keypad files in a directory named [DK] on the system disk. Copy the files off of [312,376] into a directory [DK] on your PRO system disk (and delete the extra KEYPADxx.PIC ones, keeping only KEYPAD.PIC (which you may want to use a renamed KEYPADAVO.PIC for)) and dehexify. This version is HIGHLY overlaid, so it is slower than a speeding bullet, but it works and has many capabilities nothing else has. It may be installed in the menu. NOTE: The spawn command (line beginning with $) works, but assumes that the command line begins with the full task name being spawned. Thus, to spawn PIP (often installed for the tool kit as ...PIP) you'll need to start the command line with ...PIP command (e.g. $...PIP /LI for a listing of the directory) rather than just spawning with $PIP /LI or the like. However, any installed task can be spawned freely. This can be VERY convenient and may even tempt you to stay in AnalytiCalc as your primary CLI. I don't see why you couldn't spawn anything you want. Note that you'll need to find a way to rename active tasks (e.g. figure out how to build the old TRN task off the SIG tapes ([312,315])) to avoid name conflicts if you do anything this weird. The change to read off [DK] rather than DK: occurs in PCHELP.FTN, CMDMUN.FOR. I also uncommented the "RSX only" code in AT.FOR. The aux keypad stuff all works VERY nicely now, including the "Gold key" logic. Meanwhile, if you've something big and hairy to do, this sheet can help. I have moved the PRO 350 modified sources onto [312,371] as *.PRO, so you can mess around at your leisure. NOTE: The file PROCALC2.HEX is a somewhat modified version which has only 10,000 cells (instead of 16,000) and is not as heavily overlain. It implements the extra PRO keys as extra command files too, so they may be defined. If you can get by with 10,000 cells, this one is a better performer. The extra keys are KYl.CMD and KZl.CMD where l is a letter in the range A thru Z. If you try them and the file isn't there, there is a printout (transiently) of the filename. Define the keys as you like. I notice that one can install CA2 as ...DCL and spawn a whole command environment under PortaCalc that way. Finding out what else (besides PIP) can be spawned is a real pain but has to be done if you want to use the feature. The PROCALC2.HEX file is a more capable version too, supporting the >string and >>string formula search commands and command line macros (using {vn cell forms to indicate strings to substitute if a __ appears anywhere on a command line), so is recommended for most uses. FINAL CAVEAT: I took the system default for MAXFIL with this version, so be careful how many auxiliary files you have it open at a time and experiment. Some features use extra files and may fail if they try and open too many at a time. DTC.HEX - This is the Desk Top Calendar program Mitch Wyle wrote and I updated. The DTC.HLP file needs to be put into [1,2] on the PRO, but this DTC version works on the PRO. Even the year display is perfect (which some VT100's mess up under RSX). This is a handy device for keeping up with your appointments. A little crude in some ways, but still usable. LISTRSX.HEX - This is a multi column lister with many additional switches. It was written years ago as a paper saver and still does a lot of useful tricks. It can reformat practically ANY ASCII file into up to 18 columns, detab programs, list a page at a time, etc., etc. See LISTRSX.RNO for a (somewhat old) document. BIGTPC.HEX - This is just BIGTPC (or TPC). The tape functions are not very useful on pro, but it is built /PR:0 to allow it to copy disk to disk or diskette to diskette. Size defaults to 800 blocks (RX50 size). The error ignoring ability of BIGTPC allows it to recover damaged floppy data. Full or partial copies may be made. Use the /HE switch to get online docs. I recommend the block factor 1 be used for diskette copy (in case of error, block #s won't get out of order). This may be handy for getting VMS kits onto microvaxes too. Glenn Everhart P.S. The hexify and dehexify programs are in the Kermit area, [356,40]. $TYP MD1:[350,50]README.1ST The Bankers Trust submissions for RSX-11m+ and P/OS are organized as follows: For RSX-11M+ (I and D space machines only): [350,50] OPA.MAC for M+ V2.0/2.1, Online Pool Analyzer upgraded pool analyzer with some new structures - Kitty Bethe [350,51] TTMAC.COR - correction file to change TTDRV character buffer size .COR files for I/D space F11ACP adapted from Frank Penner (G.D.Searle) and RMDEMO (so task page still works) MODES.MAC - CPU processor modes display for RSX-11M+, (shows Kernal,Supervisor,User, and Fork queue)- Pete Devita UCB.MAC - (bugs fixed from previous tape) - displays device UCBs plus the UCB extension if a TT: device For RSX-11M+ (I and D space not required): [350,52] HERTZ.MAC - MCR command to change system clock to 50 or 60 Hertz online. OPA.MAC for M+ V2.0/2.1 without I/D space, not as up to date as 350,50 version; has been used on an 11/24 ABORT.MAC for all RSX/PRO systems. A module which makes it easy to put an abort AST into a Fortran program without violating the rules on no Fortran I/O when in AST state. PTY.MAC simple command to turn even parity on or off for a TT: line [350,56] System Accounting: for M-Plus: command files to make starting and stopping easier, and to simplify processing the obtained information. Includes some enhancements to the package on the Fall-83 tape, and output for the graphics package in [350,54]. B. Z. Lederman For P/OS (version 1.7 and/or 2.0) [350,53] Useful fortran utilitied for P/OS tool kit: INITDZ.FTN - spawnable INI and BAD for floppies to use with tool kit Collected useful command files, including MCR.CMD (allows MCR commands under 1.7 tool kit) and RSX command files to simplify CFT multi-file transfers. Also, files to build SRD and RNO for the PRO. [350,54] Graphics on the PRO, including some demo programs, some programs to graph data from System Accounting, and a command file to make compilation of programs automatic. B. Z. Lederman For all operating systems: [350,55] CIPHER, an easy to implement but very difficult to break text encryption program, with documentation on how it's done and why. B. Z. Lederman. Further information on assembling and taskbuilding the above is in [350,50]STANDARDS.DOC $TYP MD1:[350,53]README.1ST This UIC contains a Fortran program which will BAD and INI floppy disks for the PRO: it can be spawned, so you can initialize your disks in "background". PROXFR.CMD and XFRPRO.CMD are for transferring multiple files to/from the PRO with CFT (which does not accept multiple file specifications). MCR.CMD lets you get at all available MCR commands while in PRO DCL. DTR.CMD and LBR.CMD are easier ways to get to those utilities on the PRO without going through the menu, etc. RNOBLD.CMD and RNO.ODL lets you build the working group RUNOFF (see elsewhere on this tape) for the PRO. Likewise SRDBLD.CMD will build a non-overlayed version of the working group SRD for the PRO. $TYP MD1:[350,54]README.1ST This UIC contains programs which use the Core Graphics Library on the PRO system. The programs are distributed in source only, because if they are task built for P/OS 2.0 they won't run on P/OS 1.7 The programs are fairly well documented internally, and may help as examples of how to do things in core graphics. GRAPHIC.CMD is a command file to compile (Fortran-77) and task-build (using GRAPHBLD.CMD) a program linked to all of the necessary PRO, RMS and Graphics libraries, with the necessary symbols defined. It assumes you are not using menus or help. It will compile all of the examples given. PALAT.FTN runs through the range of colors available on a color monitor 6 at a time against a white and black background, with the color map indicies below each color (the R,G,B values needed to set that color in the CGL calls). Useful for selecting a color palatte. EPI.FTN draws epicycloids and hypocycloids on the screen. Won't solve any of the world's problems, but it looks nice. Input the radius of the large circle, then the small circle as real numbers (with a decimal point): Try numbers between 50.0 and 180.0 for best results. DEVICE.FTN and TASK.FTN draw graphs of system performance data obtained from RSX-11M-Plus system accounting. See [350,56] for the command files which produce the data from System Accounting. $TYP MD1:[350,55]README.1ST This UIC contains a data encryption program for text files. It is very easy to implement, but quite difficult to break. It should be useful for times when you want data stored on your system that is not to be read by anyone else. It is written in Fortran, but should be easily transported to other systems/languages. See CIPHER.RNO or CIPHER.DOC. $TYP MD1:[350,56]README.1ST This UIC contains some enhancements to the package placed on the Fall 1983 RSX SIG tape for producing System Accounting reports on M-Plus systems with Datatrieve. There are command files to make the processing easier. There has been a change in the record definition for device mounts under V2.1 which records the volume label, and I have changed slightly the procedure for producing the device activity summary to better handle volume changes during the day. The big change is the production of files containing data which can be graphed using a PRO-350 and Core Graphics Library (see [350,54]). The graphics output is very much easier to read than columns of numbers. The selection of tasks is done with a table TASK.TAB (or NAME.TAB), which you will want to modify to suit your environment. The Datatrieve structures are in the file QUERY.BKP. The command files SYSACT.CMD and PROCESS.CMD are used to process the collected data. PROCESS.CMD is the more versitile of the two. STARTACC.CMD, STOPACC.CMD, and RESTACC.CMD are to make starting and stopping data collection a little easier. The corrisponding .HLP files can be made local help files if desired. PROCESS.CMD will look for a file [1,6]LASTFIL.ACC which gives the name of the file to process, or will prompt for one if it doesn't find LASTFIL.ACC; this allows the processing to go into a batch job, such as PROCESS.BAT. Lastly, the files DEVICE.SRT and TASK.SRT are used in conjunction with the Sort-11 utility to reduce the data to a form which occupies less storage space, and is faster than sorting in Datatrieve. The command files assume you are working in [1,6], as that is normally where the system accounting data is. If it is not, you may have to edit some files to change the UIC. Similarly, the PROCESS.BAT is set to run in UIC [1,7], as that is where priviledged users log in. If your priviledged account is elsewhere, you will have to edit the batch file to make it match your account: Batch jobs have to log in to a UIC which corresponds to a real account. $TYP MD1:[200,6]README.1ST DDT debug aid. This is a version of DDT which can be built for a PRO 350 (as well as for other systems). Just use @DDTBLD.CMD to prepare it and reply POS as the operating system. It can do symbolic multilanguage debugs, and (unlike the DEC F77 debugger) can debug I and D space tasks on 11/73 type machines when they are available. The normal build procedure will allow the $1UK command (where $ means ESCAPE, coded in by control-[ on the PRO) to peek into kernel instruction space. (It can also do on the fly searching or patching of the exec or anything else). This is probably the most powerful generally available debugger for the P/OS environment, not excepting the DEC product. The beginning of the DDT22.MAC source contains the documentation (and extra copies were not put here, to save room.) It should let you do MORE than almost any other debugger, with any source language you like. Note the old FDT modified version from [312,*] on RSX SIG tapes can generate symbolic references to F77 or F4P programs for use with DDT. Like the F77 debug, macro disassembly is available built in. This debugger also knows 16 and 32 bit integers, and floating point formats. Link your applications with DDTKNL/DA (i.e., DDTKNL is the debug aid) and have DDT22M.TSK running as a task named DDT22M to use the 2 task debug mode (it'l; need an $G ($ is escape, keyed as control [) to start DDT22M, then you can proceed). Then run your application linked with DDTKNL and you can debug once you use the $UM command in the debugger to point it into the target task. DDT can even debug several tasks at once. Testing has not been extensive on P/OS of this debugger, but it is well tested in M, M+, and IAS realtime flavors. The DDT code has not been altered, but the build file has, so you have here a complete kit. It also will provide you an I/O page common you can link other nonprivileged code to, permitting access anywhere needed once you learn how to manipulate the PDP11 APRs. Enjoy! Glenn Everhart