rcornwell / sims

Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
http://sky-visions.com
95 stars 20 forks source link

KA10: Rubin 10-11 external interface #75

Closed larsbrinkhoff closed 5 years ago

larsbrinkhoff commented 6 years ago

Follow up on #74. This is to talk to some PDP-11s.

The previous pull request implemented the PDP-10 side: intercepting memory accesses to the 3,,000000-3,,777777 range and translating them to Unibus addresses. Now those accesses need to go outside the KA10 simulator and end up in another process simulating a PDP-11. Read requests should return data. Timeouts must be handled.

larsbrinkhoff commented 6 years ago

The primary target is @aap's upcoming PDP-11/10 (or 05) with Knight TV hardware.

I think I'd also like to be able to attach SIMH, because it can do GT40, 11/40, and 11/45.

larsbrinkhoff commented 6 years ago

Some random ideas for inter-process communication:

It must work on both Unix and Windows.

larsbrinkhoff commented 6 years ago

11LOGO on a 11/45 is interesting, because it had special hardware made by TK to attach eight vector displays. I think it came before the Knight TV system.

larsbrinkhoff commented 6 years ago

I think we can drop the subprocess idea. It's better to be able to start e.g. SIMH and have full control over the console.

To do this using the SIMH framework, I think there are two options:

larsbrinkhoff commented 6 years ago

sim_shmem API:

larsbrinkhoff commented 6 years ago

The sim_tmxr API, as descibed in sim_tmxh.h, is rather big. It's geared towards simulating serial lines. I guess there's a subset of calls that could provide communication between a KA10 and one or more PDP-11.

larsbrinkhoff commented 6 years ago

I think a quick and dirty thing with shared memory will be easy to whip up. I'm quite sure whatever we do, we'll have to change it later so let's go with something simple.

aap commented 6 years ago

But then you have to synchronize two processes. A TCP connection would take care of everything for you.

larsbrinkhoff commented 6 years ago

I remembered I want to be able to connect, say, a PiDP-11 and a KA10 on another host. So TCP it is.

larsbrinkhoff commented 5 years ago

Fixed by #87.