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 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...
@@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)
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.
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.
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
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
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.
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.
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 😊
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
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.
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.
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 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
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
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.
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
@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
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
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...
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.
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!
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.
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.
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.
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.
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 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.
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 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.
Color was indeed 'hacked' into it. The two chroma channels were modulated together using a carrier frequency and then basically just added to the luminance channel. Pretty much like analog tv.
“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
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!
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.
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 🙏🏻
2 года назад
The 13:50 "data errors" looks a lot like "swapped the first and third lower order address bits". The flash (eeprom) you're using can't keep up with the pixel rate, but maybe you can have two 8-bit latches, and latch 8 pixels worth of data into one while you output from the other, or maybe a latch plus a parallel to serial. This may complicate the circuit a lot but you won't need faster flash.
2 года назад
BTW some early 80's home computers had similar or worse artifacts (I mean the vertical gray lines) and were done by companies. What I mean, keep up trying. I've just subscribed and will be watching your other videos.
2 года назад
I see from other videos you got it working? Congrats! That's awesome!!!
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.
Here is a trick for handling a slow eprom: Set its CS (chipselect) always to 'select' switch OE (when needed) only, the eprom will constantly get the addresses and the time to switch the chip will be much shorter.
Could you clarify 4:08 a bit? I get that you can program an Arduino without the ide, but what method exactly did you use to get that extra speed you needed?
There is nothing like building your own card to display something on a computer screen to make you learn about old school analog video signals. BTW, I could also point out the minor error in the image at 13:46 where you had a typo in the word "graphics". :)
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
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
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
It just commendable how unimaginably complex these things are props to the engineers who designed them. Respect
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.
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 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 ruclips.net/video/FaILnmUYS_U/видео.html
@@bootyfart1569 lol, he literally did.
"What about the programming language?"
"What about the motherboard?"
"yes."
"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.
7:26 was the only part i kind of understood because of my entry level redstone knowledge
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. 🤣
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
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
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.
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 RUclips 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
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
this is some fucking giga-nerd level shit and i love it
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
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.
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 😊
When this saga started: "damn, this dude must be a really competent functional programmer"
Now: "yay, mental flagellation time!"
@enriqueamaya3883Jesus, leave everyone alone.
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
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
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
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 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
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 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
It’s just “pal”. Easy to say, just pal, not p.a.l.
That screen (4:35) is so old it looks like it's from the future.
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
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
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.
0:53 i never knew what was inside the black box of a microprocessor! thank you for enlightening me.
2:32: "a colour blast or something"
When TSMC says that will raise the prices by 20%:
Ben eater has met his match lol
this is super impressive but ben eater is still at another level
Still making absolutely incredible content. Hands down one my favorite channels.
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
@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
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
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 !!
This guy deserves way more subscribers, he literally created his own computer
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
1:27 I think most people pronounce it like "pal" pronounced like the word for friend. It think it's an acronym not an initialism
Extremely impressive my guy. You're on your way. Please don't give up and keep it up!
Alternative title: Robert Pattinson builds useless underpowered videocard amidst GPU chip shortage
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.
Watching this channel is like watching evolution go backwards.... and I absolutely love it!
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 ;-)
Son: Mom! Look, can I get a graphics card?
Mom: No son, we have one at home
The graphics card at home:
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...
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.
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!
And my first reaction was - of course you did!!
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.
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.
3 episode later : Refining materials and making my own diodes and transistor (and capacitor and resistors and wires) and remaking every electronics
Love your work!
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.
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.
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.
Maybe using a FPGA to prototype programs instead of the Arduino would be helpful to translate to actual logic 🥴. As always, awesome job!
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.
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 ruclips.net/video/ImaZ7UHwFAI/видео.html&ab_channel=JulianIlett Here's an example of a very similar one working.
Im sure that if someone would give you glass of sand you can open CPU factory. Im amazed.
4:34 "...I mean, anything is better than nothing!" should be the coder's slogan
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.
I'm still waiting for the video where you mine silicone to produce homemade microchips.
There you have: ruclips.net/user/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?
I saw a bunch of if-elses in that montage, how dare. Great video, really enjoyed the build
Color was indeed 'hacked' into it. The two chroma channels were modulated together using a carrier frequency and then basically just added to the luminance channel. Pretty much like analog tv.
still better than integrated graphics
"So you're all unemployed or something?" LOL
“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
Holy shit the graphics bare so good we're can I buy?!
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!
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.
2:48 Ben eater, with 64 colours in his breadboard graphics card: pathetic
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 🙏🏻
The 13:50 "data errors" looks a lot like "swapped the first and third lower order address bits". The flash (eeprom) you're using can't keep up with the pixel rate, but maybe you can have two 8-bit latches, and latch 8 pixels worth of data into one while you output from the other, or maybe a latch plus a parallel to serial. This may complicate the circuit a lot but you won't need faster flash.
BTW some early 80's home computers had similar or worse artifacts (I mean the vertical gray lines) and were done by companies. What I mean, keep up trying. I've just subscribed and will be watching your other videos.
I see from other videos you got it working? Congrats! That's awesome!!!
That's astonishingly impressive!
Well done
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.
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.
Here is a trick for handling a slow eprom:
Set its CS (chipselect) always to 'select' switch OE (when needed) only, the eprom will constantly get the addresses and the time to switch the chip will be much shorter.
Dang, your comedic editing is great! Not too much, just enough!
I built my own girlfriend
fastest vimrc yoink of my life
INSANE video, hope to see more (;
Could you clarify 4:08 a bit? I get that you can program an Arduino without the ide, but what method exactly did you use to get that extra speed you needed?
There is nothing like building your own card to display something on a computer screen to make you learn about old school analog video signals. BTW, I could also point out the minor error in the image at 13:46 where you had a typo in the word "graphics". :)
The resistor wasn't for the voltage, it was too limit the current from burning out your led