The world's worst video card?
Ben Eater8 HN recommenders · recommended in 7 months, 2019-2024
7.1M views · 7 years ago · tutorial · evergreen
Ben Eater explains how VGA signals work and builds a breadboard circuit that produces correct sync timing so a monitor recognizes the signal. He then builds toward displaying an image from simple logic chips.
HN recommends it as a clear, from-scratch look at how video hardware works, understandable with just basic logic knowledge.
24:23World's worst video card? The exciting conclusion
Ben Eater
3.2M views • 7 years ago
28:43Why build an entire computer on breadboards?
Ben Eater
3.4M views • 6 years ago
6:538-bit computer update
Ben Eater
2.8M views • 10 years ago
13:02Making logic gates from transistors
Ben Eater
3.1M views • 11 years ago
27:25“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
5.9M views • 7 years ago
27:528-bit CPU control logic: Part 1
Ben Eater
1.5M views • 9 years ago
11:23How a transistor works
Ben Eater
847K views • 11 years ago
34:15How does a USB keyboard work?
Ben Eater
3.8M views • 5 years ago
33:07So how does a PS/2 keyboard interface work?
Ben Eater
570K views • 5 years ago
35:33How does Computer Memory Work? 💻🛠
Branch Education
5.5M views • 4 years ago
16:47Lines of Light: How Analog Television Works
Technology Connections
1.5M views • 9 years ago
1:37:12[7] Jim Keller, Silicon Wizard 🧙♂️
TechTechPotato
67K views • 5 years ago
1:00:34Chuck Moore's Fireside Chat 2011
GreenArraysInc
6K views • 14 years ago
11:10An Intro to KiCad – Part 1: How PCBs Are Made | DigiKey
DigiKey
517K views • 8 years ago
24:46Building a 6800 CPU on an FPGA with nMigen (part 1)
Robert Baruch
27K views • 6 years ago
2:48Series circuit - 3 LEDs
Henryk Gasperowicz
620K views • 14 years ago
3:10Homemade Transistor Demonstration
Jeri Ellsworth
151K views • 16 years ago
27:55E-paper hacking: fastest possible refresh rate
Applied Science
582K views • 9 years ago
1:40:06KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65
Phil’s Lab
987K views • 4 years ago
41:04Design Your Own Keyboard!
Ben Vallack
140K views • 4 years ago
14 comments from Hacker News
Back in university, we took the steps of: - Breadboarding some CPU components - Breadboarding a very, very minimal CPU. More like a simple Adding + Multiplication machine with 4 registers or so, with a few premade components. - Eventually moving up to microcoding a simulated CPU - Eventually writing binary code to control the microcoded CPU - At that point I kinda cheated and wrote my own assembler because I got sick of checking so many bits. - This project then stopped at an assembly level. - But then we implemented our own ML-variant interpreter and later on ML-variant compiler in OCaml - And later on we had that ML-Compiler compile itself and extended it from there. Pick your poison where to start. Just be aware that breadboarding stuff becomes very... messy very quickly[1]. And I do include Hardware in this, because you needed simpler CPUs to design more complex CPUs. In practice, you want to pick the best combination of a familiar language that is as high level as it can be. But back in the day, that would've been assembly, binary. In the case of C, it went from BCPL, in which a compiler for B was written, in which a compiler for New B (NB) was written, which then turned into C. 1: ▶ this video
> I’m not quite sure what you mean by YouTubeisms The unending barrage of memes, the animations, floating emojis, the music constantly changing pace, the bright colors, "Youtube-voice", etc. etc. Compare it with Ben Eater building a video card: ▶ this video (of course the level of detail is higher but just focus on the style, voice, lack of animations and memes. He cracks a joke here and there, but isn't full of Youtubeisms.) And yes, it's a different genre. And yes, some people hate the genre that youtube is filled with these days.
Some what related: Ben Eater's video series on building a VGA graphics card. In there he calculates the resistors to show colors. ▶ this video
Ben Eater has some videos showing the USB protocol on an oscilloscope. link link And some videos on using chips and breadboards to meet protocols- ▶ this video And a digital protocol too- link
Ben Eater has a great video[1] about building a video card from simple gates and other basic components. It goes into some detail about how a VGA signal is generated. [1]: ▶ this video
Even further to that end of the spectrum is "The World's Worst Graphics Card"[1] on a breadboard with mostly discrete logic. Fascinating. [1] ▶ this video
To clarify further, Nvidia and AMD (and probably other small players like ARM, Quallcomm, Imagination) own the patents on core shader tech, which are the building blocks of any modern GPU design. If you want to design a GPU IP that works around all their patents, you probably can, but unless you're a John Carmack x10, your resulting design would be horribly inefficient and not competitive enough to be worth the expensive silicon it will be etched on and probably not compatible to any modern API like Vulcan or DirectX. But if you just want to build your own meme GPU for education/shits and giggles, that doesn't follow any patents or APIs, then you can and some people already did: ▶ this video
Reminds me of Ben Eater's Youtube videos where he builds everything using basic gates on a breadboard. He made a video-card using ICs on a breadboard that fascinated me: ▶ this video
> Chips that didn't exist in 1978. The overall point you're making is that technology from several years later was better. Not relevant. Years later, even the Apple IIc (1984) wasn't close to a C64, not to mention an Amiga. The thing you're missing is, Commodore had purchased MOS Technology, just like Apple purchased PA Semi to make their own iPhone SoCs, and had spent years investing in custom silicon going back to the VIC in 1979. The Apple II did not have a "video chip". Wozniak had cobbled together a video chip out of a bunch of 74LS TTL chips. Here, learn to built one yourself: ▶ this video That's what I meant by "superior design". Commodore actually had integrated CMOS chips for video, audio, I/O, that they had designed in house and fabbed themselves. The Apple 2, well into the IIc days, was built like a semi-decent Arduino project. Even the Mac had gfx and DMA cobbled out of TTL chips.
This one might be interesting to you: ▶ this video “The world’s worst video card?” Ben builds a framebuffer display device on a bread board from scratch, you’ll understand what every transistor does at a high level in an hour (don’t miss part 2). That is abstractly what first principles graphics looked like some time ago - pixels were represented by a block of main memory, and the video system simply scanned that memory at the same frequency as the CRT monitor’s beam. I’d say it’s pretty important to remember that what counts as “first principles” graphics has changed over time, and there was a time before frame buffers (the first Pong game was displayed on an oscilloscope) and the way we use framebuffers today is completely different - there is no more direct access to pixels in the same way old terminals used to work. The article here is detailing how we use a higher level API to draw higher level primitives, and the hardware takes care of the pixels. I’d love to hear a little more about your goal... what’s driving you to study the old terminals?
Maybe something like Ben Eater's video card series? ▶ this video If i remember correctly he assembles a gfx card on a bread board. So its fairly fundamental
Not the same thing, but you reminded me of this since it's in a similar vein. Ben Eater went through the entire process of building a VGA "video card." Anyone with a basic understanding of logic circuits has enough background to understand it. Worth a watch. Part 1: ▶ this video Part 2: link
I'm actually more excited to see a new Ben Eater video on youtube than anything else. His stuff is just fantastic. Even though it's lower level than I've ever worked, it's extremely entertaining and educational. His 6502 series is just great, but I want to highlight another couple of videos he did: "Let's build a circuit that displays an image on a VGA monitor! In this video, I talk about how VGA signals work and build a circuit that provides the correct timing of sync signals so that a monitor recognizes the signal." ▶ this video
Ben Eater did a video on driving a VGA display using a breaboard circuit. He builds up to it in his usual amazing teaching style, highly recommend: ▶ this video