Shop OBEX P1 Docs P2 Docs Learn Events
1 bit graphics.spin — Parallax Forums

1 bit graphics.spin

max72max72 Posts: 1,155
edited 2011-04-07 13:39 in Propeller 1
I'm playing with Rays LCDs, and as usual the buffer size is eating so much memory.
There is a 1 bit working driver, and I would like to couple it to the graphics object.
Is there a 1 bit version of graphis?
I looked around in the forum but with no luck.

Massimo

Comments

  • RaymanRayman Posts: 14,877
    edited 2011-04-06 09:01
    Is this the 4.3" or 3.5" lcd?

    I seem to recall that Ariba did a bunch of drivers for the 4.3" including a mono graphics object.

    The same thing could be done for the 3.5" display, but I don't recall right now if it has been done or not...
  • max72max72 Posts: 1,155
    edited 2011-04-06 09:56
    It is the 4.3. I have in my hand Ariba's mono driver. Anyway I only found the driver, and not a modified graphics.spin. Graphics uses a 4 colours/2bit approach, so moving to a 1 bit buffer is not so obviuos (at least for me..).

    Massimo
  • RaymanRayman Posts: 14,877
    edited 2011-04-06 10:17
    Ok, I see the problem... Yes, Ariba did not use graphics.spin, he just defined an array of pixels (bitmap) as the source...

    I guess what you want doesn't exist yet...
  • max72max72 Posts: 1,155
    edited 2011-04-06 22:28
    Thanks. Halving the stack space would help... I'll give it a try.
    Massimo
  • RaymanRayman Posts: 14,877
    edited 2011-04-07 04:17
    One cheat would be to still use the regular graphics.spin but only use the colors %00 and %11. Then, maybe you could rig it so that the pixels are fat (really two pixels wide). Then, you'd really save space because of both monochrome color and only half the actual pixels...

    Also, I did recently adapt graphics.spin for my low-cost monchrome graphical LCDs, but I don't think I did anything special because memory wasn't a problem...
  • max72max72 Posts: 1,155
    edited 2011-04-07 10:03
    That could work indeed.. I can scale the font only in one dimension to take in to account the stretching needed and fake a smaller screen... I'll investigate it.
    Thanks for the hint.

    Massimo
  • RaymanRayman Posts: 14,877
    edited 2011-04-07 10:22
    Good luck! Maybe I'd try changing the "FrameClocks" in the vscl register to be 32 times PixelClocks instead of 16 times.
    Then, set your xtiles to be half the regular value...
  • RaymanRayman Posts: 14,877
    edited 2011-04-07 10:25
    Also, you'd have to change "CMode" in the VCFG register...
  • max72max72 Posts: 1,155
    edited 2011-04-07 13:16
    another question..
    would your external memory (Flash Point RamPage) or only the ram portion work as a buffer for video output?
    After all one 23K256 SRAM chip should be enough for double buffering. Would it be fast enough?
    Massimo
  • RaymanRayman Posts: 14,877
    edited 2011-04-07 13:29
    That is high on my todo list with FlashPoint RamPage...

    I think it will be relatively easy with the 3.5" and 4.3" LCDs and perhaps doable on TV too...
  • max72max72 Posts: 1,155
    edited 2011-04-07 13:39
    That would free about 16k (!!!!) in my case. even storing only the "working" buffer on the external ram would free a lot of space.
    Moreover there would be space for array and variable storage.
    Even a RAM only add on board would help a lot....
    Massimo
Sign In or Register to comment.