Shop OBEX P1 Docs P2 Docs Learn Events
VGA 1024x768 & 1280x1024 — Parallax Forums

VGA 1024x768 & 1280x1024

RaymanRayman Posts: 14,162
edited 2007-07-18 17:30 in Propeller 1
I just got my Propellers this week and was at first dissappointed by the low resolution VGA examples provided...

But, it is now obvious that you have to dig through the forum to find the good stuff...·
So, I found the 1024x768 example by Chip and it's great, except for relatively sparse documentation!·
I spend most of the day today customizing it...

Now, I just stumbled across this 1280x1024 example a few minutes ago!

Why aren't the VGA capabilities documented anywhere?·· Do I really have to dig through this forum to find these things out?· These are from Chip, so why aren't they in the "object exchange" or in the examples anywhere?

Don't get me wrong, I'm very pleased with the Propeller hardware.· But, it seems that the software possibilities are not so completely documented.· Am I wrong?· Is there something I'm missing?

Post Edited (Rayman) : 7/14/2007 1:10:56 AM GMT

Comments

  • RaymanRayman Posts: 14,162
    edited 2007-07-14 00:38
    Anyway, here's the changes I made to move and adjust the size of the graphics window. I noticed someone had asked about how to do this in an earlier thread and didn't seem to get a good answer...

    CON

    ....

    gxt=32 '# graphics tiles in x direction (was 16)
    gyt=4 '# graphics tiles in y direction (was 8)

    w_x = 15'40 'left tile# of graphics window
    w_y = 3'30 'top tile# of graphics windows
    w_left = w_x * 16
    w_right = w_left + gxt*16 '256
    w_top = (48 - w_y) * 16
    w_bottom = w_top - gyt*16'128


    PUB start | i, j, k

    ...

    'start and setup graphics
    gr.start
    gr.setup(gxt, gyt, gxt*8, gyt*8, bitmap_base)'(16, 8, 16*8, 8*8, bitmap_base)

    ...

    'make some graphics tiles on the screen
    repeat i from 0 to (gyt-1) '7
    repeat j from 0 to (gxt-1) '15
    array.word[noparse][[/noparse]cols * (w_y + i) + j + w_x] := display_base + i*64 + j*gyt*64 + 21 'RJA

    Post Edited (Rayman) : 7/14/2007 1:08:15 AM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2007-07-14 00:56
    Several of these VGA drivers were made strictly as a demonstration of their feasibility and, because of memory requirements and the use of multiple cogs, are not very practical. There is a 1600 x 1200 pixel text driver as well that uses pretty much all the cogs to generate the VGA video.

    As you've noticed, the 1024 x 768 pixel tiled VGA driver is the most practical to use. Parallax has very limited resources and documentation of some of this software is not high on the priority list. I'm sure it will eventually happen and may possibly be done by contributors like you.
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-07-14 01:41
    Rayman said...
    I just got my Propellers this week and was at first dissappointed by the low resolution VGA examples provided...

    But, it is now obvious that you have to dig through the forum to find the good stuff...·
    So, I found the 1024x768 example by Chip and it's great, except for relatively sparse documentation!·
    I spend most of the day today customizing it...


    But, it seems that the software possibilities are not so completely documented.· Am I wrong?· Is there something I'm missing?
    [noparse]:)[/noparse] Please append appropriate code and changes to this thread. Then we'll get the powers that be to make this sticky. And have Graham index it.
  • E-Ball SoftE-Ball Soft Posts: 1
    edited 2007-07-18 17:30
    Hi guys

    There is a question that ihave. How i calculate the others parameters for a hp=800 and vp=600 resolution?

    here is an example of two resolution found in a VGA drivers of the propeller examples



    thanks



    ' 512x384 settings - signals as 1024 x 768 @ 67Hz


    · hp = 512····· 'horizontal pixels
    · vp = 384····· 'vertical pixels
    · hf = 8······· 'horizontal front porch pixels
    · hs = 48······ 'horizontal sync pixels
    · hb = 88······ 'horizontal back porch pixels
    · vf = 1······· 'vertical front porch lines
    · vs = 3······· 'vertical sync lines
    · vb = 28······ 'vertical back porch lines
    · hn = 1······· 'horizontal normal sync state (0|1)
    · vn = 1······· 'vertical normal sync state (0|1)
    · pr = 35······ 'pixel rate in MHz at 80MHz system clock (5MHz granularity)

    ' 640 x 240 @ 69Hz settings: 80 x 30 characters with an 8x8 font
    ' for my Innovatek tiny monitor, change vf to 4, and vb to 33 to perfectly center it


    · hp = 640····· 'horizontal pixels
    · vp = 240····· 'vertical pixels
    · hf = 24······ 'horizontal front porch pixels org 40
    · hs = 40······ 'horizontal sync pixels
    · hb = 128····· 'horizontal back porch pixels
    · vf = 4······· 'vertical front porch lines - orig 9
    · vs = 3······· 'vertical sync lines
    · vb = 33······ 'vertical back porch lines - orig 28
    · hn = 1······· 'horizontal normal sync state (0|1)
    · vn = 1······· 'vertical normal sync state (0|1)
    · pr = 30······ 'pixel rate in MHz at 80MHz system clock (5MHz granularity)


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Somebody told me "There is·10 kinds of people in the world, people that understand binary and not"
Sign In or Register to comment.