Commit Graph

2432 Commits

Author SHA1 Message Date
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
Jaklyy
7cd50e7b56 fix some multiply timings 2024-07-19 17:56:43 -04:00
Jaklyy
13578a3cc9 Revert "improve timings for S variants of multiply instructions on arm9"
This reverts commit 789ef21c70.
2024-07-19 17:52:28 -04:00
Jaklyy
36f4f2c5d3 Revert "improve timings further"
This reverts commit 764ee9ea1a.
2024-07-19 17:52:26 -04:00
Jaklyy
4f6db5a173 Merge remote-tracking branch 'upstream/master' into jump-after-writeback 2024-07-17 21:42:21 -04:00
Nadia Holmquist Pedersen
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
Nadia Holmquist Pedersen
4b17de7e8c Fix annoying Qt touch event deprecations for real this time 2024-07-15 14:37:37 +02:00
Nadia Holmquist Pedersen
71f4d7b222 deviceType doesn't exist in Qt5 apparently 2024-07-15 14:04:40 +02:00
Nadia Holmquist Pedersen
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
Arisotura
2031f491f0 fix some Qt6 bugs (buttonClicked -> idClicked) 2024-07-15 13:00:40 +02:00
Arisotura
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
Jesse Talavera
94ba7c1594
Split networking code into its own target (#2091) 2024-07-14 17:03:21 +02:00
Jaklyy
764ee9ea1a improve timings further 2024-07-13 09:35:12 -04:00
Jaklyy
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
Jaklyy
4fcd52ed16 someday i will learn to test things before pushing them 2024-07-11 20:19:25 -04:00
Jaklyy
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
Jaklyy
1fdac1d489 ...why am i checking for dtcm? 2024-07-11 16:18:55 -04:00
CasualPokePlayer
a812a43bda
Fix various issues with firmware generation (#2058) 2024-07-11 15:55:06 +02:00
Jesse Talavera
841e3eb060
Use CMAKE_CURRENT_SOURCE_DIR to set some CMake-related paths (#2089)
- This prevents dependent projects that pull in melonDS via `FetchContent` from breaking
2024-07-11 14:02:40 +02:00
OverdueWeevil2
a82b5758bc
Update EmuInstance.cpp (#2090) 2024-07-11 13:48:27 +02:00
Jaklyy
e2be0b4f93 actually no it was not more correct
undo previous commit because actually code cycles *do* matter
2024-07-07 15:42:10 -04:00
Nadia Holmquist Pedersen
b55eb431bd ensure that we actually link the OpenGL library on macOS 2024-07-07 13:45:45 +02:00
Nadia Holmquist Pedersen
1302cbdd64 frontend: Restore linear interpolation for audio output resampling
Also, do it smarter this time. This seems to have gone missing with the
doublemelon merge.
2024-07-07 08:19:49 +02:00
Jaklyy
383750692e doesn't really matter but idk it's more correct? 2024-07-06 12:38:39 -04:00
Jaklyy
0f02c0bbba disable interlock emulation again again
our understanding of how it works is just too incomplete to be worth implementing yet
2024-07-06 12:14:35 -04:00
Jaklyy
ea429a1b8d improve interlock emulation
add cycles to the instruction execution time rather than the timestamp directly.
2024-07-04 12:58:58 -04:00
Jaklyy
bd1665c1d3 minor timing tweaks 2024-07-04 12:41:09 -04:00
Jaklyy
a549977eb0 fix clz for realsies 2024-07-04 11:04:38 -04:00
Antonio Niño Díaz
25b5ac91bd
Fix horizontal mosaic on sprites (#2084)
The code itself is correct, but the variable being read is the Y mosaic
coordinate, not the X coordinate.
2024-07-04 00:24:29 +02:00
Jaklyy
0060958fed Merge remote-tracking branch 'upstream/master' into jump-after-writeback 2024-07-03 15:26:58 -04:00
RSDuck
613569a2ab append newline to nocash logging
makes behaviour consistent with no$gba
2024-07-02 19:09:32 +02:00
Nadia Holmquist Pedersen
7898b46435 Add Discord invite link to README.md 2024-07-02 10:06:05 +02:00
Nadia Holmquist Pedersen
4e3592f2d4 Fix loading GBA carts
UpdateConsole forgot to reinsert it when messing with the NDS.
2024-07-02 08:18:44 +02:00
Nadia Holmquist Pedersen
f2611680ca EmuInstance: check consoleType from NDS rather than the instance's when
updating console, fixes crash on console type switch

EmuInstance::consoleType is already updated, so the check for whether we
should recreate the NDS to switch console type never succeeds.
2024-07-02 06:23:21 +02:00
Jaklyy
88e5584b5f fix clz r15 2024-06-27 15:33:24 -04:00
Jaklyy
c5b035a973 SWP and SWPB use the same behavior as STR on the ARM9 2024-06-25 11:20:01 -04:00
Jaklyy
541e1e6388 proper timings for ldr/str 2024-06-25 09:08:11 -04:00
Jaklyy
dbe00e72dd improve stm timings
need to verify if they apply to all store instructions
2024-06-24 22:50:04 -04:00
Jaklyy
109bbed3d0 improve ldm timings
I believe this also applies to other loads as well, but currently untested.
2024-06-24 20:22:38 -04:00
Jaklyy
3583d8222f disable interlock emulation, needs more research 2024-06-24 16:17:04 -04:00
Jaklyy
f1b71fe5a9 implement configurable vram bus width
not implemented for direct boot
2024-06-24 16:15:04 -04:00
Nadia Holmquist Pedersen
db20771ef3 slirp: Add -fvisibility=hidden to glib stub
On Linux, our stubbed glib functions were conflicting with the ones from
real glib, which gets used by Qt when we're running on a GTK-based
desktop. Avoid a crash by not exposing them.
2024-06-24 05:25:00 +02:00
Jaklyy
e6ba4075b9 correct interlocked reg for umlal 2024-06-18 11:12:05 -04:00
Nadia Holmquist Pedersen
cbb0f4b872 Tell the compiler that we want wrapping signed arithmetic
The core relies on this and without -fwrapv there will be rendering
issues on some targets. Thanks CasualPokePlayer for noticing this.
2024-06-18 15:51:08 +02:00
Arisotura
e234385c20 OpenGL: add support for changing BG0HOFS midframe. fixes #2072 2024-06-18 13:11:42 +02:00
Jaklyy
c5258d6377 verify interlocks for alu and load/store
remove some checks for interlock that im pretty sure can't trigger
2024-06-17 18:07:53 -04:00
Arisotura
626d2379bc * fix default for audio volume
* add default bools for battery settings
2024-06-17 14:51:32 +02:00
Jaklyy
a9e2c7e047 implement two regs i missed 2024-06-16 23:24:20 -04:00
Jaklyy
f00f1f6ca4 im smart 2024-06-16 20:50:42 -04:00