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