Commit Graph

2580 Commits

Author SHA1 Message Date
KostaSaizo7 13a9825c9a
le plus important (#2375)
blarg
2025-07-13 22:34:38 +02:00
Arisotura e099cfdc5a BAHAHAHAAHAHAHAHAAHAHAHA-*~°+| 2025-07-08 23:11:36 +02:00
Jakly 608a4151b8
fix full bios boot not being set properly on initial DSI class creation (#2366) 2025-07-08 21:39:43 +02:00
Sparronator 3263ab11c2
Make SPU audio single-buffered (audio latency improvement) (#2286)
* SPU audio latency improvements

Basically reverts audio buffer handling to what it was before commit 05b94ef, but with the mutexes kept for thread safety (which the referenced commit was trying to do).

The SPU audio buffer should still be thread-safe in theory... right?

* Audio output improvements

This commit changes the audio output buffer to be configured by a variable, and fixes the case where the sound driver may change the buffer size after calling SDL_OpenAudioDevice (e.g. if the buffer size is set too low for the driver to handle).
2025-07-08 19:52:36 +02:00
Arisotura 72cba5daab camera: misc fix 2025-07-08 16:04:17 +02:00
Arisotura f8b4871900 oops 2025-07-07 16:19:56 +02:00
Arisotura e5741f992a camera: fix some misc issues 2025-07-07 16:15:58 +02:00
Arisotura 7499958ad0 camera: revise interface behavior to be more accurate
* there are two FIFO buffers (finally fixes Let's Golf)
* fix issues with camera start condition/cnt bit15
* add camera interface state to savestate
2025-07-07 14:48:53 +02:00
Arisotura 85d9202633 push this back tho... 2025-07-07 12:21:47 +02:00
Arisotura 1f51f27d44 Revert "camera: model FIFO more accurately (avoids weird bugs when DMA fails)"
This reverts commit 2cb07bf126.
2025-07-07 12:20:11 +02:00
Arisotura 85dcf65231 DSi: add support for SCFG_EXT bit 13 (32-bit VRAM bus) 2025-07-07 02:47:46 +02:00
Arisotura 2cb07bf126 camera: model FIFO more accurately (avoids weird bugs when DMA fails) 2025-07-07 02:30:01 +02:00
Arisotura 16d1464d19 camera: make timings more realistic (fixes rolling in some games) 2025-07-05 00:14:11 +02:00
Arisotura f352cf612a call MakeCurrent() before deiniting GL stuff (to avoid deiniting on the wrong context) 2025-06-28 22:55:48 +02:00
Arisotura 4aaea218c1 add a way to tell windows apart 2025-06-28 13:06:53 +02:00
Arisotura 44b0704063 fix video settings update on second instance secondary windows 2025-06-28 12:48:22 +02:00
Arisotura 2499ec36c2 window: undo last commit (was a trainwreck). explicitly close child windows to avoid GL issues. fix bug with window parenting in second multiplayer instances. 2025-06-28 12:37:53 +02:00
Arisotura baad893bc0 window: move cleanup code to destructor (closeEvent() isn't called for children) 2025-06-28 03:48:42 +02:00
Arisotura ec2f7ee838 fix issues with multi-window and OpenGL on Windows 2025-06-28 03:02:00 +02:00
Arisotura 005ef9c9fc camera: fix resolution selection code (could accidentally select a resolution like 640x360) 2025-06-26 23:04:14 +02:00
Arisotura 7b562f71b3 NDMA: fix IRQ in infinite repeat mode 2025-06-25 21:52:23 +02:00
Arisotura fd279bedc5 huh 2025-06-24 16:51:33 +02:00
Arisotura b2af96474f Merge remote-tracking branch 'origin/master' 2025-06-24 01:03:25 +02:00
Arisotura 8cd2d972ab DSP: fix PDATA reads being one off 2025-06-24 01:03:14 +02:00
Edoardo Lolletti ab249fc913
Don't return 0 when attempting to read from the GPA GPIO addresses with GPIO disabled (#2266) 2025-06-23 08:32:17 +02:00
Arisotura 8e163296d3 camera: trigger DMA when reaching the end of a frame (fixes issues when the frame height isn't a multiple of the DMA interval) 2025-06-22 23:58:30 +02:00
Arisotura 83b8f1ae47 DSP: fix bug in PDATA read DMA (was reading wrong register) 2025-06-22 21:27:27 +02:00
Adrian "asie" Siekierka fd74181f7d
Slot-2 Motion Pak, Guitar Grip emulation (#2183)
* Add DS Motion Pak emulation

* Add retail Motion Pak emulation, Guitar Grip emulation

* Simplify Motion Pak acceleration conversion formula

* Fix Motion Pak emulation axes

* Motion Pak: Emulate console laying on a flat table when motion input is not detected

* Motion Pak: Add comment

* GBACartMotionPak: Update comment
2025-06-22 16:30:01 +02:00
Edoardo Lolletti 2d04222442
Load Tad key into DSi AES engine (#2252) 2025-06-22 16:29:20 +02:00
Arisotura 71edf793fc setupMicInputData() ought to be called at all times tho 2025-06-18 19:32:50 +02:00
Nadia Holmquist Pedersen d7a4b2e8fe Don't try to change the core's audio interp setting when the emu
instance has no core yet.

Fixes #2352
2025-06-18 00:51:47 +02:00
Jakly c65d490351
small fix to translucency flag assignment (#2301)
hardware does not care that the polygon's mode would prevent the texture from rendering translucent pixels
2025-06-15 19:24:42 +02:00
Arisotura 79f12de480 multi-instance: load firmware from correct instance-specific file (load from original file if not found) 2025-06-15 01:42:24 +02:00
Nadia Holmquist Pedersen 0b005abedf work around building with LTO causing an ICE in gcc 15.1.0 2025-06-15 01:15:31 +02:00
Arisotura 0d294e9373 fix mic settings not being changed when closing the audio settings dialog 2025-06-14 23:20:31 +02:00
Arisotura 7117178c2d melonDLDI: add support for unaligned I/O 2025-05-27 00:55:12 +02:00
Arisotura d1eff4acf5 update copyright headers (about time) 2025-05-27 00:31:37 +02:00
Arisotura 37ca75acb9 add source for DLDI driver 2025-05-27 00:27:38 +02:00
Jesse Talavera 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
Jesse Talavera 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
Alex 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
Alex d6d820c013
Set SDL_HINT_APP_NAME (#2319)
Fixes #2300
2025-05-11 13:10:48 +02:00
Nadia Holmquist Pedersen 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
Jesse Talavera 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
Nadia Holmquist Pedersen 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
Nadia Holmquist Pedersen e8265df4bd vcpkg 2025.01.13, update nixpkgs 2025-02-10 22:53:51 +01:00
Nadia Holmquist Pedersen 15c3faa26e Use GitHub's new arm64 Linux runners for the Ubuntu CI builds 2025-01-17 04:15:13 +01:00
Jakly a9cce557d2
fix framelimiter bugs (#2256) 2025-01-14 18:21:03 +01:00
Nadia Holmquist Pedersen 0c5dd28b1c just case the string length to int to make std::min happy in all cases 2024-12-26 09:17:46 +01:00
Nadia Holmquist Pedersen 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