Releases: jdgleaver/ReGBA
Menu Toggle Tweaks
This very minor update allows the button combo used to open the menu to be (somewhat) configured via a new Hotkeys > Menu
option. Available settings are:
- POWER or START+SELECT
- POWER or L3+R3
- POWER
- START+SELECT
The main point of this is to allow the POWER button to be disabled, for users of simple menu/Adam image (where waking from sleep would otherwise cause the ReGBA menu to open)
OpenDingux Beta Scaling Fix
It turns out that OpenDingux Beta handles IPU scaling in such a way that content with an integer multiple resolution of 240x160 is 'clipped' when displayed with the correct aspect ratio. This is problematic for ReGBA, since 240x160 is the native resolution of GBA games. As a result, when using any hardware/hardware_2x scaler with 'keep aspect ratio' enabled, the bottom 2 rows of pixels are cut from the output image.
This release fixes the issue by adding a workaround to the OpenDingux Beta build; troublesome resolutions are now automatically padded, ensuring that games always display correctly.
(The regba_rg350.opk
build is unaffected by this - users of stock firmwares who already have release version 1.9 do not need to update)
OpenDingux Beta Support
This release adds full OpenDingux beta (https://zcrc.me/) support. A new regba_rg350_odbeta.opk
build is provided:
- This is compiled using the latest GCW0 toolchain, with huge-pages support (for improved performance)
- The
Hardware aspect
andHardware filter
options now work correctly on OpenDingux Beta versions released after 16/03/2021
In addition, the regular and beta builds are now compiled with Link Time Optimization, for improved performance.
IPU Configuration
This release adds two new display options which enable configuration of the IPU when using any of the Hardware
-type image scaling methods:
-
Hardware aspect
:Native
displays content with the correct aspect ratio whileStretched
scales the image to fill the screen -
Hardware filter
: Allows selection of the image filtering method from one of:Bicubic
(default),Bilinear
(softer) orNearest
(i.e. sharp. no filter)
This update was prompted by my recent acquisition of an RG280V; due to it's unusual display resolution, it turns out that Hardware (Scale2x)
+ Bilinear
often produces better results than the default Bicubic
, and enabling menu-based configuration saves wear and tear on the power button :)
(In addition, the RG280V seems to have performance issues in some games when using Bicubic
, which can sometimes be mitigated by toggling to Bilinear
)
Pixel Processing Optimisations
This is a small maintenance release focussing on performance optimisations:
-
SDL_SWIZZLEBGR
support has been enabled for builds using the official (i.e. old) GCW0 toolchain. This provides a more efficient mechanism for packaging pixels for display purposes. Since I only use the official toolchain, this improves the performance of the binary posted here :) -
Interframe blending and the x2 hardware scanline/grid scalers have been optimised using blargg's packed pixel mixing method: http://blargg.8bitalley.com/info/rgb_mixing.html. This reduces the performance overheads of these post-processing techniques by ~20-30%.
Grand Unification
With this release, there is a single build for all RG350 models. Moreover, the x2 hardware scalers should now work on non-M devices. The scanline and grid scalers won't look so good on a 320x240 display (there are simply not enough pixels to render the effects accurately), but the Hardware (x2)
and Hardware (Scale2x)
scalers should look crispy on any screen.
In addition, this release merges the latest maintenance commits from pcercuei (https://github.com/pcercuei/ReGBA/tree/regba-2020.10.07), including a safer mechanism for writing save states. Many thanks to pcercuei for the continued dev work.
(Note: This release does not include pcercuei's build modifications to support huge pages, since these require OpenDingux nightlies. I'd prefer to retain compatibility with the stable OpenDingux release, at least for the time being)
Fast-Forward Audio Improvements
This release makes the following changes:
-
The audio buffer has been tweaked slightly to reduce crackling when fast forwarding a game
-
A new
Audio settings > Fast Forward Volume
option has been added. This can be used to set the volume level when fast forwarding a game to 100%, 50% or 25%, or to mute the audio entirely
This should hopefully make grinding less uncomfortable on the ears :)
"Hardware (Scale2x)" Image Scaling
This release adds yet another image scaler: Hardware (Scale2x)
. This is similar to Hardware (x2)
, but the x2 upscaling is performed via the popular Scale2x algorithm (https://www.scale2x.it/).
This release also includes a small performance optimisation when enabling interframe blending, and makes a few (mostly trivial) additions to game_config.txt
.
Colour Correction Gamma Adjustment (derp fix edition)
Due to a silly typo, previous releases used the wrong gamma level when creating the GBA colour correction lookup table, leading to an unnecessarily bright/washed-out image. This quick maintenance release fixes the issue. Apologies for any inconvenience!
"Scanline" Image Scalers
This release adds three new image scaling methods to the RG350M build:
-
Hardware (Scan Vert.)
: Identical toHardware (x2)
, but with vertical scanlines -
Hardware (Scan Horz.)
: Identical toHardware (x2)
, but with horizontal scanlines -
Hardware (Grid)
: Identical toHardware (x2)
, but with a simple LCD grid effect
Note that the scanlines are rather subtle - we are limited to a 640x480 display, and simply don't have enough pixels to do anything more sophisticated while maintaining any semblance of even scanline spacing.
In addition: I have received reports that the Hardware (x2)
option causes crashes on RG350 devices (apparently the hardware scaler on these cannot downscale an image that is higher than the native resolution of 320x240). I have therefore prepared two separate builds:
-
regba_rg350m.opk is the full-fat version for the RG350M
-
regba_rg350.opk is a cut down version for the RG350, which includes colour correction/interframe blending/controller improvements, but omits all hardware x2/scanline image scalers