Announcement

Collapse
No announcement yet.

Pmmc file on uVGA 2 gfx

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pmmc file on uVGA 2 gfx

    hi, am i correct in saying that the DISPLAY TOOL for changing the PMMC file does not work on Uvga2 gfx ? i want to set up the plash screen and change the default resolution..
    Can anyone advise how to do this ?

    Thanks
    Daniel

  • #2


    Hi Daniel,
    DISP tool us used for SGC only.
    Changing of the resolution on GFX is under program control.
    Splash screen does not exist on GFX.
    Regards,
    Dave

    Comment


    • #3


      Cool, no wonder i coudnt get it working..

      Thank you

      Comment


      • #4


        Just one more thing, new to this so please bare with me..

        Can you point me in the direction of some examples to get me started or similar, about setting up the resolution and changing the horizantal scann rate for the uVGA please ?
        Also i read somewhere about an Autoexec file for running scripts automatically, i want to play a video file from the mem card on power up, would this be hard to set up ?


        Thanks
        Daniel

        Comment


        • #5


          Changing the uVGA settings is described here http://4d.websitetoolbox.com/post?id=5470850

          If you are using GFX then the program in flash runs at startup, if that plays a video then that's what happens.

          The Autoexec is for if you are running SGC.
          Mark

          Comment


          • #6


            Thanks agian'

            Could you point me in the direction of how to change the Horizontal scanning frequency please ? im connecting the uvga 2 to an arcade monitor and need to change the horizontal scan to 15Khz and 24 khz.

            Thanks
            Daniel

            Comment


            • #7


              What was wrong with the reference yesterday?

              I'll try again, this post http://4d.websitetoolbox.com/post/show_single_post?pid=1270036062&postcount=10

              You will need to download DISP and put in the settings for your monitor (you can't enter Hsync directly it is calculated from the other values.
              Mark

              Comment


              • #8


                You mentioned above the display program is not used on the GFX version !!
                Perhaps you might treat me like someone who has never used this thing before, as i have'nt.

                There are no settings for an analogue monitor, what settings are you talking about ?

                Is there a complete table listing somewhere that lists all commands and discribes there function ?

                i am sorry to take your time but it seems there is nowhere to find all the information in one location for this device.. Its, look at this post and then look here and then here !

                Surley there are default settings for this thing (Eg 640x480 @60 hz @31Khz) for its default resolutions that i can change ? Where are they stored ? i dont need to create a custom resolution i only need to change the horizontal sync frequency.
                if i change the default horizontal scanning frequency, that is all i need to do.

                Comment


                • #9


                  Do you want to change the resolution or the scanning frequency?
                  To set the uVGA-II to the built-in resolutions, use:gfx_Set(SCREEN_RES, 1); For 640 x 480 gfx_Set(SCREEN_RES, 2); For 800x480gfx_Set(SCREEN_RES, 3); For 320 x 240
                  If you want to set custom resolutions or scan frequencies (including front porch, back porch, etc) in a 4DGL system, you need to use the disp_WriteControl and disp_WrGRAM functions to push the appropriate values to the display chip on the uVGA-II. You use the DISP program as a calculator to calculate the required values that you need to program using 4DGL, but you can't use DISP to push those values automatically to GFX uVGA-II, only to the SGC uVGA-II.
                  Here is another helpful post:http://4d.websitetoolbox.com/post?id=5101898&highlight=disp+writecontrol
                  _______________
                  Best Regards,
                  Howard

                  Comment


                  • #10


                    Hi Dann,
                    if you are using 4DGL and wish to change the resolution to custom settings you must alter the registers as per your requirement.
                    Example:-
                    // longhand resolution changes
                    disp_WriteControl(SET_DISPLAY_OFF) ;
                    disp_WriteControl(SET_LSHIFT_FREQ) ;
                    disp_WrGRAM(0x03) ; // byte 9
                    disp_WrGRAM(0x93) ; // byte 10
                    disp_WrGRAM(0x89) ; // byte 11
                    disp_WriteControl(SET_LCD_MODE) ;
                    disp_WrGRAM(0x00) ;
                    disp_WrGRAM(0x20) ;
                    disp_WrGRAM(0x03) ; // byte 12
                    disp_WrGRAM(0x1F) ; // byte 13
                    disp_WrGRAM(0x01) ; // byte 14
                    disp_WrGRAM(0xDF) ; // byte 15
                    disp_WrGRAM(0x00) ;
                    disp_WriteControl(SET_HORZ_PERIOD) ;
                    disp_WrGRAM(0x04) ; // byte 16
                    disp_WrGRAM(0x1F) ; // byte 17
                    disp_WrGRAM(0x00) ; // byte 18
                    disp_WrGRAM(0xD8) ; // byte 19
                    disp_WrGRAM(0x7F) ; // byte 20
                    disp_WrGRAM(0x00) ;
                    disp_WrGRAM(0x00) ;
                    disp_WrGRAM(0x00) ;
                    disp_WriteControl(SET_VERT_PERIOD) ;
                    disp_WrGRAM(0x01) ; // byte 21
                    disp_WrGRAM(0xFB) ; // byte 22
                    disp_WrGRAM(0x00) ; // byte 23
                    disp_WrGRAM(0x1B) ; // byte 24
                    disp_WrGRAM(0x03) ; // byte 25
                    disp_WrGRAM(0x00) ;
                    disp_WrGRAM(0x00) ;
                    pause(50) ;
                    disp_WriteControl(SET_DISPLAY_ON) ;
                    gfx_Set(X_MAX,799) ; // x pixels -1
                    gfx_Set(Y_MAX,479) ; // y pixels -1
                    gfx_Cls() ;
                    gfx_Set(SCREEN_MODE, PORTRAIT);



                    That is code for800x480 resolution.

                    By using the DISP tool as a 'calculator' and referring to the calculations in the device data sheet you can alter the register settings in the code example above to suit your needs.

                    Have you tried the default screen res of 640x480 for the arcade monitor?
                    I would have imagined that it would work 'as is'
                    Regards,
                    Dave

                    Comment


                    • #11


                      Thanks'

                      I only want to change between the default resolutions that are there and change the horizontal frequency, the resolution will stay the same..
                      I have no need to create any more resolutions custom or otherwise..

                      It appears im out of my depth here,

                      Is there any sample programs that demonstate changing between resolutions, something for the stupid people like me ?
                      Arcade monitors are hard wired ( at least most) to accept one frequency at a time ( there are usually jumpers) Most arcade chassis do 15Khz and 24 Khz some may include 31Khz like this Uvga but they are usually just an overgrown computer monitor.

                      Comment


                      • #12


                        The resolution back in the pure analogue days hsync and refresh rate was often the way the monitor's capability was specified.

                        These days the it is usually not specified the same way. Have a look here for a couple of sentences that spell out 'neatly' how the Hsync value is calculated http://en.wikipedia.org/wiki/Horizontal_scan_rate

                        So, for the 'default' 640x480 settings as per DISP, the Hsync is (480 + 1 + 30 + 14) * 60. Or 31.5 khz (The calculation in DISP is wrong )

                        Of course now you can see that your 15Khz and 24 khz monitors must be using interlaced mode as there is no way to write 480 lines 60 times a second much lower than 30khz.

                        This is a problem as the SSD1963 cannot do interlaced mode, whether your monitor can do, say 30hz refresh non interlaced or not I have no idea.

                        Another issue is the polarity of the H and V sync pulses, early video standards were all over the place, modern monitors use -ve for both. The SSD1963 can create either, but you need to know what the monitor expects.

                        Older monitors often specified 'Sync Pulse', 'Front Porch' and 'Back Porch' in microseconds (perhaps). The SSD1963 needs it to be converted to pixels in line with the modern standard.

                        So to sumarize, if your monitors only work with interlaced video you will not be able to use them. Otherwise, you will need to find out more about the signal they are expecting so you can calculate the correct parameters to user to set up the SSD1963 chip
                        Mark

                        Comment


                        • #13


                          It seems we are getting no where and im taking your time,
                          640x480 would be set to 31K
                          The lower resolutions would have a lower frequency, 15K for 320x240 for example..

                          This thing is a nightmare to understand, especially with little to no documentation for it., it seems you need to be a very good programmer to even get started with it..

                          I think i'll start with something much simpler on the uVGA and work my way up to this..


                          Appreaciate your help on this but it looks like its beyond me to undrstand at the moment..

                          Thanks

                          Comment

                          Working...
                          X