Commit Graph

2543 Commits

Author SHA1 Message Date
37ca75acb9 add source for DLDI driver 2025-05-27 00:27:38 +02:00
528f2495fc Fix a missing #include on Windows builds (#2333)
* Fix a GCC 15 build issue on Windows due to a missing `#include`

- `<vector>` was included implicitly by some other header
- The build broke in GCC 15 on MinGW, most likely due to some internal refactoring

* Indent these `#include`s the same as the others
2025-05-21 22:16:00 +02:00
7baeb26e32 Fix undefined behavior when indexing into ARCode::Code (#2331)
- Indexing past the end of a `std::vector`'s length is undefined, even if there's extra capacity
- GCC 15 introduced an assert in `vector::operator[]`, so this line caused an abort if melonDS was built with GCC 15
- It was always undefined, but now the STL checks for it
2025-05-20 01:00:48 +02:00
0e64a06c84 Use standard sysconf
Fixes compilation of JIT builds on non-glibc OSes. After some testing in a Fedora 41 VM,
__sysconf and sysconf return the same value, and sysconf in glibc appears to just
be an alias to __sysconf to begin with
2025-05-15 14:08:43 +02:00
d6d820c013 Set SDL_HINT_APP_NAME (#2319)
Fixes #2300
2025-05-11 13:10:48 +02:00
9ed7e5803e ci: upgrade vcpkg to a commit that works for our deps with CMake 4.0
CMake 4.0 dropped support for projects with a minimum required version
below 3.5. libarchive, as well as possibly other dependencies, had older
versions set so they now fail to build.

GitHub Actions and MSYS2 were very quick to update their CMake version
and there isn't a tagged vcpkg release with a fix for libarchive yet, so
we will use a specific commit for now.
2025-04-09 17:40:12 +02:00
0fcf1f6e3a Add support for using the solar sensor without requiring a Boktai ROM (#2221)
* Add a `GBAHeader` struct

* Add extra `GBAAddon` entries for the Boktai carts

- Each game in the trilogy has a different effect on Lunar Knights (the only commercial DS game to support the solar sensor)

* Copy the logo data from the NDS ROM's header to the Boktai stub's header
2025-03-09 18:20:27 +01:00
63b468927e ci: enable building of appimages on aarch64
Looks like whatever was causing linuxdeploy to crash got fixed, so we can build them now.
2025-02-21 08:58:48 +01:00
e8265df4bd vcpkg 2025.01.13, update nixpkgs 2025-02-10 22:53:51 +01:00
15c3faa26e Use GitHub's new arm64 Linux runners for the Ubuntu CI builds 2025-01-17 04:15:13 +01:00
a9cce557d2 fix framelimiter bugs (#2256) 2025-01-14 18:21:03 +01:00
0c5dd28b1c just case the string length to int to make std::min happy in all cases 2024-12-26 09:17:46 +01:00
c41951d49c Fix almost every warning (#2195)
Fix almost every warning as of Clang 19

* <codecvt> is deprecated, we can use QString's UTF-16 conversion
  instead
* remove sem_timedwait implementation as we don't need it anymore
* remove a useless shift that has its result discarded
* change usages of deprecated sprintf to snprintf
2024-12-25 16:54:10 +01:00
be26878b4c FIX: this should be namespace std:: to preserve compatibilty with non-glibc when building without gdb stub 2024-12-25 16:48:46 +01:00
66d1091330 improve audio handling at non-60 fps targets (#2246) 2024-12-25 16:34:30 +01:00
72c86ade31 Fix gdbstub not activating until the console is reset (#2245)
The check for initialising the gdbstub depending on whether the JIT was
enabled or not was the wrong way around: previously, it would only
enable the gdbstub if the JIT was enabled.

The stub started working again if you reset the console, as
NDS::SetGdbArgs didn't have any such check and it was called by
EmuInstance::updateConsole.
2024-12-24 00:29:21 +01:00
7d718ada39 cmake: set default CMAKE_OSX_DEPLOYMENT_TARGET before project()
project() appears to set it to an empty string (the value of nonexistent
$ENV{MACOSX_DEPLOYMENT_TARGET}?), causing our attempt to set its default
to fail. CMake bug?
2024-12-05 15:40:29 +01:00
817b409ec8 ah. (#2225) 2024-11-30 02:54:54 +01:00
cba838dd52 TitleManager: fix handling of title string
Truncate the title at the first occurrence of \0, as title strings
should be null-terminated.

Fixes #2219 (Weird characters on DSi Title Manager on melonDS 1.0RC)
2024-11-27 13:15:18 +00:00
730b488fe3 vcpkg 2024.11.16 & update nixpkgs 2024-11-23 14:41:25 +01:00
1d6c9023ff get rid of the incorrect CLOCK_MONOTONIC redefinition 2024-11-23 12:43:06 +01:00
0db536c063 Set _WIN32_WINNT to Windows 8 when JIT is enabled (fixes #2209) 2024-11-23 12:40:02 +01:00
6a15dbfa12 unmappinged everything 2024-11-22 03:34:18 +01:00
e3fa6f4224 Fix version number in the generated Windows resource 1.0rc 2024-11-21 01:10:13 +01:00
98ceadd44c really?! 2024-11-21 00:37:22 +01:00
dc10df0796 FUCK THAT SHIT 2024-11-21 00:27:30 +01:00
97a00e3137 BAHAHAHAHAHAHSKSHFOS-#%~/%% 2024-11-21 00:21:47 +01:00
d0d010b09d don't use std::map and std::function in scheduler 2024-11-20 02:55:40 +01:00
f6f993cb41 Merge remote-tracking branch 'origin/master' 2024-11-19 01:07:39 +01:00
86c6740b24 fuck that shit 2024-11-19 01:07:27 +01:00
1b3f4664d8 fix order of ScreenLayoutType 2024-11-19 00:57:58 +01:00
13096f9fdc add warnings to the LAN dialogs 2024-11-19 00:50:42 +01:00
c4f7c1bff7 fix compiling without JIT 2024-11-19 00:34:16 +01:00
317b91533b avoid spawning message boxes from the emuthread 2024-11-19 00:33:39 +01:00
259eb4b408 dsfsdhgf 2024-11-19 00:11:46 +01:00
d68091ee9c fix another oversight 2024-11-18 23:13:48 +01:00
b491e99954 actually save path settings in instance-local config 2024-11-18 23:10:21 +01:00
bca0457bea fuck, why did these files get committed 2024-11-18 22:56:34 +01:00
f1c96281a9 update toml11. fixes bug with FPS settings corrupting config file 2024-11-18 22:53:55 +01:00
bdc8f635de change splash logo to 384x384 png 2024-11-18 22:06:50 +01:00
9ad3d42252 hopefully fix macos 2024-11-18 21:31:56 +01:00
f0503a6a28 fix 4kb page check
oops
2024-11-18 21:21:02 +01:00
99ce959913 Multiinstance jit (#2201)
* works on Linux x64
still needs to be fixed for everything else

* use lots of PROT_NONE memory to reliably reserve virtual address space

* multi instance fastmem on Linux

* Windows

* blarg

* disable fastmem if the page size is not 4kb

* fix fast mem dialog option

* make aarch64 work as well

* fastmem 16kb pages support
2024-11-18 20:43:05 +01:00
cb7af652f5 aarch64 lto broken GPU2D workaround 2024-11-18 20:08:49 +01:00
c01b2bf7a0 prevent out of bounds access for microphone data 2024-11-18 18:58:39 +01:00
0ea0af3abf make it possible to change gdb stub settings without destroying/recreating a NDS 2024-11-17 20:00:52 +01:00
99aa5676db actually remove NDS/GBA ROM args from NDSArgs, since we won't be using them 2024-11-17 19:38:36 +01:00
5e3d2d07c3 fix Key1 code to source the DS-mode key data from the ARM9i BIOS, so it works even if no DS BIOSes are provided
(had to rework the loading code to make it work -- if carts are passed to the DSi constructor, they get initialized before the DSi stuff is initialized, and can't read the DSi BIOSes)
2024-11-17 19:04:13 +01:00
f0a023b572 Merge remote-tracking branch 'origin/master' 2024-11-17 18:18:00 +01:00
5f8255bc90 allow DSi mode to run with internal DS BIOS 2024-11-17 18:17:43 +01:00