iRUG LIBRARY VOLUME # 001 LAST UPDATE: 12/31/86 OS: RMX86/286 RMX System Utility Help Files INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.001 This file. ABSTRACT.001 Further explanation of this volume. INSTALL.CSD SUBMIT file for installing this volume. HELP Utility to list help files. HELP.MAC HELP configuration file. HELP.HLP Help for HELP utility. 001.01 ATTACHDEVICE.H Give a logical name to a disk, printer, etc. 001.02 ATTACHFILE.HLP Gives a logical name to an existing file or directory. 001.03 BACKUP.HLP Saves files on a backup disk for security reasons. 001.04 COPY.HLP Read data from input file(s) and write to output file(s). 001.05 CREATEDIR.HLP Make one or more user directories. 001.06 DATE.HLP Set or display system date. 001.07 DEBUG.HLP Loads a program , transfers control to SBC 957B. 001.08 DELETE.HLP Remove (erase) a file from a disk. 001.09 DETACHDEVICE.H Remove a logical name from a disk, printer, etc. 001.10 DETACHFILE.HLP Remove a logical name for a file or directory. 001.11 DIR.HLP List names and attributes of all files in a directory. 001.12 DISKVERIFY.HLP Check/alter file structure & bad block info of a disk. 001.13 DOWNCOPY.HLP Copy a file from RMX 86 to ISIS via iSBC 957B package. 001.14 FORMAT.HLP Erases and prepares a disk to receive files. 001.15 INITSTATUS.HLP Display status of the human interface terminals. 001.16 JOBDELETE.HLP Delete an interactive job which you own. 001.17 LOCDATA.HLP Transform an object module so that it can be BOOT loaded. 001.18 LOCK.HLP Use with jobdelete to end a job at a terminal. 001.19 LOGICALNAMES.H List logical names currently available. 001.20 MEMORY.HLP Display available memory in user's pool. 001.21 PATH.HLP Lists pathname of a data file or directory. 001.22 PERMIT.HLP Set the access rights for file(s) that you own. 001.23 RENAME.HLP Change the pathname of file(s) or directories. 001.24 RESTORE.HLP Copy back files which were BACKedUP. 001.25 SUBMIT.HLP Read/run commands from a file, not the terminal. 001.26 SUPER.HLP For system managers to change their ID to 0 - superuser. 001.27 TIME.HLP Set or display the system time. 001.28 UPCOPY.HLP Copy a file from ISIS to RMX 86 via iSBC 957B package. 001.29 VERSION.HLP Display the version of a command, compiler or utility. 001.30 WHOAMI.HLP Lists current user's ID and access rights. 001.31 ZSCAN.HLP Lists ZAPs applied to an object file. ABSTRACT FOR iRUG VOLUME #001 ----------------------------- The HELP utility provides an on-line help facility for RMX Human Interface users. Each help file has ".HLP" append to the end. If the file name becomes too long the excess part of the extension ".HLP" will be truncated. Where the help information is stored is determined by the contents of the HELP.MAC file that is in the same directory as the HELP command. The file contains the names of the directories that will be used when searching for help files. The directories should be on separate lines or separated by commas. Note the trailing slashes on the directory pathnames. Suppose that the ATTACHDEVICE system utility has been copied to another file called AD. Therefore, this utility can be invoked by entering either ATTACHDEVICE or AD. Indirect help files can be created by using an at sign (@) as the first character in the help file, followed by the indirect command name. This provides an alias for the help files. In the above example, help can be displayed by: - HELP ATTACHDEVICE or - HELP AD by placing a file named AD.HLP in the same directory as ATTACHDEVICE.HLP which contains one text line: '@ATTACHDEVICE'. iRUG LIBRARY VOLUME # 002 LAST UPDATE: 04/08/87 OS: RMX86 Text File Manipulation Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.002 This file. INSTALL.CSD SUBMIT file for installing this volume. 002.01 BLOCK Interactive block letter generator. 002.02 BLOCK.HLP 002.03 LARGE.SET 002.04 SMALL.SET 002.05 CMP File comparison utility. 002.06 CMP.HLP 002.07 DUMP Convert a file into hexadecimal bytes or words. 002.08 DUMP.HLP 002.09 EXPAND Perform command on selected files. 002.10 EXPAND.HLP 002.11 GREP Search a file for a pattern. 002.12 GREP.HLP 002.13 LINES Count number of lines in a file. 002.14 LINES.HLP 002.15 LOWER Converts all upper case to lower case. 002.16 LOWER.HLP 002.17 PAGINATE Break a file into pages with headers. 002.18 PAGINATE.HLP 002.19 PRINT Expands TAB characters with n spaces. 002.20 PRINT.HLP 002.21 SKIM Examine text a screenfull at a time. 002.22 SKIM.HLP 002.23 SORT Sort the contents of a file. 002.24 SORT.HLP 002.25 TRANSLATE Convert to upper case or lower case. iRUG LIBRARY VOLUME # 002 LAST UPDATE: 04/08/87 OS: RMX86 Text File Manipulation Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 002.26 TRANSLATE.HLP 002.27 UNIQ Report repeated lines in a file. 002.28 UNIQ.HLP 002.29 UPPER Converts all lower case to upper case. 002.30 UPPER.HLP 002.31 MATCH Search file or directory for supplied pattern. 002.32 MATCH.HLP 002.33 REGEXP Regular expression find utility. 002.34 REGEXP.HLP 002.35 COMPRESS Conserves paper when printing ICU listings. 002.36 COMPRESS.HLP 002.37 CRC Computes cyclic redundancy check. 002.38 CRC.HLP 002.39 MERGE Merges two sorted ASCII text files. 002.40 MERGE.HLP 002.41 SQZ Huffman file compression utility. 002.42 SQZ.HLP 002.43 UNSQZ Restores files compressed by SQZ. 002.44 UNSQZ.HLP 002.45 XTABS Tab expansion utility. 002.46 XTABS.HLP 002.47 SPLIT Will split an ASCII text file into multiple output files. Each file will contain at most 1500 lines, 20,000 bytes. Helps SORT (002.23) large files. 002.48 SPLIT.HLP iRUG LIBRARY VOLUME # 003 LAST UPDATE: 09/26/87 OS: RMX86 Directory Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.003 This file. INSTALL.CSD SUBMIT file for installing this volume. 003.01 COPYDIR Copy a tree of files. 003.02 COPYDIR.HLP 003.03 DELETEDIR Delete a tree of files. 003.04 DELETEDIR.HLP 003.05 FIND Find a given file name in the file system. 003.06 FIND.HLP 003.07 LIST Partial directory search using wildcards. 003.08 LIST.HLP 003.09 PATH Display the expanded pathname of a file. 003.10 PATH.HLP 003.11 TREE Display directory hierarchy and disk usage. 003.12 TREE.HLP 003.13 WALK_SUBTREE Traverse a portion of the directory tree. 003.14 WALK_SUBTREE.H 003.15 SWEEP Displays sorted directory; selective copy, deletion, listing, and renaming of files. 003.16 SWEEP.HLP 003.17 DIRSORT Sorts filenames in a directory. 003.18 DIRSORT.HLP 003.19 DIRSORT.CSD 003.20 DIRSORT.PLM 003.21 MASTERDIR Directory listing of a subtree. 003.22 MASTERDIR.HLP 003.23 MASTERDIR.CSD 003.24 MASTERDIR.PLM 003.25 DEVELAIDS.CSD These are used to build DIRSORT and MASTERDIR. iRUG LIBRARY VOLUME # 003 LAST UPDATE: 09/26/87 OS: RMX86 Directory Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 003.26 DEVELAIDS.EXT 003.27 DEVELAIDS.PLM 003.28 DIRNAMEBUF.CSD 003.29 DIRNAMEBUF.PLM 003.30 ALLDIR Display directory hierarchy and disk usage. 003.31 ALLDIR.HLP 003.32 SORTDIR Sort the filenames within a directory. 003.33 SORTDIR.HLP 003.34 SUBTREE Traverse a directory tree and execute given cmd. 003.35 SUBTREE.HLP 003.36 TRANSDIR Translate (rename) dir/file names to given case. 003.37 TRANSDIR.HLP 003.38 CLEANUP Deletes files matching wild card list in a dir tree. 003.39 CLEANUP.HLP 003.40 TRAVERSE Traverse a directory tree and execute given cmd. 003.41 TRAVERSE.HLP iRUG LIBRARY VOLUME # 004 LAST UPDATE: 12/31/86 OS: RMX86 SUBMIT File Utilities and Background Batch Processors INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.004 This file. INSTALL.CSD SUBMIT file for installing this volume. 004.01 ALL Execution of file of cmds on every file in a directory. 004.02 ALL.HLP 004.03 BACK Starts a background job. 004.04 BACK.HLP 004.05 JOBS Displays the numbers and names of any background jobs. 004.06 JOBS.HLP 004.07 KILL Kills the specified background jobs. 004.08 KILL.HLP 004.09 SUBMIT Special SUBMIT for use with BACK. 004.10 WAIT Waits for the specified background jobs to complete. 004.11 WAIT.HLP 004.12 BATCH Execute a SUBMIT file in the background. 004.13 BATCH.HLP 004.14 BATCHPROC Standalone background processor for the BATCH command. 004.15 BATCHPROC.HLP 004.16 IF Conditional command execution in a SUBMIT file. 004.17 IF.hlp 004.18 ELSE 004.19 ELSE.hlp 004.20 ENDIF 004.21 ENDIF.hlp 004.22 GOTO 004.23 NOTE Print the message on the user's console. 004.24 NOTE.HLP 004.25 PAUSE Prompt user w/message and wait for a carriage return. 004.26 PAUSE.HLP 004.27 SLEEP Suspend execution for the given number of seconds. 004.28 SLEEP.HLP 004.29 TIMER Times the execution of a cmd, prints the elapsed seconds. iRUG LIBRARY VOLUME # 004 LAST UPDATE: 12/31/86 OS: RMX86 SUBMIT File Utilities and Background Batch Processors INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 004.30 TIMER.HLP 004.31 TYPE Echoes its command line to the users console. 004.32 TYPE.HLP 004.33 WALK Walks down the disk directory structure, executing commands once for each directory level. 004.34 WALK.HLP 004.35 SLP Causes terminal to beep every 5 seconds. 004.36 SLP.HLP 004.37 BELL Outputs a bell character to EO. 004.38 BELL.HLP 004.37 EXIT Use in submit to eat up the rest of a submit file for premature exits. 004.38 EXIT.HLP iRUG LIBRARY VOLUME # 005 LAST UPDATE: 09/23/87 OS: RMX86 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.005 This file. INSTALL.CSD SUBMIT file for installing this volume. 005.07 JOBTREE Displays the tokens for the iRMX 86 jobs in the system. 005.08 JOBTREE.HLP 005.09 LOGNAMES Display logical names accessable to invoking user. 005.10 LOGNAMES.HLP 005.11 MEMORY Display size of largest job that the user may create. 005.12 MEMORY.HLP 005.13 MEMUSE Display pool information of first level jobs in system. 005.14 MEMUSE.HLP 005.15 MONITOR Causes a break to the System Debug Monitor (SDB). 005.16 MONITOR.HLP 005.17 PHYSNAMES Outputs physical device information. 005.18 PHYSNAMES.HLP 005.19 RESET Causes the system to begin executing at the processors reset vector (FFFF:0) simulating a system reset. 005.20 RESET.HLP 005.21 TERM Display or modify the connection or terminal attributes. 005.22 TERM.HLP 005.23 TERMLOCK Prevents unauthorized terminal usage. 005.24 TERMLOCK.HLP 005.25 WHO Display the job token, terminal, user id and access ids of the users on the system. 005.26 WHO.HLP 005.27 WHOAMI Display the user id and access ids of the invoking user. 005.28 WHOAMI.HLP 005.29 LOGSTATS Calculates the elapsed time of the logon session. iRUG LIBRARY VOLUME # 005 LAST UPDATE: 09/23/87 OS: RMX86 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 005.30 LOGSTATS.HLP 005.31 IAMWHO Reports user ID's, user name, terminal device name, and time of logon session. 005.32 IAMWHO.HLP 005.33 ALLPER Recursive PERMIT. 005.34 ALLPER.HLP 005.35 CAT Add name to root object directory. 005.36 CAT.HLP 005.37 CP Change priority of a task/job within an RMX system. 005.38 CP.HLP 005.39 DEVS List available devices. 005.40 DEVS.HLP 005.41 DUIB Display and change DUIB, DIT, UIT. 005.42 TERMINAL.CFG 005.43 DUIB.HLP 005.44 EDV Enhanced disk verify. 005.45 EDV.HLP 005.46 FRAGMENT Show fragmentation of a named device. 005.47 FRAGMENT.HLP 005.48 MCOPY Copy from memory to file. 005.49 MCOPY.HLP 005.50 NEWSPY Displays running total of the number of times each iRMX86 subsystem is called. 005.51 NEWSPY.HLP 005.52 LOAD Load and execute program at given priority. 005.53 LOAD.HLP 005.54 SETDT Set the system data and backup times. 005.55 SETDT.HLP iRUG LIBRARY VOLUME # 005 LAST UPDATE: 09/23/87 OS: RMX86 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 005.56 STOP Causes a break to the System Debug Monitor (SDB). 005.57 STOP.HLP 005.58 UNCAT Remove name from root object directory. 005.59 UNCAT.HLP 005.60 DEBUGGER.HLP Human Interface System Debugger (SDB) commands. 005.61 VD Display job directory. 005.62 VH Display SDB help screen. 005.63 VJ Display job tree. 005.64 VK Display ready / sleeping task list. 005.65 VO Display job's objects. 005.66 VR Display IORS. 005.67 VT Display object. 005.68 VU Unwind task stack. 005.69 DUP Floppy disk duplication. 005.70 DUP.HLP iRUG LIBRARY VOLUME # 006 LAST UPDATE: 09/24/87 OS: RMX86 Object File Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.006 This file. INSTALL.CSD SUBMIT file for installing this volume. 006.01 ABSOUT Processes files produced by HEXABS. 006.02 ABSOUT.HLP 006.03 HEXABS Processes hex files produced by OH86 into files of absolute code. 006.04 HEXABS.HLP 006.05 LOAD Absolute code loading, file produced HEXABS. 006.06 LOAD.HLP 006.07 MERG86 Merges symbol/line info into the listing of that module. 006.08 MERG86.HLP 006.09 MODINFO Display/change static and dynamic segment sizes. 006.10 MODINFO.HLP 006.11 VERLIB Displays the version number of an INTEL library. 006.12 VERLIB.HLP 006.13 DIF Compares 2 OBJ files record by record with differences will be printed. 006.14 DIF.HLP 006.15 LDUMP Displays OBJ file as series of OMF descriptors and displays disassembled object code of data records. 006.16 LDUMP.HLP 006.17 LOADABS Loads a 64K absolute code image produced by HEXABS. 006.18 LOADABS.HLP 006.19 STRIP Removes all records from a located OBJ file which are not required by a loader. 006.20 STRIP.HLP iRUG LIBRARY VOLUME # 007 LAST UPDATE: 12/31/86 OS: RMX86 Source Code Management INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.007 This file. ABSTRACT.007 Further explanation of this volume. INSTALL.CSD SUBMIT file for installing this volume. 007.01 CHECKOBJ Examines OBJ/LNK/LOC/LIB files, displaying the version information placed there by source marking. 007.02 CHECKOBJ.HLP 007.03 CLEAN Deletes all "old" versions of a file. 007.04 CLEAN.HLP 007.05 LATEST Displays the latest version number of a file. 007.06 LATEST.HLP 007.07 XLATE Like SUBMIT except it chooses "latest" version of source. 007.08 XLATE.HLP SRCMGT or SMS - iRMX86 Source Management System ----------------------------------------------- The purpose of the iRMX86 Source Management System (SMS) is to allow orderly control of source files where more than one version of the source file may exist. The central feature of the SMS is that all source modules have wholly numeric filename extensions, consisting of exactly three ASCII decimal digits; e.g., "000", "010", "025", etc. The utilities which comprise the SMS interpret these numeric extensions as being version numbers. A numerically greater version number is assumed to represent a more recent version of a file. The SMS further assumes that all source files are marked with an internal version number that accurately reflects the filename extension. This marking is accomplished by including in the PL/M-86 source file the statement: declare program_version (*) byte data ('program_version_number=Pxxx Vxxx', 'program_name=any name here', 0); Where Pxxx is a Project Number for the Company (May or May not be used) and Vxxx is any version number which reflects the filename extension. For example, Vxxx would be V025 (or V2.5) for a filename extension of "025". By including this string in the source file, the compiled object will contain the "program_version_number" and "program_name" strings in a form readable by the SMS. (It should be noted that CHECKOBJ will actually print out any code between the 'program_version_number=' and 'program_name=' as the version data. Due to this anything may be placed between the two identifying strings.) The SMS consists of the above source file marking and numeric extensions, and the following iRMX86 utilities: 1.) XLATE - like SUBMIT except that it can choose the "latest" version of a source file. 2.) CHECKOBJ - examines object, link, locate, and library files, finding and displaying the version information placed there by source marking. Where more than one object module is present (link, library files, for example) CHECKOBJ will display information on all of the modules included. 3.) CLEAN - deletes all "old" versions of a file, leaving only the most recent, which may optionally be renamed to ".000". 4.) LATEST - displays the latest version number of a given file present in a given directory. The above Utilities and this and their Help files produced by: ASW Computer Systems Ltd. 34 Lakeshore Rd. E. Port Credit, Ontario, Canada L5G 1C8 Phone (416) 274-7774 iRUG LIBRARY VOLUME # 008 LAST UPDATE: 09/25/87 OS: RMX86 Command Line Interpreter INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.008 This file. 008.01 CLI.P86 Command Line Interpreter 008.02 R2CLI iRMX286 R2.0 CLI for iRMX87 R7.x 008.03 R2CLI.HLP 008.04 CONFCLI Utility to reconfigure R2CLI for different CRTs. 008.05 TERMCAP Terminal characteristics specification file. iRUG LIBRARY VOLUME # 009 LAST UPDATE: 09/19/87 OS: RMX86 Daemon Printer Spooler INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.009 This file. INSTALL.CSD SUBMIT file for installing this volume. 009.01 DMASTER Daemon Printer Spooler. 009.02 DAEMON.HLP 009.03 DMASTER.CSD 009.04 DMASTER.HLP 009.05 DMASTER.LNK 009.06 LP0 009.07 LP0.CSD 009.08 LP0.P86 009.09 DAEMON 009.10 INITSPOOL.OBJ Printer spooler for a CENTRONICS printer. 009.11 SPOOL.CSD 009.12 SPOOL.HLP 009.13 SPOOL.OBJ iRUG LIBRARY VOLUME # 010 LAST UPDATE: 05/25/87 OS: RMX86/286 Modem Programs Works on a Hayes / US Robotics / ??? Smart Modem Requires: iSBX-351, iSBX-95(1/2/3) INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.010 This file. ABSTRACT.010 Further explanation of this volume. 010.01 C300.P86 Automatic modem init. program for Hayes at 300 baud. 010.02 C300.CSD 010.03 C1200.P86 Automatic modem init. program for Hayes at 1200 baud. 010.04 C1200.CSD 010.05 MODEM.P86 Modem Up / Down Load. 010.06 MODEM.CSD 010.07 PHONE Allows transfer of text files without matching software at the other end. 010.08 PHOME.HLP 010.09 PHONE.PLM 010.10 PHONE.CSD C300 - Automatic modem init. program (dials number and exits) C1200 - Automatic modem init. program (dials number and exits) Modem - Up / Down Load Author: Roger Ryan PDS Engineering P.O. Box 458 Norman, Oklahoma 73070-0458 Works on a Hayes / US Robotics / ??? Smart Modem. Equipment: iSBX-351 (no mods. required) iSBX-95(1/2/3) (1) to (1) cable to modem phone Modified by: Scott Noltensmeier Intel Corp. 145 S. 79th MS: SP1-56 Chandler AZ. 85254 (602-961-5431) Date: 4/8/85 C300 / C1200 / Modem: The (original) source code was modified to remove an 8087 init. step (not needed). In addition, to make this program work, I had to remove the SetPriority nucleus call (the original version set the priority to 180). Example (Modem down load remote def.): "toolbox.dir/utils/if" iRUG LIBRARY VOLUME # 011 LAST UPDATE: 09/19/87 OS: RMX86 Intel PROM Programming Software INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.011 This file. INSTALL.CSD SUBMIT file for installing this volume. 011.01 IPPS Intel PROM Programming Software 011.02 IPPS.ERR 011.03 IPPS.HLP IPPS uses this file for interactive help 011.04 IPPS.RMX.HLP Read-me and HELP file. iRUG LIBRARY VOLUME # 012 LAST UPDATE: 02/07/87 OS: RMX86 RMX System Call Libraries for the Language C INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.012 This file. INSTALL.CSD SUBMIT file for installing this volume. 012.01 ECIFL.LIB Extended I/O System. 012.02 HCIFL.LIB Human Interface. 012.03 ICIFL.LIB Basic I/O System. 012.04 LCIFL.LIB Application Loader. 012.05 RCIFL.LIB Nucleus. iRUG LIBRARY VOLUME # 013 LAST UPDATE: 02/07/87 OS: RMX86 iRMX 86 Support for the iSBC 957b iAPX 86,88 Interface and Execution Package Requires: iSBX-350 or equivalent INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.013 This file. ABSTRACT.013 Further explanation of this volume. 013.01 RMXLOD 013.02 RMXCONFIG.PLM 013.03 RMXLOD_LNK.CSD 013.04 RMXLOD.LNK iRMX 86 Support for the iSBC 957b iAPX 86,88 Interface and Execution Package Jeffrey A. Grossman, FAE Intel Corp, W. Bloomfield, MI 20 Jan 84 iRMX Support for iSBC 957b This document descibes the configuration of RMXLOD, a conversion of the ISIS APXLOD program from the iSBC 957b monitor package. It is assumed that the reader is familiar with the configuration and use of the standard 957b (manual #143979-002). The converted software (RMXLOD), running under the iRMX 86 Human Interface, provides the following features of the APXLOD program: 1) parallel communication with an 8086 target via an iSBX 350 parallel port or equivalent 2) all debugging commands 3) upload (T) command 4) download (L,R) commands The following features are not supported: 1) serial communications 2) "ISIS" system calls from the 8086 target 3) "control-C" (This will cause termination of the RMXLOD program from the host. Reentering RMXLOD will cause a target quit and then the message "*Control C*" will appear.) I. Software Configuraton The software distributed with this document consists of a partially linked version (RMXLOD.LNK), and configuration module, and a pre-configured version (RMXLOD) set up for an iSBX 350 on the J3 (left) connector of an iSBC 86/14/30 board. To configure RMXLOD for a different set of hardware, you must change the I/O port base and port separation values in the module RMXCONFIG.PLM. RMXLOD assumes that the hardware in use is an 8255 and I/O addresses are 16 bits. Compile this module and link it with RMXLOD.LNK using the submit file provided. Your software is now configured. II. Hardware Configuration The target hardware must be configured as specifed in the 957b manual, including the "status adapter". However, this status adapter is not REQUIRED on the target unless it is connected to a development system. The status adapter configuration is given in this document so you can work out a configuration that does not use it. The host configuration given here is for an iSBX 350. You will have to work out the jumpers for other 8255 versions such that: 1) port A has inverting receivers that are always enabled 2) port B has 7438 open collector drivers 3) port C lower has iSBC 901 resistor terminations, 220 ohm pullup to +5V and 330 ohm pulldown to GND 4) port C upper has 7438 open collector drivers To configure an iSBX 350, make the following changes to the default configuration: J. Grossman 1 20 Jan 84 iRMX Support for iSBC 957b 1) install an iSBC 901 resistor pack in U4 2) install an 7438 O.C. driver in U3, U5, and U6 3) remove jumper E1-E2 4) install jumper E2-E3 III. Cable Assembly The cable between the host and target is a 50-conductor flat ribbon cable with card edge connectors at each end. If you are using a System 86/310, there is a possible variation. The iPDS 350 is a standard iSBX 350 with a short cable that installs in the Personal Development System. It also fits nicely in a 310. When using this option, the cable connector at the host end is different. The following two diagrams show how the cables are constructed. The part numbers are T&B/Ansley (avaialble from Pioneer), but you may use any equivalent parts (e.g., 3M). J. Grossman 2 20 Jan 84 iRMX Support for iSBC 957b Generic Host - Target Cable Assembly ______ | || | | || | 171-50 609-5015M --> | | | | | ______ V | | | |----------------- ... -----------------|______| | | | | | | <-- 609-5015M | || | |__||__| ------ ------ | || |-------------------------------------------| | | || | ------------------- | | | || | ------------------- | | | || | ------------------- | | | || | ------------------- | | | || | . | | | || | . | | | || | . | | | || | | | | || | | | | || |___________________________________________| | |______|<- pin 1 pin 1 ->|______| |--> component side component side <--| iSBX 350 8086 target J. Grossman 3 20 Jan 84 iRMX Support for iSBC 957b iPDS 350 to Target Cable Assembly ______ | || | | || | 171-50 609-5015M --> | | | | | ______ V | | | |----------------- ... -----------------|______| | | | | | _ _ | <-- 609-50M || || || || || || ----\\ ------ || |\ \\-------------------------------------------| | || || || ------------------- | | || || || ------------------- | | || || || ------------------- | | || || || ------------------- | | || || || . | | || || || . | | || || || . | | || || || | | || || || | | || |/ //___________________________________________| | |____// <- pin 1 pin 1 ->|______| |--> component side component side <--| iSBX 350 8086 target The next three pages show the signal uses for the host and target 8255s, and the logic circuit for the target status adapter. J. Grossman 4 20 Jan 84 iRMX Support for iSBC 957b 957b Parallel Link - Target 8255 ---- A7|--- -- -- --- J1-34 | ) ( A6|--- \ PORT A - MODE 2 (OUTPUT) / --- J1-36 | \ / A5|--- \ / --- J1-38 | | all lines buffered by 8226 bi- | A4|--- ( directional drivers; cable is ( --- J1-40 | --- driven only when ACKa/ is --- A3|--- ( asserted by the host; port is ( --- J1-42 | | used as an output only port | A2|--- / \ --- J1-44 | / \ A1|--- / -----> DIEN/ @ 8226 \ --- J1-46 | ) | ( A0|--- -- | -- --- J1-48 -| | _____ C7|---OBFa/-------------- | --------------------| LS03\ /----- J1-24 | | | O.C. )O----/ C6|---ACKa/---------------*---------------------|_____/ /----- J1-30 | | / C5|--X *--------1K to +5V----------------/ | | _____ C4|--X |---------------------| LS03\ | | O.C. )O----\ C3|--X |---------------------|_____/ \----- J1-22 | | C2|---STBb/-------------- | -------1K to +5V------------------------ J1-32 | | C1|---IFBb----------------| | C0|--X -| B7|--- -- -- --- J1- 2 | ) ( B6|--- \ / --- J1- 4 | \ PORT B - MODE 1 INPUT / B5|--- \ / --- J1- 6 | | | B4|--- ( all pins terminated with ( --- J1- 8 | --- iSBC 902, 1K pullup to +5V --- B3|--- ( ( --- J1-10 | | DATA ON CABLE IS INVERTED | B2|--- / \ --- J1-12 | / \ B1|--- / \ --- J1-14 | ) ( B0|--- -- -- --- J1-16 ----| J. Grossman 5 20 Jan 84 iRMX Support for iSBC 957b 957b Parallel Link - iRMX 86 Host 8255 ---- A7|--- -- -- --- J1-34 | ) ( A6|--- \ PORT A - MODE 0 INPUT / --- J1-36 | \ / A5|--- \ / --- J1-38 | | all lines buffered by 8226 bi- | A4|--- ( directional drivers; drivers ( --- J1-40 | --- have DIEN/ tied high and are --- A3|--- ( always in receive mode; all ( --- J1-42 | | terminated w/ 1K to +5V | A2|--- / \ --- J1-44 | / \ A1|--- / \ --- J1-46 | ) ( A0|--- -- -- --- J1-48 -| C7|--- --\ /-- --- J1-32 | \ _____ / C6|--- ) ---| 7438\ ( --- J1-30 | )---- ----| | O.C. )O---- ----( C5|--X ) ---|_____/ ( --- J1-28 | / \ C4|--X --/ \-- --- J1-26 | C3|--X --\ /-- --- J1-18 | \ / C2|--X ) all lines terminated with ( --- J1-20 | )---- iSBC 901, 220 pullup to +5V ----( C1|--- ) and 330 pulldown to GND ( --- J1-22 | / \ C0|--- --/ \-- --- J1-24 -| B7|--- -- -- --- J1- 2 | ) ( B6|--- \ / --- J1- 4 | \ PORT B - MODE 0 OUTPUT / B5|--- \ / --- J1- 6 | | _____ | B4|--- ( ---| 7438 \ ( --- J1- 8 | --- ----| | O.C. )O---- --- B3|--- ( ---|_____ / ( --- J1-10 | | | B2|--- / all lines driven by 7438 \ --- J1-12 | / open collector INVERTING \ B1|--- / drivers \ --- J1-14 | ) ( B0|--- -- -- --- J1-16 ----| J. Grossman 6 20 Jan 84 iRMX Support for iSBC 957b Status Adapter, part no. 145925-001 _____ *--| LS03\ J1-24 PC7 | | O.C. )O-------------------------------(3) (1)------------ --|_____/ PC0 OBFa/ | | | PC6 (ACKa/) | (4)------------*----> DIEN/ @ 8226 J1-30 (PC6) | | | | _____ _____ *--| LS03\ ----| LS03\ J1-20 J1-28 | | O.C. )O--(1K@+5)--| | O.C. )O-------(6) (9)------------ --|_____/ ----|_____/ PC2 PC5 | | | | | | | _____ *--| LS03\ J1-22 IFBb | O.C. )O-------------------------------(11) (12)---------------|_____/ PC1 PC1 J. Grossman 7 20 Jan 84 iRUG LIBRARY VOLUME # 014 LAST UPDATE: 09/24/87 OS: RMX86 Jovor Text Processor INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.014 This file. INSTALL.CSD SUBMIT file for installing this volume. 014.01 JOVOR Jovor text processing utility. 014.02 JOVOR.DOC Input file used to create JOVOR.MAN. 014.03 JOVOR.MAN Jovor manual. 014.04 DOCUL Text processing utility. 014.05 DOCUL.DOC Input file to create manual (see HLP file). 014.06 DOCUL.HLP iRUG LIBRARY VOLUME # 015 LAST UPDATE: 02/07/87 OS: RMX86 An LR parser generator INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.015 This file. ABSTRACT.015 Further explanation of this volume. 015.01 LR86 An LR parser generator 015.02 LEX.PAS Run-time source code (Pascal) 015.03 LEX.PLM Run-time source code (PL/M) 015.04 LEX.INC 015.05 PARSER.PAS Run-time source code (Pascal) 015.06 PARSER.PLM Run-time source code (PL/M) 015.07 CALC PeeWee Calculator cusp (example use of LR) 015.08 CALC.DOC How to use CALC 015.09 CALC.GRM Input to LR 015.10 CALC.CSD How to build CALC 015.11 PLM.GRM Another example 015.12 PLM.CSD 015.13 TEST.CSD 015.14 TEST.PLM LR on RMX 86 by: C. Tapang Intel Japan Date: May, 1983 References: [1] Wetherell, C.S.; Shannon, A. "LR: Automatic Parser Generator and LR(1) Parser". IEEE Transactions on Software Engineering, SE-7 (1981). [2] Spector, D. "Full LR(1) Parser Generation". ACM SIGPLAN Notices, Volume 16, Number 8, August, 1981, 58-66. [3] Aho, A.V.; Ullman, J.D., "Principles of Compiler Design", Addison-Wesley Publishing Company, 1977. [4] Wetherell, C.S. "Problems with the Ada Reference Grammar", ACM SIGPLAN Notices, Volume 16, Number 9, September, 1981, 90-104. Abstract: An LR(1) parser generator, originally developed by Charles Wetherell and Alfred Shannon at the Lawrence Livermore Laboratory, has been ported to the RMX 86 Real-Time Operating System and will be made available to RMX 86 users via iRUG (RMX 86 User's Group). This article explains the process of porting a large FORTRAN program (that until now has been widely used only at large computer installations) to a 16-bit microcomputer system. The main feature of the ported parser generator is the added capability to produce ASM86-compatible output. Execution speed on 8086- and 80286-based systems and also on the VAX 11/780 are measured. For more than twelve years now, LR has proven itself to be a powerful and useful tool in developing the front end of language process- ors; making it available to RMX 86 users will prove that it can also be very useful in developing command line interpreters and other human-oriented sub- systems for real-time applications. Ever tried writing a program that could successfully read and recognize arith- metic expressions such as 5+3*(7+2)+6*9 ? Such a program is called a parser and writing parsers can be very difficult if one is not well-versed in techniques that utilize recursive routines. But with LR, one does not have to bother about recursive routines: LR is a very powerful tool for automat- ically generating parsers. Once the grammar rules that govern acceptable input to a parser are determined, one can feed these rules to LR and presto comes the parser guaranteed to accept input strings that obey the grammar. For example, the following grammar rules can be determined for very simple arithmetic expressions that do not contain subtraction and division: expression ::= expression + term | term term ::= factor * term | factor factor ::= integer | ( expression ) In the above rules the "::=" sign can be read "is" or "reduces to", while the vertical bar | can be read "or". The plus sign "+", multiplication sign "*", left parenthesis "(", and right parenthesis ")" are arithmetic operators and delimiters which should be part of the grammar. The rules could then be read as "An expression is an expression plus a term or is just a term; while a term is a factor multiplied by a term or is just a factor; finally, a factor can be just an integer or an expression enclosed in parentheses." The parser generated by LR based on the above grammar can successfully read and recognize the expression 5+3*(7+2)+6*9 or any other valid string. LR is a relatively large FORTRAN program originally developed at the Lawrence Livermore Laboratory by Charles Wetherell and Alfred Shannon [1]. Its pred- ecessors and itself have been in use at large computer installations for more than twelve years now. Of course other parser generators are in existence, and the one most popularized (thanks to UNIX) is called YACC. The name YACC aptly stands for what it is: Yet Another Compiler's Compiler. Actually, YACC can successfully generate parsers for only a subset of grammars acceptable to LR; so that LR is generally considered to be more powerful than YACC. A little change to a grammar acceptable to YACC can make it non-YACCable, while for LR this is not a problem because LR accepts a larger class of grammars. David Spector has better explanations on why LR is superior to YACC [2]. Porting LR to RMX 86 LR is a public-domain software available through the National Energy Software Center (NESC, Argonne National Laboratory, 9700 South Cass Avenue, Argonne, Illinois 60439). When ordered, it comes delivered on a program tape compatible with most main-frames. There was no problem copying the source listings and other files from the tape to a directory in the VAX VMS system. A serial link facility was then used to download the distribution files from the VAX to the Intel Series-III Develop- ment System (MDS). Finally, the files were then "upcopied" from the MDS to a SYS 86/330R, which runs the RMX 86 Real-Time Operating System. Compiling the source files on the SYS 86/330R using FORTRAN-86 took minutes of elapsed time. The main LR program, which consisted of a main routine and sixty-four subroutines, was too large to be compiled by FORTRAN-86 in one run; and so it had to be broken into smaller files each containing a subroutine or two. A total of only three subroutines had to be revised in order for the program to be compatible with FORT86 and its run-time libararies, including the Universal Development Interface (UDI). An extra subroutine was added in order to enable the program to produce ASM86-compatible output, in addition to other selectable output formats that it already generated. The whole process took about four months to complete, using the author's spare time which averaged about two hours a week. This is not bad considering that this included the time the author spent in learning the rudimentaries of FORTRAN programming. Wetherell and Shannon are indeed justified in using FORTRAN in spite of its awkwardness in expressing lists and hash tables because this "ancient" language is by far still the most widely available language, and programs written in it are still the most portable. Intel's FORTRAN compiler (FORT86) is equally commendable for passing this non-trivial test for ANSI FORTRAN 66 standard compatibility. Using LR on RMX 86 As illustrated in Figure 1, LR's input is a file containing the description of a grammar (i.e.,"rules") using a format similar to Backus-Naur format (BNF). Below is an LR input example in this revised BNF format. (Grammar being described is same as above example.) &C Sample LR input. &O &J expression expression + term &A term &P &C IGNORE THIS PORTION. term factor * term &A factor &P factor &A ( expression ) &G As can be observed above, input to LR is free form. Angle brackets may be used to delimit grammatic symbols with intervening space. A character preceded by the ampersand character (&) is either a toggle or a delimiter. Toggles control the output of LR. (In the above example, the second line contains the toggle &O which tells LR to produce ASM86-compatible output.) Below is the list of toggles and their corresponding effect on the output: Toggles that affect the listing file - &I List input grammar as is (initially OFF). &X Include a vocabulary cross-reference (initially ON). &N List input grammar neatly and then quit (initially OFF). (Overrides all other toggles except &X, &I, and &1.) &R List input grammar neatly (initially ON). &1 Print grammar debug information about read phase. &2 Print grammar debug information about table construction phase. Toggles that affect the table output file - &J Output LRLTRAN formatted parser tables (initially ON). (Must toggle OFF to enable toggles &K, &L, and &O.) &K Output ANSI 66 FORTRAN formatted parser tables (initially OFF). (Disables &L and &O.) &L Output unformatted tables (initially OFF). (Disables &O.) &O Output ASM 86 formatted tables (initially OFF). Below is the list of delimiters together with their meanings: &C everything that follows this is ignored until the end of line; &A delimits one alternative rule from the next (equivalent to vertical bar in BNF notation); &P end of production or "rule"; &G end of grammar. Notice that the BNF symbol ::= is not used; the first grammar symbol encounter- ed in a line is taken as the symbol to the left of ::=. (In Computer Science jargon, all symbols that occur to the left of ::= are called "non-terminals" and the rest are "terminals". Rules are called "productions".) Two output files are produced by LR. One of these is optional and contains the parser tables in ASM86-compatible format or other formats (see Fig.2). The other (Fig.3) is divided into distinct sections most of which can be turned on or off by means of the toggles. In the sample listing of Fig.3, the first section lists the terminals and the nonterminals in the grammar showing the index numbers assigned to each. The second section lists the productions in pretty-printed BNF format. The third is a cross-reference listing of the grammar vocabulary (the terminals and non-terminals used in the grammar) with the number of production(s) in which each is either defined or used. Negative numbers indicate definition. The last section in Fig.3 is a listing of the configuration sets (or parser "states") of the input grammar. There are other sections (toggled-off in this example) which are a big help in debugging the grammar. NAME PTABLE PUBLIC TRAN, FTRN, ENT, FRED, NSET, PROD, LHS, LEN, LSET, LS PTAB SEGMENT 'DATA' ASSUME DS:PTAB TRAN DW 2, 3, 4 DW 5, 6, 7 DW 3, 4, 8 DW 6, 7, 9 DW 10, 11, 12 DW 9, 3, 4 DW 6, 13, 3 DW 4, 6, 14 ; FTRN DW 1, 2, 7 DW 12, 12, 14 DW 15, 15, 17 DW 21, 21, 25 DW 25, 25 DW 25 ; ENT DW 3, 6, 1 DW 5, 8, 9 DW 10, 8, 4 DW 6, 3, 2 DW 10, 10 ; FRED DW 1, 1, 1 DW 1, 2, 2 DW 3, 4, 4 DW 4, 5, 5 DW 6, 7 DW 8 ; NSET DB 2 , 1 , 1 DB 3 , 2 , 1 DB 1 ; PROD DW 6, 5, 3 DW 1, 7, 2 DW 4 ; LHS DW 7, 8, 8, 10 DW 10, 9, 9 ; LEN DB 3, 3, 1, , 3 DB 1, 1, 3 ; LSET DW 1 DW 4, 8, 9 ; LS DW 2, 4, 6 DW 2, 3, 4 DW 6, 6 PTAB ENDS END Figure 2. Assembly language output of the ported LR. 1 T E R M I N A L S N O N T E R M I N A L S 1 ( 7 2 ) 8 expression 3 * 9 factor 4 + 10 term 5 6 END 1 T H E P R O D U C T I O N S 1 ::= END expression END 2 expression ::= expression + term 3 / term 4 term ::= factor * term 5 / factor 6 factor ::= 7 / ( expression ) 1 A V O C A B U L A R Y C R O S S - R E F E R E N C E ( 7 ) 7 * 4 + 2 6 END 1 1 -1 expression 1 2 -2 -3 7 factor 4 5 -6 -7 term 2 3 4 -4 -5 1 CONFIGURATION SET: 1 1 ::= . END expression END END THE TRANSITIONS: 2 CONFIGURATION SET: 2 1 ::= END . expression END END THE TRANSITIONS: 3 4 5 6 7 CONFIGURATION SET: 3 7 factor ::= ( . expression ) ) * + END THE TRANSITIONS: 3 4 8 6 7 CONFIGURATION SET: 4 6 factor ::= . ) * + END THE REDUCTIONS: 6 ) * + END CONFIGURATION SET: 5 2 expression ::= expression . + term + END 1 ::= END expression . END END THE TRANSITIONS: 9 10 CONFIGURATION SET: 6 5 term ::= factor . ) + END 4 term ::= factor . * term ) + END THE TRANSITIONS: 11 THE REDUCTIONS: 5 ) + END CONFIGURATION SET: 7 3 expression ::= term . ) + END THE REDUCTIONS: 3 ) + END CONFIGURATION SET: 8 2 expression ::= expression . + term ) + 7 factor ::= ( expression . ) ) * + END THE TRANSITIONS: 12 9 CONFIGURATION SET: 9 2 expression ::= expression + . term ) + END THE TRANSITIONS: 3 4 6 13 CONFIGURATION SET: 10 1 ::= END expression END . END THE REDUCTIONS: 1 END CONFIGURATION SET: 11 4 term ::= factor * . term ) + END THE TRANSITIONS: 3 4 6 14 CONFIGURATION SET: 12 7 factor ::= ( expression ) . ) * + END THE REDUCTIONS: 7 ) * + END CONFIGURATION SET: 13 2 expression ::= expression + term . ) + END THE REDUCTIONS: 2 ) + END CONFIGURATION SET: 14 4 term ::= factor * term . ) + END THE REDUCTIONS: 4 ) + END Figure 3. Sample listing file. (Refer to [1] Wetherell and Shannon's original article on LR for more explanation on listing.) The "configuration sets" make up the "states" of a Deterministic Finite Automaton (DFA, see [3]). The complete parser is actually composed of the parser tables and a short routine that need to be linked to the tables. This short routine then calls a "scanner" from which it receives the index numbers ("tokens") of the terminals encountered in the lexical input. In the RMX 86 development environment, the parser tables (Fig.2) are assembled via ASM 86 and the resulting object module linked to the parsing routine (see the procedure nextred in Appendix); the relocatable module output by LINK 86 then forms the complete parser. Figure 4 illustrates the RMX 86 development environment using LR. Fig.4 LR is another addition to the versatile RMX 86 collection of tools. LR allows on-target development of reliable front-ends to such programs as command line interpreters, debuggers, text editors, etc. The back-end of a program, which could be composed of semantic routines (i.e., routines that interpret the meaning of each production), would still constitute a considerable amount of effort; but having LR take care of the front-end could reduce the total effort by as much as half. Processing Speed and Program Size A large grammar which was that of the Ada Language [4] was "compiled" using LR in three different systems: the SYS 86/330R, an SBC 286/10-based system, and a VAX 11/780 running VMS. The same winchester and controller was used with SBC 286/10 as that in the SYS 86/330R, and all three systems were not running any other user job when the processing speed was measured. The SYS 86/330R clocked minutes; the VAX, minutes; and the SBC 286/10-based system, minutes. iRUG LIBRARY VOLUME # 016 LAST UPDATE: 09/18/87 OS: RMX286 Text File Manipulation Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.016 This file. INSTALL.CSD SUBMIT file for installing this volume. HELP Utility to list help files. HELP.MAC HELP configuration file. HELP.HLP Help for HELP utility. 016.01 DUMP Convert a file into hexadecimal bytes or words. 016.02 DUMP.HLP 016.03 EXPAND Perform command on selected files. 016.04 EXPAND.HLP 016.05 GREP Search a file for a pattern. 016.06 GREP.HLP 016.07 LINES Count number of lines in a file. 016.08 LINES.HLP 016.09 PAGINATE Break a file into pages with headers. 016.10 PAGINATE.HLP 016.11 SKIM Examine text a screenfull at a time. 016.12 SKIM.HLP 016.13 SORT Sort the contents of a file. 016.14 SORT.HLP 016.15 UNIQ Report repeated lines in a file. 016.16 UNIQ.HLP 016.17 TRANSLATE Convert to upper case or lower case. 016.18 TRANSLATE.HLP ABSTRACT FOR iRUG VOLUME #016 ----------------------------- The HELP utility provides an on-line help facility for RMX Human Interface users. Each help file has ".HLP" append to the end. If the file name becomes too long the excess part of the extension ".HLP" will be truncated. Where the help information is stored is determined by the contents of the HELP.MAC file that is in the same directory as the HELP command. The file contains the names of the directories that will be used when searching for help files. The directories should be on separate lines or separated by commas. Note the trailing slashes on the directory pathnames. Suppose that the ATTACHDEVICE system utility has been copied to another file called AD. Therefore, this utility can be invoked by entering either ATTACHDEVICE or AD. Indirect help files can be created by using an at sign (@) as the first character in the help file, followed by the indirect command name. This provides an alias for the help files. In the above example, help can be displayed by: - HELP ATTACHDEVICE or - HELP AD by placing a file named AD.HLP in the same directory as ATTACHDEVICE.HLP which contains one text line: '@ATTACHDEVICE'. iRUG LIBRARY VOLUME # 017 LAST UPDATE: 09/26/87 OS: RMX86/286 UPROCS - Input/output, Data Conversion Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.017 This file. INSTALL.CSD SUBMIT file for installing this volume. 017.01 UPROCS.86 Library containing the procedures. 017.65 UPROCS.286 Library containing the procedures. 017.64 UPROCS.EXT External procedure definition INCLUDE file. 017.65 UPROCS.LIT Literal definition INCLUDE file. 017.02 UPROCS.HLP 017.03 CONVERT.HLP General help file. 017.04 DATETIME.HLP General help file. 017.05 FILESYS.HLP General help file. 017.06 GET.HLP General help file. 017.07 MISCELLANEOUS. General help file. 017.08 PUT.HLP General help file. 017.09 STRINGS.HLP General help file. 017.10 STRINGTABLE.HL General help file. 017.11 COERCEUP.HLP Convert one character to upper case. 017.12 COERCEUPSTRING Convert a string of characters to upper case. 017.13 COMPARESTRING. Compare two strings. 017.14 CONCATENATESTR Concatenate a string to end of destination string. 017.15 CONCATENATETOS Concatenate a buffer to end of destination string. 017.16 CONVERTDATETIM Date and time to DWORD. 017.17 CONVERTDECIMAL WORD to decimal. 017.18 CONVERTDWDECIM DWORD to decimal. 017.19 CONVERTHEX.HLP WORD to hexadecimal. 017.20 CONVERTSECSTOD DWORD to date. 017.21 CONVERTSECSTOT DWORD to time. 017.22 CONVERTTOBINAR Character to WORD. 017.23 CONVERTTODOUBL Character to DWORD. 017.24 CUSPERROR.HLP Display error messages. 017.25 CUSPQUERYUSER. Query terminal for input. 017.26 EXECUTECOMMAND Execute a command string. 017.27 FINDEXACTSTRIN Find a string in stringtable. 017.28 FINDSTRING.HLP Find a string or abbreviation in stringtable. 017.29 GETBINARY.HLP Collect a number. 017.30 GETCHANGEMODE. Change buffering mode. 017.31 GETCHAR.HLP Get a single character. iRUG LIBRARY VOLUME # 017 LAST UPDATE: 09/26/87 OS: RMX86/286 UPROCS - Input/output, Data Conversion Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 017.32 GETFLUSH.HLP Skip to end of current line. 017.33 GETINOUTPATHNA Get next commandline input and output pathname. 017.34 GETREAD.HLP Low level read routine. 017.35 GETSELECTOR.HL Collect a selector. 017.36 GETSKIPTEXT.HL Skip given characters. 017.37 GETSKIPUNTIL.H Skip till a given character is seen. 017.38 GETSTRING.HLP Collect a string. 017.39 GETUSERID.HLP Userid of a given job. 017.40 INDEXBYTE.HLP Index of character in string. 017.41 INSETBYTE.HLP Is character in string. 017.42 MAXWORD.HLP Return maximum value of two words. 017.43 MINWORD.HLP Return minimum value of two words. 017.44 MOVESTRING.HLP Copy a string. 017.45 NTHSTRING.HLP Return pointer to string in stringtable. 017.46 OPENGET.HLP Initialize the get routines. 017.47 OPENPUT.HLP Initialization call. 017.48 OPTIONALCOLONS Strip or add colons to a logical name. 017.49 PUTBLANKS.HLP Output a number of blanks. 017.50 PUTBUFFER.HLP Output the contents of a buffer. 017.51 PUTCHANGEMODE. Change output buffering. 017.52 PUTCHAR.HLP Output one character. 017.53 PUTCRLF.HLP Output a carriage return, linefeed. 017.54 PUTDECIMAL.HLP Output a WORD in decimal. 017.55 PUTDWDECIMAL.H Output a DWORD in decimal. 017.56 PUTFLUSH.HLP Flush the current output. 017.57 PUTHEXBYTE.HLP Output a BYTE in hexadecimal. 017.58 PUTHEXWORD.HLP Output a WORD in hexadecimal. 017.59 PUTSELECTOR.HL Output a SELECTOR in hexadecimal. 017.60 PUTSTRING.HLP Output a string. 017.61 PUTWRITE.HLP Low level output procedure. 017.62 SUBSTRING.HLP Extract a substring from source string. 017.63 WCNAMEMATCH.HL Does name match given wildcard pattern. 017.64 INSERTSTRING.H Insert a string into the destination string. iRUG LIBRARY VOLUME # 018 LAST UPDATE: 02/07/87 OS: RMX86 Reading/Writing ISIS Floppies INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.018 This file. INSTALL.CSD SUBMIT file for installing this volume. 018.01 IDIR 018.02 IDIR.HLP 018.03 IDUMP 018.04 IDUMP.HLP 018.05 IREAD 018.06 IREAD.HLP 018.07 IWRITE 018.08 IWRITE.HLP 018.09 ISISATTACH 018.10 ISISCOPY 018.11 ISISDETACH 018.12 ISISDIR iRUG LIBRARY VOLUME # 019 LAST UPDATE: 05/03/88 OS: iRMX86/286 RMX Kermit INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.019 This file. INSTAL.CSD SUBMIT file for installing this volume. 019.01 KERMIT.86 KERMIT for iRMX86 019.02 KERMIT.286 KERMIT for iRMX286 019.03 MSKERM.BWR Columbia's "beware" file 019.04 MSKERM.HLP Five page summary of commands 019.05 MSKERM.UPD Differences from version 2.26 019.06 MSVRMX.DOC Config instructions/RMX system specific info 019.07 READ.ME.FIRST 019.08 WC.286 Wild-card implementation auxiliary command 019.09 WC.86 Wild-card implementation auxiliary command iRUG LIBRARY VOLUME # 020 LAST UPDATE: 02/08/87 OS: RMX86/286 CLI and Background Facility INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.020 This file. ABSTRACT.020 Further explanation of this volume. INSTALL.CSD SUBMIT file for installing this volume. 020.01 NEW_CLI Submitting jobs to run as background tasks, and broadcast of messages to all logged on users. 020.02 SUPERCLI.HLP Help for NEW_CLI. 020.03 !.HLP Builtin command, starts a background SUBMIT job. 020.04 BCAST.HLP Builtin command, broadcasts text to logged-on users. 020.05 USE.HLP Builtin command, runs file as if it was submitted. 020.06 START_CLI.P86 Start up the Super Cli 020.07 CLITEST.P86 Main module for Super Cli. 020.08 CLI_BCAST.P86 Broadcast message. 020.09 CLI_BCAST.EXT 020.10 CLI_R_B.P86 Start a background submit (! command). 020.11 CLI_R_B.EXT 020.12 CLI_SPEC.P86 Cmd line parser and special functions for Super Cli. 020.13 CLI_SPEC.EXT 020.14 CLI_UTIL.P86 General utilities for Super Cli. 020.15 CLI_UTIL.EXT 020.16 NEW_CLI.CSD 020.17 BG Lists or deletes jobs from the background job queue. 020.18 BG.HLP 020.19 BG.P86 Background controller. 020.20 BG.CSD 020.21 BAK_SUB.P86 Background startup routine. 020.22 START_BAK.P86 Background job. 020.23 B_S_W.CSD 020.24 B_S_W 020.25 RUN.LIT 020.26 HIO.LIT 020.27 IAGTFS.LIT 020.28 NGTTOK.LIT 020.29 NSTEXH.LIT iRUG LIBRARY VOLUME # 020 LAST UPDATE: 02/08/87 OS: RMX86/286 CLI and Background Facility INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 020.30 RMX86.DEF ICU configuration definition file. When using the background facility, please keep in mind the following notes and cautions: a). Before invoking the background facility, perform the following: -- create directories /spool/run, /spool/run-log -- change config terminals to adequately reflect the memory of your system. If you have 640K byte memory and use the supplied RMX86 DEF file, modify the config terminals file and set it at 70K. b). When using the background submit, do not use the iRUG tools BACK, KILL, WAIT, or JOBS (volume #004). These tools will have unreliable results on your system. c). All commands which are sent in the background are executed at SUPER (user 0) protection. This document describes the Background Submit File runner program. This system allows an iRMX86 system to run submit files in the background. This document is divided into the following sections :- 1) A description of the facilities offered. 2) The installation Guide. The Background Submit File Runner is in three distinct parts. The first of these is a job that runs under the DAEMON system (from the RMX Users Group). The second is a Human Interface program that gives details of the running and queued background jobs. The last part is a replacement for the default Command Line Interpreter (CLI). Details of these three parts will be found in the Installation Guide. Submitted by Mike Wright Systems Support Engineer Intel (Swindon office, England) 1 Background Submit File Runner Documentation - Facilities Guide This section covers the facilities offered by the product. These fall into three main categories. 1) Facilities offered by the background job itself 2) Facilities offered by the replacement CLI. 3) Facilities offered by CUSPS. 1_)_ T_h_e_ B_a_c_k_g_r_o_u_n_d_ J_o_b_._ The Background job allows users of the iRMX86 system to run submit files in the background. That is, they may start a submit file and then regain control of their terminals and continue to work as normal. The only net effect of using the background job is the loss of approx. 250k bytes of memory to the entire system. In practice this is not a problem for an iRMX86 system running on a machine with 1 megabyte of memory. The user prepares the submit file as he would a normal submit file. The only exception to this is that he MUST place in the submit file any ATTACHFILE commands that are expected during the execution of the submit file. This includes an ATTACHFILE to the working directory as :$:. This is required since the background job is not able to determine the environment from which the submit file was invoked. Having prepared the submit file, the user may then execute it in the background using the commands specified in the next section. The effect of these commands is to place the a message containing the name of the submit file on an iRMX86 mailbox. This mailbox is scanned by the background job to determine the next job to be run. Jobs are run in a strict First-in-first-out order. The submit file is copied to the directory /SPOOL/RUN and the output will be placed in a file of the same name as the submit file in the directory /SPOOL/RUN_LOGS. Note that the name may be truncated if it originally exceeded ten (10) characters. This is required since the background job places a four digit sequence number after the submit file name in the /SPOOL/RUN directory to avoid conflict with other submit files of the same name. This ensures that a user may place many submit files of the same name in the queue without waiting for each to complete. If more than one submit file executes with the same name then the output will be appended to the log file rather than overwrite it. These appended logs will be seperated from one another by a line of equals signs (=) and the date/time of execution. It is the users job to delete the log file when it is no longer required. The background job will never delete the log file. 2 Background Submit File Runner Documentation - Facilities Guide As soon as the users job starts to execute, the user will receive a message on his console to that effect. He will also receive a message to indicate that it has finished. The submit file will then be deleted from the /SPOOL/RUN directory and the background job will look for another job to run. 3 Background Submit File Runner Documentation - Facilities Guide 2_)_ T_h_e_ R_e_p_l_a_c_e_m_e_n_t_ C_L_I_._ The replacement CLI adds some new commands to the system. These commands are built-in to the CLI and are NOT loaded when entered (unlike e.g. DIR). The main command is that used to start a background job. It has the following format :- ! filename[(,)] where f_i_l_e_n_a_m_e_ is the name off an existing submit file and the p_a_r_a_m_e_t_e_r_s_ are the same as submit expects. The command functions in exactly the same way as the SUBMIT cusp. It takes the name of a submit file and optional parameters. Unlike submit, however, it makes a copy of the input file with the parameters replaced by those on the invocation line in the directory /SPOOL/RUN. The name is truncated to ten characters and a four digit sequence number appended to the new name. A message is then sent to the background jobs mailbox giving the name of the submit file, which terminal sent the job and the current date/time. A message is then displayed on the users console of the form filename[10], has been queued for running The number in brackets is the jobs sequence number, that number will be required if it is required to delete the job (it can be found by using BG - see later). As soon as the job has started in the background, the user will receive a message of the form :- filename, has started. This message will only be displayed before the user would normally get a prompt , therefore it will not interrupt any normal console activity. A similar message wil be displayed in the same way when the background job has finished. 4 Background Submit File Runner Documentation - Facilities Guide In addition to the command for starting a background submit job, two further built-in commands are available under the replacement CLI. These are U_S_E_ and B_C_A_S_T_._ U_S_E_ is a quick submit facility. It takes no parameters and merely re-assigns console input to be the file named after the U_S_E_ command. It is primarily there to permit the user to maintain a file containing a series of ! commands to set off a number of background jobs. This is required since the CLI offered by submit does not recognise the ! command. B_C_A_S_T_ is a command that allows messages to be broadcast to all users that are using terminals (to be precise, all users that have a running CLI). The text that follows the B_C_A_S_T_ command will be displayed on all terminals when next the users receive a prompt. It can be used by the system controller to announce that the system is coming down for instance. 5 Background Submit File Runner Documentation - Facilities Guide 3_)_ C_U_S_P_S_._ A special CUSP, human interface program, is also supplied with the system. Called BG, it enables users to see what is on the queue of jobs, and also delete jobs from the queue which they have placed there. BG has two options LIST and DELETE, list being the default. The list option gives a display of the following form. Seq. File Name Term Time Date Elapsed 9 tester T0 11:59:03 21 AUG 84 00:00:11 Running job. 12 myfile here 12:02:12 21 AUG 84 00:03:05 In the above display, tester is actually running and has been for 11 seconds on behalf of the user on terminal T0. The next job (myfile) is not running, it was placed on the queue by the user on the terminal that invoked BG. It has been waiting for 3 minutes and 5 seconds. The other option, delete, takes as parameters a list of job numbers seperated by commas and will attempt to remove them from the queue. Jobs may only be removed from the queue if they were started from the console now trying to delete them (i.e. the term column in a list display for those jobs says "here"). Any attempt to delete another users jobs will be denied. Also the job that is marked as then running job c_a_n_n_o_t_ be deleted. 6 Background Submit File Runner Documentation - Installation Guide This section describes the installation procedure for the background job, the replacement CLI and the BG CUSP. First it is required to build all of the programs and object files. For this purpose various submit files are included on the distribution disk and the reader is referred to these for the details of how to build all the required modules. T_h_e_ b_a_c_k_g_r_o_u_n_d_ j_o_b_ In order to incorporate the background job, it is first required to install the DAEMON/DMASTER system from the Intel Rmx86 Users Group(iRUG)(*). Once that has been done then the background job may be started as any other daemon process (see HELP DAEMON). The background job is in the file B_S_W on the distribution disk in a format suitable for loading via the DAEMON command. See the submit file for all the other details. When installing the DMASTER first level job, note that the figure specified for the pool maximum (PMA) will determine the amount of memory consumed by the background job. This should be at least 290k bytes to enable the running of all the Intel translators. In order to obtain this memory it is required to reduce the memory allocated to the terminals in the system. This is not a problem, since once the background job is installed, users can use this to run the translators using their terminals for editing and any other small programs. Use the figures suggested in the HELP DMASTER documentation but note that the entry point of DMASTER is at offset zero. This is not clear from the documentation. Use the priority suggested in the documentation. The background job adjusts its own priority once it is running to be 240. Therefore running at a lower priority than the users consoles. Once the first level job has been added using ICU the new system can be built. Note that you have to manually add the DMASTER module to the new library. --------- (*) This is not strictly true. You may if you wish modify the source to be a first level job and install is as such. This is not covered in this documentation but should not prove too difficult. 7 Background Submit File Runner Documentation - Installation Guide T_h_e_ r_e_p_l_a_c_e_m_e_n_t_ C_L_I_._ The replacement cli is in a file called NEW_CLI, together with a submit file to build it. The procedure for installing it is very simple. Using ICU, change the Default Resident Initial Program (DRP) line to read N_O_ , and the Resident Initial Program (RIP) to read N_E_W___C_L_I_._ Once that has been done, and the changes for the DMASTER, select the generate option to build a submit file for the new system. Now copy the file NEW_CLI to the directory in which you intend to build the system. And finally submit the ICU generated submit file. Once that has finished, and the DMASTER object file has been added to the library as described above, this new library can be booted as per any normal iRMX86 system. T_h_e_ B_G_ C_U_S_P_._ Submit files have been provided to build the BG cusp. To install this merely copy the file BG to a suitable place on your disk. I recommend /UTILS. In addition to the object modules, source and submit files, you will also find a selection of files with the extension "hlp" on the disk. These should be copied to the /HELPS/UTILS directory and are the online help files for the background system. 8 iRUG LIBRARY VOLUME # 021 LAST UPDATE: 02/08/87 OS: RMX86 Reading/Writing MSDOS Floppies Requires RMX86 R7.0 update 2, with ZAP ZRA034.RMD applied. INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.021 This file. INSTALL.CSD SUBMIT file for installing this volume. 021.01 RTX2PC Copy RMX files to MSDOS. 021.02 RTX2PC.HLP 021.03 PC2RTX Copy MSDOS files to RMX. 021.04 PC2RTX.HLP iRUG LIBRARY VOLUME # 022 LAST UPDATE: 09/18/87 OS: RMX286 Directory Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.022 This file. INSTALL.CSD SUBMIT file for installing this volume. 022.01 COPYDIR Copy a tree of files. 022.02 COPYDIR.HLP 022.03 DELETEDIR Delete a tree of files. 022.04 DELETEDIR.HLP 022.05 FIND Find a given file name in the file system. 022.06 FIND.HLP 022.07 TREE Display directory hierarchy and disk usage. 022.08 TREE.HLP 022.09 ALLDIR Display directory hierarchy and disk usage 022.10 ALLDIR.HLP 022.11 CLEANUP Deletes all files that match a wild card list in a directory tree 022.12 CLEANUP.HLP 022.13 TRAVERSE Executes a cmd for each subdirectory in the tree 022.14 TRAVERSE.HLP iRUG LIBRARY VOLUME # 023 LAST UPDATE: 02/07/87 OS: RMX286 SUBMIT File Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.023 This file. INSTALL.CSD SUBMIT file for installing this volume. 023.01 NOTE Print the message on the user's console. 023.02 NOTE.HLP 023.03 PAUSE Prompt user w/message and wait for a carriage return. 023.04 PAUSE.HLP 023.05 SLEEP Suspend execution for the given number of seconds. 023.06 SLEEP.HLP 023.07 TIMER Times the execution of a cmd, prints the elapsed seconds. 023.08 TIMER.HLP iRUG LIBRARY VOLUME # 024 LAST UPDATE: 11/28/90 OS: RMX286 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.024 This file. INSTALL.CSD SUBMIT file for installing this volume. 024.01 DEVINFO Display the size and space information for a volume. 024.02 DEVINFO.HLP 024.03 TERM Display or modify the connection or terminal attributes. 024.04 TERM.HLP 024.05 DEVS List available devices. 024.06 DEVS.HLP 024.07 DUIB Display and change DUIB, DIT, UIT. 024.08 DUIB.HLP 025.09 TERMINAL.CFG 024.10 EDV Enhanced disk verify. 024.11 EDV.HLP 024.12 FRAGMENT Show fragmentation of a named device. 024.13 FRAGMENT.HLP 024.14 LOGIN Change current user id. 024.15 LOGIN.HLP 024.16 SETDT Set the system data and backup times. 024.17 SETDT.HLP 024.18 DUP Floppy disk duplication. 024.19 DUP.HLP 024.20 ALLPER Recursive PERMIT. 024.21 ALLPER.HLP 024.22 DEVICEINFO Display the size and space information for a volume. 024.23 DEVICEINFO.HLP 024.24 PHYSNAMES Outputs physical device information. 024.25 PHYSNAMES.HLP iRUG LIBRARY VOLUME # 024 LAST UPDATE: 11/28/90 OS: RMX286 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- 024.26 MSCAN Scans memory for occurences of ASCII or hex strings. 024.27 MSCAN.HLP iRUG LIBRARY VOLUME # 025 LAST UPDATE: 12/06/90 OS: RMX286 Object File Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.025 This file. INSTALL.CSD SUBMIT file for installing this volume. 025.01 MODINFO Display/change static and dynamic segment sizes. 025.02 MODINFO.HLP 025.03 LIBINFO iRMX II Library Information Utility 025.04 LIBINFO.HLP 025.05 LIBINFO.C ANSI C source code for LIBINFO 025.06 LIBINFO.CSD Submit file for creating LIBINFO 025.06 LIBX iRMX II Library Object Module Extractor 025.08 LIBX.HLP 025.09 LIBX.C ANSI C source code for LIBX 025.10 LIBX.CSD Submit file for creating LIBX 025.11 RMX2LIB.H Header file for library structures 025.12 RMXMOD.H Header file for iRMX module types 025.13 SHOWVERS.C ANSI C source code for displaying iRMX version string 025.14 SHOWVERS.H ANSI C header for declaring "show_version" function 025.15 WCMATCH.C K&R/ANSI C source code for iRMX wildcard matching 025.16 WCMATCH.H ANSI C header for declaring "wcmatch" function iRUG LIBRARY VOLUME # 026 LAST UPDATE: 02/21/87 OS: RMX86/286 Using STREAM Files INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.026 This file. ABSTRACT.026 Further explanation of this volume. 026.01 STREAM.000 Example program (PL/M source code). 026.02 STREAM.IPX RMX externals declarations for STREAM.000. 026.03 STREAM.CSD Submit file to link the example. 026.04 FLOWCHART.DOC Flowcharts to illustrate the example. This program (STREAM.000) illustrates the Stream File Protocol as explained in the Extended I/O User's Guide. SYNTAX: -STREAM input-filename [TO output-filename] WHERE: input-filename is the name of an existing file to copy. output-filename is the name of a file to receive the copy (defaults to :CO:). input-filename is copied to the STREAM file, and then the STREAM file is copied to output-filename. The writing task reads one block from input-filename, and writes it to the STREAM file. The reading task reads a block from the STREAM file, and writes it to output-filename. This continues until end-of-file occurs on input-filename, and the writing task closes the connection to the STREAM file. Although this example ignores the issue of device independence, a create task is used to establish the connection to the STREAM file on behalf of the writing and reading tasks as per the protocol. To maintain device independence, the create task should determine whether the intermediate file/device (STREAM file in this example) is a named file, physical device, or the STREAM file. The create, writing, and reading tasks may be in separate jobs, or as in this example, in one job. If these tasks are contained in more than one job, the STREAM file connection should be cataloged in the root job object directory. Care must be taken not to delete the job containing the create task before the reading and writing tasks complete. When a job is deleted, all connections created by that job will also be deleted, causing the cataloged token of the STREAM file to become invalid. When the writing task writes to the STREAM file, RQ$S$WRITE$MOVE will "hang" (ie. will not return control to the writing task) until the reading task consumes all the bytes written. When the reading task reads from the STREAM file, RQ$S$READ$MOVE "hangs" (ie. will not return control to the reading task) until the writing task supplies at least the number of bytes requested, or until the writing task closes the output connection to the STREAM file. Doug Riddell-Dudra Datafile, Inc. iRUG LIBRARY VOLUME # 027 LAST UPDATE: 02/18/87 OS: RMX86 iRMX86 Configuration for the iSBC 186/100 INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.027 This file. ABSTRACT.027 Further explanation of this volume. 027.01 186100.DEF 027.02 186100.A86 027.03 186100.CSD 027.04 BS1.A86 027.05 BS1.CSD 027.06 BSCSI.A86 027.07 ROOT.A86 027.08 ROOT.SAV TITLE: iRMX86 CONFIGURATION FOR THE iSBC 186/100 AUTHOR: Britt Bentley Intel Corporation 5200 NE Elam Young Parkway Hillsboro, Oregon 97123 DATE: FEBRUARY, 1987 SYNOPSIS: The edited configuration files necessary to configure iRMX86 for the iSBC 186/100 are given here. Also, the edited configuration files for SDM 3.0 and the iRMX86 bootstrap loader are included. This information will allow an user to configure iRMX86 for the iSBC 186/100 and create a set of boostrap EPROMS with SDM 3.0. Included is a brief outline of the software and hardware requirements and the jumper list for the iSBC 186/100 board. This configuration uses the 80186 cpu's DMA control channels to drive the SCSI (parallel) port. The ADMA chip, 82258, is not required. WARNING: A software reliability problem has been discovered with this configuration. When using a ZEBEC SCSI controller card, random errors occur only on writes to the hard disk. This problem does not occur with other controller cards. The cause of this problem has not been determined yet. SOFTWARE REQUIREMENTS: 1. iRMX86, Release 7.0, Update 2.0, including languages and utilities. 2. iSDM 3.0 3. Prom Programming software, i.e. iPPS x216 for iRMX86 systems. 4. Text Editor, i.e. Aedit. HARDWARE REQUIREMENTS: 1. iSBC 186/100 board with SCSI pals and TTL driver installed. The SCSI pals and TTL driver are included with the board as shipped from the factory. 2. Prom Programmer, i.e. iUP 200/201 prom programmer with FAST27k module. 3. Multibus II Chassis with power supply, i.e. Intel's Multibus II Starter Systemm 4. iSBC CSM001 centeral service module for Multibus II system. 5. SCSI controller for 5 1/4" peripherials, i.e. ZEBEC s1420 controller. 6. 5 1/4" FLOPPY Disk Drives, 48 t.p.i., DSDD, type SA 450. 7. 5 1/4" HARD Disk Drives, Winchester variety, type ST 506. 8. Hardware Reference Manuals for iSBC boards and cables. FILE DESCRIPTIONS: 1. 186100.csd ..... Modified submit file that was originally generated by the ICU86 Utility using the 18603a.def definition file. 2. 186100.def ..... iSBC 186/100 defiition file generated by the ICU86 utility from the 18603a.def file. 3. ROOT.A86 ....... File normally generated when the unmodified 186100.csd submit file is executed. This file that will be modified for the iSBC 186/100. 4. ROOT.SAV ....... Modified ROOT.A86 file. Description of changes made is given in table 2. 5. 186100.a86 ..... System Debug Monitor (SDM 3.0) configuration file. 6. BS1.A86 ....... Bootsrap loader configuration file for iSBC 186/100. 7. BSCI.A86 ....... Edited SCSI device driver file for the bootstrap loader. 8. BS1.CSD ........ Edited bootstrap loader submit file. PROCEDURE FOR GENERATING iRMX86 FOR THE iSBC 186/100: The ICU86 utility is used to change a iSBC18603a definition file. The results are 186100.CSD and 186100.DEF files listed under 'FILE DESCRIPTIONS'. During the execution of the 18600.csd submit file the ROOT.A86 file is created . The ROOT.A86 file must be modified. This is done by editing the ROOT.A86 file at the appropriate time with a text editor, or by copying a previously modified ROOT.A86 file (ROOT.SAV) over current ROOT.A86 file. ROOT.SAV is created by editing a previously generated ROOT.A86 file as shown in table 1. ROOT.SAV file may be copied over the ROOT.A86 file by editing the 186100.csd file and inserting the command line "copy root.sav over root.a86 " between the SUBMIT ICULOC.CSD and SUBMIT ICUROT.CSD command lines as shown in the table 2. This is the procedure used here and the 186100.csd file has this command line inserted. Alternatively, the 186100.csd file may be split into two parts between the command lines "SUBMIT ICULOC.CSD" and "SUBMIT ICUROT.CSD". The first portion is executed normally. Then the ROOT.A86 file is edited, as shown in table 1. Next, the remaining portion of the 18600.csd file executed. The result of this will be an executable object file for the iSBC 186/100. The user will also need to create some bootstrap EPROMs. The files necessary to configure iRMX bootstrap loader are included. Also, the configuration file for SDM 3.0 is included. With these files and prom programming software and hardware, it is possible to make boot EPROMS for iRMX86. The jumpers required for the iSBC 186/100 are listed in table 3. ............................................................................. TABLE 1. MODIFICATION MADE TO THE ORIGINAL 186100.CSD FILE SHOWING WHERE THE EXTRA COMMAND LINE IS INSERTED OR WHERE THE FILE SHOULD BE SPLIT INTO TWO SEPARATE SUBMIT FILES: (186100.CSD FILE) .... .... :lang:LINK86 & /rmx86/sdb/SDB.LIB(SBEGIN), & SDBCNF.OBJ, & /rmx86/sdb/SDB.LIB, & /rmx86/lib/RPIFC.LIB & TO SDB.LNK NOPUBLICS EXCEPT(rqsdbinittask, rqsdbiniterror) :$:^icu86.862 186100.DEF SUBMIT ICULOC.CSD copy root.sav over root.a86 =====> Insert this command line or split the 18600.csd file into two parts at this location. SUBMIT ICUROT.CSD DELETE /boot86/test :lang:LIB86 CREATE /boot86/test ADD SDB TO /boot86/test ADD NUCLUS TO /boot86/test ADD IOS TO /boot86/test .... .... ........................................................................... TABLE 2. MODIFICATIONS MADE TO THE ROOT.A86 FILE WHICH IS CALLED ROOT.SAV AND IS ONE OF THE FILES IN THIS PACKAGE. (ROOT.A86 FILE) .... .... .... %SAB(08000,0FFFF,U) %SYSTEM(01BC0,00032H,00040H,A,N,0) CODE SEGMENT PUBLIC INITENVLIST INITENVLIST LABEL WORD DW 0FFFEH,040FFH,00000H,00001H DW 0FFA0H,0FFF8H,00000H,00001H DW 0FF32H,00000H,00000H,00001H DW 0FF34H,00002H,00000H,00001H DW 0FF36H,00003H,00000H,00001H DW 0FF38H,00004H,00000H,00001H DW 0FF3AH,00005H,00000H,00001H DW 0FF3CH,00006H,00000H,00001H DW 0FF3EH,00007H,00000H,00001H DW 000D6H,00034H,00000H,00000H ===> Change to DW 0FF52H,04E20H,00000H,00001H DW 000D0H,00002H,00000H,00000H ===> Change to DW 0FF56H,0E001H,00000H,00001H DW 000D0H,00030H,00000H,00000H =====> REMOVE THIS LINE DW 000C0H,00015H,00000H,00000H DW 000C2H,00038H,00000H,00000H DW 000C2H,00080H,00000H,00000H DW 000C2H,0001DH,00000H,00000H DW 000C2H,0007FH,00000H,00000H ........ ........ ........ ............................................................................. TABLE 3. JUMPERS INSTALLED ON THE SBC 186/100. ASSUMES 27128 EPROMS AND SCSI INTERFACE INSTALLED. 6-7 12-15 17-18 21-22 23-24 74-81 75-82 89-95 93-94 96-97 35-36 54-62 107-31 101-102 NOTE: 107-31 IS A BLUE WIRE, ALL OTHERS ARE PUSH ON JUMPERS. iRUG LIBRARY VOLUME # 028 LAST UPDATE: 09/20/87 OS: RMX86 Directory Manipulation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.028 This file. INSTALL.CSD SUBMIT file for installing this volume. 028.01 ADVENTURE The object of the game is to find and explore a cave. 028.02 ADVENT.COM 028.03 ADVENT.TXT 028.04 ADVENTURE.HLP 028.05 TREK An adaptation of the classic star trek game. 028.06 TREK.HLP iRUG LIBRARY VOLUME # 029 LAST UPDATE: 01/04/89 OS: RMX86 Text File Manipulation Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.029 This file. INSTALL.CSD SUBMIT file for installing this volume. 029.01 ERRORS Lists errors and warnings in compiler list files. 029.02 ERRORS.HLP 029.03 HEAD Prints the first "n" lines of a file. 029.04 HEAD.HLP 029.05 SIZE Prints the size of a file in bytes and blocks. 029.06 SIZE.HLP 029.07 TAIL Print the last "n" bytes of a file. 029.08 TAIL.HLP 029.09 TOUCH Changes the last modified date for a file. 029.10 TOUCH.HLP 029.11 DUMP Displays a file in hex and ASCII on line printer. 029.12 DUMP.HLP 029.13 DUMP.CSD 029.14 DUMP.PLM 029.15 DEVELAIDS.CSD 029.16 DEVELAIDS.EXT 029.17 DEVELAIDS.PLM iRUG LIBRARY VOLUME # 030 LAST UPDATE: 09/24/87 OS: RMX86 SBX-488 GPIB DRIVER INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.030 This file. 030.01 GPIBDRV.P86 SBX-488 GPIB driver source program. 030.02 GPIB.P86 030.03 GPIBDUIB.SRC 030.04 GPIBDUIT.SRC 030.05 COMMON.LIT 030.06 DIT.LIT 030.07 DUIB.LIT 030.08 UIT.LIT 030.09 GPIB.HLP 030.10 IORS.LIT 030.11 LDRS.LIT 030.12 RMX286.DEF 030.13 RMX86G.DEF iRUG LIBRARY VOLUME # 031 LAST UPDATE: 09/27/87 OS: iRMX86/286 iSBC 226 Configuration INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.031 This file. 031.01 X226.DUIB iSBC 226 Device Unit Information 031.02 X226.INFO Device Information 031.03 X226LL.OBJ Device driver object module 031.04 X226ML.OBJ Device driver object module 031.05 X226UL.OBJ Device driver object module 031.06 B226.A86 Bootstrap driver configuration file 031.07 B226.OBJ 031.08 BS1.A86 Bootstrap first stage configuration 031.09 BS1.CSD Generate the iRMX 86 bootstrap loader first stage 031.10 BS226.OBJ First stage bootstrap loader object module 031.11 INSTAL86.CSD Install driver in BS1.LIB drivers library 031.12 ADLIB.CSD Add obj modules to the master device driver library 031.13 READ_ME RMX286 info 031.14 READ_ME.86 RMX86 info iRUG LIBRARY VOLUME # 032 LAST UPDATE: 09/18/87 OS: RMX286 Text Processing INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.032 This file. INSTALL.CSD SUBMIT file for installing this volume. 032.01 DOCUL Text formatting utility for program documentation 032.02 DOCUL.HLP 032.03 DOCUL.DOC Manual in DOCUL format iRUG LIBRARY VOLUME # 033 LAST UPDATE: 09/19/87 OS: RMX286 Exception Handling INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.033 This file. 033.01 EH.HLP Base and offset of the offending task are passed to the exception handler. COMPACT model of computation: 033.02 EHCC.P28 033.03 EHHIC.P28 033.04 NUCERRORC.A28 033.05 RQERRORC.A28 033.06 JOBC.CSD LARGE model of computation: 033.07 EHHIL.P28 033.08 EHL.P28 033.09 NUCERRORL.A28 033.10 RQERRORL.A28 033.11 JOBL.CSD iRUG LIBRARY VOLUME # 034 LAST UPDATE: 02/15/88 OS: RMX86 Job and System Information Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.034 This file. INSTALL.CSD SUBMIT file for installing this volume. 034.01 MDUMP Dumps memory in hex and ASCII. 034.02 MDUMP.HLP 034.03 MSCAN Scans memory for ASCII or hex strings. 034.04 MSCAN.HLP 034.05 DEVICEINFO Display the size and space information for a volume. 034.06 DEVICEINFO.HLP 034.07 DSPMEM Display the memory attributes of a job. 034.08 DSPMEM.HLP 034.09 INFO Displays the header information of any file. 034.10 INFO.HLP iRUG LIBRARY VOLUME # 035 LAST UPDATE: 05/03/88 OS: iRMX86/286 RMX Kermit Documentation INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.035 This file. 035.01 MSKERM.DOC 120 page KERMIT Documenation iRUG LIBRARY VOLUME # 036 LAST UPDATE: 06/29/89 OS: RMX86 PRINTF formatted I/O for PLM INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.036 This file. 036.01 PRINTF.LNK Formatted output to console. 036.02 FPRINTF.LNK Formatted output to a file. 036.03 SPRINTF.LNK Formatted output to a string. 036.04 PRINTF.DOC 036.05 PRINTF.EXT 036.06 FPRINTF.EXT 036.07 SPRINTF.EXT 036.08 WC Word/line/char count demo of PRINTF. 036.09 WC.001 036.10 WC.CSD 036.11 ASCIITBL Prints dec/oct/hex conversion tbl (demo of PRINTF). 036.12 ASCIITBL.001 036.13 ASCIITBL.CSD iRUG LIBRARY VOLUME # 037 LAST UPDATE: 03/29/88 OS: RMX86 iRAFT - ASYNCRONOUS FILE TRANSFER UTILITY INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.037 This file. 037.01 VTP iRAFT virtual terminal program 037.02 CONFIG iRAFT configuration utility 037.03 CHBAUD iRAFT change baud rate utility 037.04 IRAFT.CNF iRAFT default configuration file 037.05 XFRMS iRAFT transfer master to slave 037.06 XFRSM iRAFT transfer slave to master 037.07 IRAFT iRAFT slave software 037.08 IRAFT.DOC iRAFT documentation file iRUG LIBRARY VOLUME # 038 LAST UPDATE: 12/14/88 OS: RMX86/286 Using RQ$A$GET$DIRECTORY$ENTRY INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.038 This file. 038.01 LDIR.PLM Demo source code for RQ$A$GET$DIRECTORY$ENTRY 038.02 UTILITY.PLM Utility procedures needed by LDIR.PLM 038.03 ASCII.LIT Include file 038.04 UTILITY.EXT Include file 038.05 RMXPLM.EXT Include file 038.06 LDIR86.CSD Submit file for linking RMX86 version (LDIR.86) 038.07 LDIR.86 RMX86 demo executable 038.08 LDIR286.CSD Submit file for linking RMX286 version (LDIR.286) 038.09 LDIR.286 RMX286 demo executable 038.10 DSORT.PLM Directory is read, sorted, written back to disk 038.11 DSORT.CSD Submit file for linking RMX286 version 038.12 DSORT.DOC iRUG LIBRARY VOLUME # 039 LAST UPDATE: 12/16/88 OS: RMX286 iRMX301 Utilities for iSYP-301 INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.039 This file. 039.01 KEY Keyboard reconfigurator for iSYP-301 039.02 KEY.CSD 039.03 KEY.DOC 039.04 KEY.P28 039.05 KBTAB Keyboard table display for iSYP-301 039.06 KBTAB.CSD 039.07 KBTAB.DOC 039.08 KBTAB.P28 iRUG LIBRARY VOLUME # 040 LAST UPDATE: 12/16/88 OS: RMX286 Multibus II Intervendor Operability Demo INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.040 This file. ABSTRACT.040 040.01 MMG Multibus II Intervendor Operability Demo 040.02 COM.LIT 040.03 IC.DCL 040.04 IC.EXT 040.05 ICMOD.P28 040.06 IOMOD.LIT 040.07 IOMOD.P28 040.08 MMG.CSD 040.09 OSCOFF 040.10 OSCON 040.11 RCVMOD.P28 040.12 README 040.13 ROOTMOD.LIT 040.14 ROOTMOD.P28 040.15 SENDMOD.P28 040.16 START.P28 040.17 STARTHI.P28 040.18 UTILS.EXT MULTIBUS (R) II INTERVENDOR OPERABILITY DEMO by Roger Finger MB II Product Marketing, Intel Corp. In the three years since MULTIBUS II products first became available, there have been numerous demonstration packages which highlight the basic features of the bus. New features such as interconnect space and message passing need to be shown in order to gain full appreciation for the value of these services. As the MULTIBUS II vendor community continues to gain momentum a new generation of products has become available. These products greatly increase the selection of MULTIBUS II boards available to users and enhance the offerings already available from Intel. In the past intervendor compatibility has been mostly left to system integrators and adventurous customers who have sufficient technical skills to locate design problems and fix them. At the recent BUSCOM '88 trade show in Anaheim, California, a group of MULTIBUS II vendors used this opportunity to seize the initiative by demonstrating their products working together in a 20 slot backplane. The assignment was simple and direct. "Be able to make contact through interconnect and message space with another board of your own choosing -- without interfering with other backplane functions." The interconnect requirement was the first problem we tackled. One would expect that hardware level compatibility would be very good between MULTIBUS II boards from different vendors, since most are using the MPC component in a standardized bus interface. Indeed this is so. We tested 21 boards from 15 different vendors and found that all were compatible in terms of backplane functions and interconnect space. This was shown in the Intel booth, where the following products were displayed: VENDOR PRODUCT NAME ------ ------------ ANALOG DEVICES RTI-984 Framegrabber Board ANALOG DEVICES RTI-980 Array Processor Board BICC VERO MB2 Prototyping Board CENTRAL DATA CD22/3800 8-Channel Comm Controller CENTRAL DATA CD22/6400 SBX Motherboard CENTRALP FAB 420 32-Channel Industrial Output Board CIPRICO Rimfire 2500 SCSI Host Bus Adapter CIPRICO Tapemaster 2000 Half Inch Tape Adapter CREONICS Motion Control Card CONCURRENT TECH M-IO 188/120 Intelligent Parallel I/O CONCURRENT TECH M-CC 186/112 Digital I/O Controller DATA TRANSLATION DT 2401 Analog and Digital I/O Board FURRER-GLOOR MB2 Eurolog Link Board INTEL ISBC 386/116 Single Board Computer INTEL ISBC 186/224A Multi-peripheral Controller INTEL ISBC CSM/001 Central Services Module MATROX MMG-640 Color Display Processor MICRO INDUSTRIES 186/140 Analog Input Board MICRO INDUSTRIES 186/110 Universal Prototyping Board MICROBAR MT68020 Single Board Computer MONOLITHIC SYSTEMS MSC 5910 RAM with ECC and Cache ZENDEX 20 slot chassis The requirement to pass messages between boards from different vendors required some engineering effort, and therefore a smaller, representative group of MMG products was chosen for this part of the exercise. Applications engineers from Intel, Microbar, Central Data Corp, and Electronic Solutions contacted each other via phone in mid-December to discuss message formats and command syntax. During this discussion we learned that each of the vendors had already proven message passing communications between boards of their own manufacture, but had not tested specificly for inter-vendor compatibility. This became the goal for phase two of the demo. At Intel, there is a good selection of tools available to accomplish this task. Using the iRMX(R)II.3 operating system and the modules development platform (a preconfigured system product), the coding to meet the initial demo requirements was done in an afternoon. The remainder of the time was spent in making enhancements. The following commands are available to the user during operation of the demo: B - BENCHMARK BENCHMARK MODE - NO SCREEN UPDATES C - CLEAR CLEARS THE HISTORY BUFFER D - DISPLAY SHOWS THE CONTENTS OF INCOMING ASCII MESSAGES G - GO FOREVER AUTOMATED FULL-SPEED MESSAGE PASSING OPERATIONS H - HISTORY SHOWS STATISTICS OF MESSAGE PASSING TRANSACTIONS I - INTERCONNECT PERFORMS A SCAN OF THE BACKPLANE S - SEND SENDS SOLICITED MESSAGES TO AN AGENT ON THE BACKPLANE T - TERMINAL SET TERMINAL ATTRIBUTES U - UNSOLICITED SENDS UNSOLICITED MESSAGES TO ANOTHER AGENT ? - HELP PRINTS THIS HELP MESSAGE The demo makes use of most of the O.S. features available to an iRMX programmer - inclusing multitasking, mailboxes and semaphores, regions, and of course the nucleus communications service which supplies the message passing system calls. The iRMX II.3 terminal support code is used for cursor positioning and screen control. More than 15 popular terminal types are supported. Emphasis was placed on ease-of-use rather than completeness or sophistication. The result is a useful learning tool for first time Multibus II users. Software compatibility between vendors requires that all parties can agree on a set of well defined data structures and command formats for the messages we send and receive. The documents we used as our reference point is the "Multibus II Transport Specification" which has been published and widely distributed by Intel during the past year. If all vendors conform to this spec then their products should intercommunicate freely with each other-we hoped... Our concerns focused on systems integration issues such as overrun, flow control, slot independence, location of other agents in the backplane, and the fact that the 68020 stores word data in a different order that the Intel 80386. The three participants agreed to meet at Microbar in Sunnyvale, CA, in order to test for implementation differences. The first two hours of this meeting uncovered some typical system integration problems which were quickly overcome. These included system tuning to avoid overrun conditions, integration of the Electronic Solutions backplane CSM module and some minor data format differences. By sundown all issues had been resolved and we went out to celebrate at one of the bay areas' finer restaurants. The venue for showing off these capabilities was a press breakfast at which editors from every major U.S. industry trade journal and periodical were represented. We all had confidence in our work, but when the stakes are this high one tends to wonder if we had overlooked anything! As it turns out, everything worked to perfection. Mr. Carl Warren (Senior Editor of HARDCOPY Magazine) was invited to remove boards from the backplane and reposition them in any way he desired. Again the system functioned properly-indicating slot independence and autoconfiguration. Intervendor operability was displayed to everyones' satisfaction when messages from Central Data and Intel arrived at the contact with a 68020 across a backplane, and the editors were duely impressed. Members of iRUG can experience the current demo software by sending off for the Multibus II Intervendor Operability Demo Software now available from the iRUG librarian. You will receive the source and object code for this demo to run on any 286 or 386 based board which supports the iRMX II.3 operating system. Code for the Central Data and Microbar boards in this demo can be obtained by contacting those vendors directly. Having achieved this milestone, the Multibus I manufacturers are moving forward with plans for the next BUSCON in Boston next fall. By then we hope to integrate boards from even more vendors, complete with functioning device drivers and communications between multiple operating systems. WE'll see you there... iRUG LIBRARY VOLUME # 041 LAST UPDATE: 01/05/89 OS: RMX286 Source Code Maintenance INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.041 This file. INSTAL.CSD SUBMIT file for installing this volume. READ.ME Additional information about this volume. 041.01 DIRCMP.HLP 041.02 DIRCMP.286 Compares two directory hierarchies 041.03 SELECT.286 Matches filenames in dirs to given wildcards 041.04 SELECT.HLP iRUG LIBRARY VOLUME # 042 LAST UPDATE: 05/23/88 OS: MS-DOS MEDIA FORMAT: LD 360KB MS-DOS SIZE: 178KB Kermit for MS-DOS Donated to library by: UNKNOWN Text supplied with donation: INSTAL.CSD installs both the RMX86 and RMX286 versions of kermit and wc, the wild-card implementation auxiliary command. To do so, it creates the directories /utils and /util286 to ensure the existence of the appropriate directory for both operating systems. If you have both operating systems and want Kermit for each of them, then this is the easiest way to do it. As super user: submit :logical_name:instal(:logical_name:) where logical_name is the logical name by which the floppy disk was previously attached. If you want Kermit for only one of the operating systems, then either use INSTAL.CSD and delete the unwanted files (and, possibly, the extraneous directory), or install manually. Assuming that you are super user and that the floppy disk is attached as :F:, manual installation consists of: copy :F:*.86 over :utils:* (for RMX86) or copy :F:*.286 over :utils:* (for RMX286) followed by: permit :utils:kermit,:utils:wc R u=world Read MSVRMX.DOC for configuration instructions and other RMX system specific information. Note that configuration is completely different from the 2.26 version. Other files on this disk: MSKERM.UPD This file contains Columbia's files, MSR227.UPD, MSR228.UPD, MSR229.UPD, and MSR230.UPD, tacked together with intervening form feeds. The collection describes cumulative differences from version 2.26. MSKERM.BWR Columbia's "beware" file discusses previous version incompatibilities, limitations and restrictions, and includes a periodic accumulation of problem reports. This file is usually within days of being current at the time your disk was written. MSKERM.HLP A five page summary of Kermit commands. Other disks in the Kermit collection: KERMIT.EXE Executable Kermit program for the IBM PC and close clones. KERMIT.EXE has been EXEPACK'd to save nearly 15 K bytes. There is an unsubstantiated rumor that EXEPACK'd programs don't work on all systems. (iRUG volume #038) MSKERM.DOC Approximately 120 pp, with an index and table of contents. It has form feeds for page breaks, bare cr's for underlining and overprinting, and multi-lf's for double and triple spacing. (iRUG volume #035). iRUG LIBRARY VOLUME # 043 LAST UPDATE: 05/03/88 OS: MS-DOS MEDIA FORMAT: LD 360KB MS-DOS SIZE: 50KB iRMX Named disk structure access utility for MS-DOS Donated to library by: CompuFirm Corp (shareware) Text supplied with donation: file Information for using R2M - the iRMX to MSDOS File Copy Utility "SHAREWARE" program Release 1. Version 0.1 March 9,1988 R2M has 4 help menus the first gives you the current options: iRMX to MSDOS File Copy Utility - R2M V0.1 Copyright (C)1988 CompuFirm Corporation All Rights Reserved Worldwide. Insert iRMX disk into drive A and press [Enter] Options: [Enter] to begin [Escape] to exit B to use drive B D to see Debug information H for Help O for this menu (Options) P for Product information T for Technical information <> The Help Menu is as follows: iRMX to MSDOS File Copy Utility - R2M V0.1 Copyright (C)1988 CompuFirm Corporation All Rights Reserved Worldwide. Insert iRMX disk into drive A and press [Enter] Options: [Enter] to begin [Escape] to exit B to use drive B D to see Debug information H for Help O for this menu (Options) P for Product information T for Technical information This "SHAREWARE" product is brought to you by CompuFirm Corporation 7841 Balboa Ave. San Diego, CA 92111 (619) 571-0228 You may distribute this program freely at no cost It is written in PL/M 86 using the PL/M CONNECTION (C) <> The Technical Menu is as follows: iRMX to MSDOS File Copy Utility - R2M V0.1 Copyright (C)1988 CompuFirm Corporation All Rights Reserved Worldwide. Technical Information - Version 0.1 Limitations: cannot copy iRMX "long" files (scattered all over the disk) cannot copy files over 64k bytes in length attempts to copy all files from floppy assumes no nested directories on floppy assumes an iRMX formatted diskette iRMX device = wmfdx0 granularity = 512 interleave = 5 files = 200 extension size = 3 volume size = 318K map start = 301 sides = 2 density = double disk size = mini <> The Products Menu is as follows: iRMX to MSDOS File Copy Utility - R2M V0.1 Copyright (C)1988 CompuFirm Corporation All Rights Reserved Worldwide. Product information as of March 9,1988. If you need to copy iRMX "long" files or files over 64K our commercial version of R2M is available for $195 The CompuFirm ISAM DataBase Manager with source code for iRMX or MS-DOS based systems is available for $195 The PL/M Connection with source code and support for both the Compact and Large memory models is available for $395 For information on iRMX to MS-DOS program conversions and Software Engineering services please call. CompuFirm Corporation 7841 Balboa Ave. San Diego, CA 92111 (619) 571-0228 <> The following ERRORS may be reported by R2M when attempting to copy a file to DOS from IRMX: Message: STATUS Action: R2M - Unable to set DASD type Fatal Make sure disk is present Error if Using A 1.2Meg AT Drive and drive is closed. Retry. and unable to set density ... Error reading fnode from iRMX disk Fatal Unable to read directory from iRMX Disk. Retry. ... Error reading iRMX root directory Fatal Unable to read directory from iRMX Disk. Retry. ... Error reading data from iRMX disk Warn Read error, file is suspect. ... Error writing data to MS-DOS disk Warn Write error, file is suspect. ... Insufficient Memory Fatal Free up additional memory and try again. ... Unable to copy long file Warn Internal error. Program limitation. ... Illegal block number Warn Internal error. Program limitation.  iRUG LIBRARY VOLUME # 044 LAST UPDATE: 07/26/89 OS: RMX286 CLI EXTENSION INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.044 This file. 044.01 CLIEXT.P28 Allow user to extend functions of SET command of CLI 044.02 CLIEXT.HLP 044.03 EXIST.P28 044.04 EXIST.HLP 044.05 CLI.CSD iRUG LIBRARY VOLUME # 045 LAST UPDATE: 07/26/89 OS: RMX286 EGA graphics for SYP120 INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.045 This file. 045.01 SUNGLAS.P28 EGA character-mode graphics demo for SYP120 iRUG LIBRARY VOLUME # 046 LAST UPDATE: 03/21/90 OS: RMX86/286 PLM .EXT Procedure Generator INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.046 This file. 046.01 EXTGEN Generate external declarations for PLM programs 046.02 EXTGEN.HLP 046.03 EXTGEN.AUX 046.04 EXTGEN.CSD 046.05 EXTGEN.EXT 046.06 EXTGEN.PLM iRUG LIBRARY VOLUME # 047 LAST UPDATE: 03/21/90 OS: RMX86/286 Multitasking demonstration INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.047 This file. 047.01 DEMO A Multitasking demonstration 047.02 DEMO.HLP 047.03 EXP1 Sample command files 047.04 EXP2 047.05 EXP3 047.06 EXP4 047.07 DEMO.EXT Source 047.08 DEMO.PLM 047.09 DISPLAY.EXT 047.10 DISPLAY.LIT 047.11 DISPLAY.PLM 047.12 INIT 047.13 INITTERM.EXT 047.14 INITTERM.PLM 047.15 MAKEFILE 047.16 STATUS.EXT 047.17 STATUS.PLM 047.18 TASKS.EXT 047.19 TASKS.PLM 047.20 TERMTABLES.LIT 047.21 TERMTABLES.PLM iRUG LIBRARY VOLUME # 048 LAST UPDATE: 03/25/90 OS: RMX86/286 Comparing PL/M to C INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- These programs relate to an article published in the Winter '89 issue of the HUMAN INTERFACE CATALOG.048 This file. 048.01 HELLO.PLM PL/M version of "hello, world" 048.02 HELLO.CO "Raw" result of translating HELLO.PLM to C 048.03 HELLO.C Edited version of HELLO.CO (still PL/M-style), for use with Intel iC-n86 V4.x 048.04 HELLO.CC "Classic" version of "hello, world" 048.05 HELLO.BAT DOS batch file to compile and link PL/M and C versions of "hello, world" 048.06 HELLOP.CON LINK86 directives used with HELLO.BAT 048.07 HELLOC.CON LINK86 directives used with HELLO.BAT 048.08 I86.H iC-86 V4.1 header file used by HELLO.C iRUG LIBRARY VOLUME # 049 LAST UPDATE: 03/25/90 OS: RMX286 Screen Editor INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.049 This file. ABSTRACT.049 Further explanation of this volume. 049.01 SCEDIT Screen editor used to draw screens and fields. 049.02 CRT.DOC Screen editor documentation 049.03 CRT.EXT Defines external procedures 049.04 CRT.LIT Defines commom literals 049.05 CRT.LIB Interface library ************** *** SCEdit *** ************** The need for a Human Interface programs (Programs that produce output on a terminal and get input from the keyboard for example) is a well known neccessety among software programmers and computer consumers. If you are a computer consumer, then the thing that mostly interests you is that the program you'll get will be as user friendly as possible. If you are the programmer that have to write this program, you are facing many problems, one of them is the "User friendly" problem which is not the biggest one. As a software programmer that needs to write Human Interface programs, you have two choices: 1. Start from scratch. Write input/output routines that for example, move the cursor, print text, get single-character/entire-line from the user, etc. 2. If you have already written these routines or you inherited them from sombody, you start writting your final program using those routines. In both cases, you can't avoid the final program development stage. Even if you are a very talented programmer, you know that sofware writting is a very painfull phase until you get the final outcome (Which is not fully debugged in most cases). Imagin now that you get an editor that enables you to draw screens like you want them to look like when running your program. Imagin that through this editor you can also draw input fields and define specific parameters for each field, again, like the way you wanted this field to get user data when running your final program. After drawing those screen and fields, you'll save them to a single file (Called the library file) and exit the editor. The question now is how to load the screens and fields into your application. In order to satisfy this demand, you get special routines, that are linked to your final program, that can load anything you have drawn in the editor into your application. If you have drawn a screen in the editor, then after loading it in a single call, it is immediatly drawn to the output media (Terminal for example). If you have defined an input field in the editor, then after loading it, you call another special routine that transfers user's data through this field into your program. This idea is the major concept of SCEdit. For a metter of a fact, this editor can give you much more then was mentioned here, and you don't get only an editor loading routins: The routines you get can do many input/output functions which enables you to write emazing Human Interface programs. From self (And others) experience, an enormous reduction in work is achieved when working with this software. Projects that were partialy based on Human Interface, fulfilled their input/output requirements in no-time. It was a metter of days and even hours when the entire input/output requirements were all satisfied. Reduction in time is one benefit. After getting to know how to work with this software, you find out that you can produce input/output functions you never thought you'll get. Maintenance of your final application is much easier. Not in many cases you need to recompile and relink your final application when input/output features need to be changed: All you need to do is to enter SCEdit again, redraw your screens/fields, save, exit, run your program, and everything is fixed. Here are some of the SCEdit abilities: Draw screens or part of screen (Blocks) in one of sixteen different attributes. Use any known Alpha-Numeric/Graphic character for drawing. Definition of several input fields on the same screen, each with varius parameters. For example: Automatic trimming, upper/lower case, input attribute, output attribute, return keys, image field (For time/date) and many others. Automatic windows drawing. A screen library definition into which you save the screens/blocks/fields you have drawn. A "like PC Northon Commander" through which you can look at all the files in the screen library and delete/load/rename/remark each and every one. A "Spawn to the system" which enables you to send any known system command without exiting the editor. Block functions for move/copy/background/foreground/fill with chararcter/ attribute a block (Part of the screen). These were only a selected few of the SCEdit features. As one of the software users you should know this: As for now, the entire software runs only under Intel's RMX 1,2. Efforts are now being made in order to make it run undex VAX-VMS and PC-DOS. This software has a full support for multitasking/multiterminal. That is: You can write several tasks that produce output on the same screen all that without any special schedualing (Like semaphores etc.). Since this software is connection dependent, you can use the special routines you get in order to produce output and get input from any RMX known connection (Like files etc.). Full detailed documentation is added explaining the concepts of working with this software, how to use it right (And how not to use it wrong). Full explanation for the routines you get and how to use and link them into your program. Few software demonstrations and a detailed guide for the usage of SCEdit is also supplied. Yoram Jibli. Independant Software Consaltant. Ramat-Gan. Israel. Here is a brief description of the given files: CRT.DOC - Full documentation for the supplied software. CRT.EXT - Defines all given procedures external. CRT.LIT - Defines commom literallies used by this software. CRT.LIB - A library containing all needed procedures (Defined external on CRT.EXT) to be used by the programmer. SCEDIT - The screen editor used to draw screens and fields. As a programmer using this software, follow the next instructions: 1. Read CRT.DOC. It will give you a very detailed information of how to use this software. 2. Include CRT.EXT + CRT.LIT in your software. If you are write in PLM, you will have no problems. If not, rewrite these two files so that they would be fully understood by the language you write with. 3. Link your objects with CRT.LIB. Don't forget you must also link with the RMX NUCLEUS and EIOS and PLM extension library (The one that devides DWORD's for example) as well. 4. Use SCEDIT to draw images and fields. The way to load them into your application is explained in CRT.DOC. Hope you'll enjoy this software. If you have any questions, call: 03-983608 and ask for Yoram Jibly. FORTRAN Routines to Access Multibus Window Adresses iRUG LIBRARY VOLUME # 050 LAST UPDATE: 03/25/90 OS: RMX86/286 Accessing physical memory w/FORTRAN INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.050 This file. ABSTRACT.050 Further explanation of this volume. 050.01 WRITEW.FTN Accessing physical memory with FORTRAN 050.02 WRITEBA.FTN 050.03 READB.FTN 050.04 READBA.FTN Some devices, such as the iSBX 311 A/D and iSBX 328 D/A boards, are accessed via I/O ports, and FORTRAN routines are supplied for reading and writing. Many MULTIBUS boards, however, communicate with the CPU via dual port RAM or write-only memory locations. The adresses are normally located in the MULTIBUS window. Standard FORTRAN does not provide a means to access arbitrary addresses; however, by a somewhat devious trick, it is possible to carry out the necessary communication. Two steps are required: one carried out in the main program, and the other in a subroutine. The main program must use the system call RQCREATEDESCRIPTOR and a user-supplied offset to create a pointer to the desired address; then, using the %VAL function, transmit the value of the pointer to a subroutine. The subroutine then uses the pointer to access the appropriate memory locations and copy the data to or from program memory. Typical code required in the main program is: INTEGER*2 LOGADR,MSIZE,DUMMY(2),OFFSET C LOGADR is the selector portion of the pointer. C MSIZE is the size of the region in the MULTIBUS window to be addressed C (in bytes). C DUMMY is an array used to assemble the pointer. C OFFSET is the offset portion of the pointer. INTEGER*4 ABSADR,MPOINT C ABSADR is the absolute address of the beginning of the MULTIBUS region to C be accessed. C MPOINT is the full double word pointer. EQUIVALENCE(MPOINT,DUMMY(1)),(LOGADR,DUMMY(2)) C This EQUIVALENCE statement provides for the combination of the single C words LOGADR and the current value of OFFSET into the double word MPOINT. C INTEGER*2 IWORD C IWORD is used for illustration. C C Set up communications for an absolute base address of F80000 and C no offset. C ABSADR=#0F80000H MSIZE=4224 OFFSET=0 LOGADR=RQECREATEDESCRIPTOR(%VAL(ABSADR),%VAL(MSIZE),ICODE) C This call to RQECREATEDESCRIPTOR should be used only once, at the beginning C of the main program. DUMMY(2)=OFFSET C DUMMY(2) may be changed as needed. C C MPOINT is now a double word pointer to the desired location. C C ........... C At any point in the program to access this memory, use a C subroutine call; e. g. to write the integer IWORD to the selected C memory location use: C CALL WRITEW(%VAL(MPOINT),IWORD) C ................... Subroutines supplied are: WRITEW, WRITEBA, READB, and READBA. Others may easily be constructed following these as models. If you wish to call them from other subroutines, simply transmit the array DUMMY through COMMON. If you need to access more than one absolute address, set up DUMMYA(2) LOGADRA, etc. You can access different locations within a given block by changing the value of DUMMY(2) to the desired offset. Paul A. Flinn Intel Corp. 16 August 1989. iRUG LIBRARY VOLUME # 051 LAST UPDATE: 03/31/90 OS: RMX86 TCP/IP, UDP, TELNET, FTP in RMX I INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- These programs relate to a presenatation at the 1989 Conference CATALOG.051 This file. 051.01 UDP.P86 TCP/IP, UDP, TELNET, FTP in RMX I 051.02 INIT.P86 051.03 IPRCV.P86 051.04 IPSND.P86 051.05 IPLIB.P86 051.06 ICMPLIB.P86 051.07 EXOS.P86 051.08 NXKCALL.A86 051.09 UDP_INIT.P86 iRUG LIBRARY VOLUME # 052 LAST UPDATE: 11/28/90 OS: RMX86/RMX286 OpenNet Print Server on iRMX INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.052 This file. ABSTRACT.052 Further explanation of this volume. 052.01 RLPRSRV.PLM First level job for print server 052.02 RLPRSRV.LNK 052.03 RLPRSRV.CSD 052.04 RLPRSRV.EXT 052.05 RLPRSRV.MAK 052.06 SPOOLSTAT Examine/delete jobs in print queue 052.07 SPOOLSTAT.PLM 052.08 SPOOLSTAT.CSD 052.09 SPOOLSTAT.EXT 052.10 RLPR Send files to a local or remote print spooler 052.11 RLPR.HLP 052.12 RLPR.C 052.13 GETUNAME.C 052.14 INA960.C 052.15 INA960.H 052.16 NAME.H 052.17 NMF.H 052.18 SMBCOR.H 052.19 SMBEXT.H 052.20 SMBHDR.H 052.21 SMBINT.H 052.22 SMBSPL.H 052.23 TODAY.H 052.24 RLPR.MAK June 27, 1990 Implementing an OpenNet print server on iRMX. The rlpr command sends files to a (local or) remote print spooler. There is a help file in that directory. It works for the iRMX server and for the Xenix spooler. I assume it also works for UnixV and DOS servers, but I haven't tested them. The first level job must be configured into iRMX in order to have the iRMX system act as a print server. Read the comments at the beginning of the rlprsrv.plm program for information on the spooler. This spooler has been tested successfully with iRMX, Xenix, UnixV, and DOS clients. The rlprsrv.lnk file was built without the "binary_ok" flag on, so it rejects binary files. If you have the make program, you can rebuild rlprsrv.lnk to allow binary files by entering: "make BFLAG=binary_ok". I think the BFLAG is case sensitive. SPOOLSTAT is a utility for examining the print queue on a local system and optionally deleting print jobs from the queue. Christopher Vickery Computer Science Department Queens College (CUNY) Flushing, NY 11367-0904 iRUG LIBRARY VOLUME # 053 LAST UPDATE: 12/06/90 OS: RMX286 Alias List Utilities INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.053 This file. ABSTRACT.053 Further explanation of this volume. 053.01 ALIASCSD Saves alias list in a submit file 053.02 ALIASCSD.C Main Source for ALIASCSD program 053.03 ALIASCSD.CSD Submit file to make ALIASCSD 053.04 ALIASCSD.HLP Help file for ALIASCSD 053.05 LOADALIA Copies alias list of parent user to current user 053.06 LOADALIA.C Main Source for LOADALIAS program 053.07 LOADALIA.CSD Submit file to make LOADALIAS 053.08 LOADALIA.HLP Help file for LOADALIAS 053.09 ALIAS.H Alias List defines and structure 053.10 GETPAREN.C Source code for getparent() and findparent() 053.11 GETPAREN.H Declarations for getparent() and findparent() 053.12 SHOWVERS.C Source code for show_version() 053.13 SHOWVERS.H Declarations for show_version() NOTE: Some files were renamed so that they would fit the DOS file name format "????????.???". These file should be renamed before attempting to compile and bind the programs. (1) Rename all "getparen*" files to "getparent*" (2) Rename all "loadalia*" files to "loadalias*" iRUG LIBRARY VOLUME # 054 LAST UPDATE: 12/04/90 OS: MS-DOS MEDIA FORMAT: LD 360KB MS-DOS SIZE: 99KB iRMX Named disk structure access utility for MS-DOS Donated to library by: UNKNOWN Text supplied with donation: None Files: RMXDISK.EXE - MS-DOS executable. iRUG LIBRARY VOLUME # 055 LAST UPDATE: 12/17/90 OS: RMX286 Create and maintain file archives INDEX- ---FILENAME--- -------------------DESCRIPTION--------------------------- CATALOG.055 This file. ABSTRACT.055 Further explanation of this volume. 055.01 ARCDOS Compatible with MS-DOS version of ARC. Supports DOS file naming convention of "8-dot-3". 055.02 ARCRMX Supports RMX file naming convention. Not compatible MS-DOS ARC. 055.03 ARC521.DOC Help file for ARCDOS and ARCRMX iRUG LIBRARY VOLUME # 056 LAST UPDATE: 12/10/90 OS: RMX286 Create and maintain file archives ARC v5.21 for iRMX II 12/10/90 Ported By Richard Carver ------------------------ This program is a port to iRMX II from a port to UNIX of the ARC File Archive Utility (MS-DOS) from System Enhancement Associates, Inc. The program ARCDOS is the version of this program that is compatible with MS-DOS version of ARC v5.21. This only supports the DOS file naming convention of "8-dot-3" (????????.???). Files that do not conform to this naming convention can not be archived and will generate an error during the archiving process. By default, files created with this program will have the extension ".ARC". This program ARCRMX is a modified version of the ARC v5.21 program to support the full iRMX file naming convention. In order to distinguish files produced by ARCRMX from those produced by ARCDOS, ARCRMX archive files are given an extension of ".ARX". DO NOT use this version for any operation (extract, update, add, delete, etc.) on files created under DOS or using ARCDOS!! Both versions, ARCDOS and ARCRMX, accept the iRMX wildcard pattern characters (* and ?) for archiving, extracting and listing files. The enclosed source code files (*.c, *.h) and submit files (*.csd) are all that is required to rebuild the ARC v5.21 program. The submit file CMPALL.CSD will compile all files (uses IC.CSD). The submit file BIND.CSD will build the ARCDOS program. These submit files are based on the iC-286 X224 compiler. This is a beta version of the iC-286 V4.3. If you are using iC-286 v4.1, you will have to change BIND.CSD since library names changed between v4.1 and v4.3 of the iC-286 C compiler. Also, the SYSDIR.CSD file will create a sub-directory and transfer the proper header files to this directory (submit before you compile for the first time). To recompile the ARCRMX version, change the RMXDOS define in the ARC.H header file from 0 to 1. Submit CMPALL.CSD to recompile all the code. Change ARCDOS to ARCRMX in the BIND.CSD file and submit BIND.CSD. This code should be able to be compiled on an iRMX I system with no problems. Since I do not have access to an iRMX I system, I can not provide an executable. Documentation: The ARC521.DOC file contains the main documentation for using the ARC program. Minor Problems: Most of the main options work fine (add, delete, extract, verbose, listing, test integrity). There is a problem with the Update option. This appears to be related to a file time stamp problem. The result is that files are always updated even if they haven't changed. This causes no loss of data and I will check into it as time permits. If your are archiving many files, you may encounter an E$SLOT error. This is because the ARC program will usually allocate several small segments for each file name being archived. A lot of these small segments can use up all the slots in the Global Descriptor Table. If this happens, you will have to perform the archive in several passes (unless you want to reconfigure your system with more GDT slots!). I may look into this at some time but I prefer to make as little changes as possible to the original code. Future Updates: I am working on a port of ARC v6.02 from MS-DOS to iRMX II. This version has better support for operating systems with differring file naming conventions and also supports archiving sub-directories. Since this is in my "spare time", I can not say when it will be completed. Comments/Suggestions: I can be contacted on CompuServe at 71061,1754 or through a message on the Intel REALTIME Forum (GO REALTIME). I can be reached by phone at (708) 937-1029. ARC v5.21 for iRMX II 12/10/90 Ported By Richard Carver ------------------------ This program is a port to iRMX II from a port to UNIX of the ARC File Archive Utility (MS-DOS) from System Enhancement Associates, Inc. The program ARCDOS is the version of this program that is compatible with MS-DOS version of ARC v5.21. This only supports the DOS file naming convention of "8-dot-3" (????????.???). Files that do not conform to this naming convention can not be archived and will generate an error during the archiving process. By default, files created with this program will have the extension ".ARC". This program ARCRMX is a modified version of the ARC v5.21 program to support the full iRMX file naming convention. In order to distinguish files produced by ARCRMX from those produced by ARCDOS, ARCRMX archive files are given an extension of ".ARX". DO NOT use this version for any operation (extract, update, add, delete, etc.) on files created under DOS or using ARCDOS!! Both versions, ARCDOS and ARCRMX, accept the iRMX wildcard pattern characters (* and ?) for archiving, extracting and listing files. The enclosed source code files (*.c, *.h) and submit files (*.csd) are all that is required to rebuild the ARC v5.21 program. The submit file CMPALL.CSD will compile all files (uses IC.CSD). The submit file BIND.CSD will build the ARCDOS program. These submit files are based on the iC-286 X224 compiler. This is a beta version of the iC-286 V4.3. If you are using iC-286 v4.1, you will have to change BIND.CSD since library names changed between v4.1 and v4.3 of the iC-286 C compiler. Also, the SYSDIR.CSD file will create a sub-directory and transfer the proper header files to this directory (submit before you compile for the first time). To recompile the ARCRMX version, change the RMXDOS define in the ARC.H header file from 0 to 1. Submit CMPALL.CSD to recompile all the code. Change ARCDOS to ARCRMX in the BIND.CSD file and submit BIND.CSD. This code should be able to be compiled on an iRMX I system with no problems. Since I do not have access to an iRMX I system, I can not provide an executable. Documentation: The ARC521.DOC file contains the main documentation for using the ARC program. Minor Problems: Most of the main options work fine (add, delete, extract, verbose, listing, test integrity). There is a problem with the Update option. This appears to be related to a file time stamp problem. The result is that files are always updated even if they haven't changed. This causes no loss of data and I will check into it as time permits. If your are archiving many files, you may encounter an E$SLOT error. This is because the ARC program will usually allocate several small segments for each file name being archived. A lot of these small segments can use up all the slots in the Global Descriptor Table. If this happens, you will have to perform the archive in several passes (unless you want to reconfigure your system with more GDT slots!). I may look into this at some time but I prefer to make as little changes as possible to the original code. Future Updates: I am working on a port of ARC v6.02 from MS-DOS to iRMX II. This version has better support for operating systems with differring file naming conventions and also supports archiving sub-directories. Since this is in my "spare time", I can not say when it will be completed. Comments/Suggestions: I can be contacted on CompuServe at 71061,1754 or through a message on the Intel REALTIME Forum (GO REALTIME). I can be reached by phone at (708) 937-1029. iRUG LIBRARY VOLUME # 057 LAST UPDATE: 07/01/91 OS: iRMXII / iRMXIII MEDIA FORMAT: HD 1.2 MB iRMX Named SIZE: 283KB Delayed Deletion Utility (Featured in Human Interface article) Donated to library by: Richard Carver 335 Bedford Court Park City, IL 60085-4757 CompuServe #71061,1754 Text supplied with donation: July 1991 LEGAL STUFF: ------------ WARRANTY DISCLOSURE/LIMITATION OF LIABILITY The software is provided "as is" without warranty of any kind. Neither iRUG nor its suppliers shall be liable for any costs or damages and you agree to indemnify, defend, and hold iRUG and its suppliers harmless from any expenses, damages, costs, or losses resulting from any suit or proceeding. LIMITATION OF LIABILITY The above warranties are the only warranties of any kind either express or implied including warranties of merchantibility or fitness for a particular purpose. Neither iRUG nor its suppliers shall be liable for any loss of profits, loss of use, interruption of business, nor for indirect, special, incidental or consequential damages of any kind whether under this agreement or otherwise. NON-LEGAL STUFF: ---------------- The DDEL and UNDEL programs were compiled using iC-286 X224. This version is a beta-version of the iC-286 v3.4 compiler. The source code should be able to be successfully compiled with any version of the Intel iRMX ANSI-C compilers from version 3.2 and above. However, you made need to change the bind submit file since the library names and linking orders changed between some versions of the compilers. You can rebuild the programs using COMPILE.CSD to compile all of the source code. You can use either BIND.CSD and BINDTINY.CSD to create the executable programs. The only difference is that BINDTINY.CSD includes the controls that tell the binder to strip out all debug and symbol information. If you have a MAKE utility that is UNIX-compatible, the DDEL.MK and UNDDEL.MK files should be able to be used to rebuild the programs. In this archive: File Description ------------ ----------------------------------------------------- ddel Delayed Deletion program unddel Un-Delayed Deletion program ddel.doc Documentation/iRUG Newsletter Article history.doc Version history warranty.doc Warranty Disclosure/Limitation Of Liability (**MUST READ!**) readme.1st This file ddelsrc.arc Archive file of DDEL and UNDDEL source code In DDELSRC.ARC: File Description ------------ ----------------------------------------------------- ddel.c Delayed Deletion source code unddel.c Un-Delayed Deletion source code wcmatch.c Wildcard pattern matching function comppath.c Path composition function dcmppath.c Patch decomposition function showvers.c Display an iRMX version string showvers.h Prototype declarations for "showvers.c" version.h Version string template compile.csd Submit file for compiling all source code bind.csd Submit file to bind all programs (with debug info) bindtiny.csd Submit file to bind all programs (without debug info) ddel.mk MAKE file for DDEL program unddel.mk MAKE file for UNDDEL program I can not claim that there are absolutely no "bugs" in these programs. I have been using them daily for several months without problems and I feel that they are "stable". If you find any problems or if you have any suggestions/comments concerning these programs, please contact me. If you make any modifications (ie. bug fixes, new features) please send me a copy (disk or description) of the changes so that I may keep the program(s) updated. iRUG LIBRARY VOLUME # 058 LAST UPDATE: 03/14/92 OS: iRMXII / iRMXIII MEDIA FORMAT: LD 360KB iRMX Named SIZE: 283KB Permanent directory sort utility Donated to library by: CSSi 10260 Old Columbia Rd. Columbia, MD 21046 (410) 290-9500 Text supplied with donation: SYNTAX TYPE: command SORTDIR [C]apitalize or SORTDIR [L]owercase DESCRIPTION Permanently sorts the valid entries of a directory file by renaming the directory entries to a temporary file, then renaming each entry back to its original directory in alphabetical order. Sorting will be alphabetical rather than by ASCII value. The [C]apitalize or [L]owercase options may be omitted if case of filenames is to remain unchanged. Only one option is permitted. AUTHOR Guy Therien / Joseph N. Kirpes (c)1989 CSSi PROBLEMS OR RESTRICTIONS Maximum number of directory entries is: 4000. iRUG LIBRARY VOLUME # 059 LAST UPDATE: 03/14/92 OS: iRMXII MEDIA FORMAT: LD 360KB iRMX Named SIZE: 283KB Sorted logical names CUSP Donated to library by: CSSi 10260 Old Columbia Rd. Columbia, MD 21046 (410) 290-9500 Text supplied with donation: This CUSP is simply an equivalent of the Intel suplied LOGICALNAMES CUSP with the logical names dislayed in alphabetical order. Developers with a large number of cataloged logical names will find this CUSP useful. iRUG LIBRARY VOLUME # 060 LAST UPDATE: 03/14/92 OS: iRMX For Windows 1.1 MEDIA FORMAT: LD 360KB iRMX Named SIZE: 143KB Physical Device Names Display for iRMX For Windows Donated to library by: Guy Therien CSSi 10260 Old Columbia Rd. Columbia, MD 21046 (410) 290-9500 Text supplied with donation: iRMX III / iRMX for Windows - Physical Device Names V1.1 GMT - CSSi Usage: physname [target_duib_name] [-options] target_duib_name = A specific physical device name to be searched for. options = [-e, -h] -e - Print extended DUIB information -h - Print this help information All physical device names in the standard Intel DUIB cluster and all loaded dynamic clusters will be displayed by invoking the program without any options specified. Dynamic DUIB clusters are displayed such that the last loaded cluster is displayed last. The iRMX DUIB search alogorithm searches duib clusters in the order of last loaded dynamic cluster to first loaded dynamic cluster and then the standard cluster. This program was designed to display DUIBs for the iRMX for Windows Operating System Version 1.1. It will not diplay iRMX III.1.3 DUIBS. This program should be compatible with iRMX III.2.1. For comments or questions call Guy Therien at CSSi (410) 290-9500. README FILE: February 21, 1992. This is a first cut at physnames. It will be added to in the very near future. I am going to add display info for CUSTOM dev_info etc. Also, selectors of some standard cluster duibs are displayed as 0000. Source is provided as a courtesy. Please allow me to make changes and redistibute. Please keep "GMT" and "CSSi" in the banner. iC-386 v4.5 was used to compile it. Use "PHYSNAME -h" for usage. Hard coded BIOS DATA selector is used (09C0). Any comments or questions call Guy Therien at CSSi (410) 290-9500. iRUG LIBRARY VOLUME # 061 LAST UPDATE: 03/14/92 OS: iRMXII MEDIA FORMAT: HD 1.2MB iRMX Named SIZE: 99KB Loadable Device Drivers for iRMX II Donated to library by: Chris Vickery Computer Science Department Queens College (CUNY) Flushing, NY 11367-0904 Phone: (718) 997-3508 Text supplied with donation: LIBRARIAN NOTE: The original code for the iRMX II loadable device drivers was misplaced this code was provided by Chris Vickery as a replacement. Her are his notes: I found this directory tree on one of my iRMX systems, and I think it is up to date. I had started to do a port to 32-bit code, but haven't finished it yet. I think I cleaned all that stuff out of this disk. Unfortunately, some of the file and directory names have had to be corrupted by the DOS 8.3 rule. COPYRIGHT.* should be fairly easy to recognize. Others are more subtle: The paper talks about OSE_EXITS.ASM, for example. Let me know if you have any problems with this. iRUG LIBRARY VOLUME # 062 LAST UPDATE: 09/10/92 OS: iRMX II/iRMX III and MS-DOS MEDIA FORMAT: HD 1.4MB iRMX Named SIZE: 99KB ARKIT File Compression Archiver Donated to library by: Richard Carver 335 Bedford Court Park City, IL 60085-4757 Home: (708) 249-0633 Work: (708) 937-1029 Text supplied with donation: ****************************************************************************** ********************** YOU MUST READ THIS! ******************************* ****************************************************************************** ARKIT File Compression Archiver Utility Written for DOS/iRMX by Richard N. Carver NO WARRANTY BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, ABSOLUTELY NO WARRANTY IS PROVIDED, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, RICHARD N. CARVER AND/OR OTHER PARTIES PROVIDE THIS PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL RICHARD N. CARVER AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE THIS PROGRAM AS PERMITTED BELOW, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) THIS PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. IF ANY LAWS GOVERNING THE USE OF THIS SOFTWARE WOULD IMPLY ANY LIABILITY ON THE PART OF RICHARD N. CARVER, THEN USE OF THIS PROGRAM IS STRICTLY PROHIBITTED. USE OF THIS PROGRAM CONSTITUTES ACCEPTANCE OF ALL STATED TERMS AND EXEMPTIONS OF LIABILITIES. ============================================================================== The program is made available to the "public domain" for DOS, iRMX and any other operating systems you wish to use it with. You may use and distribute this program for personal or business use provided that there is no charge for the program or for any of the files that accompany this "public domain" release. You may use and include this program to archive files on distribution disks for commercial software provided that you do not charge for this program. The original archive and file compression code is based on a "public domain" program called "ar" written by Haruhiko Okumura. I added features to make ARKIT and I have used the DOS version of ARKIT v1.10 for some time with no apparent problems. The iRMX II version has been used frequently, though not as much as the DOS version, and appears to be reliable (there was a fix for v1.20 due to a problem using the "freshen" -f command, but this was only a problem under iRMX For Windows). If you intend to use this program to archive any files of value (ie. data files, commercial software), you may want to extract the files from your archive to a temporary location and compare the orginal with the file extracted. This will help verify that the file was correctly compressed and extracted. Also, you may want to perform an archive integrity test (-t) which will verify CRCs stored for each file with CRCs generated during the test. I have made every effort to ensure that this program works as described and without error. If problems are reported to me, I plan to correct them and release updated versions of the program. If you have suggestions for enhancements, I will consider implemting them if time permits. In any case, the source code is provided so you can correct errors or add features if they are critical or if you wish to tinker. If you make changes to the orginal code, please add your name to the program usage information. I would also be interested in a copy of the changes (address below). If there are any questions or comments, I can be contacted on CompuServe at 71061,1754 or post a message under the iRMX or iRUG sections of the Intel Real-Time Forum (GO REALTIME or GO INTELACCESS). If you need to contact me by mail, send it to: Richard Carver 335 Bedford Court Park City, IL 60085 ARKIT v1.20 08/16/92 This file describes the contents of the ARKIT release file(s) ============================================================= CONTENTS.TXT This file README.1ST Important Usage Information *** MUST READ *** ARKIT.EXE DOS executable ARKIT iRMX II executable HISTORY.DOC ARKIT history/changes log ARKITSRC.ARK Archive of ARKIT v1.20 source code and MAKE files EXTRA.ARK Archive of miscellaneous compression code and text files ARKITSRC.ARK ------------ ARKIT.C ARKIT v1.20 main module IO.C compression I/O functions ENCODE.C compression encoding functions DECODE.C compression decoding functions MAKETREE.C Huffman tree functions MAKETBL.C decoding table functions HUF.C static Huffman functions DIRENT.C DOS & iRMX directory read functions WCMATCH.C iRMX compatible wildcard matching functions FSPLIT.C DOS & iRMX path/file functions ISDIR.C function to test if a file is a directory MKDIRS.C DOS & iRMX directory create functions SHOWVERS.C display iRMX style version string to stdout FSPLIT.H function prototypes for fsplit.c functions DIRENT.H function prototypes and structures for dirent.c functions ISDIR.H function prototype for isdir.c function AR.H main program header file WCMATCH.H function prototype for wcmatch.c function SHOWVERS.H function prototype for showvers.c function VERSION.H default version string definitions IC28641.MK MAKE file for iC-286 v4.1 under iRMX II.4 BORLANDC.MK MAKE file for Borland C++ under DOS TURBOC.MK MAKE file for Turbo C/C++ under DOS MODULES.INC module list for BORLANDC.MK and TURBOC.MK EXTRA.ARK --------- LZARI.C single file compression program source code LZHUF.C single file compression program source code LZSS.C single file compression program source code BOBFREED.MSG BBS compression discussions OKUMURA.MSG BBS compression discussions HEADER.INF Archive header formats LHARCHDR.TXT LHARC header format READ.ME Description for BOBFREED.MSG, OKUMURA.MSG and LHARCHDR.TXT CMPRSN.DOC Description of Data Compression Algorithms of LARC and LHarc iRUG LIBRARY VOLUME # 063 LAST UPDATE: 10/02/92 OS: iRMX II/iRMX III MEDIA FORMAT: LD 360KB iRMX Named SIZE: 12KB DIRMATCH Directory Contents Comparison CUSP Donated to library by: Jeff Bennett Hughes-STX 1577 Spring Hill RD. Vienna, VA Work: (703) 827-6626 Text supplied with donation: The DIRMATCH utility was developed with the intent to compare software release directories. DIRMATCH checks for common files and file sizes and displays the differences found. DIRMATCH [DIFFER] iRUG LIBRARY VOLUME # 064 LAST UPDATE: 04/30/93 OS: iRMX II/iRMX III/iRFW MEDIA FORMAT: HD 1.2MB iRMX Named SIZE: 883KB Assorted iRMX II/iRMX III/iRFW utilities w/source code Donated to library by: N. Scott Pearson Cableshare, Inc. 20 Enterprise Drive London, Ontario CANADA NGN 1A7 Work: (519) 686-2900 Text supplied with donation: Here is a summary of the stuff I have included: A. Files: INC_C - Include files for C. All are portable and I keep copies of them in both the /INC/IC286 and /INC/IC286 directories. INC_PLM - Include files for PL/M. Most are portable and I keep copies of them in both the /INC/PLM286 and /INC/PLM386 directories. The remainder are not so portable and go appropriate. 286_BIN - Binary files 286_HLP - Help files 286_SRC - Source files 386_BIN - Binary files 386_SRC - Source files B. Utilities in 286_BIN for iRMX II, iRMX III and iRMX-for-Windows: 1. AFTER - Allows the execution of one or more commands to be delayed for some period of time. Multiple commands can be specified on the command line by separating them with exclamation ('!') marks. 2. AT - Allows the execution of one or more commands to be delayed until a specific date and time. 3. DAILY - Allows for one or more commands to be executed at a specific time each and every day. It is normally used in conjunction with BACKGROUND. 4. DIFF - Displays the differences between two files. Sorry, no wildcard support built in. 5. ECHO - Echoes its parameters to the standard output stream. 6. EO - Executes one or more commands for each file that meets a specific wildcard filename specification. Occurrences of character '#' in the command(s) are substituted with the name of the matched file. Occurrences of character '@' in the command(s) are substituted with the name of the matched file less any extension in the name. 7. EXCEP - Displays the Human Interface description string for the iRMX exception code specified on the command line. Exception codes specified in hexadecimal should have a trailing 'h'. 8. EXEC - Executes one or more commands specified on the command line. If no commands are specified, a rudimentary CLI is initiated that runs until an "exit" command is entered. I use the command line form of this command to execute multiple commands from a single command line. I use the interactive form of this command from within AEDIT/EMACS when I want to execute a series of commands before resuming my editing. 9. FILECRC - Calculates and displays the CRC-32 value for the specified file. 10. FOR - Is a clone of the MSDOS FOR command. I have improved upon the MSDOS version by allowing the execution of more than one command. 11. GOMON - Provides a quick and dirty break to the SDM monitor. It is useful from terminals with no SDM hot key. 12. GREP - Is an implementation of the full DECUS GREP facility. Full support is included for a superset of the "standard" regular expression specification. In addition, I have added support for wildcard filenames. This version puts the Intel/iRUG version to shame. 13. IF - Is a clone of the MSDOS IF command. I have improved upon the MSDOS version by providing tests for O/S type, terminal type, MBII slot id and MBII board id. Additionally, multiple commands may be specified and support is provided for "else" command(s). 14. JOBTREE - Is a clone of the VJ command within the SDM monitor. 15. MODIFIED - Displays the names of the specified files that have been modified since a specific date and time. Pathname(s) for files to be checked may include wildcards. 16. OUT - Outputs the specified text string to the standard output stream. The text string may include any of the standard C language "escaped character" sequences. For example, "\n" is used to include the new-line character. 17. REBOOT - Detaches all attached DASD devices and reboots the processor. Support for both PC and MBII processor board rebooting is included. 18. REXEC/REXECSRV - Is a facility for having commands executed on another processor board within a MBII system. REXECSRV is the server job that is executed on the hosting processor. REXEC is the command delivery utility used from the other boards to deliver commands for execution. In our development system, which consists of a single 486/133SE server board and a number of 386/116 consumer boards, we use this facility to have our compiles, binds, etc. executed on the (much faster) 486 processor. 19. TAIL - Is a simple little utility that displays the last 24 lines of a file. C. Utilities in /UTIL386 for iRMX III and iRMX-for-Windows: 1. FILECRC - Calculates and displays the CRC-32 value for the specified file. I have built a separate executable for use on 386/486 class machines as it will execute significantly faster when built for this class using the 386 tools. 2. TERMINAL - Is a rudimentry terminal emulator. The terminal device to be used is specified, using its logical name, on the command line. The emulator is aborted by key sequence . D. Utilities in /UTIL386 for iRMX-for-Windows: 1. GRABCON - Programmatically grabs control of the console away from DOS and gives it to iRMX. 2. GIVECON - Programmatically grabs control of the console away from iRMX and gives it to DOS. I have included help files for most of the utilites and source code for all of them. I have also included my custom iRMX header files. They will be necessary if you want to rebuild any of the utilities. You may be interested in using the header files yourselves. They are, in many cases, far more detailed and complete than those provided by Intel. The /UTIL286 utilities written in C were built using V4.1 of IC286. This version of the compiler has a terrible bug in its SSCANF function. To get around this, I ported a version of this routine from source code lying around our office. Anyways, if you are going to rebuild the utilities with an up-to- date version of the IC286 compiler, you may want to go through the build files and remove the inclusion of my replacement version. iRUG LIBRARY VOLUME # 065 LAST UPDATE: 09/02/93 OS: iRMX III/iRFW MEDIA FORMAT: HD 1.2MB MS-DOS SIZE: 224KB CSENSE: An integrated development environment for iRMXIII or iRMX for Windows. Donated to library by: Jan Baan Intel Benelux B.V. Rotterdam The Netherlands 13MAY93 Tel +31-10-407.1147 Fax +31-10-455.4688 Text supplied with donation: This diskette contains a shareware version of Sense, an integrated development environment for iRMXIII or iRMX for Windows. The program requires MS-Windows 3.1 or later; installation of iRMX for Windows is only necessary if you want to do compilation from Sense. To use the program, copy all files to a directory on your hard disk -- a good choice may be the \WINDOWS\RMX directory where other utilities are put by the iRMX for Windows installation. The two PIF files contain recommended settings for the iC386 compiler and the BND386 binder. Depending on your own configuration, you may use them as-is, or you may modify them. The file CSENSE.XH may be put in the same directory as the other files, or in the file with other includes (typically \INTEL\IC386\INC). Finally it is convenient to create a program item in Program Manager. For proper operation, you should not rename any files. If you need further information, please contact you local Intel sales office, or your Intel distributor.