On 11-Apr-15 18:20, Alan Frisbie wrote: > The CPU looked very much like a 16-bit PDP-8, which should be > almost trivial to simulate. The GPU would be a bit trickier, > as it would have to draw lines on the host's display. The real > problem, as I see it, would be how to have *two* simulated > computers operating simultaneously from the same memory. I seem > to recall a discussion on this list about how that would be > difficult, but can't recall the details. > > Does anyone have any ideas on how this might be done? > > There are a couple of approaches.
a) shared memory. Run two instances of simh, attach each to shared memory. Issue is portable shared memory doesn't quite exist. Recent discussion on the list was about making an abstraction layer. b) Implement the machine as a "device", compiling it with the host. SimH is perfectly happy with devices that execute instructions, although things like PC history and single-stepping tend to assume one CPU. The bigger issue is that you have to compile it with each host. c) do (a), but with a network connection. A unix socket or localhost TCP connection has plenty of bandwidth for an old graphics device. The drawback to (a) or (c) is that you need to manually coordinate booting the two instances - which a shell script can do. (c) is the quicker to implement and most portable. (a) is the more scalable. You could do (c) in an abstraction layer and move to (a) later. See the serial networking devices (such as pdp11_dup) for examples of devices that work over a TCP connection to other simulator instances. Also note that at least one of the VAX graphics devices has been emulated. You'll want to use the same libraries. Depending on where you divide commands and graphics and what transport you choose, you might want to consider compression; One's complement math is a solved problem. See the PDP-1. Have fun.
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
