~random-stuff/random-stuff/+git/visualboyadvance-m:bios-fix-snd-driver-vsync-off

Last commit made on 2023-09-04
Get this branch:
git clone -b bios-fix-snd-driver-vsync-off https://git.launchpad.net/~random-stuff/random-stuff/+git/visualboyadvance-m

Branch merges

Branch information

Name:
bios-fix-snd-driver-vsync-off
Repository:
lp:~random-stuff/random-stuff/+git/visualboyadvance-m

Recent commits

586e24c... by Fabrice de Gans <email address hidden>

[GBA] Disable part of SoundDriverVsyncOff()

The official BIOS executes a copy from the stack pointer data to another
area in the internal working RAM. This is problematic to emulate because
our emulated BIOS does not touch the stack. In addition, the official
BIOS overwrites the first word in the stack with "0". While this is fine
with an official BIOS (the stack points to some internal BIOS data at
this point), this results in a user stack corruption with an emulated
BIOS.

Reproducing the BIOS behavior when doing this copy is near impossible
since the stack and CPU states are very different with the emulated
BIOS. Furthermore, the reason why this copy is done by the official BIOS
is unknown. The most likely explanation is that this a leftover from a
debug attempt and is not actually required for most intents and purposes
so this patch disables the copy.

This fixes Shrek games on trunk.

0f4ec57... by Fabrice de Gans <email address hidden>

[Build] Fix the NO_LINK build

The NO_LINK build had bitrot and was no longer building. This fixes the
issue by properly disabling Link-related code, including unreachable
functions when the project is built with ENABLE_LINK=FALSE

7a7778c... by Rafael Kitover

build: fix installdeps for new Debian wx packages

Update installdeps for Debian to find the new version wx packages, but
still use the -gtk3 variants on very old versions of Debian.

Signed-off-by: Rafael Kitover <email address hidden>

803ab35... by Fabrice de Gans <email address hidden>

[GB] Save MBC7 EEPROM data to `gbRam`

Previously, MBC7 EEPROM was saved at address 0xa000 in memory, rather
than inside the `gbRam` data buffer. This was inconsistent with other
mappers, resulting in issues like the EEPROM data being cleared on
`gbReset`.

Fixes #1173

24b6ac5... by Fabrice de Gans <email address hidden>

[GBA] Implement missing Thumb instruction

The CMP Thumb instruction was missing one variant. This is used in the
Chinese fan translation of Mega Man Battle Network 2.

Fixes #889

0e5d63c... by Rafael Kitover

build: update to Mac third_party_libs_tool 1.3

Signed-off-by: Rafael Kitover <email address hidden>

cd8d65b... by Rafael Kitover

build: set cmake C++ version to 17, fix Mac build

Fix Mac build regression caused by 2407923f (build: fix cmake version
warnings, 2023-08-26) due to vbamcore and vbam targets using C++11 but
no longer being compatible with it.

When cmake_minimum_required() was set to a much older version, the
CXX_STANDARD property for vbamcore and vbam were ignored.

With the change mentioned above setting a higher
cmake_minimum_required(), the -std=gnu++11 flag started being passed when
compiling these two targets, making them fail due to recent changes no
longer being C++11 compatible.

Set cmake_minimum_required() to 3.8.2, the first version of cmake
supporting C++17, remove the CXX_STANDARD and CXX_STANDARD_REQUIRED
properties from these two targets, and set CMAKE_CXX_STANDARD to 17 to
set this property to C++17 for all targets in the project.

Signed-off-by: Rafael Kitover <email address hidden>

2407923... by Rafael Kitover

build: fix cmake version warnings

To fix some cmake dev warnings in recent cmake versions, move
cmake_minimum_required() to before project() and set the minimum
required cmake version to 3.5.

Signed-off-by: Rafael Kitover <email address hidden>

37f4aff... by Rafael Kitover

Merge remote-tracking branch 'libretro/master'

76cb714... by saulfabreg Wii VC Project <email address hidden>

Fix GameCube builds for VBA-M Libretro too

The GameCube, like the Wii and Wii U, is also big-endian, so let's fix VBA-M for GCN too.