ZX80 Core - new ZX80 motherboards

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
Rink
Posts: 165
Joined: Wed Jun 27, 2012 5:48 pm

Re: ZX80 Core - new ZX80 motherboards

Post by Rink »

Yep - i'm interested. Will chat with a friend tomorrow, he'll probably want one too.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX80 Core - new ZX80 motherboards

Post by PokeMon »

While reviewing the ZX80 schematics and board/layout with the documentation from Grant Searle I found two missing diodes D1 and D2.
They seem not to be used (later) and they are not placed in schematics.
The 2 diodes are connected in series between GND and 5V, not in flow direction.
First I thought at a protection against voltage reversal.
Then I found this small metal strip in the picture of the keyboard membrane.
Clipboardaa.gif
Clipboardaa.gif (66.17 KiB) Viewed 4717 times
I have seen such a strip on an old ZX81 keyboard membrane (not sure if selfmade).
The metal stripe is connected between the 2 diodes.
Now I think this has to do with eliminating possible static charge. Or to avoid keyboard noise due to high impedance. Not sure.

Does anybody here know more about it ?
Maybe Rich because he produced the keyboard membranes ?
Have there been ZX80 or ZX81 with metal strip in the keyboard foil ?
On the board/layout there is a wide and long strip to hold contact to the upper border of the membrane. :)
gozzo
Posts: 452
Joined: Fri Jul 08, 2011 8:52 pm

Re: ZX80 Core - new ZX80 motherboards

Post by gozzo »

I would be interested in one too! As for those 2 diodes, I'll have a look at my zx80 when I get chance..
Lee Hart
Posts: 48
Joined: Fri Mar 19, 2010 11:00 pm

Re: ZX80 Core - new ZX80 motherboards

Post by Lee Hart »

Very nice, Pokemon! It sounds like it will be a very distinctive board with the white soldermask and black silkscreening.

I am working on exactly the same project, so perhaps we can collaborate. I am making a rev.B version of the ZX80 board I produced a couple years ago. Have you perhaps looked at it? There may be some useful ideas. Things I did:

- Increased RAM size to 32k.
- Increased ROM size to 32k.
- Reduced the chip count from 22 to 19 ICs.
- Used as much 74HC as possible to reduce power.
- Added a more robust expansion socket, with pins for ZX81 adapter.
- Added logic probe to aid testing and debugging.
- Replaced RF modulator with direct video output.
- Made pad sizes, spacings, and trace widths as large as possible for easy soldering.
- Have only had time to look at yours briefly.
- Support both RWAP's overlay and separate tactile switches.

I see some of these things on your board as well (great minds think alike). :-) It looks like the main difference is that you are aiming to exactly copy the Sinclair ZX80, while I am making changes that I hope will make it cheaper and easier to build. Also, I am in the USA and it sounds like you are in Europe? Since shipping costs so much today, our boards will probably go to different customers.

On diodes D1 and D2: Yes, they are for static protection. The keyboard overlay has a metalized layer. If you have built up a static charge and touch the keyboard, these diodes provide a discharge path without it going through an IC (which could damage it).

On resistors R13-17: Sinclair used 47k. I tried this, and found it is too high, and you don't get proper TTL levels. We had erratic keyboard operation unless U10 was chosen carefully. Try a lower value, like 10k.

I'm excited to see so much activity on the venerable ZX80!
acsi
Posts: 48
Joined: Tue Apr 23, 2013 12:03 pm
Location: New Zealand

Re: ZX80 Core - new ZX80 motherboards

Post by acsi »

I just checked my ZX80 and see that although there are markings for D1 and D2 neither are fitted.
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX80 Core - new ZX80 motherboards

Post by 1024MAK »

On Sinclair's ZX80 assembly instructions, diodes D1 and D2 are listed as "D1 & D2 are not used". A cost saving when they found that ZX80's survived even if they were not fitted?

@ PokeMon, looking at resistors R13-17 on your schematic, I don't see a connection to +5V / Vcc :shock:

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX80 Core - new ZX80 motherboards

Post by PokeMon »

Lee Hart wrote:It looks like the main difference is that you are aiming to exactly copy the Sinclair ZX80, while I am making changes that I hope will make it cheaper and easier to build. Also, I am in the USA and it sounds like you are in Europe? Since shipping costs so much today, our boards will probably go to different customers.
Well the idea was born a few month ago. I heard about the board you did maybe 2 years ago and Paul showed it to me on the last ZX team meeting in april 2013. So my approach is a little bit different but wasn't planned to get into competition with you. ;) I want the board optical identical to the old ZX80 layout and use exactly the same circuits even same pins used for single gates. There are a few differences regarding RAM and ROM due to availability and a little option to play with. But I want to keep most like original. Even should look a little bit nice, not the standard green IT stuff you get saturated after some time. And yes you guessed right, I am located in Europe/Germany.
Lee Hart wrote: - Used as much 74HC as possible to reduce power.
I don't know why you use HC devices instead of HCT devices with TTL compatible inputs. They are internally CMOS designed and inputs are TTL compatible. And there is a different input design, hysteresis and so on. I guess that's maybe the source of problems with the keyboard, also I wouldn't use the 1N4148 and would prefer shottky diodes like BAT46 or similar. I followed the discussion a little bit in your thread but can not understand the problems with the keyboard at all as this can be measured out very easy with a multimeter because a key stroke is very slow and can go for seconds or minutes. ;)

Lee Hart wrote: On diodes D1 and D2: Yes, they are for static protection. The keyboard overlay has a metalized layer. If you have built up a static charge and touch the keyboard, these diodes provide a discharge path without it going through an IC (which could damage it).
Yes i thought something like that - at least this was planned. I only once saw really a keyboard membrane with a metal stripe on it.

Lee Hart wrote: On resistors R13-17: Sinclair used 47k. I tried this, and found it is too high, and you don't get proper TTL levels. We had erratic keyboard operation unless U10 was chosen carefully. Try a lower value, like 10k.
Well that's the problem above. I think this can be solved easy, see my thoughts above. I will simply measure this out.
Last edited by PokeMon on Tue May 07, 2013 6:35 pm, edited 1 time in total.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX80 Core - new ZX80 motherboards

Post by PokeMon »

1024MAK wrote: @ PokeMon, looking at resistors R13-17 on your schematic, I don't see a connection to +5V / Vcc :shock:

Mark
Okay, don't worry - you can not see as I just changed the net to VCC and didn't display the net name.
And when I do the manual routing I would get attention on a non-connected pin. 8-)
Lee Hart
Posts: 48
Joined: Fri Mar 19, 2010 11:00 pm

Re: ZX80 Core - new ZX80 motherboards

Post by Lee Hart »

PokeMon wrote:... I heard about the board you did maybe 2 years ago and Paul showed it to me on the last ZX team meeting in April 2013. So my approach is a little bit different... I want to keep most like original. Even should look a little bit nice, not the standard green IT stuff you get saturated after some time...
I think it is a good plan. There will be people who want an exact replacement. I like the idea of making it a different color; that way, people won't try to pass it off as an "original" to cheat someone.
PokeMon wrote:I don't know why you use HC devices instead of HCT devices with TTL compatible inputs.
HC and HCT are essentially interchangeable. There is no internal difference. Many manufacturers just make one part, test its input threshold voltage, and mark it HC or HCT depending on whether it is high or low. I am striving to use all CMOS (no old TTL parts), in which case HC, HCT, AHCT, AC, etc. are all interchangeable.
PokeMon wrote:I guess that's maybe the source of problems with the keyboard, also I wouldn't use the 1N4148 and would prefer Schottky diodes like BAT46 or similar.
The root cause is that Sinclair's cheap design does not meet TTL logic level specs at the inputs of U10. When a key is pressed, a logic "low" (on A8-A15) goes through a diode (D3-D10) to pull a resistor (R13-R17) and an input of U10 low. But the diode's forward voltage drop plus the "low" from the Z80 is more than 1 volt at the input of U10. This may, or may not be low enough for it to recognize it as "low" (the spec is 0.8v or less). It depends on the specific chip you use. Some work, and some don't. The problem is most easily seen with the SHIFT key.

But there is more to it than that. I can select a CMOS part for U10 that has a high input threshold (like 2.5v), and it *still* may not work. Lowering the values of R13-R17 helps, but I don't know why. Changing D3-D10 to Schottky or germanium diodes also helps. But it *still* does not work with all chips! I do not know why.
PokeMon wrote:...can not understand the problems with the keyboard at all as this can be measured out very easy with a multimeter because a key stroke is very slow and can go for seconds or minutes.
It is not that easy. There is a lot of noise on the address bus, as it is constantly going high/low. The only time that the value on the address bus matters is at the *instant* the software reads U10. You need a pretty fast oscilloscope to look at what happens at this instant. And part of the challenge is that as soon as I connect my scope probe, it changes the problem!
PokeMon wrote: (re: diodes D1 and D2 are for static protection...) Yes i thought something like that - at least this was planned. I only once saw really a keyboard membrane with a metal stripe on it.
I think some Sinclair engineer put D1 and D2 in because they reduce problems from electrostatic shocks. But (as usual) some accountant took them back out to save a few pennies. "The customer won't notice, and if he does, we can charge him for repairs or replacements."
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX80 Core - new ZX80 motherboards

Post by PokeMon »

Lee Hart wrote: HC and HCT are essentially interchangeable. There is no internal difference. Many manufacturers just make one part, test its input threshold voltage, and mark it HC or HCT depending on whether it is high or low.
They are interchangeable from logic function but have not (definetely not !) internal design and not same data characteristic. Do you ever read datasheets ?
HCT's treshold voltages are very close to TTL and very different to HC.
Take a look here.
http://www.interfacebus.com/voltage_threshold.html
The internal design is completely different and the HCT series are made for 5V operation voltage only as the HC series allows a wide range of operation from 2.0 Volts to 6.0 Volts. Try to compare HC and HCT at a different supply voltage and you will be surprised about their behaviour.

Lee Hart wrote: The root cause is that Sinclair's cheap design does not meet TTL logic level specs at the inputs of U10. When a key is pressed, a logic "low" (on A8-A15) goes through a diode (D3-D10) to pull a resistor (R13-R17) and an input of U10 low. But the diode's forward voltage drop plus the "low" from the Z80 is more than 1 volt at the input of U10. This may, or may not be low enough for it to recognize it as "low" (the spec is 0.8v or less). It depends on the specific chip you use. Some work, and some don't. The problem is most easily seen with the SHIFT key.

But there is more to it than that. I can select a CMOS part for U10 that has a high input threshold (like 2.5v), and it *still* may not work. Lowering the values of R13-R17 helps, but I don't know why. Changing D3-D10 to Schottky or germanium diodes also helps. But it *still* does not work with all chips! I do not know why.
Well in that point you are right I think, didn't thought about the speed of address bus. Anyway this could be solved and easily managed with a custom program in FAST mode and a special written keyboard input routine. That's how I would solve this problem. You can read the key maybe all 20 microseconds and scan with a scope what happens. Quite easy to do. Just a IN instruction in a loop. ;)

Lee Hart wrote: It is not that easy. There is a lot of noise on the address bus, as it is constantly going high/low. The only time that the value on the address bus matters is at the *instant* the software reads U10. You need a pretty fast oscilloscope to look at what happens at this instant. And part of the challenge is that as soon as I connect my scope probe, it changes the problem!
Well then it seems to be a capacitive problem. But with a 10:1 probe shouldn't affect measurings too much.
Post Reply