[Simh] The minutiae of hardware/software interactions affecting SIMH

Hittner, David T (IS) david.hittner at ngc.com
Tue Jan 5 11:49:21 EST 2016


Great questions. You have spotted the main differences between community code projects and managed/professional code projects.

Ideally, the requirements, primary sources, and any deviant behavior from the primary sources should be documented in the source code base. However, this depends upon the diligence and understanding of the coders in an open source community model. The best answer is "coders try to document what seems important at the time, unless it appears obvious [to them]".

However, one of the main problems with "completing" the source documentation in this way is that most of the deviant behaviors are found experimentally. It is then difficult for the code maintainer to document the deviant (undocumented)  behavior, only that the patch  "works". And thus "lore" is born.

We could potentially solve some of the source code quality with a source code template, but practically, coders copy an existing source code file that is similar and modify it. So we'd really need to upgrade the existing modules to the "source code standard" before being able to ensure that future coders do it the right way. Or else have the project introduce the additional management overhead of explicitly defined coding standards, checklists, and gatekeeper code reviews. :-) Both are a lot of work, so in community projects source code improvement tends to happen with slow code evolution. Volunteers for source code improvement are always welcome.

Hardware/software interactions are never ending issues in hardware simulation, primary sources, and OS use of the real and simulated hardware. Bob Supnik has an excellent series of papers discussing many of these discovered hardware/software interaction issues on the SIMH papers page.
http://simh.trailing-edge.com/papers.html

Dave

From: Simh [mailto:simh-bounces at trailing-edge.com] On Behalf Of Armistead, Jason BIS
Sent: Tuesday, January 05, 2016 10:13 AM
To: simh at trailing-edge.com
Subject: EXT :[Simh] The minutiae of hardware/software interactions affecting SIMH

On the topic of Configuring DMC11 Devices, while discussing wait delays Mark Pizzolato recently wrote:

> Sounds reasonable.  I've got to see if I can find the reason the delay was initially added and make sure a change like this is compatible.

What is the "SIMH strategy" for documenting such requirements ? i.e. where does this behavior get called out in the source code (or elsewhere) in a way that will allow future generations of SIMH users and maintainers to understand "why things are the way they are" or "why things need to be the way they are" ?

There is one reference to the DDCMP protocol manual in the source of pdp11_dmc.c, but that's about it.  Should references to other documents be added ?

Reconstructing and understanding history is easy when people familiar with the subject matter (especially those who lived it, in this case, at DEC) are still around to ask, but gets progressively harder as years go by without leaving a good trail of "breadcrumbs" for others to follow.

PS: I am constantly amazed at the sheer volume of knowledge and resourcefulness that contributors to this list have, which is one of the reasons I'd love to see as much of it preserved directly in the SIMH code base !!!


Jason

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160105/2669ec98/attachment.html>


More information about the Simh mailing list