Thanks
JGH
:-)
To make the list for RSX complete:
EMT 377 - All the system calls use this one
EMT 376 - This is for running code in kernel mode. Program must be priv
All other EMTs are free for programs to use, the same goes for all TRAPs.
IOT is used for fast mapping, if that is enabled, otherwise unused.
BPT is for debugging.
TRAP is totally unused.
Umm, and all of this is for user programs. Inside the kernel, RSX uses some more
of these for special purposes...
Johnny
RSTS/E uses EMTs (IIRC the even numbers starting at EMT+0) for system calls.
I can't check the numbers right now even though my ROSS/V emulator implements
them all (as of V8.0 with a smattering of V9.0+ directives), because the sources
are on a disk on my work VAX which died last week. :-(. Anybody got a VAX
4000-200 or mVAX 3600 or equivalent burning a hole in their pocket? If one
doesn't pop up on Ebay soon, I'll start looking for other options (such as
bringing the disks home and hooking them up to my hobbyist VAX 4000-300.)
All the VAX stuff is on DSSI disks or SCSI connected via an HSD10. (Can HSD10
SCSI disks be mounted directly on an Alpha SCSI bus?) I do have recent backups,
so that isn't really an issue, just the VAX is a very low priority at work
right now, so I can't spend much time or money on it.
--
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539
The V5.1 "RT-11 Mini-Reference Manual" (AA-M241A-TC) p120 summarises:-
Programmed Requests
RT-11 EMT Codes
EMT Interpretation
0-337 Version 1 programmed requests with arguments
both on the stack and in R0.
340-357 Programmed request with the arguments on the
stack and/or in R0.
360-373 Used internally by the RT-11 monitor.
374 Programmed request with one argument; R0
contains a function code in the left byte and a
channel code in the right byte.
375 Programmed request with several arguments;
R0 points to a block of arguments.
376 Used internally by the RT-11 monitor.
377 Reserved; RT-11 ignores this EMT and returns
control to the user program immediately.
Chris
Ah ha. So, from reading through
http://www.computer.museum.uq.edu.au/RT-11/AD-M241A-T1%20RT-11%20Mini-Reference%20Manual.pdf
I take it that in RT-11 after version 1, EMTs 000 to 337
are unused. I've been writing a PDP-11 emulator that uses
EMTs 000 to 017 to interface with the host. The above
suggests that will not clash with RT-11 other than
RT-11 version 1.
Thanks.
JGH
I suggest reading the Release Notes to see whether support for the low
numbers was ever actually removed. It may well be that programs built
on RT-11 V1 still work!
Also check the programming manuals to see whether DEC said anything
about use of EMT in user programs.
As a final resort look at the system source code from a post-V1 RT-11
kit.
Or just document your product as "RT-11 V1 not supported".
Chris
> To make the list for RSX complete:
>
> EMT 377 - All the system calls use this one
> EMT 376 - This is for running code in kernel mode. Program must be priv
>
> All other EMTs are free for programs to use, the same goes for all TRAPs.
> IOT is used for fast mapping, if that is enabled, otherwise unused.
> BPT is for debugging.
> TRAP is totally unused.
The PDP-11 Fortran-77 (and probably earlier versions) Object Time
Systems for RSX and RSTS use the TRAP instruction to connect to the
error facility. The TRAP parameter is the error number. Error
numbers 1--128 are available for user definition.
--
Rob Brown b r o w n a t g m c l d o t c o m
G. Michaels Consulting Ltd. (780)438-9343 (voice)
Edmonton (780)437-3367 (FAX)
http://gmcl.com/
I wrote a RT-11 emulator a long time ago so that I could support
existing RT-11 programs under Unix (V7). To my horror
I discovered at a lot of the standard DEC utilities use V1 EMT calls,
eg MACRO
Support was never dropped. It was one of those "support for XXX might
be removed in a later release" warnings. The overlay driver still uses
a V1 .READ request.
RT-11 V5.6 or V5.7 now uses EMT 373 for kernel calls (under XM).