Commit Graph

49 Commits

Author SHA1 Message Date
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
Ben Vanik
16d2b73a73 Main codegen loop now running through instructions. 2013-05-22 13:10:07 -07:00
Ben Vanik
1ec06bd7d0 Tweaking compile options and switching back to VS2010. 2013-05-21 16:08:56 -07:00
Ben Vanik
85804f7415 Initial libjit skeleton.
Not currently generating instructions, but most of the flow is right up to
that point. A lot of work required to refactor the emitter, but wanted to
get this checked in.
2013-05-21 15:36:58 -07:00
Ben Vanik
94e3e592dd Making disassembly much faster by moving string processing to only the
dump path.
2013-05-19 19:32:55 -07:00
Ben Vanik
0aa7d1ec05 Adding libjit.
Removing some old xethunk cruft.
2013-05-19 09:23:50 -07:00
Ben Vanik
b018b6fe56 Broken, incomplete, but need to move forward with rewrite. 2013-04-21 12:34:20 -07:00
Ben Vanik
4987147055 Moving disasm functions to ppc/. 2013-03-30 02:01:33 -07:00
Ben Vanik
88431eadce Screw convention; moving include files alongside source files.
They now will show up in xcode/etc.
2013-02-06 02:19:50 -08:00