Shop OBEX P1 Docs P2 Docs Learn Events
Multiple VGA - Page 2 — Parallax Forums

Multiple VGA

2»

Comments

  • kuronekokuroneko Posts: 3,623
    edited 2011-04-05 20:41
    ... to get the needed four 4 cycle instructions ...
    What are those 4 instructions? Just being nosy here :)
    ... assuming that one can get all cogs off by 2 clocks.
    ID and ID+1 are 2 cycles apart by design (relative to the hub window).
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-05 20:59
    kuroneko wrote:
    What are those 4 instructions? Just being nosy here :smile:
    Not looking at my code at the moment, they amount to updating the video out, and shifts.
    kuroneko wrote:
    ID and ID+1 are 2 cycles apart by design (relative to the hub window).
    Yes and this is what I have been taking advantage of. A better design requires that 4 COGS be off by exactly 1 clock each (though I have yet to get this working and not have hub access through it off).
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-07 08:58
    I have it mostly working (the Sync still has a bit to much noise [will be taking it off the breadboard to see if this is the issue]).

    It uses 4 COGs (plus 1 for a graphics driver), 1 for the high 3 bits of red, 1 for the high 3 bits of green, 1 for the high three bits of blue, and one for the low 2 bits of red, green, and blue. The COG for the low bits also controls the sync. Since it is split into 4 cogs, and each can have, 2BPP palette for each 16 pixels, that gives enough possibilities to completely overcome the palette issue.

    It is still limited to 800x600x15BPP@60Hz (40MHz Pixel clock), due to hub access limits.

    As soon as I can prove the signal clean, I will post the code and schematic.

    Now if just NTSC were so simple.
  • ericballericball Posts: 774
    edited 2011-04-07 09:24
    Now if just NTSC were so simple.
    But NTSC is simple, at least from a sync perspective. (PAL, OTOH makes my head hurt.) Feed a TV (especially a CRT) something close to spec and it will kick out a picture. The lower refresh rates and pixel clock also means more time per pixel and smaller bitmaps. (Good for the Prop.)

    However, I will grant you that color selection / generation is tougher since you don't have easy RGB. But with only 3 pins you get more colors than VGA can manage with 8!
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-07 09:33
    ericball wrote:
    However, I will grant you that color selection / generation is tougher since you don't have easy RGB. But with only 3 pins you get more colors than VGA can manage with 8!
    Yes indeed (8 pins VGA is only 256 colors). It is the color burst that is giving me a headache on NTSC. Having to delay the offset of the color freq just enough to provide the needed rotation in the color band. Saturation is easy, just the amplitude of the color.
  • ericballericball Posts: 774
    edited 2011-04-07 11:32
    Yes indeed (8 pins VGA is only 256 colors). It is the color burst that is giving me a headache on NTSC. Having to delay the offset of the color freq just enough to provide the needed rotation in the color band. Saturation is easy, just the amplitude of the color.

    8 pin VGA is 64 colors (6 RRGGBB+ 2 sync).

    There are two easy ways to generate color / colorburst on the Prop:
    1. PLLA = 16x colorburst (57.2727MHz) and use the video generator's composite color. Just send out the same color (TV.spin uses $8A) between end of sync & active every line. Because the PLLA is free running the TV's PLL will synch to it very happily.
    2. PLLA = 4x colorburst (14.31818MHz) and use VGA mode and output Y+U Y+V Y-U Y-V. Depending on the number of PLLA per line & frame you might need to play with the "phase" of the burst (+20IRE 0IRE -20IRE 0IRE).

    My NTSC 4x2 driver uses a third method, but that's extra credit work.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-08 07:40
    Many apologies to anyone whom may be waiting on this. Yesterday I ended up spending most of the day fixing my electric scooter (broke down away from home). As such I have not got any further in getting this off of breadboard.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-08 09:09
    How do I change the name of this thread, to reflect what it has become? Or would it be better to just start a different thread, when I post my code?
  • ericballericball Posts: 774
    edited 2011-04-08 09:13
    How do I change the name of this thread, to reflect what it has become? Or would it be better to just start a different thread, when I post my code?

    New thread with a link to this one.
Sign In or Register to comment.