Announcement

Collapse
No announcement yet.

Detailed instructions to get a new resolution

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

  • Detailed instructions to get a new resolution

    Because of that great response I tried to make it as easy as possible to generate a new resolution.

    I've figured out the following:
    - It's NOT possible to generate every resolution!!!!
    - I think you can generate resolutions in steps by (I don't yet know - perhaps someone can help)
    - replace all "----enter resolution here----" with your expected resolution in the form xxxx,yyyy in the "set resolution" reg-file below
    - import the file to the registry
    - Now "AND THIS IS VERY IMPORTANT" adjust every colordepth with the Monitor dialog, if it tells you that it can't test your resolution -> DON'T USE IT even if quickres allows!! but use the second regfile to cancel the new settings or remove the keys and values manually from your registry
    - if all of the above is done you can now use your new resolution

    Have fun

    Helmchen

    set resolution:
    ----start----
    REGEDIT4

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\Settings\VideoParameters]
    "----enter resolution here----"=hex:3c,00,1e,00,0c,7b,00,00,20,00,40,00,60,00,04 ,00,08,00,08,00,00,\
    00,00,00

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\MODES\8\----enter resolution here----]

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\MODES\16\----enter resolution here----]

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\MODES\24\----enter resolution here----]

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\MODES\32\----enter resolution here----]
    ----end------


    cancel resolution:
    ----start----
    REGEDIT4

    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Class\Display\0000\Settings\VideoParameters]
    "----enter resolution here----"=hex:00
    ----end-----




  • #2
    Thanks! It works perfect. However, I still wonder how you got those binary numbers. Did you just copy them from the 856x480 resolution, or did you actually calculate them? I got suspicious when I was looking at the other settings in the VideoParameters section .

    It seems to me these numbers are used to set every parameter the video card needs to set a certain resolution. That's why I think it is necessary to set the monitor parameters manually, to at least get the correct numbers for every resolution. For example, if you just started the Monitor Settings for 1280x960, you see that the horizontal frequency is 30 kHz, and the vertical frequency is 60 Hz. If you increase the vertical freq by 1 Hz, and then decrease it back to 60, the horizontal frequency has also changed. To a more normal number actually (58 kHz), because the horizontal frequency is the refresh rate (vertical) times the vertical resolution: 60*960=57600=58 kHz.

    I think this hack (although it works great) still needs some looking into.

    Anton

    Comment


    • #3
      The hex-values are only dummy-parameters they represent the values you can change in the advanced adjustment settings. I figured out, that the first value is the vertical frequency 3c=60. The given hex values are for one colordepth if you have the same settings on all colordepths only one block of hex values is needed if you have other settings in other colordepth you will see that you will get a greater block with colordepths x the block of my origin message characters.
      I think it's useless to calculate the values by hand when the Monitor Dialog can do this much more comfortable. But if you try some values you can perhaps figure out which hexvalue belong to a certain Value in the Monitordialog (I think a lot of work, that's not worth doing it)
      Ithink the steps that I havn't known are 8 for the horizontal value and 6 for the vertikal value but not sure.

      In between I get in trouble with my english, it's not good enough for discussing such problems. Please excuse if I declare things something strange.

      Helmchen

      P.S. I think the only hex value that is important is the first one because it's the vertikal refreshrate and therfore it should be 3c because 60Hz is the most secure starting point to adjust your monitors.

      Comment


      • #4
        Helmchen,

        This hack is great! I was able to create 720x576 which is the native resoluton for PAL DVD titles. No luck with 720x480 (NTSC) though When I tried to adjust this mode after I entered it to the registry, the 'Next' button was greyed out so I assumed that it will not work.

        As for the hex values, it is a good idea to copy a resolution close to the new one (e.g. 640x480 for 720x576), because in this case less adjusment needed.

        Remo

        Abit BH6, Cel566@850, Matrox G400DH 32MB, 128MB, Pioneer DVD103S, SBLive!(CT4830), Dell D1025HE 17" Monitor

        Comment


        • #5
          Hi Remo

          I think it doesn't matter from which resolution you copy the hex values you have only to adjust one of the refresh rates: horizontal or vertical. The dialog calculates the other values. The 'x'ed values differ very much in every resolution (for me) so you can not conclude that you have to adjust them less than if you copy a far away resolution but if it works better for you - be happy

          Helmchen



          Comment


          • #6
            Helmchen...excellent work! I've been waiting for this ability for awhile! I used to hack at the MGA.MON file with the old Powerdesk to get my 250 MHz G200 to do things it wasn't supposed to do, but you couldn't go outside the "standard" resolutions. This is much better!!

            I haven't had any problems creating _any_ resolution at all between about 316x180 and 2055x1886 using a G400 MAX and a ViewSonic P817. This includes 720x480, I don't know why you had problems with it Remo.

            It seems that the hex values in the VideoParameters section have nothing to do with the different color depths, nor do they change when you customize the settings. These hex values specify the listings in the "Standard Refresh" pull down box that appears in the customization dialog. Those resolutions that have more than one standard refresh rate have longer hex strings in the registry, 1 group of 24 bytes for each standard rate.

            The actual values that you customize and then save appear in two other sections of the registry. One is just above Settings\VideoParameters under MODES\8,16,24, and 32. This holds something related to the current refresh rate. The other is below that in a section called Monitor that holds all the customization information for each mode for each customized monitor. Of course, you don't need to play wiht these settings at all because if you simply create the resolution using your method, Powerdesk does all the dirty work.

            Very Cool!!

            Mark Veneziano

            Comment


            • #7
              Hi MarkV

              I've tried 1365x1024 and the monitor dialog told me that it couldn't be tested, I ignored that and used quickres to switch to this resolution then I got a blank screen. The only way to resolve this was to go to secure mode delete the registry entries. When I then started win98 in normal mode I've lost all PD-Settings and had to reinstall PD. I use a Millenium G200 8MB SGRAM not OCed, perhaps the G400 can handle this resolution, or I've made an error but since it didn't work for me I told here that it is important that the monitor dialog can test the resolution.

              The hex values have of course something to do with different colordepth, as you've said you have longer hex values if you have more than one standard refresh rate, but you can only have more than one standard refresh rate if you have different settings in other colordepths.

              I think the values under the Monitor Key are the same as in the Videoparameters. The Monitor settings are for windows and the Videoparameters for matrox.

              If you try the 1365x1024 resolution please let me know if it works for you.
              What are you doing with the 316x180 resolution, do you have an atari2600 emulator ?

              Helmchen

              Comment


              • #8
                Hi Helmchen,

                What I meant by the standard refresh rates is that, for example, 640x480 has standard refresh rates of 60 Hz, 73 Hz, 75 Hz, and 85 Hz. These are not for different color depths but are provided by Matrox as several choices you can use without tweaking. Some are actually specified by VESA. These modes are accessible from the Standard Refresh pull down menu inside the Powerdesk configuration dialog. Another good example is 800x600, which has 5 standard rates (56, 60, 72, 75, and 85 Hz) and therefore has 5 groups of 24 bytes in the registry. This can't possibly have anything to do with color depth because under Windows 95/98, there are only 4 usable color depths in Powerdesk (8, 16, 24, and 32-bit).

                Anyway, I tried 1365x1024 and it worked fine for me on the G400 MAX. I was able to duplicate your blank screen problem by trying to customize the 856x480 resolution that is installed by default. The only way out was a reboot, but I didn't have to reinstall Powerdesk or anything like that.

                The only reason why I tried 316x180 is I wanted to see what the upper and lower limits were of the G400 MAX and the P817 monitor. It's bad enough running at 640x480 on a 14 inch monitor when I use my parents' computer!

                Mark Veneziano

                Comment


                • #9
                  Hi MarkV

                  Shame on me, you are absolutely right. I've copyied the wrong hexvalues and for that I thought it has to do with the colordepth.

                  Perhaps I've a solution for the not working resolutions they didn't work for me only when I've opened my TV-Application (using directx overlay) even the 856x480 was no problem.

                  I think I had to reinstall PD because I deleted the actual PD5 resolution.

                  Thanks for the little Tool, it makes things much easier.

                  Helmchen

                  Comment


                  • #10
                    OK. Here it is. These are the decimal equivalents of the HEX values. This one is for 800x600@32bit only. There are 60 hex values for this mode and 12 entries per frequency. Other observations:

                    Position 1 is the frequency
                    Position 5 seems to be color depth except for 60Hz
                    Positions 4, 11 and 12 are always the same
                    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                    Position
                    1 2 3 4 5 6 7 8 9 10 11 12

                    56 35 33440 0 24 72 128 1 2 22 12 0
                    60 38 39790 0 40 128 88 1 4 4 12 0
                    72 48 50000 0 56 120 64 37 6 23 12 0
                    75 47 49500 0 16 80 160 1 3 21 12 0
                    85 54 56250 0 32 64 152 1 3 27 12 0
                    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

                    Can anyone makeout the retrs of these #s?
                    Thanks.

                    O.C.Luvin

                    Comment


                    • #11
                      Follow up question:

                      Has anyone gotten 400x300@32@any refresh rate working, or at any other color(colour for you Brit types) bit? This resolution is in the VideoParameters section but, I can't get it to work. If you must ask, sometimes certain AVIs MPEGs and MOVs look better at lower resolutions. I've gotten 320x240@32 and 512x384@32 working but, not 400x300. BTW the card is a Mystique G200 AGP 8Mb SDRAM.

                      O.C.Luvin

                      Comment


                      • #12
                        Hi O.C.,

                        Are you talking about a 400x300 resolution for your Windows desktop? I haven't been able to get anything below 640x480 as a desktop resolution choice in display properties, even though the modes test fine under Powerdesk Monitor settings. I just assumed these were for full screen DirectX apps/games.

                        As far as the values in VideoParameters go, let me reiterate that these are just the values that Powerdesk uses for the so-called standard (perhaps VESA) refresh rates available in the "Standard Refresh" pull down menu when you customize a resolution under Powerdesk. They have nothing to do with the settings once you customize them.

                        That said, here is what the hex values really mean, and this can be proven by unchecking "Use simplified monitor controls" in the Monitor Settings tab before customizing a resolution.

                        Each resolution has one or more standard refresh rates. Each standard refresh rate has a group of parameters associated with it, specified by a group of 24 bytes in the VideoParameters entry. If the resolution has more than one standard refresh rate, you will see 48 or 72 or 96, etc., etc. bytes for the resolution. Some bytes are grouped into words (16 bits) or longwords (32 bits); when this is the case, little endian applies, meaning the least significant byte comes first (i.e. you read the bytes right-to-left).

                        Bytes 0-1 make up a word indicating the vertical refresh rate in Hz.
                        Bytes 2-3 make up a word indicating the horizontal refresh rate in kHz.
                        Bytes 4-7 make up a longword indicating the pixel clock in kHz.
                        Bytes 8-9 make up a word indicating the horizontal front porch in pixels.
                        Bytes 10-11 make up a word indicating the horizontal sync in pixels.
                        Bytes 12-13 make up a word indicating the horizontal back porch in pixels.
                        Bytes 14-15 make up a word indicating the vertical front porch in lines.
                        Bytes 16-17 make up a word indicating the vertical sync in lines.
                        Bytes 18-19 make up a word indicating the vertical back porch in lines.
                        Byte 20 is a bit field. Bit 0 indicates the interlaced setting. Bit 2 indicates the horizontal positive sync polarity setting. Bit 3 indicates the vertical positive sync polarity setting.
                        Bytes 21-23 are always 0.

                        Example: For 1920x1440 on my G400 MAX, the first group of 24 bytes in VideoParameters under 1920,1440 looks like this:

                        3C 00 5D 00 10 92 03 00 80 00 D0 00 58 01 01 00 03 00 38 00 08 00 00 00

                        Breaking that down, we have:

                        003C=60 Hz vertical refresh
                        005D=93 kHz horizontal refresh
                        00039210=234000 kHz=234 MHz pixel clock
                        0080=128 horizontal front porch pixels
                        00D0=208 horizontal sync pixels
                        0158=344 horizontal back porch pixels
                        0001=1 vertical front porch line
                        0003=3 vertical sync lines
                        0038=56 vertical back porch lines
                        08=00001000 (binary), so bit 3 is on, bit 2 is off, and bit 0 is off, meaning positive vertical sync polarity, negative horizontal sync polarity, and non-interlaced
                        000000=always 0

                        And when I go to Monitor Settings, uncheck "Use simplified monitor controls", choose 1920x1440 to customize, and choose 60 Hz from the standard refresh pull down menu, these numbers are exactly what I see.

                        Hope this puts the confusion to rest! (Or maybe stirs up a little more...)




                        ------------------
                        Mark Veneziano

                        Supermicro P6DGU; single Intel Pentium III 500 MHz; 256 MB PC100 ECC; AOpen HX08; Matrox Millennium G400 MAX with Rainbow Runner G-Series; ViewSonic P817; Creative Labs Sound Blaster Live! with digital and optical I/O; Cambridge Soundworks FPS2000; 3Com 3C905B-TX; LANcity LCPET-2; Epson Stylus Color 1520; 2.88 MB 3.5; 1.2 MB 5.25; Seagate Cheetah 9LP 9.1 GB U2W; Plextor UltraPlex Wide; Yamaha CRW4416S; Hewlett Packard ScanJet 4p; U.S. Robotics Courier V.Everything; Microsoft Natural Keyboard Elite; Microsoft IntelliMouse Pro; Microsoft IntelliMouse Trackball; Microsoft Sidewinders; Microsoft Win98 SE ACPI enabled.

                        Mark Veneziano

                        Comment


                        • #13
                          Thats Somewhat funny!
                          look at my new post!

                          got it too!

                          Helmchen

                          Comment

                          Working...
                          X