Shop OBEX P1 Docs P2 Docs Learn Events
Object Request: C++ VGA Support (compensation negotiable) - Page 2 — Parallax Forums

Object Request: C++ VGA Support (compensation negotiable)

2»

Comments

  • Heater.Heater. Posts: 21,230
    DavidZemon,

    Yes, no tabs, 4 space indentation, camelCase :)
  • Back to the original topic, what boards do you have that support VGA output?
  • I was specifically referring tabs in makefiles being bad.
    David Betz wrote: »
    Back to the original topic, what boards do you have that support VGA output?

    Who? Me? None.
  • DavidZemon wrote: »
    I was specifically referring tabs in makefiles being bad.
    David Betz wrote: »
    Back to the original topic, what boards do you have that support VGA output?

    Who? Me? None.
    Hmmm... How will you test any driver that gets submitted?

  • It looks like the only boards that Parallax sells with VGA outputs are the C3 ($99), the Prop BOE $(129), and the Propeller Professional Development Board ($99). No cheap options.
  • I wouldn't care if the editor would:

    - auto remove unused space from EOL
    - cursor navigate X spaces at a time, based on tab settings

    I understand why some don't like them, but they save my fingers from repetitive key banging.

    It would be less of an issue if SimpleIDE had better navigation. I'm mostly using Notepad++ now, but I still have to compile in SimpleIDE, and sometimes edit there.
  • JasonDorie wrote: »
    I wouldn't care if the editor would:

    - auto remove unused space from EOL
    - cursor navigate X spaces at a time, based on tab settings

    I understand why some don't like them, but they save my fingers from repetitive key banging.

    It would be less of an issue if SimpleIDE had better navigation. I'm mostly using Notepad++ now, but I still have to compile in SimpleIDE, and sometimes edit there.
    Well, you *could* compile from the command line. :-)

  • David Betz wrote: »
    DavidZemon wrote: »
    I was specifically referring tabs in makefiles being bad.
    David Betz wrote: »
    Back to the original topic, what boards do you have that support VGA output?

    Who? Me? None.
    Hmmm... How will you test any driver that gets submitted?

    I was hoping the community would be willing to help with that part, but hadn't decided yet. I have a proto so I could buy the pieces necessary to make it vga compat
  • David Betz wrote: »
    Well, you *could* compile from the command line. :-)

    I can make toast with a bic lighter too. Not sure why I'd want to do either one. :)

    Seriously though, I have to make sure the project compiles with SimpleIDE because that's how most users will be interacting with it.
  • David BetzDavid Betz Posts: 14,516
    edited 2015-11-25 11:58
    JasonDorie wrote: »
    David Betz wrote: »
    Well, you *could* compile from the command line. :-)

    I can make toast with a bic lighter too. Not sure why I'd want to do either one. :)

    Seriously though, I have to make sure the project compiles with SimpleIDE because that's how most users will be interacting with it.
    The odd thing is that sometimes using an IDE seems to me like using a BIC lighter to make toast. Sure some things are easier but if I have a sequence of operations that I need to do repeatedly, it's easier to write a shell script or Makefile to do it than go th
    DavidZemon wrote: »
    David Betz wrote: »
    DavidZemon wrote: »
    I was specifically referring tabs in makefiles being bad.
    David Betz wrote: »
    Back to the original topic, what boards do you have that support VGA output?

    Who? Me? None.
    Hmmm... How will you test any driver that gets submitted?

    I was hoping the community would be willing to help with that part, but hadn't decided yet. I have a proto so I could buy the pieces necessary to make it vga compat
    Somewhere I have a kit that adds a VGA port to one of the old Propeller proto boards. Maybe I should send it to you.

    I think it's this: https://www.parallax.com/product/130-32212

  • Hi,

    I don't know if this is what you are looking for, but here is an example of VGA Text Demo converted to C++.
    I have used spin2cpp to quickly convert the spin methods, then replaced the cog driver dat array with the original pasm source modified to be compiled with gcc-as. I did also a bit of cleanup to make things a bit clearer. You can easily rename the methods to your needs.

    As you can see, with recent gcc builds, it is really easy to use the pasm code almost verbatim. There are still a couple of things to be aware of (for example it doesn't support the %%-style syntax, and the local labels have a different syntax), but nothing that can't be worked around.

    Maybe you can use it as a starting point.

    Hope this helps.
  • macca wrote: »
    Hi,

    I don't know if this is what you are looking for, but here is an example of VGA Text Demo converted to C++.
    I have used spin2cpp to quickly convert the spin methods, then replaced the cog driver dat array with the original pasm source modified to be compiled with gcc-as. I did also a bit of cleanup to make things a bit clearer. You can easily rename the methods to your needs.

    As you can see, with recent gcc builds, it is really easy to use the pasm code almost verbatim. There are still a couple of things to be aware of (for example it doesn't support the %%-style syntax, and the local labels have a different syntax), but nothing that can't be worked around.

    Maybe you can use it as a starting point.

    Hope this helps.

    That's great, thank you. I especially appreciate that you pulled out the assembly instead of leaving it as an illegible binary blob. I'll take a look next time I'm playing around with PropWare.
    David Betz wrote: »
    Somewhere I have a kit that adds a VGA port to one of the old Propeller proto boards. Maybe I should send it to you.

    I think it's this: https://www.parallax.com/product/130-32212

    That looks right. This proto board was purchased about 3 years ago so it's probably the right one :). Send me an email or PM and we can arrange shipping/payment. $15 for a toy is a lot more reasonable than $99.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-11-25 17:48
    I've begun PropWare-ifying the code @macca posted. It's a great start and can be found in the vga branch. See the PropWare/video/ and Examples/PropWare_VGAText/ directories. It doesn't build yet because I need to change the way the assembly driver is linked in once.

    While doing that, I also started writing down all of the modifications I performed. The results of which can be found on my new "Standards & Conventions" page: http://david.zemon.name/PropWare/md_docs_StandardsAndConventions.html
    It is of course no where near complete, but it's a start.
  • Great news! Sounds like you don't need any further help with this at this point. Is that correct?
  • Probably correct. But long term, I still want to convert that assembly driver to cogcpp. Assembly drivers are a royal pita, and I'm sure there's plenty of code in that driver that doesn't need to be in assembly. After I look through it carefully, I'll have to decide whether the whole thing needs to run via COG RAM or if it could be converted to CMM/LMM with inline assembly and FCache in a dedicated cog via the PropWare::Runnable class. The later is ideal, because then there's none of that crazy and absurd linker magic going on.
  • Timing in the video drivers is usually pretty tight. More so for the higher res ones though. You might be able to get away with writing the text version in raw C/C++.

    J
  • Check this out. Eric Smith, the main author of PropGCC, wrote this version of Pong in COG C. It runs in a single COG and even includes a VGA driver.
  • Well, I finally got the first revision of the VGA code as a PropWare peripheral running and displaying something! How COOL :D:D:D

    Unfortunately.... it doesn't look normal. I'm looking for ideas that folks might have as to why the screen is flashing like this:

    I include the moniitor's OSD info in case that helps. I notice that the monitor resolution is set to native, which doesn't make sense since I'm sure the Prop isn't outputting that resolution.
  • No ideas what's why the display is flickering?
  • jmgjmg Posts: 15,173
    DavidZemon wrote: »
    No ideas what's why the display is flickering?

    Check other Monitors, and check the Line and Frame frequencies, with a Frequency counter, & a scope can check the sync is stable with no unexpected jumps or gaps.
Sign In or Register to comment.