Commit Graph

58 Commits

Author SHA1 Message Date
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
Rick Gibbed
3667821be3 ldarx & stdcx disasm. 2013-05-31 22:01:35 -07:00
Ben Vanik
9bb36c7404 Fixing decoding of the rld* instructions. 2013-05-31 00:38:26 -07:00
Ben Vanik
dc16653164 Fixing decoding of some of the opcode 63 instructions. 2013-05-31 00:09:10 -07:00
Ben Vanik
a6db12b48f ldx/ldux. 2013-05-26 17:43:37 -07:00
Ben Vanik
86396816f5 rldicl, rldicr. 2013-05-26 16:10:25 -07:00
Ben Vanik
fd86370ccc Fixing warnings on mtmsr/mtmsrd disasm. 2013-05-26 15:03:36 -07:00
Rick Gibbed
1b3351b1e2 disasm for mfmsr, mtmsr, mtmsrd 2013-05-26 08:39:31 -07:00
Ben Vanik
bf9e92c027 Fixing typo in disasm. 2013-05-26 02:48:31 -07:00
Ben Vanik
35ce144a37 Disasm of some memory routines. 2013-05-26 02:45:32 -07:00
Rick Gibbed
1640acaf8a mftb 2013-05-26 00:48:53 -07:00
Ben Vanik
ab762e0009 Adding disassemblers for the fpu instructions. 2013-05-26 00:13:46 -07:00
Ben Vanik
eb22289dc7 Fixing bad fcmpu disasm. 2013-05-25 04:25:27 -07:00
Ben Vanik
ef3bd6cc53 Fixing disasm of subfic, fixing neg->not, fixing tests to use 8bits. 2013-05-24 23:03:35 -07:00
Ben Vanik
e724fe3e60 Adding some ALU instructions. 2013-05-24 14:21:39 -07:00
Ben Vanik
7227ba2693 Setting up register fill/spill. 2013-05-22 13:37:44 -07:00