Commit Graph

1432 Commits

Author SHA1 Message Date
Ben Vanik 0675282e19 Merge pull request #115 from wszechpolak/write-gamer-tile
Fix XamWriteGamerTile
2014-08-16 14:56:01 -07:00
wszechpolak 1f8cfb6fce Clean 2014-08-16 22:49:50 +02:00
wszechpolak b449e9f5cc Add X_ERROR_FUNCTION_FAILED 2014-08-16 22:49:13 +02:00
wszechpolak 1361fda884 Fix XamWriteGamerTile to make it support both sync/async requests 2014-08-16 22:47:08 +02:00
Ben Vanik e082d085d0 Merge pull request #114 from wszechpolak/write-gamer-tile
Added XamWriteGamerTile - should fix #109
2014-08-16 09:03:22 -07:00
wszechpolak 2f12585af9 Added XamWriteGamerTile - should fix #109 2014-08-16 12:17:43 +02:00
Ben Vanik 66d2336e38 More string conversion. 2014-08-16 02:50:08 -07:00
Ben Vanik a4dfc23abc Working on switching to std::string. 2014-08-16 02:30:23 -07:00
Ben Vanik 01f0b14250 Removing xe_thread_t. 2014-08-16 01:36:45 -07:00
Ben Vanik bca49bed4b Removing xe_mutex_t. 2014-08-16 00:56:50 -07:00
Ben Vanik 96fb484dd9 Removing unused crc32/file code from core. 2014-08-16 00:36:18 -07:00
Ben Vanik c84fcc70a4 Cleaning up kernel namespaces. 2014-08-16 00:25:13 -07:00
Ben Vanik bf48e9fbbd Part 2 of kernel cleanup: merging functions into shims. 2014-08-16 00:11:24 -07:00
Ben Vanik 916dc397ab Part 1 of kernel simplification/cleanup: removing externs. 2014-08-15 22:59:28 -07:00
Ben Vanik 56ce363ac5 Removing export impl. 2014-08-15 22:31:44 -07:00
Ben Vanik 48fbefa75e Fixing warnings/bug in NtQueryVirtualMemory. 2014-08-15 22:27:07 -07:00
Ben Vanik 3de39aaf10 Postmortem debug target now loads/scans the trace and inits the filesystem. 2014-08-15 22:02:10 -07:00
Ben Vanik c275562594 Mostly complete tracing. Probably a lot of bugs. 2014-08-15 22:02:08 -07:00
wszechpolak 50684f8f0d Implemented NtQueryVirtualMemory 2014-08-15 08:14:57 +02:00
wszechpolak b618f38e62 Pass base address without reference 2014-08-14 22:10:11 +02:00
wszechpolak b5826e0e94 Added stub of NtQueryVirtualMemory 2014-08-14 21:37:57 +02:00
Ben Vanik a5a0fd61e2 Full display info struct. 2014-08-08 15:24:48 -07:00
Ben Vanik b02ce5e95e Adding control flow simplification pass to compensate for lack of phi. 2014-08-06 14:19:42 -07:00
Ben Vanik f149a23367 XUsbcamCreate stub. 2014-08-05 13:06:33 -07:00
Ben Vanik b58b7c1783 Debug cleanup. 2014-08-05 12:51:01 -07:00
Ben Vanik 31f886d8d9 Fixing overallocation of thread stacks (expending heap). 2014-08-05 12:05:45 -07:00
Ben Vanik 1d7b08b85b dlmalloc does not fail when it runs out of memory... 2014-08-05 12:05:27 -07:00
Ben Vanik 2854841753 Better XMsg errors. 2014-08-05 10:44:55 -07:00
Ben Vanik 86241d0ae8 XNetCleanup/XNetRandom stubs. 2014-08-05 10:12:15 -07:00
Ben Vanik 3150f41ea0 oh ffs - properly suspending threads on creation. 2014-08-05 09:10:00 -07:00
Ben Vanik 2d4ae9ba64 XAudioEnableDucker 2014-08-04 22:02:28 -07:00
Ben Vanik 4e276695bf XamUserGetDeviceContext 2014-08-04 22:02:19 -07:00
Ben Vanik 8460afadd3 RtlUnicodeStringToAnsiString 2014-08-04 21:54:09 -07:00
Ben Vanik 64d8ee386b XamShowMessageBoxUI (that auto-advances). 2014-08-04 20:24:08 -07:00
Ben Vanik 66d2a8aec2 Setting XMA pointer to make errors clearer. 2014-08-04 18:55:00 -07:00
Ben Vanik e6275691cb KeEnableFpuExceptions stub. 2014-08-04 15:46:52 -07:00
Ben Vanik 296bb5c87a Dummy IRQL stuff to silence warnings. 2014-08-04 15:39:42 -07:00
Ben Vanik fd95858516 XamUserCheckPrivilege 2014-08-04 15:01:39 -07:00
Ben Vanik a98b9458b6 Adding XamVoice stubs. 2014-08-04 14:56:34 -07:00
Ben Vanik 35885f761c Misc fixes (overlapped IO, etc). 2014-08-03 22:25:38 -07:00
Ben Vanik 0a9d936f1e Better faking of the user profile. 2014-08-03 21:26:10 -07:00
Ben Vanik 57dda9c755 Factoring out XMsg app stuff. 2014-08-03 14:38:04 -07:00
Ben Vanik 19149bbba6 Stubbed out enumeration. 2014-08-02 21:37:11 -07:00
Ben Vanik f04c7b8661 ExAllocatePoolTypeWithTag 2014-08-02 16:23:02 -07:00
Ben Vanik 3f2baafb4b mmap, but ehh virtualquery... 2014-08-01 21:43:52 -07:00
Ben Vanik 4ad7662ef7 Fixing MMIO build on Windows. 2014-08-01 20:29:57 -07:00
Ben Vanik 0129a96225 Cross-platformizing MMIO stuff.
MSVC build likely needs some fixes.
2014-07-29 22:12:39 -07:00
Ben Vanik 0c5110ac3e Fixing warnings. 2014-07-17 20:52:56 -07:00
Ben Vanik ec4f41fec4 Moving byte order/memory access to poly. 2014-07-17 19:20:17 -07:00
Ben Vanik ce70978ef6 Starting to split up alloy/core.h. 2014-07-14 19:18:42 -07:00
Ben Vanik e9284dfaed More C++11ification. 2014-07-13 22:28:00 -07:00
Ben Vanik 0a250d5e91 C++11ing some things. 2014-07-13 21:53:31 -07:00
Ben Vanik 29e4c35c38 Removing alloy::tracing, as it's unused. 2014-07-13 21:25:58 -07:00
Ben Vanik 9437d0b564 Sprucing up some of alloy. 2014-07-13 21:15:37 -07:00
Ben Vanik 48425da8ff Sandbox getting close to running. 2014-07-12 22:59:16 -07:00
Ben Vanik 7ee79318e8 Fixing a bunch of alloy clang issues. 2014-07-12 21:52:33 -07:00
Ben Vanik 9b78dd977b Migrating atomic ops to std::atomic where possible and poly. 2014-07-12 17:48:54 -07:00
Ben Vanik bf882714d0 Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
Ben Vanik 1d54342930 Starting to cleanup includes a bit. Still a mess. 2014-07-11 18:03:35 -07:00
Ben Vanik 9031d5f4a4 Fix clang warnings / move some plat code into poly. 2014-07-10 22:51:27 -07:00
Ben Vanik c5f114018e Replacing alloy::Mutex with std::mutex. 2014-07-09 22:28:51 -07:00
Ben Vanik 6b197c4c92 Removing the debugger and dependencies. Needs rethinking. 2014-07-09 21:21:40 -07:00
Ben Vanik 0950e9f53c Calm some games down that hammer XMPGetStatus. 2014-07-08 16:02:42 -07:00
Ben Vanik eb7987a634 Setting default output values for pixel shaders. 2014-07-08 16:02:42 -07:00
Ben Vanik a5627ee25a Hide lock logging. 2014-07-03 12:59:08 -07:00
Ben Vanik 824d3c246f Prevent null/broken shaders from dying in d3dcompiler. 2014-07-03 12:58:56 -07:00
Ben Vanik 3b853f6201 WSAStartup tweak. 2014-07-03 12:58:27 -07:00
Ben Vanik a0cb341662 Trying really hard to keep games from spinning up networking. 2014-07-02 21:57:21 -07:00
Ben Vanik d5f27dbf34 Better arg passing for Execute and experimenting with APCs. 2014-07-02 15:39:49 -07:00
Fire30 15be1061d3 Fixed arguments for NetDll_send. 2014-07-02 18:17:09 -04:00
tj 13b3fa6f84 Fixed typo in NetDll_setsockopt logging. 2014-06-24 00:38:14 -04:00
Ben Vanik 4009eb1cd8 Fail out of XamContentCreateEnumerator. 2014-06-22 21:19:48 -07:00
Ben Vanik 9905380bd0 Steal one page of physical heap - this helps catch virt underflows. 2014-06-22 21:09:33 -07:00
Ben Vanik 7b98c748fa Fixing double allocation of memory x_x 2014-06-22 21:03:41 -07:00
Ben Vanik 71eb408d67 Various fiddlings. 2014-06-22 19:41:26 -07:00
Ben Vanik da590bd9cc Disable logging for TlsGetValue. 2014-06-20 20:44:53 -07:00
Ben Vanik 7936fa2dbd Fix constants in pixel shaders. 2014-06-20 20:44:39 -07:00
Ben Vanik 3845437276 Fix assert to allow 16 fetchers. 2014-06-10 21:06:36 -07:00
Ben Vanik 829b4f67bf ReadFile EOF. 2014-06-10 20:40:11 -07:00
Ben Vanik 95508273f6 Misc experimentation. 2014-06-08 23:11:09 -07:00
Ben Vanik 43a3b4f3c0 Support constant value movs to mmio memory. 2014-06-08 22:21:23 -07:00
Ben Vanik 264fc7cc91 Fix assert. 2014-06-08 22:21:05 -07:00
Ben Vanik 6e76c169d6 Proper(ish) VdSwap - fixes a bunch of things.
Caching is working a bit better, now.
2014-06-08 21:24:29 -07:00
Ben Vanik 8337820500 Fiddling with interrupt triggering - still not right. 2014-06-08 11:59:57 -07:00
Ben Vanik daa8a24173 Caching states. 2014-06-08 11:51:53 -07:00
Ben Vanik 6514eaa780 Disabling paged resource caching for now, as it's broken. 2014-06-08 11:25:10 -07:00
Ben Vanik 295910c3d8 Initial refactoring of gpu/.
Runs too fast - now there are ringbuffer wrapping issues.
2014-06-08 11:23:55 -07:00
Ben Vanik 4072640a64 Skeleton of new shared GPU files. 2014-06-02 19:24:33 -07:00
Ben Vanik beb5ee40ee Dirty page table. Not yet used. 2014-06-02 07:49:45 -07:00
Ben Vanik ddbebcda6c Cleanup memory. 2014-06-02 07:11:27 -07:00
Ben Vanik 0e3854555d Pure dynamic MMIO access. Prep for more complex GPU memory management. 2014-06-01 23:36:18 -07:00
Ben Vanik 3a8065b7b1 Vertex buffer caching.
Doesn't help, though, as buffers are weird. Need to rethink all of this.
2014-06-01 09:42:07 -07:00
Ben Vanik 2d173ea62b Caching index buffers. 2014-05-31 22:26:39 -07:00
Ben Vanik 19c48c7a90 Partial texture cache - doesn't invalidate yet. 2014-05-31 17:38:32 -07:00
Ben Vanik 529a1478d8 Sampler state caching. 2014-05-31 16:34:05 -07:00
Ben Vanik 6607606b15 Moving texture code into shared/separate files. Leaking a lot. 2014-05-31 15:42:21 -07:00
Ben Vanik e45fc3dc56 Reducing profiling forced swap frequency. 2014-05-31 08:13:13 -07:00
Ben Vanik 6c92e6a5c5 Increasing microprofile stack size, as some of these trees are deep. 2014-05-30 11:44:24 -07:00
Ben Vanik 0267efa5cc Always swapping the graphics system so that we see the profiler update. 2014-05-30 06:50:07 -07:00
Ben Vanik 328ece538a Fixing disabled profiling. 2014-05-28 21:46:43 -07:00
Ben Vanik 997f582d1f Removing useless counters. 2014-05-28 20:32:50 -07:00
Ben Vanik 18b1f9f513 Fixing controller input. 2014-05-28 20:19:28 -07:00
Ben Vanik c06526e5df Backpatch function addresses. 2014-05-28 20:02:40 -07:00
Ben Vanik c1812406f5 Adding a bunch of profiling tracers. 2014-05-28 19:19:39 -07:00
Ben Vanik beb9bd11f0 Microprofile integration. 2014-05-28 13:59:43 -07:00
Ben Vanik 6486e0a48e Profiler skeleton. 2014-05-27 22:54:40 -07:00
Ben Vanik a001714fb0 Adding lock to stdout logging. Disable with --fast_stdout.
Fixes #78.
2014-05-21 11:24:44 -07:00
Anthony Pesch 60a7e79e1a assume c++11
clang didn't like static members in anonymous structures, gave them names
WriteEvent template wouldn't resolve for temporary values without const decl in clang
added a few missing headers
added -fno-operator-names for xbyak compilation under gcc/clang
2014-05-14 00:35:21 -07:00
Shawn Hoffman 1e196df4b3 Fix spelling of GetLogicalProcessorInformation in GetProcAddress call - spelling actually matters here. 2014-03-28 21:48:20 -07:00
Ben Vanik 24fc5acb07 Partially implemented Windows keyboard HID for testing. 2014-02-23 16:36:17 -08:00
Ben Vanik 4a584129d2 A probably-working register allocator. 2014-02-10 21:16:38 -08:00
Ben Vanik ee69696485 Hiding some D3D11 log spew. 2014-02-06 22:18:44 -08:00
Ben Vanik ef5f59ed0b I seem to relearn blr != return once every month or so. 2014-02-02 14:35:16 -08:00
Ben Vanik b1ab2fb0a7 That was a terrible idea. Let us never speak of it again. 2014-02-01 00:41:36 -08:00
Ben Vanik 10c9537836 Swapping register values. 2014-02-01 00:05:21 -08:00
Ben Vanik f85b83709e Refactoring of function types. Also fixes some library import bugs. 2014-01-30 00:22:55 -08:00
Ben Vanik 7fe0a10d43 Adding back --break_on_instruction. 2014-01-26 11:16:55 -08:00
Ben Vanik ecf0988ddb Removing SET_RETURN_ADDRESS - hopefully it'll never be needed again. 2014-01-26 01:18:59 -08:00
gibbed 93d61d02d7 Note about DXGI_FORMAT_B4G4R4A4_UNORM being Windows 8 only. 2014-01-25 06:15:02 -08:00
gibbed 2f8f893977 Don't need to create the mastering voice with with an explicit number of channels or sample rate. 2014-01-25 04:50:47 -08:00
gibbed 47c71d702a Audio system overhaul for support of multiple audio drivers. 2014-01-25 03:18:22 -08:00
gibbed b6c831c7ec Wait for graphics driver to complete initialization before continuing. 2014-01-24 23:00:05 -08:00
Ben Vanik 8ae6053d0f Deleting LIR and such, wiring up for HIR->x64. 2014-01-24 22:26:15 -08:00
gibbed 764d0b89f5 Fixed fetching of non-tiled textures that don't have a pitch that is a multiple of 256 bytes. 2014-01-24 11:09:38 -08:00
gibbed 3a7aaadbd8 TextureSwap now swaps XE_GPU_ENDIAN_8IN32. 2014-01-24 00:06:10 -08:00
Ben Vanik dfbbefa97f Asserting byte swapped vbs. 2014-01-23 23:58:23 -08:00
Ben Vanik f36e6cd820 Removing JSON dumps. 2014-01-23 20:31:26 -08:00
gibbed 44847e9042 Moved QueryVolume and QueryFileSystemAttributes to Device from Entry. 2014-01-23 11:23:26 -08:00
gibbed bcf75a1b98 NtQueryVolumeInformationFile. 2014-01-22 17:55:23 -08:00
gibbed 6671908375 QueryVolume, QueryFileSystemAttributes stubs with accompanying XVolumeInfo and XFileSystemAttributeInfo. Needs further improvement. 2014-01-22 17:54:10 -08:00
gibbed 61093245a5 Gah. 2014-01-22 09:47:43 -08:00
gibbed 4aeb978d89 FMT_1_5_5_5. 2014-01-22 09:45:57 -08:00
gibbed 4b70b578fd Removed hack from XE_GPU_ENDIAN_8IN16. 2014-01-22 09:45:33 -08:00
Ben Vanik 489154e548 Ignore requests for kernel32.dll 2014-01-21 21:03:27 -08:00
Ben Vanik b6d7ccfb03 Adding an ExConfig setting. 2014-01-21 20:09:39 -08:00
gibbed 302111afbf Fixed writing of too much data. 2014-01-21 19:09:07 -08:00
gibbed 1091c171b2 Maybe this will work? 2014-01-21 18:53:35 -08:00
gibbed d1005e1a34 XamShowDeviceSelectorUI. Pretends success. Probably bad, but it'll do for now. 2014-01-21 18:19:50 -08:00
gibbed a9dfe13799 Further improvements to FetchTexture2D. 2014-01-21 18:19:50 -08:00
Ben Vanik 58db76c42c Pay no attention to the man behind the curtains. 2014-01-21 18:14:36 -08:00
Ben Vanik 1316e79a2f Fixing missing field. 2014-01-21 18:12:18 -08:00
Ben Vanik 7d8aaaaea7 Texture wrapping modes. 2014-01-21 08:31:25 -08:00
gibbed 3a2c2beca4 Not sure if this is correct, seems to work. 2014-01-21 02:36:24 -08:00
gibbed 801758fc2f Oops. 2014-01-21 01:54:54 -08:00
gibbed 01b00118d4 Further improvements to FetchTexture2D. 2014-01-21 01:54:34 -08:00
gibbed efa7199974 XE_GPU_SWIZZLE_000R. 2014-01-21 01:51:56 -08:00
gibbed 9507960829 Oops. Don't need that. 2014-01-21 00:51:56 -08:00
gibbed d75f4989a8 - Tiled texture support (largely untested).
- Maybe fixed FMT_8.
- Improved swapping of source texture data.
2014-01-21 00:50:18 -08:00
Ben Vanik 44c15342f5 Swizzling some textures. 2014-01-21 00:31:24 -08:00
Ben Vanik 175e21bea1 Texture filtering (mostly). 2014-01-20 23:45:45 -08:00
Ben Vanik c660b5e4d1 Making the invalid texture bright green. 2014-01-20 22:38:07 -08:00
gibbed e02c5157ef Then I broke DXT3. Fixed DXT3 and DXT5. For real this time. 2014-01-20 20:29:45 -08:00
gibbed 2bda51f5ec Fixed DXT5. 2014-01-20 20:28:42 -08:00
gibbed e66390ae93 - Proper copying of texture data.
- Support for DXT3, DXT5, 32 float, 16 16 16 16 float.
- Only pad textures for formats that require it.
2014-01-20 20:14:47 -08:00
Ben Vanik 74aac97b3e FMT_8 2014-01-20 17:54:19 -08:00
gibbed ccfb82d883 Better texture copying. And possible support for DXT1. 2014-01-20 17:49:26 -08:00
Ben Vanik 26a2ed4d75 Fixing shaders. 2014-01-20 17:45:26 -08:00
Ben Vanik 094e165415 Fixing copy. 2014-01-20 17:00:17 -08:00
Ben Vanik 3c98e65997 Fixing texture size. 2014-01-20 16:41:21 -08:00
Ben Vanik 67cc57e918 Whoops. Re-enabling blending. 2014-01-20 16:11:55 -08:00
Ben Vanik 37ed238186 Fixing texture sizing (maybe). Need to do a custom slicing bit, probably. 2014-01-20 16:10:56 -08:00
Ben Vanik cd72bc33a3 Texture sampling in shaders. 2014-01-20 16:05:34 -08:00
Ben Vanik 4de33a6e2d Making texture fetching split from samplers. 2014-01-20 15:36:33 -08:00
Ben Vanik af223b2067 Textures part 1: uploading. 2014-01-20 13:57:22 -08:00
Ben Vanik e469d87678 Detect write to psize and include conditionally. 2014-01-20 11:07:14 -08:00
Ben Vanik 0efd7b4a62 Moving viewport transform to vertex shaders. 2014-01-20 10:46:43 -08:00
gibbed 7b9a804fc0 vsprintf. 2014-01-20 10:15:53 -08:00
gibbed 5a5a93d62d This seems to work. Perhaps cache in the future? 2014-01-20 07:41:11 -08:00
gibbed 8e5da8d853 Oops. 2014-01-20 07:30:18 -08:00
gibbed 592b1974f2 Corrected stack access in XamUserReadProfileSettings. 2014-01-20 06:08:49 -08:00
gibbed 6d7b25a338 Minor corrections to NtCreateFile, NtQueryDirectory. 2014-01-20 06:08:24 -08:00
gibbed c673d55c1e Corrected XFileXctdCompressionInformation handling. Needs to be further corrected in the future. 2014-01-20 06:05:36 -08:00
gibbed e5e6a2cea6 Corrected X_FILE_INFORMATION_CLASS definition. 2014-01-20 06:01:36 -08:00
Ben Vanik f5eefb138c Geometry shaders now support disabled viewports. 2014-01-20 03:42:05 -08:00
Ben Vanik e5d4cdd66d Fixing XamInputSetState. 2014-01-20 02:36:23 -08:00
Ben Vanik 58504d8c0b Initial pass at pointsprites. Needs a lot more work. 2014-01-20 01:13:37 -08:00
Ben Vanik ea5a6e19dd Disabling culling for rect lists. 2014-01-20 00:45:16 -08:00
Ben Vanik 1cd518b19c Geometry shader work for rect lists and quad lists. 2014-01-20 00:18:14 -08:00
Ben Vanik bcea3e00f1 Point size output from VS. 2014-01-19 16:41:52 -08:00
Ben Vanik 55fe3aca05 RECIP_IEEE. 2014-01-19 11:07:12 -08:00
Ben Vanik cb3f2308af Fixing shaders that fetch constants. 2014-01-19 10:29:34 -08:00
gibbed 8f4950bb6c Corrected overlapped_ptr stack location in XamUserReadProfileSettings. 2014-01-19 10:16:12 -08:00
gibbed e0c652b075 Pretend XMACreateContext succeeded. 2014-01-19 09:47:07 -08:00
gibbed 7e22d3be92 - Renamed SHIM_SET_RETURN macro to SHIM_SET_RETURN_64.
- Added SHIM_SET_RETURN_32 macro, which sign-extends to 64-bit.
- Updated all uses of SHIM_SET_RETURN to the appropriate macro (either SHIM_SET_RETURN_32 or SHIM_SET_RETURN_64).
2014-01-19 07:24:16 -08:00
gibbed 870a59f225 Turns out NtQueryDirectoryFile only returns a single entry at a time. 2014-01-19 06:57:43 -08:00
gibbed c7276454d7 Added file_name argument to QueryDirectory. 2014-01-19 02:05:51 -08:00
Ben Vanik 71de4e77dc Fixing memory leak and zeroing on alloc. 2014-01-19 01:51:57 -08:00
Ben Vanik 268bbf105d QueryDirectory for STFS. 2014-01-19 01:47:06 -08:00
gibbed 7da2ad30b0 absolute_path for XFile and Entry. 2014-01-19 01:28:34 -08:00
Ben Vanik b62134855a XMsgCancelIORequest shim. 2014-01-19 01:08:28 -08:00
Ben Vanik 0bc49621d4 Properly parsing resource infos and implementing XexGetModuleSection. 2014-01-19 00:53:22 -08:00
gibbed d22b59555e Fixed QueryDirectory for DiscImageFile and STFSContainerFile. 2014-01-19 00:52:17 -08:00
gibbed 124b419b6b Added name() and path() to XFile. 2014-01-19 00:51:08 -08:00
gibbed 8b27354dcb Stubbed handling of root_directory. 2014-01-19 00:24:59 -08:00
gibbed 1277325603 Stubbed QueryDirectory on STFSContainerEntry. 2014-01-19 00:07:48 -08:00
gibbed f306db970d Merge branch 'master' of https://github.com/benvanik/xenia 2014-01-18 23:45:48 -08:00
gibbed 8be076df32 Disabled assert for file name in NtQueryDirectoryFile. 2014-01-18 23:45:32 -08:00
gibbed 67e73cb33d Added support for restart scan argument to NtQueryDirectoryFile. 2014-01-18 23:44:39 -08:00
Ben Vanik 50a692d20f Allowing STFS v2 with a warning. 2014-01-18 23:41:40 -08:00
Ben Vanik 5319b31829 GetModule(NULL). 2014-01-18 23:41:40 -08:00
gibbed 8536425d76 Remove comment about file paths. And don't recompute file name length. 2014-01-18 23:41:04 -08:00
gibbed 0db3577a84 Added QueryDirectory to Entry. 2014-01-18 23:40:22 -08:00
gibbed 6386fe50c2 QueryDirectory for DiscImageEntry. Untested. 2014-01-18 23:40:01 -08:00
gibbed 5fa82364ba Better handling for bad library import string table indices. 2014-01-18 23:24:50 -08:00
Ben Vanik c11711681f Actually fixing STFS. 2014-01-18 23:20:32 -08:00
Ben Vanik 0581d8eb07 Fixing STFS reading. 2014-01-18 22:49:26 -08:00
Ben Vanik 6b633e4e28 STFS loading... xex's load, but files seem broken. Ugh. 2014-01-18 22:23:26 -08:00
gibbed 69320ed94b xam_net cleanup. 2014-01-18 10:39:19 -08:00
gibbed 29fa0709ec XamContentCreateEnumerator stub. 2014-01-18 10:35:17 -08:00
gibbed d029ce978e Fixed NtWaitForSingleObjectEx. Third time's the charm? 2014-01-18 08:18:25 -08:00
gibbed e2b2d0562e Fixed NtWaitForSingleObjectEx. Again. 2014-01-18 08:00:16 -08:00
gibbed 1b57d2ee85 NtWaitForMultipleObjectsEx. 2014-01-18 07:57:51 -08:00
gibbed 6c5a6919ee Fixed NtWaitForSingleObjectEx. 2014-01-18 07:57:15 -08:00
gibbed d9984a15c5 Macros for 8-bit GPR/MEM access. 2014-01-18 07:55:24 -08:00
gibbed 137230bbef Fixed copy-pasted comment. 2014-01-18 06:08:35 -08:00
gibbed 7cb71c6b9f do { 2014-01-18 06:07:15 -08:00
gibbed 40178cb22d Minor changes to APU. 2014-01-18 06:06:34 -08:00
gibbed 619b9758a0 NtQueryDirectoryFile and necessary backing. Not fully functional yet. 2014-01-18 05:59:22 -08:00
Ben Vanik c257ad0122 Work on D3D11 for various state settings. This code sucks. Needs a rewrite. 2014-01-18 01:50:31 -08:00
Ben Vanik a7db0f0410 Fixing component access on vfetch. 2014-01-18 01:38:11 -08:00
Ben Vanik 7bdd973935 Proper vertex format input type in shaders. 2014-01-18 01:08:45 -08:00
Ben Vanik 946397cc8c Fixing warnings. 2014-01-18 00:13:03 -08:00
Ben Vanik 99c72f24f2 Better vertex buffer construction, supporting packed data. 2014-01-18 00:12:57 -08:00
gibbed ba9d343c51 RtlUnicodeToMultiByteN. 2014-01-17 21:13:09 -08:00
gibbed 3b151b21ad NtOpenFile. Duplicated mostly from NtCreateFile's implementation. Probably wrong. 2014-01-17 19:45:56 -08:00
gibbed 5cdae4cee4 Fixed cast for %p. 2014-01-17 19:18:35 -08:00
gibbed 4fa3efd2b6 Corrected implementation of %s for _vswprintf. 2014-01-17 19:15:58 -08:00
gibbed 373d8a3eb8 Corrected implementation of %n. 2014-01-17 19:10:33 -08:00
gibbed a6e1095cbc Fixed some formatting and a cast. 2014-01-17 18:57:56 -08:00
gibbed dbaa47a851 Whoops. Memory leak. 2014-01-17 18:48:47 -08:00
gibbed 441013770d Return value of _vsnprintf and _vswprintf should not be counting the null terminator. 2014-01-17 18:48:02 -08:00
gibbed cd8c081ee6 _vswprintf. Also moved _vsnprintf and _vswprintf to its own file. 2014-01-17 18:46:56 -08:00
Ben Vanik 7641a5bfed Logging nice fatal errors when dying, w/ a msgbox when not in a console. 2014-01-16 22:16:06 -08:00
Ben Vanik 4741e3581a Support redirecting stdout/stderr to the launching console. 2014-01-16 21:43:25 -08:00
Ben Vanik ffcd687ef6 Played with making xenia-run a Win32 app, but then logging stops working... 2014-01-15 21:58:09 -08:00
Ben Vanik 2a7f3de1c3 Moving shutdown logic to Emulator. 2014-01-15 07:31:21 -08:00
Ben Vanik 991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00
Ben Vanik e7d61f4b1f Removing use of runloop from audio system. 2014-01-14 19:52:32 -08:00
Ben Vanik 81226db1b4 Fixing broken instruction decoding. 2014-01-13 23:24:28 -08:00
Ben Vanik faa75c9407 Making debug info toggles a flag to allow finer control. 2014-01-13 21:12:10 -08:00
Ben Vanik d73aa419d1 Better returns for XAudio. 2014-01-13 20:50:56 -08:00
gibbed e1bb5bc860 Oops. 2014-01-13 02:49:30 -08:00
gibbed c1b71ce1db Merge branch 'master' of https://github.com/benvanik/xenia
Conflicts:
	src/xenia/apu/xaudio2/xaudio2_audio_system.cc
2014-01-13 02:46:50 -08:00
gibbed f47ebb5010 More XAudio2 junk. 2014-01-13 02:45:18 -08:00
Ben Vanik 6f09c12bc2 Creating mastering voice with the right params. 2014-01-13 01:06:30 -08:00
gibbed 24e857cc03 Small fix to waveformat. 2014-01-13 01:00:06 -08:00
Ben Vanik dccdc00735 Tweaking audio params. 2014-01-13 00:45:09 -08:00
Ben Vanik 133cbedad8 Replacing exit with assert, as exits are hard to find. 2014-01-13 00:33:40 -08:00
gibbed d30f4b25b9 Oops. 2014-01-13 00:25:10 -08:00
gibbed 74d26b2814 Still wrong, but... 2014-01-13 00:23:29 -08:00
Ben Vanik f6ca6cced8 Audio engine now blocking when buffers are full. 2014-01-13 00:20:53 -08:00
Ben Vanik 20ad328e4a Removing AudioDriver. 2014-01-13 00:05:08 -08:00
Ben Vanik ae5b87ea2a Enable xaudio error logging. 2014-01-13 00:01:51 -08:00
Ben Vanik 4f552da6c4 Inefficient, but pumping audio. 2014-01-12 23:52:55 -08:00
Ben Vanik ab9d384813 Passing samples. 2014-01-12 23:43:58 -08:00
gibbed edb1633fc9 XAudio2 APU stub. 2014-01-12 23:23:55 -08:00
Wszechpolak 8dfb2b1efb Adding stubs of NetDll functions 2014-01-13 05:04:01 +01:00
Ben Vanik d224dd94c1 Fixing log_heap printing a bit, though damn this stuff is nasty. 2014-01-12 15:43:54 -08:00
Ben Vanik eb5d7e0f31 Comments. 2014-01-12 14:43:59 -08:00
Ben Vanik 6129e1eb7a Simplifying macros to fix VS' broken preprocessor. 2014-01-12 14:06:00 -08:00
Ben Vanik 123444078f Fixing warning. 2014-01-12 13:52:50 -08:00
Ben Vanik c7c83ea900 Fixing --log_heap 2014-01-12 11:09:52 -08:00
Ben Vanik e2a218ad2a Removing bad assert. 2014-01-12 10:48:27 -08:00
Ben Vanik adc98914b8 XAudioGetVoiceCategoryVolumeChangeMask 2014-01-12 03:35:49 -08:00
Ben Vanik ecbd2c7e89 Pushing audio samples through. 2014-01-12 02:39:47 -08:00
Ben Vanik dbf1aa182e Fixing WaitForMultipleObjects 2014-01-12 02:34:22 -08:00
Ben Vanik 127595b48a Issuing audio driver callbacks from their own thread. 2014-01-12 02:07:17 -08:00
Ben Vanik 4688d5e600 Starting work on audio. 2014-01-12 01:27:41 -08:00
gibbed 6c62b2796a RtlMultiByteToUnicodeN. 2014-01-12 00:22:43 -08:00
Ben Vanik bd74c544c6 XMsgInProcessCall stubbed for a few xmp messages games check on startup. 2014-01-11 23:41:57 -08:00
Ben Vanik 61e873cd31 Starting work on APCs, though nothing is hitting them yet. 2014-01-11 22:12:05 -08:00
Ben Vanik c50fbafbd9 Start of DPCs. Queuing them, but not yet dispatching. 2014-01-11 21:40:23 -08:00
Ben Vanik 27d4938cc2 KeAcquireSpinLockAtRaisedIrql/etc. 2014-01-11 21:38:56 -08:00
Ben Vanik dc496e8102 Unifying kernel modules and user modules to XModule. XexLoadImage/etc. 2014-01-11 17:24:34 -08:00
Ben Vanik 27a8e09b51 Depth stencil state. 2014-01-10 01:25:50 -08:00
Ben Vanik 0cb4a2e415 Fixing input. 2014-01-09 20:06:30 -08:00
Ben Vanik eef08db16d Returning fake user status. 2014-01-08 23:00:26 -08:00
Ben Vanik 5644f0fd40 KeQueryBasePriorityThread and implementing Set. 2014-01-08 22:22:34 -08:00
Ben Vanik a8ade5d33b Stubs for launch data. 2014-01-07 23:47:35 -08:00
Ben Vanik a09b587fc7 NtYieldExecution. 2014-01-07 23:38:14 -08:00
Ben Vanik de140796a5 RtlTimeToTimeFields / RtlTimeFieldsToTime. TZ may be wrong. 2014-01-07 23:16:31 -08:00
Ben Vanik 73200ff0bc Timers were wrong. Fixing. 2014-01-07 22:47:35 -08:00
Ben Vanik 5a4f738a37 Dummy ExRegisterTitleTerminateNotification. 2014-01-07 21:55:46 -08:00
Ben Vanik cfe7b2127d Timers. Probably. 2014-01-07 21:55:32 -08:00
Ben Vanik 1357a798ef RtlRaiseException handling thread naming. But needs issue #54. 2014-01-07 20:55:13 -08:00
Ben Vanik 5fd0b211ce Thread ID lookup and naming. 2014-01-07 20:54:47 -08:00
Ben Vanik 20b76b0e59 Not sure why NtQueryVolumeInformationFile was always set to fail. 2014-01-07 19:44:49 -08:00
Ben Vanik c0fe77282f FscSetCacheElementCount stub. 2014-01-07 19:44:30 -08:00
Ben Vanik e893d03962 XFileMailslotSetInformation stub. 2014-01-07 18:52:26 -08:00
Ben Vanik 5019f350f8 Mutants. 2014-01-07 18:32:55 -08:00
Ben Vanik 40ca0bcb76 NtSignalAndWaitForSingleObjectEx (untested). 2014-01-07 00:28:48 -08:00
Ben Vanik 9aa2f204f5 PulseEvent. Surprised anyone uses this. 2014-01-06 23:57:12 -08:00
Ben Vanik 469ea9451d NtSuspendThread. 2014-01-06 23:23:27 -08:00
Ben Vanik 8033c73f41 Stubbing KeLockL2. 2014-01-06 23:19:26 -08:00
Ben Vanik de113a4a05 Adding thread stack padding. 2014-01-05 16:22:49 -08:00
Ben Vanik 0f95864b8d NtDuplicateObject. 2014-01-05 15:56:37 -08:00
Ben Vanik e8ca05ca0a MmQueryAllocationSize. 2014-01-05 11:19:02 -08:00
Ben Vanik cbf4a9b519 Dummy MmQueryStatistics. 2014-01-05 11:13:16 -08:00
Ben Vanik c5b0a4e22b VdShutdownEngines stub. 2014-01-05 11:06:08 -08:00
Ben Vanik de1049d39d XamResetInactivity/XamEnableInactivityProcessing. 2014-01-05 10:35:50 -08:00
Ben Vanik e41a06ddd8 Removing assert. 2014-01-05 03:16:07 -08:00
Ben Vanik d2a74f9211 Actually hooking up the audio functions... 2014-01-05 02:08:03 -08:00
Ben Vanik 177670d866 XAudioGetVoiceCategoryVolume & XAudioGetSpeakerConfig. 2014-01-05 02:05:00 -08:00
Ben Vanik 79a08bcdf1 XNotifyPositionUI stub. 2014-01-05 02:04:16 -08:00
Ben Vanik bb41ab717b KeWaitForMultipleObjects. 2014-01-05 01:49:10 -08:00
Ben Vanik 372fd97821 Moving Wait() to XObject base. 2014-01-05 01:22:08 -08:00
Ben Vanik 8bba532f25 ExTerminateThread and NtReleaseSemaphore. 2014-01-05 01:08:30 -08:00
Ben Vanik b7f83f4154 XamUserGetSigninInfo, NtCreateSemaphore, busted error codes. 2014-01-05 00:48:00 -08:00
Ben Vanik 29208a7fae Fixing broken spinlock. 2014-01-05 00:28:59 -08:00
Ben Vanik 9f1a3795b7 Fixing up license stuff. 2014-01-04 23:57:39 -08:00
Ben Vanik 6f7855817e Dummy XamuserReadProfileSettings. 2014-01-04 23:37:17 -08:00
Ben Vanik 21efe58254 Fix XInput query. 2014-01-04 22:41:23 -08:00
Ben Vanik 9b02cfb560 XInputGetKeystroke/Ex. 2014-01-04 22:38:56 -08:00
Ben Vanik 4d92720109 Moving all kernel files around just to fuck with whoever's keeping track ;) 2014-01-04 17:12:46 -08:00
Ben Vanik aad4d7bebf In progress XNotify stuff. Going to merge xam/xboxkrnl next. 2014-01-04 16:18:16 -08:00
Ben Vanik 2a1d1d55d7 XamGetSystemVersion = 0 to stop dynamic kernel function loading (for now). 2014-01-04 14:12:23 -08:00
Ben Vanik fc074fefe9 XNetGetEthernetLinkStatus = 0 to stop games from trying to use the net. 2014-01-04 14:12:01 -08:00
Ben Vanik 90ff8e590f Probably correct semaphore object. 2014-01-04 13:56:38 -08:00
Ben Vanik eff46a9d0b Dummy KeSetBasePriorityThread. 2014-01-04 13:40:01 -08:00
Ben Vanik 8fd9aaa257 KeResumeThread. 2014-01-04 13:38:33 -08:00
Ben Vanik 615229bd87 Minor fixes and debug helpers to track externs. 2014-01-04 13:20:19 -08:00
Ben Vanik 93ea56179a Moving LoadAcquire/StoreRelease behavior up into HIR. 2014-01-04 00:50:48 -08:00
Ben Vanik 7969349126 Fixing some shutdown code. 2014-01-02 18:58:44 -08:00
Ben Vanik 125e7278c6 Ugh. Replacing the fancy templates with hand coded sequences for now. 2014-01-02 00:00:14 -08:00
Ben Vanik 5bc74313e3 Fixing broken instruction offsets on block splits. 2013-12-27 15:00:34 -08:00
Ben Vanik aa021d22dd --wait_for_debugger 2013-12-26 17:51:46 -08:00
Ben Vanik 85dec3bf44 Fixing unused member and duplicate member. 2013-12-25 20:43:23 -08:00
Ben Vanik 5fef117aa0 Register display. 2013-12-25 20:14:41 -08:00
Ben Vanik a1da55a006 Threads displayed. 2013-12-25 17:31:53 -08:00
Ben Vanik d368e0cb74 Caching function list and only sending deltas. 2013-12-25 07:00:42 -08:00
Ben Vanik 20249c2290 Disabling UI when offline. 2013-12-25 06:43:08 -08:00
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 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 60015afdc4 Misc fixes. 2013-12-08 16:00:55 -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 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
Ben Vanik 052c70efce Fixing broken opcode 63 stuff. 2013-06-02 12:01:43 -07:00
Ben Vanik b3e93a0d1d srad.
Probably right.
2013-06-02 11:33:07 -07:00
Ben Vanik 97b4fdb041 Fixing misnamed register enum. 2013-06-02 10:32:07 -07:00
Rick Gibbed eab588f29f Fixed some additional stack offsets in DbgPrint. 2013-06-02 10:12:27 -07:00
Rick Gibbed e5bfe7264b Corrected issues with DbgPrint & _vnsprintf. 2013-06-02 09:44:31 -07:00
Rick Gibbed fbaaebdb41 Oops. Tab! 2013-06-02 09:43:27 -07:00
Rick Gibbed 100b87846e Merge branch 'master' of https://github.com/benvanik/xenia 2013-06-02 08:08:17 -07:00
Rick Gibbed 9bc490579e 64-bit shim memory macros. 2013-06-02 08:07:40 -07:00
Rick Gibbed c9688bb3e9 DbgPrint & _vnsprintf implementations. VERY HACKY. 2013-06-02 08:07:03 -07:00
Rick Gibbed b97b8226b2 Fixed a crash when adding a FunctionSymbol with a NULL address. 2013-06-02 07:57:38 -07:00
Rick Gibbed 105aee506d dcbf disasm. 2013-06-02 07:56:17 -07:00
espes 388c622ecd fill in some more xenos registers 2013-06-02 17:11:54 +10:00
Ben Vanik cf57481a0e Adding basic register names. 2013-06-01 22:51:09 -07:00
Ben Vanik e00e665a09 Basic command buffer processing. 2013-06-01 21:49:14 -07:00
Ben Vanik ba16a0d847 Trying to setup writeback and add basic secondary command execution. 2013-06-01 03:08:31 -07:00
Ben Vanik 5b0fa8f17e Basic ringbuffer worker. Super hacky, not yet writing back to CPU. 2013-06-01 01:13:44 -07:00
Rick Gibbed 3667821be3 ldarx & stdcx disasm. 2013-05-31 22:01:35 -07:00
Ben Vanik 31199dd41d VdHSIOCalibrationLock. 2013-05-31 21:40:15 -07:00
Ben Vanik 4e6e27d9ac Zero KeCertMonitorData export. 2013-05-31 21:33:19 -07:00
Ben Vanik ef0032ecff Wiring up register read/write from JIT -> GPU. 2013-05-31 21:23:26 -07:00
Rick Gibbed edf3a9155b The stack address needs to start at the end of the allocated memory for the stack, not the beginning. 2013-05-31 20:55:52 -07:00
Ben Vanik d53458023e Fixing/implementing static TLS entries. 2013-05-31 10:01:32 -07:00
Ben Vanik 38efd3837d Adding support for detecting the save/rest fpr and vmx blocks. 2013-05-31 01:53:30 -07:00
Ben Vanik e6195c4086 fmadd, orc, extsh, extsw. 2013-05-31 01:00:00 -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 14c3b8a382 Adding a case for tail calls.
Still missing the forward tail call case, as there is legit code that
does weird branches like that.
2013-05-30 23:41:25 -07:00
Ben Vanik e7665c11eb Adding basic constant checks and updates to memory instructions.
Only those instructions likely to have immediate values have been updated.
It'd be nice to go further than this and a) centralize the ea calculations
b) move this all to the analysis pass c) generate mov's in Read/WriteMemory
using the immediates as bases instead of all the register work.

Also fixing a broken stwcx that was causing crashes.
2013-05-30 23:20:05 -07:00
Ben Vanik 78086684c6 Now tracking constant values for most operations.
This will make it easier to enable memory access optimizations and hacks.
Not all operations are updating the constant registers, only those that
are likely to participate in constant value building. Constant values are
cleared on every basic block, though this may be too zealous it prevents
weird fall-through cases.
2013-05-30 22:50:32 -07:00
Ben Vanik 7990146001 xex2 loader now guesses sizes to allocate.
This may not be right in all cases, but seems to work.
2013-05-29 23:26:34 -07:00
Ben Vanik f307bc9eb1 Adding --target= and --trace_registers flags.
--target=[xex|iso] makes it possible to specify the thing to run from a
flagfile.
2013-05-29 21:45:54 -07:00
Ben Vanik 37530d1438 Adding some required video export variables. 2013-05-29 21:26:29 -07:00
Ben Vanik 6950b21424 Reworking the memory system to not commit 3gb and to properly alloc data.
Now only 512MB is committed on startup. Loaded XEXs are placed into their
required addresses in the 0x8... range. Kernel structures are allocated
from the normal heap like other data. There should no longer be any magical
pointers.
2013-05-29 21:00:55 -07:00
Ben Vanik 61f7f6d28e Starting work on some of the Vd kernel functions. 2013-05-28 20:00:06 -07:00
Ben Vanik 2cecc02787 Skeleton GPU files. 2013-05-27 21:45:55 -07:00
Ben Vanik 16baef3591 Starting physical memory allocation routines.
These currently don't do anything special w.r.t. memory addresses/etc,
but will in the future.
2013-05-27 20:09:40 -07:00
Ben Vanik f78e7945d4 Fixing malloc alighment and duplicate calls to NtAllocateVirtualMemory. 2013-05-27 19:58:20 -07:00
Ben Vanik 1d0ec64d40 Adding srd/srw. Fixing shamts in other shifts. 2013-05-27 05:35:41 -07:00
Ben Vanik 778efdb276 fcfid(z), fctid(z) -- both largely untested. 2013-05-27 05:22:38 -07:00
Ben Vanik 84fb802166 fadd(s), fdiv(s), fmul(s), fsub(s), fsel, frsp, fabs, fmr, fneg, fnmsubs. 2013-05-27 04:09:07 -07:00
Ben Vanik fe6df31280 Finishing off the kernel method conversion. 2013-05-26 23:06:09 -07:00
Ben Vanik 64eb2aa2b3 Converting RTL methods to the new style. 2013-05-26 23:05:05 -07:00
Rick Gibbed c4e0347932 NULLs! 2013-05-26 22:53:46 -07:00
Rick Gibbed fe9cb1cddb Oops. 2013-05-26 22:46:45 -07:00
Rick Gibbed 9f06645e75 Merge branch 'master' of https://github.com/benvanik/xenia 2013-05-26 22:42:28 -07:00
Rick Gibbed 78ee6c9ee9 Added video submodule for xboxkrnl and xam modules. 2013-05-26 22:42:07 -07:00
Rick Gibbed 9eadffe461 Added float/double swap helpers. 2013-05-26 22:39:39 -07:00
Ben Vanik b87b17f51e Converting more kernel methods to the new style. 2013-05-26 22:04:12 -07:00
Ben Vanik 6e8828f843 Switching kernel files to the new style. 2013-05-26 21:37:47 -07:00
Ben Vanik fbe800aacd Preparing to enable unshimmed kernel methods that can be called directly. 2013-05-26 20:32:30 -07:00
Ben Vanik 25d8b5f8d8 Switching shim mapping macro to use ordinal constants. 2013-05-26 20:10:10 -07:00
Ben Vanik a332faf419 Adding ordinal enums to kernel modules.
Access via xe::kernel::modules::xboxkrnl::ordinals::MyFunction
(or just ordinals::MyFunction when in the namespace).
Some collisions occurred - just added random suffixes for now.
2013-05-26 19:28:46 -07:00
Ben Vanik 87b8ebd613 Forgot to switch macros. 2013-05-26 19:19:26 -07:00
Ben Vanik 9f320ba4a7 Prepping kernel export tables for various uses. 2013-05-26 18:57:41 -07:00
Ben Vanik 1b07aace73 Moving kernel functions into their proper namespaces. 2013-05-26 18:43:57 -07:00
Ben Vanik 1a5a8d748d Adding missing files to the xam gypi. 2013-05-26 18:40:51 -07:00
Ben Vanik c10d719d53 Floating point loads/stores.
Seem correct. Maybe not.
2013-05-26 17:59:11 -07:00
Ben Vanik a09170b2c6 Fixing bad EA write order. 2013-05-26 17:49:37 -07:00
Ben Vanik a6db12b48f ldx/ldux. 2013-05-26 17:43:37 -07:00
Rick Gibbed 0ca44083e6 Stick the export ordinal in the dummy address for unimplemented export data, to make it obvious what it is when debugging. 2013-05-26 17:37:31 -07:00
Rick Gibbed c29c4b067f Corrected a xam export to variable. 2013-05-26 17:23:30 -07:00
Ben Vanik b5e729f89e sld. 2013-05-26 16:30:52 -07:00
Ben Vanik 924b08b264 cntlzd and fixing broken cntlzwx. 2013-05-26 16:30:43 -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 5f494a4449 Corrected many xboxkrnl exports to variable. 2013-05-26 09:46:20 -07:00
Rick Gibbed 1b3351b1e2 disasm for mfmsr, mtmsr, mtmsrd 2013-05-26 08:39:31 -07:00
Ben Vanik 82159b2b9d Adding lfd. 2013-05-26 07:19:09 -07:00
Ben Vanik 9d63eb7499 Fixing condition updates for unsigned compares. 2013-05-26 04:21:07 -07:00
Ben Vanik 5d83465ce4 Fixing branches via the indirection block.
Also disabling the local indirection optimization until it's implemented.
2013-05-26 03:59:32 -07:00
Ben Vanik 22f186d713 Better asserts/checks around bad function addresses. 2013-05-26 03:26:49 -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 6678279ebf Corrected more issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. 2013-05-26 02:36:48 -07:00
Rick Gibbed d385bc6a10 Added XEASSERTSTRUCTSIZE macro. 2013-05-26 02:36:07 -07:00
Rick Gibbed 237ab5551f Oops. Fixed some formatting in previous commit. 2013-05-26 02:21:05 -07:00
Rick Gibbed 3ac3d8078d Corrected some issues with X_RTL_CRITICAL_SECTION, RtlInitializeCriticalSection, RtlInitializeCriticalSectionAndSpinCount. 2013-05-26 02:18:49 -07:00
Ben Vanik 6b851da9d7 Fixing analysis regression: don't analyze on gets during analysis pass. 2013-05-26 02:11:08 -07:00
Ben Vanik f94256aaaf Adding a simple heuristic to find leaf thunk functions. 2013-05-26 01:43:44 -07:00
Rick Gibbed 1640acaf8a mftb 2013-05-26 00:48:53 -07:00
Ben Vanik 7febbe0f86 Fixing <8b memory accesses. 2013-05-26 00:44:20 -07:00
Rick Gibbed 0855fe7014 addicx 2013-05-26 00:27:36 -07:00
Ben Vanik ab762e0009 Adding disassemblers for the fpu instructions. 2013-05-26 00:13:46 -07:00
Ben Vanik 4073028188 Very basic, super slow, nasty indirection. 2013-05-25 20:32:58 -07:00
Ben Vanik 2986a0be82 Removing debug int3. 2013-05-25 17:20:52 -07:00
Ben Vanik ce27fb333b Fixing rlwimix. 2013-05-25 17:08:31 -07:00
Ben Vanik bd8376e231 Making xenia-test run on Windows. 2013-05-25 05:20:28 -07:00
Ben Vanik edb3aabdd4 Removing llvm backend. 2013-05-25 04:28:21 -07:00
Ben Vanik eb22289dc7 Fixing bad fcmpu disasm. 2013-05-25 04:25:27 -07:00
Ben Vanik a5da226617 cntlzwx. 2013-05-25 03:23:33 -07:00
Ben Vanik de85adea2e divwx/divwux. 2013-05-25 02:49:44 -07:00
Ben Vanik 9f3f5d2c0e mullw. 2013-05-25 01:56:42 -07:00
Ben Vanik e29de199ff srawix. 2013-05-25 01:50:46 -07:00
Ben Vanik 8207bb8088 negx 2013-05-25 01:35:19 -07:00
Ben Vanik 07d0dd98b6 slwx, ignoring twi. 2013-05-25 01:31:38 -07:00
Ben Vanik ed401449b7 Only create the shared return block if required. 2013-05-25 00:45:16 -07:00
Ben Vanik da62ec56f9 Adding the ret required for tail calls. 2013-05-25 00:41:01 -07:00
Ben Vanik fb22aeb5ac Fixing assertion warnings from asmjit. 2013-05-25 00:40:30 -07:00
Ben Vanik f3552ff9a5 Implementing RtlImageXexHeaderField better. 2013-05-25 00:08:01 -07:00
Ben Vanik eac03765db Adding addx. Whoops. 2013-05-25 00:07:35 -07:00
Ben Vanik 12b2dc153e Disabling the faked KeDebugMonitorData. 2013-05-24 23:43:11 -07:00
Ben Vanik 04485b6460 rlwimix/rlwinmx. 2013-05-24 23:34:52 -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 6320ef6b7e Fixing conditionals to use cmp instead of test. 2013-05-24 22:21:05 -07:00
Ben Vanik 7bf69f66fd Logging out the condition register values. 2013-05-24 22:03:57 -07:00
Ben Vanik 2586c10cc5 addzex. 2013-05-24 21:54:04 -07:00
Ben Vanik 9883f32fb7 Fixing logger initialization when codegen logging is disabled. 2013-05-24 21:49:03 -07:00
Rick Gibbed ba718de434 Further corrections on cr checks. 2013-05-24 21:34:03 -07:00
Ben Vanik 1354b9975f Adding basic branch indirection, which doesn't work but is ready to do so. 2013-05-24 21:18:30 -07:00
Ben Vanik c6ed7ff9cf Fixing cr5+ checks. 2013-05-24 20:48:04 -07:00
Ben Vanik 346a27ddf8 Trying again to fix compares. 2013-05-24 20:40:00 -07:00
Ben Vanik e7556a09f8 Fixing bad or during cr0 update - need to be overwriting. 2013-05-24 20:26:06 -07:00
Ben Vanik 68f1eb7f69 Fixing carry and compare flags. 2013-05-24 20:20:18 -07:00