1. 20 Feb, 2015 1 commit
    • Jeffrey Lee's avatar
      Add support for CVT 3 byte codes & VTB-EXT blocks. Other misc fixes. · ca1955a4
      Jeffrey Lee authored
      Detail:
        c/ScrModes, h/modex - Added support for CVT 3 byte codes & VTB-EXT blocks. Add framework for sorting modes by EDID priority. Move CEA extension block handling into its own function & increase error checking.
        Resources/Germany/CmdHelp, Resources/UK/CmdHelp - Fix missing message token & incorrect syntax of syntax message
      Admin:
        Code submission from William Harden
        Tested on Raspberry Pi
      
      
      Version 0.47. Tagged as 'ScrModes-0_47'
      ca1955a4
  2. 16 Feb, 2015 2 commits
    • Jeffrey Lee's avatar
      Fix bad merge. Improve Get_DTD_ASCII & MDF saving. · 92a69868
      Jeffrey Lee authored
      Detail:
        c/ScrModes - Fix a bad merge causing a compute_modedescription() call to go missing. Fix Get_DTD_ASCII to avoid reading one byte too many, and to ensure the buffer is null terminated. Also strip any control characters. Improve MDF saving to return an error if the file couldn't be created, and to substitute various unsafe characters with underscores
      Admin:
        Tested on Pandaboard
      
      
      Version 0.46. Tagged as 'ScrModes-0_46'
      92a69868
    • John Ballance's avatar
      Added 'CreateModeFile' instead of optional file name on ReadEDID now needs a... · 16d50f7d
      John Ballance authored
      Added 'CreateModeFile' instead of optional file name on ReadEDID now needs a file path for where to save the created mdf. It'll use the name in the EDID for the file name
      
      Admin:
       tested in iMx6
      
      Version 0.45. Tagged as 'ScrModes-0_45'
      16d50f7d
  3. 14 Feb, 2015 2 commits
    • Jeffrey Lee's avatar
      Fix bogus vertical bounds reported in MDF comments · 97cb9b7c
      Jeffrey Lee authored
      Detail:
        c/ScrModes - Make sure compute_modedescription is used to initialise frame_mhz (and line_hz). Fixes bogus vertical bounds in MDF comments, and will fix order of modes as defined by sorting function modes_inorder.
        Also change horizontal bounds comment to use stored line_hz value instead of computing it on the fly
      Admin:
        Tested on Pandaboard
      
      
      Version 0.44. Tagged as 'ScrModes-0_44'
      97cb9b7c
    • Jeffrey Lee's avatar
      Numerous tweaks and fixes · d29ddabe
      Jeffrey Lee authored
      Detail:
        c/ScrModes:
        - Double-checked all the DMT timings against the spec and corrected a few mistakes in both the DMT timings list and the established timings list.
        - Tidied up DMT & established timing formatting a bit, made static data arrays const
        - Fixed preferred mode handling so that it'll forget the preferred mode if you load an MDF after reading EDID (preferred_mode->bit0 used as a cheeky flag, in preference over malloc/free). Fixes crash/bad behaviour on startup caused by returning a duff preferred mode from Service_MonitorLeadTranslation on startup.
        - Added sanity checks to avoid null pointer dereferences if preferred_mode or new_preferred_mode are null
        - Fixed preferred mode handling to work correctly with interlaced modes (fixed it to use the frame width & height instead of the field width & height)
        - Tweaked CVT extension block handling - swapped the "- 17" with "- 18" in order to take into account the presence of the checksum byte
        - Tweaked GTF calculation to round pixel_khz to nearest when calculating it. I don't think this is mentioned in the spec, but when comparing some timings against the GTF spreadsheet this fixes ScreenModes being off by 1kHz in a few cases
        - When outputing an MDF, don't output display range parameters if the block wasn't found
        - Fix MDF output of interlaced modes (frame width/height vs. field width/height), use more accurate mHz frame rate value instead of Hz one
        - Make GraphicsV_IICOp calls use the correct GraphicsV driver number; current_graphicsv_driver() function added to replace ad-hoc code in a couple of other places
        - Fix reading of extension blocks. Also tweak logic to avoid re-reading the first block.
        - Initialise 'thefilename' when calling parseedid so that ERR_NOMODES will display something vaguely sensible
      Admin:
        Tested on Raspberry Pi (ROM), Pandaboard (ROM), Iyonix (softload)
        Appears to read EDID correctly from test monitors (BenQ FP737s, BenQ FP241W, ADI TD-523N), but there are some minor discrepancies in MDF output for some modes
      
      
      Version 0.43. Tagged as 'ScrModes-0_43'
      d29ddabe
  4. 12 Feb, 2015 1 commit
  5. 11 Feb, 2015 1 commit
    • John Ballance's avatar
      Made safer to deploy in current ROMS, and added further stuff to generated mdf · 36800dfd
      John Ballance authored
      Detail:
        Added several things
        1) Readedid routine not called in module initialise.
        2) Flag added to determine whether old loadmodefile usage, or new readedid usage.
           Defaults to loadmodefile mode until a readedid command with no parameters,
           then swirches to edid reading mode. Reverts again if loadmodefile command is used.
        3) Tidied up error message when graphicsv fails to read the edid due to connectivity
           issues.
        4) Added hex dump of edid data blocks read to end of a saved mdf file.
        5) Implemented read of second ans subsequent 128 byte edid blocks, if required.
      
      Admin:
        tested in imx rom
      
      Version 0.41. Tagged as 'ScrModes-0_41'
      36800dfd
  6. 10 Feb, 2015 1 commit
    • John Ballance's avatar
      Extended to optionally generate a saved mdf instead of updating the current loaded mdf. · f2073d25
      John Ballance authored
      Detail:
        For field support it is extremely helpful to determine what a customer's monitor
        reports. Whilst (hopefully) this module will correctly produce modes the monitor
        can handle and the computer generate, when that doesn't happen support types need
        to be able to find out why, ideally using the same exact information that is generated.
        So:
        The ReadEDID command, if called with a full file name, will now save the discovered
        mdf information to that file instead of loading it.
        The resultant mdf can be used directly, or used as the basis for further
        modifications. It exports additional information in the header section
        which may prove helpful to 'mdf tweakers'.
      Admin:
        Tested in imx rom. In 'advertised' use it is the same code as before. It is
        only when the  filename is given to the readedid command that different paths
        are invoked. Further enhancements may be desirable.
      
      Version 0.40. Tagged as 'ScrModes-0_40'
      f2073d25
  7. 08 Feb, 2015 1 commit
    • Steve Revill's avatar
      Added prototype EDID support code. · d893357d
      Steve Revill authored
      This should be considered beta-quality work-in-progress code that gives us a
      new *command (ReadEDID) that attempts to read the list of supported display
      mode information from a connected monitory and configure the system for it,
      as if an MDF file had been loaded containing that information.
      
      Admin:
      
      Community testing is required for this feature. Please try replacing the
      LoadModeFile line in your !Boot.Choices.Boot.PreDesk.Configure.Monitor
      file with a line saying "ReadEDID". If you get a sensible looking list
      of modes when the machine boots, then things should be OK. If you see an
      error, please get in touch with ROOL on the "Bounties - ReadEDID" topic.
      You'll clearly need to be running a ROM with this version of ScreenModes
      in it!
      
      Version 0.39. Tagged as 'ScrModes-0_39'
      d893357d
  8. 09 Mar, 2014 1 commit
    • Jeffrey Lee's avatar
      Pay attention to Service_DisplayChanged · 39a0150d
      Jeffrey Lee authored
      Detail:
        c/ScrModes, cmhg/ScrModesv - Fire off Service_ModeFileChanged whenever we receive Service_DisplayChanged, so that our clients are informed of the fact the mode list may have changed
      Admin:
        Tested on Iyonix, BB-xM
      
      
      Version 0.38. Tagged as 'ScrModes-0_38'
      39a0150d
  9. 19 Jan, 2014 1 commit
    • Jeffrey Lee's avatar
      Ensure syncpol word of VIDC list initialised correctly · ad66229d
      Jeffrey Lee authored
      Detail:
        h/modex - Define the syncpol flags as taking up a full word of space, to avoid bits 2-31 being left undefined when generating a VIDC list, and potentially resulting in wrong interlace setting being used
      Admin:
        Tested on Raspberry Pi
      
      
      Version 0.37. Tagged as 'ScrModes-0_37'
      ad66229d
  10. 15 Dec, 2013 1 commit
    • Jeffrey Lee's avatar
      Update to add support for new pixel formats and basic support for multiple GraphicsV drivers · 3dd5f11e
      Jeffrey Lee authored
      Detail:
        c/ScrModes - All GraphicsV calls now use the current driver number instead of always calling driver 0. Get the list of supported pixel formats via GraphicsV 17 if implemented, otherwise fall back to GraphicsV 8. Generate old or new style mode provider blocks as appropriate.
        h/modex - Update definitions for new mode provider block format, new control list items
      Admin:
        Tested in Tungsten, IOMD, OMAP3, BCM2835 ROMs
        Requires HdrSrc-2_38 and Kernel-5_35-4_79_2_203
      
      
      Version 0.36. Tagged as 'ScrModes-0_36'
      3dd5f11e
  11. 06 Jan, 2013 1 commit
    • Robert Sprowson's avatar
      Filter out impossible modes from a modefile super set · 6cd0d8aa
      Robert Sprowson authored
      New function, build_a_vidclist() allows the GraphicsV Vet_Mode entry point to be called when validating a mode, so the graphics driver can decide on a mode by mode basis whether it can be achieved.
      This resolves the problem where an MDF has a super set of modes that the hardware only supports a subset of.
      Also
      * Inlined inform_modefilechanged
      * Removed redundant CFLAGS from makefile
      * Made a few braces and spaces consistent with their surroundings
      
      Tested in an IOMD ROM build on a machine with and without VRAM fitted, looking in display manager that the menus are rebuilt accordingly.
      Fixes ticket #315.
      
      Version 0.35. Tagged as 'ScrModes-0_35'
      6cd0d8aa
  12. 28 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Relax clipping of mode names 19 characters is a bit mean if you want to say... · b04272ef
      Robert Sprowson authored
      Relax clipping of mode names 19 characters is a bit mean if you want to say "2048 x 1024 big monitor" or similar, so bumped it to 31+terminator.
      
      100 characters for the monitor title is a bit lavish, since (in System font) display manager's title bar can only fit 33 characters, reduced to 31+terminator too.
      Fixes ticket #302.
      
      Version 0.34. Tagged as 'ScrModes-0_34'
      b04272ef
  13. 12 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Retire VIDCBandwidthLimit command · beee933c
      Robert Sprowson authored
      Was previously for internal use only, but largely irrelevant as the majoirty of targets don't contain a VIDC, and those that do use a GraphicsV driver anyway.
      * CMHG and resources updated to remove the command from the command/syntax table
      * Don't bother probing OS_ReadSysInfo 2 for the video controller, assume it's always GraphicsV
      * Don't try vetting modes based on VIDC limitations (leave that to VIDC20Video module)
      * Don't listen to the kernel's bandwidth limit suggestion, always use INT32_MAX
      Also
      * Fix potential null pointer dereference if there's not enough RAM to build an ICONSPRITES command
      * Rather than setting up an atexit() handler in the module init, just use a module finalisation handler
      * Makefile tickled to not use Norcroft specific flags
      
      Version 0.33. Tagged as 'ScrModes-0_33'
      beee933c
  14. 22 Jul, 2012 1 commit
  15. 14 Jul, 2012 1 commit
    • Robert Sprowson's avatar
      Clean up pass · aa5b72f2
      Robert Sprowson authored
      * Makefile recreated from fragments
      * Swap to C99 types, remove 'machtypes.h'
      * Use centralised SWI and service call definitions, remove 'newswis.h' and 'services.h'
      * Error E21 taken out of resources, CMHG generates this one for free
      * Compiler warnings squashed
      
      Version 0.32. Tagged as 'ScrModes-0_32'
      aa5b72f2
  16. 14 Jan, 2012 1 commit
  17. 03 Feb, 2003 1 commit
    • Robert Sprowson's avatar
      When the video controller is V_UNKNOWN (ie.not a VIDC) then an attempt will be... · f28adbda
      Robert Sprowson authored
      When the video controller is V_UNKNOWN (ie.not a VIDC) then an attempt will be made to validate the desired bpp via GraphicsV.That way,when the screen modes are enumerated only achievable ones are returned.
      
      Also added an iconsprites command to the loadmodefile command,so that
      if a sprite file exists in the same dir as the MDF it can override the
      default display manager icon.
      
      Version 0.30. Tagged as 'ScrModes-0_30'
      f28adbda
  18. 12 Apr, 2002 1 commit
    • Steve Revill's avatar
      Makefile improvements. · 00460c5e
      Steve Revill authored
      Detail:
        * Added/fixed the install rule for disc builds as required for the Baseline
          builds.
        * The MkClean file now calls stripdepnd to remove dynamic dependencies.
      Admin:
        Builds and installs.
      
      Version 0.29. Tagged as 'ScrModes-0_29'
      00460c5e
  19. 21 Mar, 2001 1 commit
    • David Cotton's avatar
      No changes · c608820e
      David Cotton authored
      Detail:
          srccommitt'ed again to gain tag.
      Admin:
          No changes.
      
      Version 0.28. Tagged as 'ScrModes-0_28'
      c608820e
  20. 01 Mar, 2001 1 commit
  21. 06 Jun, 2000 1 commit
  22. 24 Mar, 2000 1 commit
  23. 10 Jan, 2000 1 commit
  24. 12 Oct, 1999 1 commit
  25. 16 Sep, 1999 3 commits
  26. 21 Sep, 1998 2 commits
  27. 21 Jan, 1997 1 commit
  28. 05 Nov, 1996 1 commit