World's worst video card? The exciting conclusion

Share
Embed
  • Published on Jul 13, 2019
  • For part 1, see this video: thexvid.com/video/l7rce6IQDWs/video.html
    Let's build a circuit that displays an image on a VGA monitor! In part 2, I talk about how VGA uses analog RGB signals to send different color pixels to the monitor. I use an EEPROM to store an image and build a simple digital-to-analog converter to generate the color signals to successfully display an image.
    Support these videos on Patreon: www.patreon.com/beneater or eater.net/support for other ways to support.
    ------------------
    Social media:
    Website: www.eater.net
    Twitter: twitter.com/ben_eater
    Patreon: patreon.com/beneater
    Reddit: www.reddit.com/r/beneater
    Special thanks to these supporters for making this video possible:
    Name
    Alexander Catchpole
    Beau-James Erion
    Ben
    Ben Dyson
    Ben Kamens
    Ben Williams
    Christopher Blackmon
    Dean Winger
    Debilu Krastas
    Dušan Dželebdžić
    Eric Dynowski
    Erik Broeders
    fxshlein
    Gonzalo Belascuen
    HaykH
    Ian Tait
    Ivan Sorokin
    JavaXP
    Jay Binks
    Jayne Gabriele
    Jimmy Campbell
    Jordan Scales
    Justin Duch
    Manne Moquist
    Marcus Classon
    Mats Fredriksson
    Michael Burke
    Michael Garland
    Miguel Ríos
    Mirko Rener
    Nathan Wachholz
    Nicholas Moresco
    Nick Wrightsman
    Onion Sniffer
    Paul Pluzhnikov
    Randy True
    Robert Butler
    Sachin Chitale
    Sergey Ten
    SonOfSofaman
    Stefan Nesinger
    Steve Gorman
    Vladimir Kanazir
    Örn Arnarson

Comments • 3 786

  • Michal Nemecek
    Michal Nemecek 2 hours ago

    2:40 16? I only see 8.

  • EtwasSkill
    EtwasSkill 3 hours ago

    When the slime Rancher Better Build is ready?!!?

  • Mark Seveland
    Mark Seveland Day ago

    This has got to be one of the coolest things I've ever seen on the internet or TheXvid. Bravo Mr. Eater, Bravo.

  • Cole Johnson
    Cole Johnson Day ago

    I fixed the black lines by putting an 8 bit buffer on the output of the EEPROM. This makes sure that even if the output is invalid, it only updates what's shown when it is valid

  • Etienne Snyman
    Etienne Snyman Day ago +2

    Hey Ben, you know we all want to see you connect this video card to your 8-bit breadboard CPU, right? Like, all of us want it!

  • Vasia Pupkin
    Vasia Pupkin 3 days ago

    Wizardry.

  • Christopher Gwaltney

    can you do a vid on serial communication

  • Watermelon
    Watermelon 5 days ago

    Still better than Intel HD Graphics

  • TackleTheWorld
    TackleTheWorld 5 days ago

    Granny Approved! You just explained video so that a grandma could understand it.

  • RC Stuff
    RC Stuff 5 days ago

    Even this is better than my Intel HD graphics

  • Mr. Meticulous
    Mr. Meticulous 5 days ago

    I was kind of annoyed at the fact that we had to cut our potential 200x150 resolution down to a quarter, 100x75, just because we couldn't fit all the address bits as coordinates into the EEPROM's address bits. After all, a 256K EEPROM full of 8-bit words has over 32K of address lines, and a 200x150 image has 30K pixels, so we should have more than enough space for each pixel.

    But because for simplicity's sake, Ben didn't make full use of the EEPROM's address spaces at 3:20. A 200 pixel-wide binary coordinate using 8 bits would waste the remaining 56 possible address, as instead of incrementing into them, we "reset" the x-value and then increment the y-coordinate instead. Similar case with the y-address, a 150 pixel-wide coordinate would waste 256-150 = a whooping 106 possible addresses.

    This is why despite the 256K EEPROM having 32K unique address, more than enough for a 30K pixel image (200x150), due to the simplistic way of implementing the coordinate system we continuously waste tons of address lines that we cannot easily access in an intuitive way.

    We could get around this by brute-forcing with a second EEPROM and exploiting the chip-enable but that would be way too much unnecessary work if you're swapping out the chips. But adding extra counting circuitry to convert the unfortunately wasteful coordinates into linear addresses that count continuously from 0-30K pixels would be possible, albeit annoying to implement. However, it all depends on how good you want your *BREADBOARD* video card to be.

  • MateoConLechuga
    MateoConLechuga 5 days ago

    "Python is the best way to convert the PNG" -> ImageMagick anyone?

  • Kevin Cantrell
    Kevin Cantrell 5 days ago

    Is there any chance there would be a kit for this as well on your website?

  • GALAXY555
    GALAXY555 5 days ago

    Hi i love your videos and a big fan of your work. Can you please make a playlist on Arduino programming as the way you teach is incredible. would be amazing thanks.

  • Ryan Citriniti
    Ryan Citriniti 6 days ago

    Intel hd graphics is still worse

  • Meatboy 106
    Meatboy 106 7 days ago

    This is such a nice design and a great video !
    It also help to realise the ludicrous complexity of an actual computer with an actual video card.
    I just think that your explanation about the 2 resistors used to output the 4 desired voltages is a little bit misleading in the 10 and 01 cases.
    I do not intend to teach you anything in the following lines. It is only targeted to the interested reader ;).
    It is almost said that when one of the resistors is at 0V, then it is as if it wasn't there, which it would be if it was not connected at all (neither 0V nor 5V but wire in the air).
    Here, when it is grounded, it acts in parallel to the 75 ohms impedance of the VGA port which is also grounded.
    Luckily, 75 ohms being relatively low compared to the two other resistors, the result remains close enough (I'm too lazy to do the math).
    The 1.5K, 680 and 75 ohms resistors are actually wired in a Y shape with the middle point being the at the targeted voltage, one of the branch always being at 0V (the VGA port) and the two others being the inputs.

  • An Dy
    An Dy 8 days ago

    Wow, excellent video(s) -- huge thanks for this, very interesting, please keep up this nice work!

  • Light House Of World

    Make it interfacing with lcd and keypad

  • CapnAhabChannel
    CapnAhabChannel 8 days ago

    Probably the most instructive electronics video I've ever watched on TheXvid. Kudos to you, Ben Eater.

  • Datamancer
    Datamancer 8 days ago

    Ok, but what does this have to do with mining Bitcoin?

  • Adam.Avacado
    Adam.Avacado 8 days ago +1

    Can you make a video about 7 segment display decoders?

    • Rzułta Łuć Potfotna
      Rzułta Łuć Potfotna 6 days ago

      He made one, in which he first showed a very complex circuit he made and then used eeprom for that

  • vperm2f
    vperm2f 8 days ago +2

    thumbs up for not powering-down when switching the eeproms 😂

  • Pandorax
    Pandorax 8 days ago

    Still better than my video card.

  • Robert DoneRight
    Robert DoneRight 9 days ago +1

    A truly EXCELLENT video and WONDERFUL comments. Brings back memories of long ago... good memories assumed lost forever. ~ thanks!

  • computation
    computation 9 days ago

    Hey ben, I am building you 8-bit computer project. I'm doing it frome skrach and with out one of your kits ( I didn't know there where kits untill after I ordered everything off of Amazon) and I'm haveong trouble powering the computer. I cut opan an old iPhone charger and did some soldering, and Etc, and it seam to not be enough power for more then just the clock circuit, what do you recommend that I shoud do

  • Felipe Rodrigues
    Felipe Rodrigues 9 days ago

    Great video!!! I want to build this one, but I don't know nothing about electronic eeprom etc, I just know programming .Net platform xD how do I start? I mean first step??? is there a book or video for dummies? tks a lot

  • lânchánđời nguyễn

    so you can built a whole windows computer with scraps.You are super man

  • Raj Patnaik
    Raj Patnaik 9 days ago +2

    You are a genius. Linux expert, python expert, electronic expert, what more do you want.
    Immediate sub

  • Rubik's Cubed
    Rubik's Cubed 10 days ago +1

    I like your spunk, kid. I would never have to confidence to add a component to my circuit while it's still powered...

  • Rubik's Cubed
    Rubik's Cubed 10 days ago +2

    I love how you just used fixed resistances for levels of brightness to really give it a whole "DIY" feel, but would you be opposed to possibly expanding this and using a DAC on a breadboard to really give you a whole range of brightness values? I know that that sounds really stupid, but It would be fun to see this project expanded a little. Also couldn't you have used two EEPROMs instead of one to get a larger number of address lines, since adding a second EEPROM as the upper register would effectively give you one larger EEPROM with double the number of address lines and double the output? Surely, there would be some way to tie the output lines together using a gate of some sort to give you one output line for each color even though you might have multiple lines of color data for each color coming out of each EEPROM, right?

    • Mr. Meticulous
      Mr. Meticulous 5 days ago

      Yes, you can do that!

      electronics.stackexchange.com/questions/275783/construct-an-32-x-8-ram-using-4-of-16-x4-ram-chips

      If you increase the word length (he had 8 output bits, adding another one in parallel would give him 16 output bits from his 15 address lines), then for every single address you can double the amount of data stored at that one address (pixel), so you could increase color depth. You could then go from 6-bit RGB (which is what Ben did in this video) to up to 15-bit RGB (en.wikipedia.org/wiki/List_of_monochrome_and_RGB_palettes#15-bit_RGB).

      If you wanted to increase your resolution, then adding a second EEPROM to double the number of address line combinations (by taking advantage of the chip enable pin) and thus double the resolution area.

  • Γιάννης Πίτσος

    Really cool and educational video! Got me thinking if modifying this project to fit a 720p / 1080p monitor and using digital potentiometers to achieve a greater variety of colors is possible. Definitely going to give it a shot, so any advice would be appreciated!

  • Martin Herbert
    Martin Herbert 10 days ago

    For those that don't have a commercial EEPROM programmer, can you supply a text file with the hex data?

  • Árpád Goretity
    Árpád Goretity 10 days ago

    This is more like the world's BEST video card.

  • Superior infernape
    Superior infernape 10 days ago

    you are a god

  • Zeta Convex
    Zeta Convex 10 days ago

    I would have given up on this project long, long ago.

  • Orange Juce
    Orange Juce 11 days ago

    special thanks to: ......DEBILU KRASTAS...... :DDDDD

  • David Forgeas
    David Forgeas 11 days ago +1

    I wondering about the length of cables, the heat dissipation, i.e. all kind of real world considerations. How to you know a circuit is going to work on a breadboard as opposed to require a ASIC for example? What's the limit?

  • Martin Herbert
    Martin Herbert 11 days ago

    Just finished building the circuit and getting the timings correct.
    When I connected to a VGA monitor, it seemed to interfere with the Vertical Sync Pulse. I limited the current supplied by my PSU and that seemed to correct the problem!
    Any ideas why this is? And what can be done?

  • The Everything Core
    The Everything Core 11 days ago +1

    every time he says "so I'm gonna add another breadboard" I be like :o

  • Daniel Melendrez
    Daniel Melendrez 11 days ago

    This very video justifies the existence of internet. This is why I pay for it. This is why I live for it. Impeccable video! P.S. I am heading to Patreon right now... ;)

  • Paul Kendik
    Paul Kendik 11 days ago +1

    Can't wait for this to be integrated with your computer. Awesome job Sir!

  • sampath kovvali
    sampath kovvali 12 days ago

    can any one help me , were to buy the electronic components

  • Isaiah King
    Isaiah King 12 days ago +2

    As a CS person, im horrified you used a try catch block instead of an if
    Also as a CS person who took an electrical engineering elective, you are a god

  • ophello
    ophello 12 days ago

    When will we see the next video???

  • Mohamed Saeed
    Mohamed Saeed 12 days ago

    He totally sounds like *AGENT PHIL COLSON *

  • Tanmay Garg
    Tanmay Garg 12 days ago

    If we were taught these in schools

  • Sing For Moment
    Sing For Moment 12 days ago

    Can we put all this logic into SOC ? less wires I guess. Oh, thats what nvidia do 😂

  • Garrett Fogerlie
    Garrett Fogerlie 13 days ago

    Wow, such a great video! Great job and thanks for the great explanations while still keeping the video succinct! I’m a new subscriber for sure!

  • mario aviles
    mario aviles 13 days ago

    Jesus Christ that was cool

  • agvulpine
    agvulpine 13 days ago

    Gouldian Finch image source @ www.flickr.com/photos/volvob12b/8952067299

    • Rzułta Łuć Potfotna
      Rzułta Łuć Potfotna 6 days ago

      "I wish more people understood and appreciated how public domain works" What do you mean?

  • agvulpine
    agvulpine 13 days ago

    2:36 Correction* "7 distinct colors, or 8 if you're counting black."

  • marshalcraft
    marshalcraft 13 days ago

    boo. I think to minimally call it a VGA card, it has to work with pci/pci express and work with a computer. So it's not a video card. This is just a talk about VGA and how it works, and basically counters, and Boolean gates and some composition of them together. But it's simply not even close a VGA card.

    • marshalcraft
      marshalcraft 13 days ago

      I minimally your audience, still has no idea on many basic concepts. Like when they plug the VGA adapter into the pci slot, boot up the computer, how come it all just works? Just magic I guess.

  • Laiq Zia
    Laiq Zia 13 days ago

    I like your videos and explanations very much.. Its awesome.. Please make a video on comparator.. Specially which is use in solar inverter

  • Kick en Evy
    Kick en Evy 14 days ago

    I have a FAST video card

  • Myckou - Vidéos Gaming

    I’ve been seeing hexadecimal codes for colours for YEARS, never wondering what it meant, and I saw the 5 seconds of you just showing « that’s blue, that’s green, that’s red », I paused the video, thought about it for 2 minutes, and had a great « Eureka » moment when I linked everything I had seen in the past - like where did the 0-255 scale come from (2 hexadecimals! 16^2 is 256)
    Thank you for this moment of understanding, it’s becoming rare and it feels great

  • Robert Eliassen
    Robert Eliassen 14 days ago

    9:37 In the 01 and 10 scenario, there should be a diode in series with the resistor (both actually), because the "0" would sink current, right? Or perhaps the EPROM is unable to sink current on its outputs?

  • ツSplatt
    ツSplatt 14 days ago +1

    Next video "do a gaming videocard"

    • Gastcast
      Gastcast 13 days ago

      Gaming video cards are different then video cards that display just pure video as they process elements then output it to the "video card section" the video card section being what he made in this video

  • Matt Hewes
    Matt Hewes 14 days ago

    Your breadboard game is phenomenal. I try to make a freaking light blink and my wires look like Dr. Seuss' Fourth of July.

  • Andy Paradis
    Andy Paradis 14 days ago +11

    I'm an electronics newbie and I'm impressed that your explanations are detailed enough to follow along without being verbose. I'll keep watching.

  • Данило Штокало

    Next video should be about *WORLD`s WORST SOUND CARD*

  • Stefan Lazic
    Stefan Lazic 15 days ago

    Nvidia: today we released our newest and bestestest video card
    Me: Hold my soldering iron....

  • Jayyy Zeee
    Jayyy Zeee 15 days ago

    Very cool! I was expecting an EEPROM to contain "LIKE AND SUBSCRIBE" and/or "BRILLIANT.ORG" :)

  • Novgorod
    Novgorod 15 days ago

    Hey, you could reduce your 6-resistors RAMDAC to a 2-resistors RAMDAC by using a serial memory!

    • Novgorod
      Novgorod 15 days ago

      Well.. ROMDAC? Or EEPROMDAC I guess?

  • Milind Khurd
    Milind Khurd 15 days ago

    U r an awesome tutor, very well explained. Appreciate the lesson.

  • T33K3SS3LCH3N
    T33K3SS3LCH3N 15 days ago +1

    Really gives a perspective how amazing actual video cards are. This is just the bare minimum for a static image, while a decently modern GPU also does literal trillions of floating point calculations per seconds, to calculate hundreds of thousands of pixels 59-140 per second from complex 3D scenes. And each pixel may have to be calculated dozens of times if there are multiple light sources.

  • David Copperfield
    David Copperfield 15 days ago +1

    me 10 years old = what are these bizarre electric boards good for anyway? and why are they so complex?

    me now 29 = Ooooh ( John Wick style )

  • sinhusoidal
    sinhusoidal 15 days ago

    But, does it run crysis? Sorry someone had to do it.

  • c car
    c car 15 days ago

    la conclusion es que es mejor que la consola de linux

  • vitsasuke
    vitsasuke 15 days ago

    it's so freaking awesome

  • Wounderful Boy
    Wounderful Boy 15 days ago

    Where's the RTX mode?

  • God Who?
    God Who? 15 days ago +1

    My proudest fap!

  • as aa
    as aa 16 days ago

    Me in the middle of this video "Zzz..."

  • владимир зайцев

    very nice.... BUT CAN IT RUN CRYSIS???? but seriously, is there any way to connect it with your 8bit PC? I think if we just put more RAM to this one, we will bee able to do something interesting with it)), may bee 2k19 implement of pong))

  • Felipe Jose
    Felipe Jose 16 days ago

    Electronic Engineering at it´s best!

  • David Fairchild
    David Fairchild 16 days ago

    I learned a lot from this. Thank you!