Digital Group Video Card gets a SCELBI Style Enclosure

DG Enclosure for SCELBI Front
Front of Digital Group Video Card Enclosure for SCELBI

The lettering on the front is made with water slide decals printed with a laser printer. After applying, several coats of satin lacquer were sprayed on to protect the lettering.

DG Enclosure for SCELBI
Inside Digital Group Video Card Enclosure for SCELBI

There is only one edge connector for this double wide card. I decided this wasn’t enough support so I added those red blocks seen towards the bottom of this image. The small card on the upper left hand corner is used to latch the SCELBI output.

In a way, this is a project that doesn’t want to end. I still have to get some kind of demo application going and update my OS/X emulator to support this card. I’ll probably do the later, first, as it is easier to debug with the emulator than on the real system.

MPS10 – Performance/Software/Hardware

The page on performance starts by with a quick outline of the capabilities of an 8008 microprocessor. It then details timing of handling interrupts, the UART and external events.

The software page outlines some more of the basic implementation of the 8008, and outlines available tools. The user is expected to use a teletype and a PDP-8 during software development. There is a loader program that will reside in the M7342 Monitor/Control Module ROM.

The diagnostic page highlights available diagnostic capability of the MPS-10 which include PROM and RAM based diagnostics. There is also a section that specifies documentation that will be available. There will be both a hardware and software section in the user documentation.

The final part of this section includes note that says data sheets and product brochures will be available. This section seems just like a program plan, rather than end user documentation.

http://www.willegal.net/blog/wp-content/uploads/2020/01/MPS-10-performance-software-diags-hardware.pdf

DG Video mod for MCM6571A

In an addendum to my previous post, I noted that I had MCM6571A instead of regular MCM6571. It seems like the A part is easier to find than the regular part, so I decided to hack the board to support the A part, while I look around for a non-A part. Here’s an example of the resulting video output after the hack.

DG Good Video
DG Good Video

These parts have the same character set, but the row decoding goes up from 0 to 8 on the A part instead of from 14 down to 6 on the regular part.

Fortunately, on the DG video card, row input to the MCM6571 is entirely from the four outputs from the 74193 at U9. The 74193 supports counting down or up as well as configurable preloads. So all you need to do to support the “A” part is count up instead of down and reconfigure the preload, preload trigger and carry out to the next 74193. This can all be done without extra gates.

The standard DG card counts down from 15 to 2 and then restarts the count using the gate at U-22. To make the circuit work for the “A” part, I choose to reconfigure the counter to count up from 0 to 12. This is one less sweep of horizontal per line of characters, but it doesn’t seems to affect vertical hold on the terminal that I am using and it prevents the last line of text from being too “low” on the screen and puts the lines a little closer together for a slightly more pleasing display.

The carry over to U-10 occurs on the rising edge of the most significant bit of the the counter. This happens when the count goes from 2 (binary 0010) to start over at 15 (binary 1111). To make the circuit work for the “A” part, I choose to use the inverted version of the most significant bit, so it carries over when the output goes from 12 (1100) to 0 (0000).

Here is the wiring list needed to make this change. I choose to put the 74193 in an extra socket to make the rework easier. The way I made this change, it is completely reversible and requires no cuts to the PCB, so when I find a non-A part, I’ll be able to retrofit it to this board with minimal effort.

DG Video 6571A Hack
DG Video 6571A Hack
  • Remove the 74193 at U9 from the PCB and insert into a spare 16 pin socket with the following legs lifted:1,4,5,9,10,15
  • the following two steps change count down function to count up
  • Connect pin 4 of the 74193 to the socket pin 5
  • Connect pin 5 of the 74193 to the socket pin 4
  • the following step changes the preset from 1111 to 0000
  • Connect pins 1,9,10,15 of the 74193 to the socket pin 8
  • the following two steps changes the reset from a value to 2 to a value of 12
  • On the 7410 at U-22 lift pins 9 and 10
  • Connect pin 9 of the 7410 at U22 to U9, pin 7 (it can be connected to a convenient via near the MCM6571 that leads to U9, pin7)
  • Connect pin 10 of the 7410 at U22 to U9, pin 6 (it can be connected to a convenient via near the MCM6571 that leads to U9, pin6)
  • the last step inverts the carry input to the 74193 counter at U10
  • Lift U10, pin 5
  • Connect pin 5 of the 74193 at U10 to U17, pin4

Now all I need to do is to get some kind of demo application running and update my Macintosh SCELBI app to support emulation of this new SCELBI capability.

If anyone wants one of these reproduction DG video boards, cost will be $50 each, with free shipping in USA, $10 shipping outside the USA. Send me an email if you are interested.

DG Video Progress

I’m making some progress on the Digital Group video card debug, but it has been a bit more difficult than I expected. First I had to connect it to my SCELBI and write a short program to test it with. Here is the test setup.

DG Video Test Rig
DG Video Test Rig

I needed to add an 8 bit latch in order to latch the SCELBI output port. This was easily accomplished with 2 7475 four bit latches and a bread board that I had in my parts bin. If I was thinking ahead, I would have added it to the PCB that contains the +5 volt to + 12 volt converter. Now I’m going to have to add another board to the final chassis design in order to hold the 8 bit latch.

The 5 volt to 12 volt converter is resulting in 11.96 volts at the MCM6571. That is nearly spot on, so it looks like that effort has paid off. One other thing to keep in mind when wiring the power for peripherals on the SCELBI, it’s pretty important to avoid ground loops and run power and ground directly back to the power supply. It’s tempting to use the ground wire on the peripheral cable, but it’s best not to do that.

Debug has been a bit slow, and I found a couple of assembly mistakes on the PCB. First, I put capacitor C8 in the wrong holes which caused problems with the R/W output of U-23. The second mistake was forgetting to solder the ground pin of the 6571 character generator. I also had a bad 74193 in the circuit that was used for writing to video memory. In this build, I used sockets, so testing and replacing the 74193 was pretty easy.

The documentation suggests that a user could use a second output port and directly address video memory, rather than use the counter solution. Given that there usually is no shortage of output ports on the SCELBI, this might make a better solution for the SCELBI. It would be fairly simple to replace the two 74193 counters with 7475 latches in order to achieve this.

During this process I wrote two short programs for debug. The first one puts the same character in every location in memory. This was helpful when I was having trouble writing to memory. Putting the same data in every location made it easier to tell whether writes to the 1101 memory were working or not.

000 000 ORG 002 000
002 000 016 000 STRT, LBI 000
002 002 006 301 CONT, LAI 301
002 004 161 161
002 005 044 177 NDI 177
002 007 161 161
002 010 010 INB
002 011 301 LAB
002 012 074 000 CPI 000
002 014 110 002 002 JFZ CONT
002 017 000 HLT
002 020 104 000 002 JMP STRT
002 023 END

The second program writes every possible character to the screen memory.

000 000 ORG 002 000
002 000 016 200 STRT, LBI 200
002 002 301 CONT, LAB
002 003 161 161
002 004 044 177 NDI 177
002 006 161 161
002 007 010 INB
002 010 301 LAB
002 011 074 177 CPI 177
002 013 110 002 002 JFZ CONT
002 016 000 HLT
002 017 104 000 002 JMP STRT
002 022 END

These programs were both short enough that I just toggle them in through the front panel, rather than worry about setting up a TTY or scope and run MEA or MCMON.

The display with the second program loading up memory with a range of characters currently looks like this:

DG Video Output
DG Video Output

So the good news is that the horizontal and vertical sync is looking pretty good. In fact, given my concerns about the PCB layout, the video is downright crisp, much better than the Apple 1 or Apple []. I’m pretty impressed. The bad news is that the characters are all displayed upside down and clipped at the bottom. I’ll have to figure that out in my next debug session.

UPDATE: I just figured out that my reversed character problem is that I’m using a MCM6571A part which has a different/reversed decode when compared to a regular MCM6571. With character generators, you have to be careful about versions of the part and I guess I didn’t pay enough attention in this case.

MPS10 – Module Descriptions

This part of this MPS10 document goes over each of the modules making up the MPS10 system

http://www.willegal.net/blog/wp-content/uploads/2019/11/MPS-modules.pdf

Although this 8008 system has a feature set that is similar to other 8008 computers, there are some differences that make this system unusual.

Memory support for the MPS10 is typical of other 8008 systems, with from 1k to 16K of memory. The SRAM module used 2102 type memories and the EPROM card took up to 16 1702A EPROM chips.

One of the unusual features is the UART incorporated into the main CPU card. The UART supports a full duplex serial interface.

The main processor board also has a berg connector intended to interconnect with the Monitor/Control module with a “standard cable”. The Monitor/Control Module is mounted in it’s own cabinet, outside the M-series chassis that holds the rest of this system. The monitor and control module was intended for maintenance and program debug only. It supports typical debug operations such as read and write memory, running, stopping and stepping programs. It also contains a ROM with bootstrap program.

Finally, the MPS10 included an External Event Detection Module (EEDM) which supported up to 8 external interrupts and a power fail detection circuit. I’d say the extra external interrupt support was added because of the vision of using this system in process control applications and the weakness of the 8008 regarding interrupt handling capability.

Also mentioned is the foundation module, which is supposed to support user hardware interfacing. I don’t know much about the DEC “M” series chassis, but it appears that these foundation modules are some sort of standard prototyping boards, that were already being sold by DEC.

MPS10 – Why a Microprocessor?

This short section of the MPS10 document first asks when one should choose a microprocessor over hardwired logic.

http://www.willegal.net/blog/wp-content/uploads/2019/11/MPS10-why-perf-PDP.pdf

There is a paragraph discussing how to evaluate micro-processors, which is basically the same as evaluating any computer. The next section asks why use the Intel chip – the answer being that it’s about the only one available. Perhaps at the time that it was written, the IMP-16 wasn’t known about or available or the IMP-16 was dismissed for other reasons.

The next section starts discussing the MPS10. One thing that is called out, is that the MPS10 is a member of DECs M series module line. I don’t know anything about the M series modules, but perhaps some existing M series modules would be able to interoperate with the MPS10.

The next section lists the five modules that make up the MPS processor system. These modules are:

The M7341 processor module

The M7342 monitor/control module

Three size variations of the M7344 Memory module (1K, 2K, 4K)

The M7345 4K Prom memory module

The m7346 external event detection module

The last part of this section discusses the relationship of the MPS10 with other Digital Equipment Corporation Computers. The first statement of this section states that the MPS10 is not a minicomputer and is not intended to compete with minicomputers. It was designed to be a dedicated controller, a replacement for fixed logic designs.

“It should be considered to be an extremely useful augmentation of and addition to, DEC’s existing arsenal of processing devices.”

One thing to keep in mind, is that DEC had a very successful line of minicomputers, and undercutting that business from within the company, would have been a very risky proposition. Any change of architecture away from the PDP series would leave a potential customer, the option of evaluating systems from competing businesses as well as any new DEC architecture. The developers of the MPS10 had to be careful to not threaten the existing DEC business, which could account for some of the language in this document.

I Started Testing the Digital Group Video Card

So far, I’ve tested power rails and they appear to be reasonably good. The SCELBI power supplies provide +5 and -9. In addition, components on this card need -5 and +12. The -5 is generated on board using a series of voltage dropping diodes connected to the -9 supply. The +12 is generated with the little converter that can be seen mounted on top of the board. That converter has been documented in a few previous posts. The -5 supply sits at something like 5.6, which is a bit on the high side, but I’ll just go with it. The +12 looks pretty good, as it is sitting at 11.8. Voltages could change a little bit in actual operation as the testing was done without a running clock. I’ll definitely keep an eye on that as I move forward with more testing.

Reproduction DG Video Card
Reproduction DG Video Card

I am expecting the crystal that I need to arrive next week. The installed crystal is something I had on hand in a parts bin. It is something like 3.6 Mhz, which I figured is close enough that I could use it to check clock generation and general performance of the timing portions of the circuit.

MPS10-Applications

The next section of this MPS10 document contains information about recommended applications.

http://www.willegal.net/blog/wp-content/uploads/2019/10/MPS-10-applications.pdf

The main thing to take away from this section is the first point. The end user is envisioned as a “OEM or large end user (corporate OEM)“. Though, it is also envisioned as going into “extremely price-sensitive” applications, the MPS10 was not envisioned as a home or hobbyist machine or even applicable to small businesses.

I think that this is typical of many currently mis-understood early micro-processor based systems. The companies manufacturing these systems didn’t really want to be bothered by small one-off end users, who might end up requiring a very large amount of support for very few or even single sales. The vendors of many systems like the MPS10 were looking for volume sales opportunities, because they knew that tools and support infrastructure was very limited in scope. In this case, DEC was looking for sales to tech savvy companies that could work through most of the technical issues on their own. This is clearly called out in the statement: “Is hardware-design-oriented and has in-house technical capability”.

A similar comment can be found on page 66 of the Micral user’s manual.

Micral User's Manual section VI.1.
Micral User’s Manual section VI.1.

Most companies selling these early, very primitive, microprocessor based computers were looking for tech savvy companies to buy the computers and embed them in end-user applications.

The next section of the document list possible applications that this system may be used for. These days, every one of these suggested applications would be classified as a embedded systems application. The last part of this section list a couple specific embedded applications. The first one, a process control application, includes a flow chart that fits on one page. This should give the reader a good idea of what kind of application was deemed suitable for the MPS10 microcomputer. There is absolutely no mention of hobby or learning type applications in this document.

The first small SCELBI ad contained a vastly different message, “DESIGNED FOR THE ELECTRONIC/COMPUTER HOBBYIST!”. What really made the SCELBI, MARK-8 and similar systems so different than regular computers of the time was the marketing.

MPS10 Microprocessor Set Introduction

This series of posts will be a detailed review and commentary about the MPS10 Microprocessor Set manual that I recently acquired. First I’ll provide a bit of background.

I first encountered information about the Digital MPS-10 8008 based computer system several years ago. There is a lot of information about this system in the bitsavers archive at: http://www.bitsavers.org/pdf/dec/mps/. In fact, there is nearly enough information online, to enable someone to build a reproduction of the hardware. However software information is very sparse.

When I won the recent eBay auction for a DEC MPS10 manual, I wasn’t sure what I had won. In fact, I had forgotten about the bitsavers information that I had already downloaded and examined. After reviewing this manual and comparing to the information downloaded from the bitsavers website, I’m pretty well convinced that this manual was a DEC internal product plan of some sort. What makes this manual interesting, is the perspective it gives the modern reader, regarding marketing potential of the microprocessor based systems that were just coming into existence and their potential impact on the mini-computer business. As a mini-computer industry veteran, I figure I can provide a unique analysis of this document.

I plan on reviewing this document section by section and I’ll start with the first 5 pages, which is an overview of just what a microprocessor was.

http://www.willegal.net/blog/wp-content/uploads/2019/10/introduction-logic-products-MPS-10-plan-1.pdf

To start with, the introduction in this “book” describes the microprocessor and the system made up with a microprocessor. It notes that the complete microprocessor system ends up being made up of from 25 to 40 ICs, quite a few more than in theory. It also notes that future systems will benefit from N-channel MOS and bipolar TTL, which will contribute greatly to increased speeds in future devices.

The next paragraph describes the advantages of microcomputers. This section compares microprocessors primarily to special-purpose logic, rather than mini-computers. The listed advantages over special purpose logic include faster product design time, changes easier to implement and an increase of reliability.

The next section compares the microcomputer to the minicomputer. Differences are described in a chart and include the optional use of core memory in the minicomputer. Software on the minicomputer is described as being more complete and comprehensive compared to more basic tools for the microprocessor. In addition, programs must be created off-line on a more capable host machine, such as a PDP-8 in the case of the microprocessor. Price is listed as medium on the minicomputer versus low on the microcomputer. The last comparison is support and service, where the microcomputer is listed as having no field service compared to the full field service available to the minicomputer owner/operator.

While this information seems rather basic and obvious to the modern reader, remember that microprocessors were brand new devices at the time, and the authors believed that they needed to cover the basics of the microprocessor. Also keep in mind that the authors worked for DEC, which generated a vast majority of it’s current revenue directly or indirectly from the PDP series of mini-computers. Though the authors were obviously excited about the possibilities of the microprocessor, they apparently needed to make sure that the reader understood that the microcomputer was supposed to be a replacement for special logic designs, not a replacement for DECs successful line of mini-computers.

Digital MPS10 Book

I recently obtained this MPS10 book from eBay. The Digital MPS10 was a little known Intel 8008 based system produced by Digital Electronics Corporation back in 1974. I ran across a reference to this system a few years ago.

Since then I have had a standing search on eBay for MPS10 items. This is the first relevant item that actually showed up. I managed to win the auction at a quite affordable price. The book is kind of interesting as it appears to be almost more of a corporate marketing plan than an end user document, though it could be the later. I plan to scan it and share the contents on my website or blog.

Digital MPS10 Book-cover
Digital MPS10 Book-cover

I’m guessing that the Logic Products group at Digital produced logic cards for the rest of the business, not complete computers. Perhaps someone with more knowledge of DEC’s internal organization could add a comment with more accurate information about what the Logic Products team were responsible for.