Commit Graph

2551 Commits

Author SHA1 Message Date
Nadia Holmquist Pedersen 50d32f3c96 flake: clean up dependencies a bit
* qt6.* instead of kdePackages.*
* use an extra-cmake-modules that depends on Qt6 rather than 5, and
  exclude it on macOS
2024-09-13 05:43:39 +02:00
Jaklyy c5ac682f04 improve data abort handling further 2024-09-12 18:25:54 -04:00
RSDuck 74f479ce6d gdb stub config setup fixes 2024-09-11 14:41:22 +02:00
Jakly f719438a6e
Improve calculation of light colors (#1967)
* maintain precision until all lights are calculated

fixes lugia on the soul silver title screen

* small optimization

* small note

* small cleanup/notes

shouldn't need to check that every time, since the variable shouldn't be able to overflow

* hw doesn't cap difflevel at 255

Should it cap at all?
Can vtx colors overflow...?

* diffuse level appears to be shifted right by 9

fixes some minor inaccuracies

* improve specular lighting a little

* small improvement to diffuse lighting

fixes a few off by ones
- finding by azusa

* small tweaks

* handle overflows of diffuse lighting properly

-credits to azusa once more

* attempt at improving specular lighting calcs

still far from correct, but its a start.
fixes: https://github.com/melonDS-emu/melonDS/issues/1545

* meh

* improve specular lighting further

* add notes

* theory: add half vec instead of subt 1

* implement azusa's specular lighting algorithm

* fix minor edge case with spec lighting

* give proper credit in comments

* fix some bugs/misc tweaks

* more quirky overflow/underflow handling

* fix a spec lighting edgecase

remove some redundant parentheses

* fix an edge case with light vector calcs

* spec recip uses a different calc for light dir?

also remove a check that shouldn't be mathematically possible to trigger

* nvm that thing i thought couldn't trigger was required

also move reciprocal calc into the light vector calc function since i might as well now ig

* replace a bunch of stuff with much *much* simpler algorithms

* misc cleanup

PARENTHESES WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

* leave a note abt shininess table's default value being incorrect
2024-09-10 16:13:51 +02:00
Jaklyy bd1d1c5c5e fix thumb "no fetches" 2024-09-08 11:10:31 -04:00
Jaklyy 41db7b9df6 fix main ram adding cycles twice if code and memory region are the same 2024-09-07 13:45:33 -04:00
Nadia Holmquist Pedersen 268c4f14c1 vcpkg: support building on Linux 2024-09-06 22:50:12 +02:00
Nadia Holmquist Pedersen d18524d5ac Nix: Add dev shell for building using vcpkg 2024-09-06 19:44:48 +02:00
Nadia Holmquist Pedersen 277b151ada update vcpkg and nixpkgs 2024-09-06 13:39:42 +02:00
Jaklyy ceb5a9febe draw (most of) the rest of the owl 2024-09-06 03:59:59 -04:00
Jaklyy 299713e412 basic arm9 set up 2024-09-05 09:13:46 -04:00
Jaklyy 7cfc4b5849 ARM7: vram is 32 bit? 2024-09-02 07:35:49 -04:00
Jaklyy 2d081a6e02 improve arm7 timings 2024-09-01 18:03:32 -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