Commit Graph

73 Commits

Author SHA1 Message Date
Dr. Chat
f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
gibbed
450ca87120 Added comparison operator for --break_on_instruction. 2016-06-19 21:01:18 -05:00
Dr. Chat
d5865740e2 Add a few more vector tests 2016-06-12 21:45:51 -05:00
Ben Vanik
6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Dr. Chat
bd6bf16bd1 New flag: disable_global_lock - Disables global lock usage in guest code. 2016-01-13 19:40:00 -06:00
Dr. Chat
14c5e48120 Enable speculative PACK_TYPE_FLOAT16_3 2016-01-13 01:48:18 -06:00
Dr. Chat
f0802d75fa Use atomic compare exchange in stdcx/stwcx (still under the global lock) 2016-01-13 01:45:31 -06:00
Ben Vanik
952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
Ben Vanik
214532a3e8 Fiddling with FPSCR and such. Still not implemented, but wiring done. 2015-12-30 16:53:14 -08:00
Ben Vanik
c296d581cf Readback CA in XER. 2015-12-30 16:53:12 -08:00
Ben Vanik
cbc74c92f4 Fixing CR update for divwu/divdu/mulhwu. 2015-12-30 10:04:57 -08:00
Ben Vanik
69c7bac8db Fixing branch address calculation. 2015-12-30 09:47:24 -08:00
Ben Vanik
3c332ef1f5 Adding/removing saturate checks where required. 2015-12-30 09:31:03 -08:00
Ben Vanik
74d71f7a4a Fixing the rlw* instructions. 2015-12-30 09:02:29 -08:00
Ben Vanik
b09e32ec15 Adding tests for broken rlwnm and rliwnm. Not yet fixed. 2015-12-29 20:58:38 -08:00
Ben Vanik
321e2663ef Fixing mullw. 2015-12-29 20:42:20 -08:00
Ben Vanik
d7eff7c9e3 Marking some memory instructions as kM. 2015-12-29 17:53:49 -08:00
Ben Vanik
383a173a18 REBASE: fixing xthread instruction decoding. 2015-12-29 13:09:50 -08:00
Dr. Chat
e206d13af7 Flag mfmsr/mtmsr/mtmsrd as context-synchronizing instructions 2015-12-29 12:35:04 -08:00
Dr. Chat
666f5543a8 Cleanup ThreadState and XThread 2015-12-29 12:32:46 -08:00
Dr. Chat
28468f8a18 cpu::Processor now tracks a pointer to the emulator. 2015-12-29 12:32:00 -08:00
Ben Vanik
214957da3a Adding finer-grained instruction classification. 2015-12-29 11:02:00 -08:00
Ben Vanik
cc72de0f64 Moving disasm to new tables.
Also adding useful CPU docs.
2015-12-28 20:49:22 -08:00
Ben Vanik
cd938be678 Removing all uses of the old PPC tables besides disasm. 2015-12-28 10:08:38 -08:00
Ben Vanik
990d973c74 New ppc opcode decoder.
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00
Ben Vanik
ca8d658ffe Speeding up PPC tests significantly. 2015-12-27 12:03:30 -08:00
Ben Vanik
15816327b4 Renaming xe::cpu::frontend to xe::cpu::ppc. 2015-12-14 21:17:55 -08:00
Ben Vanik
fdb6a5cfa3 Initial Alloy implementation.
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
Ben Vanik
1e86736853 vaddfp and vrfin 2013-11-16 06:58:50 -08:00
Ben Vanik
b7ffd46319 Massive refactoring of all code + audio skeleton.
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00
Ben Vanik
d62e8aaf78 lhbrx/lwbrx/ldbrx/sthbrx/stwbrx/stdbrx 2013-10-19 21:05:06 -07:00
Ben Vanik
5b91ba89e9 Fixing stdux/stdx o_o 2013-10-19 20:57:19 -07:00
Ben Vanik
fc1be2bfd8 rldimix 2013-10-19 18:54:36 -07:00
Ben Vanik
16020df6a2 mfcr disasm. 2013-10-14 00:48:23 -07:00
Ben Vanik
b28c51271d A bunch of disasm instructions used by some games. 2013-10-13 22:53:33 -07:00
Ben Vanik
1fecb95512 Switching altivec disasm to die on failure. 2013-10-06 12:35:24 -07:00
Ben Vanik
9ebbc3535f vsldoi. 2013-10-06 11:21:38 -07:00
Ben Vanik
611902a97e Fixing vspltw and vrlimi. 2013-10-03 20:19:11 -07:00
Ben Vanik
6d46b51ed4 A few vcmp*'s, float_16_to_32 bit of vupkd3d128 (untested). 2013-10-02 23:25:05 -07:00
Ben Vanik
21d273e85b Tracing FPRs and random fixes. 2013-09-30 22:43:29 -07:00
Ben Vanik
37caa5cea1 vnmsubfp, fixing vrlimi128. 2013-09-30 21:14:23 -07:00
Ben Vanik
f5b99d7448 Fixing some altivec instruction decode issues. 2013-09-30 17:54:49 -07:00
Ben Vanik
26ec76ef35 A lot of progress on altivec instructions.
Some bad results, still, and some instructions are not decoding right.
2013-09-29 21:05:48 -07:00
Ben Vanik
5652a150e1 vand/vnor/vor/vxor. 2013-09-28 23:45:16 -07:00
Ben Vanik
51184f73ea Disassembling a few instructions. 2013-09-28 19:37:34 -07:00
Ben Vanik
f4f66ff7f1 Beginning Altivec disassembly/emitting. 2013-09-28 09:14:04 -07:00
Ben Vanik
6f602d120a Adding thread ID to trace lines and cleaning up their formatting. 2013-06-30 06:09:08 -07:00
Ben Vanik
052c70efce Fixing broken opcode 63 stuff. 2013-06-02 12:01:43 -07:00
Rick Gibbed
fbaaebdb41 Oops. Tab! 2013-06-02 09:43:27 -07:00
Rick Gibbed
105aee506d dcbf disasm. 2013-06-02 07:56:17 -07:00