Commit Graph

4067 Commits

Author SHA1 Message Date
PatrickvL 1f4dcea159 Route HalReadSMBusValue and HalWriteSMBusValue through SMBus device 2018-01-10 09:16:27 +00:00
PatrickvL b31957ad65 Introduced EEPROM device 2018-01-10 09:16:27 +00:00
PatrickvL 5c9c118442 PCIDevice : Fixed two off-by-one errors, and a small iterator-optimization. 2018-01-10 09:16:27 +00:00
PatrickvL 73854f8155 SMBus : Implemented all device-forwarding functions 2018-01-10 09:16:27 +00:00
Luke Usher ed7c49e187 Oops 2018-01-10 09:16:27 +00:00
Luke Usher b93b17c4da Fix issues with MMIO 2018-01-10 09:16:27 +00:00
Luke Usher 7b2774391f Add PCI/SMBus classes/base devices.
Note that these intentionally make use of standard types rather than Windows/Cxbx specifics like xbaddr...

These classes are designed to be platform and device independent
2018-01-10 09:16:27 +00:00
Luke Usher 032e7e5ad3 Remove unused device.h/device.cpp 2018-01-10 08:26:58 +00:00
Luke Usher ebcbce7aac Fix an issue where HalReadWritePCISpace would not write to the correct addresses. 2018-01-10 08:26:58 +00:00
PatrickvL 7d79f897da
Merge pull request #844 from x1nixmzeng/hle-cache-hash
Hash the HLE database so OOVPA changes force a rescan
2018-01-10 07:24:50 +01:00
x1nixmzeng 237c7d5642 Added notes on the chosen hash 2018-01-09 23:38:57 +00:00
x1nixmzeng 7ba6f2d70e Added notes on the chosen hash 2018-01-09 23:38:03 +00:00
x1nixmzeng 495988ac92 Updated to use a modern array size method 2018-01-09 23:28:44 +00:00
x1nixmzeng 4c64c2f818 Removed OOVPA count suffix 2018-01-09 23:19:55 +00:00
x1nixmzeng da677b1f18 Hash the HLECache table
Workaround for #836
2018-01-09 22:24:41 +00:00
x1nixmzeng dd1fb45520 Updated HLEData to store the table count, not size
Count was always inferred and OOVPATable is a constant size (as the
OOVPA type is a pointer)
2018-01-09 21:57:55 +00:00
PatrickvL a0994c9eec Kernel header page should have EXECUTE protection (thanks for the sharp eye Ergo720) 2018-01-09 15:22:51 +01:00
PatrickvL 852d3c13a6 Kernel : More often log protection flags as string 2018-01-09 15:22:16 +01:00
PatrickvL 3afa4b2a42 Introduced CheckMmProtectFlags, used in MmAllocateContiguousMemoryEx and MmSetAddressProtect
Also fixed a typo
2018-01-09 15:13:16 +01:00
PatrickvL aec9954183 Updated logging
Appended comments from Ergo720
Changed a few checks into assert's
2018-01-09 13:35:05 +01:00
PatrickvL d049ed5a64 Fixed DEBUG build 2018-01-09 13:34:17 +01:00
PatrickvL 6206e865a6 Protect : Prevent VirtualProtect'ing invalid permissions
Also used consistent 4-character LOG_PREFIX
and fixed a call to UnmapViewOfFile with the wrong base.
2018-01-09 13:13:33 +01:00
PatrickvL e0eca70326 Introduced the notion of PageType's
Replaced bool bContiguous argument with enum PageType.
Passed this along to PhysicalMemory AllocatePhysicalMemory, AllocatePhysicalMemoryRange and AllocateFragmented.
AllocateFragmented denies and warns on Contiguous allocations.
Updated a number of kernel API's to use the correct PageType.
2018-01-09 12:53:28 +01:00
PatrickvL 4f2732209a Replace `MemoryManager` by `VMManager` also in comments and disabled code 2018-01-09 12:53:28 +01:00
PatrickvL 81b3d5c0bd EMUPATCH(D3DDevice_CreatePalette2) : Call xboxkrnl::MmAllocateContiguousMemory instead of underlying g_VMManager 2018-01-09 12:53:28 +01:00
patrickvl 6b94381cac Default page protection for contiguous memory shouldn't include EXECUTE rights
Also added a TODO for future research
2018-01-09 12:53:28 +01:00
patrickvl 0fbb9057a0 Invert bNonContiguous arguments to make them slightly easier to understand
Also, fail when contiguous memory hit AllocateFragmented (it isn't allowed to).
Added a TODO to prevent calling AllocateFragmented entirely.
2018-01-09 12:53:28 +01:00
patrickvl a9c0000927 Fixed typos 2018-01-09 12:53:28 +01:00
Luke Usher 0709152531
Merge pull request #843 from jarupxx/D3D_OOVPA
Improved D3DDevice_SetRenderState_MultiSampleRenderTargetMode OOVPA
2018-01-09 09:59:16 +00:00
jarupxx 7ea73aa763 Improved D3DDevice_SetRenderState_MultiSampleRenderTargetMode OOVPA
Fix Smashing Drive regression.
2018-01-09 18:26:04 +09:00
x1nixmzeng 9d9bdf6efe Ignore external modules
Usually optional
2018-01-08 23:58:20 +00:00
x1nixmzeng e6a5287a76 Prompt to try skipping exceptions 2018-01-08 23:43:02 +00:00
x1nixmzeng 31c1674479 Resolve module from callstack addresses 2018-01-08 23:02:09 +00:00
PatrickvL 660c4483b0
Merge pull request #841 from Fisherman166/master
Print String Representations of GameRegion and AllowedMedia
2018-01-08 08:27:50 +01:00
Fisherman166 24d916e765 Print AllowedMedia string in XBE dump for issue #686 2018-01-07 21:13:37 -08:00
Fisherman166 93854435d5 Print game region string in XBE dump for issue #686. Remove duplicate implementation of function in Kernal. 2018-01-07 20:23:29 -08:00
x1nixmzeng c7ccd58103 Cleanup of file access logging 2018-01-07 21:56:10 +00:00
x1nixmzeng 135699e45d Prevent VS catching exceptions when not debugging 2018-01-07 21:36:36 +00:00
Fisherman166 d155aa64cb Remove _CXBXKRNL_INTERNAL define for issue #820 2018-01-07 22:02:08 +01:00
x1nixmzeng ba74b162ad Debugger messaging system
Now using RaiseException instead of OutputDebugString
2018-01-07 20:13:47 +00:00
Luke Usher e054514e99
Merge pull request #837 from LukeUsher/xbox-function-pointer-tweak
GetXboxFunctionPointer needs to account for _UNPATCHED suffix
2018-01-07 14:11:18 +00:00
Luke Usher 301de5889c Enable all Audio codecs by default 2018-01-07 14:06:47 +01:00
Luke Usher b01346154d GetXboxFunctionPointer needs to account for _UNPATCHED suffix 2018-01-07 11:12:23 +00:00
x1nixmzeng 34884531ae Fixed reading memory with an incorrect number of bytes 2018-01-07 01:36:34 +00:00
x1nixmzeng 577913076a Ensure main thread is correctly registered
Further support for debugging access violations
Fixed an infinite loop when resolving symbol names
2018-01-07 00:03:04 +00:00
x1nixmzeng d3e5c0644d Skeleton support for resolving symbols 2018-01-06 18:27:39 +00:00
x1nixmzeng d822b23562 Exposed thread callstacks to the UI 2018-01-06 14:30:36 +00:00
x1nixmzeng cf82249c53 Access violation exceptions now pause execution 2018-01-06 02:53:48 +00:00
x1nixmzeng febaf331e4 Split debug event class into interfaces 2018-01-06 02:20:05 +00:00
x1nixmzeng 1d9e0e7071 Skeleton generic memory methods 2018-01-06 01:32:36 +00:00