Commit Graph

781 Commits

Author SHA1 Message Date
Ben Vanik
9fdacebf2d Better handling of undefined imports. 2013-12-15 15:26:12 -08:00
Ben Vanik
2549292a57 Return address handling. Not happy with the design, but it (sorta) works. 2013-12-08 13:58:57 -08:00
Ben Vanik
e2e2a392ee Scanner now picks up restgprlr calls. 2013-12-08 11:26:43 -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
96c27b3b51 Fixing stack alignment in release mode. 2013-11-16 02:52:33 -08:00
gibbed
f7b7b0708b Argh. 2013-10-27 18:45:19 -07:00
gibbed
8306be77b0 Fixed constant tracking through mr. 2013-10-27 18:44:20 -07:00
Ben Vanik
692e14665c Tie FPR/VR tracing to --trace_registers 2013-10-25 23:32:11 -07:00
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