Discussion:
a simple question: what the h*ll is MCR?
(too old to reply)
Rodrigo Ventura
2004-09-14 14:53:15 UTC
Permalink
Can anyone explain me what is the command MCR (sometimes abreviated to
MC). It is quite intriguing to me, namely the message whenever it is
run without arguments:

%DCL-W-ACTIMAGE, error activating image RSX
-CLI-E-IMAGEFNF, image file not found xxxxxx$DKA0:[SYS0.SYSCOMMON.][SYSEXE]RSX.EXE;

RSX? The name RSX rings a bell; something to do with some old PDP-11
operating system? RSX-11? Is that it?

I head that the early VMS versions used PDP-11 software, by the means
of some kind of PDP-11 instruction set emulation with the VAX
processors, but it strikes me that it has reached until today, in
Alpha architecture... Or probably I'm just mixing things up... what a mess!

Cheers,

Rodrigo
--
*** Rodrigo Martins de Matos Ventura <***@isr.ist.utl.pt>
*** Web page: http://www.isr.ist.utl.pt/~yoda
*** Teaching Assistant and PhD Student at ISR:
*** Instituto de Sistemas e Robotica, Polo de Lisboa
*** Instituto Superior Tecnico, Lisboa, PORTUGAL
*** PGP fingerprint = 0119 AD13 9EEE 264A 3F10 31D3 89B3 C6C4 60C6 4585
Dan O'Reilly
2004-09-14 15:11:04 UTC
Permalink
MCR = "Monitor Console Routines". It was the primary command interface
for the RSX family of operating systems on the PDP-11 (some flavors, such
as RSX-11M+, also had a flavor of DCL). Originally, when the command
"MCR" was used on VMS, it ran the AME (Application Migration Executive)
which ran PDP-11 code in compatibility mode. Now on VMS, "MCR" is the same
thing as saying "RUN SYS$SYSTEM:".
Post by Rodrigo Ventura
Can anyone explain me what is the command MCR (sometimes abreviated to
MC). It is quite intriguing to me, namely the message whenever it is
%DCL-W-ACTIMAGE, error activating image RSX
-CLI-E-IMAGEFNF, image file not found
xxxxxx$DKA0:[SYS0.SYSCOMMON.][SYSEXE]RSX.EXE;
RSX? The name RSX rings a bell; something to do with some old PDP-11
operating system? RSX-11? Is that it?
I head that the early VMS versions used PDP-11 software, by the means
of some kind of PDP-11 instruction set emulation with the VAX
processors, but it strikes me that it has reached until today, in
Alpha architecture... Or probably I'm just mixing things up... what a mess!
Cheers,
Rodrigo
--
*** Web page: http://www.isr.ist.utl.pt/~yoda
*** Instituto de Sistemas e Robotica, Polo de Lisboa
*** Instituto Superior Tecnico, Lisboa, PORTUGAL
*** PGP fingerprint = 0119 AD13 9EEE 264A 3F10 31D3 89B3 C6C4 60C6 4585
------
+-------------------------------+----------------------------------------+
| Dan O'Reilly | "There are 10 types of people in this |
| Principal Engineer | world: those who understand binary |
| Process Software | and those who don't." |
| http://www.process.com | |
+-------------------------------+----------------------------------------+
Marty O'Connor
2004-09-17 18:05:30 UTC
Permalink
"Dan O'Reilly" <***@process.com> wrote in message news:***@raptor.psccos.com...
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
:

Not exactly. MCR runs an image found in SYS$SYSTEM as a foreign command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.

Marty
Larry Kilgallen
2004-09-17 18:49:24 UTC
Permalink
Post by Marty O'Connor
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
Not exactly. MCR runs an image found in SYS$SYSTEM
or via a logical name
Post by Marty O'Connor
as a foreign command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.
Paul Sture
2004-09-18 11:07:29 UTC
Permalink
Post by Marty O'Connor
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
Not exactly. MCR runs an image found in SYS$SYSTEM as a foreign command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.
MCR uses SYS$SYSTEM as the default location. It is also possible to do

$ MCR my_dev:[my_dir]my_prog] parameter /qualifier
Glenn Everhart
2004-09-18 23:14:00 UTC
Permalink
The Monitor Console Routine concept was devised for RSX11D at least as far
back as RSX11D V4, possibly earlier.

In RSX, there is no notion of "process" as VMS folks are used to. What are
run are installed tasks; installing them puts a pointer to disk block and size
of the area to load into a system structure so that the task can be invoked
by doing a single I/O and starting the routine at its start address.

Given this, there needed to be some entity which would dispatch commands,
a "shell" if you like, and MCR was it. It would among other things translate
3 letter commands like "foo" to instructions to run task ...foo and pass
it whatever command arguments had been typed. This was a very simple and quick
command dispatch system, though of limited flexibility. Even after multiple
layers of parsing were added and more elaborate script oriented commands were
also added, the MCR name was kept for RSX11M and M+ (it got superseded for IAS)
and was inherited by VMS, many of whose commands in V1 and V2 were in compat
mode, i.e., slightly warmed over RSX commands with the ELP$ directive replacing
some of the old RSX kernel munging.

When in V3 it was decided that most all of the commands that had been unique
to compat mode code now had native mode VAX equivalents, compat mode was
dropped and moved to the VAX/RSX product. By that time people realized that
"compatibility mode" was better named "rough similarity mode" in many cases
but the system still works and if you have VAX/RSX installed, the MCR command
brings up its variant of good old RSX11M MCR. It turned out that MCR mode
happens to fire up programs in sys$system if there is no compat mode program
to be run, as a last resort (which is along the RSX philosophy of trying
various general ways to parse a command before giving up on it). That
behavior got kept so that even if no MCR was present, "MC command" or "MCR command"
is equivalent to run sys$system:command, but it also allows arguments to be
passed to the command given, so it's simpler than defining a foreign command
and running it in many cases.

So that's what the heck MCR is.

Glenn Everhart
Post by Paul Sture
Post by Marty O'Connor
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
Not exactly. MCR runs an image found in SYS$SYSTEM as a foreign
command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN
command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.
MCR uses SYS$SYSTEM as the default location. It is also possible to do
$ MCR my_dev:[my_dir]my_prog] parameter /qualifier
John Santos
2004-09-21 23:48:09 UTC
Permalink
Glenn Everhart wrote:
[...]
Post by Glenn Everhart
When in V3 it was decided that most all of the commands that had been unique
to compat mode code now had native mode VAX equivalents, compat mode was
dropped and moved to the VAX/RSX product. By that time people realized that
"compatibility mode" was better named "rough similarity mode" in many cases
I once overheard a Deccie at DECUS (at the next table at lunch) say
"Compatible means different, because if it was the same, we would say so."

[...]
--
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539
o***@gmail.com
2018-09-02 21:32:38 UTC
Permalink
Post by Marty O'Connor
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
Not exactly. MCR runs an image found in SYS$SYSTEM as a foreign command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.
Marty
More precisely, it runs the image named by the first argument applying
sys$system:.exe as the default, so "MCR sys$login:foo.alpha_exe" will run image
foo.alpha_exe in your home directory. Or "MCR DSA5:report" will run image
DSA5:[SYSEXE]report.exe.

There's also a quirk in DCL parsing that lets me invoke images as foreign
commands in specific directories without a specific symbol for each one:

MCS == "$site$utilities:'" ! note the single apostrophe at the end.
MCL == "$sys$disk:[]'" ! look in current default directory.

Typing "MCS analyze tuesday.log" will run site$utilities:analyze.exe with "tuesday.log" as its argument. With those symbols, I never felt compelled to
make much use of DCL$PATH when it came along.
John Reagan
2018-09-03 02:19:57 UTC
Permalink
You all notice it is a 14 year old thread?
Richard Levitte
2018-09-03 12:29:21 UTC
Permalink
Post by John Reagan
You all notice it is a 14 year old thread?
There's nothing like a bit of rejuvenation a little now and then ;-)
Paul Sture
2018-09-05 10:47:51 UTC
Permalink
Post by John Reagan
You all notice it is a 14 year old thread?
Where did you get that information?

I've just looked at the headers and can't find any evidence
for that.

FWIW I got the original post via eternal-september.org.
--
We will not be enslaved through coercion, but by the lure of convenience.
Andy Burns
2018-09-05 10:56:49 UTC
Permalink
Post by Paul Sture
Post by John Reagan
You all notice it is a 14 year old thread?
Where did you get that information?
The references header

<http://al.howardknight.net/msgid.cgi?STYPE=msgid&A=0&MSGI=%3C6.1.2.0.2.20040914090800.028a8560%40raptor.psccos.com%3E>
Paul Sture
2018-09-05 22:24:15 UTC
Permalink
Post by Andy Burns
Post by Paul Sture
Post by John Reagan
You all notice it is a 14 year old thread?
Where did you get that information?
The references header
<http://al.howardknight.net/msgid.cgi?STYPE=msgid&A=0&MSGI=%3C6.1.2.0.2.20040914090800.028a8560%40raptor.psccos.com%3E>
Aha. That's simply not there in my copy of the post.
--
We will not be enslaved through coercion, but by the lure of convenience.
j***@yahoo.co.uk
2018-09-05 11:08:17 UTC
Permalink
Post by Paul Sture
Post by John Reagan
You all notice it is a 14 year old thread?
Where did you get that information?
I've just looked at the headers and can't find any evidence
for that.
FWIW I got the original post via eternal-september.org.
--
We will not be enslaved through coercion, but by the lure of convenience.
For all its faults, Google Groups makes it reasonably obvious
that until recently, the most recent post in this thread was
dated 2004. At least, the way I use it, it did.

I had seen a few folks suggesting that Google Groups was the
cause of antique posts being resurrected, here and elsewhere.
Maybe it does that too.

I was still planning to move my newsgroup stuff to somewhere
less Googly, but other matters have taken precedence. YMMV, etc.
Paul Sture
2018-09-05 22:33:37 UTC
Permalink
Post by j***@yahoo.co.uk
Post by Paul Sture
Post by John Reagan
You all notice it is a 14 year old thread?
Where did you get that information?
I've just looked at the headers and can't find any evidence
for that.
FWIW I got the original post via eternal-september.org.
For all its faults, Google Groups makes it reasonably obvious
that until recently, the most recent post in this thread was
dated 2004. At least, the way I use it, it did.
I had seen a few folks suggesting that Google Groups was the
cause of antique posts being resurrected, here and elsewhere.
Maybe it does that too.
I think I have a rogue post which arrived direct from
eternal-september.org

Copy below. Notice that it only has one item in the References, and the
posting date is 2-Sep-2018, and it looks like a brand new post. The
NNTP-Posting-Host currently resolves to an ADSL line in Poland.

========== copy of offending post, manually wrapped to fit =============

Path:
eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.
org!feeder3.usenet.farm!feed.usenet.farm!feeder.usenetexpress.com!feeder-in1.
iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!z10-
v6no2027708qtb.0!news-out.google.com!i36-v6ni1199qti.0!nntp.google.com!z10-
v6no2027703qtb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-
mail
Message-ID: <dc58e2b2-4456-45ba-9bb4-***@googlegroups.com>
From: ***@gmail.com
Newsgroups: comp.os.vms
Subject: Re: a simple question: what the h*ll is MCR?
Date: Sun, 2 Sep 2018 13:46:36 -0700 (PDT)
References: <***@pixie.isrnet>
Lines: 0
X-Received: by 2002:a0c:8863:: with SMTP id 32-v6mr14352171qvm.49.1535921197015;
Sun, 02 Sep 2018 13:46:37 -0700 (PDT)
X-Received: by 2002:ac8:30d6:: with SMTP id w22-v6mr258066qta.3.1535921196747;
Sun, 02 Sep 2018 13:46:36 -0700 (PDT)
In-Reply-To: <***@pixie.isrnet>
Complaints-To: groups-***@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.27.198.156;
posting-account=9CLUGgoAAACGpSzLCjivx3Sq219apnEG
NNTP-Posting-Host: 83.27.198.156
User-Agent: G2/1.0
MIME-Version: 1.0
Injection-Date: Sun, 02 Sep 2018 20:46:36 +0000
Content-Type: text/plain; charset="UTF-8"
Xref: news.chingola.ch comp.os.vms:108609

And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I found
out accidentally about this band when searching how to use this command.
Andy Burns
2018-09-06 08:20:48 UTC
Permalink
Post by Paul Sture
I think I have a rogue post which arrived direct from
eternal-september.org
I don't see any message from ***@gmail.com
The post I saw which 'revived' the old thread has headers as follows
Post by Paul Sture
X-Received: by 2002:a0c:ae3a:: with SMTP id y55-v6mr13642017qvc.25.1535923958486;
Sun, 02 Sep 2018 14:32:38 -0700 (PDT)
X-Received: by 2002:ac8:3829:: with SMTP id q38-v6mr253356qtb.7.1535923958394;
Sun, 02 Sep 2018 14:32:38 -0700 (PDT)
Path: uni-berlin.de!fu-berlin.de!z10-v6no2037751qtb.0!news-out.google.com!i36-v6ni1199qti.0!nntp.google.com!z10-v6no2037740qtb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Sun, 2 Sep 2018 14:32:38 -0700 (PDT)
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=74.140.8.188; posting-account=CO-_tAoAAACjjs2KLAw3xVKCy6Z_J3VK
NNTP-Posting-Host: 74.140.8.188
User-Agent: G2/1.0
MIME-Version: 1.0
Subject: Re: a simple question: what the h*ll is MCR?
Injection-Date: Sun, 02 Sep 2018 21:32:38 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 25
Xref: uni-berlin.de comp.os.vms:608362
Paul Sture
2018-09-06 18:37:56 UTC
Permalink
Post by Andy Burns
Post by Paul Sture
I think I have a rogue post which arrived direct from
eternal-september.org
The post I saw which 'revived' the old thread has headers as follows
Post by Paul Sture
X-Received: by 2002:a0c:ae3a:: with SMTP id y55-v6mr13642017qvc.25.1535923958486;
Sun, 02 Sep 2018 14:32:38 -0700 (PDT)
X-Received: by 2002:ac8:3829:: with SMTP id q38-v6mr253356qtb.7.1535923958394;
Sun, 02 Sep 2018 14:32:38 -0700 (PDT)
Path: uni-berlin.de!fu-berlin.de!z10-v6no2037751qtb.0!news-out.google.com!i36-v6ni1199qti.0!nntp.google.com!z10-v6no2037740qtb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Sun, 2 Sep 2018 14:32:38 -0700 (PDT)
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=74.140.8.188; posting-account=CO-_tAoAAACjjs2KLAw3xVKCy6Z_J3VK
NNTP-Posting-Host: 74.140.8.188
User-Agent: G2/1.0
MIME-Version: 1.0
Subject: Re: a simple question: what the h*ll is MCR?
Injection-Date: Sun, 02 Sep 2018 21:32:38 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 25
Xref: uni-berlin.de comp.os.vms:608362
Well, I downloaded Thunderbird and pointed it at eternal-september.org and
I see both the post I quoted and the one you did from osuvman50.

I don't see the post that osuvman50 replied to.
--
We will not be enslaved through coercion, but by the lure of convenience.
Richard Levitte
2018-09-03 12:28:15 UTC
Permalink
Post by o***@gmail.com
Post by Marty O'Connor
: Now on VMS, "MCR" is the same thing as saying "RUN SYS$SYSTEM:".
Not exactly. MCR runs an image found in SYS$SYSTEM as a foreign command (xx = $sys$system:image)
which will pass the remainder of the line to the image. The RUN command will not do that. MCR is a
quick way to run a program that takes command line input without creating a DCL symbol.
Marty
More precisely, it runs the image named by the first argument applying
sys$system:.exe as the default, so "MCR sys$login:foo.alpha_exe" will run image
foo.alpha_exe in your home directory. Or "MCR DSA5:report" will run image
DSA5:[SYSEXE]report.exe.
There's also a quirk in DCL parsing that lets me invoke images as foreign
MCS == "$site$utilities:'" ! note the single apostrophe at the end.
MCL == "$sys$disk:[]'" ! look in current default directory.
Typing "MCS analyze tuesday.log" will run site$utilities:analyze.exe with "tuesday.log" as its argument. With those symbols, I never felt compelled to
make much use of DCL$PATH when it came along.
Oh the mysteries of DCL, I seem to still learn something new every year. Can someone explain this quirk? (I seem to have lost my DCL-fu, there was a time when I think I could infer most quirks)

Cheers,
Richard
o***@gmail.com
2018-09-03 19:39:43 UTC
Permalink
Post by Richard Levitte
Oh the mysteries of DCL, I seem to still learn something new every year. Can
someone explain this quirk? (I seem to have lost my DCL-fu, there was a time
when I think I could infer most quirks)
I looked at the DCL source code and it seems intentional. In handling the case of
the first token being a symbol, it explicitly checks for the last character of
the symbol value being an apostrophe.
John Laird
2004-09-14 15:14:49 UTC
Permalink
Post by Rodrigo Ventura
Can anyone explain me what is the command MCR (sometimes abreviated to
MC). It is quite intriguing to me, namely the message whenever it is
%DCL-W-ACTIMAGE, error activating image RSX
-CLI-E-IMAGEFNF, image file not found xxxxxx$DKA0:[SYS0.SYSCOMMON.][SYSEXE]RSX.EXE;
RSX? The name RSX rings a bell; something to do with some old PDP-11
operating system? RSX-11? Is that it?
Pretty much. Entering MCR invokes a DCL internal routine which attempts to
run the specified image and passes the rest of the command line to it. The
default image is SYS$SYSTEM:RSX.EXE (or possibly it's RSX if missing with a
default file-spec of SYS$SYSTEM:.EXE, I'm not sure which). If you enter a
parameter, that is the name of the image to be run. So, MC AUTHORIZE will
run the familiar AUTHORIZE utility, while MC SYS$LOGIN:MYIMAGE is needed to
run MYIMAGE which is not in SYS$SYSTEM. RSX.EXE, if present, is an
alternative command-line interpreter, familiar to RSX users. The prompt is
MCR> ...

In early VAXes, PDP compatibility mode was built-in to the hardware. (Later
on, it was emulated in software and an additional layered product was
required - AME?) Native RSX images (subject to certain limitations) would
run just as they would on a PDP-11. Some utilities were provided as
straight copies, and MC(R) was the way to invoke them and pass along the
command line. MC DISP was very similar to SHO PROC/CONT, MC TALK was the
precursor to PHONE. PIP was also provided, although DIRECTORY existed, and
had some useful features, /FR for one.

The most common use for MCR in the last 20 years or so has been as a way of
invoking images and supplying command lines at the same time.
--
Never put off till tomorrow what you can ignore entirely.

Mail john rather than nospam...
n***@metso.com
2004-09-14 15:27:28 UTC
Permalink
Post by Rodrigo Ventura
Can anyone explain me what is the command MCR (sometimes abreviated to
MC). It is quite intriguing to me, namely the message whenever it is
%DCL-W-ACTIMAGE, error activating image RSX
-CLI-E-IMAGEFNF, image file not found xxxxxx$DKA0:[SYS0.SYSCOMMON.]
[SYSEXE]RSX.EXE;
IIRC that is the Migration Console Routine.
Post by Rodrigo Ventura
RSX? The name RSX rings a bell; something to do with some old PDP-11
operating system? RSX-11? Is that it?
Yes. VAX is Virtual Address eXtended and was a 32-bit OS built on the
base of RSX-11 from 16-bit PDP-11's. All VAXen had a PDP-11 emulation
mode built into the hardware and DEC promised they would always, but
eventually that became a software emulation add-on.

Everything is now native 32-bit on OpenVMS VAX, but the MCR interface
remains, especially for "foreign" commands.
Post by Rodrigo Ventura
I head that the early VMS versions used PDP-11 software, by the means
of some kind of PDP-11 instruction set emulation with the VAX
processors, but it strikes me that it has reached until today, in
Alpha architecture... Or probably I'm just mixing things up... what a
mess!

You are not mixing things up, but it is certainly *NOT* a mess. It's
called
backward compatibility and allows things written before 1977 to continue to
work.
Post by Rodrigo Ventura
Cheers,
Rodrigo
--
*** Web page: http://www.isr.ist.utl.pt/~yoda
*** Instituto de Sistemas e Robotica, Polo de Lisboa
*** Instituto Superior Tecnico, Lisboa, PORTUGAL
*** PGP fingerprint = 0119 AD13 9EEE 264A 3F10 31D3 89B3 C6C4 60C6 4585
Rodrigo Ventura
2004-09-14 15:48:35 UTC
Permalink
norm> You are not mixing things up, but it is certainly *NOT* a
norm> mess. It's called backward compatibility and allows things
norm> written before 1977 to continue to work.

Can I conclude that each time I run "MCR SYSGEN" the PDP-11 emulation
is run? In that case SYSGEN would be PDP-11 code!! In that case, COOL!

Cheers,

Rodrigo
--
*** Rodrigo Martins de Matos Ventura <***@isr.ist.utl.pt>
*** Web page: http://www.isr.ist.utl.pt/~yoda
*** Teaching Assistant and PhD Student at ISR:
*** Instituto de Sistemas e Robotica, Polo de Lisboa
*** Instituto Superior Tecnico, Lisboa, PORTUGAL
*** PGP fingerprint = 0119 AD13 9EEE 264A 3F10 31D3 89B3 C6C4 60C6 4585
Paul Sture
2004-09-14 17:45:38 UTC
Permalink
Post by Rodrigo Ventura
norm> You are not mixing things up, but it is certainly *NOT* a
norm> mess. It's called backward compatibility and allows things
norm> written before 1977 to continue to work.
Can I conclude that each time I run "MCR SYSGEN" the PDP-11 emulation
is run? In that case SYSGEN would be PDP-11 code!! In that case, COOL!
Backwards compatibilty with command language yes, PDP-11 emulation no
(unless you are running hardware and an OS version which is 20 or so
years old).
John Santos
2004-09-15 00:15:26 UTC
Permalink
Post by Rodrigo Ventura
norm> You are not mixing things up, but it is certainly *NOT* a
norm> mess. It's called backward compatibility and allows things
norm> written before 1977 to continue to work.
Can I conclude that each time I run "MCR SYSGEN" the PDP-11 emulation
is run? In that case SYSGEN would be PDP-11 code!! In that case, COOL!
Cheers,
Rodrigo
No. The image activator (invoked by both "RUN" and "MCR") knows how to
load and start both native VAX images and RSX-11 (16-bit PDP-11) tasks.
(At least on VAX, it does.) So you can run anything with MCR. To
actually use RSX tasks, you need the VAX-11 RSX layered product, which
contains the AME, a bunch of RSX utilities (MAC, TKB, PIP, LBR, various
RMS-11 utilities, etc.) and (on systems that don't have hardware PDP-11
emulation) CEM$EMULATOR.EXE, which provides software emulation of the
PDP-11 instruction set.

VAX-11 RSX was originally part of VMS, but was split off at about V3.0,
when native ports of all the essential system utilities were available.
If you were upgrading from an earlier version, you could get a free
"grandfather" license for it, though I think you had to ask.

RSX allowed you to pass command lines to a task, and MCR emulated this.
RUN does not allow you to pass a command line. Since MCR could also
activate native images, it was the easiest way to pass a command line
to an image. I don't know if anyone has tabulated the FAQ's, but "How
do I pass a command line to an image?" is probably #1. (There are at
least 2 other ways...)

So even though PDP-11 mode isn't supported on Alphas and Itaniums and
is probably now extremely rare even on VAXes, MCR lives on.
--
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539
d***@gmail.com
2018-09-02 20:46:36 UTC
Permalink
And why it is the name for band My Chemical Romance too? I'm not yet another emo kid which stumbled upon here, just I'm curious when I found out accidentally about this band when searching how to use this command.
Paul Sture
2018-09-02 21:03:36 UTC
Permalink
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I
found out accidentally about this band when searching how to use this
command.
No idea about the band, but in the VMS context, MCR stands for Monitor
Console Routine.

MCR was the CLI interface for the RSX operating system, which predated
VMS. Early versions of VMS, with assistance from hardware available on
early VAXes, could run RSX programs, including MCR, in what was known as
Compatibility Mode.
--
The trouble with the world is that the stupid are cocksure and the
intelligent are full of doubt. -- Bertrand Russell
Dave Froble
2018-09-03 03:03:28 UTC
Permalink
Post by Paul Sture
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I
found out accidentally about this band when searching how to use this
command.
No idea about the band, but in the VMS context, MCR stands for Monitor
Console Routine.
MCR was the CLI interface for the RSX operating system, which predated
VMS. Early versions of VMS, with assistance from hardware available on
early VAXes, could run RSX programs, including MCR, in what was known as
Compatibility Mode.
On VMS, MCR is equivalent to RUN SYS$SYSTEM:???

Some use it as a shortcut.

$ RUN SYS$SYSTEM:TCPIP$FINGER.EXE

can be done as

$ MCR TCPIP$FINGER
Richard Levitte
2018-09-03 12:26:27 UTC
Permalink
Post by Dave Froble
Post by Paul Sture
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I
found out accidentally about this band when searching how to use this
command.
No idea about the band, but in the VMS context, MCR stands for Monitor
Console Routine.
MCR was the CLI interface for the RSX operating system, which predated
VMS. Early versions of VMS, with assistance from hardware available on
early VAXes, could run RSX programs, including MCR, in what was known as
Compatibility Mode.
On VMS, MCR is equivalent to RUN SYS$SYSTEM:???
Some use it as a shortcut.
$ RUN SYS$SYSTEM:TCPIP$FINGER.EXE
can be done as
$ MCR TCPIP$FINGER
As has been pointed out years ago, there's another difference from a user point of view:

$ run sys$system:tcpip$finger -h
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
$ mcr tcpip$finger -h
Usage: FINGER [/ALL] [/[NO]CLUSTER] [/FULL] [username][[@hostname]...[@hostname]]

Cheers,
Richard
Paul Sture
2018-09-05 10:45:27 UTC
Permalink
Post by Dave Froble
Post by Paul Sture
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I
found out accidentally about this band when searching how to use this
command.
No idea about the band, but in the VMS context, MCR stands for Monitor
Console Routine.
MCR was the CLI interface for the RSX operating system, which predated
VMS. Early versions of VMS, with assistance from hardware available on
early VAXes, could run RSX programs, including MCR, in what was known as
Compatibility Mode.
On VMS, MCR is equivalent to RUN SYS$SYSTEM:???
Some use it as a shortcut.
$ RUN SYS$SYSTEM:TCPIP$FINGER.EXE
can be done as
$ MCR TCPIP$FINGER
Ah yes, forgot that aspect of it.

I can also be used thus:

$ MCR SYS$DISK:[]progname

to execute "progname" in the current directory
--
We will not be enslaved through coercion, but by the lure of convenience.
Bob Koehler
2018-09-07 19:04:06 UTC
Permalink
Post by Paul Sture
$ MCR SYS$DISK:[]progname
to execute "progname" in the current directory
In which case sys$disk: is unecessary. But if it's some other path,
put it in.
Phillip Helbig (undress to reply)
2018-09-07 23:35:15 UTC
Permalink
Post by Bob Koehler
Post by Paul Sture
$ MCR SYS$DISK:[]progname
to execute "progname" in the current directory
In which case sys$disk: is unecessary. But if it's some other path,
put it in.
Yes it is; MCR defaults to SYS$SYSTEM, not SYS$DISK:

$ create authorize.exe
Exit
$ mc authorize !defaults to SYS$SYSTEM; expected results
UAF> Exit
%UAF-I-NOMODS, no modifications made to system authorization file
%UAF-I-RDBNOMODS, no modifications made to rights database
$ mc sys$disk:[]authorize !try to run the newly created empty file
%DCL-W-ACTIMAGE, error activating image SYS$DISK:[]AUTHORIZE
-CLI-E-IMGNAME, image file DSA510:[ADMIN]AUTHORIZE.EXE;1
-SYSTEM-W-ENDOFFILE, end of file

So it IS necessary to execute "progname" in the current directory, since
otherwise it defaults to SYS$SYSTEM.
Phillip Helbig (undress to reply)
2018-09-08 08:15:45 UTC
Permalink
Post by Phillip Helbig (undress to reply)
Post by Bob Koehler
Post by Paul Sture
$ MCR SYS$DISK:[]progname
to execute "progname" in the current directory
In which case sys$disk: is unecessary. But if it's some other path,
put it in.
So it IS necessary to execute "progname" in the current directory, since
otherwise it defaults to SYS$SYSTEM.
Of course, SYS$SYSTEM is defined as the disk from which the system
booted, but in the SYSTEM table. Normally there is a PROCESS logical
which points to the current default disk.

Phillip Helbig (undress to reply)
2018-09-03 20:09:50 UTC
Permalink
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I found
out accidentally about this band when searching how to use this command.
I always preferred MC AUTHORIZE and MC SYSMAN to MC Hammer. :-)
norman.raphael@ieee.org
2018-09-03 20:32:14 UTC
Permalink
-----Original Message-----
Sent: Mon, Sep 3, 2018 4:15 pm
Subject: Re: [New Info-vax] a simple question: what the h*ll is MCR?
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I found
out accidentally about this band when searching how to use this command.
I always preferred MC AUTHORIZE and MC SYSMAN to MC Hammer. :-)
What about MC Escher? 8-)

Norman F. Raphael
Please reply to: ***@ieee.org
"Everything worthwhile eventually
degenerates into real work." -Murphy
Chris Scheers
2018-09-04 01:34:13 UTC
Permalink
Post by ***@ieee.org
-----Original Message-----
Sent: Mon, Sep 3, 2018 4:15 pm
Subject: Re: [New Info-vax] a simple question: what the h*ll is MCR?
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I found
out accidentally about this band when searching how to use this command.
I always preferred MC AUTHORIZE and MC SYSMAN to MC Hammer. :-)
What about MC Escher? 8-)
MC Escher is usually preferred, but is mandatory if recursion is involved.
--
-----------------------------------------------------------------------
Chris Scheers, Applied Synergy, Inc.

Voice: 817-237-3360 Internet: ***@applied-synergy.com
Fax: 817-237-3074
Stephen Hoffman
2018-09-06 14:55:05 UTC
Permalink
Post by d***@gmail.com
And why it is the name for band My Chemical Romance too? I'm not yet
another emo kid which stumbled upon here, just I'm curious when I found
out accidentally about this band when searching how to use this command.
MCR The Command was a command well before any of the members of MCR The
Band were born. Maybe go ask them for the origin of the name, if it's
not already been documented?

More for posterity and history around the then-current status of the
MCR command within OpenVMS.

This may well have been the thread that kicked off a discussion or
three within OpenVMS development, around the MCR command and
particularly around its semi-documented status within the OpenVMS
documentation set. There were a few references to the MCR command
scattered around in the manuals and particularly in the examples
published in the documentation set, though the bulk of the MCR-related
command documentation and related baggage had been previously expunged
with the removal of the then-VMS pieces of RSX-11M compatibility mode
at then-VAX/VMS V4.0; when then-VAX/VMS went fully native on VAX.
Whether the then-we OpenVMS development should re-document and
implicitly also then support at least parts of the MCR command—and as
this thread touches upon, the command is somewhat unusual—or whether
then-we should work to further remove the remaining documentation
references to MCR.

As part of this de-documentation effort, a reference to the command and
the RSX-11M compatibility environment would have reasonably been added
into the OpenVMS obsolete features manual, though that manual had
itself been marked obsolete. Go figure.

For reasons of compatibility, the MCR command wouldn't be removed from
the command tables nor from the system, but remaining references to MCR
in the documentation would be removed.

A number of MCR references were then removed from then-opened manuals,
or were queued for removal as the associated and then-closed manuals
were eventually opened and updated and regenerated.

This is one of the areas where OpenVMS documentation falls down badly.
The whole approach was toward printed manuals and stocks and printing
costs, and not toward continuous updates and native-online
documentation. Hence part of my comments around re-thinking the
entirety of the related processes, as well as the tools and the
currently-limited app and tool access available. This is why various
manuals can and variously did end up stale. More often than might be
realized. It wasn't feasible to reprint them, so the updates languished
in source files and/or in bug-tracking databases, and weren't available
to customers. But I digress.

References to MCR in published source code examples would have been the
next targets for further de-documenting the command. There was also
some discussion around the longer-term incremental removal of MCR
references in existing DCL procedures within OpenVMS itself, though
that would have been more aspirational than reality, and only as the
particular DCL was modified for other purposes and other reasons.

There's far too much stale code around in OpenVMS itself and in its
published examples, and it all gets used as examples for newer OpenVMS
and newer customer development, unfortunately. OpenVMS was never very
good at documenting and guiding end-users and ISVs around
security-related programming information, for instance. And OpenVMS
development hasn't been particularly adept at de-documenting and
removing old and outdated bits, at moving folks away from old and
outdated designs, and old approaches. This is probably also related to
why a number of long-term OpenVMS folks haven't recognized the latent
security issues in OpenVMS and in user and third-part apps, too. But I
digress, again.

MCR isn't AFAIK considered documented and—given the retirement of the
RSX-11M compatibility mode kit some years ago—probably also is not
particularly considered supported for customer use, and is probably
best avoided in new DCL procedures and new work. But it almost
certainly won't be removed, and the mainline RUN SYS$SYSTEM behavior
will almost certainly continue to work. This for reasons of
compatibility. Donno. Ask VSI.
--
Pure Personal Opinion | HoffmanLabs LLC
Loading...