The annotated debug snippet speaks for itself.
As the KG11 passes the basic exercises normal Crc-16 operation is assumed.
However a certain Decnet11MP KG11 support code sequence seems to trigger one
intermediate single cycle run destroying the checksum, hence the bad header
checksum.
In which way the second part of the data message is checksummed appears to
be done in software instead of with KG11 support.
Also with multiple KG11's, only one is used, contrary to KG11 operation
advice for full duplex lines (at least 2 KG11's).
To be continued .
Reindert
-0> set deb g:\temp\Swbu12_Dup_Ddcmp_202202012330.log
Debug output to "g:\temp\Swbu12_Dup_Ddcmp_202202012330.log"
Debug output to "g:\temp\Swbu12_Dup_Ddcmp_202202012330.log" at Tue Feb 1
23:30:51 2022
PDP-11 simulator V4.0-0 Current git commit id: 885277e1
Swbu12> sh deb
Debug output enabled to "g:\temp\Swbu12_Dup_Ddcmp_202202012330.log"
Device: KG Debug=REG;POLY
Device: DUP Debug=PKT;XMT;RCV
Swbu12> set kg deb=cycle
Swbu12> c
>>KG0: rd SR 000200, PC 140204
>>KG0 rd BCC 000000, PC 140206
>>KG0: wr SR 000133, PC 140212
Prime with Crc-16 sum of initial data packet 0x81
>>KG0 poly LRC-16 16
Only way to set Bcc to a value
>>KG0: rd SR 000313, PC 140214
>>KG0: wr DR 060300, data 060300, PC 140220
>>KG0: cycle s BCC 000000 DR 060300
>>KG0: cycle e BCC 000000 DR 030140
>>KG0: cycle s BCC 000000 DR 030140
>>KG0: cycle e BCC 000000 DR 014060
>>KG0: cycle s BCC 000000 DR 014060
>>KG0: cycle e BCC 000000 DR 006030
>>KG0: cycle s BCC 000000 DR 006030
>>KG0: cycle e BCC 000000 DR 003014
>>KG0: cycle s BCC 000000 DR 003014
>>KG0: cycle e BCC 000000 DR 001406
>>KG0: cycle s BCC 000000 DR 001406
>>KG0: cycle e BCC 000000 DR 000603
>>KG0: cycle s BCC 000000 DR 000603
>>KG0: cycle e BCC 100000 DR 000301
>>KG0: cycle s BCC 100000 DR 000301
>>KG0: cycle e BCC 140000 DR 000140
>>KG0: cycle s BCC 140000 DR 000140
>>KG0: cycle e BCC 060000 DR 000060
>>KG0: cycle s BCC 060000 DR 000060
>>KG0: cycle e BCC 030000 DR 000030
>>KG0: cycle s BCC 030000 DR 000030
>>KG0: cycle e BCC 014000 DR 000014
>>KG0: cycle s BCC 014000 DR 000014
>>KG0: cycle e BCC 006000 DR 000006
>>KG0: cycle s BCC 006000 DR 000006
>>KG0: cycle e BCC 003000 DR 000003
>>KG0: cycle s BCC 003000 DR 000003
>>KG0: cycle e BCC 101400 DR 000001
>>KG0: cycle s BCC 101400 DR 000001
>>KG0: cycle e BCC 140600 DR 000000
>>KG0: cycle s BCC 140600 DR 000000
>>KG0: cycle e BCC 060300 DR 000000
>>KG0: wr SR 000111, PC 140224
>>KG0 poly CRC-16 16
To regular Crc-16 word mode
>>KG0: rd SR 000311, PC 140226
>>KG0: wr DR 140014, data 140014, PC 140272 Add bytes 0C
C0
>>KG0: cycle s BCC 060300 DR 140014
>>KG0: cycle e BCC 030140 DR 060006
>>KG0: cycle s BCC 030140 DR 060006
>>KG0: cycle e BCC 014060 DR 030003
>>KG0: cycle s BCC 014060 DR 030003
>>KG0: cycle e BCC 126031 DR 014001
>>KG0: cycle s BCC 126031 DR 014001
>>KG0: cycle e BCC 053014 DR 006000
>>KG0: cycle s BCC 053014 DR 006000
>>KG0: cycle e BCC 025406 DR 003000
>>KG0: cycle s BCC 025406 DR 003000
>>KG0: cycle e BCC 012603 DR 001400
>>KG0: cycle s BCC 012603 DR 001400
>>KG0: cycle e BCC 125300 DR 000600
>>KG0: cycle s BCC 125300 DR 000600
>>KG0: cycle e BCC 052540 DR 000300
>>KG0: cycle s BCC 052540 DR 000300
>>KG0: cycle e BCC 025260 DR 000140
>>KG0: cycle s BCC 025260 DR 000140
>>KG0: cycle e BCC 012530 DR 000060
>>KG0: cycle s BCC 012530 DR 000060
>>KG0: cycle e BCC 005254 DR 000030
>>KG0: cycle s BCC 005254 DR 000030
>>KG0: cycle e BCC 002526 DR 000014
>>KG0: cycle s BCC 002526 DR 000014
>>KG0: cycle e BCC 001253 DR 000006
>>KG0: cycle s BCC 001253 DR 000006
>>KG0: cycle e BCC 120524 DR 000003
>>KG0: cycle s BCC 120524 DR 000003
>>KG0: cycle e BCC 170253 DR 000001
>>KG0: cycle s BCC 170253 DR 000001
>>KG0: cycle e BCC 074125 DR 000000
>>KG0: rd SR 000311, PC 140274
>>KG0: wr DR 000401, data 000401, PC 140272 Add bytes 01
01
>>KG0: cycle s BCC 074125 DR 000401 Bug
triggered? Single step instead of 16 steps
>>KG0: cycle e BCC 036052 DR 000200 This
destroys the checksum
>>KG0: rd SR 000311, PC 140274
>>KG0: rd SR 000311, PC 140242
>>KG0: wr SR 000301, PC 140242
Switch to Crc16 single byte mode
>>KG0 poly CRC-16 8
>>KG0: wr DR 000001, data 000001, PC 140244 Add last byte
01 from 1e part of data message
>>KG0: cycle s BCC 036052 DR 000001
>>KG0: cycle e BCC 137024 DR 000000
>>KG0: cycle s BCC 137024 DR 000000
>>KG0: cycle e BCC 057412 DR 000000
>>KG0: cycle s BCC 057412 DR 000000
>>KG0: cycle e BCC 027605 DR 000000
>>KG0: cycle s BCC 027605 DR 000000
>>KG0: cycle e BCC 133703 DR 000000
>>KG0: cycle s BCC 133703 DR 000000
>>KG0: cycle e BCC 175740 DR 000000
>>KG0: cycle s BCC 175740 DR 000000
>>KG0: cycle e BCC 076760 DR 000000
>>KG0: cycle s BCC 076760 DR 000000
>>KG0: cycle e BCC 037370 DR 000000
>>KG0: cycle s BCC 037370 DR 000000
>>KG0: cycle e BCC 017574 DR 000000
>>KG0: rd SR 000301, PC 140246
>>KG0: rd SR 000301, PC 140254
>>KG0: wr SR 000311, PC 140254
>>KG0 poly CRC-16 16
Back to Crc16 word mode and read faulty Bcc
>>KG0 rd BCC 017574, PC 140310
>>KG0: wr SR 000133, PC 140314
>>KG0 poly LRC-16 16
Load withnew residual result? Logic?
>>KG0: rd SR 000313, PC 140316
>>KG0: wr DR 000000, data 000000, PC 140322
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: cycle s BCC 000000 DR 000000
>>KG0: cycle e BCC 000000 DR 000000
>>KG0: wr SR 000200, PC 140324 Why Crc-12.
Illogical.
>>KG0 poly CRC-12 6
DBG(1288653094)> DUP PKT: Line0: >>> XMT Packet len: 22
DBG(1288653094)> DUP PKT: Data Message, Count: 12, Num: 1, Flags: SQ, Resp:
1, HDRCRC: BAD, DATACRC: BAD
DBG(1288653094)> DUP XMT: Line:0 0000 81 0C C0 01 01 01 7C 1F 01 2A 04 03 40
02 02 00 ......|..*..@... How is the
data part chscksum generated? Not via KG11.
DBG(1288653094)> DUP XMT: Line:0 0010 00 0F 00 00 3F AE
....?.
-----Original Message-----
From: Johnny Billquist [mailto:bqt@softjar.se]
Sent: Monday, 31 January, 2022 10:22
To: hecnet(a)lists.dfupdate.se
Subject: [HECnet] Re: KG11 emulation probably defective -->diagnostic ZKGAB0
for KG11 runs without complaints. --> Crc on Rsx11 async lines
It's supposedly used for everything that needs a CRC where the hardware
device itself don't provide it.
Basically, the CRC16 computation is a service in the DECnet executive
environment. As such, anything that needs a CRC16 computation done calls
this same service. And that service then makes use of the KG11 if it has
been configured to do so.
No reason to have multiple implementations of this computation. The DECnet
executive is a pretty neat thing in RSX. It's like an operating system of
its own inside RSX, with its own scheduler, memory management, and various
services.
Johnny
On 2022-01-31 09:50, R. Voorhorst wrote:
> By the way, Johnny, was KG11 also used on serial async Decnet11MP
> lines or was that always software?
>
>
> Reindert
>
> -----Original Message-----
> From: Johnny Billquist [ <mailto:bqt@softjar.se> mailto:bqt@softjar.se]
> Sent: Monday, 31 January, 2022 08:15
> To: <mailto:hecnet@lists.dfupdate.se> hecnet(a)lists.dfupdate.se
> Subject: [HECnet] Re: KG11 emulation probably defective -->diagnostic
> ZKGAB0 for KG11 runs without complaints.
>
> I agree that it would be nice to confirm that this works in real
> hardware, but I also find it unlikely that it wouldn't.
> While DEC was not perfect, I would expect that they actually had
> tested this before releasing the software.
>
> Johnny
>
> On 2022-01-31 01:51, R. Voorhorst wrote:
>> @Dave:
>>
>> It would only be worth the time and energy to prove if current
>> Decnet11MP in combination with KG11 would work in a Dup to Dup or Dmc
>> connection, which in hardware take a serious effort.
>> In virtual reality it is far more easy to arrange such things.
>> Unless I cannot find a bug quickly enough, then it could be helpful
>> to request you to check on it.
>>
>>
>> Thanks though for the time being.
>>
>> Reindert
>>
>> -----Original Message-----
>> From: Dave McGuire [ <mailto:mcguire@neurotica.com>
mailto:mcguire@neurotica.com]
>> Sent: Sunday, 30 January, 2022 18:25
>> To: The Hobbyist DECnet mailing list < <mailto:hecnet@lists.dfupdate.se>
hecnet(a)lists.dfupdate.se>
>> Subject: [HECnet] Re: KG11 emulation probably defective -->diagnostic
>> ZKGAB0 for KG11 runs without complaints.
>>
>> On 1/30/22 12:21 PM, Mark Pizzolato - Info Comm wrote:
>>> On Sunday, January 30, 2022 at 5:34 AM, Reindert wrote:
>>>> The diagnostics in XXDP for KG11 completes without problems, so
>>>> far, so
>> good.
>>>> It limits the scope to interface problems between Decnet11MP and
>>>> Simh
>> KG11.
>>>
>>> We really don't know how robust the diagnostic is and if it
>>> exercises the same details that are used by the DDCMP implementation.
>>>
>>> You could run the DDCMP case with KG11 debugging enabled and
>>> identify what
>> it is doing precisely and then go back and see if the diagnostic is
>> doing the same stuff...
>>
>> I have a KG11-A board; if it would be helpful, I can install it
>> in a
>> PDP-11 at LSSM perhaps this week.
>>
>> -Dave
>>
>> --
>> Dave McGuire, AK4HZ
>> New Kensington, PA
>> _______________________________________________
>> HECnet mailing list -- <mailto:hecnet@lists.dfupdate.se>
hecnet(a)lists.dfupdate.se To unsubscribe send
>> an email to <mailto:hecnet-leave@lists.dfupdate.se>
hecnet-leave(a)lists.dfupdate.se
>>
>> _______________________________________________
>> HECnet mailing list -- <mailto:hecnet@lists.dfupdate.se>
hecnet(a)lists.dfupdate.se To unsubscribe send
>> an email to <mailto:hecnet-leave@lists.dfupdate.se>
hecnet-leave(a)lists.dfupdate.se
>
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: <mailto:bqt@softjar.se> bqt(a)softjar.se || Reading
murder books
pdp is alive! || tryin' to stay hip" - B. Idol
_______________________________________________
HECnet mailing list -- <mailto:hecnet@lists.dfupdate.se>
hecnet(a)lists.dfupdate.se To unsubscribe send an email to
<mailto:hecnet-leave@lists.dfupdate.se> hecnet-leave(a)lists.dfupdate.se
L.S.
With a bit time on hand and the standstill after Paul's initial test from
dup to pydecnet which appeared to be successful, I now undertook a test as
Mark liked to have it preferably.
So I did a fresh netgen on a simple configuration from simple basic install
Rsx11MP system for only a Decnet end-node with one single Dup line
communicating to a known working Pdp11 Rsx11MP Dmc circuit.
I saw no difference from what I reported initially and later with logging,
as was to be expected; my complex setup behaves exactly the same in this
respect as it does for years in a complex network setup for Rsx and Rsts,
and RT11 without network.
This is on a Windows-2008R2 server and I suspect Paul did his test on
unix/linux , however although it differs, that should be moot as far as
Simh is concerned.
There could be another difference though. Paul would probably have taken the
default route and used Ddcmp withouth KG11 support: Dup without Kdp is the
only sync line to use it, though async Decnet DL/DZ/VH might use it as well.
As I prefer the most complex configs possible (any two of a kind where
possible as Dec used to have them), I do also employ the KG11, so for Dup
support it will be used when configured so in Decnet11MP.
On a sim it is not that effective, but in hardware in the past it did make a
difference for fast crc computing.
So I retested with no KG11 support and indeed, now the Dup works as
expected.
What appears to be strange is, that small packets up to 8 bytes are not
corrupted but the larger ones do. Maybe in Decnet11MP, the small packets are
totally preconfigured in the software program with crc inclusive and the
KG11 is then bypassed effectively, bu, that should have to be verified. At
least the combination KG11 and Decnet11MP KG11 support is defective.
So Simh Dup works in software Ddcmp packet generation, but the Simh KG11
seem to generate bad checksums and/or checks.
For the Pdp8A, I have a functioning KG8 simulation that works in Rts-8, so
there is a test reference to fall back on.
So I admit and confirm that basic Dup in simh software wise between Pdp11's
and with various counterparts (DMC) indeed works, which would make it serve
as a base for other sync line implementations like DP8-E(A).
Reindert
-----Original Message-----
From: owner-hecnet(a)Update.UU.SE [mailto:owner-hecnet@Update.UU.SE] On Behalf
Of Paul Koning
Sent: Thursday, 23 December, 2021 20:18
To: hecnet(a)update.uu.se
Subject: Re: [HECnet] native Dup sync line revisited --> preliminary tests
reveals problems --> test setup?
> On Dec 23, 2021, at 4:14 AM, R. Voorhorst <R.Voorhorst(a)swabhawat.com>
wrote:
>
> Hi Paul,
>
> How was this tested: 11M+ to 11M+ or 11M+ to PyDecnet?
M+ to PyDECnet, with Wireshark watching the traffic.
I'm going to do some tracing in SIMH. It may be that the behavior depends
on how the driver talks to the emulated device.
paul
If only one could get into contact with the relevant 'suit' seeking old software.
A while back I mentioned Algol68RS and the VAX/VMS version of the compiler I used during my university days...
And how I wish I knew where that TK50 was containing a backup I made in... 1987? Ah well.
The RS version of the compiler was the work of RSRE Malvern (a Ministry of Defence unit) and the VAX code generator
was written at University of Oxford.
Significant bits of the RS compiler were released to the public domain as part of Ella and there's a transliterator to C available.
It isn't the RS compiler though. Moreover, it is the VAX/VMS version of the compiler.
I've been in contact with the two (or is it three) companies, Oxford University, Liverpool University (where I last used that compiler)
and in each case, the conversation (if such a word could be used) has dwindled to nothing pretty quickly.
In the case of the companies, I can only assume the suits saw no potential profit in it, assuming they knew what 'compiler', VAX, VMS
or Algol68 meant. My communication with Oxford may not have gone beyond their 'call management system' and Liverpool's archives in
that area don't go back that far and/or the tapes are unreadable.... or Sandra the operator burned the toast again causing halon and
sprinkler damage some time in the past.
Blah
-----Original Message-----
From: Johnny Billquist [mailto:bqt@softjar.se]
Sent: 01 February 2022 02:39
To: hecnet(a)lists.dfupdate.se
Subject: [HECnet] Re: native Dup sync line revisited --> revisited Dup test on pdp11 --> problem solved: Simh KG11 emulation probably defective
On 2022-02-01 03:10, Dave McGuire wrote:
> On 1/31/22 8:28 PM, Johnny Billquist wrote:
>>>> Because for some people, that "near zero risk" is maybe not so
>>>> "near zero", and that have actual implications for actual people.
>>>
>>> Yes, but they've been poorly (and selfishly) prioritized.
>>
>> Yeah. Tell that to their kids when they are thrown into the street.
>
> I do see your point, but it's an increasingly hypothetical point.
That might be. And I probably agree with it. But each person has to do his own assessment on that point. And it might not look the same for all.
>>>> You seem to really just treat it as "there is no risk, so why
>>>> aren't people just doing whatever I think they should do", without
>>>> considering that for others the situation might actually look very
>>>> different.
>>>
>>> You've jumped to a conclusion about what I think, and (with
>>> respect) you're incorrect. I think risking some suit in a glass
>>> building getting angry with me, or even filing a lawsuit against me,
>>> is not, and will never be, more important than a piece of history
>>> that stands to be lost forever.
>>
>> Seems you just described exactly what I tried do describe above. So
>> how did I get it wrong?
>
> What I'm saying is that it's better to do something for the greater
> good, than to "play it safe" with some hypothetical "risk" that some
> suit at HPE (or whomever) will somehow come after you about
> decades-old software that they've never even heard of.
>
> I mean, come on. Yes, the potential consequence is huge, but the
> risk is vanishingly small. Yes, it has happened, I'm well aware of
> that. But the risk is still vanishingly small.
Dave obviously was *very* worried about potential risks that he was not willing to take. The amount of papers I had to sign before I got access should tell you something.
And he have (had?) information I don't have. So I prefer to not second guess him, but just trust that he made his decisions based on the information he had, and they made sense for him. And I'll just accept that, and respect his decisions.
>>>> If you've experienced that recently, then I am a little amazed.
>>>> Because that means people have been hanging on to things for a
>>>> *long* time, but now they don't care. Which for me sounds like an
>>>> unusual situation.
>>>> But of course, everything is possible.
>>>
>>> Then be amazed. It happened most recently just a few months ago,
>>> and several times last year. This is a lot more common in the real
>>> world than you've assumed.
>>
>> Hmm. Maybe we're talking about something else than PDP-11 software now?
>
> Actually it hasn't come up about PDP-11 software; it was VAX
> software most recently.
Ah. Yes. VAX is a different story. There things are still fresh, so it's a different ballpark.
So I apologize. I was very much PDP-11 focused in my responses.
VAX, in a way, seems to be falling down into the same pit the PDP-11 is in. But it's far more recent, so a lot of stuff is still around at a different scale. And of course, VMS as such isn't dead, which is kind of a different situation as well.
>> Considering that I'm usually even more overlooked than you are, you
>> can go with that complaint somewhere else.
>
> I will (sorry) but everyone who knows what a PDP-11 is knows your
> name. ;)
Not even that. It's not too uncommon that I get into some discussion and people have no clue. This mailing list and environment isn't exactly representative for people in general out there. Just go check on VCF (or whatever the name is, I can't even remember - vintage computing
something...)
>> Take PDP-8 stuff for example - I've been around the block, done more,
>> seen more, and have more information and stuff than most everyone on
>> those lists nowadays. But I don't actually care anymore. They can
>> talk and do things as much as they want. I don't need them, and they
>> don't even know I exist. Their problem. Not mine. And since it's also
>> not a problem for them, it's not a problem at all.
>
> I'm with you on that. But passing knowledge on is important, and
> far too few people do it. The excuse I hear most often is "nobody's
> interested in this stuff".
From my point, it's more that it's so much a club for internal admiration. People are more interested in their turf than actually finding information.
Take the ftp site of Update. It's been around since the early 90s.
Still, most people don't know about it. And lots of stuff have been copied out from there elsewhere, and that's where people find various bits and pieces.
And a bunch of PDP-8 stuff there are things that I dragged out of numerous disks and DECtapes I have. Most of it done in the 90s. Some of it still totally unknown by others.
And various software that I've written as well...
>> It's only a problem when you want attention and recognition.
>
> Or if you just want to be kept in the damn loop once in a while.
That mostly happens by accident, unless you are in the center.
>> I'm daily facing the same dilemma. I have done so much improvements
>> to RSX. I'd like to release V5.0, which I have sitting here. But I can't.
>> I signed documents with XX2247 that limits what I can do, and I am
>> not willing to break the trust Dave put in me. Even though that
>> improved version have lots of stuff that would be really fun to share.
>>
>> Instead I'm trying to find ways of resolving the problem. Meanwhile
>> it's sitting at my place, and nowhere else.
>
> I will run that within *minutes* of its release. Assuming I'm
> still breathing, of course!
Who knows when I can do it. I keep hoping... But every year, there will be fewer interested.
>>>> Until the day I die... Who knows what happens then.
>>>
>>> Well, I'm trying to get more (and younger) people interested in
>>> PDP-11s, and I'm having pretty good success at that. You could try
>>> that too.
>>
>> I'll leave that to others. I'm busy just fixing things in RSX...
>> If someone really interested comes along, I'm happy to help with
>> information and guidance, but I'm not trying to enlighten people.
>
> Well, we do that a lot at LSSM. In particular, there's a teenage
> kid who lives in Michigan who is OBSESSED with PDP-11s. He's writing
> code in assembler and running it under simh. He doesn't know this
> yet, but the next time his parents bring him down here for a visit,
> I'm going to give him a PDP-11/73.
That should be exciting. :-)
Also, will be interesting if it carries over to working on real hardware as compared to simh.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
_______________________________________________
HECnet mailing list -- hecnet(a)lists.dfupdate.se To unsubscribe send an email to hecnet-leave(a)lists.dfupdate.se