Commit Graph

323 Commits

Author SHA1 Message Date
SimoneN64
451ff7c4aa forgot to disable this line on arm 2025-07-06 08:14:51 +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
irisz64
92eff7f198 Make CPU respect chosen option (JIT, etc) 2025-07-03 10:52:35 +02:00
SimoZ64
4f618d35e0 remove stupid abstraction 2025-06-28 13:48:18 +02:00
SimoZ64
1be357e607 gamepad works now finally. Ready for merge in dev 2025-06-27 12:18:44 +02:00
irisz64
7ca337ca48 switch to INI for settings (easier), make settings a singleton thingy, slightly simplify core pause/stop/reset. Drop support for remappable inputs for now 2025-06-27 00:50:47 +02:00
irisz64
67c761d34b make it single threaded for now...
Hmm don't quite get it

idfk
2025-05-26 17:21:53 +02:00
SimoZ64
6cf2e7ab70 can't use shared_ptr on SDL_Window 2025-05-07 17:22:01 +02:00
SimoZ64
b4c5c7a3e4 Compiles! 2025-05-05 22:15:45 +02:00
SimoZ64
95bf6d292b [JIT]: Fix compilation 2025-02-26 10:40:27 +01:00
SimoneN64
7d27351609 [Apple Arm] Disable JIT stuff under ARM64 for now 2025-02-09 20:53:17 +01:00
SimoneN64
921956268e [Apple Arm] fix remaining issues. Now to figure out how to handle the JIT situation... 2025-02-09 20:38:25 +01:00
SimoneN64
e57edb6a9a [Apple Arm] introduce sse2neon 2025-02-07 19:32:13 +01:00
Simone Coco
3b06950ba3 [JIT]: Introduce pipeline simulation like in the interpreter (still borked) 2025-01-29 13:29:42 +01:00
SimoneN64
bb498e599e [JIT]: Registers::Write<bool> handler for Xbyak register write op 2025-01-28 00:35:15 +01:00
SimoneN64
7ddce3b909 [JIT]: Properly reset 2025-01-28 00:34:53 +01:00
SimoneN64
178029b4f2 [JIT]: Non-constant SLT 2025-01-28 00:34:45 +01:00
SimoneN64
009dd1458d [JIT]: Stupid mov bug + start debugging with capstone 2025-01-28 00:12:01 +01:00
SimoneN64
d4ad92a67d [JIT]: Fix argument bug in LW 2025-01-23 23:40:05 +01:00
SimoneN64
a1a19e72cd [JIT]: Implement LHU 2025-01-23 23:39:53 +01:00
SimoneN64
ee75eb10cf [JIT]: Minor change 2025-01-23 23:39:24 +01:00
Simone Coco
f27780a16e [JIT]: Respect Microsoft calling convention too 2025-01-23 14:23:27 +01:00
SimoneN64
0d4e8d0e89 [JIT]: Stuck in a loop right now, but implemented more instructions and fixed constant branches not actually restoring the program counter if they are not taken 2025-01-23 00:11:18 +01:00
Simone
8c70a17c72 [JIT]: Implement non-constant dadd, daddu, daddi and daddiu 2025-01-22 15:02:59 +01:00
Simone
9c78d71a29 [JIT]: Remove redundant register write logic for constant propagation (i.e. if we're writing a simple variable, it's always constant) 2025-01-22 11:33:04 +01:00
Simone
0c0e857a6c [JIT]: Constant propagation doesn't need 2 layers + fix JUMP 2025-01-22 10:42:35 +01:00
SimoneN64
043e20c517 [JIT]: Finally executing out of bootcode! 2025-01-21 22:32:24 +01:00
SimoneN64
f67f968f91 [JIT]: First compiled block! Figure out why scheduling an event from the emitted code makes the underlying queue point to 0x0... 2025-01-20 22:27:18 +01:00
SimoneN64
e065558147 [JIT]: Simplify register accesses, implement more instructions, rework some branching logic 2025-01-15 00:37:29 +01:00
Simone
23ddc0b9f7 [JIT]: Specialize register write handlers 2025-01-14 17:21:04 +01:00
Simone
81eca58130 [JIT]: More branches. Only left are the "and link" variants 2025-01-14 11:48:28 +01:00
SimoneN64
b528b1ef8c Buncha instructions for JIT 2025-01-12 23:45:27 +01:00
SimoneN64
536fbddf95 Some restructuring 2025-01-12 23:45:18 +01:00
SimoneN64
8210f37335 Fix capstone dependency 2025-01-07 19:50:22 +01:00
SimoneN64
200f6c4515 More progress on JIT constant instructions implementations 2025-01-06 22:03:39 +01:00
SimoneN64
7d18f2386a Implement FPS counting 2024-12-25 21:28:34 +01:00
SimoneN64
cf5b1def4f Undo TLB caching + minor improvements 2024-10-15 21:05:33 +02:00
SimoneN64
a0d46ca24e Cached TLB entries 2024-10-15 10:56:47 +02:00
SimoneN64
57fd6a9af8 Minor nitpicks and smaller perf improvements (barely noticeable) 2024-10-14 23:25:09 +02:00
SimoneN64
d2c37d373e Fix weird linking error. tbh it didn't need to be parallelized 2024-10-14 19:03:57 +02:00
SimoneN64
617a82abff Use bit_cast instead of memcpy/reinterpret_cast where applicable 2024-10-14 17:01:58 +02:00
SimoneN64
cd9322d5ef Fix compile on Windows 2024-09-26 11:52:34 +02:00
SimoneN64
3d72d28e3d Minor nitpick 2024-09-26 11:07:02 +02:00
SimoneN64
521cd7c2e0 Leverage new bswap functions to the fullest 2024-09-25 22:21:20 +02:00
SimoneN64
2744de8d3e Refactor so parallel-rdp is in charge of polling inputs and not the EmuThread 2024-09-25 22:10:59 +02:00
SimoneN64
60870165d5 Lay down basic disassembler 2024-09-23 22:56:44 +02:00
SimoneN64
bb1f80b1ed Fix compilation on Windows 2024-09-23 10:05:46 +02:00
SimoneN64
854bf69eb2 Update to C++20 2024-09-22 15:23:14 +02:00
SimoneN64
d568e8c268 Audio no longer mutes after resetting emulation 2024-09-05 21:29:57 +02:00