Image Map Image Map
Results 1 to 9 of 9

Thread: RH70 and RSX11M-Plus

  1. #1
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default RH70 and RSX11M-Plus

    I'm currently analyzing documents to implement a RH70 Emulation for my PDP-11/Hack. The general idea is to implement it using the existing RLV12/Hack hardware. Even the RLV12/Hack hardware is very simple, it should be able to support at least one RH70 with one disk drive. That would give at least 256Mbyte of online storage compared to the 4 x 10Mbyte of the RLV12. However the RH70 allows that certain commands are sent to multiple disk-drives, the only limitation is that only one of the pending commands is a transfer command. And that might be the challenge. But before I try to emulate all features described in the users guide and manuals of the RH70 and its Emulex clone SC03 I wanted to see what is in fact really used by a real driver of a DEC OS. But for that I would need the source code of the device driver. Does anyone has the source code of the DRDRV for RSX11M-PLus? Preferably for RSX11M-Plus Version 4.0 or newer.

    Peter

  2. #2
    Join Date
    Sep 2006
    Location
    Silicon Valley
    Posts
    1,566

    Default

    Quote Originally Posted by cbscpe View Post
    However the RH70 allows that certain commands are sent to multiple disk-drives, the only limitation is that only one of the pending commands is a transfer command.
    Peter
    RH11 / RH70 massbus adapters are more like SCSI or IBM channels, they assume they are talking to an intelligent formatter on the other side.
    You may need to refer to the SIMH implementation, since not everything about how they work was intentionally not documented in the external
    documentation to make them difficult to copy. The diagnostics also assume a very low-level knowledge of how the formatters work, which is why the
    third party diagnostics have to patch them, since they don't implement the logic in the same way they will fail some of the logic tests.

  3. #3
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default

    Diagnostic level accuracy is not what I plan. Not very useful in my case. The goal is to run RSX11M-Plus. And I want to avoid patches to the real OS (as did some controllers). It's more the question in what timing do real drivers expect things to happen in parallel on multiple drives. That's why I'm interested in the source code of a real driver of an operating system that I know supports overlapped seek. I encountered similar problems with my RLV12/Hack. In my case, different to simh, the resources I have on the controller are limited and I cannot throttle the CPU when I'm busy doing things. Everything which is expected to happen immediately (e.g. CLR controller command) must be executed within the Q-Bus time-out and things that may run in parallel must be queued for later processing (e.g. even I could execute the seek on the RLV12 within the DATO cycle, RSX11M-Plus did not like it). MASSBUS is not like SCSI, in MASSBUS you have synchronous requests (the drive must answer with the Unibus read/write cycle) and asynchronous requests without interrupt (seek) and with interrupt (read, write). On a SCSI bus everything is asynchronous (even if you do not release the SCSI bus between a request and a reply you never may expect that things occur in a given timeframe).

  4. #4
    Join Date
    Jan 2013
    Location
    Decatur, IL, USA
    Posts
    100

    Default

    Quote Originally Posted by cbscpe View Post
    I'm currently analyzing documents to implement a RH70 Emulation for my PDP-11/Hack. The general idea is to implement it using the existing RLV12/Hack hardware. Even the RLV12/Hack hardware is very simple, it should be able to support at least one RH70 with one disk drive. That would give at least 256Mbyte of online storage compared to the 4 x 10Mbyte of the RLV12. However the RH70 allows that certain commands are sent to multiple disk-drives, the only limitation is that only one of the pending commands is a transfer command. And that might be the challenge. But before I try to emulate all features described in the users guide and manuals of the RH70 and its Emulex clone SC03 I wanted to see what is in fact really used by a real driver of a DEC OS. But for that I would need the source code of the device driver. Does anyone has the source code of the DRDRV for RSX11M-PLus? Preferably for RSX11M-Plus Version 4.0 or newer.

    Peter
    Peter,
    Attached is DRDRV.MAC from RSX11M+ V4.6 I had to name it with a .txt extension in order for the forum's upload to work. You should also down load a copy of the RSX11M+ Guide to Writing an I/O driver found in the directory below on Al's bitsavers site:

    http://www.bitsavers.org/pdf/dec/pdp...1Mplus_V4.x/6/

    In that Guide, section 1.4 discussed both overlapped seeks and overlapped I/O completion although maybe not in enough detail for what you need. Good luck
    with your project and when you get it to a kit form for purchase, I'd be interested.

    Best Regards,
    Mark
    Attached Files Attached Files

  5. #5
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default

    Hi Mark,

    Thanks for the the source code. In fact I have two projects running at the moment, one is the RH70 emulation and one is the Q-Bus version of the RLV12/Hack. For the Q-Bus versions of the RLV12 I just wait for the last pieces to arrive (the PCB and some SN743. The plan is that the RH70 emulator is just a different CPLD design file and a different firmware for the MCU. Let's see how far I can get, I'm confident that a single RM05 drive version is not too difficult. But the goal is of course a multi-drive _RM05 version.

    If it works I will make at least the design public.

    Peter

    Peter

  6. #6

    Default

    Have you checked the w11 PDP-11/70 FPGA implementation? In there it is a RH70 among others. Might give some ideas. https://opencores.org/project/w11

  7. #7
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default

    And there is as well http://pdp2011.sytse.net/wordpress/.

  8. #8
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default Need some confirmation

    Hi,

    I have come to the conclusion that the emulation of a RH70 with more than one drive would require massive extensions to the existing storage interface I have already built for may RLV12 Hack and even if I would do so, the CPLD I use (ATF1508 ) has not enough resources and there is no such thing like a ATF1516 (even it was mentioned once in a Atmel presentation). So this has been ruled out already. But even a single RM05 drive solution would be usable I think but for this I need the following verified. Does anybody have such an system at hand (e.g. with a RM02/03 or equivalent)?

    For the single drive solution I need someone with a RH11 RH70 or SC03 controller to confirm/something:

    What happens when you select a non-existing drive (using the unit select bits in CS2) and then try to read or write a drive register (not a massbus register). Does this cause a bus timeout?

    Peter

  9. #9
    Join Date
    Apr 2017
    Location
    Switzerland
    Posts
    192

    Default

    More reading and studying showed the following. When you address a non-existing unit the only thing that happens is that bit NED in CS2 is set whenever an attempt is made to read or write a register from a non-existing drive (hence the name of the bit). But that's all. Further reading also showed, that even a single drive emulation on the RVL12/Hack hardware will not be able to simulate the 100% correct behavior of a RH70 controller. In other words a new hardware design is required. The problem is the design of the RLV12/Hack relies on the fact that the controller goes completely busy when a transfer is requested and only reading the base CSR and checking the controller ready bit requires a response from the controller. The RH70 is different. It has two sections, one section is dealing with register IO and the other section is dealing with data transfer and they work completely independent. Even so only one transfer task can be active the controller still processes all CSR read or write access. So I will have to postpone this project not because it is difficult, but I need to make progress on finalizing and documenting the existing PDP-11/Hack.

    Peter

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •