PiDP-8/I SoftwareUpdate of "TD8E vs TC08"
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.


Artifact ID: 7f9fd9f8b7d648e712ea34fc853c2478f32fb30f
Page Name:TD8E vs TC08
Date: 2019-02-13 03:17:57
Original User: tangent
Parent: fc81a76931c1de0725570c9a377900215ac7876dc718641d43d6ff71501c4263 (diff)
Next cc370fc395a9851b808bd4fac96c61e9c7ec0138

The Problem

The os8.tu56 file shipped with early releases of the PiDP-8/I software was an image created from a DECtape found running on someone's PDP-8 system. That system had a TD8E "Simple DECtape" controller that required the CPU to monitor the tape as it sped past the heads, and transferred data through the AC, not by using Direct Memory Access.

Most surviving PDP-8/e hardware has that same simple single-card DECtape controller. However, there is another DECtape controller available for the PDP-8, the TC08, which offloads to hardware more of the tape motion and uses DMA to transfer data. Before the advent of the PDP-8 OMNIBUS, the TC08 was the only controller option available, but it was expensive.

The problem we face is that both types of DECtape TU55 and TU56 controllers use the same IOT device codes but have incompatible command schemes. Consequently, the only sensible choice when you BUILD OS/8 is to select at most one such controller type.


Here's where the interesting tradeoff comes in: emulating a DMA device in SIMH is quick and easy. Your driver gets the pointer to the blocks and it copies them. The TC08 emulator for SIMH is simple and runs as fast as the host can copy bytes.

Emulating the TD8E is harder. SIMH has to listen for the commands to start the tape moving, then for the desired block number. SIMH must then wait for each 12 bit word to go into that block to come in through the emulation of a programmed I/O instruction that put that word in the PDP-8 AC. And it has to do all of this

Your Choice

If all you ever want to do is play with virtual DECtape images under SIMH, configure the PiDP-8/I software distribution in the default way, which now uses the TC08 device since release 201902xx. The TC08 simulation is a LOT faster and has lower CPU overhead.

However, if you are using SIMH and the PiDP-8/I to create bootable OS/8 TU56 images for use on real hardware, you may want to configure it to use the TD8E, because it's the more commonly found DECtape controller:

 $ ./configure --boot-tape-config=td12k

If you configure OS/8 on that tape image with the wrong driver, it won't boot on the real hardware.

TD8E vs. TD12K

You might be wondering why the above command uses the name "td12k" instead of "td8e". It's because there are actually two different kinds of TD8E controller. Briefly, there's the version for PDP-8/e machines with at least 12 kWords of core and the version for an 8 kWord machine, and they work differently.

If we ever decide to support that other tape controller type in os8-run, we'll probably use the option value "tdrom".