Amazing explanations and design. One of the best implementation of Z80 ever seen. Thank you!
@JohnsBasement2 жыл бұрын
Thanks for saying so! You're very welcome!
@ricande2 жыл бұрын
Love the humor @9:00 :D It will drive everything nuts downstream of this thing.. :)
@JohnsBasement2 жыл бұрын
:-D
@rene-jeanmercier65173 жыл бұрын
Hi John. This is excellent and a much appreciated design. Notice though that the (hystheresis) is only (min=0.4 / max=1.4/1.5) on the HCT132 with a positive threshold (Vt+) of 1.4/1.5 and a negative threshold (Vt-) of 0.5/0.6. To get hystheresis closer to GND and VCC as you described you need a voltage comparator like the LM397 or an opamp like the LM358 mounted as a voltage comparator with hystheresis feedback resistor. King regards, RJM
@JohnsBasement3 жыл бұрын
Yeah... I might have exaggerated a bit on the thresholds. But it is wide enough to clean it up. It was a noise-fest with a '00 part.
@rene-jeanmercier65173 жыл бұрын
@@JohnsBasement Keep up with this enjoyable series of videos. I am the owner of an Altair and an IMSAI in working conditions (;-)). Regards, RJM
@JohnsBasement3 жыл бұрын
@@rene-jeanmercier6517 Thanks! I never had an Altair. But I do have a nice IMSAI around that I tinker with from time to time.
@microhobbyist2 жыл бұрын
Have you considered the DS1813 reset circuit IC? It's a single TO-92, it saves on space, and is open-drain.
@JohnsBasement2 жыл бұрын
Not yet. I'll add it to the idea list for my next generation design though!!
@obiwanjacobi3 жыл бұрын
@12:40 Pro tip: you have to release /RESET in order for the Z80 to honor a /BUSREQ. Takes a few T-cycles. [2c]
@JohnsBasement3 жыл бұрын
You are correct! It turns out that the Z80 will yield the address & data lines during /RESET but not the control lines... and yes, the FLASH code on my github site leaves the /RESET asserted when it shouldn't be. I'll push up a fix for that after a get a few minutes to verify it.
@obiwanjacobi3 жыл бұрын
@@JohnsBasement Been there, done that - they were all out of T-shirts ;-)
@JohnsBasement3 жыл бұрын
😂... I'm gonna use this line!
@didgeridooblue2 жыл бұрын
When you talk about the Schmitt trigger NAND gate not being happy during power shutdown what you mean is the ESD diodes connected to the gate inputs are not going to like seeing the capacitor discharge current come roaring into the part. Diode D3 provides an alternate (and more preferred) discharge path. It's not uncommon for ESD diodes to have a rather large voltage drop, so you can skew the current through D3 by implementing a narrow input trace to U11D (more resistance) and use a Schottky diode for D3 (lower voltage drop).
@JohnsBasement2 жыл бұрын
Ah yes! I should have gone Schottky with that discharge diode! But given it is only a .47uF csp, I'm gonna let it wait until I create a new rev for other reasons.
@GregCoonrod Жыл бұрын
I just recently found this series and am really enjoying it. The level of detail you provide is helping me understand some concepts that I only had a rather fuzzy grasp of before. Question: Why not use one of the many common reset control ICs that are available today? I've used the DS1813 in some of my personal projects and find it a great solution.
@JohnsBasement Жыл бұрын
Thanks! No particular reason to use a traditional reset. I have some of these newfangled reset controllers. I figured I'd add one in a sequel some day.
@kalimgold92683 жыл бұрын
A NE555 is an alternative, also where you have potentially long signal traces & busses, especially going "off board" terminating resistors @ either end are advisable I seem to recall.
@JohnsBasement3 жыл бұрын
Yeah. The CLK signals DO overshoot more than I'd like to see. The address, control & data lines all look perfect though. I'll add some footprints for CLK terminators in Rev 4. I suspect series termination will work best here. Any thoughts? Other concerns that I have had include: - adding a daughter card /will/ turn the Z80 signals into a star - series-terminating the parallel port I'll observe that it operates reliably for days on end as it is. So how much better does it really need to be?
@kalimgold92683 жыл бұрын
@@JohnsBasement If you are aiming for multiple boards with low data xfer rates ( sub 500Khz) then does it matter? but I'm aiming for 40Mhz clock rate using 2/4 layer THT pcb's (Svga pixel clock rate and interleaved 100Mhz static ram access), I'm not sure if din41612 connectors and backplanes will be good enough (alternative is 80way Pata cables) I saw some very good high speed digital transmission Vlogs a year or so ago but didn't rip them, a quick search brings up W2AEW and Roburt Baruch video's on high speed digital transmission lines and their problems
@JohnsBasement3 жыл бұрын
@@kalimgold9268 It is not the period of the wave, it is the slew rate that is the concern. The oscillator chips have a very square wave and a low-enough drive impedance to slam the voltage up and down very quickly. Without any termination, the signal will rush down the copper track and if there is nothing along the way to dampen it before it gets to the end, it will flap around like a flag in the wind. You can see it doing that on an oscilloscope... it is called 'ringing'. So, even at 10mhz I have ringing because the clock source impedance is lower than what it is connected to. On the one hand, the ringing doesn't appear to hurt anything (because everything runs OK). But it might be close to a limit on some of the chips that could glitch in a weird way from time to time. It is one of those things where it is not a matter of 'if', it is a matter of 'how much' and is it less than the tolerance of the rest of circuit? The connectors between the PCBs can also cause a problem if their impedance is different from the copper tracks on the PCBs... and they most likely will be. cheap .1" headers are not going to be even close! DIN41612 connectors are going to be better than generic .1" headers. But how much, I don't know. I would look around for detailed specs of things that use them. Like the VMEbus and Eurocard. They will discuss recommended termination techniques and signal speeds.
@kalimgold92683 жыл бұрын
@@JohnsBasement yes, I spent a lot of time two years ago looking into if I could get high enough clock / signal rates I want but have taken this year out (from researching while doing other things and health issues) but hope to get back to prototyping after Xmas.
@microhobbyist2 жыл бұрын
Are the address and data pull-ups solely to prevent issues when some sort of assertion could be happening on the bus header? Or is there another practical issue? Also, I've heard that 3K3 is actually a better pull-up than 10K (well, at least, when designing with the 6502).
@JohnsBasement2 жыл бұрын
3.3K is probably better than 10K. But it depends on what you are pulling on and why. I chose 10K because it is what I had in stock. For a pullup on a digital line, I would not want to go higher than 10K.
@YoutubeBorkedMyOldHandle_why3 жыл бұрын
Seems I've shown up to class a bit late. Anyway ... quick question: I don't have a 74HCT132, however I have a ton of 74HC14s. I'm pretty sure the 74HC14 is okay, but I'm wondering about the HCT vs HC. From what I understand the main difference is the HCT requires a more precise voltage supply. Is this likely to be a problem? Or can I get away with the HC variant? Thanks.
@JohnsBasement3 жыл бұрын
The T has TTL compatible inputs... Which have a restricted voltage range. Yeah. I chose it because i did not want to add another chip to the board. I needed a nand for the reset latch. By making it a Schmitt i could use a spare gate on the reset circuit. I used the HCT because I did not see an HC with Schmitt inputs. If you are making a custom version, you can forego the fancy open collector & schmitt altogether. Just connect the switch, cap & resistor to the cpu, ctc, and sio... as seen in the Z80 user guide. Only problem there is if other circuits need a reset that dont have their own Schmitt inputs and/or if you want to generate reset from an external open collector driver like my PI FLASH programmer board.
@JohnsBasement3 жыл бұрын
I should also mention that the '14 has a different pinout than the '132 too. DO NOT expect that you can just plug one into the U11 socket and see it work properly!
@YoutubeBorkedMyOldHandle_why3 жыл бұрын
@@JohnsBasement Okay, thanks ... this makes perfectly good sense; kill 2 birds with 1 chip. Unless I run out and buy more parts, I may need to add an extra nand. But it's still early. I'm only on your 5th video. By the time I'm caught up, maybe I'll have some other ideas. I'm not worried about the different pinout. I'll probably redo much of the board with SMD anyway. I really appreciate your efforts. For me, this isn't a mad dash to build a retro computer ... it's about learning how to do it.
@JohnsBasement3 жыл бұрын
@@KZbinBorkedMyOldHandle_why feel free to keep me in the loop. I'm interested in where you end up going with your project. You likely know there are 0lenty of other retro Z80 boards out there. If you find is a better fit for your project then please let me/us know about it!... and why, ofcourse.
@JohnsBasement3 жыл бұрын
I got a message (out of band) about the inclusion of a current-limiting resistor (lower case-r in this diagram: en-support.renesas.com/knowledgeBase/16980878) to protect the diode & push button. In general, it would be a good idea. However, I assumed that shunting a .1uF capacitor would not be enough to damage the switch. I also expect that a 1N4148 diode is capable of passing anything that C20 (.1uF) can offer into the +5 rail before the current gets out of hand. Any thoughts on this? Should I add a current-limiting resistor in between C20 and D3/S1?
@jrkorman2 жыл бұрын
Been a few months - just saw you video. I'm looking at the schematic for my old PMC-101 Z80 (circa 1983) and the reset circut is nearly identical. Uses a 10K resistor in parallel with a 1N914 diode using a 4.7uf capacitor and using an RS flip-flop to debounce the Reset switch. This board however does not allow external resets to occur, it only sources the signal.
@JohnsBasement2 жыл бұрын
@@jrkorman 4.7? 🙄. Yeah, in a revision I changed mine to .47 in a rev after I found one of my USB supplies ramped up slow enough to defeat a .1
@jrkorman2 жыл бұрын
@@JohnsBasement Yes - Very clearly 4.7 uf on the schematic; even marked to show it as an electrolytic. And then right into a 7408 AND gate; no schmitt trigger. Oh, I've just subscribed also. Your channel was suggested this morning, like what I see!
@JohnsBasement2 жыл бұрын
@@jrkorman Well, raise it as needed. The schmitt is not needed if you're only going to reset the Z80 and Z80 family chips because they're spect to be reset without a cement trigger. But if you're going to use reset for anything else, you might want to clean edge.