On Jan 2, 2013, at 4:33 PM, Jordi Guillaumes i Pons wrote:
Hello,
The upcoming SIMH version (4.0) comes with a virtual DMC11. It has been merged to the head branch in the git repository, so I have been playing with it a little bit. The simh team has done an aswesome work again, so kudos for Bob, Mark and all the others... It seems the DMCx are supported in pdp10, pdp11 and the VAXen.
I grabbed the current code (from git) to try this on RSTS/E.
Some results:
1. The stock build does not work at all (on my Mac). It never gets a boot prompt. In fact, the simulator is utterly wedged: it doesn't respond to control/E or SIGTERM. I have to "kill -9" it to make it go away. GDB shows that it's sitting on some semaphore wait.
2. If I build with NOASYNCH=1, the pdp11 simulation works. Now on to the DMC emulation...
3. The first thing RSTS does to the DMC after resetting it is to set RUN and ROMI in SEL0, with a magic value in SEL6. What that does (according to the driver comments) is to put the DMC microcontroller in a state where it executes the opcode in SEL6 every clock tick. That instruction is a "move line status register to BSEL3". The RSTS/E driver uses this to test for DSR; it takes no further startup action until DSR has been set for 2 seconds. So I added code to pdp11_dmc.c to handle this magic (it simply sets the DSR bit unconditionally if it sees ROMI and the magic opcode value). With that, RSTS/E will complete the device startup.
4. Now I see a "circuit up" message from DECnet, but that is followed by some combination of "circuit down, listener timeout" and "circuit down, unexpected packet type". After staring at packet traces ("set dmc0 debug=data") for a while, the reason is obvious: when one side of the connection is started and the other is not yet started, one side sends a packet and the other side discards that. You can't do that. DDCMP is a connection oriented protocol: if you discard a packet that's a protocol violation, and DECnet will absolutely positively get bent out of shape because it assumes the DDCMP implementation will not do such a thing.
What has to be done is that a transmit remains pending if the other end is not able to receive it. That can happen because there is no connection, or because the other end hasn't turned its DMC on yet, or it's on but it currently doesn't have receive buffers. Similarly, master clear then RUN (DMC restart) needs to synchronize with the other end, to simulate the effect of the DDCMP initialization sequence.
I'll take a look at how hard this would be to fix. It'll probably take a fair amount of work...
paul
On 4 Jan 2013, at 00:10, Jordi Guillaumes i Pons wrote:
Rasp-pi + simh + RSX + a little bit of electronics = nice light show ;)
http://ancientbits.blogspot.com.es/2013/01/let-there-be-blinkenlight.html
I need the details of this, I have wanted to do this for an age!
I have been searching the net for almost a year looking for nice looking switches and panel mount lights to build a proper front panel.
If you can publish the info it'd be great :D
--
Mark Benson
http://DECtec.info
Twitter: @DECtecInfo
HECnet: STAR69::MARK
Online Resource & Mailing List for DEC Enthusiasts.
That's too bad! I'm working on my PPL theory exams. Not difficult but a lot of pages to read.
Hans
------Origineel bericht------
Van: Jordi Guillaumes i Pons
Afzender: owner-hecnet at Update.UU.SE
Aan: hecnet at Update.UU.SE
Beantwoorden: hecnet at Update.UU.SE
Onderwerp: Re: [HECnet] For the Rasp-pi tinkerers...
Verzonden: 4 januari 2013 15:25
El 04/01/2013, a les 15:20, hvlems at zonnet.nl va escriure:
Jordi, are you a pilot?
Hans
I used to be. PPL. But I lost my medical when I was diagnosed diabetes :(
Jordi Guillaumes i Pons
jg at jordi.guillaumes.name
HECnet: BITXOV::JGUILLAUMES
El 04/01/2013, a les 15:20, hvlems at zonnet.nl va escriure:
Jordi, are you a pilot?
Hans
I used to be. PPL. But I lost my medical when I was diagnosed diabetes :(
Jordi Guillaumes i Pons
jg at jordi.guillaumes.name
HECnet: BITXOV::JGUILLAUMES
Jordi, are you a pilot?
Hans
------Origineel bericht------
Van: Jordi Guillaumes i Pons
Afzender: owner-hecnet at Update.UU.SE
Aan: hecnet at Update.UU.SE
Beantwoorden: hecnet at Update.UU.SE
Onderwerp: [HECnet] For the Rasp-pi tinkerers...
Verzonden: 4 januari 2013 01:10
Rasp-pi + simh + RSX + a little bit of electronics = nice light show ;)
http://ancientbits.blogspot.com.es/2013/01/let-there-be-blinkenlight.html
Jordi Guillaumes i Pons
jg at jordi.guillaumes.name
HECnet: BITXOV::JGUILLAUMES
I did not have this issue. All I did was "apt-get install simh" and
life was good!
I am running the 3900 simulation (for now). I will switch over to the
11/780 later this week.
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of sampsa at mac.com
Sent: Thursday, January 03, 2013 07:50
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Raspberry PI and PDP-11 emulation via SIMH
On 3 Jan 2013, at 04:34, Cory Smelosky <b4 at gewt.net> wrote:
Either it is dated, or the raspbian repository lacks it
entirely. I forget which.
Dated and no ethernet. Basically do this (as root):
apt-get install build-essential
apt-get build-dep simh
<download SIMH sources and make>
On 2013-01-03 18:37, John Wilson wrote:
Trivia question: what are the major differences between programming
the DU11 and the DUV11? At least from the handbook descriptions, it
sounds like the DUV11's isochronous (= async?) mode works and the DU11's
doesn't, but that's the only difference I can see and I don't see how
it matters for DDCMP use. And yet, DECnet/RSX has different names for
them, as if it's using separate drivers for each.
If DECnet/RSX uses different names, then it is also definitely using different drivers.
However, who knows if the actual contents of the drivers differ, or if they just liked having different names for them. :-)
(I can check next week. Please remind me...)
Johnny
Trivia question: what are the major differences between programming
the DU11 and the DUV11? At least from the handbook descriptions, it
sounds like the DUV11's isochronous (= async?) mode works and the DU11's
doesn't, but that's the only difference I can see and I don't see how
it matters for DDCMP use. And yet, DECnet/RSX has different names for
them, as if it's using separate drivers for each.
John Wilson
D Bit