[Simh] Problem with reading tape with PDP-11 SIMH

Mark Pizzolato - Info Comm Mark at infocomm.com
Thu May 21 14:34:28 EDT 2015


On Thursday, May 21, 2015 at 12:45 PM, Alan Frisbie wrote:
> Before I dig too deeply into this problem, I thought I would ask if anyone else
> has seen it, or has some insight.
> 
> I am running a relatively recent (mid-April) version of the
> PDP-11 simulator on my Alphastation XP1000 with VMS v8.4.
> The simulated PDP-11 is a copy of the physical 11/73 system I had running
> RSX-11M v3.0 back in 1986.
> 
> So far, all simple things work just fine.
> 
> For instance, I can ATTACH a .TAP tape container file to SIMH
> TS0, and read it (as RSX device MS0:) OK using FLX.   I can
> also use DMP and other utilities to read the "tape".
> 
> The problem comes when I try to run TPC on the RSX system to
> create a container file.   Since I was the TPC maintainer back
> then, I am confident that it works correctly (at least for this
> purpose).   What appears to happen is that the first 16 or so
> reads of the tape complete OK, and the data gets written to
> the new container file on the disk.   However, nothing happens
> after that.

I need a little more detail here.  I don’t know what the TPC program is, but from what you are saying it might be a program which reads a tape and creates a TPC format tape image.  If so, I wonder why you're doing this?
 
In any case, why doesn't matter if the simulation doesn't behave like hardware did.  Can you configure a TMSCP device on the simulator and in your OS (simh device TQ) and try the same activity?  If it works with TQ and doesn't with TS then your recipe is good and there probably is a simulation issue.

> If I abort TPC and dump the next record on the "tape", it appears
> to be about 16 records in from the start.   (I'll verify the
> exact numbers next time).
> 
> From this, it looks like SIMH may not be handling the read requests after the
> first burst, or may not be properly giving
> completion interrupts to the PDP-11.   Remember, TPC was written
> to move a tape drive as fast as possible, so it will stress any emulator.
> 
> I hate to blame SIMH so quickly, particularly with so few solid facts, but this
> system (at least on physical hardware) worked perfectly.
> 
> Does anyone have any ideas or suggestions before I start a deep dive into
> the code?

Does the TPC program merely use the normal OS device driver to manipulate the device, or does it attempt to directly mess with hardware?

If the OS driver is being used, then the simulator will behave differently than real hardware in one significant way.  Since you are saying " TPC was written to move a tape drive as fast as possible", it would suggest to me that it attempts to queue multiple I/O concurrent requests to the driver.  The difference with the simulator vs the real hardware is that, in general the TPC program may never get a chance to queue more than one I/O to the device since the first operation will likely complete BEFORE control returns to the user mode program.  This may stress the user mode program in ways which it never saw when real tape operations took many milliseconds (or seconds).  If this is happening, some adjustments to the behavior of the TS device can potentially be made to slow it down.  Try "sim> DEP TS TIME 5000" or change 5000 to some other large number (the default is 10).

- Mark


More information about the Simh mailing list