On 12/3/2010 12:00 PM, [email protected] wrote:
Message: 1
Date: Fri, 03 Dec 2010 08:44:15 +0100
From: J?rg Hoppe<[email protected]>
To: [email protected]
Subject: [Simh] SimH: Bugfix in VAX/PDP11 TK50 driver: pinging Bob!
Message-ID:<[email protected]>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Hi folks, hello Bob,
There's a bug in V3.8-1 pdp11/pdp11_tq.c.
It causes errors on a simulated VAX under Ultrix-32v3 when reading TK50
installation tapes.
A fix is given below and should go into V3.8-2.
I'd like to combine this with a plea for documentation:
There's nothing about the TMSCP (tape) extensions to MSCP, can somebody
help?
<snip>
3) Analysis
------------
When debugging SimH with
sim> set console debug=stdout
sim> set tq debug
we see that the Ultrix-32 TMSCP driver reads a few more data records
(approx 5) than it needs (cache?).
It backspaces then a few data records to the start of tapefile15.
The TMSCP command for that is 35 "M_OP_POS" (REPOSITION), with modifiers
"REVERSE" and "OBJECT".
This means: backspace a certain amount of "tape records" (and not "tape
files").
! But when the Simh "tq" driver backspaces, it counts the tape mark
between file 14 and file 15
also as an "object". But for TMSCP an "object" is only a "data record" !
So if there are short files on the tape, the backspace will traverse a
tape mark
and SimH steps one record less backwards than it should.
<snip>
------------------------------
Message: 2
Date: Fri, 3 Dec 2010 07:08:58 -0500
From: "Shoppa, Tim"<[email protected]>
To: J?rg Hoppe<[email protected]>, "[email protected]"
<[email protected]>
Subject: Re: [Simh] SimH: Bugfix in VAX/PDP11 TK50 driver: pinging
Bob!
Message-ID:
<b136ede3df5ec441b6f08e0a7ab872450b9f654...@ex2k7-cms-1.wmata.local>
Content-Type: text/plain; charset="iso-8859-1"
with a plea for documentation:
There's nothing about the TMSCP (tape) extensions to MSCP, can somebody
help?
The best I know of is the commented DEC OS TU driver sources. Even there it's
obvious that there were frequent misunderstandings/incorrect assumptions
in early driver revisions, and sometimes there were dependencies between
driver revisions and controller firmware revisions (I remember at least
one major TQK50 revision in particular), so it becomes a kind of
industrial archaeology. And isn't that why we are messing around with this
stuff in 2010 anyway?
Tim.
------------------------------
One hates to spoil a beautiful theory with an ugly fact, but here's a
direct quote from the Tape MSCP Specification, Rev 2.02, dated November
8, 1987:
12 Object:
13 An "object" is either a Record or a Tape Mark. The
first
14 tape Object is recorded forward of the Tape
Format
15 Identification Area (TFIA). Note that the TFIA, Record
Gaps,
16 and any other control information (e.g.,
error
17 detection/correction frames) are not considered
to be
18 Objects.
And further, from the description of REPOSITION modifiers:
33 Object Count
34 The setting of this modifier and the value
specified
35 in the "record count or object count" and the
"tape
36 mark count" command message fields
selects the
1 skipping operation to be performed:
2 o If set, and the "record count or object
count"
3 field is non-zero, the Skip Tape Object
(both
4 records and tape marks) positioning
function is
5 enabled.
6 o If clear, and the "record count or object
count"
7 field is non-zero, the Skip Record
positioning
8 function is enabled.
9 o If clear, and the "tape mark count"
field is
10 non-zero, the Skip Tape Mark
positioning
11 function is enabled.
Still, the driver could be "right" because, as Tim noted, TMSCP went
through a lot of variants and implementation missteps. The TK50 may
have done object counting differently (and incorrectly). I don't have a
TK50 manual that details its implementation of TMSCP (DEC guarded that
very carefully), and the TMSCP spec only has a revision history back to
v1.6. The revision history
does mention a bunch of TK50 "temporary waivers," as well as five
permanent ones, so it's certainly possible that the TK50
was doing things wrong at the time this version of Ultrix was released.
It would be useful to try installing a later version of Ultrix from the
TK50 and see what happens.
I've sent the MSCP and TMSCP specs to be posted on Bitsaver.
/Bob
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh