Jump to content
m00dawg

What would an off the shelf video card look like?

Recommended Posts

I put this in off-topic because I'm in no way suggesting another direction from what the X16 is doing with VERA. To me this makes practical sense given the main goal is cost and simplicity. So this isn't so much about the X16 and, actually, more about what Ben Eater has been doing with his "Worst Video Card."

The last place he left it was he was able to draw banded colors on the screen using his breadboard 65C02 computer and video card. As I recall it gives the CPU very little time to do anything useful (kinda reminds be a bit of the Atari 2600 as I recall it's video solution did something similar). But thinking outloud I'm wondering what one could do by giving the video card dedicated memory and its own 65C02 which can then be dedicated to video processing. Then it could communicate with the main computer via the bus using an address map. The video CPU (I guess sort of "GPU" at this point hah) could then perhaps start doing things like managing sprites and things?

I doubt Ben is going to go remotely that far with his solutions, which seems to be great proof of concepts for learning. Such an above design is going kind of far out of that space, but to me if the primary goal of a modern 6502 computer wasn't cost first but was off-the-shelf through-hole parts, such a design like that above could be possible?

Share this post


Link to post
Share on other sites

If we wanted to discuss logical next steps for Ben Eater's video card, then I would suspect it would be:

  • Dedicated VRAM through an IO interface.
  • Hardware logic for either tilemaps or sprites.

At the clock speeds that Ben Eater is operating at, I don't expect a CPU is really on the table at any phase. Keep in mind that he needs to fully decide what a pixel will contain on the vast majority of clock cycles at 10MHz, compared to a CPU he's been able to drive at 1MHz. Even if a 6502 could execute an operation every cycle, instead of every 2-6 cycles, it'd still be 10 times too slow to act as a GPU. So instead you're looking at fixed-function hardware, which is exactly what they did in the good old days.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Indeed I'm hoping he goes at least as far as to add dedicated VRAM. I wonder what his "end game" is of sorts. I would imagine he has lessons planned out several episodes in advance but wondering if there's like a "final form" he's planning haha. His stuff has gotten the kiddo interested in it and while I don't think he's ready for assembly (language) he is finding building it interesting. Though we've only just barely finished the clock module.

Share this post


Link to post
Share on other sites

I dunno, I think he's hit a pretty good stopping point for a video card right now.

I would be interested in seeing him tackle a world's worst sound card next. 😛 You'd think that sound would be so much simpler, since it outputs kilohertz signals, but the shapes of those signals matter a great deal, and there may be interesting problems with mixing multiple channels. And would he dare tackle PCM?

  • Like 3

Share this post


Link to post
Share on other sites

I think taking perhaps one more step of having it output characters at least might be good. But yeah I agree for what he's trying to teach - I mean, the video card is a marvel but I'm not sure that's something I'd be building on my own anytime soon 🙂 Sound could be really interesting, that's a good point!

  • Like 1

Share this post


Link to post
Share on other sites

I agree with the “world’s worst” sound card next.  Seems doable and hits some new material.

  • Like 1

Share this post


Link to post
Share on other sites

I'm also intersted in such a video card. May be I'll try to build one if I'll have time and sufficient knowledge, or colaborate with others interested. I don't really care much about resolution, colors or sprites. I would be fine with ZX Spectrum like video capabilities or even simpler (minimal resolution with some color). Like @m00dawg said, I just wish a simple video card using off-the-shelf through-hole parts.

  • Like 1

Share this post


Link to post
Share on other sites

So which setup did the NES have?  Its CPU is a 6502 variant, and the other main chip is its "PPU" ("Pixel Processing Unit").  But was the PPU a second processor, or was it more the 'fixed-function hardware' approach?

(Based on what I know about NES programming - which is only very little, only from reading - I'm guessing it's not its own processor, since it seems like the main CPU has to spend a lot of time on the graphics leaving game logic crammed into vblank.  But I haven't studied it that closely.)

Share this post


Link to post
Share on other sites

On the subject of screen blanking and performance, recall that even the VIC/VIC-II based CBM machines run quicker with screen blanked.  Ben Eater could have 'easily' squeezed more perf out of that circuit by adding ICs and [wince] more wiring but it could be, it would have been too much for a breadboard without a full redesign.  The '8-bit computer' series was modular from the get-go and based on the Malvino/Brown book so that modularity was always in the plan.

I too wanted to see him implement a few 6502 asm routines, a mini kernel of sorts, to do line draw, circles, etc.  He still may but the fact that he just published the 'breadboard tips' video hints that he may have considered the video-card chapter closed and moved on to other things.

Doubt he considers himself a YouTube star, content with ad revenue and niche' fame.  Rather, he has a passion for teaching and probably has a day job.  His Patreon supporters (I'm one) probably contribute to a nice boost per video but producing these have to take a considerable amount of time/effort and there are only so many hrs. in the day.

I like being wrong so welcome the next round of awesomeness, it's been an inspiring body of work so far and yes, 'worst audio' will probably be enjoyable but will enter the world of analog circuits unless he simply interfaces a Yamaha IC or something similar which will be pretty far from 'worst'.  Modern vortrax would be fun also.

Share this post


Link to post
Share on other sites
4 hours ago, John Chow Seymour said:

So which setup did the NES have?  Its CPU is a 6502 variant, and the other main chip is its "PPU" ("Pixel Processing Unit").  But was the PPU a second processor, or was it more the 'fixed-function hardware' approach?

The NES PPU is very much fixed-function, like a really simple VERA. Like a lot of basic nerd things, I have a video for that:

 

  • Like 3

Share this post


Link to post
Share on other sites

Even the SNES relied on fixed-function hardware with the S-PPU setup, and that had the famous Mode 7 graphics. Though technically implemented as two different physical chips, a programmer treats them as a single chip, and they were not "programmable" in the same sense as being able to execute semi-arbitrary sets of commands.

Although the term "Shader" dates back to 1988, according to Wikipedia, the first GPU to introduce a programmable pipeline was the Nvidia GeForce 3, released in 2001. Even then, this was limited to the pixel shader, meaning the geometry in a 3D scene had to be fully spelled out to the GPU in a predetermined pattern of bytes, just like how raster data is spelled out in a bitmap layer on the VERA. Full, general-purpose programming on GPUs wouldn't arrive until even later, and CUDA only dates back to 2007. I wonder if they're still using shims to translate the shader work into graphics primitives to "trick" the GPU into doing the work as if it were rendering a 3D scene.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use