Commit Graph

222 Commits

Author SHA1 Message Date
Ben Vanik
6e60aef72f Special register check for lwbrx. Need a scalable way to do this. 2013-10-23 21:10:26 -07: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
d9a55a5557 Zero memory on alloc. 2013-10-22 21:50:10 -07:00
Ben Vanik
ca208fa60a Rewrote memory manager to use a bunch of mapped views. 2013-10-20 23:19:57 -07:00
Ben Vanik
42a8fc0b59 --break_on_instruction=0x... and --break_on_memory=0x... 2013-10-20 16:54:59 -07:00
Ben Vanik
737a567de6 Fixing code_addr_low_. 2013-10-19 22:31:08 -07:00
Ben Vanik
bdf5bf20a4 vminfp/vmaxfp 2013-10-19 21:26:40 -07:00
Ben Vanik
2cce46c232 vsel/vsel128 2013-10-19 21:20:27 -07:00
Ben Vanik
d62e8aaf78 lhbrx/lwbrx/ldbrx/sthbrx/stwbrx/stdbrx 2013-10-19 21:05:06 -07:00
Ben Vanik
d60cf676c3 addmex 2013-10-19 20:57:24 -07:00
Ben Vanik
5b91ba89e9 Fixing stdux/stdx o_o 2013-10-19 20:57:19 -07:00
Ben Vanik
7ae2d410e5 addex. All of these are wrong - let's hope we don't overflow. 2013-10-19 20:29:19 -07:00
Ben Vanik
4e6799197f fsqrtx/fsqrtsx 2013-10-19 20:25:03 -07:00
Ben Vanik
e842a6614a Fixing LR argument for indirect branches. 2013-10-19 19:59:09 -07:00
Ben Vanik
10c69cfaf2 rlwnmx 2013-10-19 19:07:26 -07:00
Ben Vanik
807b949fea Seeing code returning to the execution thunk, something must have broken. 2013-10-19 19:03:47 -07:00
Ben Vanik
4a72010e5f addcx 2013-10-19 19:03:30 -07:00
Ben Vanik
fc1be2bfd8 rldimix 2013-10-19 18:54:36 -07:00
Ben Vanik
14b1c860b9 subfmex/subfzex. 2013-10-19 18:33:32 -07:00
gibbed
49ee9d05b9 Fixed LR branching. 2013-10-19 17:09:48 -07:00
Ben Vanik
7b0ca71bfb Fixing broken test. 2013-10-19 17:08:34 -07:00
gibbed
f15b5dae9d I think this is right. 2013-10-19 15:07:59 -07:00
Ben Vanik
f7ad9c89dd Messing with stvlx. 2013-10-19 14:36:32 -07:00
Ben Vanik
91e6c4ed9a Adding address mask to stvlx. 2013-10-19 14:29:14 -07:00
Ben Vanik
31161e0245 SHUFPS_SWAP_DWORDS to make it easier to tell what it's doing. 2013-10-19 14:21:56 -07:00
Ben Vanik
5df538cd44 Adding stack alignment check. We aren't 16b aligned right now. Fuck. 2013-10-19 14:16:34 -07:00
Ben Vanik
007f7e371d Workaround for yet another AsmJit bug. Sigh. 2013-10-19 12:50:42 -07:00
Ben Vanik
90bc6ad1a8 Interrupts fire on the right 'thread', ringbuffer work, 2013-10-19 11:50:01 -07:00
gibbed
32a0045001 This is probably better. 2013-10-19 01:18:18 -07:00
Ben Vanik
0746e6feb2 ldarx/lwarx/stdcx/stwcx. Probably. 2013-10-18 21:17:20 -07:00
Ben Vanik
28e7102a02 Always dump CPU info and assert our dummy thread value is legit. 2013-10-18 18:56:59 -07:00
Ben Vanik
c53db98517 Locking around some JIT stuff.
Excessive for now, but safer.
2013-10-16 21:32:20 -07:00
gibbed
309d1621e5 Attempt at a fix for crashes occuring when not using instruction/branch tracing. 2013-10-16 18:55:21 -07:00
Ben Vanik
6cda645911 Adding instruction address identifier when not tracing.
This can be removed later.
2013-10-14 21:53:34 -07:00
Ben Vanik
80e3e6fa14 Ignoring unimplemented disasm functions by default. 2013-10-14 21:34:13 -07:00
Ben Vanik
963667f65c Forcing bl to function calls. 2013-10-14 21:33:54 -07:00
Ben Vanik
929ea13548 Emulated vslb. 2013-10-14 18:33:17 -07:00
Ben Vanik
1eba1fb5c2 vspltb 2013-10-14 18:21:26 -07:00
Ben Vanik
5bed1069f8 mulhwx/mulhwux 2013-10-14 17:49:21 -07:00
Ben Vanik
1e66e39efc divdux/mulldx 2013-10-14 17:30:25 -07:00
Ben Vanik
16020df6a2 mfcr disasm. 2013-10-14 00:48:23 -07:00
Ben Vanik
76ca76bb67 Disabling hole filling in the SDB.
This was required when the AOT CPU was built, but isn't needed now.
2013-10-14 00:39:13 -07:00
Ben Vanik
602ed5393e vspltisb/ldarx/stdcx.
ldarx/stdcx are just as faked as the w equivalents.
2013-10-14 00:13:40 -07:00
Ben Vanik
72b54cfe2a Fixing recursion branches. 2013-10-13 22:59:19 -07:00
Ben Vanik
b28c51271d A bunch of disasm instructions used by some games. 2013-10-13 22:53:33 -07:00
Ben Vanik
83d7523da1 Fixing lvrx. 2013-10-12 15:06:16 -07:00
Ben Vanik
99bde2d67e Fixing terrible vsldoi implementation. Still terrible. 2013-10-06 17:45:59 -07:00
Ben Vanik
87481f5f4c Fixing vperm. 2013-10-06 16:25:41 -07:00
Ben Vanik
b77403e754 Fixing lvsl/lvsr. 2013-10-06 16:25:23 -07:00
Ben Vanik
74692232c9 Add trace thread mask.
Makes seeing only thread 1 easier.
2013-10-06 14:35:03 -07:00