On Thu, Sep 10, 2020 at 2:50 PM Richard Cini <rich.cini@gmail.com> wrote:
I might have found it.
AA-PE7VA-TC_RT-11_Device_Handlers_Manual_Aug91. Appendix A has a sample DX/DY handler which is for the RX01/RX02. Not sure what a “PF” device is or how it relates to DX/DY.
It still seems that the RX11 code within the simulator would need changes to support native disks.
That is the correct document. The DX and DY handlers are presented as a model for how to write a device driver for a new type of disk device not already supported by RT-11. In this case the PF device. I took a more detailed look at the code (I still don't have a platform ready-at-hand that it compiles on) and it looks like the disk code in the simulator isn't pretending to be an RX11 after all, or any other real DEC disk device. Rather it is an entirely made-up device designed to be easy to implement in the simulator, and also easy to write a device driver for. For example, it appears that the PF device works purely at the block level so you don't need to worry about tracks and sectors. This makes writing a custom driver from scratch easier, but ironically it also makes it harder to do this starting with an existing device that already has track/sector code. It may be easier to add real RX11/RXV11 support to the simulator than it would be to write a new RT-11 driver for the PF device, since the latter requires you to already have a running RT-11 system (or similar) to do the development work on. It's a question of how much effort you want to put into this when there are other emulators that work already (e.g. simh, ersatz-11, etc.). Or more to the point, which would you find more fun/interesting? Writing a new RT-11 PF device driver (or rewriting one that was previously written and is now lost) in PDP-11 assembly, or writing an RX11/RXV11 simulator in C? -ken