When using TV output in overscan mode ~5% of the
edges will be missing on all sides. To preserve the full
image in this mode, an 'Overscan Border' option would
be nice, where the image is rendered within a black
frame to compensate. Example: 800x600 would actually
be rendered as 720x540 (10% off both X and Y) and
centered in the full size. An adjustable border
percentage would be a nice bonus, but IMO the
standard 5% should fit most TV sets.
For PAL users there will be problems with synching as
PAL uses 50 Hz refresh. If I have understood it correctly
the GBA runs at 60 Hz natively. If the core supports it
without too much work, enabling it to run at 50 Hz
would resolve the issue (but possibly create new
ones :) ).
I can experiment some with these features if someone
could point me in the general direction of the code to be
changed (OpenGL/Direct3DDisplay for overscan? Code
for ticks in core for 50 Hz?).
Logged In: YES
user_id=29726
Two issues: 1. don't draw into overscan, and 2. run at 50 Hz.
The first issue Works For Me. Use Options > Video > Full
screen max scale, and specify 2. Then it won't enlarge the
image by more than a factor of 2. A factor of 3 results in
720x480 pixels, which should fit your PAL screen comfortably.
The second issue apparently isn't implemented yet. To run
the core at 50 Hz, the PAL Game Boy Player seems to drop
every 6th frame or so.
Logged In: YES
user_id=1059596
Thanks for replying.
1. Yes, I didn't think of this since I usually use OpenGL mode,
and it works nicely for DirectDraw mode. But using DD I
always get filtering when the video surface is resized, which
causes the image quality to degrade when compared to point
filtering in combination with 2xSAI (when displayed on TV). If
I switch to D3D/OGL mode I get point filtering, but then I'm
forced to use 'Other Fullscreen' and the max scale option is
ignored (is this a bug?).
2. Dropping frames enables the core to run at full speed while
maintaing synch (which also is very nice feature), but I was
thinking more of actually having the core run at 50 Hz,
slowing everything down 10 Hz.