Z80 Computer Part 20 - VRAM Timing
32:51
Z80 Computer - Part 19 Video RAM
18:39
Z80 Computer - Part 17 VGA Colours
23:23
Z80 Computer - Part 16 Live Coding
20:10
Z80 Computer - Part 9 Fast Clock
29:47
SN74HC244N Octal Buffer
11:32
Жыл бұрын
Interfacing with an SD Card
28:04
Жыл бұрын
Z80 Computer - Part 5 Adding RAM
22:36
Z80 Computer - Part 3 Output
27:10
2 жыл бұрын
Z80 Computer - Part 2 Adding ROM
41:15
3D Printed Screwdriver Holders
14:22
2 жыл бұрын
December Mailbag
9:20
2 жыл бұрын
November Maker Mailbag
18:13
2 жыл бұрын
74HCT04N Crystal Ocsillator Circuit
11:05
October Maker Mailbag
30:34
2 жыл бұрын
AS6C62256 32K SRAM Integrated Circuit
18:04
September Mailbag
15:47
2 жыл бұрын
Пікірлер
@kevinwhitcomb4495
@kevinwhitcomb4495 9 күн бұрын
has anyone built this robot with linear actuators instead of servos to make the arms thinner?
@arecproject6719
@arecproject6719 14 күн бұрын
Hi, I'm writing to you because I bought a box with thousands of components in a flea market, I understood that there was something good in the middle. in fact I managed to find different versions of the z80, as well as intel 8041,8085,8088,8086, ram, rom, eeprom, plus hundreds of TTLs as well as thousands of transistors, capacitors, .... etc. I wanted to know if you could help me choose the best versions of components and build a computer from scratch. It has always been a passion of mine. If you want I'll send you photos of the components I found, I'm cataloging them.. I hope you can help me, thanks...
@SteveRaynerMakes
@SteveRaynerMakes 14 күн бұрын
That sounds like an awesome pick up. I would love to build computers based around all of those ICs. Unfortunately I know next to nothing about the 80xx series of CPUs. That's one reason I went with the Z80, because I had some past experience. My advice would probably to start small with something simple. Try to find an existing project design that you can copy. If you have any specific questions I would do my best to try to help. But bear in mind my knowledge is probably not that much better than yours. If you go to my channel page and click the little arrow to expand the description you will see my about page where you can view my email address. Feel free to drop me an email.
@johnbrogan6583
@johnbrogan6583 16 күн бұрын
is your EPROM programmer similar to the scratch built one that Ben Eater used?
@SteveRaynerMakes
@SteveRaynerMakes 15 күн бұрын
Similar, but not the same. Mine uses the TommyProm design which can be found here: tomnisbet.github.io/TommyPROM/
@johnbrogan6583
@johnbrogan6583 15 күн бұрын
@@SteveRaynerMakes thank you
@EDP1
@EDP1 17 күн бұрын
HI how does the robcap mounted on the elbowplate ? pls
@SteveRaynerMakes
@SteveRaynerMakes 15 күн бұрын
I assume you mean RobCap and ElbowShaftGear. These are only held together with glue. I imagine I used superglue.
@janakasilva9207
@janakasilva9207 18 күн бұрын
Sir im getting the error invalid signature connection is correct.
@pevkh8359
@pevkh8359 20 күн бұрын
Can I get The link to The key set you bought
@SteveRaynerMakes
@SteveRaynerMakes 20 күн бұрын
Checkout the description in part 10 for all the links .
@pevkh8359
@pevkh8359 20 күн бұрын
I love your Videos
@synthesizer.repair
@synthesizer.repair 22 күн бұрын
Brilliant explanation.
@EDP1
@EDP1 23 күн бұрын
hi may i ask witsh version of shoulder you use ? V1/V2/V3/V4/V5/V6 ? thank you
@SteveRaynerMakes
@SteveRaynerMakes 23 күн бұрын
Each part has it's own version number. My notes can be found here: inmoov.civrays.com/build/shoulders
@quieneressomoslegion930
@quieneressomoslegion930 24 күн бұрын
Friend, I have a big question, I have a BTS7690 module that is used to control the direction of a DC motor, but the SN54HC244 integrated circuit has continuity in the VCC and GND pin (pin 10 and 20), is it in another circuit? I would appreciate your help friend
@thekraftyguy8246
@thekraftyguy8246 25 күн бұрын
Where the piston blocks connect to the front and back, put some grease in there
@laithal-athary9932
@laithal-athary9932 29 күн бұрын
same nostalgia and same dream to build my own computer
@EDP1
@EDP1 Ай бұрын
hi whats the name of the lower cover lock ?
@mikekaffetzakis
@mikekaffetzakis Ай бұрын
Hello Steve the subroutine found_bit is wasting memory and speed on line 21 put JR NC, OUTPUT, add on OUTPUT the DEC B and get rid of the found_bit sub
@mikekaffetzakis
@mikekaffetzakis Ай бұрын
Steve the HC is a cmos version is not ttl . The H is HIGH SPEED CMOS better use the HCT series HIGH SPEED CMOS TTL compatible
@mikekaffetzakis
@mikekaffetzakis Ай бұрын
Hello there nice work i like it you mistake with the RESET line is that there is not enough time for the Z80 to reset. You have to keep the reset asserted for minimum 6 clocks, my suggestion is to put a 10k resistor and a 10 μF capacitor in parallel with the reset button like the manual clock, because your clock is way too slow.
@SteveRaynerMakes
@SteveRaynerMakes Ай бұрын
Hi thanks for your comment, it's nice to get feedback. Yes you are correct, the clock is too slow so we need to hold the reset line low for longer. The problem is we don't know what speed the clock will be running at, also we might be in single step mode. We need a proper solution that will count the number of clock cycles and hold the reset line low until we have seen about 4 clock cycles. I've seen a nice solution for this, but never got round to implementing it. I really should have put in a solution right at the beginning of the project.
@mikekaffetzakis
@mikekaffetzakis Ай бұрын
Steve if you see the ZX Spectrum 48 k is using a pull up resistor with 220k value and a 1μF capacitor and the clock is at 3.5 MHz so the capacitor is small but the resistor is big that is make the capacitor to charge slowly so the reset line takes more time to reach the 5V. I do not remember the plus 2 A or plus 3 what values they are using but I can look at the schematic when I go home
@thekraftyguy8246
@thekraftyguy8246 Ай бұрын
Take out the potentiometer, readjust to the centre, and rotate the gear till it all fits together properly
@LearnAgon
@LearnAgon Ай бұрын
This is very nice 👍 🎉
@onurolce
@onurolce Ай бұрын
I've looked many keypad PCB schematics and nobody used diodes in their design. Just some of them used PU/PD resistors. So can you explain what is the reason you have used diodes ?
@SteveRaynerMakes
@SteveRaynerMakes 15 күн бұрын
It is to prevent key ghosting. This is when a key appears to be pressed when it is not. It is caused when several keys are pressed at the same time. The diodes prevent the electrical current traveling backwards to another column through a pressed switch.
@onurolce
@onurolce 9 күн бұрын
@@SteveRaynerMakes thanks for explanation.
@boredfish80
@boredfish80 Ай бұрын
I have a reasonable grasp of assembly so almost skipped over this one. Glad I didn’t; I wrote a Spectrum emulator and this made me check the stack handling logic. Turns out that I was decrementing the stack pointer AFTER each byte was added - which still works 99% of the time as my POP code matched, but now and again was clattering something when running larger programs. A quick change, one less bug to fix and at least two programs no longer freezing up!
@SteveRaynerMakes
@SteveRaynerMakes 15 күн бұрын
awesome.
@boredfish80
@boredfish80 Ай бұрын
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 Ай бұрын
thank you, much appreciated
@durgaparshad1928
@durgaparshad1928 2 ай бұрын
Hello sir.. I want to know that programme burn in these ics?
@CAPTINKING
@CAPTINKING 2 ай бұрын
any more robots? quite like the one you made 2 years ago
@SteveRaynerMakes
@SteveRaynerMakes 2 ай бұрын
It's still there. I just need to motivate myself to continue working on it.
@marcusklinkenvan5391
@marcusklinkenvan5391 2 ай бұрын
Recently I started a little 8 bit breadboard computer project with the w65c02. Much fun with the literal 0`s and 1`s right on the chips little legs. I also more recently got hold of 6 circuit boards from some communication system, It holds a D780C-1 processor. Turns out I am now the proud father of 6 Z80 oem CPU's. So a search on yt got me here for a Z80 project, Subbed and bookmarked for later.
@electronicsamateurs7662
@electronicsamateurs7662 2 ай бұрын
You should add the zilog z0860008psc chip to your computer
@nadaehab263
@nadaehab263 3 ай бұрын
thanks for this video it really helps, but should I use the level shifter if the microcontroller is STM32F103C6 since it's operating voltage ranging between 2.2 and 3.6 v and I have another question, it's written in the datasheet of the sd card connector that the operating voltage is 10v while it's vcc connected to 3.3v I didn't get that part hope you answer me and thank s for all
@SteveRaynerMakes
@SteveRaynerMakes 2 ай бұрын
I would say that if your microcontroller operates at voltage of 2.2 to 3.6 then, no, you do not need the level shifter. This will simplify things for your design. The 10v is just a maximum rating for the physical connector. Not something you need to be concerned about because I doubt you would find an SD card that operates at higher voltages. But in theory anyone could design their own cards that operate at any voltage. So it's just the connector designer telling us don't use anything over 10volts.
@robertheer4043
@robertheer4043 3 ай бұрын
Can you play a short video with a SD card on a raspberry pi Pico but also have the audio playing? I want to create a drive-in theater for my train layout.
@sammohan4954
@sammohan4954 3 ай бұрын
Pls clear my Doubt Doubt
@sammohan4954
@sammohan4954 3 ай бұрын
I need 1 help sir
@sammohan4954
@sammohan4954 3 ай бұрын
I want to tack with you sir 👋 Were nice work sir
@JakeDotMp3
@JakeDotMp3 3 ай бұрын
Please excuse my naïveness as I am only a beginner. There is one thing that I do not understand. 11:11 says that we never want to be writing to the ROM chip, so why are we not connecting it to +5V? Don't we want to make it go HIGH so that it doesn't write? *EDIT:* I saw the pinned comment. I get it now. It was just a mistake.
@phils_arcade
@phils_arcade 3 ай бұрын
Love seeing and understanding the work on timings via the oscilloscope, The text on that seems very small at places on the screen. With eyesight not quite what it was, do these have outputs for a larger external screen to make it easier to read?
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
No, my one does not seem to have the option of connecting a larger screen. The font size is very small and I have seen other people complaining, but I don't think the font size is adjustable.
@jamesross3939
@jamesross3939 3 ай бұрын
Nice! Easy to understand explanations!
@Yeoman35
@Yeoman35 3 ай бұрын
Another way of mapping the video ram is to put into the i/o space. The Z80 effectively has 6kBb of i/o space since it puts the B reg on the top 8 bits of the address, so you can think of it as 256 pages of 256 bytes, You can also copy data to it using the OTDR instruction and similar which is pretty fast.
@ArneChristianRosenfeldt
@ArneChristianRosenfeldt 3 ай бұрын
This would have been cool to use on the 8088 to address palette entries or sound channels.
@jamesross3939
@jamesross3939 3 ай бұрын
Very well done. I watched a few of these a while back but i started over and want to watch the entire series.
@0toleranz
@0toleranz 3 ай бұрын
Hey Steve, if you would avoid needing to read from video ram (by the cpu that is) you could make the video ram make write only and have it parallel to the read only rom and can have 32k vram AND 32k rom
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
Yes it's a good idea and something I have thought about. There isn't really that much need for the CPU to read from video RAM. We also never need to write to ROM. However from my memory of making games on the Z80, I would often read from video ram to know what was on the screen at certain points. Usually for collision detection of the player. That would make me think I would need to retain a duplicate of the screen data in normal RAM. It is a nice idea though. There are a lot of scenarios where we never need to read from Video RAM.
@0toleranz
@0toleranz 3 ай бұрын
@@SteveRaynerMakes yes I thought about this too, but doing collision detection this way is very time consuming and if you do paint you sprites and background bitmaps all on one plane you probably would want to read back from vram anyway for proper masking. For fast flexible game graphics in an 8 bit system I would either implement at least two independently scrollable layers: background probably as tiles/multicolor text like the c64 but double the resolution and a color bitmap overlay where I paint my sprites without having to extensively mask out existing graphics at the same time. Colission detection can now be done by the layer compositing logic of the video circuit which can capture the bitmap counter position if both bitmap and background have pixel values than 0 (or any other value in a comparison register - depends on the complexity one would like implement)sprites to sprite colission can be detected while writing to the vram by reading the value first in an register (done in hardware) and comparing the byte to be written with the old one. If bits are different and different from 0 it would be a collision. Both would trigger an interrupt where the game could do its thing then.
@ArneChristianRosenfeldt
@ArneChristianRosenfeldt 3 ай бұрын
@@0toleranzalready before the NES games actually had a background. This made the collision detection in C64 useless. This is why you need a z ordinate or even two playfields. Z can be encoded in the palette, but I hate palette. Give me RGB 332 direct cokors. Z buffer in n64 is on a different page to not slow down Video DMA. On Jaguar it is on the third phrase. I propose deferred rendering. First draw each sprite into one of the 8 bit per pixel and check for collision. Then replace with the winner sprites color. Can even do translucency or “shadow sprites”.
@BUY_YOUTUBE_VIEWS_d114
@BUY_YOUTUBE_VIEWS_d114 3 ай бұрын
KZbin would be so boring without your videos
@goofyrulez7914
@goofyrulez7914 3 ай бұрын
Very nice craftsmanship!
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
thanks
@zxborg9681
@zxborg9681 3 ай бұрын
I designed pro broadcast video equipment for decades - NTSC, PAL, up to 4K. This counter plus decode logic plus a register to retime the signals is exactly my preferred implementation. Meat and potatoes of video design. Sometimes folding the decode logic into a PROM addressed by the counter for easy of modification, althouh with FPGAs/CPLDs that's not such a big deal. Nice starting point.
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
Thanks. I can't take credit as I took the idea from someone else's design, but it's good to know that this is a tried and tested technique. I really feel that I have learnt something very important and useful here.
@desainmuda
@desainmuda 3 ай бұрын
where can i buy that pcb?
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
I would highly recommend buying the offical boards from inmoov.fr However I have shared the gerber files in the community section of this channel. You can get these PCBs manufactured from companies such as PCBWay or JLC PCB for very low cost.
@jesusmolo
@jesusmolo 3 ай бұрын
Good afternoon. thank you very much for sharing your knowledge
@nebbsie
@nebbsie 3 ай бұрын
Loving this series so far! You have motivated me to give it a go!
@gasparinizuzzurro6306
@gasparinizuzzurro6306 3 ай бұрын
Hi, nice video. How do you plan to deny access to CPU during video circuitry time slots? Do you do this by asserting the WAIT line and buffering the BUSses or do you assert a BUS Request condition? thx for your explanation.
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
The cpu busses and video busses are separate. You might describe that as buffering. I'm hoping I won't need to assert the wait line as the video clock is many times faster than the cpu clock. How ever I will need to check the timing.
@kBashumUclugam
@kBashumUclugam 3 ай бұрын
Hey 👋
@SteveRaynerMakes
@SteveRaynerMakes 3 ай бұрын
The re-timing via the latch causes the signals to appear one stage delayed. I didn't explain that this is already compensated for because the AND gate inputs are all connected to one stage earlier than what we want. So after the 1 stage delay, all the signals are back where we want them.