Commit graph

1733 commits

Author SHA1 Message Date
Paul Holden
b27370266b Add support for G_BL_CLR_MEM,G_BL_0,G_BL_CLR_MEM,G_BL_1MA. 2023-09-23 22:17:56 +01:00
Paul Holden
96d6de5f7f Show instruction addresses for disassembleAll. 2023-09-23 22:17:56 +01:00
Paul Holden
e3bc726b49 Fix exception in MemoryRegion.copy when DMAing from short roms. 2023-09-23 22:17:56 +01:00
Paul Holden
3bcaef66a4 Tidy initialiseRenderer a little. 2023-09-23 22:17:56 +01:00
Paul Holden
723ed472c2 Also log alphaCvgSel and cvgXAlpha. 2023-09-23 22:17:56 +01:00
Paul Holden
00c3a6f3cf Missing import. 2023-09-23 22:17:56 +01:00
Paul Holden
5043116e2e Mask width/height to 0x3ff rather than 0xfff. 2023-09-23 22:17:56 +01:00
Paul Holden
448b19450d 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-23 22:17:56 +01:00
Paul Holden
e942b78cf1 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-23 22:17:56 +01:00
Paul Holden
d8da7929e8 Update comment. It's nothing to do with shift. 2023-09-23 22:17:56 +01:00
Paul Holden
d7fc5fb144 Apply the shift factor to uv coords. 2023-09-23 22:17:56 +01:00
Paul Holden
aad8e797e4 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-23 22:17:56 +01:00
Paul Holden
0a14a7c3d8 Improve texrect disassembly output (and fix for texrectflip). 2023-09-23 22:17:56 +01:00
Paul Holden
e506124902 Export color conversion functions. 2023-09-23 22:17:56 +01:00
Paul Holden
8f1d0a5c94 Include cacheID in the texture debug output. 2023-09-23 22:17:56 +01:00
Paul Holden
e996618a5f FillRect for FILL cycle type should use the fill color alpha 2023-09-23 22:17:56 +01:00
Paul Holden
92038e6415 Improve gsSPTexture disassembly. 2023-09-23 22:17:56 +01:00
Paul Holden
beee0fe350 Make the uniform names consistent. 2023-09-23 22:17:56 +01:00
Paul Holden
9d5b5dce77 Add support for tex1. 2023-09-23 22:17:56 +01:00
Paul Holden
5bc956d346 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-09-23 22:17:56 +01:00
Paul Holden
2b432eac5f 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-09-23 22:17:56 +01:00
Paul Holden
f07cead6a9 Fix caching for CI32 textures - entries are quadricated so all 2k data needs hashing. 2023-09-23 22:17:56 +01:00
Paul Holden
74b361cafb Tidy naming. 2023-09-23 22:17:56 +01:00
Paul Holden
d4353d4246 Tidy executeLoadBlock. 2023-09-23 22:17:56 +01:00
Paul Holden
0f0b60af88 Tidy tile loading. 2023-09-23 22:17:56 +01:00
Paul Holden
a8edfca135 Use G_TX_RENDERTILE/LOADTILE aliases in debug table. 2023-09-23 22:17:56 +01:00
Paul Holden
ce807105d1 Only log unhandled blend modes once. 2023-09-23 22:17:56 +01:00
Paul Holden
edd82b73bd Fix loadtile - padding should be byteswapped on alternate lines.
This fixes texture corruption on the right edge of a number of games.
2023-09-23 22:17:56 +01:00
Paul Holden
7073e8b29f Fix CSS for all the condensed tables. 2023-09-23 22:17:56 +01:00
Paul Holden
96fa0c0f2f Make the alpha threshold a uniform. 2023-09-23 22:17:56 +01:00
Paul Holden
e03c1fd038 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-09-23 22:17:56 +01:00
Paul Holden
b271a3f91e Fix SetOtherMode disassembly for GBI2. 2023-09-23 22:17:56 +01:00
Paul Holden
6bee80658b RSP code size can't be >0x1000 2023-09-23 22:17:56 +01:00
Paul Holden
588d783295 Update Status. 2023-09-23 22:17:56 +01:00
Paul Holden
cbf5533bd1 Implement CIC-NUS-6105 challenge/response using XScale's algorithm. 2023-09-23 22:17:56 +01:00
Paul Holden
f0582c108a Reads and writes to flash control/status seem to wrap over the status register (reads) or ignore address (writes). 2023-09-23 22:17:56 +01:00
Paul Holden
1d422e5d5e Ignore the dstOffset for DMAs to flash. 2023-09-23 22:17:56 +01:00
Paul Holden
cf3ca7aae0 Fix bounds checks. 2023-09-23 22:17:56 +01:00
Paul Holden
d5b410f59e Fix save type 2023-09-23 22:17:56 +01:00
Paul Holden
97f878a22d Implement flashRam support.
A few more roms boot with this (but often run into other issues).
2023-09-23 22:17:56 +01:00
Paul Holden
2fc4c9a216 Add a set() helper. 2023-09-23 22:17:56 +01:00
Paul Holden
a8dac82e7c Fix save types (FlashRAM != FlashRam). 2023-09-23 22:17:56 +01:00
Paul Holden
8d120dc450 Mark SRAM as dirty when dmaing to it. 2023-09-23 22:17:56 +01:00
Paul Holden
dfd57a60b9 Use a single MemoryRegion for all save types. 2023-09-23 22:17:56 +01:00
Paul Holden
84c7b93a47 Add a s32Array helper to ensure any offsets are taken into account. 2023-09-23 22:17:56 +01:00
Paul Holden
78fe434991 Use subRegion in PIFMemDevice. 2023-09-23 22:17:56 +01:00
Paul Holden
e0be8b02dd subDataView isn't used. 2023-09-23 22:17:56 +01:00
Paul Holden
dd6758f5fd Use MemoryRegions for imem and dmem. 2023-09-23 22:17:56 +01:00
Paul Holden
b444c0e649 Use a MemoryRegion in the disassembler. 2023-09-23 22:17:56 +01:00
Paul Holden
07946aa8ca Remove n64js.rsp_task_view and use a MemoryRegion. 2023-09-23 22:17:56 +01:00