Color NTSC 160x192 16-colors
Bean
Posts: 8,129
I was looking at my old SX stuff and ran across my design for a color video project.
I was thinking that it might be cool to try it on the Propeller. It is basically a fully bitmapped 160(h) x 192(v) 16-color display.
The original SX thread is here http://forums.parallax.com/showthread.php?p=603796
The screen takes a little under 16K of cog hub memory. That should leave a good bit for spin code.
I have posted the working code. I don't know if the graphics library could be modified to work·with this. I think it only works with 1 or 2 bits per pixels layouts.
Give it a try and let me know what you think.
[noparse][[/noparse]EDIT]
· I have modied the driver and the graphics.spin library to support 16 colors (4 bits per pixel). I think I have everything working EXCEPT the "FILL" command. If anyone can help to fix it I'd appreciate it.
Bean.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
Post Edited (Bean (Hitt Consulting)) : 5/24/2009 2:04:37 AM GMT
I was thinking that it might be cool to try it on the Propeller. It is basically a fully bitmapped 160(h) x 192(v) 16-color display.
The original SX thread is here http://forums.parallax.com/showthread.php?p=603796
The screen takes a little under 16K of cog hub memory. That should leave a good bit for spin code.
I have posted the working code. I don't know if the graphics library could be modified to work·with this. I think it only works with 1 or 2 bits per pixels layouts.
Give it a try and let me know what you think.
[noparse][[/noparse]EDIT]
· I have modied the driver and the graphics.spin library to support 16 colors (4 bits per pixel). I think I have everything working EXCEPT the "FILL" command. If anyone can help to fix it I'd appreciate it.
Bean.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
Post Edited (Bean (Hitt Consulting)) : 5/24/2009 2:04:37 AM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Looks really good !
I would use it on my autopilot but I am running out of room !
If anyone knows if the graphics library (used for the graphics demo) could be modified to work with a 4-bits/pixel memory layout let me know.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·······
······· "What do you mean, it doesn't have any tubes?"
······· "No such thing as a dumb question" unless it's on the internet
········
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
·I am using a 7" T.v.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·······
······· "What do you mean, it doesn't have any tubes?"
······· "No such thing as a dumb question" unless it's on the internet
········
Interesting driver.. [noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
OK...OK... I updated it with the a high-tech "Line" routine.. Ohhhh.
I'll have to look at the graphics object to see if I can make it work with this driver.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
After leaving this run for more than 45min I had to start fiddling with my V-hold
to keep the image from rolling. Didn't matter if I reset the board.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
I've run it on three different screens and haven't seen it.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
You may download the demo from the top of the thread. If I can get the "FILL" command working and everything else checks out, I'll put this in the OBEX. And write a version for the Hydra.
Comment welcome.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
some notes:
gray looks like a checkerboard, and has orange and blue fringes.
theoretically would there be a way to change the palette, or is everything pretty much fixed?
I've remarked everything (including the bitmap clear) except the triangle drawing,
and it looks pretty sweet. Gonna leave it running while I do some chores and see
if it starts flipping again.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
I guess your driver is the top candidate for my project. I've seen another driver from Steven Messenger which was kind of impressing as it does not use double buffering but did not flicker. It only is a 4 color mode driver.
When I played a little bit with your driver (removing the waitcnt;o) I thought the technique that Seven used would be interesting for your driver as well. He's doing all the graphics output in XOR-mode. You draw something once and it will be shown on the screen, you draw it again and it dissappears.
What I am dreaming of is, having 320x200x16 graphic mode which is fast enough for showing some nice icons for a cute menu-system. Maybe with some smoth scrolling of submenus.
But that has to wait until I'm done with my RAM interface CPLD.
Yeah the flickering is because there is not enough RAM to do double buffering.
I think I will change it to 128x192x16 so that I CAN do double buffering.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
Great work on the driver!· I ran the demo for about an hour on an old CRT display and did not see 'flipping'· I will try it on an LCD screen to see if I get the same results as OBC though.
Re: Double buffered display: Would it be closer to 128x96x16, or are you planning on using more Hub RAM?·
I don't like the blank bands at the top and bottom.
I'm thinking about making it 160x112 with double high pixels. This would make the pixels more square, fill the entire screen, and use even less memory.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
Post Edited (Bean (Hitt Consulting)) : 5/27/2009 12:40:03 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
I don't have a picture, but yeah that is what it looks like. I just have 16 extra blank lines at the top and bottom.
BTW It looks great on your 3.0" color LCD screen.
I'm working on the 160x112 mode now.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
Of course the pictures don't do it justice.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
There is a fine line between arrogance and confidence. Make sure you don't cross it...
I think Timothy's LCD's are just camera shy
The first pic is closeup of 160x160.
I found if I backed up a little they came out a little better. Second shot 160x160. Third shot 160x112.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
And I just happened to sneak in a pic of a way cool uOLED expander device that a guy in·Hong Kong·makes
Sorry Bean for OT.
Jim
I was wondering if I can please ask for some help getting the driver on post #1 working on some different pins.
I'd like to get it working on pins 16,17,18 I think the changes therefore are:
But I'm not even getting a flicker on the screen. So deep inside the TV 160x192x16 I found this line which I think is set locally rather than via the main spin program:
and I changed that to LONG %00000000_00001111_00000000_00000000
but still not a flicker on the TV. Are there any other variables hidden away in the code somewhere, or is it maybe a timing problem of some sort?
Any help here would be most appreciated as this appears to be the 16 color driver with the most number of pixels.
Attached is a working program with the pins setup for pins 16-18 - some of the code is rather similar to the code in this thread so if anyone can spot what I'm doing wrong I'd be very grateful.
Bean
The current setting for this is VideoVCFG LONG %0_01_0_0_0_000_00000000000_001_0_11110000
The code examples I have for pins 16-18 all are calculated in code rather than as a constant so it is a bit hard to work out what the value ends up as.
what would this value be for pins 16-18? is it
VideoVCFG LONG %0_01_0_0_0_000_00000000000_010_0_00001111 ' dracblade pins 16-18
Yes, that looks right to me.
Bean