Commit graph

1733 commits

Author SHA1 Message Date
Paul Holden
6cbf62aebd Update simulateBoot to use a MemoryRegion. 2023-09-23 22:17:56 +01:00
Paul Holden
a9290c106f Don't log when writing to PI_BSD_DOM regs. 2023-09-23 22:17:56 +01:00
Paul Holden
d6d20deff5 Update joybus to use a MemoryRegion. 2023-09-23 22:17:56 +01:00
Paul Holden
d6cca875f0 Allow MemoryRegion to be constructed with an offset and length and add a subRegion helper. 2023-09-23 22:17:56 +01:00
Paul Holden
6f89b18a5c Use subDataView for the RSP task dataview. 2023-09-23 22:17:56 +01:00
Paul Holden
d2f4eb787b Add a subDataView helper. 2023-09-23 22:17:56 +01:00
Paul Holden
7ed3e4b60e Make memoryCopy a member of MemoryRegion. 2023-09-23 22:17:56 +01:00
Paul Holden
d420283f2e Split joybus handling into separate configure and execute parts.
This is needed because it's possible to write 1 to the control byte once, then repeatedly read the memory to get the latest values.

This makes some CIC-NUS-6105 games slightly less broken, because they don't try to interpret the challenge bytes as joybus commands.
2023-09-23 22:17:56 +01:00
Paul Holden
a12f2a2638 Remove a TODO 2023-09-23 22:17:56 +01:00
Paul Holden
cdc8af4e39 Tidy 2023-09-23 22:17:56 +01:00
Paul Holden
2f39ca3b45 Keep simplifying execute() 2023-09-23 22:17:56 +01:00
Paul Holden
dc463dae29 Tidy 2023-09-23 22:17:56 +01:00
Paul Holden
40fddf3077 Use subarray with an explicit length rather than tempOutput. 2023-09-23 22:17:56 +01:00
Paul Holden
0b94ae7e34 for loop and switch 2023-09-23 22:17:56 +01:00
Paul Holden
b5fc5101f4 Split controllers.js out of joybus.js. 2023-09-23 22:17:56 +01:00
Paul Holden
60ad1bf15f Just pass the inputs into Joybus constructor. 2023-09-23 22:17:56 +01:00
Paul Holden
e5a4a5241d Split Controllers out of Joybus. 2023-09-23 22:17:56 +01:00
Paul Holden
250577b565 Maintain a single list of channels. 2023-09-23 22:17:56 +01:00
Paul Holden
fc4494dcc9 Move command processing from Joybus Controller/Cartridge. 2023-09-23 22:17:56 +01:00
Paul Holden
44533ff043 Improve logging 2023-09-23 22:17:56 +01:00
Paul Holden
3483e1d1f8 Split pif device out into separate module. 2023-09-23 22:17:56 +01:00
Paul Holden
776b8f9d22 Rename "pi ram" to "pif mem". 2023-09-23 22:17:56 +01:00
Paul Holden
6a65e8d8e0 Log unhandled writes to the PIF RAM control byte. 2023-09-23 22:17:56 +01:00
Paul Holden
25f9246ac3 Rename controllers -> joybus. 2023-09-23 22:17:56 +01:00
Paul Holden
0d4deb65c5 Simplify rx handling and correctly handle underflow/overflow. 2023-09-23 22:17:56 +01:00
Paul Holden
3f98e2f85c Add some constants for device ids. 2023-09-23 22:17:56 +01:00
Paul Holden
c3b6a201ce Tidy cartridge RTC commands. 2023-09-23 22:17:56 +01:00
Paul Holden
9e185decc5 Tidy eeprom handling. 2023-09-23 22:17:56 +01:00
Paul Holden
8296cb95be Eeprom is 4k and 16k bits, not bytes. 2023-09-23 22:17:56 +01:00
Paul Holden
0b06ec41a5 Add support for checking the address crc. 2023-09-23 22:17:56 +01:00
Paul Holden
4a4e74e59d Overhaul controllerpak support. 2023-09-23 22:17:56 +01:00
Paul Holden
aeaac8d8d0 Move mempacks to Hardware. 2023-09-23 22:17:56 +01:00
Paul Holden
45719288ba Tidy 2023-09-23 22:17:56 +01:00
Paul Holden
cc44b3c3ac Improve the accuracy of TLUT emulation by taking "quadrication" into account.
This fixes a number of glitches with CI4 textures.
2023-09-23 22:17:56 +01:00
Paul Holden
a80228c2e9 Implement some unimplmented ops and improve logging. 2023-09-23 22:17:56 +01:00
Paul Holden
31f12cb12b Split hle disassembly out into separate module. 2023-09-23 22:17:56 +01:00
Paul Holden
489f642a4e Use template strings. 2023-09-23 22:17:56 +01:00
Paul Holden
268b1e1e3b Fix fillRect alpha blending. 2023-09-23 22:17:56 +01:00
Paul Holden
ef7ca6e5e0 Mask rdpSegmentAddress against 8MB. 2023-09-23 22:17:56 +01:00
Paul Holden
7642b82cb9 Use template strings. 2023-09-23 22:17:56 +01:00
Paul Holden
6e8005e165 Split out setGLBlendMode. 2023-09-23 22:17:56 +01:00
Paul Holden
c8c457def3 Fix winding order in executeGBI2_Tri1. 2023-09-23 22:17:56 +01:00
Paul Holden
cc51ca7ca0 Use template strings. 2023-09-23 22:17:56 +01:00
Paul Holden
d6c678e13b Show either the normal or color depending on whether lighting is enabled. 2023-09-23 22:17:56 +01:00
Paul Holden
262297d6d3 Fix padding for vertices table. 2023-09-23 22:17:56 +01:00
Paul Holden
79512b37cb Colorise rgba values in the vertex table. 2023-09-23 22:17:56 +01:00
Paul Holden
ec5489d675 Add disassembly for executeGBI1_CullDL. 2023-09-23 22:17:56 +01:00
Paul Holden
86d26bd8c1 Ignore G_TEXTURE_ENABLE in executeGBI2_GeometryMode. 2023-09-23 22:17:56 +01:00
Paul Holden
78e71f211d Make the cycle type check explicit in setProgramState. 2023-09-23 22:17:56 +01:00
Paul Holden
0c590b1b54 Fix Geometry Mode padding. 2023-09-23 22:17:56 +01:00