SimH DECtape vs. Tops-10 [was RE: Writing emulators [Was: Re: VCF PNW 2018: Pictures!]]

Doug Ingraham dpi at
Mon Feb 26 11:06:06 CST 2018

On Fri, Feb 23, 2018 at 2:49 PM, Rick Murphy via cctalk <
cctalk at> wrote:

> On 2/21/2018 5:14 PM, Paul Koning via cctalk wrote:
>> Ok, then it could be for VMS, which also does this (via Andy's
>> unsupported driver).  I don't know of PDP-11 or other minicomputer systems
>> that do DECtape overlapped seek.  I suppose it could be for artistic
>> verisimilitude...
> TSS/8. It was a wonderful thing to witness. Start the drive spinning,
> deselect it, go start up another, then reselect the first one as it
> approached the right part of the tape.
>     -Rick

The purpose of an emulator is to accurately pretend to be the original
hardware.  It doesn't matter that the original OS runs on a particular
emulator.  If a program can be written that runs on the original hardware
but fails on the emulator then there is a flaw in that emulator.

I've been slowly working on a PDP-8 emulator since the mid 1980's.  It was
able to run code a couple of days after I started working on it.  FOCAL in
about a week.  The Teletype emulation timing was added early on so a
program could not tell it was running on the emulator by timing the TTY
instructions.  About 10 years ago I added acceleration curves to the high
speed paper tape reader timing.  Within the last year I have added DF-32
support and am working towards fixing the timing so a program could not
be written to tell.  I need to add a randomness factor to the inter platter
timing.  At the moment it looks like all the drives are in optimum lockstep
which makes transfers run a little faster but isn't reality.  Probably add
a 50 hz option for those in 50 hz countries since the drive motors run
slower there and thus transfers were slower.

I have delayed adding DECTape support for years because of the difficulty
of doing this correctly.  You need to support so much stuff to do this
right from a timing standpoint.  At least on the TC01 controller you can
read in the reverse direction as well as the normal forward direction.  Do
you need to support reverse reads?  Almost no software took advantage of
this.  Every drive runs a little different and the emulator could (should)
reflect this.

If you can't have a real machine the least you can have is a correct as
possible emulator.  It is a lot easier to be lazy and think you are done
when the OS boots or an interpreter appears to run or it passes
diagnostics.  In reality you have barely begun.

Doug Ingraham
PDP-8 SN 1175

More information about the cctalk mailing list