Dashboard works again

This commit is contained in:
Luke Usher 2016-09-28 20:47:09 +01:00
parent 1d89b04573
commit d142b3ae0e
4 changed files with 25 additions and 6 deletions

View File

@ -121,9 +121,8 @@ XBSYSAPI EXPORTNUM(324) XBOX_KRNL_VERSION XboxKrnlVersion;
XBSYSAPI EXPORTNUM(325) BYTE XboxSignatureKey[16];
XBSYSAPI EXPORTNUM(326) OBJECT_STRING XeImageFileName;
XBSYSAPI VOID *XeLoadSection;
XBSYSAPI VOID *XeUnloadSection;
XBSYSAPI EXPORTNUM(327) NTSTATUS NTAPI XeLoadSection(void* section);
XBSYSAPI EXPORTNUM(328) NTSTATUS NTAPI XeUnloadSection(void* section);
// ******************************************************************
// * XcSHAInit

View File

@ -527,7 +527,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
// Create default symbolic links :
{
// Arrange that the Xbe path can reside outside the partitions, and put it to g_hCurDir :
CxbxCreateSymbolicLink(DriveC, (xbeDirectory));
CxbxCreateSymbolicLink(DriveC, xbeDirectory);
EmuNtSymbolicLinkObject* xbePathSymbolicLinkObject = FindNtSymbolicLinkObjectByVolumeLetter(CxbxDefaultXbeVolumeLetter);
g_hCurDir = xbePathSymbolicLinkObject->RootDirectoryHandle;

View File

@ -4898,6 +4898,26 @@ XBSYSAPI EXPORTNUM(326) xboxkrnl::OBJECT_STRING xboxkrnl::XeImageFileName = {
};
XBSYSAPI EXPORTNUM(327) xboxkrnl::NTSTATUS NTAPI xboxkrnl::XeLoadSection(void* section)
{
if (((Xbe::SectionHeader*)section)->dwSectionRefCount > 0) {
((Xbe::SectionHeader*)section)->dwSectionRefCount++;
return STATUS_SUCCESS;
}
EmuWarning("XeLoadSection lied");
return STATUS_SUCCESS;
}
XBSYSAPI EXPORTNUM(328) xboxkrnl::NTSTATUS NTAPI xboxkrnl::XeUnloadSection(void* section)
{
if (((Xbe::SectionHeader*)section)->dwSectionRefCount == 0) {
return STATUS_INVALID_PARAMETER;
}
EmuWarning("XeUnloadSection lied");
return STATUS_SUCCESS;
}
// ******************************************************************
// * XcSHAInit

View File

@ -384,8 +384,8 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[367] =
(uint32)&xboxkrnl::XboxKrnlVersion, // 0x0144 (324) XboxKrnlVersion
(uint32)&xboxkrnl::XboxSignatureKey, // 0x0145 (325)
(uint32)&xboxkrnl::XeImageFileName, // 0x0146 (326) XeImageFileName
(uint32)PANIC(0x0147), // 0x0147 (327) XeLoadSection
(uint32)PANIC(0x0148), // 0x0148 (328) XeUnloadSection
(uint32)&xboxkrnl::XeLoadSection, // 0x0147 (327) XeLoadSection
(uint32)&xboxkrnl::XeUnloadSection, // 0x0148 (328) XeUnloadSection
(uint32)PANIC(0x0149), // 0x0149 (329) READ_PORT_BUFFER_UCHAR
(uint32)PANIC(0x014A), // 0x014A (330) READ_PORT_BUFFER_USHORT
(uint32)PANIC(0x014B), // 0x014B (331) READ_PORT_BUFFER_ULONG