Commit Graph

383 Commits

Author SHA1 Message Date
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
ergo720 8483f896ed Bug fixes and added logging to PoolManager 2018-04-28 22:05:10 +02:00
ergo720 c3630ebf83 Fix compilation errors 2018-04-28 22:05:09 +02:00
ergo720 ab67c61e6d DeallocatePool 2018-04-28 22:05:07 +02:00
ergo720 e14b775b7e AllocatePool 2018-04-28 22:05:06 +02:00
ergo720 125bc23d4f Pool manager initialization 2018-04-28 22:05:06 +02:00
ergo720 55d0d36d3e Merge remote-tracking branch 'upstream/master' into eeprom_viewer 2018-04-26 11:06:09 +02:00
Luke Usher c7d259ba92 Update Unicorn 2018-04-23 09:51:04 +01:00
Luke Usher a24cb08566 Replace EmuX86/Distorm interpreter with Unicorn 2018-04-23 09:51:04 +01:00
Luke Usher 5176006b9d Replace EmuX86/Distorm interpreter with Unicorn 2018-04-23 09:51:03 +01:00
ergo720 baabd55dc3 More eeprom menu work 2018-04-21 19:18:35 +02:00
PatrickvL ffceb1600a
Merge pull request #1076 from ergo720/signature
Xbe signature validation
2018-04-19 09:25:40 +02:00
PatrickvL 6777c7d6ab Copied over d3d9 include files from June 2010 DirectX SDK 2018-04-16 13:17:35 +02:00
ergo720 0b972c7989 Added support to read rsa key provided by the user 2018-04-12 22:19:45 +02:00
Luke Usher 8464447009 Update D3D8to9 2018-04-12 10:19:39 +01:00
RadWolfie 3bb83b0d3e Removed unused library (stb image) 2018-04-02 01:18:39 -05:00
Luke Usher e1a65a3bde Introduce functional NV2A LLE 2018-04-01 20:18:22 +01:00
ergo720 29410562c0 Also update the factory game region as well 2018-03-30 22:18:52 +02:00
ergo720 0b81db3920 Implemented MmLockUnlockBufferPages 2018-03-28 22:54:26 +02:00
PatrickvL 5f27e27a06
Merge pull request #1006 from ergo720/Nt_memory_functions
Nt memory functions
2018-03-28 14:05:51 +02:00
ergo720 d1c09dbb94 Completed all remaining kernel thunks 2018-03-27 17:57:29 +02:00
ergo720 ba7ea6781c Implemented NtProtectVirtualMemory 2018-03-25 22:57:06 +02:00
ergo720 0916f609d9 Implemented NtFreeVirtualMemory 2018-03-25 19:56:26 +02:00
ergo720 0bf3ecaf62 More bug fixes (Xbox-specific code seems to be working fine now. Test: DOA ultimate) 2018-03-20 11:54:01 +01:00
ergo720 2011647d9b Cleanup + bug fixes (now it builds) 2018-03-20 11:53:12 +01:00
ergo720 c32fdbf406 XbAlloc/Free + DeallocatePT + final cleanup (now needs testing and rebasing) 2018-03-20 11:53:08 +01:00
ergo720 f662ce76e4 Debugger functions work 2018-03-20 11:51:16 +01:00
ergo720 ff1a6cc973 Persistent memory 2018-03-20 11:51:12 +01:00
ergo720 2da096022c MmUnmapIoSpace 2018-03-20 11:48:22 +01:00
ergo720 dbc6b77434 MmDbg kernel thunk stubs 2018-03-20 11:48:20 +01:00
ergo720 8766aa57bf DeAllocateSystemMemory 2018-03-20 11:48:20 +01:00
ergo720 e3feb1c8de Introduced memory regions 2018-03-20 11:45:01 +01:00
ergo720 e884c893cf ConvertXboxToSystemPteProtection 2018-03-20 11:44:58 +01:00
ergo720 168f63946a Use a list to track free pages 2018-03-20 11:43:46 +01:00
ergo720 9d95359a63 PDE/PTE/PFN still a lot to write 2018-03-20 11:40:03 +01:00
Luke Usher 1f4f32414a Use D3D8to9 as a wrapper for D3D9 support 2018-03-07 14:22:53 +00:00
PatrickvL e15045edcb Kernel : Replaced NtDll usage in all (but one) Rtl* functions by actual implementations, from various sources (OpenXbox, Wine, ReactOS) 2018-02-17 11:56:31 +00:00
PatrickvL 00e95be25d Kernel : Start thread at PASSIVE_LEVEL IRQ level initially (turned up as an RtlAssert warning when running a debug build of the CreateDevice XDK sample) 2018-02-16 11:37:57 +01:00
PatrickvL e1ae31fa3e
Merge pull request #909 from x1nixmzeng/cxbx-debugger
Debugger
2018-02-13 21:26:00 +01:00
PatrickvL 1c77b2626f Kernel : Trigger software interrupts from within KfLowerIrql and HalRequestSoftwareInterrupt. With that, the EmuThreadDpcHandler thread can be removed. 2018-02-13 11:40:54 +01:00
PatrickvL 83e1aa7825 Kernel : Slight refactorings regarding irq levels and such (shouldn't break anything) 2018-02-12 18:55:34 +01:00
PatrickvL 3c5e916503 Kernel : Completed KeInitializeMutant, implemented KeInsertByKeyDeviceQueue, KeRemoveByKeyDeviceQueue, KeRemoveDeviceQueue (which needed a signature fix, returning a PKDEVICE_QUEUE_ENTRY and removing the SortKey argument) and part of KeRaiseIrqlToSynchLevel. 2018-02-09 18:30:56 +01:00
PatrickvL 410c66ce5c Kernel : Implemented ExInterlockedAddLargeStatistic and ExInterlockedCompareExchange64 (this one also needed a signature fix : Lock-argument isn't present on Xbox) 2018-02-09 17:51:34 +01:00
x1nixmzeng 5f3ddf6ee1 Merge https://github.com/Cxbx-Reloaded/Cxbx-Reloaded into cxbx-debugger 2018-02-07 22:05:11 +00:00
Luke Usher 954c16c32a Update to latest Cxbx-Reloaded subhook 2018-02-05 13:33:52 +00:00
Luke Usher 5c69725bbd Update included subhook 2018-02-05 13:31:56 +00:00
Luke Usher 7b596b2220 Update subhook to the latest version 2018-02-05 13:31:55 +00:00
x1nixmzeng f57a74334f Merge https://github.com/Cxbx-Reloaded/Cxbx-Reloaded into cxbx-debugger 2018-02-01 20:58:01 +00:00
ergo720 9bfae8be5d HalRegisterShutdownNotification implementation 2018-01-30 13:44:47 +01:00
ergo720 753d9d89c2 Dashboard fatal error + fix issue #878 2018-01-28 10:06:11 +01:00
ergo720 81b1d75b4a Xbox fatal error implementation 2018-01-26 09:56:26 +01:00
x1nixmzeng cf9a64c31a Updated disassembly output and reference module 2018-01-21 19:18:38 +00:00
x1nixmzeng ed02200d6c Added call stack disassembly 2018-01-21 16:12:25 +00:00