Thinker Toys Keyed-Up 8080

mamorim01

Member
Oct 11, 2020
33
23
8
Spain
www.thegarage.space
I think this barely qualifies as a home computer but it was at the front of the queue to be repaired or, at the very least, looked into. This is an S-100 board, fitted with an 8080 processor and some very simple front panel and display. It was designed by George Morrow, who would move on to design a number of Z80 CP/M (MD-1) and 808x computers through Morrow Designs. Again, I guess calling this one a home computer would be a stretch, but anyways. It is also not operational, for reasons yet unknown.

The 8080 is a weird processor when compared to other 8 bit CPUs, it requires three different voltages (+5V, +12V and -5V) and two different clocks (phi1, phi2). It is typically paired with an 8224 clock generator which, besides the two clock signals, also provides or forwards a number of useful signals (RESET, etc). I have tried to narrow down the potential issues by testing the logic chips with my EPROM programmer, and using a poor man NOP generator (bringing data lines to GND through a small resistor at the CPU). Voltages are okay, clocks and most other important signals also look okay, and I can also reset the CPU just fine, but there is something wrong going on with the address lines. I have barely started with the process during the weekend so there is still some ground to cover.



Borked display upon startup.



Poor man NOP generator trying to do its thing.



Poor man scope peeking at clock signals.

 
Last edited:
  • Like
Reactions: Elf

Elf

Storybook / Retired, ex-staff
Feb 4, 2019
792
252
63
Mountain West (US)
Interesting board indeed, it reminds me a lot of the modern day Z80 and 6502 homebrew projects that I see fly by on occasion :)

I had to look up the reason behind the 8080's voltage requirements:
[...] it is implemented in N-type metal-oxide-semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads] thus demanding a +12 V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V.
Wow, all the things I forgot about early MOS based logic!

Was it designed to be paired up with other accessory boards on the S-100 bus? I noticed the keypad seems a little limited for program entry.
 

mamorim01

Member
Oct 11, 2020
33
23
8
Spain
www.thegarage.space
Yes, the 8080 is a bit of an odd duck. This board used to compete with both Altair and IMSAI offerings, but it did not get very far at that. I do not think they were able to escalate production, at least you do not get to see them much in the wild and when you do, it is typically as a separate board and not as part of a build. Besides, you may have noticed that the keypad (and the display) is meant to take input in octal format (hence only digits 0 to 7 are needed) which was quite a weird decision and which may not have helped sales much.

Yes, it can be installed together with other expansions boards (RAM, floppy drives, serial, etc) as long as they comply with S-100 bus specs and you manage to get them to talk to each other. In fact, you could even have two boards fitted with an 8080 processor each, whereas one of them could be set as slave and effectively disabled (the CPU on the other board would act as master on the bus and take over) while still allowing for the rest of the components on the slave board to operate. Pretty cool for a system created in the mid 70s.

You can find one such system at the following link.


In a way, the front panel is arguably better for certain things to peek at addresses than Altair's solution, where you would have to flip switches and decipher blinking lights. But anyways, I digress.

I have always appreciated homebrew projects and expandable systems such as this one. You could mix and mash components from different suppliers and they would just work, as long as you could get them to talk to each other, that is.

I think I have narrowed down the faulty part to the 8224 clock generator. This component provides both needed clocks, but also three key signals directly to/from the CPU (RESET, READY and SYNC). When you flip the reset switch, you do not directly act on the reset pin of the CPU, but trigger the 8224 who would, in turn, trigger two of these three signals feeding them to the CPU. However, nothing happens when the reset switch is flipped, which would suggest that the 8224 is faulty. If you manually ground the RESET pin of the CPU, however, the LED display changes to the following pattern which is the correct sequence expected upon reset. The board remains frozen, though. I suspect this is due to the other two signals being stuck at the 8224, which is consistent with the probe reading. I am still going through the 8224 datasheet, but everything seems to point this way. Small progress, but it is still progress, anyways.

 
Last edited:
  • Like
Reactions: Elf

Elf

Storybook / Retired, ex-staff
Feb 4, 2019
792
252
63
Mountain West (US)
Besides, you may have noticed that the keypad (and the display) is meant to take input in octal format (hence only digits 0 to 7 are needed) which was quite a weird decision and which may not have helped sales much.
Oh, so that's why the keypad looked bare. I hadn't even thought of that, but it seems obvious in retrospect :)

Excellent investigative work with the clock generator, and a very interesting board and ecosystem! I love the gigantic capacitors and transformer on the linear power supply, in the example machine!
 

mamorim01

Member
Oct 11, 2020
33
23
8
Spain
www.thegarage.space
Yeah, those are some big caps! Voltage levels at the backplane are within acceptable range of the 7805/7812 voltage regulators which are located on the different boards, but other than that each PSU was essentially homebrew, and these would tend to vary wildly.

Anyways, I think it is confirmed. The start-up sequence begins with a RESET so as to clear the program counter, stack pointer, and other registers from random garbage. The 8224 sets RESET to HI to trigger the reset, but instead of dropping it to LO in a few clock periods, it remains stuck. I have kind of fixed it by jump-starting it with a piece of wire. I let the system start normally and then connect the RESET pin of the 8080 (pin 12) to GND (pin 2) and leave it there. In order to properly start-up, the bridge needs to be disconnected so as to allow the initial HI to take place. It somehow also seems to sort out the other shenanigans going on with the READY signal. Of course, it is just a temporary fix until I can procure a new 8224 and investigate properly, but it works a treat.

 
Last edited:
  • Like
Reactions: Elf

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu