Page 1 of 2

[ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 03 Jul 2017, 13:22
by Epharius
Yop les gens,

Cela fait longtemps que je me demande une chose à propos de mon Geometry Dash : pourquoi les couleurs paraissent-elles aussi "délavées" ?
En effet, ça ne se voit peut-être pas trop sur le version qui est en ligne, mais ce n'est pas vraiment les couleurs attendues : celles-ci sont trop claires...
Un exemple : je m'attends à avoir une palette rose, je me retrouve avec une palette violette-bleue.
Show/Hide spoilerAfficher/Masquer le spoiler
ImageImage


Trois possibilités :
- Soit cela vient de Geometry Dash qui affiche les couleurs bizarrement ou je ne sais quoi (cette hypothèse a eu le temps d'être réfutée)
- Soit cela vient de la calculatrice qui affiche les couleurs bizarrement
- Soit cela pourrait aussi venir de convpng - que j'utilise pour créer ma palette à partir de mon tileset etc

Nous avons donc, avec Anonyme0, mené quelques recherches pour savoir d'où cela pouvait venir. Ce qui en est ressorti, je cite Anonyme0 :
En fait c'est une couche de turquoise à opacité de ~42 qu'il faut mettre par dessus [la palette, pour avoir les couleurs escomptées].


Je vous passe les détails, et je passe tout de suite à la question :
La palette est en 16bpp 1555 donc. Il est admis que le bit d'intensité est inutilisé (je cite le wikiti "I = Intensity/unused"), il ne serait donc pas pris en compte par la calculatrice ? Or, j'ai testé sur ma calculatrice, et il s'avérerait qu'il y ait tout de même une action de ce bit sur les couleurs de l'écran. Cela n'est pas flagrant mais tout de même, la première moitié de l'image est celui avec le bit d'intensité à 0, l'autre est celui avec le bit I à 1 (deux exemples avec deux couleurs différentes, le plus flagrant étant le violet foncé) :
ImageImage

Alors certes ce n'est peut-être pas assez pour expliquer pourquoi les couleurs paraissent aussi délavées, mais ça m'aiderait à comprendre la palette que sort convpng. En effet, si le bit n'était pas utilisé, on aurait juste dans la palette des nombres entre 0000h-8000h. Pourtant, j'ai l'impression que convpng utilise ce bit. Un exemple de ce qui sort :
dw 0B824h ; 11 :: rgba(112,14,29,255)
dw 06A32h ; 12 :: rgba(214,137,148,255)


La question est :
- quelqu'un saurait-il m'expliquer l'action de ce bit concrètement ?
- quelqu'un aurait-il une idée d'où les couleurs délavées pourraient provenir ? (est-ce que cela ne viendrait pas tout simplement de convpng qui utilise ce bit ?)

Merci ! Ça fait depuis décembre que l'on essaie de trouver une solution, ce serait une bonne nouvelle si on arrivait à résoudre ce problème x)

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 03 Jul 2017, 13:28
by MateoConLechuga
The 1 bit in 1555 is the LSB of green.

The issue lies in how you create the palette probably. Are you using the xlibc palette?

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 03 Jul 2017, 17:59
by Epharius
Thank you for your reply!

The issue lies in how you create the palette probably. Are you using the xlibc palette?

Indeed, maybe I do something wrong when I create my palette... I'm creating my own palette this way :
Code: Select all
#CreateGlobalPalette : game_palette
#PNGImages           :
tiles
sprites
And then, I export the tiles :
Code: Select all
#GroupASM            : tiles
#Palette             : game_palette
#Tilemap             : 21,21,true
#OutputPaletteImage  :
#PNGImages           :
GD

But the issue must be elsewhere : the colors are perfectly displayed in CEmu, unlike what the calculator displays...
Here is a zip of Geometry Dash : according to whether you try on CEmu or on your calculator, you won't have the same colors (it's necessary to transfer all the files)
GD.zip


It is worth noting that the only things I do (concerning the screen) are :
Code: Select all
   ld a,(mpLcdImsc)
   or a,4 ; bitLcdLnBuim
   ld (mpLcdImsc),a

AND

   ld a,lcdBpp8
   ld (mpLcdCtrl),a

I don't have a slightest idea of what could cause that. Obviously, the screen is not extraordinary, but the difference is too significant compared to what it is expected...

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 02:23
by MateoConLechuga
There is nothing wrong with the output; I have tested both methods. It is caused because you tilt your calculator, as shown in the screenshot you posted. LCD displays have really bad polarization effects, in addition to alternate gammas which may not be consistent across devices. Viewed from straight on with full brightness though there is no distinction between the two ;)

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 07:38
by Adriweb
However... it's possible that polarization strength/properties has changed a bit along with CE hardware revisions, at least it wouldn't surprise me.
Maybe Epharius' calc shows an especially visible difference?

Maybe CEmu needs to emulate this behaviour :P

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 10:36
by Epharius
I tilted my screen because I have a poor camera, and the screen appears blue through the camera without tilting (which is not the real colour of the screen).
Have you tried GD.zip? On my calculator and at least on Anonyme0's calculator too, colours are very different according to the platform.

As Adriweb said, maybe it depends of the hardware revision... if so, there's no way to fix that ><

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 13:19
by Anonyme0
I just tried on a graphic screen with the Tileset as a background, and it have the same problem... But I don't think it's polarization, because it's impossible to see the real color by tilting the screen.

In screen graphic, you can see the problem, but it is less visible (the color seems to be just darker).

I don't think it depends on the revision too, because I tested it on rev A, B and C, and I have always the same render.

And yes, it would be really good and useful (for us) to emulate it on CEmu.

You can compare by yourself with this image (and tilting the screen for watching the polarization effect) :
Image

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 15:42
by MateoConLechuga
I tried exactly what you told me to Epharius. The issue is not with CEmu, the converters, or anything else. It is merely the difference between your computer screen which you have probably configured differently. There is no point in emulating something that doesn't exist. Turn up the brightness on your calculator. You probably have it too low.

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 15:52
by Adriweb
Hmm yes, the difference between your computer screen and the calculator screen might be the biggest factor in play here.

I mean, considering the colors don't even look the same between my external display and laptop display, it's only natural it won't look the same on the CE.
(in fact, I've noticed some little difference between my 84+CE and 83PCE). The CE LCD possibly has some very high gamma/contrast/saturation etc. that the computer screen has differently.

I don't think it's really fixable, unless you change your computer screen's settings, or a manual color correction setting is added into CEmu.

Re: [ASM 83PCE] Des couleurs délavées en mode 8bpp ?

Unread postPosted: 04 Jul 2017, 17:14
by Anonyme0
The fact is purple is changed in blue, and my screen is not setted to have the functionnality to display blue as purple :#roll#:

I know the color setting of a screen...