[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