Shop OBEX P1 Docs P2 Docs Learn Events
Propeller PAL/NTSC output signal quality - no detection by TFT - problem — Parallax Forums

Propeller PAL/NTSC output signal quality - no detection by TFT - problem

cheddarcheddar Posts: 10
edited 2010-10-31 13:22 in Propeller 1
Hi propeller forum,

can you help me solve a mystery ? :confused:

i played around with my propeller demo board, and its tv output connected to an old bulky commodore 1084s screen.
Everything works fine on that screen, also, for example Chip's Keyboard Demo v1.0 (Keyboard_Demo.spin) routines.

Now i recently bought a tiny tft from ebay for less than 30$.
(see it's data below). Would be a great match for a small project.
Well, that display works fine with PS2 PAL output,and with a CANON camera's PAL and NTSC ouput... but it does not show the Propeller's video output.

How can that be ? The prop's video output works OK on my old 1084s screen but not on that 3.5 inch tft. The 3.5 inch screen does not seem
to detect the video signal, and not even switches on it's backlight for it, it appears.

For any other composite video source i have (PS2, camera), the 3.5 inch tft works fine.

I scoped the prop's video signal, it seems strong enough at first sight.
Did anyone ever experience such problem, and knows a solution ?

Thanks,
Cheddar

attachment.php?attachmentid=74809

attachment.php?attachmentid=74810

attachment.php?attachmentid=74808
1536 x 1152 - 160K
695 x 809 - 495K
620 x 873 - 389K

Comments

  • SapiehaSapieha Posts: 2,964
    edited 2010-10-30 06:37
    Hi cheddar.

    I have that one BUT not have problems with it.


    Ps. Have used to drive it both 12V and 9V voltage without changes in video quality


    cheddar wrote: »
    Hi propeller forum,

    can you help me solve a mystery ? :confused:

    i played around with my propeller demo board, and its tv output connected to an old bulky commodore 1084s screen.
    Everything works fine on that screen, also, for example Chip's Keyboard Demo v1.0 (Keyboard_Demo.spin) routines.

    Now i recently bought a tiny tft from ebay for less than 30$.
    (see it's data below). Would be a great match for a small project.
    Well, that display works fine with PS2 PAL output,and with a CANON camera's PAL and NTSC ouput... but it does not show the Propeller's video output.

    How can that be ? The prop's video output works OK on my old 1084s screen but not on that 3.5 inch tft. The 3.5 inch screen does not seem
    to detect the video signal, and not even switches on it's backlight for it, it appears.

    For any other composite video source i have (PS2, camera), the 3.5 inch tft works fine.

    I scoped the prop's video signal, it seems strong enough at first sight.
    Did anyone ever experience such problem, and knows a solution ?

    Thanks,
    Cheddar

    attachment.php?attachmentid=74809

    attachment.php?attachmentid=74810
  • cheddarcheddar Posts: 10
    edited 2010-10-30 06:58
    Hi,

    I tried 12V, 9V, ... I never get an image with the prop's output,
    but i do get proper image from my ps2, camera output.

    So you think my display is defective in some way ? Or would it be the prop's output that's out of range ?


    grtz
    cheddar
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-30 07:55
    Hi,

    I have seven of these displays - the first one from one vendor works fine; the six I ordered from another vendor (not ebay) have problems with the prop, but work ok with NTSC "real" video.

    Best guess? they skimped on something, I think to do with sync detection based on what I see on the screen.

    Bill
    cheddar wrote: »
    Hi,

    I tried 12V, 9V, ... I never get an image with the prop's output,
    but i do get proper image from my ps2, camera output.

    So you think my display is defective in some way ? Or would it be the prop's output that's out of range ?


    grtz
    cheddar
  • cheddarcheddar Posts: 10
    edited 2010-10-30 08:56
    "I think to do with sync detection"
    --> yes, i think so too.
    What did you do with your 6 non working displays ?
    Send them back ? or are you still hoping for a solution ?
    I am determined to find a way to get it working anyway.
    --> how can i make the props video signal look more like a 'real' video signal --> what specific 'defect' is causing the trouble...

    a mystery at the moment.

    one difference is the DC level incurred in the prop,
    as compared to other video output.
    So i decoupled the signal with a capacitor. but still no success.
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-30 09:09
    Dis-assembling the non-working displays and trying to fix them is on my long "to do" list; I am quite sure it will be possible to get them working.

    I'd try to get a B&W NTSC signal working first, or try the PAL mode of the displays. Also, I did dis-assemble one, and there were some pads for some control buttons - I'd try populating those.
    cheddar wrote: »
    "I think to do with sync detection"
    --> yes, i think so too.
    What did you do with your 6 non working displays ?
    Send them back ? or are you still hoping for a solution ?
    I am determined to find a way to get it working anyway.
    --> how can i make the props video signal look more like a 'real' video signal --> what specific 'defect' is causing the trouble...

    a mystery at the moment.

    one difference is the DC level incurred in the prop,
    as compared to other video output.
    So i decoupled the signal with a capacitor. but still no success.
  • LeonLeon Posts: 7,620
    edited 2010-10-30 09:56
    I have one of these:

    http://www.darkplanets.co.uk/product_info.asp?pid=416

    and it works very well with the Propeller (PAL and NTSC). They cost a lot more than $30, though.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-10-30 10:52
    The monitor may not be terminated. Without termination, the standard (and incorrect) Prop video resistor DAC puts out 3.3V P-P, which is way too high. (It should be 2V P-P without termination.) Try putting a 75-ohm resistor across the video terminals and see if that helps.

    I ran into this same issue with a cheap DVD slave monitor not too long ago.

    -Phil
  • cheddarcheddar Posts: 10
    edited 2010-10-30 14:13
    @PhiPi : tnx , i tried with 75 ohm parallel, but no success :-(

    @Leon : yeah maybe i should not buy such cheap stuff, it is actually my second such display, the first one did not work at all. In the end you may have spent less money for a better display, and certainly wasted less time.

    @Bill : yeah my display nr 1 (does not work at all) has no control buttons (otherwise it looks the same).
    my display nr 2 actually has such control buttons mounted (see below).
    'bright' cycles through brightness levels, 'contrast' cycles through contrast levels. u/d l/r is funny, it lets you flip the image horizontally and vertically, and actually stores this setting for the currently used video input channel.
    attachment.php?attachmentid=74835
    770 x 683 - 43K
  • SapiehaSapieha Posts: 2,964
    edited 2010-10-30 14:51
    Hi cheddar.

    My one works on that driver.


    '' AiGeneric_Driver_TV
    '' :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    '' :: AiGeneric V2.1  :: Colaboration of work by: Doug,Hippy,OBC,Baggers  ::
    '' ::                                                                     ::
    '' :: This version supports the following:                                ::
    '' ::                                                                     ::
    '' ::   * Multiple font files  (See OBJ section: AiGeneric_Driver_002)    ::
    '' ::   * On-the-fly character definition.           .redefine            ::
    '' ::   * Exact character placement.                 .pokechar,.putchar   ::
    '' ::   * Exact character retrivial.                 .getchar             ::
    '' ::   * 16 text colors                             .color               ::
    '' ::   * text centering                             .center              ::
    '' ::   * Most standard tv_text functions.                                ::
    '' ::                                                                     ::
    '' ::     Intended as a drop-in replacement anywhere tv_text is used.     ::
    '' :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ''   Special thanks to Doug & Hippy for doing a bulk of the heavy lifting.
    
    
    cheddar wrote: »
    @PhiPi : tnx , i tried with 75 ohm parallel, but no success :-(

    @Leon : yeah maybe i should not buy such cheap stuff, it is actually my second such display, the first one did not work at all. In the end you may have spent less money for a better display, and certainly wasted less time.

    @Bill : yeah my display nr 1 (does not work at all) has no control buttons (otherwise it looks the same).
    my display nr 2 actually has such control buttons mounted (see below).
    'bright' cycles through brightness levels, 'contrast' cycles through contrast levels. u/d l/r is funny, it lets you flip the image horizontally and vertically, and actually stores this setting for the currently used video input channel.
  • cheddarcheddar Posts: 10
    edited 2010-10-30 15:18
    Hi Sapieha

    no luck :
    i tried both AiGeneric V2.1 and AiGeneric V2.1cf demo's.
    They work on my 1084s monitor but do not work on the 3.5" tft.

    grtz
    Cheddar
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-30 15:43
    Try the Parallax Reference TV driver, the one that ships with Prop Tool.

    Set it for full Interlace mode. That should work. It's a pretty darn close, in spec signal.

    You might also try Potatotext in interlace mode. It can output a full NTSC frame, with pixels doubled in the vertical axis, so it doesn't consume a ton of RAM.

    http://obex.parallax.com/objects/550/

    One of the SGI computers I used to have was very picky about seeing the half scan line in the signal. Most all display devices will deal with it being gone, and other common simplifications, but not all.

    On my driver, use text.interlace to change the mode. No other adjustments will be required to display the little demo program. With the Parallax driver, I think it's a mode change, and a size parameter change. Not near a Prop at the moment, but it's not too hard.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-10-30 15:44
    TFT monitors tend to be a lot fussier than CRT monitors when it comes to sync timing. It may be that your crystal is slightly off. You can adjust the timing by modifying your _xinfreq constant a little above or below 5_000_000 (or 10_000_000, or whatever you currently have). The amount of change needed may be no more than a KHz or two.

    -Phil
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-30 16:43
    That's awful picky, IMHO.

    Hoping it's the formatting problem, not a timing one.

    Does the display render a game console? Older computer?

    Have you run the Prop through a VCR, just as a sanity check for levels and such?

    Clearly those things won't be the solution, but might end up isolating the problem.
  • SapiehaSapieha Posts: 2,964
    edited 2010-10-30 17:00
    Hi Phil Pilgrim (PhiPi).

    Driver I referenced on my TFT works on both 5MHz, 6.25MHZ and 14.318180MHz-PLLx8 without any changes to timing's


    BUT --- must have power on BEFORE Propeller are started.

    TFT monitors tend to be a lot fussier than CRT monitors when it comes to sync timing. It may be that your crystal is slightly off. You can adjust the timing by modifying your _xinfreq constant a little above or below 5_000_000 (or 10_000_000, or whatever you currently have). The amount of change needed may be no more than a KHz or two.

    -Phil
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-10-30 19:06
    Thanks for posting this. I have one of those displays and mine does not work either. I thought it was something wrong with my propeller code.

    (Actually, mine does work, but only very intermittently. I found a partial solution by hooking up the propeller to a video transmitter, and then using a video receiver (2.4Ghz), and the locking is better but still intermittent. So, as noted above, it does possibly point to a sync problem. Or maybe the voltage.)

    It would be kind of good to get this display working, as I think $/pixel, they may work out one of the cheapest solutions for a 'self contained propeller computer'.
  • cheddarcheddar Posts: 10
    edited 2010-10-31 07:42
    hi,

    thanks all for the suggestions :

    i did a little more quick testing :
    ran the prop's output through my vcr (maybe it just connects through, not much happens, its seems, not sure if this proves anything)

    still the same situation : the prop output works on the 1084s and not on the 3.5" tft...

    any tuned channel from my vcr, however, works fine on the tft :
    attachment.php?attachmentid=74862

    and as said, the prop output does work when connected to the 1084s
    attachment.php?attachmentid=74863

    i will try some more of your suggestions, and keep you posted of the results. Let's try to save our cheap displays from the junkyard, and try to give them a useful life with our props !
    952 x 641 - 74K
    733 x 715 - 65K
  • cheddarcheddar Posts: 10
    edited 2010-10-31 08:11
    YES !!!
    a first success....
    tnx potatohead !!!
    DEMO_Potato_Text_012.spin works with simply a direct connection to the tft !!! :turn: :turn: :turn: :turn: :turn:
    attachment.php?attachmentid=74864

    some colours look unstable, but otherwise this works fine
    1014 x 760 - 159K
  • Bill HenningBill Henning Posts: 6,445
    edited 2010-10-31 10:02
    Good progress!

    I will have to try it...
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-31 10:25
    Well that suggests to me, either:

    the display is looking for a phase change NTSC signal

    , or

    a interlaced one with the half scan line

    , or

    Both!

    Would you run the demo again, this time editing text.interlace to 1 instead of 0? That will eliminate the half line, with all other signal characteristics being the same.

    I've a version here that also toggles the color burst signal, on or off. I'll have to go fetch it, to help test the color signal detection of the monitor.

    This also suggests the Parallax driver can be made to work, with the right settings.

    Can't do any looking at code until mid week though... Again, set the display to interlaced on the parallax driver. The default is non-interlaced. Actually scratch that.

    Have you tried the TV_Text.demo??

    It's got the interlace settings done, and uses the reference Parallax TV driver. Try that.

    Re: colors.

    That driver uses every single color that won't cause a display to go nuts!! Also, it seems there is some crushing of whites and blacks... Reduce the contrast, and increase the brightness, until the display is just barely lighting up black pixels. The colors should render then. Those can always not be used :)

    The patterns at the lower part of the screen show off the limits of a composite signal. S-video is required to render those without artifacts. That's why they are there.

    Does that display take s-video input?? If so, that code can be modified to output that, looking monitor perfect, essentially.
  • cheddarcheddar Posts: 10
    edited 2010-10-31 11:26
    Potatohead, thnx !
    yes indeed when i set the mode in the parallax examples to
    long    %00010           'mode
    
    (interlaced and ntsc)... and then it works.
    it works for tv text and also the Graphics Palette
    even the Keyboard Demo works more or less in that mode, now.
    (but the font is barely readable)
    ''  tv_mode
    ''
    ''    bit 4 selects between 16x16 and 16x32 pixel tiles:
    ''      0: 16x16 pixel tiles (tileheight = 16)
    ''      1: 16x32 pixel tiles (tileheight = 32)
    ''
    ''    bit 3 controls chroma mixing into broadcast:
    ''      0: mix chroma into broadcast (color)
    ''      1: strip chroma from broadcast (black/white)
    ''
    ''    bit 2 controls chroma mixing into baseband:
    ''      0: mix chroma into baseband (composite color)
    ''      1: strip chroma from baseband (black/white or s-video)
    ''
    ''    bit 1 controls interlace:
    ''      0: progressive scan (243 display lines for NTSC, 286 for PAL)
    ''           less flicker, good for motion
    ''      1: interlaced scan (486 display lines for NTSC, 572 for PAL)
    ''           doubles the vertical display lines, good for text
    ''
    ''    bit 0 selects NTSC or PAL format
    ''      0: NTSC
    ''           3016 horizontal display ticks
    ''           243 or 486 (interlaced) vertical display lines
    ''           CLKFREQ must be at least 14_318_180 (4 * 3_579_545 Hz)*
    ''      1: PAL
    ''           3692 horizontal display ticks
    ''           286 or 572 (interlaced) vertical display lines
    ''           CLKFREQ must be at least 17_734_472 (4 * 4_433_618 Hz)*
    ''
    


    There's no S video input at that display. (at least not externally).
    i 'tuned' the screen's contrast and brightness a little bit, it looks a little bit better now. What do you think :smilewinkgrin: . Not too bad for a <30$ display...?

    attachment.php?attachmentid=74865

    attachment.php?attachmentid=74866

    attachment.php?attachmentid=74867
    1536 x 1152 - 173K
    1536 x 1152 - 301K
    1536 x 1152 - 347K
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-31 11:45
    Nice!!

    I want one actually. Looks pretty great to me.

    Were you able to double the "Y scale" parameter in the Parallax driver? Go looking for that one. There are two, one for horizontal scale and vertical scale.

    Once the pixels are doubled up again, the keyboard font will be legible. Vertical scale works in multiples of scan lines, just adding 1 to the number found, will work nicely.

    It appears this display worked just like the SGI did.

    That means you need that half-scan line in there. Probably it won't care whether or not the color signal is there, or if it's phase shifted. (both Potatotext and the Parallax driver do the phase shift)

    Did you run the potatotext with interlace toggled? Whatever it is now, 1 or 0, just switch it, and see if the display breaks down. I'm curious at this point :)

    Also, change the number of characters to 64 on Potatotext, if you would. It's right at the top in the demo program. Currently, it's 40. Curious about how well it does 64, which is the max possible in color on a 80Mhz board.

    Glad it's working. You can do alot with the Parallax driver. Many games probably won't display though... Most of those run at a non-interlaced resolution, for memory reasons.

    I would not worry about the first line of dark colors seen on Potatotext. Many displays render those poorly. It's how the color circuit and video generation is. Not enough saturation to do those well. Graphics Palette actually displays the very good colors, and that's what most people use.
  • cheddarcheddar Posts: 10
    edited 2010-10-31 13:05
    hi Potatohead,

    potato at 64 char width setting, pattern in bw and color. see here :
    attachment.php?attachmentid=74874
    attachment.php?attachmentid=74875

    for the TV terminal example,
    i just modified the following values of TV_Terminal :
      width = 2             '0 = minimum
      x_scale = 2           '1 = minimum
      y_scale = 2           '1 = minimum
    

    especially setting the width higher is necessary to make the text readable. See the result below :
    attachment.php?attachmentid=74876
    1536 x 1152 - 268K
    1536 x 1152 - 283K
    1536 x 1152 - 167K
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-31 13:13
    Thanks.

    That display does round the signal down to discrete pixels. Max effective resolution on that one is probably 320 x 200 or so pixels, before drop outs begin to occur.

    You can see it on the 64 column text, where smaller pixels are just not there. Seems to me, there is some correction going on to map both NTSC and PAL to the native resolution of the display.

    On your first keyboard example, interlaced, not all the lines were being displayed. On the second, they are, which resolves the readability problem.

    On the 40 column example, all the pixels were displaying --or most all of them. The 64 column display is dropping some, but not all the pixels.

    What I suspect is a blending of the interlaced signal to a lower level of detail, for a more stable display, with fewer artifacts. That cuts down on the resolution, but also cuts down on flicker and dot crawl too.

    Doubling up worked great on the Parallax driver! The same can be done for graphics done with that one, meaning you can probably run 320x200 on it, no problem. Anything higher will drop pixels, as seen in the 64 character grid patterns, and in particular the "l" in palette.

    A quick second look shows a few cropped pixels in the 320 pixel mode too. Some small timing changes for the active scan line would probably sort that out. Not worth the trouble, IMHO. I see that kind of thing on a lot of digital displays. Analog ones just put the pixels where they land in the scan line. Digital ones will just render the pixels, they've got, and if the scan line is shifted a little, drops or crops will happen.

    All in all, a nice display for the price, IMHO.

    Glad you got some graphics on it, and thanks again for running a few test cases. Now we know something about that particular display. Somebody somewhere will save some time on it in the future. IMHO, it's pretty nice for the price. Good form factor too.
  • cheddarcheddar Posts: 10
    edited 2010-10-31 13:19
    hi

    for completeness,
    here's the rendering of 80 column mode.
    (b/w as i have the standard 80mhz demo board)

    This mode is really too much for the poor display.
    attachment.php?attachmentid=74877

    Greetz
    cheddar
    1600 x 1200 - 163K
  • potatoheadpotatohead Posts: 10,261
    edited 2010-10-31 13:22
    Yeah, it's not gonna do 80.

    A nice TV will though, as will a HDTV. Mine actually renders the text, in color at 80 columns very nicely. Lots of signal processing going on in home TV's these days...

    :)
Sign In or Register to comment.