At 08:37 AM 10/18/2015, Johnny Billquist wrote:

I decided to look into this a couple of days ago, since the basic workings of FRTS includes using interrupts, which is not possible if running under time sharing. That would also imply that it would not be possible to use F4 under RTS-8, which I had some memory of that it actually is possible.

To sum things up: The FPP-8 can usually not be used when in timesharing. First of all, you use IOTs to control the FPP, and all IOTs are trapped when in user mode. Second, as you note, the FPP-8 uses 15-bit addresses, which would make it impossible to use with virtual memory.

Also, the interrupt system is not available when in user mode.

However, FRTS actually have code to detect if it is running under RTS-8, and do not use the interrupt system in that case, but adopts. Also, since the FPP-8 IOTs are caught by RTS-8, and do not do anything, FRTS actually believes you are on a system without an FPP-8, even if you actually have one. So, FRTS will always use the FPP-8 emulator in this situation.

MULTOS-8 hook in to the same functionality, making FRTS believe it is running under RTS-8, which means that F4 programs will actually work under MULTOS-8, including ADVENT. I don't know if ETOS also implements the bits needed to make it look like OS/8 programs are actually under RTS-8. If it does, ADVENT should be possible to run under ETOS as well. Otherwise not.

Sounds like it's possible, if MULTOS-8 can give a user a full 32k to work with.

Finally, as I noted, the FPP-8 is not that possible to use in user mode, both because of the IOT instructions being caught, and the 15-bit addressing. However, the FPP-8A have a mode where it only allows memory accesses within the same field, and will trap out if any memory reference goes to another field. With some work, and code, I think it could be possible to actually have access to the FPP-8 from user mode, if you have an FPP-8A, but I have never tried this, as I lack the hardware.

That's not going to help anything using Fortran-IV, of course. The library and user code assumes that "virtual" addresses are the same as physical ones. And IOTs aren't "not possible" - they just need to be trapped and emulated by the OS.

It wouldn't be all that hard to add support for a FPP to a timesharing system as a UUO that knows how to map the user's field to something the FPP could use, then locking that field in core, as the FPP will continue to DMA from it while executing FPP instructions.

To support even this simple FPP mode would require the underlying OS to handle the housekeeping, as the FPP startup needs to know the physical field of the active parameter table, which a timeshared user wouldn't know.

Seems like a lot of work given the number of FPPs in the wild.

Also, not just FPP8-A has that feature. The "same field as the APT" bit is also implemented by the FPP-12. This makes me wonder what application there was for this.

Of course, you don't need the hardware to experiment with this. The SIMH FPP-8A implementation is as compatible to the hardware as I could make it - everything but the maintenance mode IOTs are implemented.
        -Rick

Reply via email to