Re: [Simh] Write sector headers to disk

2019-06-25 Thread Lars Brinkhoff
Rob Doyle wrote:
> One thought that should help: SIMH stores 36-bit data inside a 64-bit
> data word. There is plenty of unused whitespace inside the existing disk
> image. There is no reason for an incompatible change.

Of course!  Thank you.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Lars Brinkhoff
Johnny Billquist wrote:
> The fourth option is to treat this as a normal write. Essentially,
> unless I remember wrong, that is pretty much the end result on real
> hardware.

Agreed.  If SIMH was updated to do this, I think SALV would be 99%
happy.

> I've played with a few disks back in the day that could write the
> headers as well as read them, but there were no ability to store
> arbitrary data there, so what would be returned on a read headers
> could be computed when needed.

I'm using the term "key field" as documented here:
http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/EK-RP04-MM-001%20RP04%20Device%20Control%20Logic%20Maintenance%20Manual.pdf

See e.g. page 2-37.  The header consists of five 16-bit words: cylinder
and format, sector and track, key field #1, key field #2, and CRC.  The
key fields are arbitrary data under software control.

I don't know if this applies to the RP06.

SALV does write information to the key fields, but it seems the data
isn't very important.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] The Interconnect Task Force

2019-06-25 Thread Robert Armstrong
> RC25 ...

  Thanks, but I was more interested in the details of LESI if they are
available.  LESI was another mass storage "bus" that supported both disk and
tape (albeit with exactly one example of each).

  RC25s never worked which, if you had an 11/725, was sad :(

Bob

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Rolm 1602

2019-06-25 Thread Henry Bent
My mistake entirely, I had no idea that such a thing existed but it
certainly did and played some very important roles.  I mistakenly assumed
when Bob said that there was no documentation that it could have been a
failed experiment.

-Henry

On Tue, Jun 25, 2019, 20:54 Al Kossow  wrote:

>
>
> On 6/25/19 5:49 PM, Henry Bent wrote:
>
> > Was it actually used in production
>
> yes
>
> https://en.wikipedia.org/wiki/ROLM
>
> we have one
>
> https://www.computerhistory.org/collections/catalog/102717964
>
> there are youTube videos of it
>
> https://www.youtube.com/watch?v=XvUpfUj7pzA
>
> and there was a 1603
>
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Rolm 1602

2019-06-25 Thread Al Kossow


On 6/25/19 5:49 PM, Henry Bent wrote:

> Was it actually used in production

yes

https://en.wikipedia.org/wiki/ROLM

we have one

https://www.computerhistory.org/collections/catalog/102717964

there are youTube videos of it

https://www.youtube.com/watch?v=XvUpfUj7pzA

and there was a 1603

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Rolm 1602

2019-06-25 Thread Henry Bent
On Tue, 25 Jun 2019 at 20:41, Bob Supnik  wrote:

> Rolm & Haas made a militarized Nova-compatible minicomputer called the
> 1602 - a follow on to their 1601 Ruggednova system. It had an extended
> instruction set. I know this because I found the listings for the PDP10
> based 1602 simulator in my attic tonight. I've never seen any other
> documentation.
>
> I'm not sure this system adds anything to Nova lore, but if people are
> interested, I can try to compile a "feature set" from the PDP10
> simulator code.
>
> /Bob
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh


Was it actually used in production, or did it just exist in a simulator
form?  I can easily imagine a simulator for such a thing being written but
not surviving past a failed bid process, so no hardware.

-Henry
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Rolm 1602

2019-06-25 Thread Bob Supnik
Rolm & Haas made a militarized Nova-compatible minicomputer called the 
1602 - a follow on to their 1601 Ruggednova system. It had an extended 
instruction set. I know this because I found the listings for the PDP10 
based 1602 simulator in my attic tonight. I've never seen any other 
documentation.


I'm not sure this system adds anything to Nova lore, but if people are 
interested, I can try to compile a "feature set" from the PDP10 
simulator code.


/Bob
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] The Interconnect Task Force

2019-06-25 Thread Paul Koning


> On Jun 25, 2019, at 7:42 PM, Bob Supnik  wrote:
> 
> The RC25 (code named Aztec) got started as I was leaving Storage Engineering. 
> ...
> 
> The RC25 was pretty much a disaster, technically and financially, and the end 
> of the line for DEC's removable disk program. 

It was quite ugly, because you had two drives on one spindle.  RSTS was told to 
support an RC25-only config, apparently for use in Royal Navy submarines (space 
constrained, obviously).  The trouble is that removing the removable pack meant 
spinning down the system unit (boot drive).  RSTS was never designed for that 
and would get very unhappy.  We hacked this by basically putting a system 
freeze feature in that would let you freeze everything while the drive was off.

paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Read/write header in RP drives

2019-06-25 Thread Bob Supnik

I like Johnny's suggestion.

1. On write header, "eat" the two header words and then write normal data.
2. On read header, synthesize the two standard header words and then 
read the pack data.
3. On write check header, skip the first two (header) words and then do 
a normal write check.


This is what the DECtape simulators do with Read All and Write All. This 
solution would work on the PDP11/VAX RPs as well.


I also agree that the "white space" could be used to record the header 
information for 36b drives, but it would be safer to leave those bits as 
zeroes. If the upper 28b of simulated PDP10 memory ever held non-zero 
data, the CPU simulator would go off the rails, badly. And the solution 
would be unique to the PDP10 implementation.


/Bob



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] The Interconnect Task Force

2019-06-25 Thread Bob Supnik
The RC25 (code named Aztec) got started as I was leaving Storage 
Engineering. Mike Riggle, VP of Storage Advanced Development (and later 
Storage Engineering), recognized early on that to improve seek and 
rotational performance, disk diameters (14" for the RA8X series) had to 
shrink; 8" or 9" would be the next target. Mike wanted to do only sealed 
(Winchester) disks, but there was significant marketing pressure for a 
low-end removable disk to succeed the RK11, RK611, and RL11. Hence 
Aztec, later the RC25. LESI was, I believe, an attempt to cost-reduce 
the RA8X's radial disk interconnect while maintaining performance.


The RC25 was pretty much a disaster, technically and financially, and 
the end of the line for DEC's removable disk program. Low end systems 
went with ST504-compatible 5.25" sealed disks (the RDXX family), while 
the high-end went with 8" or 9" RA9X series, which used the RA8X radial 
interconnect. ST504 was eventually replaced by SCSI (and later its 
clusterable proprietary variant, DSSI).


/Bob

On 6/25/2019 7:22 PM, Robert Armstrong wrote:

Bob Supnik [b...@supnik.org] wrote:
Ah, yes, the Interconnect Task Force. 1980, perhaps?


   Can you say anything about LESI, "Low End Storage Interconnect"?  It was 
used by the RC25 and the TU81+ and, AFAIK, that's it.  It never really went anywhere and 
there's basically no documentation on it that I've ever seen.  I always wondered about 
the story behind that.

Thanks,
Bob






___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] The Interconnect Task Force (was: Origins of MSCP)

2019-06-25 Thread Robert Armstrong
> Bob Supnik [b...@supnik.org] wrote:
>Ah, yes, the Interconnect Task Force. 1980, perhaps? 
> 

  Can you say anything about LESI, "Low End Storage Interconnect"?  It was used 
by the RC25 and the TU81+ and, AFAIK, that's it.  It never really went anywhere 
and there's basically no documentation on it that I've ever seen.  I always 
wondered about the story behind that.

Thanks,
Bob



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] The Interconnect Task Force (was: Origins of MSCP)

2019-06-25 Thread Bob Supnik
Ah, yes, the Interconnect Task Force. 1980, perhaps? All my engineering 
notebooks are entombed at the Computer History Museum now.


CI - computer interconnect - realized in the passive "star coupler" and 
the CIxxx family of interfaces.
BI - backplane interconnect - realized in the BIIC chips - used as the 
memory and IO bus in the 8200 and the IO bus in several further systems. 
Superseded by the XMI, which was the memory and IO bus of the VAX 6000 
family and was later used as an IO bus.

NI - network interconnect - Ethernet. Success!
DI - device interconnect - intended as a low cost interconnect to 
devices - basically async serial. Really only used in the DECtape II 
implementation with its own simplified form of MSCP (Radial Serial 
Protocol).
II - interchip interconnect. This went nowhere at the time. The Semi 
Group standardized much later on the CVAX pin bus as a defacto "II" and 
created a family of pin-compatible chips. The CVAX pin bus morphed from 
a memory-and-IO bus in CVAX to an IO-only bus in later chips. Chips in 
the "CVAX pin bus family" included the memory controller (CMCTL), the 
console chip (CSSC), the second-generation Ethernet control (SGEC), the 
DSSI controller (SHAC), and the Qbus interface (CQBIC). The last three 
were used across multiple generations; the CMCTL and CSSC were only used 
in CVAX systems. Superseded, in most senses, by PCI in the 1990s.


About the only thing that was consistent in DEC's interconnect strategy 
was that one generation's memory and IO backplane interconnect became a 
pure IO backplane interconnect later. This was true of the Unibus, Qbus, 
BI, and XMI. Memory cards were easy to design and replace; IO 
controllers tended to live much longer.


/Bob

On 6/25/2019 1:33 PM, Paul Koning wrote:



On Jun 25, 2019, at 11:43 AM, Bob Supnik  wrote:

True. My first assignment at DEC was managing the "New Disk Subsystem" (NDS) 
advanced development project, which led eventually to both the HSC50 and the UDA50. Among 
the goals of the project were

1. To move ECC correction off the host and into the disk subsystem, so that 
much more powerful and complex ECC codes could be used.
2. To move bad block replacement off the host and into the disk subsystem.
3. To provide a uniform software interface for radically different disk drives.
4. To abstract away all device geometry information.
5. To implement command queuing and to perform all performance optimization, 
particularly seek optimization, in the disk subsystem.

#2 was only partially true in the UDA50 -- I remember an amazingly large body 
of code in RSTS for bad block replacement for the RA80 that's about 2000 lines 
of code -- roughly the same size as the rest of the MSCP driver.

I remember MSCP as part of the larger "Interconnect Architecture" effort, which produced 
a range of "interconnects" some of which seemed to become real and some less so.  There 
was the new peripheral bus (BI), the cluter interconnect (CI, computer interconnect) and one or two 
others.  I vaguely remember II (Interchip Interconnect) -- did that become I2C, or something else, 
or nothing?  And DI (device interconnect) ???  Also NI, which became Ethernet.  And XI?  I think we 
used that term in the networking group for the next generation high speed network.  Gigaswitch?  
FDDI?  Not sure.  Part of the impression I had was that there was some overall concept unifying all 
this, but whether that was actually realistic is not clear.

One place it showed up was in the Jupiter mainframe (which didn't happen), 
supposedly built around CI and NI as its connections to the outside world.

There's also XMI, but that was a generation later as I recall.
paul





___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Larry Baker
> 3. Store header words out of band somehow.  Last in the image file?
> In another file?

Perhaps the same name as the disk file with a . (dot) in front for the header 
words.  Ala Mac resource forks or NTFS alternate data streams.  Since Unix has 
no structure to its files, so you have to use the file system hierarchy to 
represent that.  I dislike hidden files in general, but I doubt much in SIMH 
would suffer if the .header file were to get left behind.  It seems pretty 
ephemeral, except perhaps during a sequence of diagnostics.

Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov



> On 25 Jun 2019, at 2:13:18 PM, simh-requ...@trailing-edge.com wrote:
> 
> I'm wondering what your opinions are reagarding this?  I see some options:
> 
> 1. Do not change SIMH.  Patch SALV to skip the verification.  Obviously
> this is quite quick and painless, but leaves me with a slightly
> dissatisfied feeling.  Some historical software isn't running properly.
> 
> 2. Add header words to the disk image file.  An incompatible change, but
> should of course be optional.
> 
> 3. Store header words out of band somehow.  Last in the image file?
> In another file?



smime.p7s
Description: S/MIME cryptographic signature
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Origins of MSCP

2019-06-25 Thread Johnny Billquist

Thanks for that insight, Bob.

I wasn't anywhere near DEC when this happened, but it do match my 
perceptions of the whole thing very well.


MSCP was definitely an improvement on Massbus in pretty much every way. 
Possibly with the exception of if you wanted to throw together some 
small piece of code to just control the drive. MSCP always requires a 
bit more plumbing.


But it is nice that I can still throw new drives onto my "old" RSX 
system, and with MSCP it just works, and I can use all the capacity of 
that new drive... Noone probably even dreamed of 8G drives on a PDP-11 
back then... But it works fine. No changes to anything needed.


  Johnny

On 2019-06-25 17:43, Bob Supnik wrote:
True. My first assignment at DEC was managing the "New Disk Subsystem" 
(NDS) advanced development project, which led eventually to both the 
HSC50 and the UDA50. Among the goals of the project were


1. To move ECC correction off the host and into the disk subsystem, so 
that much more powerful and complex ECC codes could be used.

2. To move bad block replacement off the host and into the disk subsystem.
3. To provide a uniform software interface for radically different disk 
drives.

4. To abstract away all device geometry information.
5. To implement command queuing and to perform all performance 
optimization, particularly seek optimization, in the disk subsystem.


 From my recollection, the Massbus was actually regarded as the 
counterexample. First, the Massbus cables were massive and unwieldy; the 
radial drive interconnect for the RA-class drives were a direct 
reaction. Second, the Massbus exposed drive geometries, which made it 
impossible to implement a new disk type without a driver update; with 
MSCP, the subsystem reported capacities, and the operating system could 
set up a file structure accordingly... sometimes.


What the two protocols had in common was standardizing the format of the 
software [register (Massbus) / packet (MSCP)] interface. All Massbus 
disks used the same register sets... except when they didn't (the RP/RM 
divergence). All MSCP disks used the same packet formats... except for 
errors. But it was a lot better than the "every disk is unique" 
nonsense. DG had a standardized disk interface from the get-go.


/Bob

On 6/25/2019 8:10 AM, simh-requ...@trailing-edge.com wrote:

Message: 8
Date: Tue, 25 Jun 2019 08:10:08 -0400
From: Paul Koning
To: Timothe Litt
Cc: SIMH
Subject: Re: [Simh] Limits on MSCP controllers
Message-ID:<81262a49-f410-432c-8c00-4aa9ac585...@comcast.net>
Content-Type: text/plain;    charset=us-ascii




On Jun 24, 2019, at 5:27 PM, Timothe Litt  wrote:
As is often the case, things turn out to be complicated.  Here's a 
more detailed version.  In an off-list note, Bob pointed out that 
MSCP originated in a project he managed that was to develop the "next 
generation" disk controller - a forerunner of the UDA.   ...
However the similarities came to pass, I found viewing DSA as an 
evolved Massbus to be a useful model, with a lot of support for that 
perspective in the specifications.  MSCP contains the high-level 
protocol of Massbus drivers (and much more) through the drive control 
logic/formatter.  SI replaces the DCL/formatter to drive "bus" of 
Massbus -- SI is serial, ruggedized and capable of quite long runs.  
But it carries much the same low level drive commands.  (Note that 
there's a long history of serializing parallel buses as technology 
evolves, e.g. PCI -> PCIe -> CSI, a.k.a. quickPath). The host ports 
(UQSSP,KLIPA,etc) replace the registers and DMA channels.  Command 
and function names from Massbus spec & drivers often appear in the 
MSCP spec versions that I used...
Very interesting.  I never thought of MSCP as a descendant of earlier 
DEC storage architectures.  Perhaps because all I really saw was what 
the UDA50 exposes, which from the programmer's point of view is 
radically different from, say, the RP04 or RK05.


On the host ports and message based I/O, that same approach appears 
earlier in the KMC11 and its derivatives such as the DMC11 network 
controller.  Were those an influence on the message based host port 
design?


paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh



--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Johnny Billquist

On 2019-06-25 13:07, Lars Brinkhoff wrote:

David Brownlee wrote:

How about storing them only in memory - still an incomplete
implementation, but should be enough to pass the SALV tests...


I should clarify that to pass the tests, only the sector data needs to
be written.  Rather than ignored as now.

SALV *also* uses the two key fields in the header words.  Those are not
part of the verification phase.  I'm not yet sure to what extent the key
fields are necessary or not.


On a real disk, they are vital. The information there is used by the 
hardware to verify that the heads are on the right tracks, and the 
rotation is at the right sector before a transfer starts.


But for a simulation, they are pretty much irrelevant. (Unless you want 
to start trying to emulate the physics and mechanical stuff of a disk 
drive.)


  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Johnny Billquist

On 2019-06-25 10:32, Lars Brinkhoff wrote:

Mark Pizzolato wrote:

Is the data that is written in the headers by SALV predictable?


It writes the sensible sector geometry information, so that's not a
problem.  It also writes the drive serial number to the first key field,
and a user-specified pack number to the second key field.  The pack
number is entered before the pack is formatted.


So essentially DEC144 format packs. Sounds good. Seems there is nothing 
except predictable information in the headers, so that part can actually 
be ignored. The operation just should write the normal data part as any 
other write, and be happy, and I believe things would be good.


  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Johnny Billquist

On 2019-06-25 08:31, Lars Brinkhoff wrote:

Hello,

Some of DEC's disks allow reading and writing the sector headers.  ITS'
disk formatting program, SALV (the Salvager), uses this to make a new
file structure on a pack, and to verify its integrity.

This isn't fully supported by SIMH.  The file PDP10/pdp10_rp.c has the
comment "23-Aug-01  RMS  Added read/write header stubs for ITS", and the
stub is in "case FNC_WRITEH" in rp_svc.  It's a no-op that just sets the
DONE flag.

What is supposed to happen is that SALV wants to write two header words
with geometry information and then the sector data with a particular bit
pattern.  The verification phase reads back and checks the bit pattern.
Since those bits aren't written, the verification fails.

This isn't so bad since SALV offers to skip the verification.  But now
this has come up again using Rich Cornwell's upcoming KA10 addition to
SIMH.  The KA10 version of SALV does the same with an RP04 disk, but
does not have the option to skip the verification.  SALV also writes
some information to the key fields in the headers, which is later read
back.

I'm wondering what your opinions are reagarding this?  I see some options:

1. Do not change SIMH.  Patch SALV to skip the verification.  Obviously
this is quite quick and painless, but leaves me with a slightly
dissatisfied feeling.  Some historical software isn't running properly.

2. Add header words to the disk image file.  An incompatible change, but
should of course be optional.

3. Store header words out of band somehow.  Last in the image file?
In another file?

I understand the case for making changes to SIMH is quite weak if
running SALV is the one and only use case.  Are there any other programs
that reads or writes the headers?


The fourth option is to treat this as a normal write. Essentially, 
unless I remember wrong, that is pretty much the end result on real 
hardware. Yes, you rewrite the headers, but the headers are pretty much 
forced to look a certain way, and is not something software normally 
tries to read. But the headers have to be correct for the disk to be 
usable. Not all disks can even write down the headers in the field. But 
a write with headers also do a normal write, in addition to 
rewriteing/refreshing the headers.


And I suspect all software beyond that point only expects that the 
written patterns in the data area are as expected after the write. 
Reading the headers out would essentially just become a question of 
verifying that the hardware works. I've played with a few disks back in 
the day that could write the headers as well as read them, but there 
were no ability to store arbitrary data there, so what would be returned 
on a read headers could be computed when needed. But maybe you are 
playing with some special disk that actually can store some amount of 
arbitrary data in the header? (The ones I think I looked at/played with 
are the RK05, RP06 and RP07.)


  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Origins of MSCP

2019-06-25 Thread Paul Koning


> On Jun 25, 2019, at 11:43 AM, Bob Supnik  wrote:
> 
> True. My first assignment at DEC was managing the "New Disk Subsystem" (NDS) 
> advanced development project, which led eventually to both the HSC50 and the 
> UDA50. Among the goals of the project were
> 
> 1. To move ECC correction off the host and into the disk subsystem, so that 
> much more powerful and complex ECC codes could be used.
> 2. To move bad block replacement off the host and into the disk subsystem.
> 3. To provide a uniform software interface for radically different disk 
> drives.
> 4. To abstract away all device geometry information.
> 5. To implement command queuing and to perform all performance optimization, 
> particularly seek optimization, in the disk subsystem.

#2 was only partially true in the UDA50 -- I remember an amazingly large body 
of code in RSTS for bad block replacement for the RA80 that's about 2000 lines 
of code -- roughly the same size as the rest of the MSCP driver.

I remember MSCP as part of the larger "Interconnect Architecture" effort, which 
produced a range of "interconnects" some of which seemed to become real and 
some less so.  There was the new peripheral bus (BI), the cluter interconnect 
(CI, computer interconnect) and one or two others.  I vaguely remember II 
(Interchip Interconnect) -- did that become I2C, or something else, or nothing? 
 And DI (device interconnect) ???  Also NI, which became Ethernet.  And XI?  I 
think we used that term in the networking group for the next generation high 
speed network.  Gigaswitch?  FDDI?  Not sure.  Part of the impression I had was 
that there was some overall concept unifying all this, but whether that was 
actually realistic is not clear.

One place it showed up was in the Jupiter mainframe (which didn't happen), 
supposedly built around CI and NI as its connections to the outside world.

There's also XMI, but that was a generation later as I recall.
paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Rob Doyle


On 6/24/2019 11:31 PM, Lars Brinkhoff wrote:

Hello,

Some of DEC's disks allow reading and writing the sector headers.  ITS'
disk formatting program, SALV (the Salvager), uses this to make a new
file structure on a pack, and to verify its integrity.

This isn't fully supported by SIMH.  The file PDP10/pdp10_rp.c has the
comment "23-Aug-01  RMS  Added read/write header stubs for ITS", and the
stub is in "case FNC_WRITEH" in rp_svc.  It's a no-op that just sets the
DONE flag.

What is supposed to happen is that SALV wants to write two header words
with geometry information and then the sector data with a particular bit
pattern.  The verification phase reads back and checks the bit pattern.
Since those bits aren't written, the verification fails.

This isn't so bad since SALV offers to skip the verification.  But now
this has come up again using Rich Cornwell's upcoming KA10 addition to
SIMH.  The KA10 version of SALV does the same with an RP04 disk, but
does not have the option to skip the verification.  SALV also writes
some information to the key fields in the headers, which is later read
back.

I'm wondering what your opinions are reagarding this?  I see some options:

1. Do not change SIMH.  Patch SALV to skip the verification.  Obviously
this is quite quick and painless, but leaves me with a slightly
dissatisfied feeling.  Some historical software isn't running properly.

2. Add header words to the disk image file.  An incompatible change, but
should of course be optional.

3. Store header words out of band somehow.  Last in the image file?
In another file?

I understand the case for making changes to SIMH is quite weak if
running SALV is the one and only use case.  Are there any other programs
that reads or writes the headers?


I dealt this that issue a bit when I was writing the RP06 disk drive
controller and disk emulator for the KS10 FPGA: a number of the RP06
diagnostics fail because they attempt to read/write to the sector header.

One thought that should help: SIMH stores 36-bit data inside a 64-bit
data word. There is plenty of unused whitespace inside the existing disk
image. There is no reason for an incompatible change.

In the end, I just used a (volatile) RAM buffer to store the sector
header in the FPGA and that was good enough for the DSRPA diagnostic.

Obviously, the contents of the sector header is not portable between
disk types. In fact, the RP06 has a different sector header depending if
the disk is formatted for 16-bit (PDP11) or 18-bits (PDP10).

The other source of diagnostic failures involved the testing of the disk
drive's Error Correcting Code (ECC) hardware. Funny enough, I picked a
book (published by MIT Press in 1960) out of the trash at work a couple
of months ago that fully described the "Fire Code" ECC of these disk
drives. Maybe that will get revisited.

Rob Doyle

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Origins of MSCP

2019-06-25 Thread Bob Supnik
True. My first assignment at DEC was managing the "New Disk Subsystem" 
(NDS) advanced development project, which led eventually to both the 
HSC50 and the UDA50. Among the goals of the project were


1. To move ECC correction off the host and into the disk subsystem, so 
that much more powerful and complex ECC codes could be used.

2. To move bad block replacement off the host and into the disk subsystem.
3. To provide a uniform software interface for radically different disk 
drives.

4. To abstract away all device geometry information.
5. To implement command queuing and to perform all performance 
optimization, particularly seek optimization, in the disk subsystem.


From my recollection, the Massbus was actually regarded as the 
counterexample. First, the Massbus cables were massive and unwieldy; the 
radial drive interconnect for the RA-class drives were a direct 
reaction. Second, the Massbus exposed drive geometries, which made it 
impossible to implement a new disk type without a driver update; with 
MSCP, the subsystem reported capacities, and the operating system could 
set up a file structure accordingly... sometimes.


What the two protocols had in common was standardizing the format of the 
software [register (Massbus) / packet (MSCP)] interface. All Massbus 
disks used the same register sets... except when they didn't (the RP/RM 
divergence). All MSCP disks used the same packet formats... except for 
errors. But it was a lot better than the "every disk is unique" 
nonsense. DG had a standardized disk interface from the get-go.


/Bob

On 6/25/2019 8:10 AM, simh-requ...@trailing-edge.com wrote:

Message: 8
Date: Tue, 25 Jun 2019 08:10:08 -0400
From: Paul Koning
To: Timothe Litt
Cc: SIMH
Subject: Re: [Simh] Limits on MSCP controllers
Message-ID:<81262a49-f410-432c-8c00-4aa9ac585...@comcast.net>
Content-Type: text/plain;   charset=us-ascii




On Jun 24, 2019, at 5:27 PM, Timothe Litt  wrote:
As is often the case, things turn out to be complicated.  Here's a more detailed version. 
 In an off-list note, Bob pointed out that MSCP originated in a project he managed that 
was to develop the "next generation" disk controller - a forerunner of the UDA. 
  ...
However the similarities came to pass, I found viewing DSA as an evolved Massbus to be a useful 
model, with a lot of support for that perspective in the specifications.  MSCP contains the 
high-level protocol of Massbus drivers (and much more) through the drive control logic/formatter.  
SI replaces the DCL/formatter to drive "bus" of Massbus -- SI is serial, ruggedized and 
capable of quite long runs.  But it carries much the same low level drive commands.  (Note that 
there's a long history of serializing parallel buses as technology evolves, e.g. PCI -> PCIe 
-> CSI, a.k.a. quickPath). The host ports (UQSSP,KLIPA,etc) replace the registers and DMA 
channels.  Command and function names from Massbus spec & drivers often appear in the MSCP spec 
versions that I used...

Very interesting.  I never thought of MSCP as a descendant of earlier DEC 
storage architectures.  Perhaps because all I really saw was what the UDA50 
exposes, which from the programmer's point of view is radically different from, 
say, the RP04 or RK05.

On the host ports and message based I/O, that same approach appears earlier in 
the KMC11 and its derivatives such as the DMC11 network controller.  Were those 
an influence on the message based host port design?

paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Limits on MSCP controllers

2019-06-25 Thread Paul Koning


> On Jun 24, 2019, at 5:27 PM, Timothe Litt  wrote:
>> 
> As is often the case, things turn out to be complicated.  Here's a more 
> detailed version.  In an off-list note, Bob pointed out that MSCP originated 
> in a project he managed that was to develop the "next generation" disk 
> controller - a forerunner of the UDA.   ...

> However the similarities came to pass, I found viewing DSA as an evolved 
> Massbus to be a useful model, with a lot of support for that perspective in 
> the specifications.  MSCP contains the high-level protocol of Massbus drivers 
> (and much more) through the drive control logic/formatter.  SI replaces the 
> DCL/formatter to drive "bus" of Massbus -- SI is serial, ruggedized and 
> capable of quite long runs.  But it carries much the same low level drive 
> commands.  (Note that there's a long history of serializing parallel buses as 
> technology evolves, e.g. PCI -> PCIe -> CSI, a.k.a. quickPath). The host 
> ports (UQSSP,KLIPA,etc) replace the registers and DMA channels.  Command and 
> function names from Massbus spec & drivers often appear in the MSCP spec 
> versions that I used... 

Very interesting.  I never thought of MSCP as a descendant of earlier DEC 
storage architectures.  Perhaps because all I really saw was what the UDA50 
exposes, which from the programmer's point of view is radically different from, 
say, the RP04 or RK05.

On the host ports and message based I/O, that same approach appears earlier in 
the KMC11 and its derivatives such as the DMC11 network controller.  Were those 
an influence on the message based host port design?

paul

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Lars Brinkhoff
David Brownlee wrote:
> How about storing them only in memory - still an incomplete
> implementation, but should be enough to pass the SALV tests...

I should clarify that to pass the tests, only the sector data needs to
be written.  Rather than ignored as now.

SALV *also* uses the two key fields in the header words.  Those are not
part of the verification phase.  I'm not yet sure to what extent the key
fields are necessary or not.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread David Brownlee
On Tue, 25 Jun 2019 at 07:31, Lars Brinkhoff  wrote:
>
> Hello,
>
> Some of DEC's disks allow reading and writing the sector headers.  ITS'
> disk formatting program, SALV (the Salvager), uses this to make a new
> file structure on a pack, and to verify its integrity.
>
> This isn't fully supported by SIMH.  The file PDP10/pdp10_rp.c has the
> comment "23-Aug-01  RMS  Added read/write header stubs for ITS", and the
> stub is in "case FNC_WRITEH" in rp_svc.  It's a no-op that just sets the
> DONE flag.
>
> What is supposed to happen is that SALV wants to write two header words
> with geometry information and then the sector data with a particular bit
> pattern.  The verification phase reads back and checks the bit pattern.
> Since those bits aren't written, the verification fails.
>
> This isn't so bad since SALV offers to skip the verification.  But now
> this has come up again using Rich Cornwell's upcoming KA10 addition to
> SIMH.  The KA10 version of SALV does the same with an RP04 disk, but
> does not have the option to skip the verification.  SALV also writes
> some information to the key fields in the headers, which is later read
> back.
>
> I'm wondering what your opinions are reagarding this?  I see some options:
>
> 1. Do not change SIMH.  Patch SALV to skip the verification.  Obviously
> this is quite quick and painless, but leaves me with a slightly
> dissatisfied feeling.  Some historical software isn't running properly.
>
> 2. Add header words to the disk image file.  An incompatible change, but
> should of course be optional.
>
> 3. Store header words out of band somehow.  Last in the image file?
> In another file?
>
> I understand the case for making changes to SIMH is quite weak if
> running SALV is the one and only use case.  Are there any other programs
> that reads or writes the headers?

How about storing them only in memory - still an incomplete
implementation, but should be enough to pass the SALV tests...

Could always be extended to persist them later

David
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Write sector headers to disk

2019-06-25 Thread Lars Brinkhoff
Mark Pizzolato wrote:
> Is the data that is written in the headers by SALV predictable?

It writes the sensible sector geometry information, so that's not a
problem.  It also writes the drive serial number to the first key field,
and a user-specified pack number to the second key field.  The pack
number is entered before the pack is formatted.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] [simh] Scrambled text in VAXStation 3100m38 GPX graphics screen

2019-06-25 Thread Matt Burke
On 22/06/2019 20:21, paulhar...@btinternet.com wrote:
> My suspicion is that it is memory trampling in the font caching
> implementation in the emulated VCB02 device in SimH. The VCB02 device
> uses the same memory planes for font caches as for screen bitmaps -
> the manual says:
> 1.6.1.1 Font Storage and Access Fonts are stored in an undisplayed portion of 
> the bitmap. Ordinarily, a font is stored only in one plane and is transmitted 
> from that plane to itself and
> others when a character is written.   Fonts are normally stored in the 
> off-screen portion of the VCB02 bitmap.
>
> Calling Matt Burke - can you spot anything odd in your implementation of this 
> aspect of the VCB02?
>
When I released the VCB02 I mentioned that there were known problems
with VWS and UWS. Although DECwindows appeared OK with my testing it's
not surprising that it's also affected. I hope to fix this eventually
but it might not happen for a while as experience tells me it will take
many hours to track this one down.

Basically you have to enable debugging so that every drawing operating
is logged then wait for the screen to get corrupted. You then need to
count the exact pixel offset and size of the corrupted area. Next the
debug log file (which is likely several gigabytes by this point) is
searched to try and find the exact drawing operation that caused the
corruption. Then the manual needs to be consulted to find out what
subtle functionality was missed from the implementation. A change is
made, which usually breaks something else and the cycle continues :)

Matt
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Write sector headers to disk

2019-06-25 Thread Lars Brinkhoff
Hello,

Some of DEC's disks allow reading and writing the sector headers.  ITS'
disk formatting program, SALV (the Salvager), uses this to make a new
file structure on a pack, and to verify its integrity.

This isn't fully supported by SIMH.  The file PDP10/pdp10_rp.c has the
comment "23-Aug-01  RMS  Added read/write header stubs for ITS", and the
stub is in "case FNC_WRITEH" in rp_svc.  It's a no-op that just sets the
DONE flag.

What is supposed to happen is that SALV wants to write two header words
with geometry information and then the sector data with a particular bit
pattern.  The verification phase reads back and checks the bit pattern.
Since those bits aren't written, the verification fails.

This isn't so bad since SALV offers to skip the verification.  But now
this has come up again using Rich Cornwell's upcoming KA10 addition to
SIMH.  The KA10 version of SALV does the same with an RP04 disk, but
does not have the option to skip the verification.  SALV also writes
some information to the key fields in the headers, which is later read
back.

I'm wondering what your opinions are reagarding this?  I see some options:

1. Do not change SIMH.  Patch SALV to skip the verification.  Obviously
this is quite quick and painless, but leaves me with a slightly
dissatisfied feeling.  Some historical software isn't running properly.

2. Add header words to the disk image file.  An incompatible change, but
should of course be optional.

3. Store header words out of band somehow.  Last in the image file?
In another file?

I understand the case for making changes to SIMH is quite weak if
running SALV is the one and only use case.  Are there any other programs
that reads or writes the headers?

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh