Arisotura
f8bf3211ed
lay base for AAC ucode
2025-07-30 01:01:57 +02:00
Arisotura
6e8d1d748b
huh
2025-07-29 01:14:52 +02:00
Arisotura
8da5f2f4a3
add all known CRCs for graphics ucodes
2025-07-29 00:52:57 +02:00
Arisotura
7e1e843ee3
add yuv2rgb
2025-07-29 00:28:37 +02:00
Arisotura
a3ad6a66e1
more base work for DSP HLE.
...
add scaling commands.
2025-07-28 23:38:30 +02:00
Arisotura
d099c022bb
lay base for DSP core interface (so it can switch between LLE and HLE)
2025-07-21 17:13:25 +02:00
Arisotura
e46a54ef8f
basic attempt at implementing the scaling command
2025-07-16 14:41:45 +02:00
Arisotura
af768fe729
basic ideas for actual HLE functionality. do the init handshake.
2025-07-11 23:12:26 +02:00
Arisotura
f6104609f9
lay very basic base for HLE ucode stuff
2025-07-09 21:10:31 +02:00
Arisotura
444b370a36
get the DSP HLE branch started, I guess
2025-07-09 19:44:33 +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
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
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
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
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
izder456
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
Jakly
66d1091330
improve audio handling at non-60 fps targets ( #2246 )
2024-12-25 16:34:30 +01:00
Campbell Suter
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
Jakly
817b409ec8
ah. ( #2225 )
2024-11-30 02:54:54 +01:00
Rayyan Ansari
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
Nadia Holmquist Pedersen
1d6c9023ff
get rid of the incorrect CLOCK_MONOTONIC redefinition
2024-11-23 12:43:06 +01:00
Nadia Holmquist Pedersen
0db536c063
Set _WIN32_WINNT to Windows 8 when JIT is enabled ( fixes #2209 )
2024-11-23 12:40:02 +01:00
RSDuck
6a15dbfa12
unmappinged everything
2024-11-22 03:34:18 +01:00
Nadia Holmquist Pedersen
e3fa6f4224
Fix version number in the generated Windows resource
2024-11-21 01:10:13 +01:00
Arisotura
dc10df0796
FUCK THAT SHIT
2024-11-21 00:27:30 +01:00
RSDuck
d0d010b09d
don't use std::map and std::function in scheduler
2024-11-20 02:55:40 +01:00
Arisotura
f6f993cb41
Merge remote-tracking branch 'origin/master'
2024-11-19 01:07:39 +01:00
Arisotura
86c6740b24
fuck that shit
2024-11-19 01:07:27 +01:00
Nadia Holmquist Pedersen
1b3f4664d8
fix order of ScreenLayoutType
2024-11-19 00:57:58 +01:00
Arisotura
13096f9fdc
add warnings to the LAN dialogs
2024-11-19 00:50:42 +01:00
Nadia Holmquist Pedersen
c4f7c1bff7
fix compiling without JIT
2024-11-19 00:34:16 +01:00
Arisotura
317b91533b
avoid spawning message boxes from the emuthread
2024-11-19 00:33:39 +01:00
Arisotura
259eb4b408
dsfsdhgf
2024-11-19 00:11:46 +01:00
Arisotura
d68091ee9c
fix another oversight
2024-11-18 23:13:48 +01:00
Arisotura
b491e99954
actually save path settings in instance-local config
2024-11-18 23:10:21 +01:00
Arisotura
f1c96281a9
update toml11. fixes bug with FPS settings corrupting config file
2024-11-18 22:53:55 +01:00
RSDuck
9ad3d42252
hopefully fix macos
2024-11-18 21:31:56 +01:00
RSDuck
f0503a6a28
fix 4kb page check
...
oops
2024-11-18 21:21:02 +01:00
Kemal Afzal
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
RSDuck
cb7af652f5
aarch64 lto broken GPU2D workaround
2024-11-18 20:08:49 +01:00
RSDuck
c01b2bf7a0
prevent out of bounds access for microphone data
2024-11-18 18:58:39 +01:00
Arisotura
0ea0af3abf
make it possible to change gdb stub settings without destroying/recreating a NDS
2024-11-17 20:00:52 +01:00
Arisotura
99aa5676db
actually remove NDS/GBA ROM args from NDSArgs, since we won't be using them
2024-11-17 19:38:36 +01:00
Arisotura
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
Arisotura
f0a023b572
Merge remote-tracking branch 'origin/master'
2024-11-17 18:18:00 +01:00
Arisotura
5f8255bc90
allow DSi mode to run with internal DS BIOS
2024-11-17 18:17:43 +01:00
fincs
584508230f
Assortment of fixes related to libnds v2/calico ( #2197 )
...
* Support 8-bit writes to REG_IPCSYNC
* Support CP15 Trace Process ID register
* NWifi: expose correct manfid information in CIS0/CIS1 area
* NWifi: basic support for WMI_SET_PROBED_SSID
# Conflicts:
# src/DSi_NWifi.cpp
* DSi_NAND: fix incorrect CTR IV calculation code
2024-11-17 15:57:00 +01:00
Arisotura
023dc0c446
avoid reopening the microphone if it was already opened
2024-11-17 15:47:55 +01:00
Arisotura
871a167d8b
also fix crashes when inserting/ejecting a NDS cart while nothing is loaded
2024-11-17 15:43:22 +01:00
Arisotura
0a4287c6ad
fix crashes when inserting/ejecting GBA carts/addons with nothing loaded
2024-11-17 15:23:25 +01:00
Nadia Holmquist Pedersen
7c1d2a64f4
Set WIN32_LEAN_AND_MEAN, gets rid of the winsock2 warnings and probably
...
speeds up compilation a tiny bit
oh and NOMINMAX too for good measure while we're at it
2024-11-11 14:18:05 +01:00
Nadia Holmquist Pedersen
b2f6fab6f4
cmake: use interface include directories properly
...
and fix an indent I guess
2024-11-11 12:06:12 +01:00
RSDuck
4528441c74
for OGL renderer W buffer rendering avoid undefined vertex z
...
see https://github.com/melonDS-emu/melonDS/issues/2017
2024-11-09 14:19:02 +01:00
Rayyan Ansari
adf143a38d
Fix link to contributors in About dialog
...
Add openExternalLinks property to the label to allow the hyperlink to
open in the user's web browser.
2024-11-08 21:32:45 +00:00
RSDuck
8d4f419546
correct assert in gdb stub
2024-11-08 18:57:44 +01:00
Nadia Holmquist Pedersen
5959009ebd
Use Qt 6 by default on all platforms and update build instructions ( #2187 )
2024-11-05 17:03:07 +01:00
Nadia Holmquist Pedersen
a5389286e8
Make macOS OpenGL deprecation warnings shut up
2024-11-02 13:52:56 +01:00
Arisotura
7740634e6a
reimplement MP audio mode 2 (active instance only)
2024-11-01 02:19:29 +01:00
Arisotura
58ee191cc8
make mic input less shitty (and less dangerous)
2024-11-01 01:31:45 +01:00
Arisotura
78aae252d5
fix bug where opening a new instance would pause other instances
2024-11-01 00:41:55 +01:00
Arisotura
09e4400f3c
fix hang when closing an instance that is engaged into local multiplayer
2024-11-01 00:40:09 +01:00
Arisotura
e3e561da3f
lock framebuffer stuff to prevent conflicts when reiniting the core or changing the renderer
2024-10-31 22:51:18 +01:00
Arisotura
9c8f229fed
misc shit
2024-10-31 22:37:46 +01:00