> From: Jim Stephens > I had a meeting with Ken Omohundro on 12/7 and will be having dinner > with him again soon. I'll ask him about it. I know he doesn't have any > records left, but I could take him your notes and see what he recalls.
Thanks very much for that offer; we do think we know more or less how it works (software-wise we always knew, since I wrote the code for it on the MIT system, and that, and some other code to run it, still survive; the hardware details had faded from my memory, but the documentation that Clem Cole found cleared the high-level details of that up, mostly); however, there are two areas in which he might be able to help. The first is some very low-level details of how it worked, in terms of the UNIBUS interaction; we can surmise, from the way it's installed, how it more or less has to work (details below), but it would be nice to have it confirmed. The second is some details of how some of the optional stuff for using existing memory, non-DMA devices, etc worked. (I honestly forget the details of what I couldn't work out there; I'll have to go study it again.) The first is that unlike my initial recollections, both the CPU and DMA devices are on a single UNIBUS segment which feeds into the ENABLE. There are two different 18->22 maps in the ENABLE, one for CPU cycles, one for DMA (the latter perfectly emulates the UNIBUS map on the -11/70 and /44). So, more or less by definition, it has to be able to distinguish CPU bus cycles from DMA device bus cycles on the incoming UNIBUS segment. But how, exactly? I can _theorize_ how it did it, but this is a topic not covered in the still-extant documentation. I _surmise_ that it was something like it watches NPR/SACK for a DMA cycle (it won't see the NPG, of course), then waits for BBSY to cycle, at which point it knows it's a DMA cycle; if not, the current cycle must be from the CPU. He may or may not remember the details, but if he can, that would be great. (For software emulation, we don't need to know this, but it would be good, for completeness' sake, to know. Also, I have a fantasy that the UNIBUS version of the QSIC will also include ENABLE-type functionality, and although we could probably work it out on our own, it would be good to have the benefit of anything he can recall - any not-so-obvious gotcha's, etc.) It would also be interesting to know why he just didn't use a 3-bus design: i) UNIBUS in from the CPU, ii) UNIBUS in from DMA devices, and iii) EUB to the memory. I suspect that the answer is that they way they did it, they could use a stock MUD backplane (being used in EUB mode), and only one over-the-back connector into the ENABLE. On the second, I'll have to go re-read the documentation, and get back. (Although now that I think about it, I may have just figured out, not only the question, but also the answer.) > I hope to get a biography and history of his companies including Able, > and figure somewhere to get it stored. The Computer History wiki would seem an ideal place for this sort of content? (Depending on how long the bio is; but the company info would _definitely_ be very much on target for there.) Noel