I'm wondering how 320x224 will create a perfect image of 160x192? Could you explain some of the technicalities of why this is so?
(And yes, I know I'm replying to a post that is nearly 2 years old, but it's still relevant to me, and possibly others).
(The position against refloating old posts is just a ridiculous policy of some forums that I don't share).
We consider the image to be perfect as long as the resulting outputs from 320x224 and 160x192 can't be told apart.
160 x 2 = 320.
2 is an integer. Scaling horizontally by an integer factor results in a picture that is 100% identical to what you'd get by using the native resolution. Here we could use a horizontal resolution 480, 640, etc., applying the required factors and the result would be the same.
As for the vertical part, we need to realize that 192 is not the actual total number of lines. When you have a video mode with Hfreq = 15.72 kHz, and Vfreq = 60.00 Hz, the total number of lines per frame is:
15720 / 60 = 262 lines
So any arcade PCB, console, DVD player, etc. that outputs 15.72 kHz/60Hz is actually drawing 262 lines per frame. From those, 22 lines are required for blanking so they can't be used for drawing anything. This leaves you with a total resolution of 240 lines, even if you don't want so many lines. If you only want to use 192 of them because you're designing a PCB with low video memory, then you just leave black borders up and down. When you're using an emulator, you can either create a "real" 192p resolution, and leave the video driver fill the borders for you, or tell your emulator to pick any 224p or 240p existing resolution and fill the borders "by software" using black lines. The result from a harware point of view will be the same, a 240p active resolution/262p total resolution. The video signal will be identical.