I'm a 55-yr old software engineer, and this video is one of the coolest I've seen on YT for ages. Loads of respect for your beginner's guts. This is how real engineers are made.
@@ukaszb9223 Sorry, you made a mistake. impostor syndrome is when someone is completely convinced their loved ones and/or friends have been replaced by people that want to hurt them, in oversimplified terms.
I lost it when I saw the jungle of wires. I am really starting to appreciate how difficult it must be to manufacture graphics cards. Shoutout to all the engineers that work on this area.
Engineers in this kind of field don't have to really deal with routing. It's all software. If you can write Tcl, you can implement a design if you have access to the right software.
Usually the rule of thumb is you use one 104 capacitor for ever chip you have on the breadboard to help distribute power along the board so you get even power draw. Also Ben eater made a working color graphics card on a bread board you may want to check out.
@@bloxcodes6576 different layout as in wiring or the physical layout of the location of the ic's? (I don't remember the layout of the original design, because it's quite a while back i watched that vid)
I designed and built a number of GPUs out of TTL in the 70s, although we called then VDUs back then. It's interesting to see your approach... I can see you're a software guy! One of the engineering challenges back in the mid 70s was to use the minimum number of chips. Also back then we didn't have any chips beyond 7419x. The cheapest counters were the 7490 and 7493. Also RAM was expensive. The designs typical of the day used 256 visible pixels across and 256 visible pixels down, 320 by 320 including front & back porches plus vertical blanking period. Using a 5MHz clock, this gave the 15625Hz Hsync frequency. The Vsync works out at about 48.8Hz, good enough. Divide by 320 is achieved with 7493 binary counters configured as div-by-32, plus a 7490 div-by-10. When the MSB goes high, that's the blanking periods. Sync timing is achieved with 74123 monostables: digital comparators massively increases chip count. Instead of a complete memory mapped display (remember RAM was expensive), we used character generator ROMs. These presented 8 pixels at a time, which went into a shift register either a 74165 or 74166 from memory. At 5MHz, the character time of 8 pixels is 8/5MHz = 1.6us, which was easily achievable with the ~450ns RAM and ROM we had back then. For the CPU to access the RAM, we need to multiplex the CPU's address bus with the 749x counters. This was done with 74157s. When the CPU needed to access the RAM, it took precedence over the counters, so you'd get snow on the screen during CPU accesses. Including the RAM (8 x 2102) and character generator, maybe 30 chips in total. I was a 12yo school kid at the time when I designed my first one, no oscilloscope, just an analog multimeter and an LED for debugging.
I built one while in my mother’s womb. I remember doctors being really confused when the first thing to come out was not me, but the GPU I made. Good times...
Same, im that kid, we where geting started and i started to make snake in cpp because i had already done the simple cout lines and i was bored so i said why not?😂😂
In an electronics class, and I loved this video! It was awesome for me because I understood literally everything. We build lots of stuff like this on digital trainers. Keep up videos like this!
Hey man could you help me out understanding this and share some resources…I was thinking myself to build something like this for my microprocessor class's project
Super cool, I've been very interested in graphics processing lately as it's definitely one of those technologies that's always been "magic" to me. Your drawings + explanations are super helpful, really enjoy this video format.
His GPU has the features of a 90's Nokia and the footprint of a whole desk, with the specs you're asking, you'll probably need 2 trailers to store the SSD, this turns it from a storage solution to a storage problem
@@YOEL_44 I'm fairly certain that 3310 has waayyy less performance. It has 84x48 pixels only and runs maybe 30fps if even that. Of course completely different display technology but the data/second is much less
@@YOEL_44 That. And no need to use TTL since there are a lot of 80's and 90's specialized 2D hardware chips to salvage. Any cheap ARM or RISCV chip provides more. This is just an overly complicated exercise in style. Also making an intro comparing this to actual "GPU" without taking into account that actual graphics cards aren't just 2D GPU but 3D, video and computing too is a bit silly.
next video is going to be him stripping himself of clothing, wiping his memory, relearning everything he has ever learned from scratch, punching a tree to get wood, making a pickaxe, mining stone, making a stone pick, getting iron, making an iron pic, mining all the stuff he needs to build a pc, then building it, making his own os, making his own internet, and then playing pong
Its amazing how far you got. I am seriously interrested in learning this stuff, but fear at 35 I am way to late to properly learn it or even do something with it.
Instead of just telling you that it is never too late, let me remind you that at 35 you still have 25 years of productivity (before retirement that is), even if you took 5 years to figure out what to do with it you would have two whole decades to spare. Better learn, and find out.
This was a really fascinating video, I enjoyed it immensely. I enjoy tech content a lot but building a graphics card from scratch. Wow. I liked and subbed. Going to watch your "making Minecraft from scratch in 48 hours" video next.
I loved the Video. That was very interesting and strangely addicting. But nobody is talking about how you sadi the Errors at 13:44 were clipping, grey lines and data errors but not "GRAPHNCS CARD" :D Also, huge props for even attemping such a hard project.
This video is pure gold. It's so educational yet engaging and damn you did a great job. I haven't seen a video that made me this hyped for electrical engineering in ages
This man is on a whole new level of Technology Edit: People are correcting me on my sentence. Yes, it isn't a new level of te tech. I made the comment when I was half awake.
Tecnically? He is using a new metode to make old stuff. And guess what? Eletric cars are just a new metod to make gas cars. This man is on another level of levels
I can blindly admire anyone who even thinks that they can do this stuff and sets themselves to do this because the confidence levels and the courage are more important than the end result
Very inspiring video 😊 Some people just think of doing this (and similar stuff) but you did it. Congratulations 🎉🎉 Very nice video that helps showing to the viewers what needs to be done to have a working graphic card 😊
They do limit voltage Voltage at LED would be r_led*V/(r_led+r_resistor ) Hence when you increase r_resistor then voltage will decrease ... Simple maffs
One thing that you could do would be to read the data from the EEPROM into a shift register and shift the bits out to display them. Shift registers are way faster than memory lookups, and are what is used for things like PCIe and Ethernet signals.
And really early CP/M text only machines works in that manner. Just data from slow 2114 P-MOS RAM addressed character ROM and output from ROM was shifted to video output. Other ROM address lines were given from counters. All works on TTL LS chips, except shift register - it was TTL-S type.
It is indeed pronounced like "pal" :) BTW that's dependant on region, Europe uses PAL mostly, while North America (and some of middle/south America) uses NTSC. SEMAC is also in use in some areas of Europe and Asia
14:25 cheers man. The sort of pitfall many coders like me not knowing too much of electronics would also fall into. Still an awesome tinker project, love it.
This is so impressive. Can you imagine how hard famous GPU manufacturers work to achieve today's graphics, if it took you so much to create something so "basic"
Well considering this isn't even a graphics card, yes. That's why it's only multibillion dollar companies that can even be competitive in the silicon engineering space
@@BizVlogs Only the largest companies can make their own components - and even then, it’s rare. They use off-the-shelf parts where possible, and where they need custom parts, they have a component manufacturer make a custom part for them.
This is a sweet project, kinda makes me wanna delve into it myself, i love how it looks at present its soo cyberpunk style, id make a frame for the screen and just mount all the bread boards round it and enjoy it how it is, the ultimate is design a pcb i guess, a very cool project none the less! Thanks for sharing!
Latches, my man! SN74LS573 or similar. You can use a very brief signal to latch the output from your ROM chip, thus allowing the ROM's output to stabilize before sending the next byte out. It will mean reorganizing your data on the ROM chip by about 1 byte, but that should help.
I did somthing like this in a game that simulates logic gates (scrap mechanic), obviously, that is easier as I don't need to care about voltage ground, power source, and that kind of stuff, and it was 15x15 pixels, and I got to make up all my own video data standards and stuff. It had like 1 fps with the smallest possible image data in my standard. This is a really cool project though, and it is super interesting to see someone build it irl. I can recommend scrap mechanic to you, obviously, it is more satisfying to see a result in real life than in a game, but I think you could have a lot of fun building stuff in it, and it might even be a good place to simulate your circuits before you spend money on your stuff in real life. It doesn't have stuff like memory ICEs, but you could simply make them with regular logic, and copy-paste them however many times you want.
you could use an FPGA after you had your circuit layout and test it there before you buy all the ICs. In general using an FPGA instead of programming it in C might be a good idea!
You appear to have missed the several weeks required to become proficient in an HDL and the FPGA's tool chain. More seriously, you can do all of this on $2 microcontrollers using on chip DMA and on chip timers, there's no need for FPGAs. But I found the approach to do it solely in software first was interesting if a little quaint/naive!
This is hilarious to me, as I went down a very similar road (and same glitches and pain) 7 or 8 years back. I didn't try PAL, but NTSC... but with 'golden arches' of wrirwe mess causing interference (stray capacitance etc), it was making me nuts. I ended up switchign to VGA output, as much more widely available on monitors, and also a _really easy_ signal to generate, in black and white or colour. (Same analog range style to generate a colour or b/w). A couple years back I went FPGA to try and figure out HDMI and got that going too .. and its a lot like VGA but with some evil suppressed-information encoding at the end. Go VGA, and use Eagle or whatevere to get some PCBs printed .. doing it all in jumper wires is fun to a point, then just annoying ;) (When elecrow or jclpcb etc can give you a dozen 4" square pcbs for $10 a week or two after you place the order, its pretty nuts.) You're super awesome, love the videos.
Yeah, I want to know what they could do if they worked together. I mean, the card Ben Eater built was a VGA CMOS card, and this is a TTL Composite card.
Great work, I made the Ben Eater video card not too long ago myself. Have you read the TV Tennis schematics from Popular Electronics? It produces a sync signal with a pair of 555's and a pair of NANDs in monochrome.
I know this video is a bit old now, but one way I’ve gotten around this problem in the past when using eeproms is this manor is to put a latch on the output. Have the latch, latch on the falling edge of your pixel clock and output on the rising edge. This has the net result of delaying the data by one clock cycle but the data is a lot cleaner.
When I started this video, I didn’t think that comparators from Minecraft would have anything to do with this! My red stone knowledge finally pays off. 7:36
I know I'm late to the party, but I wanted to mention that if you're having timing issues due to the memory chips being too slow, one way of dealing with the problem is to interleave the bits between chips. That way, each chip has time to prepare its output while the bit from the previous chip is being displayed.
Next step, build logic gates from scratch using magnets. And make the magnets from scratch by wrapping wires around iron cylinders. And then use those to build the circuit from Charles Petzolds book "Code: The Hidden Language of Computer Hardware and Software" Chapter 17 from scratch.
This video make me more appreciate nvidia and amd about their pricing. They deserve it. I cant even build a lego that has manual on it. As end user. I will not complain much. Imagine back then. I play mario metal slug in 2d. Then red alert, age of empire. Then gta. Now triple a games. Thank you to the gpu creator, engineers and all the staffs 🙏🏻
So yeah, he wasn't happy with current human reproduction, so he bought an ovary from Aliexpress and made his own reproduction chamber, while he was at it, he modified it genetically to increase his default IQ and gave it special code writing fisical abilities... and an extra arm for good measure.
“150ns is too slow for a clock speed of 250ns” Pfft no! You need to pipeline it. Use more registers. It’s relatively easy for a situation like that. Use this experience to learn about pipelining! (By the way, I’ve made my own “graphics card” out of discrete logic ICs, it was definitely a learning experience for me because I am not an electrical engineer. I didn’t use software like logism either, but looking back I really should have).
I was considering a system that latched the data into a series of two registers and pipelined it, but we'll see how much of a problem this is when it's driven by 55ns access speed SRAM instead of the ROM chip - just didn't want to worry about it too much when the ROM driving it is only temporary. Thanks for the suggestion though :)
@@jdh Ah I see! Well, if you wanted to try a 55ns access time ROM chip you could get a SST39SF040-55 I should also warn you about a peculiar property of that chip: it's output isn't driven all the way up to 5v so the chip(s) that use it's output should have their inputs be logic level compatible with TTL
clock latch the output of the EPROM. So your actually addressing the eprom and fetching the next bit, while displaying the latched previous bit, that gives the EPROM the most time to settle, the latch "will" hold that settled output for full clock time. You may need to tweak when the clock happens to get a perfect output, but once found...
I tried to build something similar that used the VGA standard. I only got as far as the timing signal generation and pixel counters, because although it all worked, if I even breathed on it, it would stop working for some reason or another. I think the counters I used didn't like the extra capacitance in the breadboards. It was a great feeling measuring all the timings with my scope and seeing it match perfectly with the VGA standard. If I was going to continue I would have needed to build it all on proto board with magnet wire like my z80 computer. I never bothered making a schematic diagram though so it wasn't worth continuing. You did fantastic for never doing any electronics before
My colleague was assigned to built tele text device to mix running text onto bottom of TV screen, as a compulsory project to complete his undergrad. electric engineering degree. It was 30 yrs ago. And he ended up being retired without graduated because it's far beyond his capacity as an undergrad student then.
It is, but I was mostly abandoning it's builtin functions and such - and if I'm not going to use those, no reason for me to use the IDE, so I just retreated to neovim.
Love your vids bc I love to figure out how things work at their core, I am also majoring in electronics engineering so I have like you built a computer on breadboards
Sweet lord - I hope those jumpers don't randomly snap! Several people have done VGA and similar with full-fidelity emulation of NES and even the BBC micro on the Pi Pico board with just a "few" external components. That's one impressive piece of wiring work I must agree. I did wonder if that bird's nest, with all of that stray capacitance was knackering your clock signals though. Very impressed though. Super piece of work.
@jdh 11:22 I would like to tell you that the voltage does not kill, the current does, and I=V/R meaning that no matter the voltage, if there is no resistance, the current will be infinite. Meaning that no matter the voltage of your LED, if it does not have any built in resistance, you are likely to kill it, or greatly reduce it's life cycle even if it doesn't die immediately, if you look at datasheet, you'll see that for LEDs there is no really maximum voltage support, but maximum current supported (usually in mA) So people yelling at you are actually correct, and they can't explain to you in short sentences in live. And again I'll repeat, the voltage does not kill, the current does, and I=V/R, the more resistance you have, the less the current
I'm a 55-yr old software engineer, and this video is one of the coolest I've seen on YT for ages. Loads of respect for your beginner's guts. This is how real engineers are made.
Ben eater
@@bloxcodes6576 One who eats Bens
@@puppergump4117 Ben Heck had better watch out then!
@@puppergump4117 😂No Ben Eater has his own series of making a cpu, making a 8bit computer and making a graphics card. All from scratch.
@@kreuner11 I have now. THANKS
Now I realize what a dog understands when a human speaks with it
Ahhh this comment is great.
words of wisdom
wise words
Lmao
wise you are smart
This man single handedly solved the graphics card shortage. What a legend.
Nope, this is not processing anything, it just takes data and "show" them.
This is not a GPU, it does not compute. It just shows some already existing images.
@@moimoi9995 r/woooosh
@@awli8861 r/woooosh
@@ImXyper r/maybestfuandwritecommentwithsense
It just commendable how unimaginably complex these things are props to the engineers who designed them. Respect
7:26 was the only part i kind of understood because of my entry level redstone knowledge
He's gonna build an entire PC company from scratch at this rate.
watch out tim apple I'm comin for you
@@jdh Introducing jdhsilicon. Also awesome video by the way.
@@jdh made PC from nothing
@@jdh Bill Microsoft is gonna come and microchip ya XD
@@jdh nah, you'v allready surpased them in build quality.
(:
"I'm terribly unqualified to build something like this." - I don't think that feeling ever really goes away.
working on cars, electronics, electrical stuff and code; i can reasure this, the feeling never goes away
Agreed
if he is terribly unqualified for this then we are not even humans
the term is impostor syndrome, in case someone doesn't know
@@ukaszb9223 Sorry, you made a mistake. impostor syndrome is when someone is completely convinced their loved ones and/or friends have been replaced by people that want to hurt them, in oversimplified terms.
"i built a pc"
"what graphics card you using?"
"i BUILT the graphics card."
"but what about the cpu?"
"i BUILT the cpu."
What about the Operating System?
@@1R1SHMAN04 ua-cam.com/video/FaILnmUYS_U/v-deo.html
@@bootyfart1569 lol, he literally did.
"What about the programming language?"
"What about the motherboard?"
"yes."
I lost it when I saw the jungle of wires. I am really starting to appreciate how difficult it must be to manufacture graphics cards. Shoutout to all the engineers that work on this area.
Engineers in this kind of field don't have to really deal with routing. It's all software. If you can write Tcl, you can implement a design if you have access to the right software.
Usually the rule of thumb is you use one 104 capacitor for ever chip you have on the breadboard to help distribute power along the board so you get even power draw. Also Ben eater made a working color graphics card on a bread board you may want to check out.
NOTE:Bean eater made a VGA Card not a composite video card
He's *literally* gonna reinvent the wheel at this rate.
He just copied ben eater's video card
@@bloxcodes6576 Well he at least had to to modify it since Ben used VGA. But i did not gone into understanding jdh design so idk.
Why do you think that? I don't think he copied it...
@@jelle8055 He did the same as ben eater, used a different layout and a adapter
@@bloxcodes6576 different layout as in wiring or the physical layout of the location of the ic's? (I don't remember the layout of the original design, because it's quite a while back i watched that vid)
Developing methodology:
Ben Eater: Lawful neutral
jgh: chaotic good.
Sam Zeloof?
I feel like ben eater is more like lawful good
NFTs: Lawful Evil
Me after a month of work: "Yup, still busy refactoring code."
jdh after the same time: "So anyway, I've built a graphics card"
*pain*
@enrique amaya ok bot same awnser on different comment
I designed and built a number of GPUs out of TTL in the 70s, although we called then VDUs back then.
It's interesting to see your approach... I can see you're a software guy!
One of the engineering challenges back in the mid 70s was to use the minimum number of chips. Also back then we didn't have any chips beyond 7419x. The cheapest counters were the 7490 and 7493. Also RAM was expensive.
The designs typical of the day used 256 visible pixels across and 256 visible pixels down, 320 by 320 including front & back porches plus vertical blanking period. Using a 5MHz clock, this gave the 15625Hz Hsync frequency. The Vsync works out at about 48.8Hz, good enough.
Divide by 320 is achieved with 7493 binary counters configured as div-by-32, plus a 7490 div-by-10. When the MSB goes high, that's the blanking periods. Sync timing is achieved with 74123 monostables: digital comparators massively increases chip count.
Instead of a complete memory mapped display (remember RAM was expensive), we used character generator ROMs. These presented 8 pixels at a time, which went into a shift register either a 74165 or 74166 from memory. At 5MHz, the character time of 8 pixels is 8/5MHz = 1.6us, which was easily achievable with the ~450ns RAM and ROM we had back then.
For the CPU to access the RAM, we need to multiplex the CPU's address bus with the 749x counters. This was done with 74157s. When the CPU needed to access the RAM, it took precedence over the counters, so you'd get snow on the screen during CPU accesses.
Including the RAM (8 x 2102) and character generator, maybe 30 chips in total.
I was a 12yo school kid at the time when I designed my first one, no oscilloscope, just an analog multimeter and an LED for debugging.
Ah I never knew 74123s existed! That would have been nice - comparators are the bulk of this circuit and take up 2.5 boards on their own. next time :)
you forgot hardware
Building a GPU at 12yo! I am stunned.
I built one while in my mother’s womb. I remember doctors being really confused when the first thing to come out was not me, but the GPU I made. Good times...
I don't understand anything you wrote. 🤣
Dude writes his own game engines, makes minecraft from scratch, builds his own graphic cards and at the same time looks like a model
man... wtf. this guy shouldnt exist
God sure has favorites
@@rubyciide5542hell, reading genesis will tell you that much.
Gotta say the face reveal surprised me lol, not sure what I was expecting but that was not it
At this point I am like 96% sure this dude must be either 1,62m or have a VERY tiny thing to work with. Otherwise it's over for us.
GPU's are getting so expensive, people are starting to build them on their own.
relatable, technically not literally
That's just a graphics card; it doesn't have a GPU.
@@Sparkette Graphics card is not a graphics card without GPU, so what do you mean?
This is the time to start thinking how to build mine due to the Cost of GPU
@@relaxandworkflow768 the prices are going down though
Ah yes, my bi monthly episode of making me feel like an idiot
And for free!
As if Sebastian Lague wasn't enough =/
It’s not nuclear physics.
@@knowsomething-b8d nuclear physics begin in late 19th early 20th century, the first graphic card wasn't created until late 1980s.
@@Noname-67 my UA-cam account wasn’t created in September what is your point?
Teacher : So dear students, let's learn how to write hello world program today 😄
Quiet kid sitting at the last row of the class:
Same, im that kid, we where geting started and i started to make snake in cpp because i had already done the simple cout lines and i was bored so i said why not?😂😂
In an electronics class, and I loved this video!
It was awesome for me because I understood literally everything. We build lots of stuff like this on digital trainers. Keep up videos like this!
Hey man could you help me out understanding this and share some resources…I was thinking myself to build something like this for my microprocessor class's project
I rewatched this waaay too often but not because I understand anything but just these small voicecracks here and there im obsessed
Super cool, I've been very interested in graphics processing lately as it's definitely one of those technologies that's always been "magic" to me. Your drawings + explanations are super helpful, really enjoy this video format.
Watch Ben eater he has 3-4 videos about it and good explaining
can't wait to see you make your own ssd. No doubt faster and at a higher capacity than anything currently on the market
His GPU has the features of a 90's Nokia and the footprint of a whole desk, with the specs you're asking, you'll probably need 2 trailers to store the SSD, this turns it from a storage solution to a storage problem
@@YOEL_44 I don't see a problem with that
@@YOEL_44 I'm fairly certain that 3310 has waayyy less performance. It has 84x48 pixels only and runs maybe 30fps if even that. Of course completely different display technology but the data/second is much less
@@YOEL_44 That. And no need to use TTL since there are a lot of 80's and 90's specialized 2D hardware chips to salvage. Any cheap ARM or RISCV chip provides more. This is just an overly complicated exercise in style.
Also making an intro comparing this to actual "GPU" without taking into account that actual graphics cards aren't just 2D GPU but 3D, video and computing too is a bit silly.
@@YOEL_44 his solo and dont seem to know shit about how to make a gpu sooo his a legend
SMH didn't even mine the metal yourself, 3/10
next video is going to be him stripping himself of clothing, wiping his memory, relearning everything he has ever learned from scratch, punching a tree to get wood, making a pickaxe, mining stone, making a stone pick, getting iron, making an iron pic, mining all the stuff he needs to build a pc, then building it, making his own os, making his own internet, and then playing pong
Next we know he is gonna make a planet sized supercomputer on minecraft
@@satwiksahu486 and a fireplace after that
@@bootyfart1569 way to kill your own joke
No bewbs, 2/10
Its amazing how far you got. I am seriously interrested in learning this stuff, but fear at 35 I am way to late to properly learn it or even do something with it.
Instead of just telling you that it is never too late, let me remind you that at 35 you still have 25 years of productivity (before retirement that is), even if you took 5 years to figure out what to do with it you would have two whole decades to spare. Better learn, and find out.
@Jose Peralta 25 years from 35 years? You must live in a country with a sane retirement age. Some countries have a retirement age close to 70 now.
This was a really fascinating video, I enjoyed it immensely. I enjoy tech content a lot but building a graphics card from scratch. Wow. I liked and subbed. Going to watch your "making Minecraft from scratch in 48 hours" video next.
this is some fucking giga-nerd level shit and i love it
Jdh love your work 🤗 what are you going to build next ? an electron ?
My money's on an intercontinental ballistic missile.
Quantum computer
atom probably
time Machine ❤️
Perpetual motion machine
Cant wait for when he makes a quantum computer from scratch like 8 episodes from now
Recommended from jdh: i built a bomb
Recommended from jdh: i built a nuclear reactor
@@fantaniac638 "in a cave... with a bunch of scrap!"
I loved the Video. That was very interesting and strangely addicting. But nobody is talking about how you sadi the Errors at 13:44 were clipping, grey lines and data errors but not "GRAPHNCS CARD" :D
Also, huge props for even attemping such a hard project.
GRAPHNCS CARD lmfaooo
2:32: "a colour blast or something"
This video is pure gold. It's so educational yet engaging and damn you did a great job. I haven't seen a video that made me this hyped for electrical engineering in ages
This man is on a whole new level of Technology
Edit: People are correcting me on my sentence. Yes, it isn't a new level of te tech. I made the comment when I was half awake.
is it really a new nevel tho?
It isn't new level
He is on the next level of genius tho
An older level*
It's a very new level of technology, just not really a good one :)
Tecnically? He is using a new metode to make old stuff.
And guess what? Eletric cars are just a new metod to make gas cars.
This man is on another level of levels
I can blindly admire anyone who even thinks that they can do this stuff and sets themselves to do this because the confidence levels and the courage are more important than the end result
0:53 i never knew what was inside the black box of a microprocessor! thank you for enlightening me.
Very inspiring video 😊
Some people just think of doing this (and similar stuff) but you did it.
Congratulations 🎉🎉
Very nice video that helps showing to the viewers what needs to be done to have a working graphic card 😊
it doesn't matter that they are "5V LEDs" resistors don't limit voltage they limit current.
voltage is pushed, current is pulled.
more or less.
They do limit voltage
Voltage at LED would be r_led*V/(r_led+r_resistor )
Hence when you increase r_resistor then voltage will decrease ...
Simple maffs
Resistors in series limit voltage. Resistors in parallel limit amperage.
One thing that you could do would be to read the data from the EEPROM into a shift register and shift the bits out to display them. Shift registers are way faster than memory lookups, and are what is used for things like PCIe and Ethernet signals.
And really early CP/M text only machines works in that manner. Just data from slow 2114 P-MOS RAM addressed character ROM and output from ROM was shifted to video output. Other ROM address lines were given from counters. All works on TTL LS chips, except shift register - it was TTL-S type.
It is indeed pronounced like "pal" :)
BTW that's dependant on region, Europe uses PAL mostly, while North America (and some of middle/south America) uses NTSC. SEMAC is also in use in some areas of Europe and Asia
Japan use PAL, I think.
@@TheBcoolGuy both NTSC and PAL, if I recall correctly. It depends on who set up the electricity in that part of the country.
SECAM not SEMAC, it was/is used in french territories. Japan use NTSC but their equipment can handle PAL
south america is mainly ntsc because we import everything from the US
@@gr33n39 No... Japan uses NTSC only, much like North America.
0:43 he got so excited to pulled out his hex bugs
14:25 cheers man. The sort of pitfall many coders like me not knowing too much of electronics would also fall into. Still an awesome tinker project, love it.
When this saga started: "damn, this dude must be a really competent functional programmer"
Now: "yay, mental flagellation time!"
@enriqueamaya3883Jesus, leave everyone alone.
Still making absolutely incredible content. Hands down one my favorite channels.
Me who can't even emulate a CHIP 8 watching him make a computer from scratch: 👁️👄👁️
me who doesn’t know what a CHIP 8 is
@@NStripleseven I don't have anything funny to say to that lol
I'm happy to succesfully write a 2 line batch
@@YOEL_44 lol
@@itzmeB2 me who doesn't have anything funny to say to that
Extremely impressive my guy. You're on your way. Please don't give up and keep it up!
i like what you do man ... keep going ... congrats ... never knew that it was possible to do it this way, thaks a lot and BRAVOOO !!
When TSMC says that will raise the prices by 20%:
In Uni we used a software called Proteus for designing and simulating this kind of stuff, it looks really retro but it was fully featured.
I use proteus in my IT
This is so impressive.
Can you imagine how hard famous GPU manufacturers work to achieve today's graphics, if it took you so much to create something so "basic"
@R R yeah, you have a point. I didn't think about that when i wrote my comment.
Well considering this isn't even a graphics card, yes. That's why it's only multibillion dollar companies that can even be competitive in the silicon engineering space
Well all he did was buy stuff from the store and put it together. Actual companies don’t do that, they make the components themselves.
@@BizVlogs no they actually huy the components from another company
@@BizVlogs Only the largest companies can make their own components - and even then, it’s rare. They use off-the-shelf parts where possible, and where they need custom parts, they have a component manufacturer make a custom part for them.
That screen (4:35) is so old it looks like it's from the future.
This is a sweet project, kinda makes me wanna delve into it myself, i love how it looks at present its soo cyberpunk style, id make a frame for the screen and just mount all the bread boards round it and enjoy it how it is, the ultimate is design a pcb i guess, a very cool project none the less! Thanks for sharing!
Ben eater has met his match lol
this is super impressive but ben eater is still at another level
Latches, my man! SN74LS573 or similar. You can use a very brief signal to latch the output from your ROM chip, thus allowing the ROM's output to stabilize before sending the next byte out. It will mean reorganizing your data on the ROM chip by about 1 byte, but that should help.
This guy deserves way more subscribers, he literally created his own computer
I saw a bunch of if-elses in that montage, how dare. Great video, really enjoyed the build
I did somthing like this in a game that simulates logic gates (scrap mechanic), obviously, that is easier as I don't need to care about voltage ground, power source, and that kind of stuff, and it was 15x15 pixels, and I got to make up all my own video data standards and stuff. It had like 1 fps with the smallest possible image data in my standard. This is a really cool project though, and it is super interesting to see someone build it irl. I can recommend scrap mechanic to you, obviously, it is more satisfying to see a result in real life than in a game, but I think you could have a lot of fun building stuff in it, and it might even be a good place to simulate your circuits before you spend money on your stuff in real life. It doesn't have stuff like memory ICEs, but you could simply make them with regular logic, and copy-paste them however many times you want.
Maybe using a FPGA to prototype programs instead of the Arduino would be helpful to translate to actual logic 🥴. As always, awesome job!
And my first reaction was - of course you did!!
Watching this channel is like watching evolution go backwards.... and I absolutely love it!
Dang, your comedic editing is great! Not too much, just enough!
You could honestly make such a solid full like UA-cam course about programming and electrical circuits and you’d be a legend for it. Here’s hopjng
Every LED needs a resistor or something to limit current.
There are LEDs made for specific voltages (like 5V) that have the proper resistor for that voltage built in. That's probably what he meant.
you could use an FPGA after you had your circuit layout and test it there before you buy all the ICs.
In general using an FPGA instead of programming it in C might be a good idea!
Can confirm. FPGAs are very useful in this way
You appear to have missed the several weeks required to become proficient in an HDL and the FPGA's tool chain.
More seriously, you can do all of this on $2 microcontrollers using on chip DMA and on chip timers, there's no need for FPGAs.
But I found the approach to do it solely in software first was interesting if a little quaint/naive!
This is hilarious to me, as I went down a very similar road (and same glitches and pain) 7 or 8 years back. I didn't try PAL, but NTSC... but with 'golden arches' of wrirwe mess causing interference (stray capacitance etc), it was making me nuts. I ended up switchign to VGA output, as much more widely available on monitors, and also a _really easy_ signal to generate, in black and white or colour. (Same analog range style to generate a colour or b/w). A couple years back I went FPGA to try and figure out HDMI and got that going too .. and its a lot like VGA but with some evil suppressed-information encoding at the end.
Go VGA, and use Eagle or whatevere to get some PCBs printed .. doing it all in jumper wires is fun to a point, then just annoying ;) (When elecrow or jclpcb etc can give you a dozen 4" square pcbs for $10 a week or two after you place the order, its pretty nuts.)
You're super awesome, love the videos.
fastest vimrc yoink of my life
INSANE video, hope to see more (;
That's astonishingly impressive!
Well done
3 episode later : Refining materials and making my own diodes and transistor (and capacitor and resistors and wires) and remaking every electronics
Ben Eater would be proud of you 😂
Yeah, I want to know what they could do if they worked together.
I mean, the card Ben Eater built was a VGA CMOS card, and this is a TTL Composite card.
Great work, I made the Ben Eater video card not too long ago myself. Have you read the TV Tennis schematics from Popular Electronics? It produces a sync signal with a pair of 555's and a pair of NANDs in monochrome.
That sounds fucking awesome. 555's are the fuckin best
@@ognotapussyslayer5917 ua-cam.com/video/ImaZ7UHwFAI/v-deo.html&ab_channel=JulianIlett Here's an example of a very similar one working.
You’re so cool! That’s an awesome project! Hats off to you!
I know this video is a bit old now, but one way I’ve gotten around this problem in the past when using eeproms is this manor is to put a latch on the output. Have the latch, latch on the falling edge of your pixel clock and output on the rising edge. This has the net result of delaying the data by one clock cycle but the data is a lot cleaner.
Love your work!
I'm still waiting for the video where you mine silicone to produce homemade microchips.
There you have: ua-cam.com/users/szeloof
Nice. Please make that into a font, also I'd love to see something like this based in software that could be played with.
Into a font?
When I started this video, I didn’t think that comparators from Minecraft would have anything to do with this! My red stone knowledge finally pays off. 7:36
the black-white drawing I could understand perfectly
Great video.
May i ask why you used such THICC cabling? The stuff looks like it'll pass 8A without breaking a sweat
He said in the stream he ordered the wrong ones
Skin effect ;-)
I know I'm late to the party, but I wanted to mention that if you're having timing issues due to the memory chips being too slow, one way of dealing with the problem is to interleave the bits between chips. That way, each chip has time to prepare its output while the bit from the previous chip is being displayed.
still better than integrated graphics
4:34 "...I mean, anything is better than nothing!" should be the coder's slogan
Next step, build logic gates from scratch using magnets. And make the magnets from scratch by wrapping wires around iron cylinders. And then use those to build the circuit from Charles Petzolds book "Code: The Hidden Language of Computer Hardware and Software" Chapter 17 from scratch.
This video make me more appreciate nvidia and amd about their pricing. They deserve it. I cant even build a lego that has manual on it.
As end user. I will not complain much. Imagine back then. I play mario metal slug in 2d. Then red alert, age of empire. Then gta. Now triple a games. Thank you to the gpu creator, engineers and all the staffs 🙏🏻
what next? "I built my own human programmer"?
Thats just called reproduction bro 😂
So yeah, he wasn't happy with current human reproduction, so he bought an ovary from Aliexpress and made his own reproduction chamber, while he was at it, he modified it genetically to increase his default IQ and gave it special code writing fisical abilities... and an extra arm for good measure.
“150ns is too slow for a clock speed of 250ns”
Pfft no! You need to pipeline it. Use more registers. It’s relatively easy for a situation like that. Use this experience to learn about pipelining!
(By the way, I’ve made my own “graphics card” out of discrete logic ICs, it was definitely a learning experience for me because I am not an electrical engineer. I didn’t use software like logism either, but looking back I really should have).
I was considering a system that latched the data into a series of two registers and pipelined it, but we'll see how much of a problem this is when it's driven by 55ns access speed SRAM instead of the ROM chip - just didn't want to worry about it too much when the ROM driving it is only temporary. Thanks for the suggestion though :)
@@jdh Ah I see! Well, if you wanted to try a 55ns access time ROM chip you could get a SST39SF040-55
I should also warn you about a peculiar property of that chip: it's output isn't driven all the way up to 5v so the chip(s) that use it's output should have their inputs be logic level compatible with TTL
clock latch the output of the EPROM. So your actually addressing the eprom and fetching the next bit, while displaying the latched previous bit, that gives the EPROM the most time to settle, the latch "will" hold that settled output for full clock time. You may need to tweak when the clock happens to get a perfect output, but once found...
I tried to build something similar that used the VGA standard. I only got as far as the timing signal generation and pixel counters, because although it all worked, if I even breathed on it, it would stop working for some reason or another. I think the counters I used didn't like the extra capacitance in the breadboards. It was a great feeling measuring all the timings with my scope and seeing it match perfectly with the VGA standard. If I was going to continue I would have needed to build it all on proto board with magnet wire like my z80 computer. I never bothered making a schematic diagram though so it wasn't worth continuing.
You did fantastic for never doing any electronics before
"So you're all unemployed or something?" LOL
I am just expecting him to build his own computer that he will be using for everything at this point. With his own parts no less.
2:48 Ben eater, with 64 colours in his breadboard graphics card: pathetic
I enjoy watching videos on subject and projects I'll never be able to do in my life.
My colleague was assigned to built tele text device to mix running text onto bottom of TV screen, as a compulsory project to complete his undergrad. electric engineering degree. It was 30 yrs ago. And he ended up being retired without graduated because it's far beyond his capacity as an undergrad student then.
Pff, Ben Eater already built a graphics card for his homemade CPU, and in colour.
😉
Er, the Arduino "language" is really C++ and is compiled by a C++ compiler so you probably didn't need to abandon the Arduino IDE.
It is, but I was mostly abandoning it's builtin functions and such - and if I'm not going to use those, no reason for me to use the IDE, so I just retreated to neovim.
I built my own girlfriend
Been loving your channel lately. Reminds me of me 25 years ago! Thank you for what you are doing 🙏
Love your vids bc I love to figure out how things work at their core, I am also majoring in electronics engineering so I have like you built a computer on breadboards
This video caused massive blood pressure spiking when I saw that circuit
Sweet lord - I hope those jumpers don't randomly snap!
Several people have done VGA and similar with full-fidelity emulation of NES and even the BBC micro on the Pi Pico board with just a "few" external components. That's one impressive piece of wiring work I must agree. I did wonder if that bird's nest, with all of that stray capacitance was knackering your clock signals though.
Very impressed though. Super piece of work.
The animations are legendary. Love this video...
@jdh 11:22 I would like to tell you that the voltage does not kill, the current does, and I=V/R meaning that no matter the voltage, if there is no resistance, the current will be infinite. Meaning that no matter the voltage of your LED, if it does not have any built in resistance, you are likely to kill it, or greatly reduce it's life cycle even if it doesn't die immediately, if you look at datasheet, you'll see that for LEDs there is no really maximum voltage support, but maximum current supported (usually in mA)
So people yelling at you are actually correct, and they can't explain to you in short sentences in live. And again I'll repeat, the voltage does not kill, the current does, and I=V/R, the more resistance you have, the less the current
Every good graphics card: *Sold out*
jdh: Fine i'll do it myself