No video

Z80 Computer - Part 9 Fast Clock

  Рет қаралды 2,519

Steve Rayner Makes

Steve Rayner Makes

Күн бұрын

Taking a look at a slightly more complex input program, I realise that I really need a fast clock option. Ideally, a high-frequency crystal oscillator signal that can be divided down to more manageable speeds.
After a suggestion from a viewer, I decided to look at the CD4060 integrated circuit. With this IC I can make the high-speed oscillator circuit and divide it down all with one chip.
I go through the new program line by line, then try it out using the slow clock. I then connect up the fast clock and demonstrate the difference it makes.

Пікірлер: 28
@boredfish80
@boredfish80 3 ай бұрын
Loving the series so far. Ben Eater’s is awesome but quite slow paced (lower level, I guess, so more minute detail). So it’s nice to see the same kind of thing from a higher level and is much easier to follow! As an 80s guy who owned a Spectrum it’s extra special :) +1 sub
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
thank you, much appreciated
@vanhetgoor
@vanhetgoor Жыл бұрын
Don't make the clock too fast! Time passes by in the wink of an eye, it is over before you notice it. I still remember when I was in school, hobbying with electronics. Then came computers with 600 kHz clock, later on with 900 kHz and even ONE MEGAHERTZ! Society should have stayed there, back then times were good, girls were girls and men were men, mister we could use a man like Herbert Hoover again.
@nand3kudasai
@nand3kudasai 8 ай бұрын
great video ! one suggestion: * id put output after input. so that you always output new values right away instead of looping before. same result, quicker. * id do this: loop: call input cp d jr z, loop call output that way the inout loop is tighter (faster) and only bothers to update output if it has changed. maybe close to twice as fast to detect your inputs being optimistic. also you might have made up and down as subs instead of labels and call them inside loop, though that will make them slower. but it might mke it easier to understand and modify.
@nand3kudasai
@nand3kudasai 8 ай бұрын
i realized youd need to refactor the logix a bit. loop: call input cp d jz z, loop call output input: previous code jr forgot call up cp ... jr skip next instruction call down ret
@SteveRaynerMakes
@SteveRaynerMakes 7 ай бұрын
Thank you. I very much appreciate the feedback. It's nice that we are finally discussing coding rather than mainly looking at hardware. Feels like things are progressing. I will be doing a larger keyboard soon, so maybe I could introduce some of these ideas.
@ChrisSavageEngineer
@ChrisSavageEngineer Жыл бұрын
Crystal load issues is why I use TTL oscillators. They require 5V and put out a fairly nice square wave at the specified frequency.
@blitmasters
@blitmasters Жыл бұрын
Another great video and something that addresses exactly what I've been thinking about. 🙂
@LearnAgon
@LearnAgon 2 ай бұрын
This is very nice 👍 🎉
@melkiorwiseman5234
@melkiorwiseman5234 Жыл бұрын
It's "megohm" and not "meggerohm" although there actually is an instrument known as a "megger." It's short for "megohmmeter" and it's used to test insulation under a high voltage to ensure it won't break down and short out a circuit under high voltage.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
I'm afraid I will always refer to it as Mega Ohm. Ohm is the base unit and Mega is the SI prefix for ten to the power of six. Do you refer to RAM size in terms of Meg bytes? And yes I'm fully aware of the company Megger. I used their equipment for portable appliance testing back in my electrical engineering and manufacturing days. Boy that was a long time ago now.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
There are a few mistakes on my schematic. R6 should say 2.2K not 220k, and it's also in the wrong position (see synthnerd4539's comment below). Also pin 12 master reset should be connected to ground, not to the +5v.
@PE4Doers
@PE4Doers Жыл бұрын
Steve, I added a 'Like'' here - the last one I originally missed, sorry 🙂
@synthnerd4539
@synthnerd4539 Жыл бұрын
I'm watching these in order so don't know yet if you resolved this, but there's an error in your oscillator section, at least on the schematic - R5 should be across the crystal, and R6 should go from one end of the crystal to the 4060, as per the datasheet - your schematic has it with R5 and R6 in series across the crystal. Secondly I would just point out for reference if anyone needs the formula for capacitor selection based on the specs of the crystal, and I've seen a lot of demos/guides using arbitrary values for these, there's a useful application note number AN2867 by ST, see pp.11-13 for a good clear description.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
It seems I made quite a few mistakes in this video. No, I had not realised that error. Thank you for pointing it out. Thinking about the resistances involved I imagine it doesn't make much difference. Which is probably why it still seems to work ok. But you are quite right and I will get it corrected. I'll give you a shout-out in a future video.
@synthnerd4539
@synthnerd4539 Жыл бұрын
@@SteveRaynerMakes yeah there's probably a good margin... I'm enjoying the project, and look forward to seeing how the rest works out. Hoping to get stuck in to a z80 computer of my own before long. Thanks for posting!
@vvtor
@vvtor 7 ай бұрын
So the reason why count doesn't just run when you press up and down buttons is that in the code you look for changes in the button state and not the state of the button in that moment.
@SimonParkes
@SimonParkes Жыл бұрын
Great video and great explanation, thanks, I was however wondering, is there a need for debounce on the switches, unsure at what frequency you may start to see it.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
That's a very good point. I'm not sure. We do have the buffer in between the switch lines and the data bus, but whilst that will filter out a small amount of noise I don't think it will fully debounce the switches. I'm not seeing an issue right now, but I'm not sure if it might start showing up at higher frequencies. I'm leading up to a keyboard matrix. I've never seen any hardware debouncing on keyboard matrix circuits. It's possible people just deal with it in software. I'll try to do some experimenting.
@SimonParkes
@SimonParkes Жыл бұрын
@@SteveRaynerMakes Would be an interesting experiment to try and identify at what frequency you see this, if at all..
@edabean007
@edabean007 Жыл бұрын
Great content yet again! thank you. Give a 4Mhz crystal a go with something like a CD4049U(not a Fairchild or Onsemi). I'm pretty sure it will run, i have seen rats nest wire wrapping run a z80 that fast and your wiring looks more than fine for these speeds.
@diddyman1958
@diddyman1958 Жыл бұрын
I was watching the LED on A8 while you were going up and down RAM/ROM. It seemed to be on (dim) whilst in ROM but randomly came on and off while you were in RAM. I was trying to think of a scenario that might lead to this observation but I could not. I would be fascinated to find out what was causing it.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
Yes, a bit baffling. Almost certainly a wiring issue somewhere, but it doesn't seem to affect the functionality. It would not be the first time that I thought things were working ok, but actually, there was a fairly fundamental issue hiding in there.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
Makes me wonder if that line is actually A15, not A8. But I don't think it totally explains it.
@SteveRaynerMakes
@SteveRaynerMakes Жыл бұрын
I think all is OK. I believe it is the stack pointer. I single-stepped through it and it seems to be memory read and memory writes to addresses FEFF and FEFE. I initialise the SP to FF00. So it's one and two bytes below that address. It's really easy to notice A8, but by single stepping I could see it's also with and without A0.
@diddyman1958
@diddyman1958 Жыл бұрын
@@SteveRaynerMakes Ah, that makes sense! Thank you.
@PE4Doers
@PE4Doers Жыл бұрын
By the way Steve, I subscribe at Episode 4 😉
Z80 Computer - Part 10 Designing a Number Pad
44:20
Steve Rayner Makes
Рет қаралды 2,2 М.
Building a Z80 Computer - Clock and Reset
30:26
Stuart Patterson
Рет қаралды 220
Yum 😋 cotton candy 🍭
00:18
Nadir Show
Рет қаралды 7 МЛН
CHOCKY MILK.. 🤣 #shorts
00:20
Savage Vlogs
Рет қаралды 30 МЛН
Кадр сыртындағы қызықтар | Келінжан
00:16
ROLLING DOWN
00:20
Natan por Aí
Рет қаралды 10 МЛН
Running MSBASIC on my breadboard 6502 computer
36:53
Ben Eater
Рет қаралды 208 М.
Z80 Computer - Part 8 Testing Input
27:09
Steve Rayner Makes
Рет қаралды 3,2 М.
Troubleshoot VFD
9:58
Jose Luis Monteiro
Рет қаралды 130
I tried finding Hidden Gems on AliExpress AGAIN! (Part 5)
14:11
GreatScott!
Рет қаралды 1,1 МЛН
{66} Doing Z80 IO ??   CLAIM YOUR BONUS BYTE !!!
12:54
Hello World
Рет қаралды 2,2 М.
Z80 Computer - Part 11 Operating The Keypad
28:35
Steve Rayner Makes
Рет қаралды 4,5 М.
Fun with Transistors
24:33
HackMakeMod
Рет қаралды 208 М.
Z80 Computer - Part 7 Keyboard Layout
22:50
Steve Rayner Makes
Рет қаралды 3,4 М.
Pony80 - Z80 CPU Architecture - My Z80 homebrew computer!
26:37
Yum 😋 cotton candy 🍭
00:18
Nadir Show
Рет қаралды 7 МЛН