Paul Holden
|
5a0dbce690
|
Move specialTableGen next to specialTable.
|
2023-07-18 09:09:34 +01:00 |
|
Paul Holden
|
bdd8abc039
|
Removing noisy 'cop1 unusable' logging.
|
2023-07-18 09:06:32 +01:00 |
|
Paul Holden
|
4b7e4744af
|
DCFC1 and DCTC1 generate unimplemented FP exception.
|
2023-07-18 08:56:50 +01:00 |
|
Paul Holden
|
5377c9e1ac
|
Throw cop1 unusable for LWC1/LDC1/SWC1/SDC1.
|
2023-07-18 08:45:15 +01:00 |
|
Paul Holden
|
1ea84b3dc5
|
Tidy CTC1 - cop1 usable check is done via executeCop1_disabled.
|
2023-07-18 08:43:39 +01:00 |
|
Paul Holden
|
dbfd859e38
|
Log values in hex.
|
2023-07-17 23:47:29 +01:00 |
|
Paul Holden
|
305c3767ff
|
Log values in hex.
|
2023-07-17 23:46:43 +01:00 |
|
Paul Holden
|
304b6b7b9c
|
Avoid out of bounds array access in executeGBI1_Line3D.
It looks like the stride is off, but I'm not sure how.
|
2023-07-17 23:39:30 +01:00 |
|
Paul Holden
|
d5abc5c044
|
Implement f64UnaryOp using a lookup table.
|
2023-07-17 23:31:08 +01:00 |
|
Paul Holden
|
f4e18ada7f
|
Remove overflow checks.
|
2023-07-17 23:30:08 +01:00 |
|
Paul Holden
|
4ceddaad56
|
Add support for logging ISViewer debug output.
Don't throw on writes to d1a2.
|
2023-07-17 23:24:22 +01:00 |
|
Paul Holden
|
2ce95c9ea3
|
Improve rom.js logging - take read/write size into account.
|
2023-07-17 22:54:00 +01:00 |
|
Paul Holden
|
7b2ec6487c
|
Implement f32UnaryOp using lookup tables.
|
2023-07-17 20:22:56 +01:00 |
|
Paul Holden
|
63e58953bc
|
Refactor fXXUnaryOp like fXXBinaryOp.
|
2023-07-17 19:17:05 +01:00 |
|
Paul Holden
|
65eb0d0218
|
Move underflow rounding to a lookup table.
|
2023-07-17 19:03:54 +01:00 |
|
Paul Holden
|
eee8df9b06
|
Rename classify functions.
|
2023-07-17 09:28:43 +01:00 |
|
Paul Holden
|
d36cf94043
|
Dedupe the weird exception handling around underflows.
|
2023-07-17 09:26:23 +01:00 |
|
Paul Holden
|
f56bc2a2e9
|
Improve exception handling for ADD/SUB/MUL/DIV .D.
|
2023-07-17 09:19:43 +01:00 |
|
Paul Holden
|
f8ae23d9a8
|
Tidy f32BinaryOp.
|
2023-07-17 09:19:00 +01:00 |
|
Paul Holden
|
3192c9399b
|
Implement overflow check by just checking if finite values produced infinity.
|
2023-07-17 09:18:21 +01:00 |
|
Paul Holden
|
b22d4669b3
|
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-07-16 23:28:00 +01:00 |
|
Paul Holden
|
e01bd88aae
|
Handle DIV.S cases using a lookup table.
|
2023-07-16 15:12:40 +01:00 |
|
Paul Holden
|
d30b474405
|
Improve DIV handling.
|
2023-07-15 22:32:27 +01:00 |
|
Paul Holden
|
c7319b5f5a
|
Improve ADD/SUB/MUL/DIV handling.
|
2023-07-15 22:05:19 +01:00 |
|
Paul Holden
|
c89785fdc2
|
Create stubs for binary ops in cpu1.js.
|
2023-07-15 21:36:46 +01:00 |
|
Paul Holden
|
43d7150f1c
|
Improve handling of unary ops (SQRT, NEG, ABS).
|
2023-07-15 21:30:14 +01:00 |
|
Paul Holden
|
09dc15c3ee
|
Don't import convertModeDefault.
|
2023-07-15 21:27:35 +01:00 |
|
Paul Holden
|
073724f083
|
Get rid of convertModeDefault.
|
2023-07-15 20:58:58 +01:00 |
|
Paul Holden
|
354969dcb6
|
Improve rounding.
|
2023-07-15 20:50:34 +01:00 |
|
Paul Holden
|
55b98fc63f
|
Improve CVT.D.L and CVT.S.L to raise unimplemented for values that are too large.
|
2023-07-15 20:32:49 +01:00 |
|
Paul Holden
|
fce422f502
|
Fix some constant names.
|
2023-07-15 20:11:43 +01:00 |
|
Paul Holden
|
b7a9949c11
|
Improve cop1 accuracy.
|
2023-07-15 20:11:08 +01:00 |
|
Paul Holden
|
d03d9cb2d7
|
Don't log html elements to the console.
|
2023-07-15 09:50:40 +01:00 |
|
Paul Holden
|
717a7915e6
|
Add some constants for cop1 ops.
|
2023-07-15 09:48:33 +01:00 |
|
Paul Holden
|
5f82f7aec0
|
Implement correct NaN handling for cop1 CMP.
|
2023-07-15 09:13:39 +01:00 |
|
Paul Holden
|
dd34746a7d
|
Express constants as value << shift.
|
2023-07-15 08:59:52 +01:00 |
|
Paul Holden
|
30e8db70d8
|
Remove logging for switching betwee 32<->64 modes.
|
2023-07-14 21:56:44 +01:00 |
|
Paul Holden
|
1e3d8c7540
|
Implement MOV.{S,D} using ints.
Without this JS runtime seems to convert SNaNs to QNaNs.
|
2023-07-14 21:54:43 +01:00 |
|
Paul Holden
|
48ef733a55
|
Give a hint about cop2/cop3 instructions in the disassembly.
|
2023-07-14 00:13:53 +01:00 |
|
Paul Holden
|
3d10e42079
|
Implement trap instructions.
|
2023-07-14 00:10:06 +01:00 |
|
Paul Holden
|
8ddbbc5455
|
Rename throw -> raise.
|
2023-07-14 00:09:20 +01:00 |
|
Paul Holden
|
000c8dffcc
|
Fix handleInterrupt.
|
2023-07-13 23:36:49 +01:00 |
|
Paul Holden
|
d8a2cefd2d
|
Implement RESERVED.
|
2023-07-13 23:16:58 +01:00 |
|
Paul Holden
|
71f05736b9
|
Delete some debug logging.
|
2023-07-13 23:03:57 +01:00 |
|
Paul Holden
|
3d6927e881
|
Implement SYSCALL and BREAK.
|
2023-07-13 23:02:07 +01:00 |
|
Paul Holden
|
aa7ae774e2
|
Remove some noisy logging.
|
2023-07-13 22:25:19 +01:00 |
|
Paul Holden
|
8473048ca3
|
Add support for some identity CVT instructions.
|
2023-07-13 22:21:53 +01:00 |
|
Paul Holden
|
0e2fefa7de
|
Generate cop unusable exceptions for cop2 and cop3.
|
2023-07-13 22:20:14 +01:00 |
|
Paul Holden
|
7caa2ac3f4
|
Throw an exception if CTC1 is called without cop1 usable.
Generalise checkCopXUsable.
|
2023-07-13 22:15:17 +01:00 |
|
Paul Holden
|
8668555bef
|
Mask unwritable bits of the status register.
|
2023-07-12 23:20:03 +01:00 |
|