Commit graph

109 commits

Author SHA1 Message Date
hch12907
3bfc8f1282 Merge branch 'vu-flag' 2018-08-18 15:38:31 +08:00
Marco Satti
63d20c5249 Remove clear_flags() from VU status register - not needed. 2018-08-18 15:10:27 +08:00
Marco Satti
1605c43d86 Merge branch 'master' into serialization 2018-08-18 14:46:40 +08:00
hch12907
6df4b8c56e Improved documentation and code
- use f32 instead of float
2018-08-17 19:04:28 +08:00
hch12907
21e59162b0 Implement VU flag instructions 2018-08-16 21:21:54 +08:00
hch12907
be92f7143a Add more VuInstruction field extraction functions
id(), is(), it(), imm12(), imm15()
2018-08-16 21:21:04 +08:00
hch12907
8bdcf2763a ITOF0 bugfix
how the hell did this compile in the first place?
2018-08-16 00:09:58 +08:00
hch12907
d3100c03b5 Clear the field if the FMAC unit is unused 2018-08-15 23:19:52 +08:00
hch12907
ff836d0fc5 Fix status flags of MADD* instructions and MSUB* instructions 2018-08-15 22:35:01 +08:00
hch12907
289f10893d Fixed code and formatting
- forgot to update the sticky flags
- clang-format somehow messed up the formatting of OPM* instructions
- RSQRT used wrong dividend
- removed redundant clear_flags()
2018-08-11 23:13:40 +08:00
hch12907
ad9d719733 Improved comment 2018-08-09 00:22:26 +08:00
hch12907
f506b7ae3e Float point fix 2018-08-09 00:17:18 +08:00
Marco Satti
150a872f2c Add in missing cereal includes. 2018-08-08 23:14:09 +08:00
Marco Satti
99f502c4cc Fix up all errors... 2018-08-08 22:51:39 +08:00
hch12907
94981cb388 Implement even more VU float-related instructions
OPMULA, OPMSUB, DIV, SQRT, RSQRT

clang-formatted the code
2018-08-08 22:26:50 +08:00
hch12907
353330f3e6 Implement more VU float-related instructions
MADD*, MSUB*, MAX*, MINI* instructions
2018-08-08 21:34:11 +08:00
hch12907
4392d891f7 Implement VU float-related instructions
the ADD*, SUB*, MUL* instructions for now
2018-08-08 20:11:52 +08:00
Marco Satti
c59074f102 Add in remainder of missing objects to serialize. 2018-08-07 21:47:20 +08:00
Marco Satti
cb5d2432f3 Try and stick to american english, keep it universal. 2018-08-06 22:56:57 +08:00
Marco Satti
dd8445a2b9 Testing a serialization solution, useful for debugging state. 2018-08-05 23:46:55 +08:00
hch12907
59f16b1974 Implement VU conversion-related instructions 2018-08-05 18:56:40 +08:00
hch12907
17ce65d4e9 Minor optimization
Using const allows the compiler to perform more optimisations
2018-08-05 18:54:42 +08:00
Marco Satti
750b3e8143
Merge pull request #10 from hch12907/float-fix
Fix float reading and writing
2018-08-05 17:39:15 +08:00
hch12907
76253ada54 Improved VIF log message
Now it logs the instructions too
2018-08-05 15:57:12 +08:00
hch12907
1ac9c98300 Corrected float reading 2018-08-05 15:42:21 +08:00
hch12907
fc1bee0364 Fixing the VIF code 2018-08-05 12:53:45 +08:00
hch12907
775a3ac619 clang-format'ed the code 2018-08-01 20:43:27 +08:00
hch12907
add5c02ac7 Implement some VIF instructions 2018-08-01 19:33:07 +08:00
hch12907
b47ebb82b9 Typo fix 2018-08-01 19:30:46 +08:00
Marco Satti
2ac3746d30 Turn off logging for now - SIO2/SIO0 appears to work.
Currently the IOP is not sending any data to the SIO2 so I can't check anything further. Possibly waiting on the EE Core to do something?
2018-07-29 17:24:42 +08:00
Marco Satti
7e660980c9 Fixed an issue with SIO2, might be something else wrong still... 2018-07-29 10:28:23 +08:00
Marco Satti
6451b92db4 Merge branch 'sio2-sio0-impl' into master-merge-sio-impl 2018-07-28 22:51:13 +08:00
Marco Satti
0c553cb8a6 Format all files using clang-format 2018-07-28 22:33:56 +08:00
Marco Satti
1075bc2585 SIO2 logging 2018-07-28 15:08:01 +08:00
Marco Satti
9a9b0f6df4 Got something working - first SIO2 interrupt successful! 2018-07-27 22:53:35 +08:00
Marco Satti
d1b0b1e67b WIP sio2/sio0 implementation. SIO2 side seems to work promisingly... 2018-07-27 21:52:09 +08:00
Marco Satti
8e30f8a999 Fix build 2018-07-24 22:16:41 +08:00
Marco Satti
52a1691893 Merge branch 'master' into sio2-sio0-impl 2018-07-24 22:08:53 +08:00
Marco Satti
f0ecc92210 Small changes to the IPU register definitions. 2018-07-24 21:48:30 +08:00
Marco Satti
0f1b38c721 WIP sio2/sio0 implementation. 2018-07-24 21:07:45 +08:00
hch12907
2e6dab4312 Remove all *_busy() methods
in the end I think it is redundant
2018-07-15 01:42:29 +08:00
hch12907
3a25db7291 Actually use the new register classes 2018-07-12 21:10:42 +08:00
hch12907
a64d3bc210 Detail IPU_BP register 2018-07-12 21:09:06 +08:00
hch12907
213fe2fd0a Detail IPU_CTRL register and fix bug
- Thought that Bitfields are constructed with (start, end), but it's actually (start, length). Oops.
- I should rewrite those `is_busy()`s for better code reuse...
2018-07-12 21:04:32 +08:00
hch12907
e464587a73 Detail the IPU_TOP register 2018-07-12 21:04:32 +08:00
hch12907
d28f6d8ffd Detail the IPU_CMD register. 2018-07-12 21:04:15 +08:00
hch12907
ab59746cfb Fixing typo in comments 2018-07-03 21:49:38 +08:00
Marco Satti
8c8dfdf98c Fix build. 2018-05-06 22:12:59 +08:00
Marco Satti
a87dbe5588 Merge branch 'sio2-sio0-impl' of https://github.com/marco9998/orbum into sio2-sio0-impl 2018-05-06 22:07:31 +08:00
Marco Satti
6d4111207d Merge branch 'master' into sio1-sio0-impl 2018-05-06 21:42:59 +08:00