Jump to content


Photo

Lcd Colour Correcting Daemon For Mkii's


  • Please log in to reply
54 replies to this topic

Poll: Lcd Colour Correcting Daemon For Mkii's (21 member(s) have cast votes)

Do you like it?

  1. Yes (17 votes [80.95%])

    Percentage of vote: 80.95%

  2. I can't see what it does, looks just the same as before to me (3 votes [14.29%])

    Percentage of vote: 14.29%

  3. No (1 votes [4.76%])

    Percentage of vote: 4.76%

Vote Guests cannot vote

#1 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 08:26 PM

Here's the thing, the MKII's are known for having a bad LCD compared to MKI's. The main reason for that is that on MKII's, darks are too dark and brights can be burnt.

So I created a test to characterize the non-linearity of colours with this screen (the test is not released here), and then I made a daemon that corrects that non-linearity kind of in the same way as Photoshop's Curves thing. What I'm releasing here is an early version of the daemon alone, with the correction values that I found with my test hard coded in it (should be correct for all MKII's I suppose).

So here's how it works, download the file attached to this post [attachmentid=329]. Copy "colourd" and "colourd.gpe" in the same folder anywhere you want in your GP2X. Launch colourd.gpe. Now do stuff you usally do, play a game, watch a video, etc.. The difference is most obvious on dark stuff, like Quake or Duke Nukem 3D, or also on bright stuff that's usually burnt (looks all white as it shouldn't). Notice that the colour correction lasts until the GP2X is restarted. If you want it again once you've restarted, just launch colourd.gpe again.

For those who would wonder, this thing has absolutely no speed impact since it's entirely based on setting a few hardware registers once. Not a single hundredth of a FPS will be lost in your favourite game because of that.

Now what I'd like you to do is for you to try to see the difference between before and after, so that you can say whether you like it or not, which will decide whether or not an improved version of this will be implemented in Open2x.

Attached Files



#2 Alex.

Alex.

    Retired

  • GP Guru
  • 4582 posts
  • Gender:Male

Posted 17 July 2007 - 08:38 PM

Hi A_SN,

Thanks for the program. It definitely makes colours look more natural, and I assume it will do wonders for ports and emulated games.

The problem I see though comes from original homebrew. A lot of people (I assume, by the looks of it) changed their colours a bit in order for them to look good on the over-saturated MK2 screen. Now those games look washed out, and simply not as good as they do by default.

Just make sure that if it gets into Open2x (it should!), it is optional, and perhaps even configurable on a per-app basis.

Thanks again, this will make a lot of games a better experience smile.gif

#3 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 08:45 PM

QUOTE(Alex. @ Jul 17 2007, 10:38 PM) View Post

The problem I see though comes from original homebrew. A lot of people (I assume, by the looks of it) changed their colours a bit in order for them to look good on the over-saturated MK2 screen. Now those games look washed out, and simply not as good as they do by default.


I agree, games only developed on MKII's with no PC builds (there must be few of them tho) might suffer from that, but on the other hand, it now sets the MKII's on a foot of equality with the MKI's. Your idea of making it be applied on a per game basis is interesting, but ultimately I won't decide whether or not it will be done.

A_SN proposes, DJWillis disposes wink.gif

#4 Alex.

Alex.

    Retired

  • GP Guru
  • 4582 posts
  • Gender:Male

Posted 17 July 2007 - 08:52 PM

QUOTE(A_SN @ Jul 17 2007, 04:45 PM) View Post

I agree, games only developed on MKII's with no PC builds (there must be few of them tho) might suffer from that, but on the other hand, it now sets the MKII's on a foot of equality with the MKI's.

Well PC builds are irrelevant, since the target device is the GP2X, and graphics are therefore tailored for its screen. And since the predominant GP2X is the MK2, quite a few games will risk looking washed out, and that wouldn't be a very nice sight.

QUOTE(A_SN @ Jul 17 2007, 04:45 PM) View Post

Your idea of making it be applied on a per game basis is interesting, but ultimately I won't decide whether or not it will be done.

A_SN proposes, DJWillis disposes wink.gif

Perhaps it could be integrated in GMenu2X/GP2XMB, that would make configurations easy and accessible smile.gif

#5 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 09:05 PM

QUOTE(Alex. @ Jul 17 2007, 10:52 PM) View Post

Well PC builds are irrelevant, since the target device is the GP2X, and graphics are therefore tailored for its screen. And since the predominant GP2X is the MK2, quite a few games will risk looking washed out, and that wouldn't be a very nice sight.


Yeah, good point. Which makes me think, maybe MKI users would want something to make their LCD display colours just like the MKII does for such games wink.gif I could easily do that.

QUOTE

Perhaps it could be integrated in GMenu2X/GP2XMB, that would make configurations easy and accessible smile.gif


Oh yeah, you've got a point, hadn't thought about that. I just assumed that putting it in the FW everyone will soon want was a simple enough idea.

#6 fusion_power

fusion_power

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 2998 posts
  • Location:germany
  • Interests:GP2X ;)

Posted 17 July 2007 - 09:41 PM

Hey, interesting thing! smile.gif I had made some skins and graphics for a few GP2X Games and I had to spend hours and Hours to correct the colours of the graphics to match the appearence on GP2X with the PC Screen, often 2 completely different things. ^^""
At the end the corrected colours looked stupid on PC screen but ok on GP2X (MK2) Of course this is far away of modern WYSIWYG (what you see is what you get)

#7 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 09:48 PM

QUOTE(fusion_power @ Jul 17 2007, 11:41 PM) View Post

Hey, interesting thing! smile.gif I had made some skins and graphics for a few GP2X Games and I had to spend hours and Hours to correct the colours of the graphics to match the appearence on GP2X with the PC Screen, often 2 completely different things. ^^""
At the end the corrected colours looked stupid on PC screen but ok on GP2X (MK2) Of course this is far away of modern WYSIWYG (what you see is what you get)


Interested, you're the proof that Alex was right about people making games for the MKII. Well, if you want to revert colours to the way they were meant to be, I think you can do that with the Curves in Photoshop by setting the 3 following dots like this :

In : 64, Out : 42
In : 128, Out : 115
In : 192, Out : 208

Haven't tested, but it should do the opposite as colourd (the daemon discussed here) does, which means make things look on your PC as they do on your GP2X

#8 Dzz

Dzz

    stmia r0!, {r2-r9}

  • GP Guru
  • 1098 posts

Posted 17 July 2007 - 10:03 PM

Hey, cool!

A long time ago I was working on the art for a little game I was writing (Jewel Beach) and it looked okay on my Mk I, then I picked up a Mk II and was highly distressed to see how horrid the art looked on the Mk II screen, and I haven't looked at it since. However, I have been thinking that a custom gamma table might help correct the problem, and started the laborious experimentation process (but haven't finished) and here you've done all the work for me!

I'll still probably finish and put the code into my games as an option because I don't want games to rely on people running third party utilities, but thanks for proving it's a viable concept! You're the king! You should get Guru'd for this!

Edited by Dzz, 17 July 2007 - 10:04 PM.


#9 Khan

Khan

    GP32 Hardcore

  • Member
  • PipPipPipPip
  • 128 posts
  • Gender:Male
  • Location:GP32Spain, Spain

Posted 17 July 2007 - 10:34 PM

Wow! It really works!! Bright scenes in videos donīt blind me anymore biggrin.gif

Now, the annoying MKIIīs handicap is gone

A_SN for guru!! wink.gif



#10 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 10:44 PM

QUOTE(Dzz @ Jul 18 2007, 12:03 AM) View Post

I'll still probably finish and put the code into my games as an option because I don't want games to rely on people running third party utilities, but thanks for proving it's a viable concept! You're the king! You should get Guru'd for this!


Hehe, thanks for the guru suggestion. As for implementing this into your games, go for it, and feel free to use my code! As for making it work only on MKII's, it's a problem either I, Orkie or DJWillis will have to tackle sooner or later, we just have to find a way to be able to tell from a program which model a GP2X is.

#11 skeezix

skeezix

    Mega GP Mania

  • GP Guru
  • 5088 posts
  • Gender:Male
  • Interests:Blog: http://www.rjmitchell.ca/~jeff/blog2009/

Posted 17 July 2007 - 11:00 PM

(I've a Mk1) Brilliant! smile.gif

I have thoght about getting a Mk2, since the joystick being diagonal in the first one annoys the living hell out of me; I had no idea the display in Mk2 is so bad.

It just wouldn't be Gamepark withou thtme totally buggering something vital up, but it sure is a shame smile.gif

Anyone have a side by side pic?

Mk1
Mk2
Mk2+A_SN's fix?

jeff

#12 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 11:09 PM

QUOTE(skeezix @ Jul 18 2007, 01:00 AM) View Post

(I've a Mk1) Brilliant! smile.gif

I have thoght about getting a Mk2, since the joystick being diagonal in the first one annoys the living hell out of me; I had no idea the display in Mk2 is so bad.

It just wouldn't be Gamepark withou thtme totally buggering something vital up, but it sure is a shame smile.gif

Anyone have a side by side pic?

Mk1
Mk2
Mk2+A_SN's fix?

jeff


I have no such side by side picture, but you can simulate what the MK2's without my fix look like by taking some images and applying a curve filter in Photoshop with the values mentioned a few posts ago. Now I don't know about the MK1, but according to what I heard these don't need any colour fix, although we still could try once I release my test program and see by how much it could be corrected, and eventually colourd could have a use on MK1 although I doubt it.

So, we can put it like this. MK1 = supposedly very good, MK2 = pretty bad, MK2 + my fix = good enough so you couldn't tell the difference between that and perfection, although I think we can get it a little better once I release my program and that more people test it and report the values they found (my test consists in comparing pictures on the gp2x with the same pictures on a PC screen so the results depend both on how well the PC screen is calibrated and also on judgement, so it can be good to have many people to report what they find)

#13 scientist

scientist

    GP32 User

  • Member
  • PipPipPip
  • 53 posts

Posted 17 July 2007 - 11:39 PM

very nice! I noticed the difference right away with Quake (in fact I saw it happen as it was loading).

i simply added a line to the end of my autorun.gpu file which loads gmenu2x:

CODE

#!/bin/sh
cd /mnt/sd/gmenu2x
exec ./gmenu2x
exec ../App/colourd_070717/colourd.gpe


biggrin.gif thanks!

#14 A_SN

A_SN

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 899 posts

Posted 17 July 2007 - 11:54 PM

QUOTE(scientist @ Jul 18 2007, 01:39 AM) View Post

very nice! I noticed the difference right away with Quake (in fact I saw it happen as it was loading).

i simply added a line to the end of my autorun.gpu file which loads gmenu2x:

CODE

#!/bin/sh
cd /mnt/sd/gmenu2x
exec ./gmenu2x
exec ../App/colourd_070717/colourd.gpe


biggrin.gif thanks!


Nice smile.gif but notice that colourd.gpe is itself a script that in the ends launches gp2xmenu.. So you might wanna do exec ../App/colourd_070717/colourd& ; exec ./gmenu2x instead

#15 Dzz

Dzz

    stmia r0!, {r2-r9}

  • GP Guru
  • 1098 posts

Posted 18 July 2007 - 12:09 AM

QUOTE(A_SN @ Jul 17 2007, 04:44 PM) View Post

Hehe, thanks for the guru suggestion. As for implementing this into your games, go for it, and feel free to use my code! As for making it work only on MKII's, it's a problem either I, Orkie or DJWillis will have to tackle sooner or later, we just have to find a way to be able to tell from a program which model a GP2X is.

Thanks! Regarding telling a Mk2 in code, it could be that you guys have discussed this recently (I've been away), but I'd think we could make a pretty accurate guess from the serial number string (the date part). For my purposes I want to make it an option in the options section so if a guess is wrong occasionally it just chooses a wrong default.

There might be another way to tell more definitively though; I wonder if some MMSP2 registers related to the LCD are initialized differently and could be read...