hch12907
16b3570c4b
Fix missing MAC flag clears
2018-09-08 17:09:42 +08:00
Marco Satti
c9c5e21b16
Merge pull request #14 from hch12907/master
...
A great hunt for those pesky unimplemented VU instructions
2018-09-02 21:46:27 +08:00
hch12907
f4abbb78f9
Add branch delay slots to VUs and squash some bugs
...
- added branch delay slots to the VUs (todo: different ANDs for VU0 and VU1, VU0 has smaller micromem)
- fixed imm15 (forgot to lshift DEST by 11 bits)
- removed various warnings (heck, even fixed one bug!)
- extended the visibility of the members in BranchDelaySlot to protected
- [experimental] branching in branch delay slots
2018-09-01 18:49:51 +08:00
hch12907
cabefebec9
Implement VU transfer instructions
...
finally finished implementing those instructions!
also added some basic comments
2018-08-26 01:55:24 +08:00
hch12907
9ead3c7cba
Implement VU_OTHER instructions
2018-08-26 01:55:23 +08:00
hch12907
fe1cf18572
Implement VU EFU instructions
2018-08-26 01:55:23 +08:00
hch12907
9f0688f7df
Implement VU integer instructions
...
- Added a small utility for N-bit integer parsing
2018-08-26 01:55:02 +08:00
hch12907
f52006c7c8
Add imm5 to VuInstruction
2018-08-18 20:16:27 +08:00
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
6bc7c0daa9
Merge branch 'serialization'
2018-08-18 14:47:53 +08:00
Marco Satti
1605c43d86
Merge branch 'master' into serialization
2018-08-18 14:46:40 +08:00
Marco Satti
6250df03fa
Merge pull request #12 from hch12907/master
...
Implement VU float-related instructions & bugfixes
2018-08-18 14:38:41 +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
Marco Satti
f9c6862156
Does this fix submodules?
2018-08-08 21:42:47 +08:00
hch12907
353330f3e6
Implement more VU float-related instructions
...
MADD*, MSUB*, MAX*, MINI* instructions
2018-08-08 21:34:11 +08:00
Marco Satti
00bd4563a3
Remove crap from gitignore.
2018-08-08 21:29:47 +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
805fee6076
Update CI scripts, readme.
2018-08-06 22:53:54 +08:00
Marco Satti
1d7e8e8e07
Tweak main menu.
2018-08-06 22:40:56 +08:00
Marco Satti
e5450e48e9
Merge pull request #11 from hch12907/master
...
Implement VU conversion instructions
2018-08-06 21:03:51 +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
Marco Satti
4e0f02cce7
Merge branch 'hch12907-master'
2018-08-05 17:36:29 +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
abbe492d0b
Adjust header include blocks
2018-07-28 22:27:42 +08:00