Commit graph

1733 commits

Author SHA1 Message Date
Paul Holden
62a88467db CullDL is implemented the same for GBI1 and 2 (still missing impl though...) 2023-09-23 22:17:56 +01:00
Paul Holden
555f2c9086 Implement executeGBI2_Quad. 2023-09-23 22:17:56 +01:00
Paul Holden
a5bf0b3f10 Update flushTris to take triangle count, not vert count. 2023-09-23 22:17:56 +01:00
Paul Holden
af7ace8c97 Fix displaylist indentation - depths of 0 and 1 had the same indent. 2023-09-23 22:17:56 +01:00
Paul Holden
cabba09921 Update comments. 2023-09-23 22:17:56 +01:00
Paul Holden
cfe3fab3f1 Fix LWC1, LDC1, SWC1, SDC1 dynarec (ExceptPC was wrong). 2023-09-23 22:17:56 +01:00
Paul Holden
75c677ba24 Add an assert to check we're not trying to update an already-compiled fragment. 2023-09-23 22:17:56 +01:00
Paul Holden
f040c8c1dd Tidy. 2023-09-23 22:17:56 +01:00
Paul Holden
9209395c2e Fix return. 2023-09-23 22:17:56 +01:00
Paul Holden
8f88fa0ee6 Fix dynarec when jumping to chained fragment that was partially compiled. 2023-09-23 22:17:56 +01:00
Paul Holden
81dc7cb3c8 Remove some logging. 2023-09-23 22:17:56 +01:00
Paul Holden
3be605c723 Reset fragment on AdEL exception. 2023-09-23 22:17:56 +01:00
Paul Holden
de774b08e9 Remove some debugging that's no longer useful. 2023-09-23 22:17:56 +01:00
Paul Holden
3a6766c99c Rename local var. 2023-09-23 22:17:56 +01:00
Paul Holden
930be04536 Rename body_code -> bodyCode. 2023-09-23 22:17:56 +01:00
Paul Holden
d25b25c793 Tidy updateFragment. 2023-09-23 22:17:56 +01:00
Paul Holden
91d03379e2 Reorder dynarec code. 2023-09-23 22:17:56 +01:00
Paul Holden
d68cc73798 Invalidate partially compiled fragments rather than returning a null fragment.
This regresses 007 but only appears to work as it effectively disables dynarec for most fragments.
2023-09-23 22:17:56 +01:00
Paul Holden
aacbee5f9a Add some debug logging to dynarec output. 2023-09-23 22:17:56 +01:00
Paul Holden
1e1f47cdeb Extract compileFragment. 2023-09-23 22:17:56 +01:00
Paul Holden
8d344f927a Fix kValidateDynarecPCs. 2023-09-23 22:17:56 +01:00
Paul Holden
3fc9db60ae Log PCs in hex. 2023-09-23 22:17:56 +01:00
Paul Holden
998d246f1d Extract some constants for tuning and debugging dynarec. 2023-09-23 22:17:56 +01:00
Paul Holden
13b6204366 Fix cache invalidation - the entire cache line should be invalidated. 2023-09-23 22:17:56 +01:00
Paul Holden
18d736022f Fix event used to trigger redraw when a tab is selected. 2023-09-23 22:17:56 +01:00
Paul Holden
a35ab10eeb Fix ERET with SR_ERL - was clearing all but this bit. 2023-09-23 22:17:56 +01:00
Paul Holden
6240afc5b3 Don't generate HTML output in dynarec comments. 2023-09-23 22:17:56 +01:00
Paul Holden
5693da17bd Fix generated trap instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
f7a8e38c3d Fix generateADDIU - this can't generate overflow. 2023-09-23 22:17:56 +01:00
Paul Holden
a36d82faa9 Fix generateDADDI - this can raise an overflow exception. 2023-09-23 22:17:56 +01:00
Paul Holden
f192a0bfac Fix generated DADDIU. 2023-09-23 22:17:56 +01:00
Paul Holden
aa5e429e03 Remove generateOpHelper. 2023-09-23 22:17:56 +01:00
Paul Holden
eb593ba8db generateCop1 doesn't need fallback code. 2023-09-23 22:17:56 +01:00
Paul Holden
95a49befcd Add generateBreakpoint. 2023-09-23 22:17:56 +01:00
Paul Holden
3d9aac7274 Add generateUnknown. 2023-09-23 22:17:56 +01:00
Paul Holden
f4415b7b74 Generate the remaining regimm instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
46c2bdc956 Just use this. 2023-09-23 22:17:56 +01:00
Paul Holden
2dfbcf87cd Generate TGEI etc. 2023-09-23 22:17:56 +01:00
Paul Holden
7a0be6ff79 Stub out missing load/store to coprocessor instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
69a4f05c2d Step RSP from dynarec.
This is probably a bit inefficient but will do for now.
2023-09-23 22:17:56 +01:00
Paul Holden
98fe9be3df Generate LL, SC etc. 2023-09-23 22:17:56 +01:00
Paul Holden
19735e61d7 Inline simpleTable instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
c5c3ce382a Add generators for the cop1 move instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
70e6b418f6 Add generators for the cop2 instructions. 2023-09-23 22:17:56 +01:00
Paul Holden
8c671ed327 Move Cop0 code. 2023-09-23 22:17:56 +01:00
Paul Holden
553f394696 Stub out cop2 and cop2 generation. 2023-09-23 22:17:56 +01:00
Paul Holden
8bf659d9b0 Remove some unused exports. 2023-09-23 22:17:56 +01:00
Paul Holden
c0d0cb4df1 Add generators for BLEZL and BGTZL. 2023-09-23 22:17:56 +01:00
Paul Holden
a02cc43d78 Use template string. 2023-09-23 22:17:56 +01:00
Paul Holden
33ce8005ca Add generators for LWL etc. 2023-09-23 22:17:56 +01:00