Paul Holden
4e89d41399
Automated build
2024-01-07 10:13:26 +00:00
Paul Holden
b083ec1938
Fix stray '
2024-01-07 10:13:10 +00:00
Paul Holden
3c4349934f
Add more details to EmulatedException.
2024-01-07 10:13:10 +00:00
Paul Holden
38d841b876
Reorder lookupFragment and avoid invalidating if opsCompiled is zero.
2024-01-07 10:13:10 +00:00
Paul Holden
43769f7eb0
ramDV is unused now.
2024-01-07 10:13:10 +00:00
Paul Holden
b73727596f
Remove loadInstructionFast as it's the same as loadU32fast.
2024-01-07 10:13:10 +00:00
Paul Holden
cd42f25798
Use Uint8Array for CPU1 register index lookup tables.
...
Performance seems the same as Uint32Array but this will help reduce data cache usage.
2024-01-07 10:13:10 +00:00
Paul Holden
c6bf8bf2c2
Add a benchmarch for cop1 register indexing strategies.
2024-01-07 10:13:10 +00:00
Paul Holden
6eb1baadb4
Remove COUNTER_INCREMENT_PER_OP as it's always 1.
2024-01-07 10:13:10 +00:00
Paul Holden
804292cb1b
Avoid a little overhead with instruction fetches by caching the DataView.
2024-01-07 10:13:10 +00:00
Paul Holden
4c89533028
Implement RSP PC as a regular member variable rather than using a DataView.
...
Instead have SPIBIST device read/write this value directly.
This ends up saving quite a lot of overhead in step().
2024-01-07 10:13:09 +00:00
Paul Holden
86a603f190
Add benchmark for updating RSP pc.
2024-01-07 10:13:09 +00:00
Paul Holden
85dc4ffd23
Remove all the signed versions of memory read accessors and just do this as needed in memaccess.
...
This avoids a lot of duplication and opportunities for bugs (e.g. failing to override correctly)
2024-01-07 10:13:09 +00:00
Paul Holden
21c6d6d55f
Add benchmark for signed/unsigned conversions.
2024-01-07 10:13:09 +00:00
Paul Holden
293e7c907c
Load instructions as unsigned values.
2024-01-07 10:13:09 +00:00
Paul Holden
e8f99daa00
Reorder functions.
2024-01-07 10:13:09 +00:00
Paul Holden
d2edeaa7c8
Move instruction load performance hackery to memaccess.
2024-01-07 10:13:09 +00:00
Paul Holden
f1c65ccb9c
Sort imports
2024-01-07 10:13:09 +00:00
Paul Holden
a966914ced
Use EmulatedException() for address alignment.
2024-01-07 10:13:09 +00:00
Paul Holden
0a540b96ff
Stop exporting functions which aren't referenced elsewhere.
2024-01-07 10:13:09 +00:00
Paul Holden
4be55b6c30
Init RSP in Hardware constructor.
2024-01-07 10:13:09 +00:00
Paul Holden
65c60e403f
Automated build
2023-11-18 00:10:05 +00:00
Paul Holden
d14f0ff852
Fix bug in runImpl which was preventing backwards branches from being detected and therefore rendering dynarec inert most of the time.
...
`pc` was being converted to a signed value for fast memory accesses, but was being compared to an unsigned value for backwards branch detection.
2023-11-18 00:09:43 +00:00
Paul Holden
a8b88b712f
Fix a couple of instructions which should be setting might_adjust_next_pc.
2023-11-18 00:09:43 +00:00
Paul Holden
10f3d66bf0
Fix bug with dynarec when RSP interrupt causes dynarec fragment to return early.
2023-11-18 00:09:43 +00:00
Paul Holden
81e6575bee
Fix stray char
2023-11-18 00:09:43 +00:00
Paul Holden
5dedf7163a
Remove stale todo.
2023-11-18 00:09:43 +00:00
Paul Holden
7468826334
Format
2023-11-18 00:09:43 +00:00
Paul Holden
f02ccf0c39
Automated build
2023-11-15 08:13:37 +00:00
Paul Holden
09dc5fd235
Add some text to HLE/LLE options.
2023-11-15 08:13:22 +00:00
Paul Holden
0995959cfc
Optimise RSP accumulator.
...
The BigInt conversions are very expensive so implement 64-bit integer addition by hand.
This is about 10-20x faster according to the benchmark.
2023-11-15 08:13:22 +00:00
Paul Holden
fccb771801
Add a benchmark for RSP accumulator
2023-11-15 08:13:22 +00:00
Paul Holden
ccd673407b
Automated build
2023-11-12 19:11:50 +00:00
Paul Holden
398e3285ee
Make some helpers members of RSP.
2023-11-12 19:11:34 +00:00
Paul Holden
af1a1148d6
Fix RSP jumps to 0x1000.
...
Due to the masking these jumps were being silently ignored. Among other things this broke perspective divide for GBI0 microcode, which call this function at 0x1000.
2023-11-12 19:11:34 +00:00
Paul Holden
cb9156f9a1
Fix LLV and LDV disassembly.
2023-11-12 19:11:34 +00:00
Paul Holden
c1ec538a66
Make dumpMicrocodeSubstring optional.
2023-11-12 19:11:34 +00:00
Paul Holden
34b1233f1e
Format
2023-11-12 19:11:34 +00:00
Paul Holden
e5509d1f53
Fix VSAR for the default case.
...
When the accumulator value is signed this was producing values of -1 rather than 0.
2023-11-12 19:11:34 +00:00
Paul Holden
bf010761d9
Fix bug with getCyclesUntilEvent - this was returning undefined which breaks VI and AI syncing.
2023-11-12 19:11:34 +00:00
Paul Holden
c215dcee83
Automated build
2023-11-08 23:44:02 +00:00
Paul Holden
1f78a2493b
Fix imports.
2023-11-08 23:43:45 +00:00
Paul Holden
96dd7deae0
Rename flip to rightMajor.
2023-11-08 23:43:45 +00:00
Paul Holden
38eeb0b54b
Add an option to dump RDP commands.
2023-11-08 23:43:45 +00:00
Paul Holden
74a57e46be
Automated build
2023-11-07 22:26:15 +00:00
Paul Holden
c6f5c71981
Call executeUnhandled.
2023-11-07 22:25:52 +00:00
Paul Holden
9663de9311
Call RDP from DPC.
2023-11-07 22:25:52 +00:00
Paul Holden
4d6b999455
Add an RDP device and flesh out commands.
2023-11-07 22:25:52 +00:00
Paul Holden
37f82a4b3f
Fix executeRDPCommandHalf22Final.
2023-11-07 22:25:52 +00:00
Paul Holden
b48f2a06eb
Add a RDPBuffer helper.
...
This hides a bit of the complexity of needing to wrap around DMEM. Still needs some work.
2023-11-07 22:25:52 +00:00