Hi,

I've a FPGA implementation of a PDP-11/70, see
  http://opencores.org/project,w11
and just added a RL11 interface. As always, the simh sources
are used as reference 'behavioral model'. So I had a close look
at pdp11_rl.c and stumbled over the lines

  t_stat rl_wr (int32 data, int32 PA, int32 access) {
  ...
     switch (GET_FUNC (rlcs)) {
  ...
     default:        /* data transfer */
       if ((uptr->flags & (UNIT_DIS|UNIT_OFFL)) ||
           (!(uptr->flags & UNIT_ATT))) {
         rl_set_done (RLCS_INCMP);
         break;
     }

This checks for all data transfer commands whether the unit
is enabled, online and attached, and if not aborts the command
with an RLCS_INCMP error. In all other error aborts a call like

  rl_set_done (RLCS_ERR | RLCS_INCMP);

is used, so the RLCS_ERR bit is also set. The RL11 documentation
clearly states, that this bit is simply the or of drive error
and controller error bits. So I'd assume it should always be
set when the error field is set, with RLCS_INCMP or otherwise.

Question:
  - was this an oversight, which went undetected so far ?
  - or does this model observed (in real hardware) behavior ?


                With best regards,      Walter
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to