Commit Graph

2406 Commits

Author SHA1 Message Date
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
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
Jaklyy 5b37ca70d1 implement correct/guess interlocks for remaining instructions 2024-06-16 20:47:01 -04:00
Jaklyy debaaa0425 fix performance regression for disabling interlock emulation path 2024-06-15 21:16:12 -04:00
Jaklyy 449557624d don't do interlocks for the arm7 2024-06-15 18:37:31 -04:00
Jaklyy a973c0bf5b initial implementation of interlock cycles 2024-06-15 16:07:36 -04:00
Nadia Holmquist Pedersen eb2bd73c7d ensure teakra is always static linked even in dynamically linked builds 2024-06-15 21:31:23 +02:00
Arisotura ae44ba2475 blarg 2024-06-15 21:01:27 +02:00
Arisotura 649462ff5c fix more bugs and crap 2024-06-15 20:57:26 +02:00
Arisotura 890dc4f228 fix other bugs with these regexes 2024-06-15 19:23:18 +02:00
Arisotura d449888405 fix up the regexes in Config.cpp 2024-06-15 19:10:28 +02:00
Arisotura ccc5c955e9 fix one potential crash bug 2024-06-15 17:42:26 +02:00
Arisotura 8fc403cdad update copyright headers 2024-06-15 17:01:19 +02:00
Arisotura 25a7b1ca1d
merge doublemelon (#2067)
non-exhaustive (but exhausting) list of changes:

* base laid for multiple window support, but will likely require more work to work correctly
* encapsulation of frontend state for proper multi-instance support
* (JIT still needs a fix for the NDS::Current workaround but we can get there later)
* new, more flexible configuration system
2024-06-15 13:52:47 +02:00
Jaklyy aa1217af0a track interlock cycles for the ALU 2024-06-14 11:47:42 -04:00
Jaklyy 5a174a2ce3 track interlock cycles for load instructions 2024-06-14 00:51:55 -04:00
Jaklyy 42218106b0 verify writable msr bits 2024-06-11 10:30:30 -04:00
Jaklyy 048b0b8878 swp/swpb jumps work on the arm 7? 2024-06-10 18:03:56 -04:00
Jaklyy 3ddccde5b9 verified
also remove no longer needed variable
2024-06-10 13:23:18 -04:00
Jaklyy ca04710deb ldrd is just ldm 2024-06-09 22:31:10 -04:00
Jaklyy ae0824fdd3 it all makes sense now... 2024-06-09 19:10:43 -04:00
Jaklyy b90d5c2320 what the actual F*** is going on 2024-06-09 12:18:31 -04:00
Jaklyy be60c68aeb more weirdness 2024-06-09 07:25:42 -04:00
Jaklyy b846c6f100 remove out of date comments 2024-06-08 22:17:07 -04:00
Jaklyy 849d4e51ac imma be real, i have no idea what is going on here 2024-06-08 22:12:44 -04:00
Jaklyy 659763f903 clarification 2024-06-08 16:15:02 -04:00
CasualPokePlayer 8e9b88d01d
Actually generate DownscaleFramebuffer (#2059) 2024-06-08 20:48:42 +02:00
Jaklyy 3699768ac9 most cpsr bits can't actually be updated (or at least can't be read?) 2024-06-08 14:01:54 -04:00