Commit Graph

343 Commits

Author SHA1 Message Date
irisz64
c2d6d5a8a9 JIT stuff that I do not know how to comment 2025-12-18 11:20:56 +01:00
irisz64
19b9d56ba7 Slight improvements to debugger, still wonky 2025-12-15 15:25:45 +01:00
irisz64
2f4a714485 indentation 2025-09-03 12:52:18 +02:00
irisz64
6737977183 Finally passing every FPU test in Lemmy's suite 2025-09-03 12:11:38 +02:00
irisz64
7de697ab64 Clean this up too 2025-09-03 11:48:14 +02:00
irisz64
509f52664c Cop0 tidy 2025-09-02 15:23:10 +02:00
irisz64
4a98610f3c That function is incorrect other than useless. Just use our variable that we update periodically anyway 2025-09-01 16:57:35 +02:00
irisz64
123a089598 Simplify FireException a lot 2025-09-01 16:44:04 +02:00
irisz64
a636f4dc60 Apparently ERET will throw a COP unusable exception when non-kernel mode. 2025-09-01 12:06:01 +02:00
irisz64
bd4a692899 Small TLB cleanup 2025-09-01 12:05:25 +02:00
irisz64
5444df993c Instruction struct rewrite in RSP too now 2025-09-01 09:47:07 +02:00
irisz64
e795c256f2 Return and not break, ops 2025-09-01 09:24:20 +02:00
irisz64
b0e65ce0aa Make these part of RSP class. 2025-09-01 09:17:28 +02:00
irisz64
b8d691efb8 This rewrite is working (tested with Super Mario 64) 2025-08-29 10:57:01 +02:00
irisz64
dd98e19c95 Continue big Instruction struct rewrite 2025-08-28 09:25:22 +02:00
SimoZ64
68620ce893 start implementing instruction union for cleaner switches and stuff 2025-08-16 22:00:01 +02:00
irisz64
3da227613f Fix warnings 2025-08-03 22:30:55 +02:00
irisz64
3fb03c6aba Sorta works 2025-08-03 20:06:16 +02:00
SimoZ64
010bb5e0bb Mem and Regs not part of cpu anymore. 2025-08-01 21:05:11 +02:00
irisz64
c662c3ff20 Initial work on a ErrorData structure to use globally 2025-08-01 17:43:42 +02:00
irisz64
cc1078d9e8 These can be Utility functions 2025-08-01 16:21:18 +02:00
irisz64
79de6f20b6 Tooltip in comment now works! 2025-07-31 17:25:22 +02:00
irisz64
1d117bf96b Initial work for comment detail in debugger 2025-07-31 14:42:43 +02:00
irisz64
cad486e1b9 No need for const-referencing here 2025-07-31 09:29:10 +02:00
irisz64
0d9a2fc584 Tidy up Debugger + breakpoints initial work 2025-07-30 11:30:39 +02:00
SimoZ64
ff4cd66bdb Things to neat up that I noticed with Hazel <3 2025-07-29 22:46:34 +02:00
irisz64
3061334004 Huge refactor: Make Core a singleton 2025-07-29 11:08:05 +02:00
irisz64
e0e887ce90 Have a default path for saves 2025-07-29 09:34:28 +02:00
SimoZ64
bf330959e8 Start work on a debug view 2025-07-28 22:46:04 +02:00
irisz64
86c30f36e2 Make PIF stuff a little less annoying to read 2025-07-28 17:44:57 +02:00
irisz64
ad9814bb3c Make Scheduler a singleton 2025-07-28 13:44:13 +02:00
irisz64
9dec9c03b4 Small RDP accuracy improvement 2025-07-26 00:26:40 +02:00
irisz64
ef05bcfac6 Fix compilation on Linux + minor nits 2025-07-26 00:26:29 +02:00
irisz64
741b9adfbf [Mem] New handlers using if-range checks instead of switch 2025-07-24 15:49:13 +02:00
SimoZ64
3b5ed1a160 Micro-optimization: RDP access wrappers are now force inlined 2025-07-23 22:31:56 +02:00
SimoZ64
27dc6cfddf Small optimizations: Enable LTO + don't make those two functions virtual in CPU. Around 3 fps improvement 2025-07-23 22:08:10 +02:00
irisz64
a3b4e2f374 minor perf improvements 2025-07-22 17:05:55 +02:00
irisz64
f7ec6df924 use a little more c++20/23 features 2025-07-22 16:07:00 +02:00
irisz64
3520a309ed ew global variable 2025-07-22 12:46:50 +02:00
irisz64
8549d5a21c get rid of fmt dependency since we are on C++23 2025-07-22 11:33:42 +02:00
irisz64
559e3eaa6e whatever 2025-07-08 16:15:39 +02:00
irisz64
c51725e42f we can emit the instruction inside the delay slot before actually emitting the branch 2025-07-08 09:06:49 +02:00
irisz64
d072d37733 Actually mark scratch registers + comment out branches for now + rework compilation loop a bit 2025-07-07 15:54:04 +02:00
irisz64
f91b0d0242 [JIT] implement setPC like regs 2025-07-07 11:19:36 +02:00
irisz64
6e69a37a62 register constant check optimization + disable branch likely's for now 2025-07-07 10:36:16 +02:00
irisz64
dd6c28c9d9 should do like interpreter here 2025-07-06 21:51:50 +02:00
irisz64
46c2aa2994 i'll have to rethink the branches and jumps 2025-07-06 20:31:42 +02:00
SimoZ64
d6b78232a6 of course if the reg is marked constant, actually read its value at compile time, not emit code to read it at run time, idiot 2025-07-04 21:57:50 +02:00
irisz64
444e2f56a3 Some JIT fixes 2025-07-04 17:07:54 +02:00
SimoZ64
1be357e607 gamepad works now finally. Ready for merge in dev 2025-06-27 12:18:44 +02:00