Skip to content

Conversation

@negativeExponent
Copy link
Contributor

No description provided.

Squall-Leonhart and others added 30 commits November 15, 2025 00:37
So the cause of Pokemon Gen 2 Time not Set on new vbam battery saves was because the overflow bit was being set immediately at initializing the RTC due to the initial value of Last Time being 0 (Epoch, 1970) and then immediately being brought up to the current time via time_t

we now set Last Time to -1, and initialize immediately to Now instead of 0.

Also has the initial implementation of the rtc halt bit, though it doesn't seem to pass tests so might not actually be working.

we also log the RTC to console in debug builds

And finally, a save check is added to reset stuck overflow control values on already affected save files.
it is software writable, and properly allowing this does allow a new battery to be created without the epoch fixes, but does not correct batteries with low days, when control stuck on 128.

we'll do this to allow the games to overflow and reset the bit by themselves as necessary, as intended, but also maintain the other change where we don't set epoch 0 on the initial data.
Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix garbage artifacts and possibly reprojected lines for the Bilinear
and Bilinear Plus filters and possibly others due to incorrect
border/stride calculations again.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
also fixes super eagles boundaries to eradicate garbage lines below and to the right.

also changes the RTC logging so it prints once per update
Signed-off-by: Rafael Kitover <[email protected]>
Change all video driver status message calls to `wxLogError()` and
`wxLogDebug()` as appropriate.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Add support for the VSync option to the SDL video driver.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Implement VSync and Bilinear for the Metal video driver.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix color formats and masking at 8bpp and 16bpp with filters and fix the
line at the bottom with Super Eagle.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix `systemScreenMessage()` for wxWidgets (the OSD messages) to be the
same scale regardless of filter scale and to display Unicode correctly.

There is enough space for 3 lines at the bottom, which should be
generally sufficient.

The `drawText()` function is replaced with `drawTextWx()` for the
wxWidgets interface for this purpose, using wxWidgets facilities for
drawing text on an image.

Fixed with Claude and lots of testing.

Signed-off-by: Rafael Kitover <[email protected]>
Remove `GameBoy Color Option`, the old color correction code for
GameBoy, as we now have working color correction controlled by the `LCD
Filter` option.

Remove all references, from wxWidgets, SDL and libretro.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix warnings in 2xSaI.cpp.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix unused variable warning in gb.cpp on macOS for the debug build.

Signed-off-by: Rafael Kitover <[email protected]>
On Windows, use a PowerShell script invoked from a `.bat` file to
emulate the `zip` program when no `zip` program is found. Using the .NET
zip file classes.

Done with Claude and some manual work.

Signed-off-by: Rafael Kitover <[email protected]>
Adjust the `zip.ps1` script added for when InfoZip is not available in
f6a1714 (build: use pwsh to zip on Windows when no zip, 2025-11-19) to
work more like InfoZip in the entry creation and order and compression
level.

Changed with Claude and manual changes.

Signed-off-by: Rafael Kitover <[email protected]>
Fix menubar keyboard accelerator support, broken by the introduction of
the `ShortcutMenuBar`.

On Windows, enter operating system menu keyboard navigation mode when
`Alt` + menu accelerator key is pressed.

On GTK3, implement keyboard menu navigation without entering GTK3
keyboard navigation mode, with first letter menu item support for menu
items without accelerators like `File -> Open`, like it works in
Windows.

Done with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Support using `%s` in the directories config for the ROM system type.

Done with Claude.

Fix #1516.

Signed-off-by: Rafael Kitover <[email protected]>
Followup on 4f35245 (Allow emu system in directory config path parts,
2025-11-29). Expand the system name fully, e.g. "GameBoy" instead of
"GB".

Followup on #1516.

Signed-off-by: Rafael Kitover <[email protected]>
Fix the 8 second app startup delay by not preloading all of the dialogs
and making them lazy-load instead.

Make a couple of other minor optimizations.

Done with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix some code issues in the FAudio driver identified by Claude, and fix
a crash bug on resetting the APU for GBA on `soundReset()`.

Signed-off-by: Rafael Kitover <[email protected]>
When checking for FAudio check that the SDL version FAudio is linked to
matches the one we are building for, SDL3 or SDL2.

Done with Claude.

TODO: Needs an implementation for MSVC and MSYS.

Signed-off-by: Rafael Kitover <[email protected]>
Adjust the appearance of the OSD to look better at native GBA
resolution.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Remove the transparent on screen display option, which does nothing now.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Restore the OSD or statusbar messages on cycling the pixel filter or
inter frame blender method.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix matching modifiers on macOS.

Fix menubar display, put extended keybinds in parenthesis and use system
display for compatible keybinds. Remove parenthesis from menu items like
Languages so that they don't get stripped out.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix, optimize and activate the FilterThread implementation.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
When building with Mac Homebrew, also add OpenSSL to
`include_directories()` and `CMAKE_PREFIX_PATH`.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix option-test.cpp by replacing `kOpenAl` with `kSDL`, which is always
available; the former is not, if `ENABLE_OPENAL=OFF`.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Fix tests for the XP build, which is the vcpkg triplet
`mingw-x86-static`.

Partly fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix warnings in Debug XP build, `x86-mingw-static`.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Add XP builds CI workflow.

Done with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix bundled ps12exe, needed an exception in `.gitignore`.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Define `INVALID_SOCKET` for non-WIN32.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Fix the XP CI job.

Fixed with Claude.

Signed-off-by: Rafael Kitover <[email protected]>
Use CMake to find SDL3/2, stop using pkg-config on UNIX.

Change the error message if neither is found to be less confusing.

Signed-off-by: Rafael Kitover <[email protected]>
Set `CMAKE_C_COMPILER` and `CMAKE_CXX_COMPILER` for the
`x86-mingw-static` triplet used for the XP build to hopefully fix the CI
failure.

Signed-off-by: Rafael Kitover <[email protected]>
Make the `C:\msys64` directory before extracting to it for the XP CI
job.

Signed-off-by: Rafael Kitover <[email protected]>
Remove `C:\msys64\mingw32` before extracting the toolchain, `C:\msys64`
seems to exist on the runner.

Signed-off-by: Rafael Kitover <[email protected]>
Set the PATH to the XP toolchain with the drive prefix because the
current drive may be different.

Signed-off-by: Rafael Kitover <[email protected]>
Signed-off-by: Rafael Kitover <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants