Commit Graph

2464 Commits

Author SHA1 Message Date
40e8e8e7bd rework single load/stores to use a shared instruction 2024-08-24 11:46:23 -04:00
332a39dbaf fix JIT being borked 2024-08-05 16:14:17 -04:00
a85b2bfb56 tweak when irqs are triggered and fix prefetch aborts
also ig add some comments next to the svc funcs so that someone searching for "swi" can find them easier
2024-08-05 14:57:17 -04:00
eedd2806f9 Reapply "Improve accuracy of prefetch aborts"
This reverts commit 0dc619d615.
2024-08-05 12:37:42 -04:00
0dc619d615 Revert "Improve accuracy of prefetch aborts"
This reverts commit 587958e678.
2024-08-05 11:41:25 -04:00
587958e678 Improve accuracy of prefetch aborts
comes with a small-ish performance hit
2024-08-04 23:31:20 -04:00
fe69cfac7d Merge remote-tracking branch 'upstream/master' into interpreter-fixes 2024-08-04 21:28:32 -04:00
dd386d12a9 use templates to only execute GDB stub related code if enabled 2024-08-05 03:23:49 +02:00
346ac1380f forgot to remove a thingy when removing timing reworks 2024-08-04 15:21:23 -04:00
ab2a8f128f revert timing tweaks, finish thumb interwork code 2024-08-04 14:54:36 -04:00
4b703d24b5 improve msr timings for arm9 2024-08-03 16:22:14 -04:00
2e421e29e3 cache should be disabled when pu is disabled 2024-08-03 16:21:17 -04:00
3c936d84b3 improve mrs, mrc timings 2024-08-03 16:20:50 -04:00
76c2723f5c Fix console output on Windows (#2122)
Co-authored-by: pants64DS <pants64DS@users.noreply.github.com>
2024-08-02 02:21:37 +02:00
757a608b6e Fix a few compiler warnings (#2063) 2024-08-01 23:26:46 +02:00
54e87c915f fix a couple polygons (#1920)
hw prioritizes the earlier vertex instead of leftmost
2024-08-01 22:55:00 +02:00
12be06beb6 fix gdb stub causing the emulator to hang on undefined instructions (#2054)
* dont hang on undefined instruction

* Add spaces

---------

Co-authored-by: Kemal Afzal <RSDuck@users.noreply.github.com>
2024-08-01 22:48:52 +02:00
161bd9d3d2 Default zero dot display register to the 24 bit integer limit (#1968)
* 0 dot disp defaults to the 24 bit integer limit

* useless correction

it goes through the reset function to set the variable on boot anyway but why not have the initialized state be correct too
2024-08-01 22:46:05 +02:00
d0a7239f15 fix some bugs with compressed texture look up (#2051) 2024-08-01 22:44:04 +02:00
29c67f2140 implement 16 bit r/w IF and DISPCAPCNT (#2061) 2024-08-01 22:41:21 +02:00
327ce45124 Refactor network implementations to be more reusable and less buggy (#2107)
encapsulate network interfaces
2024-08-01 22:02:45 +02:00
c6bf5d5181 Allow AREngine to be used independently of ARCodeFile (#2108)
* Make `EmuInstance::cheatFile` use a `unique_ptr`

- Fixes a memory leak, as the cheat file wasn't cleaned up in the destructor

* Split `AREngine` and `ARCodeFile` apart

- Suitable for frontends that have their own way of storing cheats
- Store the cheats in `AREngine` in a `std::vector`
- Apparently cheats are _supposed_ to be executed each frame; I didn't understand this until recently
2024-08-01 22:01:00 +02:00
f3f6a6a194 Fix building on i686 Linux
I doubt anyone actually cares about support for it but hey may as well?
2024-08-01 21:57:32 +02:00
37c0320cbe Fix an inaccuracy with the No$gba debug registers 04fffa14 and 04fffa18 (#2119)
Writing to either of the two registers would print one newline too many

Co-authored-by: pants64DS <pants64DS@users.noreply.github.com>
2024-07-31 01:13:06 +02:00
b778fbaad1 attempt at correct utf8 decoding for toml config file path 2024-07-30 17:48:41 +02:00
01c2d65f07 Explicitly include QModernWindowsStylePlugin in static builds
I hope this'll make it look right.
2024-07-30 03:10:01 +02:00
d62c61ba08 vcpkg 2024.07.12 2024-07-30 00:43:15 +02:00
12563fb636 use platform file functions for savestates and NAND importing file check
should fix character encoding issues on Windows
2024-07-29 00:15:19 +02:00
c0ada2f445 Fix invalid .gitattributes entries 2024-07-28 03:23:07 +02:00
ececf337f2 Build Windows CI builds with vcpkg and Qt 6 (#2112)
If using Qt 6 becomes a problem in terms of compatibility, toggle it off in the CMakePresets.json.
2024-07-27 17:22:35 +02:00
d31eabb6fa Don't disable firmware settings controls when override external firmware
settings is disabled
2024-07-27 16:56:29 +02:00
837a582087 Expose some fields of DSi_BPTWL needed to support direct boot (#2103)
expose boot flag
2024-07-21 17:23:19 +02:00
821f5f5f29 Allow frontends to use different headers for OpenGL declarations (#2102) 2024-07-21 17:02:31 +02:00
9b828c2cde Implement Rumble Pak support. (#2101) 2024-07-21 17:01:30 +02:00
7cd50e7b56 fix some multiply timings 2024-07-19 17:56:43 -04:00
13578a3cc9 Revert "improve timings for S variants of multiply instructions on arm9"
This reverts commit 789ef21c70.
2024-07-19 17:52:28 -04:00
36f4f2c5d3 Revert "improve timings further"
This reverts commit 764ee9ea1a.
2024-07-19 17:52:26 -04:00
4f6db5a173 Merge remote-tracking branch 'upstream/master' into jump-after-writeback 2024-07-17 21:42:21 -04:00
5eadd67df6 EmuInstance: Use GetLocalFilePath to get the wfcsettings path
Fixes the file being created in the current working directory.
2024-07-17 15:44:47 +02:00
4b17de7e8c Fix annoying Qt touch event deprecations for real this time 2024-07-15 14:37:37 +02:00
71f4d7b222 deviceType doesn't exist in Qt5 apparently 2024-07-15 14:04:40 +02:00
6d2ad2a3f0 Ignore touch events originating from trackpads
Fixes multi-finger gestures causing spurious touch screen presses
Also fix some deprecations when we're at it anyway
2024-07-15 13:57:21 +02:00
2031f491f0 fix some Qt6 bugs (buttonClicked -> idClicked) 2024-07-15 13:00:40 +02:00
d92c9fcd90 do not immediately create a core when creating an EmuInstance. fixes some nasty potential bugs. watch out for bugs this may introduce though... 2024-07-15 12:57:18 +02:00
94ba7c1594 Split networking code into its own target (#2091) 2024-07-14 17:03:21 +02:00
764ee9ea1a improve timings further 2024-07-13 09:35:12 -04:00
789ef21c70 improve timings for S variants of multiply instructions on arm9
behavior seems to be a quirk of the way they made the interlock cycle mandatory
2024-07-12 23:11:46 -04:00
4fcd52ed16 someday i will learn to test things before pushing them 2024-07-11 20:19:25 -04:00
038ffa3a35 revert the *entire* interlock implemention
too slow, not accurate enough.
we need to do a *lot* more research into the specifics of how this works with all the various aspects of the cpu's timings before we can make a good implementation
2024-07-11 20:08:35 -04:00
1fdac1d489 ...why am i checking for dtcm? 2024-07-11 16:18:55 -04:00