Commit Graph

2491 Commits

Author SHA1 Message Date
Jaklyy
3b9a9e4eb3 multiply instructions can't write to r15 2024-09-16 10:23:15 -04:00
Jaklyy
a0d71135a1 very minor optimization attempt 2024-09-13 07:33:18 -04:00
Jaklyy
c5ac682f04 improve data abort handling further 2024-09-12 18:25:54 -04:00
Jaklyy
f0bd2b9051 Merge remote-tracking branch 'upstream/master' into interpreter-fixes 2024-08-30 19:33:16 -04:00
Jaklyy
0003821738 apparently i never tested this 2024-08-28 22:04:22 -04:00
Jaklyy
685c4828a2 try not forgetting about stores lol 2024-08-28 13:45:46 -04:00
Jaklyy
be290da23c de-duplicate swp(b) 2024-08-27 17:23:18 -04:00
Jaklyy
a9aad74539 implement user mode load/stores 2024-08-26 20:43:27 -04:00
Jaklyy
f692e7391a the docs lied to me (again) 2024-08-26 19:48:42 -04:00
Jaklyy
40e8e8e7bd rework single load/stores to use a shared instruction 2024-08-24 11:46:23 -04:00
Alex
4f6498c99c
Fix "Ejected GBA cart" not adding a newline (#2140) 2024-08-21 13:39:34 +02:00
Jesse Talavera
824eb370e4
Fix the build when the JIT is disabled (#2139) 2024-08-19 15:21:34 +02:00
Arisotura
0e6235a7c4 LAN: remember player name and max players setting 2024-08-15 13:34:27 +02:00
Arisotura
5b986d3111 wifi: add hack to facilitate multiplayer connections (extend post-beacon interval when connection is being initiated) 2024-08-14 16:47:08 +02:00
Nadia Holmquist Pedersen
2fff4c0b5a vcpkg: build qtbase with harfbuzz enabled, fixes windows widget drawing 2024-08-14 06:42:06 +02:00
Nadia Holmquist Pedersen
deb1ba2bb2 README: Update build instructions to include enet and qtsvg
(input and battery dialogs don't render correctly without qtsvg, we
should have been installing it)
2024-08-13 08:40:10 +02:00
Nadia Holmquist Pedersen
f54b6311c1 ubuntu... 2024-08-13 08:05:36 +02:00
Nadia Holmquist Pedersen
cb6f60c383 ci: Linux runners should install qtsvg for proper bundling 2024-08-13 07:59:38 +02:00
Nadia Holmquist Pedersen
c6cab9ed41 mac-libs.rb: Make bundling a bit smarter
* Resolve symlinks to avoid including the same thing twice (like
  version-numered dylib symlinks)
* Look in all Qt prefix paths for plugins - the package may not
  necessarily have the same path
* reduce install_name_tool invocations to make it a bit faster
* change dylib IDs to remove original source path
2024-08-13 07:53:09 +02:00
Nadia Holmquist Pedersen
e290c42360 flake: add wayland to library path like nixpkgs does 2024-08-11 04:54:05 +02:00
Nadia Holmquist Pedersen
5598065985 Netplay.cpp should not include main.h, also fix a format warning 2024-08-11 03:14:14 +02:00
Arisotura
8d31875902
Backport LAN (#2131)
backport the old LAN feature to the modern melonDS codebase.
2024-08-10 23:20:50 +02:00
Nadia Holmquist Pedersen
ec71b15505
Add a Nix flake (#2097)
Adds a Nix flake, allowing easy building and running of melonDS using the Nix package manager, as well as potentially very stable and reproducible CI in the future.
2024-08-08 05:36:06 +02:00
Nadia Holmquist Pedersen
53c58bd777 fix potential issue with glib shim min/max defines 2024-08-07 17:49:29 +02:00
Nadia Holmquist Pedersen
4359bccfcb fix the slirp shit some more 2024-08-07 17:45:56 +02:00
Nadia Holmquist Pedersen
b47563e888 Apply FixInterfaceIncludes to the slirp package again to work around
package inconsistencies
2024-08-07 17:28:25 +02:00
Nadia Holmquist Pedersen
a174901412 fix building with system libslirp 2024-08-07 17:24:07 +02:00
Nadia Holmquist Pedersen
8423dae6ff Add "Open melonDS directory" menu option 2024-08-07 15:53:58 +02:00
Jaklyy
332a39dbaf fix JIT being borked 2024-08-05 16:14:17 -04:00
Jaklyy
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
Jaklyy
eedd2806f9 Reapply "Improve accuracy of prefetch aborts"
This reverts commit 0dc619d615.
2024-08-05 12:37:42 -04:00
Jaklyy
0dc619d615 Revert "Improve accuracy of prefetch aborts"
This reverts commit 587958e678.
2024-08-05 11:41:25 -04:00
Jaklyy
587958e678 Improve accuracy of prefetch aborts
comes with a small-ish performance hit
2024-08-04 23:31:20 -04:00
Jaklyy
fe69cfac7d Merge remote-tracking branch 'upstream/master' into interpreter-fixes 2024-08-04 21:28:32 -04:00
RSDuck
dd386d12a9 use templates to only execute GDB stub related code if enabled 2024-08-05 03:23:49 +02:00
Jaklyy
346ac1380f forgot to remove a thingy when removing timing reworks 2024-08-04 15:21:23 -04:00
Jaklyy
ab2a8f128f revert timing tweaks, finish thumb interwork code 2024-08-04 14:54:36 -04:00
Jaklyy
4b703d24b5 improve msr timings for arm9 2024-08-03 16:22:14 -04:00
Jaklyy
2e421e29e3 cache should be disabled when pu is disabled 2024-08-03 16:21:17 -04:00
Jaklyy
3c936d84b3 improve mrs, mrc timings 2024-08-03 16:20:50 -04:00
pants64DS
76c2723f5c
Fix console output on Windows (#2122)
Co-authored-by: pants64DS <pants64DS@users.noreply.github.com>
2024-08-02 02:21:37 +02:00
CasualPokePlayer
757a608b6e
Fix a few compiler warnings (#2063) 2024-08-01 23:26:46 +02:00
Jakly
54e87c915f
fix a couple polygons (#1920)
hw prioritizes the earlier vertex instead of leftmost
2024-08-01 22:55:00 +02:00
Jakly
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
Jakly
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
Jakly
d0a7239f15
fix some bugs with compressed texture look up (#2051) 2024-08-01 22:44:04 +02:00
Jakly
29c67f2140
implement 16 bit r/w IF and DISPCAPCNT (#2061) 2024-08-01 22:41:21 +02:00
Jesse Talavera
327ce45124
Refactor network implementations to be more reusable and less buggy (#2107)
encapsulate network interfaces
2024-08-01 22:02:45 +02:00
Jesse Talavera
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
Nadia Holmquist Pedersen
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