[Simh] PIP10 on PDP-8 SIM

Johnny Billquist bqt at softjar.se
Tue Mar 19 09:25:25 EDT 2013


On 2013-03-19 14:03, Timothe Litt wrote:
>> The DECtape format as such, with all the headers and so on, is the
>> same on all tapes. A normal PDP-8 formatted tape will have 129
>> (12-bit) words, however, while a PDP-10 (or any other 18-bitter) would
>> have 128 18-bit words (if I remember right).
> Pretty much right.  129 may be slightly misleading.  The format is 129,
> but the -8 used  only 128 of the 129 12-bit words/block for data.

Right. :-)

> The PDP-10 is 36-bit, not 18-bit.  A PDP-10 (actually, non-PDP-8)
> formatted DECtape would have 578 blocks of 128 36-bit words.  (256
> 18-bit words at the hardware level.)

I know that the PDP-10 is 36 bits. :-) I was talking about the DECtape 
as such, which physically always stores 18 bits. A PDP-10 would 
obviously store its 36-bit words using two DECtape words. Any 18-bit 
machine is straight forward, while the PDP-11 (as you mention below) 
only use 16 bits of the 18-bit word.

I thought it was 128 18-bit words, but I may well remember that wrong, 
and the "normal" format is 256 18-bit words. Makes sense, when I think 
about it.

The number of blocks is not absolutely fixed, but 578 is the "standard" 
except on the PDP-8, I guess.

> Blocks 0, 1, 2 are for DTBoot (hardware read-in bootstrap), and didn't
> contain user data.

That would be very depending on which machine we're talking about, and 
which controller... :-) But I assume you're talking about the PDP-10 
here. Did all PDP-10 with DECtapes use the same controller? I assume 
both the KA and KI had DECtapes, as well as the PDP-6.

> Block 100 is the directory block.  Thus 574 blocks for user data. The
> directory holds up to 22 files, plus a map of which file owns each block.
>
> The user data blocks have a one word header (LH = next block of file; RH
> = first block & words used in this block) + 127 words of payload.  This
> differed from disk files, where all 128 words were payload, so
> inattentive programmers could make a number of mistakes.  (E.g. random
> access block isn't word/128; you had to pay attention to the buffer's
> word count, etc.)
>
> Data blocks of a file are (usually) not contiguous; this allowed the
> drive to stop and restart while reading or writing without having to
> reverse direction.  The spacing depended on what blocks were free when
> files were written, and the data mode.  (Files written in 'core dump'
> modes were assumed to be read by the monitor without stopping, so the
> gap was smaller, allowing larger programs to be read without reversing
> direction.)
>
> The gory details of the format are in the Monitor Calls manual (TOPS-10).

TOPS-10 DECtape format is definitely not something I know anything 
about. But thanks for the rundown.

> The PDP-11 used 18-bit format, but ignored the high 2 bits of each word
> (except when reading PDP-10 tapes; the hardware for that was tricky as
> the high bits had to be read with programmed IO; the low 16 were DMAed
> on the TC-11.)

Yes! Thanks for bringing another murky memory.

> The low-level formatting that established the mark track, end zones and
> block delimiters was done via a stand-alone diagnostic. This differs
> between the two formats.  The directory block could be initialized under
> timesharing.

Um? What two formats?

> Directory structure given is for the PDP-10; other OSs used different
> formats.
>
>  From an emulation point of view, the PDP-10's controller was the most
> interesting; the driver does dead reckoning; that is, it will start a
> drive spinning for a seek, disconnect, service other drives, and
> reconnect just before the desired block is expected to be over the read
> head.  So real-world timing matters.  The other controllers (and thus
> OSs) didn't support this.

Wow. The TC08 actually did seeks while actually looking at the tape, and 
then did DMA as well. So you didn't have to pay any more attention than 
to a disk controller.
Essentially, you asked it to seek, and it indicated when the seek was 
done. You asked it to read, and it read.
As far as I can remember, the TC11 is the same.
Not sure what you mean by "other controllers didn't support this". What 
is "this". Doing dead reckoning? Why would you actually want to do dead 
reckoning. It makes much more sense to actually look at the tape the 
whole time it is spinning by, and not only when you are getting close to 
where you want to be. And the hardware can do that without your involvement.

In a way, however, I'd say that the TD8E is the most "interesting" 
controller to emulate, since it is so incredibly stupid that you 
actually have to emulate the low level format of the tape for that 
controller to work.
It is truly ugly. And that controller was a headache if you ever wanted 
to use it in a timesharing operating system, since it did not do DMA, it 
did not really do seeks, or in fact anything at all except just feed the 
bits from the tape to the computer as they whizzed by.

> Oh, all numbers above are radix 10.

What's wrong with you. ;-)

> The link for OS8 that I posted yesterday was via filewatcher; the direct
> link
> isftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/os8/
> Sorry if this was confusing.
>
> Of potential interest to low-level folks is
> http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/3387293
>
> Hope this is useful.
>
> This communication may not represent my employer's views,
> if any, on the matters discussed.

Thanks for all the interesting bits and pieces.

	Johnny

>
> On 18-Mar-13 16:26, Johnny Billquist wrote:
>> On 2013-03-18 17:44, Bob Supnik wrote:
>>> I was trying to get a debug setup for PIP10, per Ian King's mail, when I
>>> discovered that none of my OS/8 images have PIP10 on them. This
>>> certainly explains why the feature has never been tested before. I
>>> suspect that ReadAll and WriteAll either are not working at all, or are
>>> not working when the DECtape format is 18b. Another possibility is that
>>> PDP-10 DECtape format is not the same as 18b format, at the nitty-gritty
>>> level (format of headers and trailers).
>>
>> The DECtape format as such, with all the headers and so on, is the
>> same on all tapes. A normal PDP-8 formatted tape will have 129
>> (12-bit) words, however, while a PDP-10 (or any other 18-bitter) would
>> have 128 18-bit words (if I remember right).
>> The PDP-8, when doing 12-bit formatted tapes, just packs data in a way
>> that is rather different from an 18-bit machine. But at the tape as
>> such, there is nothing odd about it.
>>
>> But I can see lots of potential for errors when emulating this whole
>> thing.
>>
>> I couldn't give exact details on lots of bits without looking in
>> manuals, but in essence a DECtape is always doing 18-bit words. That
>> is done by doing 6 groups of 3 bits each.
>> A PDP-8 will pack three 12-bit words into two 18-bit words. This means
>> that a DECtape block for a PDP-8 will only have 86 18-bit words.
>> So the blocks are shorter, but you have more of them, when the tape is
>> formatted for a PDP-8.
>>
>> I hope (assume) that you already know all of this. If not, let me
>> know, and I can try helping out some more.
>> I actually did dump a few 18-bit tapes on my PDP-8 only a few months
>> ago, which is when I actually had to dig rather deep into all of this.
>> PIP10 was one of the things I really looked into. But since my tapes
>> had actually been written on a PDP-15, I had to write my own code in
>> the end, to just dump the raw data.
>>
>>> If anyone has a canned OS/8 V3C image with PIP10, please post it
>>> somewhere (like Mediafire) and let me know by email.
>>
>> I think someone already posted this, but I know I have that software,
>> including sources (if I remember right) somewhere. Let me know if it
>> can't be located anywhere else.
>>
>>     Johnny
>>
>> _______________________________________________
>> Simh mailing list
>> Simh at trailing-edge.com
>> http://mailman.trailing-edge.com/mailman/listinfo/simh
>
>
>
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
>


-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol



More information about the Simh mailing list