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