Commit Graph

2899 Commits

Author SHA1 Message Date
Jaklyy fbc388faa1 more moving crud 2025-01-01 19:43:51 -05:00
Jaklyy aa2e827ce1 small improvement to card read timings 2025-01-01 12:18:36 -05:00
Jaklyy e7cba2ef55 attempt to make read/write timings more accurate?
idk what i just wrote tbh
2024-12-31 20:57:44 -05:00
Jaklyy 1bd9e87311 move main ram contention junk 2024-12-31 19:18:06 -05:00
Jaklyy 9e60f45481 implement savestate serialization 2024-12-31 12:30:49 -05:00
Jaklyy 4071099a1f Revert "redo a bunch of gx handling for marginal accuracy benefits"
This reverts commit cc9a6f8ec1.
2024-12-29 07:08:14 -05:00
Jaklyy d2737f666c minor error 2024-12-29 00:04:49 -05:00
Jaklyy cc9a6f8ec1 redo a bunch of gx handling for marginal accuracy benefits 2024-12-28 23:27:42 -05:00
Jaklyy b9472d430e fix main ram dmas not halting for higher priority dmas 2024-12-28 12:42:44 -05:00
Jaklyy a86a3f8566 fix main ram dmas not stopping for major events 2024-12-27 18:30:52 -05:00
Jaklyy c39db83d5b tentatively improve gxfifo irq timings? 2024-12-27 17:46:35 -05:00
Jaklyy 4d4f374e70 minor optimization 2024-12-27 16:48:49 -05:00
Jaklyy 459c088345 Merge remote-tracking branch 'upstream/master' into chemical-x2 2024-12-27 15:45:46 -05:00
Jaklyy a919e7b6af improve timer irqs 2024-12-27 15:39:09 -05:00
Jaklyy c9e7eec2b5 put out some fires 2024-12-26 18:22:42 -05:00
Jaklyy cec4c2c880 fix handling of halts 2024-12-26 17:06:34 -05:00
Jaklyy 21323bd1b7 clunky fix to get the order of interlocks and irqs right 2024-12-26 16:32:12 -05:00
Jaklyy 3bd25ae58f use timestamps for irq handling
Also add a (probably not fully correct) 4 cycle delay across the board.
Should improve the timing of when IRQs are noticed by the CPU a fair bit?
2024-12-26 12:52:26 -05: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
Jaklyy 286240894a tweaks to card read timings
now with actual testing to back them up!
2024-12-24 12:37:38 -05:00
Jaklyy 01ba503373 fix fixed src main ram dma timings being off by 1 2024-12-23 19:31:45 -05:00
Jaklyy 8d94384907 minor fix? 2024-12-23 19:08:34 -05: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
Jaklyy 85dc9f71d9 small improvements to arm9 dma timings 2024-12-23 13:39:59 -05:00
Jaklyy 9981a6b98f fix a timestamp 2024-12-23 12:47:15 -05:00
Jaklyy 03dc0c4284 fix another crash 2024-12-21 19:09:03 -05:00
Jaklyy 93dd0f47bd fix an issue related to gx stalls 2024-12-21 18:06:03 -05:00
Jaklyy 4940f940c7 improve accuracy and also performance 2024-12-21 17:28:32 -05:00
Jaklyy caa009ca03 better logic for gamecard reads 2024-12-21 13:19:34 -05:00
Jaklyy 65e2f64695 "immediate mode" dma start should be delayed 1 cycle 2024-12-21 12:29:37 -05:00
Jaklyy 22f1b4d90c theoretically improve dma responsiveness?
in practice seems to make no difference...
2024-12-20 20:10:23 -05:00
Jaklyy 98d0a6b371 fix gxfifo stalls being borked under certain circumstances 2024-12-20 10:42:34 -05:00
Jaklyy e0ac68c9f2 Reapply "improve dma accuracy slightly"
This reverts commit 14c765d5ed.
2024-12-20 10:00:47 -05:00
Jaklyy 40527f8897 remove leftover junk, fix an error with resets 2024-12-20 09:49:38 -05:00
Jaklyy dd857e89ef fix an oversight 2024-12-20 00:33:08 -05:00
Jaklyy 6897e4a8be rework card read timings 2024-12-19 21:55:50 -05:00
Jaklyy 14c765d5ed Revert "improve dma accuracy slightly"
apparently it completely broke sm64ds for some reason
2024-12-19 21:54:37 -05:00
Jaklyy 0686523543 card reads are "double buffered"
means they can fetch a word in the background while a word is still waiting to be read.
Thanks Gericom!
2024-12-19 16:54:12 -05:00
Jaklyy 4493634a5b improve dma accuracy slightly 2024-12-19 15:39:16 -05:00
Jaklyy 4a598294a5 clean up a few errors 2024-12-17 23:29:47 -05:00
Jaklyy 6ef7a337cb small optimization to main ram dma 2024-12-17 11:07:37 -05:00
Jaklyy 0a5499cb19 fix wrong "running" variable being updated during 16 bit main ram dmas
this probably fixes something
2024-12-17 11:02:41 -05:00
Jaklyy e3c8746229 fix a bug preventing main ram dmas from doing their first cycle properly 2024-12-16 20:50:39 -05:00
Jaklyy cacf891330 Revert "run arm 7 first?"
Caused performance issues in games???
2024-12-16 13:13:45 -05:00
Jaklyy d383381260 ONLY queue missed gamecard dmas
gxfifo dma did not like that prior fix
2024-12-16 13:02:56 -05:00
Jaklyy 6d0ab97612 fix gamecard dma breaking w/ main ram contention
main ram dma on the arm9 is officially fully operational.
2024-12-16 12:33:13 -05:00
Jaklyy 7590c48471 Revert "revert arm9 main ram dma again (again (again))"
This reverts commit c90f10d056.
2024-12-16 11:45:14 -05:00