Thank you, I appreciate that.
I try to keep my explanations as accessible as I can.
The easiest way to do that would be to stick to the original resolution and simply draw the buffer’s contents to the centre of the screen.
It would be even easier to not even bother with colour.
It is indeed hard to find a balance between an easy technique and an impressive port. Putting extra effort in to modify the code will always outshine a simple “change libraries, change graphics and recompile” approach.
Personally I think it would be easiest to start simple and expand outwards;
to draw at the original resolution in the centre of the screen, but also add colour (initially starting with @jonne’s suggested technique perhaps).
When that’s been proven, that technique could then apply to other titles, but then when that’s done there’s nothing to stop going further and attempting the world and sprite scaling.
It would, but scaling algorithms are not easy, and most existing algorithms assume full 8 bit per channel colour, while the Pokitto is limited to only being able to do indexed colour for a full frame. Trying to draw the whole screen ends up being too slow (at least as I understand it).
On top of that there’s still the issue of stretching and warping.
The scaling algorithms used for emulators usually scale by a factor of 2 or 4, not 1.5 as we’d ideally need.
Hrm, I have had one crazy thought:
I might be possible to do a x3 upscale and then a x2 downscale (i.e. 1 -> 3 -> 1.5), but I don’t know how the results would pan out, and that would still have the indexing issue.
If so maybe AdvMAME3x would be suitable for the x3 part, or hq3x (though annoyingly the algorithm is described in words instead of code or even maths).
@jonne, does this seem like it would be possible or would it be too intensive for the Pokitto’s processor, or not work well with palette indexing?
Going on a bit of a tangent, the most impressive image scaling algorithm I’ve ever seen is the algorithm presented in this paper.
(It was presented in 2011 at SIGGRAPH which is a big sciency computer graphics conference.)
I’ve never actually read the paper properly (big scientific papers like this usually bore me to tears by the second paragraph), but the diagrams are pretty impressive.