Cxbx Reloaded Git (2016/12/21) is compiled. Cxbx-Reloaded is an emulator for running Microsoft Xbox (and eventually, Chihiro) games on Microsoft Windows. The project began life as a fork of Cxbx with added 64-bit support. Work is currently underway to backport some of the improvements from Dxbx. Cxbx-Reloaded is still pretty unstable, don't expect it to run much at this point.
Cxbx Reloaded Git Changelog:
* Update README.md
Direct users to the new main repository.
* Panzer Dragoon is fixed by removing the EmuHandle check
* Undo NtDeviceIoControlFile forward to NTDLL as it breaks Panzer Dragoon completely
* Use IRQL value in the emulated KPCR structure rather than overwriting the Windows TIB structure (#42)
* Use IRQL value in the emulated KPCR structure rather than overwriting the Windows TIB structure.
Note: The entire KPCR is currently per thread, this is not correct as the KPCR should be per-cpu.
The issue here is that the first part of the KPCR, NT_TIB should be per thread.
I haven't figured out a good way to keep that portion per-thread while keeping the rest of the structure global,
that said, it will function fine as long as the same thread calls the IRQL functions.
* Move KPCR fetch code into KeGetPcr();
This exists as a macro on the Xbox, but we implement it as a function because the xbox approach requires FS to point to the KPCR
This isn't possible on 64-bit Windows, even with 32-bit code, so this approach is required.
* Implement XcRC4 functions. (#43)
* Implment XcRC4 functions.
Using a (very slightly) modified version of Cryptlib (The Rc4Context structure has been re-ordered to match the order of elements in the Xbox RC4 context)
https://github.com/WaterJuice/CryptLib
* Use Rc4Xor rather than Rc4Output
* Cleanup (renames, comments and indenting) (#41)
Read GetCurrentProcess() once (g_CurrentProcessHandle further on)
Forwarded KeWaitForSingleObject to KeWaitForMultipleObjects
* Forwarded NtPulseEvent to NtDll
Deduplicated declarations.
* Merge pull request #40 from PatrickvL/ExtraLogging
Extra logging
* Merge
* Merge
* Implemented all kernel Timer functions using NtDLll
Forwarded NtCreateTimer, NtSetTimer, NtQueryTimer, NtCancelTimer to
their respective Nt counterpart.
Declared all required types for this.
Also implemented KeSetEvent minimally.
* Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master
* Merge branch 'master' of https://github.com/PatrickvL/Cxbx-Reloaded.git
* Merge remote-tracking branch 'refs/remotes/LukeUsher/master'
* Kernel improvements
New implementations : IoCreateDevice, KeGetCurrentIrql, NtFsControlFile,
RtlMoveMemory, RtlRip
Updated implementations : HalGetInterruptVector, HalReadSMBusValue,
KeInitializeInterrupt, KeRaiseIrqlToDpcLevel, KeSetBasePriorityThread,
MmAllocateContiguousMemory, NtDeviceIoControlFile, NtDuplicateObject
* Dug up some more xbox kernel signatures and types
* Started logging some flags
* Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master
Download: Cxbx Reloaded Git (2016/12/21)
Source: Here
Will we finally have an Xbox emulator that really works ?? !!
ReplyDelete