Hmmm... I haven't seen either of those manuals. But I'd like to if anyone's got 'em
It may be that they were internal documents, although they had the Eclipse-style blue-and-black swoosh on the cover. As you know, everyting DG producted had "Proprietary and Confidential" printed on it (probably even the toilet paper at WeBo), so it was hard to tell what was actually considered secret and what wasn't. DG sales learned early on to just sell me whatever I ordered, Field Service was terrified (probably starting when I ordered a 6061 drive which required re-wiring around half of the I/O paddles. In early Eclipsen these had individual wire-wrap wires, all white of course, which had to get wrapped to specific backplane pins which varied depending on the peripheral in question) and had the backplane and paddles re-wired by the time they showed up to do the time+materials installation/startup of the 6061 and found it up and running when they got there.
Software took a while longer. I was sending in a steady stream of STRs (bug reports), mostly on XBASIC but some on RDOS. The tipping point was when I sent in my [in]famous STR about "XBASIC will allow any 32 terminals to be configured, as long as they're the first 32". I ended up running XBASIC in both FG and BG with 32 terminals on each, and a method for submitting batch jobs in other languages (a combination of normal XBASIC file I/O and a bunch of "CALL n" assembler subroutines) so that XBASIC in BG could be shut down and the various other batch jobs run and the results returned to the users as files in their accounts. Anyway, that STR came back on top of a stack of other STRs and a magtape, with a note that said "Congratulations! You're the new XBASIC maintainer!". I believe I cleared all but one (which was written by me, anyway) of the STRs within the year. That was probably due to the abomination that was XBASIC 5.0 - it shipped with bugs like:
Code:
10 FOR I = 1 TO 10
20 PRINT I
30 LET I = I + 1
40 NEXT
resulting in the following:
Code:
0
0
0
0
[continue forever]
The 5.0.1 patch (on the infamous Data General Mini-Reel - think DECtape spools but for regular 9-track tape) shipped a few days later.
Anyway, the bug I couldn't fix was something well beyond the intent of the original designers. ENTER (load code into the current working space) could be used as both an immediate command and as a program statement. I was using it in statement mode to implement poor man's overlays, replacing chunks of existing programs while running. Unfortunately, the code that implemented ENTER ran in a different, asynchronous routine than the code interpreter, so the interpreter could stumble into a mishmash of old and new code, and the only way around it was to introduce long waits between executing the ENTER and trying to access that code space. And if the computer was particularly loaded (as I recall, the ALGOL 60 compiler was a pig), the wait wouldn't be long enough. I tried all sorts of things including setting a flag at the end of the ENTER processing code and then doing a CALL to wait for the flag to be set, but could never get it to work reliably enough (there was only one ENTER subroutine across all 32 users, while code execution was per-user).
I learned DG assembler to implement one simple function - there was no way to flush the lineprinter (Centronics 101A) spool from XBASIC. There was (IIRC) a SPKILL primitive, but it was only available in RDOS, not from XBASIC. So I used the user-written assembler subroutine option to implement it in XBASIC. The both good and bad thing was that any code written that way was fully privileged. Actually, since the machine had no concept of privileges,
everything was privileged but XBASIC prevented you from foot-shooting other users. No such protections in assembler. By the time I had advanced to allowing execution of assembly code embedded in XBASIC DIMension statements, this was downright dangerous. So I implemented protected programs that could not be listed or modified, only executed, to keep people out (this was an academic timesharing environment, after all).
Speaking of Field Service, the reason I got involved with the hardware was because I was writing programs on that DG for a friend who was attending SPC while I was still in high school. Every once in a while, the terminal would spit out "ERROR 4 SYSTEM" (which was expanded in XBASIC 5 to "ERROR 4 - Unknown software or hardware fault") and the entire program would be lost. Since this tended to happen on SAVE commands, you'd also lose the on-disk copy. Anyway, I went into the computer room which was a converted classroom divided into offices and a "computer room", pulled out the chassis (it was on rails) and noticed some of the fans weren't running. I scavenged some appropriate replacement fans from the Physics department out of equipment they weren't using (to monitor experiments on their nuclear reactor*) and had the processor apart on the floor. Some guy comes in (there had been nobody in these unlocked rooms when I got there) and says "Who the hell are you and what do you think you're doing?" and I said "Fixing the computer, and who the hell are you?" That's how I met the director of Academic Computing and started a 22-year-long career there.
Anyway, the reason for problems like that was that they would alternate between having a service contract and trying to save money by not having a service contract, betting that the computer would break infrequently enough that they'd save money. If you know those early Eclipse systems and 4000-series peripherals, you know that that was a pretty bad bet. So we'd call for time+materials service and 2 guys would come out around 10 AM, unpack their tools and lounge around for an hour, then vanish (to the pub at the end of the block) and reappear around 2 PM and spend an hour packing up their tools and leave around 3 PM, billing us for 5 hours of "service". To those not familiar with the rather bizarre DG culture of the mid-70s this might seem impossible, but it was pretty much standard operating procedure when they could get away with it.
* The above might sound like the imaginings of a deranged mind, but I assure you this is all true. Strange days. After I left, they finally gave up the reactor (it had lost its operating license when they flushed it out and let the contaminated water run down the street, and had a storage-only license that was expiring). The chair of the physics department wrote a hand-scrawled letter to the NRC saying, essentially "BTW, we lost 7kg of uranium slugs. Hope you don't mind. K thx bye." Since that is utterly unbelieveable,
here is a copy of the letter from the NRC's archives.