The world's worst video card?
Ben Eater8 HN recommenders · 2019–2024
7.1M views · tutorial · evergreen · Uploaded 2019-07-05
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.
28:03AT&T Archives: Similiarities of Wave Behavior (Bonus Edition)
AT&T Tech Channel
23:53D/A and A/D | Digital Show and Tell (Monty Montgomery @ xiph.org)
FL Studio
6:538-bit computer update
Ben Eater
22:21Reverse emulating the NES to give it SUPER POWERS!
suckerpinch
27:25“Hello, world” from scratch on a 6502 — Part 1
Ben Eater
47:52Finding the Missing Memristor - R. Stanley Williams
The Qualcomm Institute
2:19:51[LIVE] How to Achieve Proper Grounding - Rick Hartley - Expert Live Training (US)
Altium
1:07:51Shenzhen: The Silicon Valley of Hardware (Full Documentary) | Future Cities | WIRED
WIRED Investigations
14 comments from Hacker News
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: [VIDEO]
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." [VIDEO]
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: [VIDEO] Part 2: [LINK]
Maybe something like Ben Eater's video card series? [VIDEO] If i remember correctly he assembles a gfx card on a bread board. So its fairly fundamental
This one might be interesting to you: [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?
> 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: [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.
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: [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: [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] [VIDEO]
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]: [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- [VIDEO] And a digital protocol too- [LINK]
Some what related: Ben Eater's video series on building a VGA graphics card. In there he calculates the resistors to show colors. [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: [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.
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: [VIDEO]