When I run under Ersatz-11, John Wilson allows
INSTALL EMEM.DLL
(this was under V3.1 of E11 and hopefully soon with EMEM32.DLL
under V5.1 of E11) to access many MegaBytes of PC memory via an
IOPAGE register.
For example:
BaseReg = 177100
BaseRe2 = BaseReg+2
BaseRe4 = BaseReg+4
BaseRe6 = BaseReg+6
Mov @#BaseReg,R0 ;Get the current value from PC memory
Mov R0,@#BaseReg ;Put the current value into PC memory
BaseRe4 / BaseRe6 are used as a 32 bit address into the PC memory allocated
during the INSTALL process.
Under RT-11, direct access to the IOPAGE (address above 160000) is
allowed even using VBGEXE by a reference to PREVIOUS DATA
space. I have written FORTRAN IV/77 interface subroutines to allow
a user to easily access that memory rather than use VIRTUAL arrays
which are much slower and have much less capacity.
I doubt that RSX-11 or RSTS/E allow a user access to the IOPAGE
even via PREVIOUS DATA space. Can anyone confirm this assumption?
Is there any fast method (only a few extra instructions) that would allow
a user to reference a specific IOPAGE register from a user program? Are
VIRTUAL arrays allowed in FORTRAN under RSX-11? If so, how
is access to the MMU registers controlled and allowed?
Johnny has helped with such RSX-11 questions in the past and the answers
were appreciated very much!
Sincerely yours,
Jerome Fine
--
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.