Paul Holden
|
cbacf12507
|
Log values in hex.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
87415a8653
|
Log values in hex.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
c724e7c1f0
|
Avoid out of bounds array access in executeGBI1_Line3D.
It looks like the stride is off, but I'm not sure how.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
2bdf3b2480
|
Implement f64UnaryOp using a lookup table.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
8471247c90
|
Remove overflow checks.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
56c1bdd8d1
|
Add support for logging ISViewer debug output.
Don't throw on writes to d1a2.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
b34248a509
|
Improve rom.js logging - take read/write size into account.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
86817ff66a
|
Implement f32UnaryOp using lookup tables.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d64e1bf96a
|
Refactor fXXUnaryOp like fXXBinaryOp.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
1dcc85fd62
|
Move underflow rounding to a lookup table.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
ac2e0e4ba5
|
Rename classify functions.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
53698bee25
|
Dedupe the weird exception handling around underflows.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
aa31a6ae58
|
Improve exception handling for ADD/SUB/MUL/DIV .D.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
fce714fc13
|
Tidy f32BinaryOp.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
8d30353093
|
Implement overflow check by just checking if finite values produced infinity.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d54644adfe
|
More ADD/SUB/MUL/DIV improvements for single precision.
95% (286/300) of the ADD/SUB/MUL/DIV.S tests from n64-systemtest pass now.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
6c4af2e350
|
Handle DIV.S cases using a lookup table.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
9b8d4a1d0a
|
Improve DIV handling.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d086296b1a
|
Improve ADD/SUB/MUL/DIV handling.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
cfc0300a9c
|
Create stubs for binary ops in cpu1.js.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
fc1f5ab9f6
|
Improve handling of unary ops (SQRT, NEG, ABS).
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
61dcabace3
|
Don't import convertModeDefault.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d714624fc4
|
Get rid of convertModeDefault.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
9ff9eff76d
|
Improve rounding.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d0323b2dc4
|
Improve CVT.D.L and CVT.S.L to raise unimplemented for values that are too large.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
c3f7e0692b
|
Fix some constant names.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
f6c4ee0b07
|
Improve cop1 accuracy.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
2fa46f5fcb
|
Don't log html elements to the console.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
6a2683f458
|
Add some constants for cop1 ops.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
4c3782ee7f
|
Implement correct NaN handling for cop1 CMP.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
fa93414e59
|
Express constants as value << shift.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
5eb7ca5928
|
Remove logging for switching betwee 32<->64 modes.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
e00e29bcab
|
Implement MOV.{S,D} using ints.
Without this JS runtime seems to convert SNaNs to QNaNs.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
8f6d200eba
|
Give a hint about cop2/cop3 instructions in the disassembly.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
b46047dd7a
|
Implement trap instructions.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d3cd86f733
|
Rename throw -> raise.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
9cc6c7a7e9
|
Fix handleInterrupt.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
af5206c850
|
Implement RESERVED.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
81ed7fb3cd
|
Delete some debug logging.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
d3375cea59
|
Implement SYSCALL and BREAK.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
3d72315ddd
|
Remove some noisy logging.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
16aa48c841
|
Add support for some identity CVT instructions.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
0c7461a38f
|
Generate cop unusable exceptions for cop2 and cop3.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
52927c82f2
|
Throw an exception if CTC1 is called without cop1 usable.
Generalise checkCopXUsable.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
41f598042d
|
Mask unwritable bits of the status register.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
7376cf3c2a
|
Add disassembly for DMFC0 and DMTC0.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
b72cf34d08
|
Rename controlSR to controlStatus.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
b7fb59d6f8
|
Remove logging for read-only control registers.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
91b514f828
|
Stop logging context register writes.
|
2023-09-23 22:17:54 +01:00 |
|
Paul Holden
|
7af3113b60
|
Partially implement XContext masking.
|
2023-09-23 22:17:54 +01:00 |
|