Dave,
Since Fortran 77 is not much fun without floating point, you may want to try the RSX Floating Point Emulator.
Glenn Everhart released this floating point emulator on the Fall 82 RSX SIG tape in [312,315]. In 1984, my lab acquired a PDP-11/44 but it did not have a FPP. We used this FPEM software to be able to use Fortran 77 floating point operations. At that time we were running RSX11M+ V2.1 or maybe V3.0 It continued to be used until at least 1993 or so.
It works by putting a vector to its code which it partially locates in pool to trap illegal instructions. If the instruction was a FP instruction then it does the work in software and returns to the user code. It should be FIXed in memory, if it is checkpoint or moved by a shuffle to a different location after it runs, it will crash RSX. I’d fix it in memory early in STARTUP.CMD.
I did verify that the FPEM.MAC compiles & links clean on RSX11M+ V4.6, but I didn’t have an easy way to test it. Below is a bit more info on it that is also in FPEM.DOC
Best Regards,
Mark Matlock
FPEM.MAC- The famous Floating Point Emulator for RSX11M.
I have added support for RSX11M+ in this version and also added some logic for
RSX11M V4 to let it work with headers in new locat- ions. The test site has
not told me how it works in M+ as yet though I believe it will work correctly.
This version needs no system generation (the exec must NOT think there's any
floating point). See the initial part of the source for assembly conditionals
to set for M+ or RSX V4 operation. Assemble and build as any /PR:5 task and
link with RSX11M.STB and run in its own partition (or noncheckpointable, non-
shuffleable in GEN). If it shuffles, the system crashes! To use with F4P or
F77 include F4PEIS in your OTS (replace it into your library). This was
developed from the Los Alamos floating point emulator which was a great start
but didn't work. This does. Under RSX11M+ V2 I have not tested this version,
though I hope it will work. Under M V4 it will work. Note however that it
grabs and does not return some pool when run, so only fix it, and run it in
your system's startup.cmd file. Unstopping it will get it to replace the
system's vectors and exit.
Assembly:
MAC FPEM=LB:[1,1]EXEMC.MLB/ML,LB:[200,200]RSXMC,DU1:[312,315]FPEM
TASK BUILD:
TKB FPEM/-FP/-CP/PR=FPEM,LB:[1,54]RSX11M.STB