Commit graph

55 commits

Author SHA1 Message Date
Jean-Philip Desjardins
340ece9e1d Bring UNPACK logic to what it was.
The PoC was based on old UNPACK code that didn't have some of the more recent fixes.
2021-05-28 13:12:30 -04:00
Jean-Philip Desjardins
36f1564913 Use templates to allow better code generation for UNPACK. 2021-05-28 08:29:44 -04:00
Jean-Philip Desjardins
800926fada Add an explanation for the delay thing.
For our future selves.
2021-01-06 12:16:06 -05:00
Jean-Philip Desjardins
fe038441c9 Save/load new member state. 2021-01-06 12:14:17 -05:00
Jean-Philip Desjardins
8f2a2dc98c Change how we report FIFO contents when FDR is on. 2021-01-02 21:05:44 -05:00
Björn Gerdau
f901fc65e8
Add warning for invalid VIF commands 2020-11-06 19:06:59 +01:00
Björn Gerdau
9e8556a61b
Misc VIF fixes
Improve FBRST STC handling, fix wrongful STAT MRK reset, and set STAT ER1 on unknown VU commands
2020-11-06 10:06:17 +01:00
Björn Gerdau
dbc4f18231
Implement VIF ERR register 2020-11-06 10:06:17 +01:00
Björn Gerdau
683b06d839
Add more warnings 2020-11-06 10:06:16 +01:00
Jean-Philip Desjardins
4f2b46624a Save/load pendingMicroProgram state. 2020-08-24 21:12:46 -04:00
Jean-Philip Desjardins
d478bce5ed Make delayed MSCAL handling more robust.
Made sure the microprogram is executed at the right time.
2020-08-24 17:59:34 -04:00
Jean-Philip Desjardins
46628be58a Handle transfers to VU micro memory that might wrap around the address space. 2020-07-13 19:17:59 -04:00
Jean-Philip Desjardins
47109a3c58 Be granular also on VU microprogram upload. 2019-10-21 17:20:01 -04:00
Jean-Philip Desjardins
2076edf3c0 Fix Linux build. 2019-08-17 13:51:31 -04:00
Jean-Philip Desjardins
d56fc7b226 Add missing register reads. 2019-06-05 13:36:52 -04:00
Jean-Philip Desjardins
3aaf7c6847 Don't stall if MARK command has interrupt bit set. 2019-06-05 13:36:33 -04:00
Jean-Philip Desjardins
e5ae547e66 Move saved state helper classes to a subfolder. 2019-02-06 19:04:51 -05:00
Jean-Philip Desjardins
8ca3ed0309 Add sensible reset values for CL and WL. 2018-05-30 13:19:49 -04:00
Jean-Philip Desjardins
4785dab2de Rename some of the log's names. 2018-05-25 12:38:51 -04:00
Jean-Philip Desjardins
2c06672b47 Prevent UNPACK from writing out of bounds. 2018-05-24 12:20:15 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
0392b78f1d Change the way VIF interrupts are handled.
INTC line will only be pulsed once whenever a VIFcode with I bit is encountered.
2018-04-07 09:59:23 -04:00
Jean-Philip Desjardins
abbda7a0a6 Cleanup. 2017-12-23 11:04:06 -05:00
Mahmood(Thunder07)
97c229ec98 Cleanup
Silence:"warning: '0' flag ignored with precision and ‘%X’ gnu_printf format"
2017-05-29 06:01:32 +01:00
Jean-Philip Desjardins
cb7a01a9d0 Print mask value. 2017-03-26 18:36:41 -04:00
Jean-Philip Desjardins
64fdcee63e Reinstated SyncBuffer after setting input data info.
Needed by Timesplitters.
2017-02-24 00:39:29 -05:00
Jean-Philip Desjardins
a610047447 Add precondition. 2017-02-24 00:39:29 -05:00
Jean-Philip Desjardins
2853e5634a Fix next address computation in Advance. 2017-02-24 00:39:29 -05:00
Jean-Philip Desjardins
a8fa819081 Make GetDirectPointer/Advance more flexible.
Allow unaligned cases.
2017-02-24 00:39:29 -05:00
Jean-Philip Desjardins
f16e83428b Cleanup. 2017-02-24 00:39:28 -05:00
Jean-Philip Desjardins
72569d2cb3 Use data directly from stream to feed GIF on DIRECT. 2017-02-24 00:39:28 -05:00
Jean-Philip Desjardins
1220c48174 Update MRK field when MARK register is accessed. 2017-01-29 21:13:11 -05:00
Jean-Philip Desjardins
31ca0a1d0b Simulate data being available in VIF1 FIFO when FDR is set. 2016-09-24 16:22:53 -04:00
Jean-Philip Desjardins
5f1ba3720c Change UNPACK behavior when WL equals 0.
Needed by Kingdom Hearts 2.
2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
15d2665862 Cleanup. 2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
02e23cd24b Allow reading from NUM and CODE registers. 2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
8e37470ffc Use macros to generate register loggers. 2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
d66d4b3dae Add basic support for resetting through VIFn_FBRST. 2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
2d798c9026 Allow reading from VIFn_STAT. 2016-09-06 18:12:06 -04:00
Jean-Philip Desjardins
9b1b799b14 Also set CL to UINT_MAX when WL equals 0 2015-12-13 21:49:45 -05:00
Jean-Philip Desjardins
ea777a3740 Allow reading of VIFx_MODE register. 2015-12-13 21:04:38 -05:00
Jean-Philip Desjardins
c787d82319 Mask UNPACK write address to prevent writing out of bounds. 2015-12-13 18:08:22 -05:00
Jean-Philip Desjardins
4286476163 Removed commented code. 2015-12-12 21:38:20 -05:00
Jean-Philip Desjardins
92a287fcd8 Allow reading of VIFx_CYCLE register. 2015-12-12 21:38:07 -05:00
Jean-Philip Desjardins
1cef991290 Improved handling of read/write cycles in VIF UNPACK.
Now properly works with cases such as cl == 0 or wl == 0 and also
handles "interrupted" transfers better.
2015-12-05 19:24:44 -05:00
Jean-Philip Desjardins
25101da7de Added support for difference unpack mode. 2015-11-25 00:30:42 -05:00
Jean-Philip Desjardins
62839af516 Added support for reading R register. 2015-11-25 00:30:41 -05:00
Jean-Philip Desjardins
bb6840c6a8 Added basic support for transfers from GS to EE memory. 2015-11-17 22:09:46 -05:00
Jean-Philip Desjardins
b62d72932b Added basic support for VIF FIFO. 2015-08-18 23:04:18 -04:00
Jean-Philip Desjardins
f0e21febf9 Implemented VIF*_MARK registers. 2015-06-29 23:03:53 -04:00