domingo, 10 de julho de 2016

Revo K101+ Resolution once and for all

Many people on the internet have been calling bullshit about the Revo K101+ official specs claiming it has a 960x480 resolution. The causes for that are many, first, the aspect ratio: 960x480 does not make a 4:3 display aspect ratio on a square pixel screen. Second: 960x480 is a considerably high resolution for this kind of device, and apparently is makes no sense to choose this resolution for retro gaming.
Some people say the screen is actually 320x240 like many other similar devices like Dingoo, GCW Zero and GP2x, others say it looks like 800x600.
Click to zoom
(click the link below to see the full-res picture)

The manufacturers do not help either by giving no explanation about how can that thing possibly have that resolution and the bad reputation about chinese manufacturers lying about specs makes everything worse.
After some searching I think I finally found the correct answers. It looks like the screen has actually 960x480 pixels, the trick is that it is not the common square pixel LCD you see everywhere. The Revo K101 has a PenTile screen kind of like the ones you see on Samsung Galaxy smarthones. By looking at some high resolution photographs I found using Google image search and filtering by "image size: big" one can easily see what is actually going on.
After reading this exact post I got all that I needed to confirm my theory. The K101 actually has that wide resolution squished into a 4:3 aspect ratio, just like the 3DS top screen has 800x240 pixel, because their screens do not have a 1:1 (square) pixel aspect ratio (PAR), The K101 in this case has tall pixels, more precisely 1:1.5 or 2:3.

The trick is that the original 240x160 GBA picture is scaled exactly 4 times horizontally, and 3 times vertically, thus having the so called "integer scaling". So, the fact of the 960x480 res being "too wide" is exactly why the games can be squished from the original 3:2 ratio to 4:3 without any blurring or scaling artifacts.


The scaling setting labeled as "240x160" on the device menus is even more genius, it is actually being rendered at 720x320 (represented in black), scaled 3 times horizontally and 2 times vertically, integer scaling again. On a normal 1:1 PAR display that would show in a 9:4 (or 4.3:2) ratio, wider than the GBA, but because of the pixel aspect ratio, it displays at 3:2.
Like zephry fromNeoGAF said, the only setting that looks blurred is the one labeled as "3:2", represented in red in my representation. The game is being vertically scaled 2,6 times, (160 * 2.6 = 426.6). 2.6 not being an integer is what makes the scaling blurred when using linear interpolation.