Jump to content

Different solutions


Andy Vandijck
 Share

925 posts in this topic

Recommended Posts

hi andy can you have a look at this and see if blackosx should correct it or not? #1051

That command just converts EDID.bin to EDID.hex (EDID.hex is used for this app).

I could add conversion in my app too if you want it though...

  • Like 1
Link to comment
Share on other sites

Hi Andy

 

As bronxteck posted, with regards to Slice's note, would you have anything against me swapping the file extension assigned to the EDID files saved from DarwinDumper? 

 

Currently:

- EDID.bin is the plain text hex of IODisplayEDID from ioreg.

- EDID.hex is the binary converted from the hex.

 

Suggested:

- EDID.hex to be the plain text hex of IODisplayEDID from ioreg.

- EDID.bin to be the binary converted from the hex.

 

I ask you because your instructions here cover opening the EDID.hex file from the FixEDID.app. If I made the suggested change then your instructions would need to be revised to open EDID.bin instead.

 

Thanks

Link to comment
Share on other sites

 

Hi Andy

 

As bronxteck posted, with regards to Slice's note, would you have anything against me swapping the file extension assigned to the EDID files saved from DarwinDumper?

 

Currently:

- EDID.bin is the plain text hex of IODisplayEDID from ioreg.

- EDID.hex is the binary converted from the hex.

 

Suggested:

- EDID.hex to be the plain text hex of IODisplayEDID from ioreg.

- EDID.bin to be the binary converted from the hex.

 

I ask you because your instructions here cover opening the EDID.hex file from the FixEDID.app. If I made the suggested change then your instructions would need to be revised to open EDID.bin instead.

 

Thanks

Sure,

It's no problem.

The app check the binary, not the extension.

Link to comment
Share on other sites

Okay great. This has now been done and will be in DarwinDumper v2.9.1.

Thanks Andy.

I adapted the description in the opening page.

Stating that if DarwinDumper 2.9.1 or newer is used EDID.bin should be opened

  • Like 1
Link to comment
Share on other sites

I did some more work on the upcoming 2.4.0 version.

I also added support for opening EDID file in hex text format.

Now it can open both raw binary and hex text files.

I also added the view for header manipulation.

It had the header (first 8B) in the view and an autocorrect button that sets it to the correct header (00FFFFFFFFFFFF00)

I also added a button for printing the EDID data.

  • Like 1
Link to comment
Share on other sites

Nice :-)

Do you have a preview for testing? xD

Sure I do.

Keep in mind that is alpha version so not all editor views are implemented yet.

What works:

- Viewing and correcting header

- Viewing and setting EDID version

- Hex editing EDID (keeps number of blocks, 1 EDID block = 128B).

- Printing EDID

- Opening EDID files in both hex text and flat binary format

 

It now also checks the alignment of the EDID file (must be 128B aligned)

 

Rest still needs to be worked on.

 

Without more words: FixEDID V2.4.0 alpha 1 ;):D

EDIT: Removed alpha 1 because of alpha 2 a little bit down

  • Like 3
Link to comment
Share on other sites

I started coding the serial value editor.

So far it fetches the 3B manufacturer name, the model number in hex and the serial number.

Still todo: fetching the build week and year from the serial block and procedure to set new values.

EDIT: got a little further. It now fetches every value of the serial block and is capable of setting the 3B manufacturer name. Still needs a bit of work in case a too short name is put in but when that is done it will quickly be capable of setting the entire serial block (all 10B of it).

Coding continues later today.

Then it will be capable of editing the first 20B (bytes 0-19 will have editors).

Then I need to code panel identifications (digital and analog, separate editors for each)

Link to comment
Share on other sites

I finished the serial data editor.

Now the first 2 lines of the EDID (20B, 0-19) can be edited.

I attached the current result, alpha 2.

Screenshot is also there...

I also made the manufacturer name idiot proof, if somebody only wants to set 1B or 2B of the name, it will pad the other 2 or 1 characters with '@' (00 in those 5 bits).

I also upgraded the hex2int routine to also work with uppercase characters (for both FixEDID itself as well as the editor)

EDIT: Removed download due to alpha 3 below

post-100023-0-01325000-1398419152_thumb.png

  • Like 1
Link to comment
Share on other sites

I started coding the Basic Parameters editor.

These 5B control the display type and stuff...

So far it switches between digital and analog.

Lots more to do...

EDIT: added the Digital Panel EDID 1.4 view. So far it fetches the bits per primary color channel and I'm going to add the panel type selector.

Work continues...

Link to comment
Share on other sites

The editor for the panel type is implemented.
This allows setting paramaters (both analog and digital).
This also depends on EDID version for digital panels.
EDID >= 1.4: full digital editor
EDID >= 1.2: DFP setting
EDID < 1.2: no digital settings
Gonna take a small break and the continue the work...

EDIT: Some pictures of the new basic params edtor so far...

At current it can manipulate the first byte (out of 5).

This was the hardest...

The rest will follow...

post-100023-0-16066300-1398444730_thumb.png

post-100023-0-49491900-1398444749_thumb.png

post-100023-0-73170300-1398444922_thumb.png

  • Like 1
Link to comment
Share on other sites

I finished the basic parameters editor (bytes 20-24).

It's fully implemented, new view example in screenshots.

alpha 3 is now available...

Next up is the chroma info... (tomorrow)...

So far bytes 0-24 have got advanced editors ;):D

These 5 bytes where a lot of work but are fine now... B)

EDIT: Alpha 3 removed due to alpha 4 below

post-100023-0-33607700-1398544726_thumb.png

post-100023-0-62582900-1398544737_thumb.png

  • Like 1
Link to comment
Share on other sites

I finished the next phase.

I implemented the chromacity info viewer and editor (red, green, blue, specified in X Y coordinates).

I had very little info on this but I managed to do it right.

It also shows a display color test... this is based on RGB values implemented in an NSView directly...

I also implemented the Established Timings editor (standard resolutions as defined by VESA EDID 1.4 standard).

Screenshots and downloads below... :D;)B)

Next up: detailed timings and then detailed descriptor blocks (the most work, but if this is done most of it is implemented).

Enjoy...

EDIT: Removed alpha 4 because of alpha 5 below...

post-100023-0-01506300-1398702311_thumb.png

post-100023-0-85730300-1398702352_thumb.png

post-100023-0-50187400-1398702398_thumb.png

  • Like 3
Link to comment
Share on other sites

Tomorrow I have a day off so tomorrow development continues ;)

Hang thight :D

  • Like 1
Link to comment
Share on other sites

I added your tool to a applescript app I created that patches the OpenCL framework and prevents GPUs from using OpenCL. May I have your permission to share this app with others?

 

Also, Can you create a tool or patch that would completely disable all code sign checkin at all times?

 

http://reverse.put.as/2013/11/23/breaking-os-x-signed-kernel-extensions-with-a-nop/

Link to comment
Share on other sites

I added your tool to a applescript app I created that patches the OpenCL framework and prevents GPUs from using OpenCL. May I have your permission to share this app with others?

 

Also, Can you create a tool or patch that would completely disable all code sign checkin at all times?

 

http://reverse.put.as/2013/11/23/breaking-os-x-signed-kernel-extensions-with-a-nop/

1. Sure go ahead.

2. Fully disabling code sign checking needs a kernel patch as well as some other which I haven't found yet. Need time...

  • Like 1
Link to comment
Share on other sites

Ok.

For today I managed to implement reading the standard timings.

Tomorrow evening the reverse operation...

Setting resolutions.

Once this is done alpha 5 is out.

  • Like 1
Link to comment
Share on other sites

I finished the standard timings editor view...

Minimum and maximum values are shown below...

To make a standard timing first enable the entry, then set the horizontal resolution, select the aspect ratio and click set.

Now it will also determine the vertical resolution and set the data ;)

Tomorrow the detailed descriptors (lots of work)...

Enjoy alpha 5 :D

Bytes 0-53 are now editable... B)

EDIT: Removed alpha 5 due to alpha 6 below...

post-100023-0-82210400-1399146106_thumb.png

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...