Simple VGA for Ben Eater's 6502 - Increasing the resolution

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024
  • I wanted to increase the resolution of the Simple VGA circuit. The first step is doubling the horizontal resolution, so I'm going to talk through how the timings work, what we can do to double the resolution, and show how the circuit works after those changes.
    The project source etc is on github - I'll update it soon with the new schematics, code, etc: github.com/gfo...

ความคิดเห็น •

  • @Aruneh
    @Aruneh 3 ปีที่แล้ว +6

    Fascinating. I’m slowly working on my BE6502 kit, and hope to get vga at some point.

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว +1

      That's great! Good luck, it's a lot of fun.

  • @colonelbarker
    @colonelbarker 3 ปีที่แล้ว +4

    Thanks for making this video, if I'm totally honest your VGA videos are the ones that interest me the most, possibly because that's what I'm currently working on.

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว +3

      That's great to hear! Partly the reason I got the ARM2 CPU was to allow me to drive VGA with a more powerful CPU. But I also have plans for a smarter VGA circuit, optimized to be driven by a 6502, that takes some of the heavy lifting away from the CPU and allows it to perform well at high resolutions. And I'm starting to wonder about 3D accelerated rendering on a breadboard - but that'll have to be much longer term I think!

    • @colonelbarker
      @colonelbarker 3 ปีที่แล้ว +2

      @@GeorgeFoot phew! I was worried you would be offended. Honestly my dream is to get my breadboard SAP2 to drive a VGA screen so my focus is keeping the VGA and CPU as separated as possible.
      I do think you might be better off with three eight bit shift registers outputting four high and low bits for each pixel so red high, red low, blue high, blue low, green high and green low, allowing for 15 possible colours being shifted out, pushing four pixels at a time.
      Slu4s monochrome design pushes out 8 pixels at a time and seems to work pretty well at higher resolutions.

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว +2

      With that many bits per pixel it may be better to use one 8-bit DFF per pixel instead of shift registers, and enable one OE at a time. It's one configuration I've been considering.
      The other challenge with that kind of bit depth is memory bandwidth, which hurts you twice - once, in that you need a separate IC for each 8 bits; and again, because the CPU has so much data to update for each pixel, which is very challenging for a 6502. I'm interested in what we can do on the front end of the video circuit to make that easier for the CPU.

  • @PhilR0gers
    @PhilR0gers ปีที่แล้ว +1

    This is useful information, and I like the gradual build-up of resolution.
    I'm currently building a near clone of my first computer from 1979, the Microtan 65, but with a W65c02 clocked a lot faster than the original, which was 750kHz.
    And of course, I'm using better RAM and EEPROM.

  • @mheermance
    @mheermance 3 ปีที่แล้ว +5

    Doubling the resolution by halving the color data was common in the 6502 era. So this technique is apropos.

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว +1

      I might go in the opposite direction soon - three bits per pixel at 640x480. Not sure yet though!

  • @matthewpeterson5159
    @matthewpeterson5159 3 ปีที่แล้ว +1

    I'd love to see more of the homebrew DRAM stuff! Thanks for the video! :)

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว +1

      You're welcome. The DRAM cells are slightly too wide to fit 8 bits across a single breadboard. I might have to either take out the LEDs, or build it on veroboard. Or just split it across two breadboards of course.

  • @PeetHobby
    @PeetHobby 2 ปีที่แล้ว

    14:48 Do you not have couple of flipflops and AND gates to make an input register?

    • @GeorgeFoot
      @GeorgeFoot  2 ปีที่แล้ว

      Maybe - but if I built a shift register out of flipflops though it would still need two modes - load and shift - so two different things driving its input pins, and there's potentially a lot of complexity in that.

  • @edgeeffect
    @edgeeffect 2 ปีที่แล้ว +1

    Oooh... the padding, the padding!
    Projects using the old 8-bit processors always "beam me back" to the 1980s...
    And I just don't know what the cost accountants would say to the engineers about all that RAM used for padding back here in the 80s ;) ;) ;)

    • @GeorgeFoot
      @GeorgeFoot  2 ปีที่แล้ว +1

      Haha, yes, these screen resolutions were mostly designed for the visible area to fit into a sensible memory space - this kind of virtual width and height really doesn't fit well! Though 640x480 was never a good resolution to fit in a power of two, it's about 300,000 pixels and so even if you only store the visible area, there'll be space left over.

  • @climbeverest
    @climbeverest 2 ปีที่แล้ว

    Incredible

  • @ericwalls7717
    @ericwalls7717 3 ปีที่แล้ว +1

    We can rebuild him. We have the technology. We can make him better than he was. Better, stronger, faster!!

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว

      Is that from a movie? I'm not sure I understand the connection

    • @ericwalls7717
      @ericwalls7717 3 ปีที่แล้ว +3

      @@GeorgeFoot cheezy American 70's TV series trope. I'm happy you're revisiting the 6502!

    • @GeorgeFoot
      @GeorgeFoot  3 ปีที่แล้ว

      Ah ok, I must have missed that show then!

    • @ericwalls7717
      @ericwalls7717 3 ปีที่แล้ว +3

      "The six million dollar bionic man" Steve Austin, could very well have had the 6502 installed.
      XD

  • @arkanjo7509
    @arkanjo7509 3 ปีที่แล้ว +1

    thanks