Commit Graph

358 Commits

Author SHA1 Message Date
ergo720 13bd79f930
Use fixed width types for xbox types + restructured kernel header files (#1969)
* VOID -> void_xt

* CHAR, CCHAR -> char_xt, cchar_xt

* UCHAR -> uchar_xt

* BYTE, BOOLEAN -> byte_xt, boolean_xt

* Fix bogus intellisense errors in the kernel headers

* SHORT, CSHORT, USHORT -> short_xt, cshort_xt, ushort_xt

* LONG -> long_xt

* WORD, DWORD -> word_xt, dword_xt

* HRESULT -> hresult_xt

* ULONG -> ulong_xt

* SIZE_T, ACCESS_MASK, PHYSICAL_ADDRESS -> size_xt, access_mask_xt, physical_address_xt

* UINT, INT -> uint_xt, int_xt

* LONG_PTR, ULONG_PTR, INT_PTR -> long_ptr_xt, ulong_ptr_xt, int_ptr_xt

* LONGLONG, ULONGLONG -> longlong_xt, ulonglong_xt

* WCHAR, QUAD, BOOL, FLOAT -> wchar_xt, quad_xt, bool_xt, float_xt

* Updated types in xonline.h + reverted some type changes + moved kernel header files in cxbxr source tree

* Use char16_t instead of wchar_t for wchar_xt xbox type

* Fixed macro redefinition warnings from ntstatus macros in types.h
  Fixed macro redefinition warnings from NT_SUCCESS and FIELD_OFFSET
  Fixed macro redefinition warnings from the REG_ macros used by the eeprom

* NTSTATUS -> ntstatus_xt
2020-10-06 05:33:16 -05:00
RadWolfie 5aad40ce9d move xxHash to submodule 2020-09-25 03:38:29 -05:00
RadWolfie eaeb521bd9 update XbSymbolDatabase submodule 2020-09-24 14:10:24 -05:00
ergo720 b304e538c6
Introduce xbox namespace + deduplicate xbox types (#1942)
* Introduced new xbox namespace + moved inside it xbox pointer/address types

* Replaced xboxkrnl namespace with xbox namespace

* Moved kernel types from xboxkrnl.h to xbox_types.h

* Replaced XTL namespace with xbox namespace

* Fix a conflict with the VOID macro imported by Windows.h

* Fixed misalignment issues + renamed xtl_prefix
2020-08-24 13:29:48 -05:00
RadWolfie 3550fa4ed1 setup force source files to lf line ending and renormalize 2020-08-22 20:17:07 -05:00
ergo720 f46bcd6875 Use xboxkrnl namespace inside xboxkrnl header file 2020-08-18 17:02:19 +02:00
Luke Usher f1d09aff15
Merge pull request #1917 from Fisherman166/HalReadSMCTrayState
Rewrite HalReadSMCTrayState to match original kernel implementation.
2020-06-08 15:22:32 +01:00
PatrickvL d3544f7b5f
Merge pull request #1918 from Fisherman166/FsSetCacheSize
Update FscSetCacheSize to match original kernel
2020-06-07 18:51:45 +02:00
Fisherman166 326f645b8f Initialize FscCacheEvent at emulation start to match the real kernel implementation. 2020-06-06 16:09:01 -07:00
Fisherman166 857b8f933e Rewrite HalReadSMCTrayState to match original kernel implementation. Keeps the TRAY_OPEN hack for the time being. 2020-06-06 13:27:54 -07:00
Fisherman166 db1429a4b9 Implement KeReleaseSemaphore based on kernel reverse engineering. Needs KiWaitTest to be implemented to be fully functional. 2020-06-04 21:26:01 -07:00
Fisherman166 52f18bca28 Add size offsets for the KSEMAPHORE and ERWLOCK structs. 2020-05-28 09:13:19 -07:00
Fisherman166 a679073ec6 Implement ExReleaseReadWriteLock. 2020-05-25 16:20:02 -07:00
Fisherman166 6f5a1f2c46 Implement ExAcquireReadWriteLockShared. 2020-05-25 16:20:01 -07:00
Fisherman166 f375bbf6ba Add offset comments to _ERWLOCK and _KSEMAPHORE structs. 2020-05-25 16:20:01 -07:00
Fisherman166 a2e623180a Implement ExAcquireReadWriteLockExclusive. 2020-05-25 16:20:01 -07:00
darkf 743b3cbdbb Remove unused extern "C" comments 2020-04-07 03:24:00 -07:00
darkf d20537fe5b Remove extern "C" linkage in Emu*, otherwise we get namespace collisions 2020-04-07 02:44:38 -07:00
Margen67 59af5dccdd Remove unused 7za import
This is a remnant of the old build system/CI.
2020-03-19 00:32:22 -07:00
Margen67 9490add998 Switch to mainline subhook 2020-03-05 15:22:03 -08:00
PatrickvL e79a4e4131
Merge pull request #1808 from RadWolfie/sync-xbsymboldatabase
Update to Latest XbSymbolDatabase API Change
2019-12-25 16:37:11 +01:00
RadWolfie 5a5c3b67a5 update to latest XbSymbolDatabase API change 2019-12-25 09:08:41 -06:00
Luke Usher b62333551c kernel: Define and init IdexChannelObject 2019-12-16 21:53:02 +00:00
PatrickvL a6c0353c5b Fix a large part of XTL-hell (#1731)
* Rename g_CurrentXboxVertexShaderHandle to g_Xbox_VertexShader_Handle

* Remove CxbxDrawContext.XboxVertexShaderHandle field, and replaced reads from this field by g_Xbox_VertexShader_Handle (since all writes to this field used that as source)

* Removed commented-out #include's

* Removed duplicate DEF_VSH_* defines, replaced usage by existing X_D3DVSD_*() defines.

* Removed commented-out #include's from src/vsbc

* Removed nearly all "namespace XTL"-wrappers around #includes; Instead, wrap applicable contents of these included files in namespace XTL. Removed all now-obsolete "XTL::" prefixes.

* Moved all host D3D9 symbols outside of namespace XTL (finally!)

* Removed all "using namespace XTL;" occurences (except one, which is marked with a TODO)

* Restored Unix EOL style (to avoid large diffs with upstream)

* Moved CxbxInitAudio outside XTL namespace (this was the last Cxbx* symbol in XTL)

* Removed final "using namespace XTL" occurence by cleaner wrapping of logging intrinsics inside and outside namespace XTL.

* Prefix a few Xbox types with X_ (and avoid compile-error by removing the now-obsolete duplicate of X_D3DCALLBACK).
Also nicely indent all Direct3D9 alias defines, introduced when porting from Direct3D8. Who knows, one day we might re-define them once again to port to more recent Direct3D versions?

* Made EmuXTL.h obsolete, by #include'ing specific headers instead of it.

* Removed unused #include's of EmuFS.h

* Remove #pragma once, when there's already an include guard present.

* Delete EmuXTL.h and XOnline.cpp, keep but disable XOnline.h for documentation purposes.

* Fix all compiler warnings that have no functional impact. What's left requires more research

* Remove GetVersion, retain Wine check
2019-09-24 16:25:52 -05:00
ergo720 d8b0075c93 New input gui (#1713) 2019-09-05 16:10:09 -05:00
Luke Usher afe76e0bba Update XbSymbolDatabase to latest version as of today 2019-08-25 12:28:21 +01:00
gellis713 d23ffe2954 Get rid of additonal unnecessary defines/undefines 2019-07-05 21:26:39 -05:00
gellis713 0be1370d0b Removes _XBOXKRNL_XXXX defines and dependency in xboxkrnl/xboxkrnl.h 2019-07-05 18:45:36 -05:00
RadWolfie cfe4a39894 Update .gitmodules 2019-05-10 14:29:05 -05:00
ergo720 9270091d99 Fix a deadlock in KiTimerExpiration caused by KeWaitForSingleObject
This also fixes LLE USB not working for homebrews
2019-04-05 14:09:06 +02:00
Luke Usher cfabb7f09b Remove docs/examples for pcap 2019-03-25 22:27:48 +00:00
Luke Usher 20aa13b44e Rebuilding network support from NVNet Branch
Randomly generate Mac and Serial for new EEPROMs: Thanks dracc
Delay load pcap: Allows the emulator to run (without networking) when pcap isn't present
2019-03-25 19:20:34 +00:00
ergo720 4ac647253e Add libtomcrypt and libtommath libraries 2019-03-11 16:33:58 +01:00
Fisherman166 f0f300353c Use the nxdk definition of CONTEXT and FLOATING_SAVE_AREA as the addresses of the eax,ebx,esp,ebp,etc register fields match a kernel dump accessing a CONTEXT struct 2019-02-02 22:12:40 -08:00
Luke Usher c6ee38b5d9 Chihiro XePublicKeyData for signature verification 2019-01-22 21:34:43 +00:00
Luke Usher 2a7e8d9363 Update XbSymbolDatabase (again) 2019-01-22 20:32:04 +00:00
Luke Usher efffea677e Update XBSymbolDatabase version 2019-01-21 16:09:40 +00:00
ergo720 3e0e47bbde Fix macro redefinition warnings introduced in #1520 2019-01-12 18:39:26 +01:00
ergo720 27f2316507 Revert "Enable LLE USB + add SDL submodule"
This reverts commit 2daca74be7bc93a0818233fd2023a1c07757bbb0.
2019-01-12 18:13:52 +01:00
ergo720 113717b7c4 KiTimerExpiration + KiCheckTimerTable 2019-01-12 18:13:52 +01:00
ergo720 1ae67fb215 Updated KeInterruptTime, KeSystemTime, KeTickCount and timer handling 2019-01-12 18:13:52 +01:00
ergo720 4fcb6e54a9 KiClockIsr + updated KeQueryInterrupt/SystemTime 2019-01-12 18:13:52 +01:00
ergo720 0fc2a7c3b2 Enable LLE USB + add SDL submodule 2019-01-12 18:13:52 +01:00
Fisherman166 4da125582d Add implementation of RtlRaiseStatus reverse engineered from real hardware kernel. 2018-12-31 11:03:16 -08:00
PatrickvL e452d56991 MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (as preparation for further simplification) 2018-10-11 12:45:42 +02:00
PatrickvL 0b535dc862 MM : To avoid duplicate code, replace most LIST_ macro's with List* functions 2018-10-11 12:07:40 +02:00
Luke Usher cbb2bce17f Update XbSymbolDatabase again + fix a crash when SetViewPort is called with a null value 2018-10-03 19:57:21 +01:00
Luke Usher de87ffd1e4 Update XbSymbolDatabase submodule 2018-10-02 16:18:04 +01:00
Luke Usher 1c78e5bced Various fixes/improvements to D3D HLE
The key change is that more of the D3D state is written back to the
internal Xbox D3D state, allowing GetXXX functions to return the correct
values, and that GetVertexShaderDeclaration now returns the correct size
to the running Xbox title.

Note that this needs testing with as many titles as possible: The
additional trampolines may cause regressions if they hit an
unimplemented instruction in subhook (eg. I had to update Subhook to add
xor, in order to be able to make this PR work at all)
2018-10-02 11:01:05 +01:00
RadWolfie d908075573 Sync with XbSymbolDatabase module 2018-09-19 15:03:13 -05:00