Deep Thought (MEK6800D2)

This is hobbyist style build based on the Motorola MEK6800D2 from about 1979.

When i collected the MicroVAX I from the seller, Jan, she showed me this unusual machine. Her late husband, Andrew had built the machine back in about 1979. It obviously became an enduring treasure. The family generously donated this machine to me for which i am very grateful. It gives me a real kick to restore a machine that has been important to someone.

The case is a little agricultural, but it has nobly protected its innards for 45 years. The cards and backplane are in very good condition.

The machine carries the moniker of “Deep Thought” as a nod, no doubt, to “The Hitchhiker’s Guide to the Galaxy”. The name is hardly unusual but it is the only one i have so that is what i will call it.

I expect that this machine was built, modified, and expanded over several years. Andrew would have started with the Motorola Evaluation Kit II (MEK6800D2).

The kit included a single board computer based on the 6800 processor. It included a 1kB ROM with the JBUG system monitor, 384 bytes of RAM, a serial port and a cassette port. Eventually a video/keyboard, I/O, and 32k Memory cards were added. An additional ROM monitor for video/keyboard card has also been added.

Along the way it seems that some older functions have been removed. It looks like there were once some connections to a parallel port.

A folder with a few notes has survived but no cassettes have surfaced (as yet).

The MEK6800D2 kit is well documented in manuals available online, but the additional cards are more unusual and so far i have not found a lot of information on them. That will present a few challenges.

I aim to get this machine running from the installed ROM monitors. Ideally i would like to be able to load some sample programs via the serial interface and save and load from cassette. I have a 6800 cross-assembler that runs under CP/M but i’d obviously prefer a cross-compiler in C or Pascal.

I would like to retain the personality of the build but some changes are inevitable – particularly to make the unit safe and robust.

Deep Thought Main Components

The lid was already begging to be removed and curiosity demanded it.

The unit contains a MEK6800AB backplane with:

  • MEK6800D2 Processor Card
  • MEK68 I/O Card
  • MEK68MM32 32kB Memory Card
  • MEK68R2 Video card

There are several connections to the cards including coaxes for the cassette interface and the video output, and a DIP connector for the RS232 line.

The front panel card (must get a photo) connects to the processor card by a bright red ribbon cable. This was disconnected and that be be deliberate.

The bus interface on the processor uses an edge connector whereas the other cards use a SIL connector. The former is consistent with Motorla EXORciser Bus and the latter is referred to as the Motorola Kit Expansion Products (MOKEP) interface.

The processor card includes the 6800 processor, which seems to be suffering some corrosion – a common occurence with ICs using silver plate rather than tin.

It also has two different Parallel Interface adapters: an MC6821 and an older MC6820 (in a ceramic package). There are two ROMs. One is clearly the JBUG ROM. The other is presumably the CRTBUG ROM. The third ROM socket is unoccupied. There is a 128B RAM which is used by the JBUG ROM program. The 4x 128B RAM sockets in the lower left have been filled with an Australian produced RAM daughter-board that provides a massive 2kB!

There are clearly some mods, one of which i expect is to select between the two onboard monitor programs using a front panel switch. A front panel reset switch is wired directly to the S1 footprint.

The two upper edge connectors are for the PIAs. One of these is used to connect the keypad/display board. The other is user defined – it appears to be used for a small I/O board (get photo) – two relays and drivers, i think.

The keypad/display card connects to the processor card using a ribbon cable. It also has some circuitry for the cassette interface.

The I/O Card is not fully populated. There are two Asynchronous Serial Interface Adapters (ACIA); one for the cassette interface and one for an RS232 port. There is one Parallel Interface Adpater (PIA) and provision for one more. I/O connections are made via loathesome 16 and 24 pin DIL cable connectors. There is a switch to select 300 or 1200 baud on the cassette interface and two RCA connectors for same. There is a manual available for this card.

The video card uses the popular MC6845 video controller. It has 2kB of RAM so should support 80 columns by 24 lines. I have not located a manual for this card. Hopefully it will just work with the CRTBUG monitor and the keyboard otherwise i’ll have some reverse engineering to do.

The RAM card is populated with 32kB of dynamic memory. Again, i haven’t been able to find a manual for this but i assume that it is located at 0000 and overlaps with the processor card RAM and option ROM. Perhaps some of the mods on the processor card take care of this.

The ASCII keyboard uses a mask programmed Intel 8048 microcontroller with what is likely to be a custom version of the General Instrument AY-5-2600 Keyboard Encoder.

Deep Thought Configuration

The MEK600D2 has a standard configuration as supplied by Motorola. In this configuration it runs the JBUG monitor from a mask programmed ROM.

The memory map is as follows:

The memory space is not fully decoded though. The main decoder divides the 64k space into 8x 8k blocks. The JBUG ROM, for example is mirrored 7 times – which is probably how it is able to boot in the first place as reset causes execution to start at the top of memory.

The I/O appears even more curious with the address ranges of devices overlapping ie it would be possible to enable multiple devices at the same time using undocumented addresses. eg the One PIA is active when A2=1, the second PIA is active with A5=1, and the ACIA is active with A3=1.

The processor board has been modified with a 2k RAM board, so the RAM occupies the space from 0000H to 07FFH. Or at least that would be the case if other modifications had not been made.

It is also curious that there is a separate 128B RAM block set aside at A000H for the JBUG stack. This also, occupies a full 8k of memory space.

It seems that the MEK6800D2 expansion with external MOKEP boards was not entirely thought through by the time the D2 was released.

The first example is the 32kB expansion card which requires a contiguous 32k memory block which does not exist in the baseline design. The area from 2000H to 5FFFH was unused (the decode lines (2/3 and 4/5) go to the EXORciser interface.

The remaining area from 0000H to 7FFFH is reclaimed by disabling the expansion PROM at U12, and the re-allocating the RAM at 0000H to the area used for the dedicated JBUG RAM at A000H.

Helpfully, there is an application note that discusses possible modifications to accommodate various MOKEP cards. It highlights the VMA signal that can be externally activated to suppress onboard devices for particular addresses. It also introduces an Active signal which performs a similar function but is open collector so that it can be used by multiple devices. The Active signal was introduced by modification of the processor board:

The Active signal is certainly used by the Video card and may be used by the RAM card. The Video card is active 8040H to 9FFFH so the Processor card decoder I/O output is active only for 8000H to 803FH.

The I/O Card can be configured for 4 different sets of addresses:

The card in this system is configured for option 2.

The I/O Card has not been loaded with the IEEE interface, but the decoding for it does seem to be present. On the face of it there is a potential contention with the Video card at 8058H.

Check what happens with I/O1 – the I/O card expects it but the processor card doesn’t provide it. There are some hints that the Video Card might provide it. What a curious thing.

The card has both the JBUG and CRT ROMs installed. The socket U10 has been modified so that both ROMs are enabled by PROM0_L at E000H. A switch is used to enable one ROM at a time.

There seems to be no device at C000H. It may be possible to move the ROM (U12) that was at 6000H to this location. This ROM has a lot of configuration options so it may be possible to configure the slot for a 2716 EPROM or even a 2732 EPROM. This would be very handy for routines to use the serial ports.

There are mods on the back of the keypad and display but they appear consistent with the schematic in the manual so perhaps they were covered by a note with the kit or were a service update. They are:

  • Track cut at U20-2
  • U20-2 wired to U11-6
  • U11-4 wired to U17-7
  • U11-11 wired to Ua8-1

Deep Thought Power Supply

The power supply looked like it had suffered a little. The cheese-grater enclosure was neither robust nor dust proof.

It was fairly easy to remove the case. I’m all for keeping things original, but mains power needs to be taken seriously. Inside i found an off the shelf Motorola open frame linear power supply.

It is the perfect companion for the computer so i set about cleaning it up. There were no obvious issues so i powered it up using an autotransformer.

I brought it up slowly without load and it survived the experience. The voltages were pretty good. I added a nominal load and it seemed to hold up fine.

The power supply has two designated connection points for mains fans. One was used for a fan attached to the cheese-grater case, and the other connects to a fan in the computer case. This is not great because it involves a live plug (ie live pins), and the computer case is not clearly earthed.

The power supply does claim short circuit protection, but the chassis wiring does not include a fuse. The mains cable has become quite stiff with the passing years; i will replace it.

The DC cabling is re-used 10A mains cable. It does not make use of the sense inputs on the power supply.

I think it is probably worth starting afresh on the power supply chassis.

Deep Thought Power Up

I had already cleaned the power supply and tested with a small load.

The enclosure really needs some work and the cards would be hard to access inside the case, so decided to pull all the connectors and cabling out. I gave it all a clean and set it up on the bench.

In preparation for power on, i applied de-oxit to all of the socketed ICs and reseated them.

I started with the backplane and power supply. I checked all the power wiring several times, fearing that somehow i would get the voltages muddled. Then i powered up and nothing bad happened with the backplane alone.

Then i added the processor card and checked voltages. Still ok, so i added the keypad/display card. The 5V at this card was starting to get a little low. I think the regulation would be improved markedly if the power supply sense lines were used.

On power up nothing was displayed. I tried the reset. The switch feels terrible but is just working. Still no display. Then i toggled the CRTBUG/JBUG switch and reset again. This go the dash (-) display that was expected. Splendid news indeed.

The requirement for a manual reset at power on seems a little primitive.

I did a crash course on JBUG and was able to enter some commands and edit some memory locations. There was no memory at 0000H, but there was 2kB of memory at A000H. That’s consistent with the mods.

Next i added the 32kB memory card which also seemed to work fine.

Next i added the Video card and connected a monochrome video monitor. This required toggling the CRTBUG/JBUG switch and hitting the reset again. After some adjustment of the horizontal sync on the monitor i got a CRTBUG 1.0 sign on message. This was a lot of progress in a short time.

I was able to start up either monitor using the switch provided for that purpose. I assume it is messing with the chip enables on the two ROMS.

Then i added the ASCII Keyboard and progress ground to a halt. The only key that seemed to work was the space bar. I added the I/O card in the just to confirm it made no difference. It did make no difference.

When i looked closer at the keyboard i noticed that there were no key switches soldered in. I removed the screws and quickly found that the board is a capacitive type similar to that used on the Kaypro II and the Compaq Portable.

These keyboard use foam pads with a conductive layer on plastic. Typically, both the foam and the conductive layer deteriorate and need to be replaced. In this case only a few pads had retained their conductive layer – one of them is the space key.

Replacement is laborious and made worse by their complex shape. This is a job that can wait until after i have confirmed that the computer itself is working well.

Until then, i can use a PS/2 keyboard with an adapter to make it appear as an ASCII keyboard. I’ve done this before with a Microlog Little Video Board. Once the pinout was sorted (with some buzzing followed by guesswork) the keyboard was good and i could enter commands using the CRTBUG monitor.

The CRTBUG monitor is a lot easier to use than JBUG so i could do rough write/read tests on the RAM.

I found that the Zenith monitor struggled with the horizontal sync, but the video seems fine on a modern video monitor.

I should see if i can jump to CRTBUG from JBUG.

There are cassette ports on both the processor card and the I/O card. JBUG is made for operation with just the MEK6800D2 so it would use the interface on the processor card. I was not sure what the CRTBUG would do, but when i “punched” to tape it definitely used the one on the processor card.