Commit graph

1886 commits

Author SHA1 Message Date
Paul Holden
5f0e9c1ca7 Start wrapping cpu debugger state in a class. 2023-09-04 08:49:00 +01:00
Paul Holden
706e923e6f Stub out RSP tab. 2023-09-04 08:42:46 +01:00
Paul Holden
aa4cf4d3d0 Keep n64js.cpu0 in a local. 2023-09-04 08:40:50 +01:00
Paul Holden
c2fcc8285d Rename updateDebug to updateCPU. 2023-09-04 08:32:25 +01:00
Paul Holden
62be5f8185 Rename Debug tab to CPU. 2023-09-04 08:25:53 +01:00
Paul Holden
028e274def Add support for G_BL_CLR_MEM,G_BL_0,G_BL_CLR_MEM,G_BL_1MA. 2023-09-04 08:22:54 +01:00
Paul Holden
bfab82ad7c Show instruction addresses for disassembleAll. 2023-09-04 08:15:34 +01:00
Paul Holden
a008d366d8 Fix exception in MemoryRegion.copy when DMAing from short roms. 2023-09-03 12:15:29 +01:00
Paul Holden
03bb6452e5 Tidy initialiseRenderer a little. 2023-09-02 11:22:06 +01:00
Paul Holden
f4fa8d1cba Also log alphaCvgSel and cvgXAlpha. 2023-09-02 11:21:01 +01:00
Paul Holden
38111227a5 Missing import. 2023-09-02 11:20:30 +01:00
Paul Holden
f8020dc558 Mask width/height to 0x3ff rather than 0xfff. 2023-09-01 09:20:22 +01:00
Paul Holden
e468421115 Appy the uv scaling in the fragment shader.
This shouldn't change anything yet (a bit slower) but it makes it possible to do shift/mask/clamp on a per-pixel basis.
2023-09-01 09:17:12 +01:00
Paul Holden
6f614e0fef Only bind tex1 if it's used.
This works around some glitches where texture wrapping mode is different between tile0 and tile1 - as the texture object is shared this ends up applying tile1 wrap to tile0 texture.
2023-09-01 09:13:28 +01:00
Paul Holden
cdd0630492 Update comment. It's nothing to do with shift. 2023-09-01 09:12:12 +01:00
Paul Holden
b223047c44 Apply the shift factor to uv coords. 2023-09-01 09:10:34 +01:00
Paul Holden
0a35466dfd Apply TEXTURE_WRAP mode when the texture is bound.
This fixes some issues where this is changed on the rendertile after the texture is created.
2023-09-01 09:09:49 +01:00
Paul Holden
fd959cc1d1 Improve texrect disassembly output (and fix for texrectflip). 2023-09-01 09:07:59 +01:00
Paul Holden
52219980df Export color conversion functions. 2023-09-01 09:07:22 +01:00
Paul Holden
bc1c8eb19c Include cacheID in the texture debug output. 2023-09-01 09:07:06 +01:00
Paul Holden
aad165f2f8 FillRect for FILL cycle type should use the fill color alpha 2023-09-01 09:06:47 +01:00
Paul Holden
e189ecfd97 Improve gsSPTexture disassembly. 2023-09-01 09:02:41 +01:00
Paul Holden
8803f03339 Make the uniform names consistent. 2023-08-31 08:34:27 +01:00
Paul Holden
7a66b8e33f Add support for tex1. 2023-08-30 22:26:44 +01:00
Paul Holden
7f2fc23ba9 Make Tile width/height more robust.
When right/bottom < top/left this is clamped to 12 bits.

The fractional parts of the value also seem to be ignored for the purposes of calculating the tile dimensions.
2023-08-30 22:07:01 +01:00
Paul Holden
e1c000d4ea Fix texture cache id.
The formatting string was broken but it also shoudl check the tile width and height, not just the lrs/lrt.
2023-08-30 21:10:52 +01:00
Paul Holden
a1a21e035d Fix caching for CI32 textures - entries are quadricated so all 2k data needs hashing. 2023-08-30 21:02:13 +01:00
Paul Holden
faabaff78b Tidy naming. 2023-08-29 23:15:02 +01:00
Paul Holden
f9198e5f87 Tidy executeLoadBlock. 2023-08-29 21:09:12 +01:00
Paul Holden
0bd18bf83e Tidy tile loading. 2023-08-29 08:52:49 +01:00
Paul Holden
fd0846def3 Use G_TX_RENDERTILE/LOADTILE aliases in debug table. 2023-08-29 08:51:53 +01:00
Paul Holden
1bea165ee6 Only log unhandled blend modes once. 2023-08-29 08:51:11 +01:00
Paul Holden
3a42ae92c9 Fix loadtile - padding should be byteswapped on alternate lines.
This fixes texture corruption on the right edge of a number of games.
2023-08-28 23:29:13 +01:00
Paul Holden
2da8af7090 Fix CSS for all the condensed tables. 2023-08-28 23:01:39 +01:00
Paul Holden
3a593537d3 Make the alpha threshold a uniform. 2023-08-28 22:55:38 +01:00
Paul Holden
1392513cee Unconditionally set alpha_threshold when G_AC_THRESHOLD is active.
This fixes a number of games and I haven't seen any obvious regressions.
2023-08-28 22:39:48 +01:00
Paul Holden
28daeee015 Fix SetOtherMode disassembly for GBI2. 2023-08-28 22:05:51 +01:00
Paul Holden
0d0a0670c5 RSP code size can't be >0x1000 2023-08-28 19:52:21 +01:00
Paul Holden
7caeb3df94 Update Status. 2023-08-28 16:36:13 +01:00
Paul Holden
e4642b6aa3 Implement CIC-NUS-6105 challenge/response using XScale's algorithm. 2023-08-28 16:33:00 +01:00
Paul Holden
e12b3b00b1 Reads and writes to flash control/status seem to wrap over the status register (reads) or ignore address (writes). 2023-08-28 15:36:34 +01:00
Paul Holden
623d5fe1c8 Ignore the dstOffset for DMAs to flash. 2023-08-28 15:31:04 +01:00
Paul Holden
dd9df977a9 Fix bounds checks. 2023-08-28 15:30:28 +01:00
Paul Holden
bc3b85dd2a Fix save type 2023-08-28 11:19:23 +01:00
Paul Holden
422d80807c Implement flashRam support.
A few more roms boot with this (but often run into other issues).
2023-08-28 11:10:11 +01:00
Paul Holden
b18f8c6cbe Add a set() helper. 2023-08-28 10:52:20 +01:00
Paul Holden
44e592c5cf Fix save types (FlashRAM != FlashRam). 2023-08-27 14:35:50 +01:00
Paul Holden
16788e05b0 Mark SRAM as dirty when dmaing to it. 2023-08-27 14:04:58 +01:00
Paul Holden
a3d6dd7ba7 Use a single MemoryRegion for all save types. 2023-08-27 14:01:13 +01:00
Paul Holden
568694c3c5 Add a s32Array helper to ensure any offsets are taken into account. 2023-08-27 11:58:15 +01:00