[Simh] TSV05 on PDP-11/VAX

Alan Frisbie frisbie at flying-disk.com
Mon Apr 13 14:28:46 EDT 2015


Is anyone sucessfully using the TSV05 (TS) device with the PDP-11
(or VAX) emulation?   In particular with RSX (device MS0:).
I am getting a "not ready" error from RSX when trying to access
the tape drive:

  $ mount/for ms0:
  MOU - device not ready

I'm just getting started with SIMH, and am trying to emulate
a 1986-vintage PDP-11 system I have.   One of the devices is
a TSV05 (actually a Dilog DQ132 and Cipher drive), so I am
using the SIMH TS device.   The CSR and vector are the defaults,
both in SIMH and the RSX-11M+ system.   It works fine on the
physical hardware, with XXDP, RT-11, RSX-11M, and RSX-11M+.

Here is the SIMH configuration info:

  sim> show ts
  TS      address=17772520-17772523, no vector
          attached to dka300:[tpc_images.aef]108_AEF_WD_DRIVER_RSX.TPC,
          read only, write enabled, TPC format unlimited capacity

(As an aside, why does it display "no vector", when the physical
device (and hopefully the emulation) uses a fixed vector of 224?)

And here is the display from the RSX CON utility (RSX-11M+ v3.0):

  $ con
  CON>display all for msa
  MSA     CPA     Online,Accpath,Driver
  CON>display attrib for msa
  MSA     Csr=172522, Vector=000224, Pri=000005, Urm=000001

Note that the CSR is the *second* word of the device registers,
hence some occasional confusion.   This shows up below in the
debug log.

As I said above, I am getting a "device not ready" when I try
to access (MOUNT/FOREIGN) the drive.

To try and debug the problem, I turned on debug logging for the
TS device:

  sim> set console debug=tsv05_debug.log
  Debug output to "tsv05_debug.log"
  sim> set ts debug
  sim> continue

and then tried to mount the tape again:

  $ mount/for ms0:
  MOU - device not ready

I then looked at the debug log:

-----------
  Debug output to "tsv05_debug.log" at Sun Apr 12 22:23:57 2015
  PDP-11 simulator V4.0-0 Beta        git commit id: a7d0b0e3
  sim> set ts debug
  sim> continue
  DBG(17063457354)> TS REG: ts_rd(PA=0x003FF552 [TSBA], access=0): 0x0080
  DBG(17063457428)> TS REG: ts_rd(PA=0x003FF552 [TSBA], access=0): 0x0080
  DBG(17063457441)> TS REG: ts_wr(PA=0x003FF550 [TSSR], access=2): 0xFBCC
  DBG(17063457451)> TS REQ: >>STRT: cmd=GSTA, mod=0, buf=0, lnt=8, pos=0
  DBG(17063457451)> TS REQ: >>CMPL: sta=156, tc=0, rfc=0, pos=0
  DBG(17076286488)> TS REG: ts_rd(PA=0x003FF552 [TSBA], access=0): 0x0080
  DBG(17076286562)> TS REG: ts_rd(PA=0x003FF552 [TSBA], access=0): 0x0080
  DBG(17076286575)> TS REG: ts_wr(PA=0x003FF550 [TSSR], access=2): 0xFBCC
  DBG(17076286585)> TS REQ: >>STRT: cmd=GSTA, mod=0, buf=0, lnt=8, pos=0
  DBG(17076286585)> TS REQ: >>CMPL: sta=156, tc=0, rfc=0, pos=0

  Simulation stopped, PC: 026004 (BR 25752)
-----------

RSX is touching the registers and getting a response, but the
operation (Get Status) fails.

What I find odd is that it is calling register 0x003FF552
(17772522 octal) "TSBA", and register 0x003FF550 (17772520 octal)
"TSSR".   In the real world, 17772520 is the Bus Address (BA) and
17772522 is the CSR (SR).

I don't know if the debug output just has the names reversed, or
if PDP11_TS.C is actully emulating them backwards.   I don't know
enough C to understand what is happening, or how to determine
where the failure is occuring.

Or, of course, I could be doing something wrong and it is just
user error, not a SIMH problem.

Could someone give me a hand here?

Thanks,
Alan Frisbie


More information about the Simh mailing list