Jaklyy
546e8c4ad8
Merge remote-tracking branch 'upstream/master' into line-check-correction
2023-12-26 13:47:29 -05:00
Arisotura
ab8938a695
fix OSD scaling on hiDPI screens
2023-12-26 19:32:38 +01:00
Arisotura
f905b6fb93
separate EmuThread to its own file
2023-12-26 19:24:14 +01:00
Arisotura
fd1e4379b9
Merge branch 'master' of github.com:melonDS-emu/melonDS
2023-12-26 19:04:31 +01:00
Arisotura
7f437d48db
start cleaning up: move OpenGL stuff out of EmuThread
2023-12-26 19:04:01 +01:00
Jesse Talavera
d55a384c88
Apply some quick hotfixes ( #1931 )
2023-12-26 16:34:04 +01:00
Nadia Holmquist Pedersen
740489f7a4
Don't call Reset on nullptr
2023-12-26 08:49:02 +01:00
Nadia Holmquist Pedersen
ac3153d86b
"Incorrectly" link libslirp to stop its broken build system fucking up
...
our linker flags
2023-12-26 08:14:30 +01:00
Nadia Holmquist Pedersen
65780e6ba2
Update vcpkg
2023-12-26 08:14:20 +01:00
Nadia Holmquist Pedersen
27ac8dbc14
Integrate support for building with dependencies from vcpkg ( #1880 )
...
* Integrate support for building with dependencies from vcpkg
Configure the build using -DUSE_VCPKG=ON to use vcpkg. By default
recommended triplets targeting the OS versions official builds support
are used. You can opt out of this with -DUSE_RECOMMENDED_TRIPLETS=OFF.
* Add the vcpkg manifest
* Fetch vcpkg with FetchContent if we don't have it
* macOS cross compiling fixes
- can't use the x86_64 one as host triplet on arm64 because building Qt
fails for whatever reason. Because of course it does :D
- vcpkg doesn't always like periods in triplet names so removed those
* x86_64 macOS should also use its recommended target when building arm64 builds
2023-12-26 06:51:49 +01:00
Nadia Holmquist Pedersen
4d3af0d915
Make that FindWayland warning shut up
...
Hopefully "stable" distros use a not-ancient-enough CMake version that
this should be okay.
2023-12-26 05:12:26 +01:00
Nadia Holmquist Pedersen
f16de402cf
Screen.cpp: include missing headers
2023-12-26 04:26:38 +01:00
Arisotura
5c90cb939d
oops
2023-12-25 22:52:44 +01:00
Arisotura
80c6dd524b
add convenience method to Window class for OSD messages
2023-12-25 16:34:29 +01:00
Arisotura
6a1232b9a9
move MainWindow and Screen stuff to separate files; WIP
2023-12-24 15:11:30 +01:00
Samuel Magnan
f580d20a7b
Support GBA .sav file with appended .rtc ( #1927 )
...
* Support GBA .sav file with appended .rtc
* Change comment
2023-12-24 01:09:43 +01:00
Arisotura
de4ae9dd92
fix possible crash
2023-12-23 23:59:59 +01:00
RSDuck
989b93c92a
do not access NDS object emulation is paused
2023-12-22 23:30:59 +01:00
Nadia Holmquist Pedersen
521fc249a3
Don't try to call transferLayout on non-GL ScreenPanel
2023-12-22 02:17:26 +01:00
Nadia Holmquist Pedersen
752b37ed82
Attempt to get rid of leftover QSharedMemory instance after crash
2023-12-22 01:35:45 +01:00
RSDuck
084747abc5
Reset DS object directly after creation
2023-12-21 22:15:12 +01:00
RSDuck
ed650f2b46
call Reset on 3D renderer object
2023-12-21 21:43:57 +01:00
Nadia Holmquist Pedersen
fd3c349735
Check Q_OS_UNIX define instead
2023-12-20 21:38:55 +01:00
Daniel Simon
6c6318b63b
Fix generic icon when using Wayland
2023-12-20 21:38:55 +01:00
Jesse Talavera
01f8ad009e
Wrap the EnableJIT
initialization in an #ifdef
( #1922 )
2023-12-20 14:25:49 +01:00
Jesse Talavera
4b4239de62
Set NDS::EnableJIT
in the constructor ( #1921 )
2023-12-19 15:15:35 +01:00
Jesse Talavera
1bec2a9293
Fix an incorrect use of std::move
( #1919 )
...
- When I adapted `GBACart::ParseROM` to use `unique_ptr` instead of a plain pointer, I forgot to remove the code that copied the SRAM data
- That code was made unnecessary because of the move
2023-12-16 00:05:43 +01:00
Jesse Talavera
eedb0ba478
Add a call to std::move
that I missed ( #1917 )
2023-12-15 20:52:35 +01:00
Jesse Talavera
e1821d0023
Simplify the SRAM's representation in NDSCartArgs
( #1914 )
...
* Simplify the SRAM's representation in `NDSCartArgs`
- I overthought this one.
- I could've just checked `args && args->SRAM`, but then some other poor bastard might make this mistake.
- Don't mix `pair`, `optional`, and `unique_ptr` all at once, kids.
* Fix a `nullptr` read
2023-12-15 14:56:10 +01:00
Jesse Talavera
24c402af51
Fix detection of native NDS ARM BIOS images ( #1910 )
...
* Fix detection of native NDS ARM BIOS images
- Instead of checking for built-in BIOS images, now the altered methods check for native ones
- The CRC32 must match exactly; patched BIOS images will result in `false`
* Encapsulate `NDS::ARM9BIOS` and `ARM7BIOS`
- Also compute the checksum only when setting the BIOS
2023-12-15 14:54:41 +01:00
Jesse Talavera
c867a7f1c0
Make the initial 3D renderer configurable via NDSArgs
( #1913 )
...
* Allow 3D renderers to be created without passing `GPU` to the constructor
* Make the initial 3D renderer configurable via `NDSArgs`
* Fix a compiler error
2023-12-15 14:53:31 +01:00
Adrian Siekierka
6f47c9ed4c
Support emulating R4 Revolution/M3DS Simply cartridges. ( #1854 )
...
* Support emulating R4 Revolution/M3DS Simply cartridges.
* NDSCartR4: Write state information to savestate file.
* NDSCart: Use strncmp instead of strcmp for R4 detection.
* NDSCartR4: stylistic improvements
* NDSCartR4: rudimentary Ace3DS support
* NDSCartR4: fix boot when firmware enabled
* NDSCartR4: Fix for namespace changes
---------
Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
2023-12-15 08:19:53 +01:00
Jesse Talavera
9bfc9c08ff
Sprinkle const
around where appropriate ( #1909 )
...
* Sprinkle `const` around where appropriate
- This will make it easier to use `NDS` objects in `const` contexts (e.g. `const` parameters or methods)
* Remove the `const` qualifier on `DSi_DSP::DSPRead16`
- MMIO reads can be non-pure, so this may not be `const` in the future
2023-12-12 11:07:22 +01:00
Jaklyy
2cba2e783a
fix default emu settings tab ( #1912 )
2023-12-12 00:04:04 +01:00
Nadia Holmquist Pedersen
81219a9f5d
Fix some conflicts with windows.h in some configurations
...
Fixes build in the MSYS2 Clang/ClangARM64 environments.
2023-12-11 10:59:05 +01:00
RSDuck
082310d5d5
hopefully reset all GPU3D attributes properly
2023-12-08 23:42:08 +01:00
Nadia Holmquist Pedersen
6949100446
Fix GBA<->DS comm not working when using FreeBIOS
...
Thanks CasualPokePlayer for pointing this out
2023-12-08 18:34:38 +01:00
Nadia Holmquist Pedersen
5ef35a4ccf
Don't try to poke at the header on deinit if MPQueue is nullptr
2023-12-08 17:39:56 +01:00
Nadia Holmquist Pedersen
890a66c0eb
I'm sick of this interfering with debugging
2023-12-08 17:27:06 +01:00
Jesse Talavera-Greenberg
5dac65f52e
Fix some minor instances of undefined behavior
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
bbecab6cb0
Correctly use the refactored JitEnableWrite
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
72d4eba477
Rearrange some #include
s
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
7cef13031f
Add some headers that were transitively included by the JIT
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
399a6af91c
Move some constants to MemConstants.h
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
53e5aa6298
Exclude JIT-related declarations more aggressively
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
733769303c
Add override
to the ARM64 JIT's destructor
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
582a421447
Don't set the JIT args if the JIT is off
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
644d190e98
Add stubs for NDS::IsJITEnabled
and SetJITArgs
for when the JIT is excluded
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
f4377e4f0f
Remove a loose qualifier
2023-12-08 17:19:00 +01:00
Jesse Talavera-Greenberg
2a35af5bb9
Soften restrictions around ARMJIT_Memory::RemapNWRAM
...
- If in NDS mode, return instead of `assert`ing
- Use `static_cast` and `ConsoleType` instead of `dynamic_cast`
2023-12-08 17:19:00 +01:00