Using RSX180
Jump to:
MCR commands
The Indirect Command Processor
PIP commands
CCL commands
Other utilities
Program development
MCR commands
Like in RSX-11M, when entering a command name only the first three
letters are meaningful to MCR, the rest is ignored; the only exception being
the command HELP. If the command is not recognized, MCR will try to find an
installed task with the same name and execute it.
ABO [taskname]
Terminates (aborts) execution of the specified task. If no task name
is specified, the task started by a RUN command (TTnn) is aborted.
Privileged users can abort any task. Non-privileged users can only abort
tasks started from their own terminal.
ACS ddn:/BLKS=n
Privileged command. Allocates a checkpoint file on the specified device
if n is greater that zero. If n is zero, the use of the
checkpoint file is discontinued.
ACT [/ALL][/TERM=ttn:]
Show active tasks started from the current terminal.
If the command is issued with the /ALL switch, all active tasks
in the system are displayed. To display the task names of all the active
tasks for a specific terminal, use the /TERM switch.
ALT taskname/PRI=nnn
ALT taskname/RPRI=nnn
Privileged command, alters task priority. /PRI sets the task's
default priority, while /RPRI sets the task's running priority.
ASN physical=logical[/GBL][/LOGIN][/TERM=ttn:]
ASN =[logical][/GBL][/LOGIN][/TERM=ttn:]
ASN [/GBL][/LOGIN][/TERM=ttn:]
Defines, deletes or displays logical device assignments.
The options are:
| /GBL |
Defines, deletes or displays global logical-device
assignments |
| /LOGIN |
Defines, deletes or displays login logical-device
assignments |
| /TERM=ttn: |
Defines, deletes or displays logical-device assignments
for the specified terminal |
All option switches are privileged. Non-privileged users can define,
delete and display only local logical-device assignments.
ATL [taskname]
Display the name and the status of all active tasks in the system, or the
status of a particular task.
BRO ttn:message
BRO LOG:message
BRO ALL:message
Send (broadcast) message to one terminal (ttn), to logged-in
terminals (LOG), or to all terminals (ALL).
ALL and LOG are privileged keywords.
BYE
Terminates the current session and logs the user out of the system.
CAN [taskname]
Privileged command, cancels time-based initiation requests for a task
(see the RUN command). If any time-based schedule requests for the task
exist, they are removed. If the task is executing, the execution is not
affected.
CLQ
Displays information about tasks currently in the clock queue. Any pending
time-based schedule requests will be displayed.
DEV
DEV dd:
DEV ddn:
DEV /LOG
DEV /MOU
With no additional options, the DEV command displays the names and status
of all devices in the system.
If dd: is specified, only all units of the specified device will be
listed.
If ddn: is specified only the status of the specified device and unit will
be listed.
Use the /LOG switch to list all logged-in terminals.
Use the /MOU switch to list all mounted devices.
DMO ddn:
Dismounts the specified device. Privileged unless the device is mounted
public or private to the terminal.
FIX taskname
Privileged command, loads and locks a task in memory. The task specified
in the argument must be installed and inactive.
Fixed tasks remain physically in memory even after they exit. They do not
have to be loaded when a request is made to run them.
HEL [username]
HELLO [username]
Logs onto this system. If username is not specified, the user will
be prompted for one.
HELP [topic [subtopic]]
Displays help about the specified topic.
INS [$]filename[/INC=n][PRI=n][/TASK=name][/RUN[=REM][/CKP=NO][/ACP=YES]
Enters (installs) a task into the System Task Directory (STD), making it
known to the system.
The options are:
| /PRI=n |
Set task running priority to n |
| /RUN[=REM] |
Start task immediately. If REM is specified, the task will
be removed on exit. |
| /INC=nnn |
Specify a memory increment |
| /TASK=name |
Specify an alternate task name |
| /CKP=NO |
Disables checkpointing of the installed task |
| /ACP=YES |
Indicates that the task is an Ancillary Control Processor |
Privileged users can specify any options. Non-privileged users are allowed
to use the INS command only when the option /RUN=REM is specified.
INI ddn:[["]label["]][/options...]
Initializes a file storage device for use with RSX180.
The options can be:
| /CF |
Ask (/-CF do not ask) for confirmation
before initializing the main directory and related files. Default is to
ask. |
| /MF:nnn or
/MF=nnn |
sets the maximum number of files (entries in the index
file) that can be stored in the volume. |
| /PR:hhhh or
/PR=hhhh or
/PR=[rwed,rwed,rwed,rwed] |
where hhhh is an hexadecimal value and rwed
read-write-execute-delete protection bits
specification. Sets the default file protection for newly created files.
Default is /PR=FFFF or /PR=[rwed,rwed,rwed,rwed] (all actions granted to
everyone.) |
| /WB |
write boot loader and update system file information in
boot blocks. |
LUN taskname
Displays static LUN assignments of a task.
MOU ddn:[/ACP=acpname]
Connects a device to the filesystem processor so files can be accessed.
The /ACP option can be used to specify an alternate Ancillary Control
Processor.
The command is privileged unless the device is public.
PAR
Display existing memory partitions.
RED new=old
Privileged command, redirects I/O requests from old device to
new.
REM taskname
Privileged command, deletes a task from the System Task Directory (STD)
and thereby removes the task from the system. This is the complement of the
MCR INS command.
RES [taskname]
Resumes the execution of a stopped task. Non-privileged users can resume
only tasks started from their own terminal.
RUN [$]filename[/PRI=n][/TERM=ttn:][/INC=nnn][/TASK=name][/CKP=NO][/CMD=command]
Run a task with the specified options:
| /PRI=n |
Set task running priority to n |
| /TERM=ttn: |
Start task on the specified terminal |
| /INC=nnn |
Specify a memory increment |
| /TASK=name |
Specify an alternate task name |
| /CKP=NO |
Disable task checkpointing |
| /CMD=command |
Specify a command line argument, must be the last option
in the line |
RUN taskname dtime[/RSI=rsi]
Time-scheduled task request: run the specified task at a time increment
from now, where taskname is the full 6-character name of the
installed task to run, and dtime is the time interval and has the
form nnnu, where nnn is a numeric value and u the units
(H = hours, M = minutes, S = seconds,
T = ticks). Privileged command.
If specified, the RSI option determines the reschedule interval (i.e.
how often the task will be re-run.) The format of the rsi parameter
is the same as for dtime.
SET /option
where option can be any of the following:
| /ECHO=ttn: |
Enable local echo |
| /NOECHO=ttn: |
Disable local echo |
| /LOWER=ttn: |
Enable lowercase input |
| /NOLOWER=ttn: |
Convert lowercase input to uppercase |
| /CRT=ttn: |
Enables backwards character delete option |
| /NOCRT=ttn: |
Disables backwards character delete option |
| /SLAVE=ttn: |
Slave terminal (reject unsolicited input) |
| /NOSLAVE=ttn: |
Remove slave status from terminal |
| /BRO=ttn: |
Enable receiving of broadcast messages |
| /NOBRO=ttn: |
Disable receiving of broadcast messages |
| /LOGON |
Enable user login |
| /NOLOGON |
Disable user login |
| /PRIV=ttn: |
Make terminal privileged |
| /NOPRIV=ttn: |
Make terminal non-privileged |
| /DIR=[dir] |
Set or display current directory |
| /PUB=ddn: |
Establish the specified device as public device |
| /HOST=hostname |
Displays or sets the host name |
| /COLOG |
Displays the current console terminal and logfile assignments |
| /COLOG=ON |
Starts console logging |
| /COLOG=OFF |
Stops console logging |
| /COLOG/NOCOTERM |
Disables console terminal |
| /COLOG/COTERM[=ttn:] |
Changes the console terminal assignment. If ttn:
is not specified, the most recent assignment is restored (or TT0: after
boot.) |
| /COLOG/NOLOGFILE |
Disables the log file |
| /COLOG/LOGFILE[=[filespec]] |
Changes the log file assignment. If =filespec
is not specified, the default log file is restored. If only = is specified,
a new version of the log file will be created. |
| /RNDC=nnn |
Displays or sets the duration of the scheduler's round-robin
interval in ticks |
| /RNDL=nnn |
Displays or sets the lowest priority to be considered for
round-robin scheduling |
| /RNDH=nnn |
Displays or sets the highest priority to be considered for
round-robin scheduling |
| /SWPC=nnn |
Displays or sets the duration of the swapping interval in
ticks |
| /SWPR=nnn |
Displays or sets the priority range for swapping |
LOGON, NOLOGON, PRIV, NOPRIV, PUB, HOST, COLOG, RNDC, RNDH, RNDL, SWPC and
SWPR are privileged options. Non-privileged users are only allowed to change
the characteristics of their own terminal.
STP taskname
Stops the execution of the specified task. Non-privileged users can only
stop tasks started from their own terminal.
SYN
Flushes the filesystem buffers.
TAL [taskname]
If taskname is not specified, information is displayed for all tasks
installed in the system. The display format is the same as that of the MCR
ATL command.
TAS [taskname][/DEV=ttn:]
Displays the list of installed tasks (System Task Directory).
TIM [hh:mm[:ss]] [MM/DD/YYYY]
TIM [hh:mm[:ss]] [DD-MMM-YYYY]
Displays or sets the system date and time. If no argument is specified,
the command displays the current time and date. Only privileged users can
set the date and time.
UFD ddn:[dirname]/options...
Create user directory. Note that the square brackets around dirname
are part of the syntax and therefore mandatory. The command accepts the
following options:
| /ALLOC=n |
Pre-allocate the specified number of blocks (currently
ignored) |
| /PROT=[...] |
Set the access protection bits (currently ignored) |
| /OWNER=[grp,usr] |
Set the directory ownership |
UNF taskname
Privileged command, frees a fixed task in memory. This is the complement of
the MCR FIX command.
Catch-all task support
Any command line that is not recognized by MCR is passed entirely to
a task named ...CA. if such task is installed. The mechanism allows
using an external task as a CLI extension (see e.g. CCL
below.)
Indirect Command Processor
The Indirect Command Processor (ICP) is a program that reads an
an Indirect Command File, interprets control directives and passes
CLI commands to the Command Line Interpreter (typically MCR). Think of
it as a simple scripting language for the CLI.
The ICP normally runs under the task name 'AT.' and is invoked
automatically by MCR if the command begins with an '@'.
The ICP directives follow closely the syntax of the RSX-11M version,
with a few differences:
- Default radix is decimal, vs. octal for RSX-11M.
- Arithmetic expression evaluation honors operator precedence rules,
unlike in RSX-11M where precedence is ignored.
- .BEGIN - .END blocks are not (yet) supported.
- .ERASE erases all the variables.
- .CHAIN is not implemented yet.
- Many of the special variables are not yet implemented.
Nevertheless, the differences and missing fratures are small enough so
that most RSX-11M command files will work with little or no change.
PIP
The PIP program is used to perform several filesystem operations such as
listing directories, copying and renaming files.
Directory operations
Command format:
PIP [outfile=][dev:[dir]]/switch
where switch can be one or more of:
| /LI |
display directory of mounted device |
| /BR |
display brief directory, can be used alone or together with
/LI |
| /FU |
display full dir info, can be used alone or together with
/LI |
| /FR |
display free space |
| /ID |
display PIP version |
Single-file operations
Command format:
PIP [dev:[dir]]file/switch
where switch can be one or more of:
| /DE |
delete file |
| /SD |
selective delete |
| /PU:n |
purge to the specified number of single copies (n
is optional and defaults to 1) |
| /UN |
unlock file |
| /PR:[rwed,rwed,rwed,rwed] |
set file protection |
| /OW:[group,user] |
set file ownership |
| /NM |
suppress file not found messages |
Multiple file operations
Command format:
PIP dest[/sw0]=src1[/sw1][,src2[/sw2]][,...]
where sw0 (for output file) can be:
| /CO |
make output file contiguous |
| /-CO |
make output file non-contiguous (default is to make output
file of same type as original), /NOCO is also allowed |
| /PR:[rwed,rwed,rwed,rwed] |
set output file protection |
| /OW:[user,group] |
set output file ownership |
| /NM |
suppress file not found messages |
and sw1, sw2, etc. (for input files) can be:
| /NV |
force new version of output file |
| /SU |
supersede an existing version of the output file |
| /CD |
preserve creation date |
| /RE |
rename file; the /CO output switch is not allowed |
| /NM |
suppress file not found messages |
Examples:
PIP dy1:[user2]=dy1:[user1]*.mac;*
PIP outfile.txt=file1.txt,file2.txt,[user5]file3.txt
PIP SY:=[user2]*.mac ; copies to current directory on SY:
PIP DU2:=*.TXT;* ; copies to current directory on device DU2:
PIP test.txt=TI: ; creates file from console input
PIP TI:=test.txt ; displays file on console
Notes on wildcards
The asterisk '*' matches a group of characters, the percent sign '%' a
single char. The asterisk can be specified anywhere and in any combination
with other characters, including other asterisks and percent signs e.g.: A*,
*A, *A*, *A*B, *A*B% etc. This is different than for example in
CP/M, where the asterisk is allowed only at
the end of the name specification.
CCL
CCL is a simple extension to MCR that can run as standalone or
catch-all task and implements shortcuts for some commonly-used commands,
as well as a couple of new commands (see list below).
CCL is actually the remaining of the original CLI written
for the 8080 system. As more and more RSX-11M-like features were
implemented, the CLI was split in two: the task manipulation section slowly
morphed into MCR, while the file handling section became obsolete after PIP
was written; the few remaining commands (COPY, REMANE, etc.) were simplified
to just invoke PIP as an external task to perform the corresponding
function.
Following an idea from DECUS, the section with the obsoleted commands
was renamed as CCL and became an extension to MCR, offering an alternative
syntax to some commands. From DECUS' CCL was also taken the idea of the HEY
command (see description below.)
When entering a CCL command you do not have to type the whole word, the
first unique letters are enough (for example, SH for SHOW, DIR for
DIRECTORY, etc). If the command is not recognized, CCL will try to find a
program with the same name in the LB0:[SYSTEM] directory and execute it.
You can get a quick list of the available commands by typing 'CCL ?'
at the MCR prompt. Likewise, to get a list of options for a given commands,
type the command name followed by '?', e.g. 'SHOW ?'
ASSIGN physical logical
Assigns the logical device name to a physical device.
The command is translated to the equivalent ASN
command of MCR.
CD [directory]
CHDIR [directory]
Makes the specified directory current. If the name is not
specified, the current directory name is displayed. The command is
translated to the equivalent SET /DIR MCR command.
COPY oldname newname
Copy a file to a new location. The command is translated into a
PIP newname=oldname/NV/CD command.
DATE
Displays the current date and time. The command is translated to the
equivalent TIM MCR command.
DELETE filespec
Deletes the specified file or files (filespec may contain wildcards.)
The command is translated into a PIP filespec/DE
command. This allows you to specify additional PIP switches to the command
(e.g. /SD for a selective delete, etc.)
DIRECTORY [filespec]
Lists the specified directory, or the current one if filespec
is not specified. The command is translated into a
PIP filespec/LI command. This allows you
to specify additional PIP switches to the command (e.g. /BR for a brief
display, etc.)
FREE ddn:
Display the amount of free space in the specified device. The command is
translated to a PIP ddn:/FR command.
HEY taskname
Waits for the specified task to terminate and then displays the exit
status. The command is implemented internally by CCL.
MD directory
MKDIR directory
Creates the specified directory. The command is implemented
internally by CCL.
PURGE [filespec]
Delete all old copies of a file or files (leave only the newest
version.) If filespec is omitted, *.* is assumed. The command is
translated into a PIP filespec/PU:1 command,
which allows you to specify extra switches (e.g. /LD to list deleted
files, /NM to suppress file-not-found messages, etc.)
RD directory
RMDIR directory
Deletes the specified directory. The command is implemented
internally by CCL, and will fail if the directory is not empty.
RENAME oldname newname
Renames a file. The command is translated into a PIP
newname=oldname/RE command.
SHOW option
where option can be any of the following:
| DATE |
Show current date and time |
| DEVICES |
Show physical and logical devices |
| LABEL |
Show the volume label for the specified device |
| LOGINS |
Show logged-in users |
| MEMORY |
Show the amount of used and available memory |
| MOUNTED |
Show mounted devices |
| TASKS |
Show running tasks |
| VERSION |
Show system version |
SYNC
Flushes the filesystem cache to disk.
TYPE filespec
Displays the specified file or files on the terminal. The command is
translated into the equivalent PIP TI:=filespec
command.
WHO
Displays logged-in users. The command is translated into the equivalent
DEV /LOG MCR command.
Other utilities
VMR
Used to configure the system image after being built (e.g. to create
partitions, install the necessary tasks, etc.), and is similar in concept
and functionality to the RSX-11M version.
DMP
Dump file blocks in hexadecimal and ASCII format.
FMT
Floppy disk formatter.
BAD
Filesystem bad block locator.
VFY
Filesystem check and validation utility.
FDISK
Port of the GIDE partitioning utility.
RMD
Animated display of system memory, active tasks or task status. Care has
been taken to make the look and feel as close as possible to the RSX-11M
version.
SHUTUP
System shutdown program.
DCU
Displays the disk cache usage.
UPT
Displays the system up time.
TEM
Example program for the custom CT: device driver. Displays the
temperature measured with a Dallas DS1820 chip connected to the P112
parallel port.
WHO
Displays logged-in terminals and which tasks are running under them.
VIEW
Bi-directional text file viewer; has also a hexadecimal mode. The
distributed disk image installs this task with the name ...MOR (more).
MD5
Computes and displays the MD5 hash of a file.
The similarities between the system calls of the current version of
RSX180 and RSX-11M makes it possible to port simple applications. As an
exercise, the following utilities were ported from the old DECUS
collection:
CPU
Displays CPU usage in real time.
CAL
Calendar program, similar to Unix's cal.
CLK
Animated VT100/VT52 clock with large digits.
COOKIE, MURPHY and QUOTE
Display random funny remarks.
MCE
Command Line Editor, allows using the cursor keys to edit the MCR command
line. Old commands can be recalled, aliases can be defined, etc.
Program development
TED
Screen text editor, was my favorite at the
time. This version is a clone of the RT-11 version. Can edit files larger
than the available task memory.
VDO
Another screen text editor, this one is based on a disassembly of the old
CP/M editor of the same name from the DOSGG group (sources were originally
available, but I haven't been able to find them). The interface was changed
to ressemble Linux's joe, which in turn is WordStar-like. The editable
file size is limited to the amount of memory available to the task.
BAS
Z80 port of the old BASIC-11
interpreter.
MAC
Z80/Z180/Z280 Macro-Assembler.
TKB
Task builder, based on Digital Research's LINK 1.31.
MKT
Converts a binary image into a TSK file by adding an appropriate
header. Obsoleted now by TKB.
ZAP
Screen-oriented hexadecimal file editor.
Last modified: 8-Feb-2020.
|