Introduction and Request for Help with Using ZPU Repro in Altair 8800c

54 views
Skip to first unread message

Jonathan Bishop

unread,
Aug 25, 2025, 12:48:42 PM (14 days ago) Aug 25
to Cromemco
Hi Everyone,

My name is Jonathan Bishop. I am a recent electrical engineering graduate living in the eastern part of the United States. I am excited to be a part of this group!

A few years back, I purchased the parts to build an Altair 8800c. I have been using it with a reproduction Altair 8080 CPU card. A few days ago, I finished building one of Rich Camarda's ZPU reproduction boards.

The only trouble is, it does not seem to work. The lights on the front panel of my Altair 8800c flash wildly. They seem to be counting up very quickly. I have attached a link to a video of the behavior: https://www.icloud.com/iclouddrive/05apX6PJa8Z_QnYgCaBgZ68NA#IMG_0807. The start/stop switch and reset switch seem to cause changes in the behavior, but none of the other switches seem to do anything. Also, changing the number of wait states slows down the counting a little bit.

At first I thought I had a dead chip or made a mistake in my soldering work. I searched the board with a magnifying glass for shorts and could not find any. Then I started doing research on the problem. Eventually, I found a thread on the VCFed forum where someone who had purchased two non-reproduction ZPUs described a similar problem with using them in their Altair 8800c. Here is the link: https://forum.vcfed.org/index.php?threads/cromemco-zpu-mystery.1249815/

So now I am beginning to wonder if the problem is maybe not a dead chip or a soldering mistake but front panel/signal timing related. I know my Altair 8800c works fine (as far as I can tell). I have run kill-the-bit on the front panel, Altair ROM Basic, and CPM 2.2 with no issues at all using the reproduction Altair 8080 CPU board.

Since this is Altair 8800c and Cromemco related, I also have started a thread over on the Altair Clone forum in the 8800c section. I will relay information back and forth.

I currently have the ZPU, front panel interface, EconoRAM II, and termination boards installed in the computer.

I have also attached a picture of the card to show y'all how it is set up. It is set for three wait states, no DRAM refresh, no address mirroring, no automatic jump on power up, and 2MHz clock frequency. I was not sure how to set the "M1 Wait". Perhaps that is the issue? Also note the Z80 clone CPU used here. It is an NEC that Unicorn Electronics sent me instead of an authentic Z80. I have seen this chip before in Japanese MSX computers I think.

I am more than willing to troubleshoot signal timing or anything else and post results. My old analog oscilloscope finally died (which I used to test the clock signal timing on the 8080 card) but I will be ordering a nice new digital one very shortly.
IMG_08082.jpeg

David Roberts

unread,
Aug 25, 2025, 3:05:45 PM (14 days ago) Aug 25
to crom...@googlegroups.com
Welcome,

I am just thinking off the top of my head here (waiting for my pie to cook)...

Wasn't there a finger on the S100 edge connector to insulate if you wanted to use the ZPU with an Altair front panel?

There are Standards and Standards...

Dave


--
You received this message because you are subscribed to the Google Groups "Cromemco" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cromemco+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cromemco/a05abc03-e700-404d-932b-4f9b6bc8999bn%40googlegroups.com.

Christopher Mallery

unread,
Aug 25, 2025, 3:30:31 PM (14 days ago) Aug 25
to crom...@googlegroups.com
I never did get my original ZPU working with the Altair 8800c front panel.  If I recall there is a signal missing that the 8800c front panel requires that is present on the 8080 board that is only present on some Z80 boards and the ZPU doesn't have it.  This is a problem unique to the 8800c reproduction front panel, not an original front panel.  I even tried to solder jump that signal from the ZPU to the front panel and then I just ran into all sorts of timing issues.

David Roberts

unread,
Aug 25, 2025, 4:08:07 PM (14 days ago) Aug 25
to crom...@googlegroups.com

David Roberts

unread,
Aug 25, 2025, 4:09:41 PM (14 days ago) Aug 25
to crom...@googlegroups.com

Jonathan Bishop

unread,
Aug 25, 2025, 5:47:01 PM (14 days ago) Aug 25
to Cromemco
Yes, this is very useful. I did not realize exactly how the front panel did its ramming of instructions into the processor for Examine. I am kind of a newbie at this S100 stuff. 

I know my cable between the front panel interface card and the ZPU is wired right. I checked continuity and made sure that the wires are going to the right places. So I am guessing that if the cable is okay, it must be something to do with the timing of the four counts bringing the three pieces of the JMP instruction into the processor?

Where do you suggest I check first?

Peter Higgins

unread,
Aug 26, 2025, 2:49:06 AM (13 days ago) Aug 26
to Cromemco
A few specific comments:
- I note you have disabled the ZPU POJ circuit, which is necessary for this to work at all
- the "M1 wait" is probably best left enabled. It was provided because, in comparison with the 8080, the Z80 M1 memory cycle is significantly shorter which can be an issue if your system RAM speed is marginal
- address mirroring is best to leave enabled in a "clone vintage" system. It mimics what a real 8080 does, and some vintage boards depend on this behavior
- much depends on the timing relationship between CPU clock phi2, pSYNC, the appearance of the sM1 signal on S100 DI bus pin DO5 early in an M1 bus cycle, and the subsequent appearance on the S100 bus of the actual DO5 signal. None of these signals are native to the Z80, and the degree to which generation of these signals faithfully mimic the timing of an 8080 board can determine success or failure.
- you didn't mention it, but run the ZPU at 2MHz (not 4 MHz).
- the ZPU generates the S100 bus MWRITE signal. It is best to modify the Z80 board so that it does not output this signal, since the Altair front panel is designed to do it.

My general comment - the 8800c front panel design is very different from that of the original Altair 8800 front panel. The original Altair front panel was a pretty basic design built from basic logic components. The 8800c front panel uses a PIC chip controlling a state machine to implement most functions, and I'd be very surprised if this worked properly with anything but an original 8080 CPU board.

Jonathan Bishop

unread,
Aug 27, 2025, 10:59:42 AM (12 days ago) Aug 27
to Cromemco
Ah okay. I was kind of afraid of that. But that is okay. I did enjoy building it (that is most of the fun anyway for me). And eventually, I plan to build another S100 machine which will utilize this board and a Motorola 68k card I also recently built.

For now, I will keep using the Intel 8080 card with the 8800c. There is still plenty to do with that card software wise.

In the future, I may crack open the 8800c's front panel firmware and see if I can make any adjustments. I am not sure if this would even help or if the right signals are wired into the panel but I would be curious to look. Although I do electronics as a hobby, embedded software is my day job.

Thanks again for the help!

Peter Higgins

unread,
Aug 27, 2025, 11:18:45 AM (12 days ago) Aug 27
to Cromemco
To leave you with some hope....

In a posting to the Altair groups.io forum today, it was mentioned that the CCS 2810 (another popular S100 Z80 board from back in the day) works well with the 8800c front panel. This is the board:
As I mentioned above there are several factors that determine how compatible an S100 Z80 board is with the Altair front panel, particularly the 8800c front panel. How close the timing of signals generated by the Z80 board matches the timing of the original MITS 8080 CPU board will make a big difference. In the case of the CCS 2810, it looks like they got it right. 

Reply all
Reply to author
Forward
0 new messages