Commit Graph

335 Commits

Author SHA1 Message Date
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
RadWolfie e38f381d99 Fix indent alignment 2018-08-23 10:00:15 +01:00
Luke Usher 92d5de47aa oops, it doesn't compile without these! 2018-08-23 09:59:31 +01:00
Luke Usher 69527e5f8c Implement CriticalSections + KeWait + KeEvents* without host forwarding 2018-08-23 09:59:31 +01:00
Luke Usher 4412fef9bb
Initial D3D9 port (#1375) 2018-08-08 09:08:50 +01:00
RadWolfie 07a05f0e52 Use settings ini file method (#1370)
* Import SimpleIni module

* Rename XBController to DInputController

Since it's only about configure DirectInput support.

* Append to previous 2 commits

* Initialize Settings class

* Append to previous commit

* Properly use EmuXTL header instead of EmuShared

* Move audio variables into setting class

* Move video variables into Settings class

* Append to previous commit

* Move hack variables into Settings class

* Append previous commit

* Append to third previous commit

* Move xbox controller port map to Settings class

* Append to second previous commit

* Move DirectInput Controller map to Settings class

* Remove old XInput member variable

* Append to second previous commit

* Tiny Fixup

* Remove Load/Save from EmuShared class

* Move both GUI and emulate/core to Settings class

* Oops, append to DirectInput controller's commit(s)

* Fix spaces to tab plus remove useless extra spaces

* Code format fixes

* Fix EmuShared's Set____ function to include const type.

Then "set" functions are supportive for both const and non-const variables.

* Add Sync and GetDataLocation functions to Settings class

* Move include filesystem into root header file.

* Introduce Verify function in Settings class

* Fix old bug for console remains open

* Making some adjustments...

* Append

* Another fix for any output prints crash.

* Add Delete function to Settings class

Plus keep save's file path if has given one.

* Fix LLE_USB to set into Settings class' member variable.

* No longer rely on GUI's end to reset LLE flags for multi-xbe titles.

* Simulate what GUI will do except in standalone kernel mode support.

* Move m_StorageLocation into Settings class as central.

Plus optimization for GetDataLocation function.

* Update sentence...

* Remove m_XbePath from EmuShared class.

Since kernel process is launching by on its own without rely on GUI process.

* Update copyright

* Fix DirectInput config not responding message

* Implement new feature: Bypass running as admin warning message

* Rename Emulate Settings to Core Settings

Plus move AllowAdminPrivilage option to core.

* Add reserve space for Settings' structure to integrate into EmuShared

* Ensure all reserves are set to 0 by default.

* Append to "Rename Emulate Settings to Core Settings" commit

* Fix rebase loss.

* Fix kernel mode process's window screen

* Correction: use bool for allowAdminPrivilege and add a save data

* Few fixes for allowAdminPrivilege

* Implement support to prevent tamper shared memory between GUI processes.

NOTE: Kernel process will be using same shared memory since guiProcessID will remain as 0.

* Various improvement

* Use std library functions
* Use single column spaces for align support on different tab size
* Include failsafe if custom and file path string values are bad format

Apparently ARRAYSIZE isn't define on other compilers.

* Last ARRAYSIZE replacement plus buffer overflow protection

* Replace WinAPI to std library's filesystem

* Revert support for 2+ emulation process at same time.

Emulation's graphic screen has corruption between both windows. Not even a wrapper to D3D9 will fix it.
2018-08-07 08:30:07 +01:00
ergo720 5ccdb35632 Refactored kernel crypto functions + implemented XcUpdateCrypto (doesn't work yet) 2018-08-03 23:50:09 +02:00
Luke Usher 2561b68823 Oops, forgot to include required libs 2018-07-25 11:45:36 +01:00
RadWolfie 5e99b3eeab Update XbSymbolDatabase 2018-06-28 22:30:19 -05:00
Luke Usher 1df336fdaa Update XbSymbolDatabase 2018-06-26 20:41:36 +01:00
RadWolfie 9e64b16464 XbSymbolDatabase update 2018-06-07 22:02:40 -05:00
Luke Usher 4c59f39d86 Update XbSymbolDatabase 2018-06-01 10:40:40 +01:00
x1nixmzeng 34dda2cfc9 Removed legacy EXE packer tool 2018-05-31 21:00:55 +01:00
Luke Usher f5c3cb5e1c Update cx_x86 submodule 2018-05-31 11:02:07 +01:00
Luke Usher c1bc34eb80 Update Submodules 2018-05-29 18:03:19 +01:00
Luke Usher 265d9af1d9 Update D3D8to9 to fix Depth Stencil issue 2018-05-16 10:13:05 +01:00
RadWolfie daa4d8c76f Another update in XbSymbolDatabase module 2018-05-12 07:24:10 -05:00
RadWolfie 4d7b8a33ac Update XbSymbolDatabase module to current revision 2018-05-12 07:24:10 -05:00
RadWolfie 366afcc778 Add support for output message 2018-05-12 07:24:10 -05:00
RadWolfie e579f87b2c Upgrade XbSymbolDatabase with minor update
* disable debug build trace since it does not compile and need to be move into XbSymbolDatabase
* Use > 0 for boolean check.
2018-05-12 07:24:10 -05:00
RadWolfie 6800055b29 Using XbSymbolScan is accurate with XbSymbolDatabase
However, there appear to be one function not being detected at the moment with Burnout title.
2018-05-12 07:24:10 -05:00
RadWolfie 1419fc14e0 Update to sync with XbSymbolDatabase
Currently not optimized, and planning on COMPLETE move scan optimized with our own header structure to be used with.
2018-05-12 07:24:10 -05:00
RadWolfie ed263d7dbc Start using XbSymbolDatabase library
It does not fully transfer everything yet and D3D8 depending on OOVPA signature directly are currently disabled for time being.
2018-05-12 07:24:10 -05:00
Luke Usher 317b9dfe00
Revert "Replace EmuX86's interpreter with Unicorn" 2018-04-29 20:16:03 +01:00