Commit graph

1886 commits

Author SHA1 Message Date
Paul Holden
3000f4b9dc Colorise rgba values in the vertex table. 2023-08-22 22:02:45 +01:00
Paul Holden
56f95a2b2d Add disassembly for executeGBI1_CullDL. 2023-08-22 13:33:10 +01:00
Paul Holden
9d86752a77 Ignore G_TEXTURE_ENABLE in executeGBI2_GeometryMode. 2023-08-22 13:31:59 +01:00
Paul Holden
a49d8db763 Make the cycle type check explicit in setProgramState. 2023-08-22 13:31:21 +01:00
Paul Holden
54efa1e5c7 Fix Geometry Mode padding. 2023-08-22 08:22:35 +01:00
Paul Holden
ce87a8b8ab CullDL is implemented the same for GBI1 and 2 (still missing impl though...) 2023-08-21 23:17:29 +01:00
Paul Holden
9a503432aa Implement executeGBI2_Quad. 2023-08-21 23:14:47 +01:00
Paul Holden
9713873d94 Update flushTris to take triangle count, not vert count. 2023-08-21 23:14:16 +01:00
Paul Holden
8d0f9ecccd Fix displaylist indentation - depths of 0 and 1 had the same indent. 2023-08-21 22:07:55 +01:00
Paul Holden
de33f7fb2f Update comments. 2023-08-21 16:15:56 +01:00
Paul Holden
194a8a111b Fix LWC1, LDC1, SWC1, SDC1 dynarec (ExceptPC was wrong). 2023-08-21 16:15:30 +01:00
Paul Holden
44108aabd5 Add an assert to check we're not trying to update an already-compiled fragment. 2023-08-21 16:12:20 +01:00
Paul Holden
1019c6d8e4 Tidy. 2023-08-21 16:10:22 +01:00
Paul Holden
f25ff5530c Fix return. 2023-08-21 16:08:42 +01:00
Paul Holden
df07d5cd77 Fix dynarec when jumping to chained fragment that was partially compiled. 2023-08-21 15:38:24 +01:00
Paul Holden
77a417edcc Remove some logging. 2023-08-21 15:12:30 +01:00
Paul Holden
ceefb3b329 Reset fragment on AdEL exception. 2023-08-21 14:29:38 +01:00
Paul Holden
f350d8bb1c Remove some debugging that's no longer useful. 2023-08-21 14:14:25 +01:00
Paul Holden
dfee4bbb15 Rename local var. 2023-08-21 14:11:30 +01:00
Paul Holden
e7f8c18f3d Rename body_code -> bodyCode. 2023-08-21 12:18:16 +01:00
Paul Holden
46ac6d2b0d Tidy updateFragment. 2023-08-21 12:15:29 +01:00
Paul Holden
458c6967e3 Reorder dynarec code. 2023-08-21 12:10:49 +01:00
Paul Holden
28244e7f85 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-08-21 12:08:29 +01:00
Paul Holden
2a6a462f98 Add some debug logging to dynarec output. 2023-08-21 12:06:19 +01:00
Paul Holden
2ac4629c8d Extract compileFragment. 2023-08-21 12:04:37 +01:00
Paul Holden
58e892768d Fix kValidateDynarecPCs. 2023-08-21 12:02:47 +01:00
Paul Holden
0b82d92aec Log PCs in hex. 2023-08-21 12:01:44 +01:00
Paul Holden
b217701c83 Extract some constants for tuning and debugging dynarec. 2023-08-21 10:36:18 +01:00
Paul Holden
0a9930d984 Fix cache invalidation - the entire cache line should be invalidated. 2023-08-21 10:34:30 +01:00
Paul Holden
8b487c1dd0 Fix event used to trigger redraw when a tab is selected. 2023-08-21 08:22:34 +01:00
Paul Holden
619ed942e9 Fix ERET with SR_ERL - was clearing all but this bit. 2023-08-21 08:05:07 +01:00
Paul Holden
a91a4b28a9 Don't generate HTML output in dynarec comments. 2023-08-21 07:56:07 +01:00
Paul Holden
5cc0833176 Fix generated trap instructions. 2023-08-20 23:11:03 +01:00
Paul Holden
1c4383a45e Fix generateADDIU - this can't generate overflow. 2023-08-20 23:07:51 +01:00
Paul Holden
04c9ba54df Fix generateDADDI - this can raise an overflow exception. 2023-08-20 23:06:51 +01:00
Paul Holden
b01d253158 Fix generated DADDIU. 2023-08-20 22:55:59 +01:00
Paul Holden
99fbce7fb7 Remove generateOpHelper. 2023-08-20 20:40:58 +01:00
Paul Holden
d0ffec4462 generateCop1 doesn't need fallback code. 2023-08-20 20:31:56 +01:00
Paul Holden
a06c721280 Add generateBreakpoint. 2023-08-20 18:25:24 +01:00
Paul Holden
6ec0665522 Add generateUnknown. 2023-08-20 18:21:40 +01:00
Paul Holden
78bbc776e7 Generate the remaining regimm instructions. 2023-08-20 15:20:34 +01:00
Paul Holden
5a15ce33a5 Just use this. 2023-08-20 15:19:55 +01:00
Paul Holden
382eb603aa Generate TGEI etc. 2023-08-20 15:10:47 +01:00
Paul Holden
f8547fa6ce Stub out missing load/store to coprocessor instructions. 2023-08-20 15:01:25 +01:00
Paul Holden
56ae6ca850 Step RSP from dynarec.
This is probably a bit inefficient but will do for now.
2023-08-20 14:32:14 +01:00
Paul Holden
0e34e5ff49 Generate LL, SC etc. 2023-08-20 14:11:16 +01:00
Paul Holden
e4ceed3259 Inline simpleTable instructions. 2023-08-19 16:35:38 +01:00
Paul Holden
5ad40624e0 Add generators for the cop1 move instructions. 2023-08-19 16:14:43 +01:00
Paul Holden
2f595bad1e Add generators for the cop2 instructions. 2023-08-19 15:49:57 +01:00
Paul Holden
5d7cb4ae65 Move Cop0 code. 2023-08-19 15:49:22 +01:00