Real GBA and DS-Phat colors


I have nothing else new for now. For some reason, the new lcd was giving me an error on my laptop. I would upgrade my retroarch and see if it solves it.


Yeah, I was wondering about that, too.

Here are some examples:

Something’s going on at integer scale factors!

EDIT: although v1 is as better as v2 at non-integer scale factors (at least on a 1080p).


The new lcd shader works on my desktop, not on my laptop. It would show a texture error on the log. The new shader seems to look better on 2x integer size.


Don’t remember every scaling I saw, but as any shader that emulates sub-pixels (3 RGB here) it’s really up to the internal resolution and what your screen can do. My 1080p isn’t good enough for some settings, especially with the DS and its 2 screens (at an higher resolution than other systems).

Both Twipley screens look good enough to enjoy imo.


On my laptop, I would get error c1115: unable to find compatible overloaded function "texelFetchOffset(sample2D, int2, int, int2) on line 141, 142, 143, and 144 on the new LCD cgwg shader.


Sorry, that’s left over from GLSL. Try using the line

#define fetch_offset(coord,offset) (pow(float3(gain) * tex2Dfetch(IN.texture, int4(coord,0,0), (offset)).rgb + float3(blacklevel), float3(gamma)) + float3(ambient))


Ah, yeah, I’m getting that here, too. Probably affects any non-Nvidia GPU…

After replacing that line, it complains about that overloaded function not existing. I think the Cg > OpenGL profile that we get doesn’t go high enough for tex2Dlod and/or tex2Dfetch. FAKEDIT: doesn’t seem to work with d3d driver, either.


Could that also be due to GLSL-version requirements?


Yeah, Cg presents a different profile to Nvidia and non-Nvidia hardware, and the profile that Nvidia hardware gets is high enough to include tex2Dlod and tex2Dfetch (presumably) while the one for non-Nvidia hardware doesn’t seem to be.


Wouldn’t a conversion to GLSL then constitute a temporary workaround?


Do you still have the GLSL version? I’d love having access to it. :slight_smile:


It’s the part after //pixel grid.


This absolutely has no effect here when these 39 lines are attempted to be loaded as standalone code.


The new LCD no longer has the vertical black line on the left side, and it seems to have more options. For GBA games, certain games with brightness patch like Super Mario Advance 2 or Final Fantasy VI color restoration patch should be fine with normal color matrix and gamma, and maybe very late games benefit for normal display. Another note is the gameboy player does have an option for motion blur for flickering sprites for psuedo transparency. That’s why I have the motion blur in the lcd .cgp in it. The motion blur should always be at the first shader slot because it always looks at the raw image regardless if there were other shaders before motion blur comes next. The lcd have a slight interlaced motion blur image but for nds, the interlace is almost gone with minimal motion blur. For PSP, the first two models have a lot of motion blur as far as I’ve seen, and the brite model is clearly interlaced like motion blur.


I’ve been working on this, thought you guys might be interested: Download: It depends on the ‘color mangler’ shader being in the ‘misc’ folder, as is the case with an up-to-date pull from common-shaders, but the rest should merge right in. 4x is the biggest that will fit in a 4K monitor, but I left the 5x and 6x in case anyone wants them. I will probably only push up 2x, 3x and 4x to common-shaders when the time comes.


Looks nice! I’m sure my 1080p screen won’t like it though.


I think the 2x actually fits in a 1080p screen okay. It’s worth a shot, at least.


Yes it does, it’s just a bit small for this kind of internal resolution… but it’s funny.

After all I worked on it too lol. I took the other picture around and used the standard dmg-pass5 method with desmume 90 screen gap option. Looks like this.


Oh yeah, that looks really good. I didn’t even realize desmume had such an option lol


Wow didn’t think you actually missed it lol.