Ben Vanik
44cbe1bbcf
Finishing off module info for now.
2013-12-24 22:08:44 -08:00
Ben Vanik
dcd9f8b6ff
Module info in json.
2013-12-24 17:25:29 -08:00
Ben Vanik
8a8ee5dadc
Starting modal for module info.
2013-12-24 14:09:19 -08:00
Ben Vanik
98efc7ddfa
Suspend/resume working.
2013-12-23 19:46:35 -08:00
Ben Vanik
475ddc1fcf
Breakpoint hits reaching all the way to UI.
...
Nasty json only hackery right now, but fixable to support other protocols.
2013-12-23 14:01:13 -08:00
Ben Vanik
a0256fac45
Removing empty files to shut VS up.
2013-12-23 11:52:51 -08:00
Ben Vanik
31b8c02cbf
Breakpoints triggering.
2013-12-22 23:04:24 -08:00
Ben Vanik
5881a58c49
More plumbing for breakpoints.
2013-12-22 22:03:06 -08:00
Ben Vanik
5e9a2c6d27
Client-specific debug state.
2013-12-22 19:58:00 -08:00
Ben Vanik
7098ed3b02
Plumbing breakpoints down into alloy Debugger interface.
2013-12-22 17:50:14 -08:00
Ben Vanik
e45a7afabc
MakeReady behavior.
2013-12-22 16:48:50 -08:00
Ben Vanik
9208132ad9
Load map files and set function names.
2013-12-22 14:04:41 -08:00
Ben Vanik
d861ef8aab
Prettier ppc disasm.
2013-12-22 13:06:15 -08:00
Ben Vanik
de6dc92663
Only generate debug info when in --debug mode (or asked).
2013-12-22 09:50:31 -08:00
Ben Vanik
c92142ca02
Displaying (unformatted) function code.
2013-12-22 09:25:44 -08:00
Ben Vanik
4ecdfed46f
Function listing and selection.
2013-12-22 02:59:42 -08:00
Ben Vanik
a631ada0f7
Routing messages to debug targets.
2013-12-22 00:51:50 -08:00
Ben Vanik
284e8a92e6
Deleting old debugger code.
2013-12-22 00:23:00 -08:00
Ben Vanik
80d8dc02aa
Messaging over debug channel.
2013-12-22 00:21:35 -08:00
Ben Vanik
da340891c4
Fixing sockets and response.
2013-12-21 11:52:48 -08:00
Ben Vanik
d98d5c855a
WaitForClient moved to server, now working.
2013-12-20 23:52:47 -08:00
Ben Vanik
8a7bd7b69a
GET /sessions returns the title info.
2013-12-20 23:44:22 -08:00
Ben Vanik
1461792289
Debugger now listens for connections and will only allow one at a time.
2013-12-19 10:08:25 -08:00
Ben Vanik
2cb5c97052
GDB debug protocol that IDA can connect to.
...
Unfortunately, IDA sucks, and this likely won't ever work right.
2013-12-17 10:20:07 -08:00
Ben Vanik
b5f5668f6d
Sockets implementation for Windows, WebSockets client now working.
2013-12-16 22:43:03 -08:00
Ben Vanik
d548e7f770
Starting revival of debugger system. Work on #41 .
2013-12-16 20:28:58 -08:00
Ben Vanik
c17122e022
Using raw addresses for gpu writeback.
2013-12-15 15:32:06 -08:00
Ben Vanik
f9cd87811d
Some games seem to write to 0x0... damn.
2013-12-15 15:31:32 -08:00
Ben Vanik
9fdacebf2d
Better handling of undefined imports.
2013-12-15 15:26:12 -08:00
Ben Vanik
f2348301ea
More aggressive constant propagation pass.
2013-12-15 14:40:18 -08:00
Ben Vanik
769b8d59d9
Fixing some constant checks.
2013-12-15 14:34:57 -08:00
Ben Vanik
84651623a5
Removing BranchIf.
2013-12-15 14:34:41 -08:00
Ben Vanik
417a970aab
Various fixes.
2013-12-15 13:58:40 -08:00
Ben Vanik
1d0ed4882d
Constant type fixes.
2013-12-15 12:09:28 -08:00
Ben Vanik
88cdb9e36c
Replacing store vector left/right opcodes by just using permutes.
2013-12-15 11:58:54 -08:00
Ben Vanik
a44551c418
Fixing some copy/paste errors. Sigh.
2013-12-14 15:47:45 -08:00
Ben Vanik
52ff9bdfd0
Fixing swizzle.
2013-12-14 15:47:32 -08:00
Ben Vanik
1fb8650f6d
Fixing I2F.
2013-12-14 14:41:45 -08:00
Ben Vanik
8af24ab9bb
Fixing vrlimi128
2013-12-14 09:27:34 -08:00
Ben Vanik
c9adf893a6
Fixing a bunch of vector ops.
2013-12-14 08:47:36 -08:00
Ben Vanik
7ebdd3f7e0
Fixing vectors.
2013-12-14 07:17:33 -08:00
Ben Vanik
21d1e7236b
Fixing permute functions.
2013-12-14 06:24:29 -08:00
Ben Vanik
a1f41c656a
stve*x
2013-12-13 22:24:19 -08:00
Ben Vanik
d1210218ac
Comment fixes.
2013-12-13 21:20:01 -08:00
Ben Vanik
69704853a3
Special casing sldi.
2013-12-13 20:11:04 -08:00
Ben Vanik
24ce893256
Fixing ROTL macro.
2013-12-13 20:10:56 -08:00
Ben Vanik
689de0279f
Swapping bytes. Probably still wrong.
2013-12-08 23:33:40 -08:00
Ben Vanik
eb2d596c27
srawx, vsldoi, vupkd3d of D3DCOLOR -- all untested
2013-12-08 23:15:05 -08:00
Ben Vanik
3ec930d9fc
INSERT
2013-12-08 23:14:27 -08:00
Ben Vanik
ccd5346332
LOAD/STORE_VECTOR_LEFT/RIGHT. It'd be nice not to have these.
2013-12-08 22:16:37 -08:00
Ben Vanik
b9df6dc703
load_vector_sh*
2013-12-08 20:58:24 -08:00
Ben Vanik
07b5c3ad81
Adding f64-to-i32 convert.
2013-12-08 20:42:33 -08:00
Ben Vanik
24a13b4021
Fixing carry.
2013-12-08 20:42:20 -08:00
Ben Vanik
2e5489e22f
Making the trace format easier to diff with the old stuff.
2013-12-08 20:42:12 -08:00
Ben Vanik
65a36fd69c
Fixing CNTLZ.
2013-12-08 16:01:11 -08:00
Ben Vanik
60015afdc4
Misc fixes.
2013-12-08 16:00:55 -08:00
Ben Vanik
7c4b2c6d23
sradi, which was totally wrong before o_o
2013-12-08 15:24:18 -08:00
Ben Vanik
7adc122620
No-op MSR instructions.
2013-12-08 14:31:19 -08:00
Ben Vanik
760d82a9af
Fixing endianess of register load/store.
2013-12-08 14:31:03 -08:00
Ben Vanik
ec4bf50363
load_acquire/store_release
2013-12-08 14:15:28 -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
dc0848f7ba
rld*
2013-12-08 13:58:15 -08:00
Ben Vanik
28ff739449
Better nop handling.
2013-12-08 13:17:50 -08:00
Ben Vanik
50f53a483e
How did this ever work? Fixing and*.
2013-12-08 12:25:48 -08:00
Ben Vanik
e2e2a392ee
Scanner now picks up restgprlr calls.
2013-12-08 11:26:43 -08:00
Ben Vanik
1dc356cb4d
Allowing dynamic register access checks to be disabled.
2013-12-07 13:15:15 -08:00
Ben Vanik
d8cc9fb0b4
Register access (dynamic and static) wired up.
2013-12-07 13:09:22 -08:00
Ben Vanik
e5d867a92f
Removing comments.
2013-12-07 06:29:58 -08:00
Ben Vanik
3b268f07ef
Basic constant propagation.
2013-12-07 05:52:51 -08:00
Ben Vanik
57432d5996
Making ContextPromotion actually remove dead stores.
2013-12-07 04:57:37 -08:00
Ben Vanik
329b554c7a
Basic ContextPromotionPass and some opcode info rearranging.
2013-12-07 04:39:48 -08:00
Ben Vanik
51d0be0f0a
Basic DCE pass.
2013-12-07 02:18:26 -08:00
Ben Vanik
c2113c116d
Starting compiler work. Adding pass TODOs.
2013-12-07 01:36:13 -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
68b8737a58
SETXXv, CNDXXv, SETXXs - may not be right.
2013-11-17 15:20:50 -08:00
Ben Vanik
1f4795e7d4
Fixing shader file names.
2013-11-17 15:20:28 -08:00
Ben Vanik
9441fb8b7a
Finally figured out MUL/ADD/SUB_CONST_*
2013-11-16 18:27:17 -08:00
Ben Vanik
1592cf96f7
MAX4v, MINs, MAXs
2013-11-16 16:59:33 -08:00
Ben Vanik
798cad6f87
DOT2ADDv
2013-11-16 16:15:23 -08:00
Ben Vanik
59779e735d
Fix input error return.
2013-11-16 07:15:15 -08:00
Ben Vanik
1e86736853
vaddfp and vrfin
2013-11-16 06:58:50 -08:00
Ben Vanik
8398ea4925
I lied, MULADD was not that way.
2013-11-16 05:16:11 -08:00
Ben Vanik
60f48bdd32
Always write oPos.
2013-11-16 04:39:26 -08:00
Ben Vanik
7491058ffd
Adding --dump_shaders=path/.
2013-11-16 04:39:16 -08:00
Ben Vanik
8440c9059a
Fixing order of MULADDv.
2013-11-16 04:35:08 -08:00
Ben Vanik
271abbf874
Adding --trace_ring_buffer.
2013-11-16 03:06:55 -08:00
Ben Vanik
96c27b3b51
Fixing stack alignment in release mode.
2013-11-16 02:52:33 -08:00
Ben Vanik
7a2032b693
Renaming X_RESULT to be consistent.
2013-11-01 16:23:41 -07:00
Ben Vanik
06d9f7989a
Removing signature from export tables.
2013-11-01 16:23:40 -07:00
gibbed
f7b7b0708b
Argh.
2013-10-27 18:45:19 -07:00
gibbed
faa67028ce
Mystery GPU registers.
2013-10-27 18:44:20 -07:00
gibbed
8306be77b0
Fixed constant tracking through mr.
2013-10-27 18:44:20 -07:00
Ben Vanik
2de906f3d6
Hacking around with shaders. Pretty sure this is all wrong.
2013-10-27 18:33:50 -07:00
Ben Vanik
0355047838
PM4_LOAD_ALU_CONSTANT
2013-10-27 16:18:54 -07:00
Ben Vanik
7d6dda356c
Clear all allocated memory.
2013-10-27 16:01:35 -07:00
Ben Vanik
74ff6bd4fa
Finally figured out the ringbufer corruption.
2013-10-27 16:00:51 -07:00
Ben Vanik
11f99ce33b
Obeying request to zero.
2013-10-27 12:47:00 -07:00
Ben Vanik
6477d6c21e
--scribble_heap, which memsets all allocated memory.
...
Already exposing bugs.
2013-10-27 12:06:02 -07:00
Ben Vanik
082df81f70
Slowing down the audio system until it does something.
2013-10-27 12:05:17 -07:00
Ben Vanik
692e14665c
Tie FPR/VR tracing to --trace_registers
2013-10-25 23:32:11 -07:00
Ben Vanik
3b7fcced0e
Fixing broken error check and adding some manual breakpoints.
2013-10-23 23:48:18 -07:00
Ben Vanik
655a486db3
NtResumeThread
2013-10-23 23:32:44 -07:00
Ben Vanik
ebef2aef36
Adding audio stub methods.
2013-10-23 23:09:16 -07:00
Ben Vanik
ca22980dc0
XInput polling.
2013-10-23 22:42:48 -07:00
Ben Vanik
96daa6b43f
Validate arguments on input.
2013-10-23 22:23:52 -07:00
Ben Vanik
c4fe2e6926
Input bouncing through to input system.
2013-10-23 22:13:05 -07:00
Ben Vanik
74803ae174
HID system skeleton.
2013-10-23 21:47:36 -07:00
Ben Vanik
20bd15e7fe
Partially fixing import logging. Still not sure why vars aren't showing.
2013-10-23 21:11:13 -07:00
Ben Vanik
93e4b70133
Stubbing input a little better.
2013-10-23 21:10:41 -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
c996a4bbaf
Stubs for more XAM functions.
2013-10-23 00:05:50 -07:00
Ben Vanik
60ef171ff2
XNetStartup/WSAStartup stubs.
2013-10-22 23:46:42 -07:00
Ben Vanik
447ce90b7b
MmQueryAddressProtect.
2013-10-22 23:34:24 -07:00
Ben Vanik
2a8a19e4be
KeDelayExecutionThread.
2013-10-22 23:22:30 -07:00
Ben Vanik
d9a55a5557
Zero memory on alloc.
2013-10-22 21:50:10 -07:00
Ben Vanik
d065ee43e8
PM4_SET_CONSTANT for registers.
2013-10-22 21:32:04 -07:00
Ben Vanik
157cfd4d71
Moving all physical allocs to A..., as games do stupid stuff when at E.
2013-10-22 21:06:12 -07:00
Ben Vanik
62d4d5ce84
Randomly messing with address translation. Still not right.
2013-10-22 21:05:56 -07:00
Ben Vanik
d4e19eb583
Certain games seem to do GPU writeback here.
2013-10-22 21:05:32 -07:00
Ben Vanik
e0b6d0f689
Cleaning up packet reading/endianness.
2013-10-22 20:47:27 -07:00
Ben Vanik
725cde55d4
Moving the physical heap up a bit to avoid overwriting 0x0.
2013-10-21 23:56:16 -07:00
Ben Vanik
f676333ef0
Stub MmQueryAddressProtect - unimplemented.
2013-10-21 21:58:45 -07:00
Ben Vanik
f9dd0b0cb2
Allocate physical memory.
2013-10-21 19:28:25 -07:00
Ben Vanik
1fea07b6aa
Align physical allocations to page size.
2013-10-21 19:26:41 -07:00
Ben Vanik
aa3e8d0332
Allocating things in a physical heap. Super wasteful right now.
2013-10-21 00:59:11 -07:00
gibbed
ea022c8dd3
That one byte is totally important.
2013-10-21 00:39:39 -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
d00f4d58e9
Better byte swapping in ringbuffer and fixed logging.
2013-10-20 18:34:46 -07:00
Ben Vanik
42a8fc0b59
--break_on_instruction=0x... and --break_on_memory=0x...
2013-10-20 16:54:59 -07:00
Ben Vanik
cddab7ffb0
Fixing free.
2013-10-20 15:28:00 -07:00
Ben Vanik
0c19516de4
Fixing file position default value.
2013-10-20 15:05:09 -07:00
Ben Vanik
e919edfb33
Fix xe_memory_is_valid.
2013-10-20 13:47:58 -07:00
Ben Vanik
9f1d2f29c1
--heap_guard_pages=1 to add guard pages.
2013-10-20 13:42:34 -07:00
Ben Vanik
ca3f2f1367
Malloc inspect in release mode, too.
2013-10-20 12:46:28 -07:00
Ben Vanik
002400d071
Adding memory info dumping utility, use --log_heap.
2013-10-20 12:39:59 -07:00
Ben Vanik
fbea5a6394
Making the GPU counter a vblank counter, not a timer.
2013-10-20 02:00:51 -07:00
Ben Vanik
39adeef2e3
Hiding vertex/index data for now.
2013-10-20 01:59:42 -07:00
Ben Vanik
92899739bd
Index buffer upload.
2013-10-20 00:47:32 -07:00
Ben Vanik
5a80c7b9c1
Hacking shaders to get dummy texture colors and such.
2013-10-20 00:20:36 -07:00
Ben Vanik
737a567de6
Fixing code_addr_low_.
2013-10-19 22:31:08 -07:00
Ben Vanik
889e586cab
Skeleton for new draw type and texture fetching.
2013-10-19 21:49:25 -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
62b792c903
Ignoring a packet I don't care about.
2013-10-19 20:30:36 -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
Ben Vanik
b8edeba195
Actually aligning physical alloc requests.
2013-10-19 18:18:19 -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
Ben Vanik
68d5f33cfa
GPU byte swapping.
...
A lot of other packets likely do this.
2013-10-19 16:29:00 -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
37065255a2
Dispatching interrupts.
2013-10-19 12:50:26 -07:00
Ben Vanik
90bc6ad1a8
Interrupts fire on the right 'thread', ringbuffer work,
2013-10-19 11:50:01 -07:00
Ben Vanik
6db8c6c961
Implementing thread state block access.
2013-10-19 02:53:14 -07:00
gibbed
32a0045001
This is probably better.
2013-10-19 01:18:18 -07:00
Ben Vanik
c60230f28a
Implementing scratch registers correctly (I think).
2013-10-19 01:16:13 -07:00
Ben Vanik
1616d7ba22
WAIT_MEM_REG, REG_RMW (untested), COND_WRITE
2013-10-19 00:46:35 -07:00
Ben Vanik
a63db2b7fd
Dispatch interrupt outside of main pump.
2013-10-19 00:46:11 -07:00
Ben Vanik
562c86f76d
Extending critical sections to spin forever for now.
2013-10-18 21:55:43 -07:00
Ben Vanik
01a94f3850
VdGetSystemCommandBuffer stub.
2013-10-18 21:39:29 -07:00
Ben Vanik
0746e6feb2
ldarx/lwarx/stdcx/stwcx. Probably.
2013-10-18 21:17:20 -07:00
Ben Vanik
f2550bd017
KeEnterCriticalRegion/KeLeaveCriticalRegion.
2013-10-18 19:49:51 -07:00
Ben Vanik
6a02ae3768
KfAcquireSpinLock/KfReleaesSpinLock.
2013-10-18 19:11:37 -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
d3665cc2e6
Support for VS2013 (and auto picking), a Win xb script, and readme updates.
...
This also removes the dependency on D3DX, which is only included in the
DXSDK, meaning that just the Win8+ SDK should be required now.
2013-10-17 23:35:54 -07:00
Ben Vanik
ff54a04aa1
asmjit fixes.
2013-10-17 14:03:26 -07:00
Ben Vanik
20720f750d
KeSetAffinityThread stub, Ob* fns added, current thread handled.
2013-10-17 00:47:02 -07:00
Ben Vanik
7bf6992203
NtSetEvent/NtWaitForSingleObjectEx.
2013-10-16 23:04:52 -07:00
Ben Vanik
1b12949dd2
NtQueryFullAttributesFile.
2013-10-16 22:41:31 -07:00
Ben Vanik
fd1054d823
NtSetInformationFile for seek position.
2013-10-16 22:28:26 -07:00
Ben Vanik
5de9b84904
Fixing line endings.
...
Need to run a script to do this...
2013-10-16 22:22:17 -07:00
Ben Vanik
a41827942e
Some NtQueryInformation classes.
2013-10-16 22:20:24 -07:00
gibbed
956496fb99
Added KeBugCheck and KeBugCheckEx.
2013-10-16 22:08:41 -07:00
Ben Vanik
ab1ba9a508
Partially implemented NtQueryFullAttributes.
...
Enough to get past the ShaderDump test most games seem to do.
2013-10-16 21:32:53 -07:00
Ben Vanik
c53db98517
Locking around some JIT stuff.
...
Excessive for now, but safer.
2013-10-16 21:32:20 -07:00
Ben Vanik
8e37fb8502
Bytes read via ReadFile!
2013-10-16 20:50:46 -07:00
Ben Vanik
fea5c06180
Fixing line endings.
2013-10-16 20:10:16 -07:00
Ben Vanik
ab5b9d75e0
Reworking file system so that it's easier to implement file operations.
2013-10-16 20:09:42 -07:00
gibbed
d5bd8b9d5b
Merge branch 'master' of https://github.com/benvanik/xenia
2013-10-16 19:05:04 -07:00
gibbed
16b0c936d4
Fixed argument size handling in _vsnprintf_shim, like DbgPrint_shim.
2013-10-16 19:04:23 -07:00
gibbed
46b42528fd
Fixed xeRtlFillMemoryUlong so it swaps the pattern back to native endianness.
2013-10-16 19:03:22 -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
803e4998de
Starting to wire up readfile.
2013-10-16 00:23:05 -07:00
Ben Vanik
da2f7f1ea5
Shuffling filesystem to xboxkrnl.
...
This doesn't really change anything yet, just moves things.
Also fixed some bad over-including.
2013-10-15 23:09:51 -07:00
Ben Vanik
26c06e13d9
Checking in intermediate FS work before moving code.
2013-10-15 22:51:19 -07:00
Ben Vanik
a8d10cd9d3
NtClose/NtReadFile skeleton.
2013-10-15 22:28:00 -07:00
Ben Vanik
388f354870
Basic NtCreateFile.
2013-10-15 21:30:57 -07:00
Ben Vanik
f409795dd1
Fixing PM4 type 0 packet parsing.
2013-10-15 20:24:32 -07:00
gibbed
a483704855
Sneaky tabs.
2013-10-15 19:18:28 -07:00
gibbed
d79bd8cfa7
Renamed xboxkrnl_file* to xboxkrnl_nt*, added xboxkrnl_io*.
2013-10-15 19:18:03 -07:00
gibbed
f59ff2e44a
Fixed debug output format for NtCreateFile.
2013-10-15 05:30:25 -07:00
gibbed
5176a7e7c9
Stubbing out some file stuff.
2013-10-15 05:16:05 -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
900252a590
Another dummy XCONFIG value.
2013-10-14 21:48:26 -07:00
Ben Vanik
0b24356080
Skipping unknown form of PM4_EVENT_WRITE_SHD for now.
2013-10-14 21:35:23 -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
8294f22d76
Ignore decommits for now.
2013-10-14 19:06:26 -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
dc804f2471
KeQuerySystemTime/NtCreateEvent.
2013-10-14 17:19:42 -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
e0701905dd
Dummy values that games seem to want.
2013-10-13 22:25:23 -07:00
Ben Vanik
2eed0b1575
Fixing wraparound.
...
This still needs a tremendous amount of cleanup.
2013-10-13 21:18:23 -07:00
Ben Vanik
4887234bba
Fixing ring buffer wrap around. I think.
2013-10-13 13:39:46 -07:00
Ben Vanik
e0af361d74
Preventing (one of likely many) race condition with ringbuffer.
...
This was causing acks for commands not executed if the CPU ran faster
than the GPU.
2013-10-13 12:17:07 -07:00
Ben Vanik
41a652dd03
Manual reset was not the solution. Bah.
2013-10-13 12:09:25 -07:00
Ben Vanik
f49e35636d
Fixing uninitialized members.
...
Wish VC++ warned about this line clang does...
2013-10-13 11:14:46 -07:00
Ben Vanik
c6d779920d
Switch ring buffer wait event to manual reset.
...
Avoids timing issues with kicks.
2013-10-13 11:06:45 -07:00
Ben Vanik
fa4c7cdd83
Wait until the ringbuffer thread is spun up.
...
This could be made much nicer.
2013-10-13 11:06:29 -07:00
Ben Vanik
cc12f0b96a
Periodically fire interrupts.
2013-10-13 11:06:13 -07:00
Ben Vanik
96a857e892
Massively disgusting and incomplete shader translator.
2013-10-12 22:14:23 -07:00
Ben Vanik
0ef278325f
Hacking to get first triangle drawn.
2013-10-12 15:07:34 -07:00
Ben Vanik
83d7523da1
Fixing lvrx.
2013-10-12 15:06:16 -07:00
Ben Vanik
d46069cd47
Various tweaks from gibbed.
2013-10-12 10:57:01 -07:00
Ben Vanik
51b79cb399
Minor fixes.
2013-10-12 03:02:39 -07:00
Ben Vanik
8e01e2d945
Vertex fetching.
2013-10-12 02:29:01 -07:00
Ben Vanik
04aad708c9
Shader type read for translation.
2013-10-11 22:04:34 -07:00
Ben Vanik
1378fad3c0
Basic shader cache.
2013-10-11 21:45:20 -07:00
Ben Vanik
6e4fb87992
D3D11 window up and spinning.
2013-10-11 20:23:58 -07:00
Ben Vanik
611d3bbbeb
Adding in D3D11 GPU skeleton.
2013-10-09 23:18:22 -07:00
Ben Vanik
8558176ee0
Cleaning up the ucode disassembler.
2013-10-09 22:50:44 -07:00
Ben Vanik
14bf4912d1
Fixing CF decode.
2013-10-09 21:15:23 -07:00
Ben Vanik
7b97d475c2
Hacked in shader disassembler.
...
Checking this in before I break it. Has tons of issues.
Turns out the 360 GPU uses an Adreno (rAdeon)-like r2xx shader format.
VC++'s handling of bitfields is absolutely terrible.
2013-10-09 20:28:35 -07:00
Ben Vanik
17be429244
Microcode disassembler skeleton.
2013-10-07 19:58:24 -07:00
Ben Vanik
651954ccae
Starting to drive command buffer actions down to a graphics driver.
2013-10-06 21:09:58 -07:00
Ben Vanik
371075f154
More GPU decoding.
2013-10-06 19:22:02 -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
Ben Vanik
1fecb95512
Switching altivec disasm to die on failure.
2013-10-06 12:35:24 -07:00
Ben Vanik
debf21437e
Untested emulated stvlx/stvrx.
2013-10-06 11:22:35 -07:00
Ben Vanik
e5ca996a08
Xmm read/write cleanup.
2013-10-06 11:21:50 -07:00
Ben Vanik
9ebbc3535f
vsldoi.
2013-10-06 11:21:38 -07:00
Ben Vanik
cdb13775e2
Alignment option in xmm read/write.
2013-10-06 10:25:41 -07:00
Ben Vanik
26e22e2b16
Untested and nasty emulated vperm.
2013-10-06 10:25:30 -07:00
Ben Vanik
2b798df631
lvsl/lvsr/lvlx/lvrx
2013-10-06 09:48:42 -07:00
Ben Vanik
e8429b75e0
Significantly faster byte swapping on xmm read/write.
2013-10-04 22:29:19 -07:00
Ben Vanik
d3bf7813ea
Improve perf of vcmp cr6 update.
2013-10-04 13:32:11 -07:00
Ben Vanik
e2842ea4b4
fmaddsx, fmsubx, fmsubsx, fcmpu.
2013-10-04 10:30:57 -07:00
Ben Vanik
091957e72e
Untested srawx/sradix (makes things run further, at least).
2013-10-04 09:34:36 -07:00
Ben Vanik
0f5d0d992d
vupkd3d d3dcolor (untested).
2013-10-03 21:06:40 -07:00
Ben Vanik
611902a97e
Fixing vspltw and vrlimi.
2013-10-03 20:19:11 -07:00
Ben Vanik
bdb5b0eae2
Fixing alignment of xmm load/store.
2013-10-03 20:18:56 -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
3662118246
vmaddfp/vmaddcfp/vmulfp/vsubfp.
2013-09-29 00:02:25 -07:00
Ben Vanik
5652a150e1
vand/vnor/vor/vxor.
2013-09-28 23:45:16 -07:00
Ben Vanik
526b1a85b7
Simple altivec loads/stores.
2013-09-28 23:14:43 -07:00
Ben Vanik
f398ccba56
Skeleton emitter file.
2013-09-28 19:52:33 -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
b0481472f2
Finally adding thread wait so we kill the spin loop.
2013-09-25 20:55:22 -07:00
Ben Vanik
d16ab71252
Fixing %d print.
2013-09-25 20:28:42 -07:00
Ben Vanik
3e0d9af57e
Placeholders for memory access breakpoints.
2013-09-25 20:13:43 -07:00
Ben Vanik
3706b9a3ce
Ignoring MmFreePhysicalMemory (for now).
...
Games seem to be calling this with 0, which is bogus, so the bug is
elsewhere.
2013-09-25 18:38:18 -07:00
Ben Vanik
536fbbff88
Adding misc Vd functions.
2013-09-25 18:37:30 -07:00
Ben Vanik
3a6ef8cdf9
Fixing VdQueryVideoMode.
2013-09-25 18:37:13 -07:00
Ben Vanik
03a68d4c49
PerformanceCounter.
2013-09-25 18:36:34 -07:00
Ben Vanik
b7fd4f975d
Fixing ringbuffer pointers and no-op instructions.
2013-09-25 00:46:47 -07:00
Ben Vanik
03494c6b88
Stubbing methods and cleanup.
2013-09-25 00:46:29 -07:00
Ben Vanik
91f62918f6
Adding vblank interrupt.
2013-09-25 00:46:09 -07:00
Ben Vanik
998467ce05
Fixing cntlzd.
2013-09-25 00:21:41 -07:00
Ben Vanik
8424a668bf
Basic implementation of events.
2013-09-24 21:26:45 -07:00
Ben Vanik
474ecea277
Adding stubs for SetEvent/ResetEvent.
2013-09-23 22:44:34 -07:00
Ben Vanik
be1ce73a30
Fixing WaitForSingleObject timeout args.
2013-09-23 22:15:43 -07:00
Ben Vanik
d0d30ab719
Implementing object table. Not complete, but better.
2013-09-22 18:36:06 -07:00
Ben Vanik
3e0db586c0
RtlNtStatusToDosError, for successes.
2013-09-22 16:45:41 -07:00
Ben Vanik
d5b8a2091a
Switching tracing order to prevent skipping traces of branch instructions.
2013-09-06 23:21:08 -07:00
Ben Vanik
1a3fed942d
Skeleton for KeWaitForSingleObject.
...
Trying to figure out where D3D is getting its object from. It never seems
to create a timer/event/etc.
2013-06-30 10:27:51 -07:00
Ben Vanik
39ef8d8263
Properly using XapiThreadStartup routines, if present.
2013-06-30 10:27:06 -07:00
Ben Vanik
8d5e877a03
VdGetCurrentDisplayGamma and VdQueryVideoFlags.
2013-06-30 08:21:45 -07:00
Ben Vanik
c9a39a8b62
Dumping module info on startup and logging unimplemented kernel calls.
2013-06-30 07:53:17 -07:00
Ben Vanik
a62426948b
Implementing enough ExGetXConfigSetting for D3D.
2013-06-30 07:52:53 -07:00
Ben Vanik
6f602d120a
Adding thread ID to trace lines and cleaning up their formatting.
2013-06-30 06:09:08 -07:00