Data General Nova 1200 Minicomputer

The oldest computer in my collection by a significant margin is this beautiful Data General Nova 1200 from 1971. It's also the only machine I own which is classified as a minicomputer, rather than a microcomputer. It arrived in my care mostly intact, and didn't need much before I could run simple software tests. The power supply was the main thing to get sorted first. I've got 4 different 8K core memory boards available. 3 respond as anticipated, one does not. I adjusted the addressing on the boards to put them all in sequence in the address space, now giving me 24K of contiguous memory. I've also installed and set the jumpers of my new Cassette I/O board. After that, I ran some diagnostic software and located a fault in the TTL to RS232 level shifter, which I repaired. Once the serial tests confirmed the board as working, I toggled in the bootloader and loaded up Binary Loader program. After that, I loaded BASIC over serial, which ran first try! Since then, I've had some power supply issues that cascaded into having to replace the original PSU, and debug the CPU board, among other things.

What I'm working on right now:
Debugging the Nova CPU

I'm looking for a few things for my Nova 1200:
DG Dasher Terminal - D2, D3, D100, D200, or D400, RS232 equipped.
DG DT-1 or DT-2 teletype
Documentation for the 107-000116-08 Quad Multiplexer board I have. Heck, if you know the address used by that device, I want to hear it because it will help.
Rack rails compatible with the Nova 1200
Diablo drive and interface card. I want mass storage one day
DG 4011 Basic IO board
DG 6030 drive & interface board
DG maintenance extender board
DG parallel interface board

My goal is to run BASIC on my Nova. Consistently.

Click here for links to various Nova resources

I own the following Data General items

Here's what it looks like with the top plate removed, showing the top of the power supply, one of the core memory boards, and the backplane.

The only part of the computer that required significant repair before I could run it was the power supply. The large electrolytic capacitors needed to be reformed, which I was successful on 4 out of 5 caps. The fifth, which was the smallest, simply had to be replaced outright. Initial tests under dummy load kept blowing fuses, which was traced to a massive diode bridge rectifier with a short. After that was replaced, dummy load tests indicated this thing was ready to be reassembled.

You can watch my Nova 1200 in action here, computing the 24th Fibonacci Number.

In this video, I'm pre-loading the AC3 accumulator with octal 30 (decimal 24). I start the program counter from location 00102, although that isn't how the program was intended to run. The result is stored in AC0 after the program halts, which is octal 132440 (decimal 46368).

00100: 060277 | START:  INTDS           ; Disable interrupts
00101: 074477 |         READS 3         ; AC3 = How many values to compute
00102: 174420 |         NEGZ 3, 3       ; We can only count up
00103: 020411 |         LDA 0, ZERO, 1  ; AC0 = Term 1
00104: 105420 |         INCZ 0, 1       ; AC1 = Term 2
00105: 111020 | LOOP:   MOVZ 0, 2       ; AC2 = Next Term
00106: 133020 |         ADDZ 1, 2
00107: 121020 |         MOVZ 1, 0       ; Term 1 = Term 2
00110: 145020 |         MOVZ 2, 1
00111: 175424 |         INCZ 3, 3, SZR
00112: 000773 |         JMP LOOP, 1
00113: 063077 |         HALT
00114: 000000 | ZERO:   0

The demonstration here was written by my friend QuantX, who also wrote the assembler which you can check out here. He's working on making a C compiler that is Nova-compatible, and I'm certainly interested in seeing where that goes.

Need to test serial output on a Cassette I/O board? QuantX assembled something for that too!

00100: 060277 | start:		INTDS		; Disable interrupt
00101: 020112 | 		LDA 0, asciibeg	; Load constants
00102: 024113 | 		LDA 1, asciiend
00103: 063511 | mainloop:	SKPBZ 0, 11	; Wait untill TTO is free
00104: 000777 | 		JMP -1, 1
00105: 061111 | 		DOAS 0, 11	; Output to TTO
00106: 101420 | 		INCZ 0, 0	; Increment char to be printed
00107: 106455 | 		SUBO# 0, 1, SNR	; Check if end of ascii table
00110: 020112 | 		LDA 0, asciibeg	; Reset starting constant
00111: 000103 | 		JMP mainloop	; Loop
00112: 000040 | asciibeg:	40
00113: 000177 | asciiend:	177

More recently, I had to perform some more work on the power supply, as the 5V rail was a bit over the recommended voltage. I've replaced every carbon composite resistor, as well as the 5V regulator UA723, the latter of which seemed to be the point of drift. Since then, operational stability seems to have improved. However, I did discover that my PSU is a slightly different revision from those in the schematics I've got. C'est la vie.

Here you can see my Nova connected to my Heathkit H89 H19, while running Single User BASIC. Look at it go!

I recently brought the Nova 1200 to Vintage Computer Festival East XVII.

It did not like the trip, and failed to work properly all weekend long, even after a brief run of BASIC. I noticed the 5V rail had decided to climb again, so I replaced the UA723 a second time, and installed a socket. The machine was never the same at the show after that, and would run my serial diagnostics, but not BASIC. I've therefore elected to build a modern power supply replacement from off-the-shelf switch mode modules, both to spare my ears, and to reduce further risk to the Nova.

Right now, the current approach involves off-the-shelf Meanwell supplies being shoe-horned into the chassis. I will not irreversably modify any of the original hardware in the process.

Update: I have created a new power supply!

But I didn't do it alone, I had plenty of help. It uses:
The frame is a solid piece of mild steel with a single bend to hold it together, with a steel grating welded to the vent hole, keeps fingers away from mains voltage. Unlike the original power supply, this one is much lighter due to the absense of a massive iron transformer.

The power supply itself was tested in the week prior to Vintage Computer Festival Midwest 17, and unfortunately we missed an important mistake on the power interface card. We got the pinnout mirrored, resulting in the 12V lamp voltage and lamp ground being reversed, destroying a number of 7407 lamp drivers. This also backfed onto the bus, and damaged a few logic chips that handle important control signals, and most notibly, 8 Signetics 8271 4 bit shift registers used for critical CPU register operations. The PSU issues were rectified, and the lamp drivers were replaced, along with what logic could be fixed before the show. The 8271's were confirmed bad at VCFMW 17, but replacement parts would have to wait until after the show.

Some aspects of front panel control didn't seem to be operating quite right, but Saltypretzel came up with an elegant and simple power on reset circuit. No microcontroller, or anything overkill, just some RC circuits and Schmitt triggers. After constructing his circuit and installing it, front panel operation reliablity improved dramatically. Here's video showing the state of the machine as of the end of September, 2022:

This page was last updated on 3-8-2024