Merge pull request #18 from PatrickvL/master

here you go
This commit is contained in:
Luke Usher 2016-11-15 21:23:06 +00:00 committed by GitHub
commit 8aa099f2a3
97 changed files with 8977 additions and 8941 deletions

1
.gitignore vendored
View File

@ -77,3 +77,4 @@ packages/
#Test files
*.testsettings
src/Version.h
*.opendb

Binary file not shown.

View File

@ -195,6 +195,7 @@
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\src\Common\Logging.h" />
<ClInclude Include="..\..\src\Common\Win32\AlignPosfix1.h" />
<ClInclude Include="..\..\src\Common\Win32\AlignPrefix1.h" />
<ClInclude Include="..\..\src\Cxbx.h" />
@ -455,6 +456,7 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\Common\Exe.cpp" />
<ClCompile Include="..\..\src\Common\Logging.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\CxbxKrnl.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -515,6 +517,22 @@
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlAv.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlDbg.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlEx.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlFs.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlHal.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlIo.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKd.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKe.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlMm.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlNt.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlOb.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlPs.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlRtl.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlXbox.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlXc.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlXe.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuNtDll.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

View File

@ -40,7 +40,7 @@ XBSYSAPI EXPORTNUM(15) PVOID NTAPI ExAllocatePoolWithTag
IN ULONG Tag
);
XBSYSAPI VOID *ExEventObjectType;
XBSYSAPI EXPORTNUM(16) POBJECT_TYPE ExEventObjectType;
// ******************************************************************
// * ExFreePool
@ -58,7 +58,7 @@ XBSYSAPI VOID *ExInitializeReadWriteLock;
XBSYSAPI VOID *ExInterlockedAddLargeInteger;
XBSYSAPI VOID *ExInterlockedAddLargeStatistic;
XBSYSAPI VOID *ExInterlockedCompareExchange64;
XBSYSAPI VOID *ExMutantObjectType;
XBSYSAPI EXPORTNUM(22) POBJECT_TYPE ExMutantObjectType;
// ******************************************************************
// * ExQueryPoolBlockSize
@ -105,8 +105,8 @@ XBSYSAPI EXPORTNUM(29) NTSTATUS NTAPI ExSaveNonVolatileSetting
IN SIZE_T ValueLength
);
XBSYSAPI VOID *ExSemaphoreObjectType;
XBSYSAPI VOID *ExTimerObjectType;
XBSYSAPI EXPORTNUM(30) POBJECT_TYPE ExSemaphoreObjectType;
XBSYSAPI EXPORTNUM(31) POBJECT_TYPE ExTimerObjectType;
XBSYSAPI VOID *ExfInterlockedInsertHeadList;
XBSYSAPI VOID *ExfInterlockedInsertTailList;
XBSYSAPI VOID *ExfInterlockedRemoveHeadList;

View File

@ -24,8 +24,8 @@ XBSYSAPI EXPORTNUM(9) VOID NTAPI HalReadSMCTrayState
XBSYSAPI VOID *HalClearSoftwareInterrupt;
XBSYSAPI VOID *HalDisableSystemInterrupt;
XBSYSAPI ULONG HalDiskCachePartitionCount;
XBSYSAPI VOID *HalDiskModelNumber;
XBSYSAPI VOID *HalDiskSerialNumber;
XBSYSAPI EXPORTNUM(41) PANSI_STRING HalDiskModelNumber;
XBSYSAPI EXPORTNUM(42) PANSI_STRING HalDiskSerialNumber;
XBSYSAPI VOID *HalEnableSystemInterrupt;
// ******************************************************************

View File

@ -17,7 +17,7 @@ XBSYSAPI VOID *IoBuildAsynchronousFsdRequest;
XBSYSAPI VOID *IoBuildDeviceIoControlRequest;
XBSYSAPI VOID *IoBuildSynchronousFsdRequest;
XBSYSAPI VOID *IoCheckShareAccess;
XBSYSAPI VOID *IoCompletionObjectType;
XBSYSAPI EXPORTNUM(64) POBJECT_TYPE IoCompletionObjectType;
XBSYSAPI VOID *IoCreateDevice;
// ******************************************************************
@ -56,8 +56,8 @@ XBSYSAPI EXPORTNUM(69) NTSTATUS NTAPI IoDeleteSymbolicLink
IN PSTRING SymbolicLinkName
);
XBSYSAPI VOID *IoDeviceObjectType;
XBSYSAPI VOID *IoFileObjectType;
XBSYSAPI EXPORTNUM(70) POBJECT_TYPE IoDeviceObjectType;
XBSYSAPI EXPORTNUM(71) POBJECT_TYPE IoFileObjectType;
XBSYSAPI VOID *IoFreeIrp;
XBSYSAPI VOID *IoInitializeIrp;
XBSYSAPI VOID *IoInvalidDeviceRequest;

View File

@ -200,7 +200,7 @@ XBSYSAPI VOID *KeTestAlertThread;
// ******************************************************************
XBSYSAPI EXPORTNUM(156) volatile DWORD KeTickCount;
XBSYSAPI VOID *KeTimeIncrement;
XBSYSAPI EXPORTNUM(157) ULONG KeTimeIncrement;
XBSYSAPI EXPORTNUM(158) NTSTATUS KeWaitForMultipleObjects
(

View File

@ -12,7 +12,7 @@
#ifndef XBOXKRNL_MM_H
#define XBOXKRNL_MM_H
XBSYSAPI VOID *MmGlobalData;
XBSYSAPI EXPORTNUM(102) PVOID MmGlobalData[8];
// ******************************************************************
// * MmAllocateContiguousMemory

View File

@ -13,15 +13,13 @@
#define XBOXKRNL_OB_H
XBSYSAPI VOID *ObCreateObject;
XBSYSAPI VOID *ObDirectoryObjectType;
XBSYSAPI EXPORTNUM(240) POBJECT_TYPE ObDirectoryObjectType;
XBSYSAPI VOID *ObInsertObject;
XBSYSAPI VOID *ObMakeTemporaryObject;
XBSYSAPI VOID *ObOpenObjectByName;
XBSYSAPI VOID *ObOpenObjectByPointer;
XBSYSAPI VOID *ObpObjectHandleTable;
XBSYSAPI EXPORTNUM(245) DWORD ObpObjectHandleTable[1];
//XBSYSAPI VOID *ObReferenceObjectByHandle;
XBSYSAPI EXPORTNUM(246) BOOLEAN NTAPI ObReferenceObjectByHandle
( unsigned int a,
unsigned int b,
@ -31,7 +29,7 @@ XBSYSAPI EXPORTNUM(246) BOOLEAN NTAPI ObReferenceObjectByHandle
XBSYSAPI VOID *ObReferenceObjectByName;
XBSYSAPI VOID *ObReferenceObjectByPointer;
XBSYSAPI VOID *ObSymbolicLinkObjectType;
XBSYSAPI EXPORTNUM(249) POBJECT_TYPE ObSymbolicLinkObjectType;
XBSYSAPI VOID *ObfDereferenceObject;
XBSYSAPI VOID *ObfReferenceObject;

View File

@ -31,7 +31,7 @@ XBSYSAPI EXPORTNUM(2) VOID NTAPI AvSendTVEncoderOption
// ******************************************************************
// * AvSetDisplayMode
// ******************************************************************
XBSYSAPI EXPORTNUM(4) ULONG NTAPI AvSetDisplayMode
XBSYSAPI EXPORTNUM(3) ULONG NTAPI AvSetDisplayMode
(
IN PVOID RegisterBase,
IN ULONG Step,
@ -61,8 +61,8 @@ XBSYSAPI VOID *FscInvalidateIdleBlocks;
// ******************************************************************
XBSYSAPI EXPORTNUM(37) LONG NTAPI FscSetCacheSize(ULONG uCachePages);
XBSYSAPI VOID *KdDebuggerEnabled;
XBSYSAPI VOID *KdDebuggerNotPresent;
XBSYSAPI EXPORTNUM(88) BOOLEAN KdDebuggerEnabled;
XBSYSAPI EXPORTNUM(89) BOOLEAN KdDebuggerNotPresent;
// ******************************************************************
// * KfRaiseIrql
@ -80,7 +80,7 @@ XBSYSAPI EXPORTNUM(161) VOID NTAPI KfLowerIrql
IN UCHAR NewIrql
);
XBSYSAPI VOID *KiBugCheckData;
XBSYSAPI EXPORTNUM(162) ULONG_PTR KiBugCheckData[5];
XBSYSAPI VOID *KiUnlockDispatcherDatabase;
// ******************************************************************
@ -139,28 +139,30 @@ XBSYSAPI EXPORTNUM(336) VOID NTAPI XcSHAUpdate(UCHAR *pbSHAContext, UCHAR *pbInp
// ******************************************************************
XBSYSAPI EXPORTNUM(337) VOID NTAPI XcSHAFinal(UCHAR *pbSHAContext, UCHAR *pbDigest);
XBSYSAPI VOID *XcRC4Key;
XBSYSAPI VOID *XcRC4Crypt;
XBSYSAPI VOID *XcHMAC;
XBSYSAPI VOID *XcPKEncPublic;
XBSYSAPI VOID *XcPKDecPrivate;
XBSYSAPI VOID *XcPKGetKeyLen;
XBSYSAPI VOID *XcVerifyPKCS1Signature;
XBSYSAPI VOID *XcModExp;
XBSYSAPI VOID *XcDESKeyParity;
XBSYSAPI VOID *XcKeyTable;
XBSYSAPI VOID *XcBlockCrypt;
XBSYSAPI VOID *XcBlockCryptCBC;
XBSYSAPI VOID *XcCryptService;
XBSYSAPI VOID *XcUpdateCrypto;
XBSYSAPI VOID *XboxLANKey;
XBSYSAPI VOID *XboxAlternateSignatureKeys;
XBSYSAPI VOID *XePublicKeyData;
XBSYSAPI VOID *IdexChannelObject;
XBSYSAPI VOID *xsnprintf; // prefixed with "x" to avoid xlibc collisions
XBSYSAPI VOID *xsprintf; // ""
XBSYSAPI VOID *xvsnprintf; // ""
XBSYSAPI VOID *xvsprintf; // ""
XBSYSAPI EXPORTNUM(338) VOID *XcRC4Key;
XBSYSAPI EXPORTNUM(339) VOID *XcRC4Crypt;
XBSYSAPI EXPORTNUM(340) VOID *XcHMAC;
XBSYSAPI EXPORTNUM(341) VOID *XcPKEncPublic;
XBSYSAPI EXPORTNUM(342) VOID *XcPKDecPrivate;
XBSYSAPI EXPORTNUM(343) VOID *XcPKGetKeyLen;
XBSYSAPI EXPORTNUM(344) VOID *XcVerifyPKCS1Signature;
XBSYSAPI EXPORTNUM(345) VOID *XcModExp;
XBSYSAPI EXPORTNUM(346) VOID *XcDESKeyParity;
XBSYSAPI EXPORTNUM(347) VOID *XcKeyTable;
XBSYSAPI EXPORTNUM(348) VOID *XcBlockCrypt;
XBSYSAPI EXPORTNUM(349) VOID *XcBlockCryptCBC;
XBSYSAPI EXPORTNUM(350) VOID *XcCryptService;
XBSYSAPI EXPORTNUM(351) VOID *XcUpdateCrypto;
XBSYSAPI EXPORTNUM(353) XBOX_KEY_DATA XboxLANKey;
XBSYSAPI EXPORTNUM(354) XBOX_KEY_DATA XboxAlternateSignatureKeys;
XBSYSAPI EXPORTNUM(355) DWORD XePublicKeyData;
XBSYSAPI EXPORTNUM(357) BYTE IdexChannelObject[0x100];
XBSYSAPI EXPORTNUM(361) VOID *xsnprintf; // prefixed with "x" to avoid xlibc collisions
XBSYSAPI EXPORTNUM(362) VOID *xsprintf; // ""
XBSYSAPI EXPORTNUM(363) VOID *xvsnprintf; // ""
XBSYSAPI EXPORTNUM(364) VOID *xvsprintf; // ""
#endif

View File

@ -385,6 +385,15 @@ typedef struct _OBJECT_ATTRIBUTES
}
OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
// ******************************************************************
// * OBJECT_TYPE
// ******************************************************************
typedef struct _OBJECT_TYPE
{
// TODO : How is this defined?
}
OBJECT_TYPE, *POBJECT_TYPE;
// ******************************************************************
// * FSINFOCLASS
// ******************************************************************
@ -421,6 +430,17 @@ typedef struct _FILE_DIRECTORY_INFORMATION
}
FILE_DIRECTORY_INFORMATION;
// ******************************************************************
// * KSYSTEM_TIME
// ******************************************************************
typedef struct _KSYSTEM_TIME
{
/* 0x00 */ ULONG LowPart;
/* 0x04 */ LONG High1Time;
/* 0x08 */ LONG High2Time;
} // Size = 0x0C
KSYSTEM_TIME, *PKSYSTEM_TIME;
// ******************************************************************
// * MM_STATISTICS
// ******************************************************************
@ -896,6 +916,9 @@ typedef struct _XBOX_HARDWARE_INFO
}
XBOX_HARDWARE_INFO;
const int XBOX_KEY_LENGTH = 16;
typedef UCHAR XBOX_KEY_DATA[XBOX_KEY_LENGTH];
// ******************************************************************
// * TIME_FIELDS
// ******************************************************************

41
src/Common/Logging.cpp Normal file
View File

@ -0,0 +1,41 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Logging.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#include "Logging.h"
// For thread_local, see : http://en.cppreference.com/w/cpp/language/storage_duration
thread_local const DWORD _CurrentThreadId = GetCurrentThreadId();
// TODO : Use Boost.Format http://www.boost.org/doc/libs/1_53_0/libs/format/index.html
thread_local std::string _logPrefix;

111
src/Common/Logging.h Normal file
View File

@ -0,0 +1,111 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Logging.h
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef _LOGGING_H
#define _LOGGING_H
#pragma once
#include "Cxbx.h"
// From http://stackoverflow.com/questions/31050113/how-to-extract-the-source-filename-without-path-and-suffix-at-compile-time
constexpr const char* str_end(const char *str) {
return *str ? str_end(str + 1) : str;
}
constexpr bool str_slant(const char *str) {
return *str == '\\' ? true : (*str ? str_slant(str + 1) : false);
}
constexpr const char* r_slant(const char* str) {
return *str == '\\' ? (str + 1) : r_slant(str - 1);
}
constexpr const char* file_name(const char* str) {
return str_slant(str) ? r_slant(str_end(str)) : str;
}
#define __FILENAME__ file_name(__FILE__)
#include <windows.h> // for DWORD
#include <sstream> // for std::stringstream
#include <iostream> // For std::cout
#include <iomanip> // For std::setw
// For thread_local, see : http://en.cppreference.com/w/cpp/language/storage_duration
extern thread_local const DWORD _CurrentThreadId;
// TODO : Use Boost.Format http://www.boost.org/doc/libs/1_53_0/libs/format/index.html
extern thread_local std::string _logPrefix;
#define LOG_FUNC_BEGIN \
do { if (_DEBUG_TRACE) if(g_bPrintfOn) { \
if (_logPrefix.empty()) { \
std::stringstream tmp; \
tmp << __FILENAME__ << " (0x" << std::hex << std::uppercase << _CurrentThreadId << "): "; \
_logPrefix = tmp.str(); \
}; \
std::stringstream msg; \
msg << _logPrefix << __func__ << "(";
// LOG_FUNC_ARG_OUT writes output via all available ostream << operator overloads, adding detail where possible
#define LOG_FUNC_ARG(arg) \
msg << "\n " << std::setw(26) << std::left << std::setfill(' ') << #arg << " : " << arg;
// LOG_FUNC_ARG_OUT prevents expansion of types, by only rendering as a pointer
#define LOG_FUNC_ARG_OUT(arg) \
msg << "\n " << std::setw(26) << std::left << std::setfill(' ') << #arg << " : 0x" << (void*)arg;
// LOG_FUNC_END closes off function and optional argument logging
#define LOG_FUNC_END \
msg.seekg(-1, std::ios::end); if (msg.get() != '(') msg << '\n'; \
msg << ");\n"; \
std::cout << msg.str(); \
} } while (0)
// Short hand defines :
// Log function without arguments
#define LOG_FUNC() LOG_FUNC_BEGIN LOG_FUNC_END
// Log function with one argument
#define LOG_FUNC_ONE_ARG(arg) LOG_FUNC_BEGIN LOG_FUNC_ARG(arg) LOG_FUNC_END
// Log function with one out argument
#define LOG_FUNC_ONE_ARG_OUT(arg) LOG_FUNC_BEGIN LOG_FUNC_ARG_OUT(arg) LOG_FUNC_END
#define UNIMPLEMENTED() \
do { if (_DEBUG_TRACE) if(g_bPrintfOn) { \
std::cout << __func__ << " ignored!\n"; \
} } while (0)
#endif _LOGGING_H

View File

@ -136,8 +136,8 @@ CXBXKRNL_API void EmuShared::Cleanup()
// ******************************************************************
CXBXKRNL_API EmuShared::EmuShared()
{
m_XBController.Load("Software\\Cxbx-Reloaded\\XBController");
m_XBVideo.Load("Software\\Cxbx-Reloaded\\XBVideo");
m_XBController.Load("Software\\Cxbx\\XBController");
m_XBVideo.Load("Software\\Cxbx\\XBVideo");
}
// ******************************************************************
@ -145,6 +145,6 @@ CXBXKRNL_API EmuShared::EmuShared()
// ******************************************************************
CXBXKRNL_API EmuShared::~EmuShared()
{
m_XBController.Save("Software\\Cxbx-Reloaded\\XBController");
m_XBVideo.Save("Software\\Cxbx-Reloaded\\XBVideo");
m_XBController.Save("Software\\Cxbx\\XBController");
m_XBVideo.Save("Software\\Cxbx\\XBVideo");
}

View File

@ -49,6 +49,8 @@ Mutex::Mutex()
// ******************************************************************
void Mutex::Lock()
{
LONG _CurrentProcessId = (LONG) GetCurrentProcessId();
LONG _CurrentThreadId = (LONG) GetCurrentThreadId();
while(true)
{
// Grab the lock, letting us look at the variables
@ -63,8 +65,8 @@ void Mutex::Lock()
if (!m_OwnerProcess)
{
// Take ownership
InterlockedExchange(&m_OwnerProcess, (LONG)GetCurrentProcessId());
InterlockedExchange(&m_OwnerThread, (LONG)GetCurrentThreadId());
InterlockedExchange(&m_OwnerProcess, _CurrentProcessId);
InterlockedExchange(&m_OwnerThread, _CurrentThreadId);
InterlockedExchange(&m_LockCount, 1);
// Unlock the mutex itself
@ -76,13 +78,14 @@ void Mutex::Lock()
// If a different process owns this mutex right now, unlock
// the mutex lock and wait. The reading need not be
// interlocked.
if ((m_OwnerProcess != (LONG) GetCurrentProcessId()) ||
(m_OwnerThread != (LONG) GetCurrentThreadId()))
if ((m_OwnerProcess != _CurrentProcessId) ||
(m_OwnerThread != _CurrentThreadId))
{
// Unlock the mutex itself
InterlockedExchange(&m_MutexLock, 0);
// Wait and try again
// TODO : Improve performance replacing Sleep(1) with YieldProcessor and perhaps an optional SpinLock
Sleep(1);
continue;
}

View File

@ -371,7 +371,7 @@ bool XBController::ConfigPoll(char *szStatus)
Map(CurConfigObject, DeviceInstance.tszInstanceName, dwHow, dwFlags);
printf("Cxbx-Reloaded: Detected %s%s on %s%lu\n", szDirection, ObjectInstance.tszName, DeviceInstance.tszInstanceName, ObjectInstance.dwType);
printf("Cxbx: Detected %s%s on %s%lu\n", szDirection, ObjectInstance.tszName, DeviceInstance.tszInstanceName, ObjectInstance.dwType);
sprintf(szStatus, "Success: %s Mapped to '%s%s' on '%s'!", m_DeviceNameLookup[CurConfigObject], szDirection, ObjectInstance.tszName, DeviceInstance.tszInstanceName);
@ -408,7 +408,7 @@ bool XBController::ConfigPoll(char *szStatus)
{
Map(CurConfigObject, "SysKeyboard", dwHow, dwFlags);
printf("Cxbx-Reloaded: Detected Key %d on SysKeyboard\n", dwHow);
printf("Cxbx: Detected Key %d on SysKeyboard\n", dwHow);
sprintf(szStatus, "Success: %s Mapped to Key %d on SysKeyboard", m_DeviceNameLookup[CurConfigObject], dwHow);
@ -446,7 +446,7 @@ bool XBController::ConfigPoll(char *szStatus)
{
Map(CurConfigObject, "SysMouse", dwHow, dwFlags);
printf("Cxbx-Reloaded: Detected Button %d on SysMouse\n", dwHow);
printf("Cxbx: Detected Button %d on SysMouse\n", dwHow);
sprintf(szStatus, "Success: %s Mapped to Button %d on SysMouse", m_DeviceNameLookup[CurConfigObject], dwHow);
@ -518,7 +518,7 @@ bool XBController::ConfigPoll(char *szStatus)
Map(CurConfigObject, "SysMouse", dwHow, dwFlags);
printf("Cxbx-Reloaded: Detected Movement on the %s%s on SysMouse\n", szDirection, szObjName);
printf("Cxbx: Detected Movement on the %s%s on SysMouse\n", szDirection, szObjName);
sprintf(szStatus, "Success: %s Mapped to %s%s on SysMouse", m_DeviceNameLookup[CurConfigObject], szDirection, szObjName);
@ -1064,7 +1064,7 @@ int XBController::Insert(const char *szDeviceName)
}
}
MessageBox(NULL, "Unexpected Circumstance (Too Many Controller Devices)! Please contact caustik!", "Cxbx-Reloaded", MB_OK | MB_ICONEXCLAMATION);
MessageBox(NULL, "Unexpected Circumstance (Too Many Controller Devices)! Please contact caustik!", "Cxbx", MB_OK | MB_ICONEXCLAMATION);
ExitProcess(1);

View File

@ -1027,7 +1027,7 @@ void Xbe::DumpInformation(FILE *x_file)
if(GetError() != 0)
return;
fprintf(x_file, "XBE information generated by Cxbx-Reloaded (Version " _CXBX_VERSION ")\n");
fprintf(x_file, "XBE information generated by CXBX (Version " _CXBX_VERSION ")\n");
fprintf(x_file, "\n");
fprintf(x_file, "Title identified as \"%s\"\n", m_szAsciiTitle);
fprintf(x_file, "\n");

View File

@ -1023,7 +1023,7 @@ void Xbe::DumpInformation(FILE *x_file)
if(GetError() != 0)
return;
fprintf(x_file, "XBE information generated by Cxbx-Reloaded (Version " _CXBX_VERSION ")\n");
fprintf(x_file, "XBE information generated by CXBX (Version " _CXBX_VERSION ")\n");
fprintf(x_file, "\n");
fprintf(x_file, "Title identified as \"%s\"\n", m_szAsciiTitle);
fprintf(x_file, "\n");

View File

@ -70,7 +70,7 @@ typedef signed long sint32;
#endif
/*! define this to trace intercepted function calls */
#ifdef _DEBUG
#define _DEBUG_TRACE
#define _DEBUG_TRACE 1
#endif
/*! define this to trace warnings */
#define _DEBUG_WARNINGS
@ -100,12 +100,11 @@ enum DebugMode { DM_NONE, DM_CONSOLE, DM_FILE };
/*! runtime DbgPrintf toggle boolean */
extern volatile bool g_bPrintfOn;
/*! DbgPrintf enabled if _DEBUG_TRACE is set */
#ifdef _DEBUG_TRACE
#define DbgPrintf if(g_bPrintfOn) printf
#else
inline void null_func(...) { }
#define DbgPrintf null_func
#ifdef _MSC_VER
#pragma warning(disable : 4477)
#endif
#endif
/*! DbgPrintf enabled if _DEBUG_TRACE is set */
#define DbgPrintf(fmt, ...) do { if (_DEBUG_TRACE) if(g_bPrintfOn) printf(fmt, ##__VA_ARGS__); } while (0)
#endif CXBX_H

View File

@ -83,7 +83,7 @@ INT_PTR CALLBACK DlgControllerConfigProc(HWND hWndDlg, UINT uMsg, WPARAM wParam,
/*! if changes have been made, check if the user wants to save them */
if(g_bHasChanges)
{
int ret = MessageBox(hWndDlg, "Do you wish to apply your changes?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNOCANCEL);
int ret = MessageBox(hWndDlg, "Do you wish to apply your changes?", "Cxbx", MB_ICONQUESTION | MB_YESNOCANCEL);
switch(ret)
{

View File

@ -149,7 +149,7 @@ INT_PTR CALLBACK DlgVideoConfigProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPAR
/*! if changes have been made, check if the user wants to save them */
if(g_bHasChanges)
{
int ret = MessageBox(hWndDlg, "Do you wish to apply your changes?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNOCANCEL);
int ret = MessageBox(hWndDlg, "Do you wish to apply your changes?", "Cxbx", MB_ICONQUESTION | MB_YESNOCANCEL);
switch(ret)
{

View File

@ -48,7 +48,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
/*! verify CxbxKrnl.dll is the same version as Cxbx.exe */
if(!CxbxKrnlVerifyVersion(_CXBX_VERSION))
{
MessageBox(NULL, "CxbxKrnl.dll is the incorrect version", "Cxbx-Reloaded", MB_OK);
MessageBox(NULL, "CxbxKrnl.dll is the incorrect version", "Cxbx", MB_OK);
return 1;
}
@ -85,7 +85,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
/*! if an error occurred, notify user */
if(MainWindow->GetError() != 0)
{
MessageBox(NULL, MainWindow->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(NULL, MainWindow->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
}
delete MainWindow;

View File

@ -40,7 +40,7 @@
WndAbout::WndAbout(HINSTANCE x_hInstance, HWND x_parent) : Wnd(x_hInstance)
{
m_classname = "WndAbout";
m_wndname = "Cxbx-Reloaded : About";
m_wndname = "Cxbx : About";
m_w = 400;
m_h = 300;

View File

@ -53,7 +53,7 @@ WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m
// initialize members
{
m_classname = "WndMain";
m_wndname = "Cxbx-Reloaded " _CXBX_VERSION;
m_wndname = "Cxbx " _CXBX_VERSION;
m_w = 640;
m_h = 480;
@ -315,7 +315,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
char AsciiTitle[255];
sprintf(AsciiTitle, "Cxbx-Reloaded : Emulating %s...", m_Xbe->m_szAsciiTitle);
sprintf(AsciiTitle, "Cxbx : Emulating %s...", m_Xbe->m_szAsciiTitle);
SetWindowText(m_hwnd, AsciiTitle);
@ -326,7 +326,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
case WM_DESTROY:
{
m_hwndChild = NULL;
SetWindowText(m_hwnd, "Cxbx-Reloaded " _CXBX_VERSION);
SetWindowText(m_hwnd, "Cxbx " _CXBX_VERSION);
RefreshMenus();
}
break;
@ -386,7 +386,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(m_Xbe != 0 && m_Xbe->GetError() == 0)
sprintf(buffer, "%s Loaded!", m_Xbe->m_szAsciiTitle);
else
sprintf(buffer, "%s", "Disclaimer: Cxbx-Reloaded has no affiliation with Microsoft");
sprintf(buffer, "%s", "Disclaimer: Cxbx has no affiliation with Microsoft");
RECT rect = {0, 480-15-5, 640-100-4-69, 480-5};
@ -615,7 +615,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
// ask permission to overwrite if file already exists
if(_access(ofn.lpstrFile, 0) != -1)
{
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNO) != IDYES)
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx", MB_ICONQUESTION | MB_YESNO) != IDYES)
return TRUE;
}
@ -686,14 +686,14 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
}
if(m_Xbe->GetError() != 0)
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
else
{
char buffer[255];
sprintf(buffer, "%s's logo bitmap was successfully exported.", m_Xbe->m_szAsciiTitle);
MessageBox(m_hwnd, buffer, "Cxbx-Reloaded", MB_ICONINFORMATION | MB_OK);
MessageBox(m_hwnd, buffer, "Cxbx", MB_ICONINFORMATION | MB_OK);
printf("WndMain: %s\n", buffer);
}
@ -772,7 +772,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(bmp_err != 0)
{
MessageBox(m_hwnd, bmp_err, "Cxbx-Reloaded", MB_OK | MB_ICONEXCLAMATION);
MessageBox(m_hwnd, bmp_err, "Cxbx", MB_OK | MB_ICONEXCLAMATION);
break;
}
}
@ -781,7 +781,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(m_Xbe->GetError() != 0)
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
if(m_Xbe->IsFatal())
CloseXbe();
@ -801,7 +801,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
printf("WndMain: %s\n", buffer);
MessageBox(m_hwnd, buffer, "Cxbx-Reloaded", MB_ICONINFORMATION | MB_OK);
MessageBox(m_hwnd, buffer, "Cxbx", MB_ICONINFORMATION | MB_OK);
}
}
}
@ -883,7 +883,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
// ask permission to overwrite if file exists
if(_access(ofn.lpstrFile, 0) != -1)
{
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNO) != IDYES)
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx", MB_ICONQUESTION | MB_YESNO) != IDYES)
return TRUE;
}
@ -893,7 +893,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
// verify file was opened
if(TxtFile == 0)
MessageBox(m_hwnd, "Could not open text file.", "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, "Could not open text file.", "Cxbx", MB_ICONSTOP | MB_OK);
else
{
m_Xbe->DumpInformation(TxtFile);
@ -902,7 +902,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(m_Xbe->GetError())
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
}
else
{
@ -912,7 +912,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
printf("WndMain: %s\n", buffer);
MessageBox(m_hwnd, buffer, "Cxbx-Reloaded", MB_ICONINFORMATION | MB_OK);
MessageBox(m_hwnd, buffer, "Cxbx", MB_ICONINFORMATION | MB_OK);
}
}
}
@ -927,7 +927,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(m_Xbe->GetError())
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
}
else
{
@ -955,7 +955,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
else
m_KrnlDebug = DM_NONE;
MessageBox(m_hwnd, "This will not take effect until the next time emulation is started.\n", "Cxbx-Reloaded", MB_OK);
MessageBox(m_hwnd, "This will not take effect until the next time emulation is started.\n", "Cxbx", MB_OK);
m_bExeChanged = true;
@ -995,7 +995,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
if(GetSaveFileName(&ofn) != FALSE)
{
MessageBox(m_hwnd, "This will not take effect until emulation is (re)started.\n", "Cxbx-Reloaded", MB_OK);
MessageBox(m_hwnd, "This will not take effect until emulation is (re)started.\n", "Cxbx", MB_OK);
strncpy(m_KrnlDebugFilename, ofn.lpstrFile, 259);
@ -1107,7 +1107,7 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
Sleep(10);
if(AboutWnd->GetError() != 0)
MessageBox(m_hwnd, AboutWnd->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, AboutWnd->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
delete AboutWnd;
}
@ -1219,7 +1219,7 @@ void WndMain::LoadLogo()
if(m_Xbe->GetError() != 0)
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONEXCLAMATION | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONEXCLAMATION | MB_OK);
if(m_Xbe->IsFatal())
CloseXbe();
@ -1405,7 +1405,7 @@ void WndMain::UpdateDebugConsoles()
{
freopen("CONOUT$", "wt", stdout);
SetConsoleTitle("Cxbx-Reloaded : Debug Console");
SetConsoleTitle("Cxbx : Debug Console");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
@ -1510,7 +1510,7 @@ void WndMain::OpenXbe(const char *x_filename)
if(m_Xbe->GetError() != 0)
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
delete m_Xbe; m_Xbe = 0;
@ -1588,7 +1588,7 @@ void WndMain::CloseXbe()
if(m_bXbeChanged)
{
int ret = MessageBox(m_hwnd, "Changes have been made, do you wish to save?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNOCANCEL);
int ret = MessageBox(m_hwnd, "Changes have been made, do you wish to save?", "Cxbx", MB_ICONQUESTION | MB_YESNOCANCEL);
if(ret == IDYES)
SaveXbeAs();
@ -1626,7 +1626,7 @@ void WndMain::SaveXbe(const char *x_filename)
// ask permission to overwrite if the file already exists
if(_access(x_filename, 0) != -1)
{
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNO) != IDYES)
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx", MB_ICONQUESTION | MB_YESNO) != IDYES)
return;
}
@ -1635,7 +1635,7 @@ void WndMain::SaveXbe(const char *x_filename)
m_Xbe->Export(x_filename);
if(m_Xbe->GetError() != 0)
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
else
{
char buffer[255];
@ -1644,7 +1644,7 @@ void WndMain::SaveXbe(const char *x_filename)
printf("WndMain: %s was successfully saved.\n", m_Xbe->m_szAsciiTitle);
MessageBox(m_hwnd, buffer, "Cxbx-Reloaded", MB_ICONINFORMATION | MB_OK);
MessageBox(m_hwnd, buffer, "Cxbx", MB_ICONINFORMATION | MB_OK);
m_bXbeChanged = false;
}
@ -1685,7 +1685,7 @@ void WndMain::ImportExe(const char *x_filename)
if(i_exe->GetError() != 0)
{
MessageBox(m_hwnd, i_exe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, i_exe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
delete i_exe;
@ -1696,7 +1696,7 @@ void WndMain::ImportExe(const char *x_filename)
if(m_Xbe->GetError() != 0)
{
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
delete m_Xbe; m_Xbe = 0;
@ -1799,7 +1799,7 @@ bool WndMain::ConvertToExe(const char *x_filename, bool x_bVerifyIfExists, HWND
{
if(_access(filename, 0) != -1)
{
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNO) != IDYES)
if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx", MB_ICONQUESTION | MB_YESNO) != IDYES)
return false;
}
}
@ -1812,7 +1812,7 @@ bool WndMain::ConvertToExe(const char *x_filename, bool x_bVerifyIfExists, HWND
if(i_EmuExe.GetError() != 0)
{
MessageBox(m_hwnd, i_EmuExe.GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, i_EmuExe.GetError(), "Cxbx", MB_ICONSTOP | MB_OK);
return false;
}
else
@ -1856,12 +1856,12 @@ void WndMain::StartEmulation(EnumAutoConvert x_AutoConvert, HWND hwndParent)
GetModuleFileName(GetModuleHandle(NULL), szExeFileName, MAX_PATH);
char szArgsBuffer[4096];
snprintf(szArgsBuffer, 4096, "/load \"%s\" %d %d \"%s\"", m_XbeFilename, hwndParent, m_KrnlDebug, m_KrnlDebugFilename);
snprintf(szArgsBuffer, 4096, "/load \"%s\" %d %d \"%s\"", m_XbeFilename, (int)hwndParent, (int)m_KrnlDebug, m_KrnlDebugFilename);
if((int)ShellExecute(NULL, "open", szExeFileName, szArgsBuffer, szBuffer, SW_SHOWDEFAULT) <= 32)
{
m_bCanStart = true;
MessageBox(m_hwnd, "Emulation failed.\n\n If this message repeats, the Xbe is not supported.", "Cxbx-Reloaded", MB_ICONSTOP | MB_OK);
MessageBox(m_hwnd, "Emulation failed.\n\n If this message repeats, the Xbe is not supported.", "Cxbx", MB_ICONSTOP | MB_OK);
printf("WndMain: %s shell failed.\n", m_Xbe->m_szAsciiTitle);
}
@ -1878,7 +1878,7 @@ void WndMain::StopEmulation()
if(!IsWindow(m_hwndChild))
{
m_hwndChild = NULL;
SetWindowText(m_hwnd, "Cxbx-Reloaded " _CXBX_VERSION);
SetWindowText(m_hwnd, "Cxbx " _CXBX_VERSION);
RefreshMenus();
}

View File

@ -290,10 +290,12 @@ extern "C" CXBXKRNL_API void CxbxKrnlMain(int argc, char* argv[])
memcpy((void*)(CxbxKrnl_Xbe->m_Header.dwBaseAddr + sizeof(Xbe::Header)), CxbxKrnl_Xbe->m_HeaderEx, CxbxKrnl_Xbe->m_ExSize);
// Load Sections
for (int i = 0; i < CxbxKrnl_Xbe->m_Header.dwSections; i++) {
for (uint32 i = 0; i < CxbxKrnl_Xbe->m_Header.dwSections; i++) {
memcpy((void*)CxbxKrnl_Xbe->m_SectionHeader[i].dwVirtualAddr, CxbxKrnl_Xbe->m_bzSection[i], CxbxKrnl_Xbe->m_SectionHeader[i].dwSizeofRaw);
}
ConnectWindowsTimersToThunkTable();
// Fixup Kernel Imports
uint32 kt = CxbxKrnl_Xbe->m_Header.dwKernelImageThunkAddr;
@ -372,7 +374,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
freopen("CONOUT$", "wt", stdout);
freopen("CONIN$", "rt", stdin);
SetConsoleTitle("Cxbx-Reloaded : Kernel Debug Console");
SetConsoleTitle("Cxbx : Kernel Debug Console");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
@ -457,7 +459,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
// Initialize devices :
char szBuffer[260];
SHGetSpecialFolderPath(NULL, szBuffer, CSIDL_APPDATA, TRUE);
strcat(szBuffer, "\\Cxbx-Reloaded\\");
strcat(szBuffer, "\\Cxbx\\");
std::string basePath(szBuffer);
CxbxBasePath = basePath + "\\EmuDisk\\";
@ -506,7 +508,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
std::string fileName(xbePath);
xboxkrnl::XeImageFileName.Buffer = (PCHAR)malloc(MAX_PATH);
sprintf(xboxkrnl::XeImageFileName.Buffer, "%c:\\%s", CxbxDefaultXbeVolumeLetter, fileName.c_str());
xboxkrnl::XeImageFileName.Length = strlen(xboxkrnl::XeImageFileName.Buffer);
xboxkrnl::XeImageFileName.Length = (USHORT)strlen(xboxkrnl::XeImageFileName.Buffer);
xboxkrnl::XeImageFileName.MaximumLength = MAX_PATH;
DbgPrintf("EmuMain : XeImageFileName = %s\n", xboxkrnl::XeImageFileName.Buffer);
@ -559,7 +561,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
}
DbgPrintf("EmuMain : Determining CPU affinity.");
DbgPrintf("EmuMain : Determining CPU affinity.\n");
// Make sure the Xbox1 code runs on one core (as the box itself has only 1 CPU,
// this will better aproximate the environment with regard to multi-threading) :

View File

@ -79,7 +79,7 @@ CXBXKRNL_API void CxbxKrnlPanic();
CXBXKRNL_API void CxbxKrnlNoFunc();
/*! kernel thunk table */
extern CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[367];
extern CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379];
/*! thread local storage structure */
extern CXBXKRNL_API Xbe::TLS *CxbxKrnl_TLS;
@ -97,6 +97,8 @@ extern CXBXKRNL_API HWND CxbxKrnl_hEmuParent;
extern CXBXKRNL_API DebugMode CxbxKrnl_DebugMode;
extern CXBXKRNL_API char* CxbxKrnl_DebugFileName;
extern void ConnectWindowsTimersToThunkTable();
#ifdef __cplusplus
}
#endif

View File

@ -184,7 +184,7 @@ extern int EmuException(LPEXCEPTION_POINTERS e)
e->ContextRecord->Eip += 1;
int ret = MessageBox(g_hEmuWindow, buffer, "Cxbx-Reloaded", MB_ICONSTOP | MB_ABORTRETRYIGNORE);
int ret = MessageBox(g_hEmuWindow, buffer, "Cxbx", MB_ICONSTOP | MB_ABORTRETRYIGNORE);
if(ret == IDABORT)
{
@ -245,7 +245,7 @@ extern int EmuException(LPEXCEPTION_POINTERS e)
" Press \"Cancel\" to debug.",
e->ExceptionRecord->ExceptionCode, e->ContextRecord->Eip);
if(MessageBox(g_hEmuWindow, buffer, "Cxbx-Reloaded", MB_ICONSTOP | MB_OKCANCEL) == IDOK)
if(MessageBox(g_hEmuWindow, buffer, "Cxbx", MB_ICONSTOP | MB_OKCANCEL) == IDOK)
{
printf("EmuMain (0x%X): Aborting Emulation\n", GetCurrentThreadId());
fflush(stdout);
@ -300,13 +300,13 @@ int ExitException(LPEXCEPTION_POINTERS e)
fflush(stdout);
MessageBox(g_hEmuWindow, "Warning: Could not safely terminate process!", "Cxbx-Reloaded", MB_OK);
MessageBox(g_hEmuWindow, "Warning: Could not safely terminate process!", "Cxbx", MB_OK);
count++;
if(count > 1)
{
MessageBox(g_hEmuWindow, "Warning: Multiple Problems!", "Cxbx-Reloaded", MB_OK);
MessageBox(g_hEmuWindow, "Warning: Multiple Problems!", "Cxbx", MB_OK);
return EXCEPTION_CONTINUE_SEARCH;
}

View File

@ -184,7 +184,7 @@ std::vector<XboxResolution> XboxResolutions = {
bool IsValidXboxDisplayMode(XTL::D3DDISPLAYMODE PCDisplayMode, int PCModeNr)
{
for (int i = 0; i < XboxResolutions.size(); i++) {
for (size_t i = 0; i < XboxResolutions.size(); i++) {
if (XboxResolutions[i].W == PCDisplayMode.Width && XboxResolutions[i].H == PCDisplayMode.Height) {
XboxResolutions[i].PCMode = PCModeNr;
@ -364,7 +364,7 @@ static DWORD WINAPI EmuRenderWindow(LPVOID lpVoid)
wcstombs(tAsciiTitle, XbeCert->wszTitleName, 40);
}
sprintf(AsciiTitle, "Cxbx-Reloaded : Emulating %s", tAsciiTitle);
sprintf(AsciiTitle, "Cxbx : Emulating %s", tAsciiTitle);
}
// create the window
@ -2172,10 +2172,6 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_GetBackBuffer
X_D3DSurface **ppBackBuffer
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_GetBackBuffer\n"
"(\n"
" BackBuffer : 0x%.08X\n"
@ -2183,9 +2179,6 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_GetBackBuffer
" ppBackBuffer : 0x%.08X\n"
");\n",
GetCurrentThreadId(), BackBuffer, Type, ppBackBuffer);
}
#endif
*ppBackBuffer = EmuIDirect3DDevice8_GetBackBuffer2(BackBuffer);
@ -2825,19 +2818,12 @@ VOID __fastcall XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1
CONST PVOID pConstantData
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexShaderConstant1\n"
"(\n"
" Register : 0x%.08X\n"
" pConstantData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Register, pConstantData);
}
#endif
XTL::EmuIDirect3DDevice8_SetVertexShaderConstant(Register, pConstantData, 1);
@ -2853,19 +2839,12 @@ VOID __fastcall XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4
CONST PVOID pConstantData
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexShaderConstant4\n"
"(\n"
" Register : 0x%.08X\n"
" pConstantData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Register, pConstantData);
}
#endif
XTL::EmuIDirect3DDevice8_SetVertexShaderConstant(Register, pConstantData, 4);
@ -2882,10 +2861,6 @@ VOID __fastcall XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline
DWORD ConstantCount
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexShaderConstantNotInline\n"
"(\n"
" Register : 0x%.08X\n"
@ -2893,9 +2868,6 @@ VOID __fastcall XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline
" ConstantCount : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Register, pConstantData, ConstantCount);
}
#endif
XTL::EmuIDirect3DDevice8_SetVertexShaderConstant(Register, pConstantData, ConstantCount / 4);
@ -3914,10 +3886,6 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetVertexData2f
FLOAT b
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexData2f >>\n"
"(\n"
" Register : 0x%.08X\n"
@ -3925,9 +3893,6 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetVertexData2f
" b : %f\n"
");\n",
GetCurrentThreadId(), Register, a, b);
}
#endif
return EmuIDirect3DDevice8_SetVertexData4f(Register, a, b, 0.0f, 1.0f);
}
@ -3945,10 +3910,6 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetVertexData2s
SHORT b
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexData2s >>\n"
"(\n"
" Register : 0x%.08X\n"
@ -3956,9 +3917,6 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetVertexData2s
" b : %d\n"
");\n",
GetCurrentThreadId(), Register, a, b);
}
#endif
DWORD dwA = a, dwB = b;
@ -4224,19 +4182,12 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetVertexDataColor
D3DCOLOR Color
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetVertexDataColor >>\n"
"(\n"
" Register : 0x%.08X\n"
" Color : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Register, Color);
}
#endif
FLOAT a = DWtoF((Color & 0xFF000000) >> 24);
FLOAT r = DWtoF((Color & 0x00FF0000) >> 16);
@ -5631,10 +5582,6 @@ VOID WINAPI XTL::EmuGet2DSurfaceDescD
X_D3DSURFACE_DESC *pDesc
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuD3D8 (0x%X): EmuGet2DSurfaceDescD\n"
"(\n"
" pPixelContainer : 0x%.08X\n"
@ -5642,9 +5589,6 @@ VOID WINAPI XTL::EmuGet2DSurfaceDescD
");\n",
GetCurrentThreadId(), pPixelContainer, pDesc);
}
#endif
EmuGet2DSurfaceDesc(pPixelContainer, 0xFEFEFEFE, pDesc);
return;
@ -6297,7 +6241,7 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_UpdateOverlay
// update overlay!
if(g_bSupportsYUY2)
{
RECT SourRect = {0, 0, g_dwOverlayW, g_dwOverlayH}, DestRect;
RECT SourRect = {0, 0, (LONG)g_dwOverlayW, (LONG)g_dwOverlayH}, DestRect;
MONITORINFO MonitorInfo = {0};
int nTitleHeight = 0;//GetSystemMetrics(SM_CYCAPTION);
@ -8700,8 +8644,6 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_GetShaderConstantMode
DWORD *pMode
)
{
#ifdef _DEBUG_TRACE
{
DbgPrintf( "EmuD3D8 (0x%X): EmuIDirect3DDevice8_GetShaderConstantMode\n"
"(\n"
@ -8709,9 +8651,6 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_GetShaderConstantMode
");\n",
GetCurrentThreadId(), pMode);
}
#endif
if(pMode)
{
*pMode = g_VertexShaderConstantMode;

View File

@ -609,10 +609,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetI3DL2Listener
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_SetI3DL2Listener\n"
"(\n"
" pThis : 0x%.08X\n"
@ -620,9 +616,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetI3DL2Listener
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pDummy, dwApply);
}
#endif
// TODO: Actually do something
@ -639,10 +632,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetMixBinHeadroom
DWORD dwHeadroom
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_SetMixBinHeadroom\n"
"(\n"
" pThis : 0x%.08X\n"
@ -650,9 +639,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetMixBinHeadroom
" dwHeadroom : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, dwMixBinMask, dwHeadroom);
}
#endif
// TODO: Actually do something
@ -668,19 +654,12 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMixBins
PVOID pMixBins
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMixBins\n"
"(\n"
" pThis : 0x%.08X\n"
" pMixBins : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pMixBins);
}
#endif
// TODO: Actually do something
@ -696,19 +675,12 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes
PVOID pMixBins
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMixBinVolumes\n"
"(\n"
" pThis : 0x%.08X\n"
" pMixBins : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pMixBins);
}
#endif
// TODO: Actually do something
@ -727,10 +699,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetPosition
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_SetPosition\n"
"(\n"
" pThis : 0x%.08X\n"
@ -740,9 +708,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetPosition
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
}
#endif
// TODO: Actually do something
@ -761,10 +726,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetVelocity
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_SetVelocity\n"
"(\n"
" pThis : 0x%.08X\n"
@ -774,9 +735,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetVelocity
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
}
#endif
// TODO: Actually do something
@ -793,10 +751,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetAllParameters
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_SetAllParameters\n"
"(\n"
" pThis : 0x%.08X\n"
@ -804,9 +758,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_SetAllParameters
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pTodo, dwApply);
}
#endif
// TODO: Actually do something
@ -821,8 +772,6 @@ HRESULT WINAPI XTL::EmuCDirectSound_CommitDeferredSettings
X_CDirectSound *pThis
)
{
DbgPrintf("EmuDSound (0x%X): EmuCDirectSound_CommitDeferredSettings\n"
"(\n"
" pThis : 0x%.08X\n"
@ -831,8 +780,6 @@ HRESULT WINAPI XTL::EmuCDirectSound_CommitDeferredSettings
// TODO: Translate params, then make the PC DirectSound call
return DS_OK;
}
@ -845,8 +792,6 @@ HRESULT WINAPI XTL::EmuDirectSoundCreateBuffer
X_CDirectSoundBuffer **ppBuffer
)
{
DbgPrintf("EmuDSound (0x%X): EmuDirectSoundCreateBuffer\n"
"(\n"
" pdsbd : 0x%.08X\n"
@ -1021,10 +966,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateBuffer
PVOID pUnknown
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_CreateBuffer\n"
"(\n"
" pThis : 0x%.08X\n"
@ -1033,9 +974,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateBuffer
" pUnknown : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pdssd, ppBuffer, pUnknown);
}
#endif
EmuDirectSoundCreateBuffer(pdssd, ppBuffer);
@ -1053,10 +991,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateSoundBuffer
LPUNKNOWN pUnkOuter
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_CreateSoundBuffer\n"
"(\n"
" pdsbd : 0x%.08X\n"
@ -1064,9 +998,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateSoundBuffer
" pUnkOuter : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pdsbd, ppBuffer, pUnkOuter);
}
#endif
return EmuDirectSoundCreateBuffer(pdsbd, ppBuffer);
}
@ -1756,10 +1687,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateStream
PVOID pUnknown
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSound8_CreateStream\n"
"(\n"
" pThis : 0x%.08X\n"
@ -1768,9 +1695,6 @@ HRESULT WINAPI XTL::EmuIDirectSound8_CreateStream
" pUnknown : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pdssd, ppStream, pUnknown);
}
#endif
EmuDirectSoundCreateStream(pdssd, ppStream);
@ -2453,20 +2377,13 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMaxDistance
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMaxDistance\n"
"(\n"
" pThis : 0x%.08X\n"
" flMaxDistance : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flMaxDistance, dwApply);
}
#endif
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMaxDistance\n"
"(\n"
" pThis : 0x%.08X\n"
" flMaxDistance : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flMaxDistance, dwApply);
// TODO: Actually do something
@ -2483,10 +2400,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMinDistance
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMinDistance\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2494,9 +2407,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMinDistance
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flMinDistance, dwApply);
}
#endif
// TODO: Actually do something
@ -2513,10 +2423,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetRolloffFactor
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetRolloffFactor\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2524,9 +2430,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetRolloffFactor
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flRolloffFactor, dwApply);
}
#endif
// TODO: Actually do something
@ -2543,10 +2446,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDistanceFactor
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetDistanceFactor\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2554,9 +2453,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDistanceFactor
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flDistanceFactor, dwApply);
}
#endif
// TODO: Actually do something
@ -2574,10 +2470,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeAngles
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeAngles\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2587,9 +2479,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeAngles
");\n",
GetCurrentThreadId(), pThis, dwInsideConeAngle,
dwOutsideConeAngle, dwApply);
}
#endif
// TODO: Actually do something
@ -2608,10 +2497,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOrientation
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOrientation\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2621,9 +2506,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOrientation
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
}
#endif
// TODO: Actually do something
@ -2640,10 +2522,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOutsideVolume\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2651,9 +2529,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, lConeOutsideVolume, dwApply);
}
#endif
// TODO: Actually do something
@ -2672,10 +2547,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetPosition
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetPosition\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2685,9 +2556,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetPosition
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
}
#endif
// TODO: Actually do something
@ -2706,10 +2574,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetVelocity
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetVelocity\n"
"(\n"
" pThis : 0x%.08X\n"
@ -2719,9 +2583,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetVelocity
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
}
#endif
// TODO: Actually do something
@ -2738,9 +2599,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDopplerFactor
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOutsideVolume\n"
"(\n"
@ -2750,8 +2608,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDopplerFactor
");\n",
GetCurrentThreadId(), pThis, flDopplerFactor, dwApply);
}
#endif
// TODO: Actually do something
@ -2768,9 +2624,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetI3DL2Source
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetI3DL2Source\n"
"(\n"
@ -2780,8 +2633,6 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetI3DL2Source
");\n",
GetCurrentThreadId(), pThis, pds3db, dwApply);
}
#endif
// TODO: Actually do something
@ -2829,17 +2680,12 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetFormat
{
// debug trace
#ifdef _DEBUG_TRACE
{
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetFormat\n"
DbgPrintf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetFormat\n"
"(\n"
" pBuffer : 0x%.08X\n"
" pwfxFormat : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pBuffer,pwfxFormat);
}
#endif
HRESULT hRet = DS_OK;

View File

@ -284,7 +284,7 @@ void EmuInitFS()
long numberOfInstructions = fsInstructions.size();
// Iterate through each CODE section
for (int sectionIndex = 0; sectionIndex < CxbxKrnl_Xbe->m_Header.dwSections; sectionIndex++) {
for (uint32 sectionIndex = 0; sectionIndex < CxbxKrnl_Xbe->m_Header.dwSections; sectionIndex++) {
if (!CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwFlags.bExecutable) {
continue;
}

View File

@ -39,7 +39,9 @@
#include <string>
#include <Shlobj.h>
#include <Shlwapi.h>
#pragma warning(disable:4005) // Ignore redefined status values
#include <ntstatus.h>
#pragma warning(default:4005)
#include "CxbxKrnl.h"
std::string DriveSerial = "\\??\\serial:";
@ -140,7 +142,12 @@ bool IsEmuHandle(HANDLE Handle)
return ((uint32)Handle > 0x80000000) && ((uint32)Handle < 0xFFFFFFFE);
}
EmuHandle* HandleToEmuHandle(HANDLE Handle) { return (EmuHandle*)((uint32_t)Handle & 0x7FFFFFFF); } HANDLE EmuHandleToHandle(EmuHandle* emuHandle)
EmuHandle* HandleToEmuHandle(HANDLE Handle)
{
return (EmuHandle*)((uint32_t)Handle & 0x7FFFFFFF);
}
HANDLE EmuHandleToHandle(EmuHandle* emuHandle)
{
return (HANDLE)((uint32_t)emuHandle | 0x80000000);
}
@ -216,14 +223,14 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin
// Make a distinction between Xbox paths (starting with '\Device'...) and Native paths :
std::string deviceString = "\\Device";
IsNativePath = strnicmp(aFullPath.c_str(), deviceString.c_str(), deviceString.length()) != 0;
IsNativePath = _strnicmp(aFullPath.c_str(), deviceString.c_str(), deviceString.length()) != 0;
if (IsNativePath)
DeviceIndex = 0;
else
{
DeviceIndex = -1;
for (int i = 0; i < Devices.size(); i++) {
if (strnicmp(aFullPath.c_str(), Devices[i].XboxFullPath.c_str(), Devices[i].XboxFullPath.length()) == 0)
for (size_t i = 0; i < Devices.size(); i++) {
if (_strnicmp(aFullPath.c_str(), Devices[i].XboxFullPath.c_str(), Devices[i].XboxFullPath.length()) == 0)
{
DeviceIndex = i;
break;
@ -341,7 +348,7 @@ EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByDevice(std::string DeviceName
for (char VolumeLetter = 'A'; VolumeLetter <= 'Z'; VolumeLetter++)
{
EmuNtSymbolicLinkObject* result = NtSymbolicLinkObjects[VolumeLetter - 'A'];
if ((result != NULL) && strnicmp(DeviceName.c_str(), result->XboxFullPath.c_str(), result->XboxFullPath.length()) == 0)
if ((result != NULL) && _strnicmp(DeviceName.c_str(), result->XboxFullPath.c_str(), result->XboxFullPath.length()) == 0)
return result;
}

View File

@ -145,7 +145,7 @@ public:
};
// ******************************************************************
// * is hFile a 'special' emulated handle?
// * is Handle a 'special' emulated handle?
// ******************************************************************
bool IsEmuHandle(HANDLE Handle);
EmuHandle* HandleToEmuHandle(HANDLE Handle); HANDLE EmuHandleToHandle(EmuHandle* emuHandle);

File diff suppressed because it is too large Load Diff

125
src/CxbxKrnl/EmuKrnlAv.cpp Normal file
View File

@ -0,0 +1,125 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlAv.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For AvGetSavedDataAddress, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
#include "EmuAlloc.h" // For CxbxFree(), CxbxMalloc(), etc.
// Global Variable(s)
PVOID g_pPersistedData = NULL;
using namespace xboxkrnl;
// ******************************************************************
// * 0x0001 AvGetSavedDataAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(1) xboxkrnl::PVOID NTAPI xboxkrnl::AvGetSavedDataAddress()
{
LOG_FUNC();
__asm int 3;
// Allocate a buffer the size of the screen buffer and return that.
// TODO: Fill this buffer with the contents of the front buffer.
// TODO: This isn't always the size we need...
if (g_pPersistedData)
{
CxbxFree(g_pPersistedData);
g_pPersistedData = NULL;
}
g_pPersistedData = CxbxMalloc(640 * 480 * 4);
#if 0
// Get a copy of the front buffer
IDirect3DSurface8* pFrontBuffer = NULL;
if (SUCCEEDED(g_pD3DDevice8->GetFrontBuffer(pFrontBuffer)))
{
D3DLOCKED_RECT LockedRect;
pFrontBuffer->LockRect(0, NULL, &LockedRect);
CopyMemory(g_pPersistedData, LockRect.pBits, 640 * 480 * 4);
pFrontBuffer->UnlockRect();
}
#endif
// TODO: We might want to return something sometime...
/*if( !g_pPersistedData )
{
FILE* fp = fopen( "PersistedSurface.bin", "rb" );
fseek( fp, 0, SEEK_END );
long size = ftell( fp );
g_pPersistedData = malloc( size );
fread( g_pPersistedData, size, 1, fp );
fclose(fp);
}*/
return NULL;//g_pPersistedData;
}
// ******************************************************************
// * 0x0002 AvSendTVEncoderOption()
// ******************************************************************
XBSYSAPI EXPORTNUM(2) VOID NTAPI xboxkrnl::AvSendTVEncoderOption
(
IN PVOID RegisterBase,
IN ULONG Option,
IN ULONG Param,
OUT ULONG *Result
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(RegisterBase)
LOG_FUNC_ARG(Option)
LOG_FUNC_ARG(Param)
LOG_FUNC_ARG_OUT(Result)
LOG_FUNC_END;
// TODO: What does this do?
UNIMPLEMENTED();
}

View File

@ -0,0 +1,79 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlDbg.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For DbgPrint, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// ******************************************************************
// * 0x0008 DbgPrint
// ******************************************************************
XBSYSAPI EXPORTNUM(8) xboxkrnl::ULONG _cdecl xboxkrnl::DbgPrint
(
PCHAR Format, ...
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Format)
LOG_FUNC_ARG("...")
LOG_FUNC_END;
if (Format != NULL)
{
char szBuffer[MAX_PATH];
va_list argp;
va_start(argp, Format);
vsprintf(szBuffer, Format, argp);
va_end(argp);
//LogPrintf("[EmuKrnl] DbgPrint: %s", szBuffer);
EmuWarning(szBuffer);
//DbgPrintf(szBuffer);
}
return STATUS_SUCCESS;
}

294
src/CxbxKrnl/EmuKrnlEx.cpp Normal file
View File

@ -0,0 +1,294 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlEx.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For ExAllocatePool, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
#include "Emu.h" // For EmuWarning()
#include "EmuAlloc.h" // For CxbxFree(), CxbxMalloc(), etc.
using namespace xboxkrnl;
// ******************************************************************
// * 0x000E ExAllocatePool
// ******************************************************************
XBSYSAPI EXPORTNUM(14) xboxkrnl::PVOID NTAPI xboxkrnl::ExAllocatePool
(
IN ULONG NumberOfBytes
)
{
LOG_FUNC_ONE_ARG(NumberOfBytes);
PVOID pRet = ExAllocatePoolWithTag(NumberOfBytes, (ULONG)"enoN");
return pRet;
}
// ******************************************************************
// * 0x000F ExAllocatePoolWithTag
// ******************************************************************
// * Differences from NT: There is no PoolType field, as the XBOX
// * only has 1 pool, the non-paged pool.
// ******************************************************************
XBSYSAPI EXPORTNUM(15) xboxkrnl::PVOID NTAPI xboxkrnl::ExAllocatePoolWithTag
(
IN SIZE_T NumberOfBytes,
IN ULONG Tag
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(Tag)
LOG_FUNC_END;
// TODO: Actually implement this
PVOID pRet = CxbxMalloc(NumberOfBytes);
return pRet;
}
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(16) xboxkrnl::POBJECT_TYPE xboxkrnl::ExEventObjectType = NULL;
// ******************************************************************
// * 0x0011 ExFreePool
// ******************************************************************
XBSYSAPI EXPORTNUM(17) VOID NTAPI xboxkrnl::ExFreePool
(
IN PVOID P
)
{
LOG_FUNC_ONE_ARG(P);
CxbxFree(P);
}
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(22) xboxkrnl::POBJECT_TYPE xboxkrnl::ExMutantObjectType = NULL;
// ******************************************************************
// * 0x0017 ExQueryPoolBlockSize
// ******************************************************************
XBSYSAPI EXPORTNUM(23) xboxkrnl::ULONG NTAPI xboxkrnl::ExQueryPoolBlockSize
(
IN PVOID PoolBlock
)
{
LOG_FUNC_ONE_ARG(PoolBlock);
// Not strictly correct, but it will do for now
return MmQueryAllocationSize(PoolBlock);
}
// ******************************************************************
// * 0x0018 ExQueryNonVolatileSetting
// ******************************************************************
XBSYSAPI EXPORTNUM(24) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExQueryNonVolatileSetting
(
IN EEPROM_INDEX ValueIndex,
OUT DWORD *Type,
OUT PUCHAR Value,
IN SIZE_T ValueLength,
OUT PSIZE_T ResultLength OPTIONAL
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(ValueIndex)
LOG_FUNC_ARG_OUT(Type)
LOG_FUNC_ARG_OUT(Value)
LOG_FUNC_ARG(ValueLength)
LOG_FUNC_ARG_OUT(ResultLength)
LOG_FUNC_END;
if (!Type || !Value)
CxbxKrnlCleanup("Assertion in ExQueryNonVolatileSetting()");
NTSTATUS ret = STATUS_SUCCESS;
// handle eeprom read
switch (ValueIndex)
{
// Factory Game Region
case EEPROM_FACTORY_GAME_REGION:
{
// TODO: configurable region or autodetect of some sort
if (ResultLength != 0)
*ResultLength = 0x04;
if (ValueLength >= 4) {
*Type = 0x04;
*Value = 0x01; // North America
}
}
break;
// Factory AV Region
case EEPROM_FACTORY_AV_REGION:
{
// TODO: configurable region or autodetect of some sort
if (ResultLength != 0)
*ResultLength = 0x04;
*Type = 0x04;
*Value = 0x01; // NTSC_M
}
break;
// Language
case EEPROM_LANGUAGE:
{
// TODO: configurable language or autodetect of some sort
if (ResultLength != 0)
*ResultLength = 0x04;
*Type = 0x04;
*Value = 0x01; // English
}
break;
// Video Flag
case EEPROM_VIDEO:
{
// TODO: configurable video flags or autodetect of some sort
if (ResultLength != 0)
*ResultLength = 0x04;
*Type = 0x04;
*Value = 0x10; // Letterbox
}
break;
// Audio Flags
case EEPROM_AUDIO:
{
if (ResultLength != 0)
*ResultLength = 0x04;
*Type = 0x04;
*Value = 0; // Stereo, no AC3, no DTS
}
break;
case EEPROM_MISC:
{
if (ResultLength != 0)
*ResultLength = 0x04;
*Type = 0x04;
*Value = 0; // No automatic power down
}
break;
case EEPROM_MAX_OS:
{
// This is called to return a complete XBOX_USER_SETTINGS structure
//
// One example is from XapipQueryTimeZoneInformation(), where it is used to
// detect the local timezone information.
// TODO
}
break;
default:
EmuWarning("ExQueryNonVolatileSetting unknown ValueIndex (%d)", ValueIndex);
ret = STATUS_OBJECT_NAME_NOT_FOUND;
break;
}
return ret;
}
// ******************************************************************
// * 0x0019 - ExReadWriteRefurbInfo
// ******************************************************************
XBSYSAPI EXPORTNUM(25) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExReadWriteRefurbInfo
(
PVOID Unknown1,
DWORD Unknown2,
DWORD Unknown3
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Unknown1)
LOG_FUNC_ARG(Unknown2)
LOG_FUNC_ARG(Unknown3)
LOG_FUNC_END;
// TODO: What does this do?
UNIMPLEMENTED();
return STATUS_SUCCESS;
}
// ******************************************************************
// * 0x001D - ExSaveNonVolatileSetting
// ******************************************************************
XBSYSAPI EXPORTNUM(29) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExSaveNonVolatileSetting
(
IN DWORD ValueIndex,
OUT DWORD *Type,
IN PUCHAR Value,
IN SIZE_T ValueLength
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(ValueIndex)
LOG_FUNC_ARG_OUT(Type)
LOG_FUNC_ARG(Value)
LOG_FUNC_ARG(ValueLength)
LOG_FUNC_END;
// TODO: Later.
return STATUS_SUCCESS;
}
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(30) xboxkrnl::POBJECT_TYPE xboxkrnl::ExSemaphoreObjectType = NULL;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(31) xboxkrnl::POBJECT_TYPE xboxkrnl::ExTimerObjectType = NULL;

View File

@ -0,0 +1,75 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlFs.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For FscGetCacheSize, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// ******************************************************************
// * 0x0023 - FscGetCacheSize
// ******************************************************************
XBSYSAPI EXPORTNUM(35) xboxkrnl::DWORD NTAPI xboxkrnl::FscGetCacheSize()
{
LOG_FUNC();
EmuWarning("FscGetCacheSize returning default 64kb");
return 64 * 1024;
}
// ******************************************************************
// * 0x0025 - FscSetCacheSize
// ******************************************************************
XBSYSAPI EXPORTNUM(37) xboxkrnl::LONG NTAPI xboxkrnl::FscSetCacheSize
(
ULONG uCachePages
)
{
LOG_FUNC_ONE_ARG(uCachePages);
UNIMPLEMENTED();
return 0;
}

204
src/CxbxKrnl/EmuKrnlHal.cpp Normal file
View File

@ -0,0 +1,204 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlHal.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For HalReadSMCTrayState, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// ******************************************************************
// * 0x0009 HalReadSMCTrayState
// ******************************************************************
XBSYSAPI EXPORTNUM(9) VOID NTAPI xboxkrnl::HalReadSMCTrayState
(
DWORD* State,
DWORD* Count
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(State)
LOG_FUNC_ARG(Count)
LOG_FUNC_END;
#define TRAY_CLOSED_MEDIA_PRESENT 96
#define TRAY_CLOSED_NO_MEDIA 64
#define TRAY_OPEN 16
// TODO: Make this configurable?
// TODO: What is the count parameter for??
// Pretend the tray is open
// TRAY_CLOSED_NO_MEDIA causes Dashboard to call DeviceIoControl, which we do not implement
// TRAY_CLOSED_MEDIA_PRESENT causes Dashboard to attempt to launch media, causing errors.
*State = TRAY_OPEN;
// *Count = 1;
}
// This enables Partition3..7 Source:OpenXDK TODO : Make this configurable
XBSYSAPI EXPORTNUM(40) xboxkrnl::DWORD xboxkrnl::HalDiskCachePartitionCount = 4; // Was 3
// Source:OpenXDK TODO : Fill this with something sensible
XBSYSAPI EXPORTNUM(41) xboxkrnl::PANSI_STRING xboxkrnl::HalDiskModelNumber = 0;
// Source:OpenXDK TODO : Fill this with something sensible
XBSYSAPI EXPORTNUM(42) xboxkrnl::PANSI_STRING xboxkrnl::HalDiskSerialNumber = 0;
// ******************************************************************
// * HalGetInterruptVector
// ******************************************************************
XBSYSAPI EXPORTNUM(44) xboxkrnl::ULONG NTAPI xboxkrnl::HalGetInterruptVector
(
IN ULONG InterruptLevel,
OUT CHAR* Irql
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(InterruptLevel)
LOG_FUNC_ARG_OUT(Irql)
LOG_FUNC_END;
// I'm only adding this for Virtua Cop 3 (Chihiro). Xbox games need not emulate this.
EmuWarning("HalGetInterruptVector(): If this is NOT a Chihiro game, tell blueshogun!");
return 1;
}
// ******************************************************************
// * 0x002D - HalReadSMBusValue
// ******************************************************************
XBSYSAPI EXPORTNUM(45) xboxkrnl::NTSTATUS NTAPI xboxkrnl::HalReadSMBusValue
(
IN UCHAR Address,
IN UCHAR Command,
IN BOOLEAN ReadWord,
OUT PULONG DataValue
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Address)
LOG_FUNC_ARG(Command)
LOG_FUNC_ARG(ReadWord)
LOG_FUNC_ARG_OUT(DataValue)
LOG_FUNC_END;
if (ReadWord) {
// Write UCHAR
}
else {
// Write BYTE
}
return STATUS_SUCCESS;
}
// ******************************************************************
// * 0x002F - HalRegisterShutdownNotification
// ******************************************************************
XBSYSAPI EXPORTNUM(47) VOID xboxkrnl::HalRegisterShutdownNotification
(
IN PHAL_SHUTDOWN_REGISTRATION ShutdownRegistration,
IN BOOLEAN Register
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(ShutdownRegistration)
LOG_FUNC_ARG(Register)
LOG_FUNC_END;
UNIMPLEMENTED();
return;
}
// ******************************************************************
// * 0x0031 - HalReturnToFirmware
// ******************************************************************
XBSYSAPI EXPORTNUM(49) VOID DECLSPEC_NORETURN xboxkrnl::HalReturnToFirmware
(
RETURN_FIRMWARE Routine
)
{
LOG_FUNC_ONE_ARG(Routine);
// Prevent the dashboard from rebooting due to unimplemented crypto routines
if ((uint32_t)Routine != 4) {
CxbxKrnlCleanup("Xbe has rebooted : HalReturnToFirmware(%d)", Routine);
}
UNIMPLEMENTED();
}
// ******************************************************************
// * 0x0032 - HalWriteSMBusValue
// ******************************************************************
XBSYSAPI EXPORTNUM(50) xboxkrnl::NTSTATUS NTAPI xboxkrnl::HalWriteSMBusValue
(
IN UCHAR Address,
IN UCHAR Command,
IN BOOLEAN WriteWord,
IN ULONG DataValue
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Address)
LOG_FUNC_ARG(Command)
LOG_FUNC_ARG(WriteWord)
LOG_FUNC_ARG(DataValue)
LOG_FUNC_END;
// TODO: Later.
return STATUS_SUCCESS;
}
// ******************************************************************
// * HalBootSMCVideoMode
// ******************************************************************
// TODO: Verify this!
XBSYSAPI EXPORTNUM(356) xboxkrnl::DWORD xboxkrnl::HalBootSMCVideoMode = 1;

156
src/CxbxKrnl/EmuKrnlIo.cpp Normal file
View File

@ -0,0 +1,156 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlIo.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For IoCompletionObjectType, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
#include "Emu.h" // For EmuWarning()
#include "EmuFile.h" // For CxbxCreateSymbolicLink(), etc.
using namespace xboxkrnl;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(64) xboxkrnl::POBJECT_TYPE xboxkrnl::IoCompletionObjectType = NULL;
// ******************************************************************
// * 0x0042 - IoCreateFile
// ******************************************************************
XBSYSAPI EXPORTNUM(66) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG Disposition,
IN ULONG CreateOptions,
IN ULONG Options
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(FileHandle)
LOG_FUNC_ARG(DesiredAccess)
LOG_FUNC_ARG(ObjectAttributes)
LOG_FUNC_ARG_OUT(IoStatusBlock)
LOG_FUNC_ARG(AllocationSize)
LOG_FUNC_ARG(FileAttributes)
LOG_FUNC_ARG(ShareAccess)
LOG_FUNC_ARG(Disposition)
LOG_FUNC_ARG(CreateOptions)
LOG_FUNC_ARG(Options)
LOG_FUNC_END;
NTSTATUS ret = STATUS_SUCCESS;
// TODO: Try redirecting to NtCreateFile if this function ever is run into
CxbxKrnlCleanup("IoCreateFile not implemented");
UNIMPLEMENTED();
return ret;
}
// ******************************************************************
// * 0x0043 IoCreateSymbolicLink
// ******************************************************************
XBSYSAPI EXPORTNUM(67) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateSymbolicLink
(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(SymbolicLinkName)
LOG_FUNC_ARG(DeviceName)
LOG_FUNC_END;
NTSTATUS ret = CxbxCreateSymbolicLink(std::string(SymbolicLinkName->Buffer, SymbolicLinkName->Length), std::string(DeviceName->Buffer, DeviceName->Length));
return ret;
}
// ******************************************************************
// * 0x0045 - IoDeleteSymbolicLink
// ******************************************************************
XBSYSAPI EXPORTNUM(69) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink
(
IN PSTRING SymbolicLinkName
)
{
LOG_FUNC_ONE_ARG(SymbolicLinkName);
EmuNtSymbolicLinkObject* symbolicLink = FindNtSymbolicLinkObjectByName(std::string(SymbolicLinkName->Buffer, SymbolicLinkName->Length));
NTSTATUS ret = STATUS_OBJECT_NAME_NOT_FOUND;
if ((symbolicLink != NULL))
ret = symbolicLink->NtClose();
return ret;
}
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(70) xboxkrnl::POBJECT_TYPE xboxkrnl::IoDeviceObjectType = NULL;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(71) xboxkrnl::POBJECT_TYPE xboxkrnl::IoFileObjectType = NULL;
// ******************************************************************
// * IoDismountVolumeByName
// ******************************************************************
XBSYSAPI EXPORTNUM(91) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDismountVolumeByName
(
IN PSTRING VolumeName
)
{
LOG_FUNC_ONE_ARG(VolumeName);
NTSTATUS ret = STATUS_SUCCESS;
// TODO: Anything?
UNIMPLEMENTED();
return ret;
}

View File

@ -0,0 +1,54 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlEx.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For KdDebuggerEnabled, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(88) xboxkrnl::BOOLEAN xboxkrnl::KdDebuggerEnabled = false;
// Source:ReactOS TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(89) xboxkrnl::BOOLEAN xboxkrnl::KdDebuggerNotPresent = true;

419
src/CxbxKrnl/EmuKrnlKe.cpp Normal file
View File

@ -0,0 +1,419 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlKe.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For KeBugCheck, etc.
};
#include "Logging.h" // For LOG_FUNC()
// prevent name collisions
namespace NtDll
{
#include "EmuNtDll.h" // For NtDelayExecution(), etc.
};
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// TODO : Move operator<< to a central place
std::ostream& operator<<(std::ostream& os, const xboxkrnl::LARGE_INTEGER& value)
{
return os << value.QuadPart;
}
// ******************************************************************
// * KeBugCheck
// ******************************************************************
XBSYSAPI EXPORTNUM(95) VOID NTAPI xboxkrnl::KeBugCheck
(
IN ULONG BugCheckMode
)
{
LOG_FUNC_ONE_ARG(BugCheckMode);
// TODO: Investigate XapiFiberStartup maybe?
UNIMPLEMENTED();
}
// ******************************************************************
// * KeConnectInterrupt
// ******************************************************************
XBSYSAPI EXPORTNUM(98) xboxkrnl::LONG NTAPI xboxkrnl::KeConnectInterrupt
(
IN PKINTERRUPT InterruptObject
)
{
LOG_FUNC_ONE_ARG(InterruptObject);
UNIMPLEMENTED();
return 0;
}
// ******************************************************************
// * 0x0063 - KeDelayExecutionThread
// ******************************************************************
XBSYSAPI EXPORTNUM(99) xboxkrnl::NTSTATUS NTAPI xboxkrnl::KeDelayExecutionThread
(
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Interval
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(WaitMode)
LOG_FUNC_ARG(Alertable)
LOG_FUNC_ARG(Interval)
LOG_FUNC_END;
NTSTATUS ret = NtDll::NtDelayExecution(Alertable, (NtDll::LARGE_INTEGER*)Interval);
return ret;
}
// ******************************************************************
// * 0x006B - KeInitializeDpc
// ******************************************************************
XBSYSAPI EXPORTNUM(107) VOID NTAPI xboxkrnl::KeInitializeDpc
(
KDPC *Dpc,
PKDEFERRED_ROUTINE DeferredRoutine,
PVOID DeferredContext
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Dpc)
LOG_FUNC_ARG(DeferredRoutine)
LOG_FUNC_ARG(DeferredContext)
LOG_FUNC_END;
// inialize Dpc field values
Dpc->DeferredRoutine = DeferredRoutine;
Dpc->Type = DpcObject;
Dpc->DeferredContext = DeferredContext;
Dpc->Inserted = FALSE;
return;
}
// ******************************************************************
// * 0x006D - KeInitializeInterrupt
// ******************************************************************
XBSYSAPI EXPORTNUM(109) VOID NTAPI xboxkrnl::KeInitializeInterrupt
(
OUT PKINTERRUPT Interrupt,
IN PKSERVICE_ROUTINE ServiceRoutine,
IN PVOID ServiceContext,
IN ULONG Vector,
IN KIRQL Irql,
IN KINTERRUPT_MODE InterruptMode,
IN BOOLEAN ShareVector
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(Interrupt)
LOG_FUNC_ARG(ServiceRoutine)
LOG_FUNC_ARG(ServiceContext)
LOG_FUNC_ARG(Vector)
LOG_FUNC_ARG(Irql)
LOG_FUNC_ARG(InterruptMode)
LOG_FUNC_ARG(ShareVector)
LOG_FUNC_END;
UNIMPLEMENTED();
}
// ******************************************************************
// * 0x0071 - KeInitializeTimerEx
// ******************************************************************
XBSYSAPI EXPORTNUM(113) VOID NTAPI xboxkrnl::KeInitializeTimerEx
(
IN PKTIMER Timer,
IN TIMER_TYPE Type
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Timer)
LOG_FUNC_ARG(Type)
LOG_FUNC_END;
Timer->Header.Type = Type + 8; // 8 = TimerNotificationObject
Timer->Header.Inserted = 0;
Timer->Header.Size = sizeof(KTIMER) / sizeof(ULONG);
Timer->Header.SignalState = 0;
Timer->TimerListEntry.Blink = NULL;
Timer->TimerListEntry.Flink = NULL;
Timer->Header.WaitListHead.Flink = &Timer->Header.WaitListHead;
Timer->Header.WaitListHead.Blink = &Timer->Header.WaitListHead;
Timer->DueTime.QuadPart = 0;
Timer->Period = 0;
return;
}
// Dxbx note : This was once a value, but instead we now point to
// the native Windows versions (see ConnectWindowsTimersToThunkTable) :
// XBSYSAPI EXPORTNUM(120) xboxkrnl::PKSYSTEM_TIME xboxkrnl::KeInterruptTime; // Used for KernelThunk[120]
// ******************************************************************
// * KeQueryPerformanceCounter
// ******************************************************************
XBSYSAPI EXPORTNUM(126) xboxkrnl::ULONGLONG NTAPI xboxkrnl::KeQueryPerformanceCounter()
{
LOG_FUNC();
::LARGE_INTEGER Counter;
QueryPerformanceCounter(&Counter);
return Counter.QuadPart;
}
// ******************************************************************
// * KeQueryPerformanceFrequency
// ******************************************************************
XBSYSAPI EXPORTNUM(127) xboxkrnl::ULONGLONG NTAPI xboxkrnl::KeQueryPerformanceFrequency()
{
LOG_FUNC();
// Xbox Performance Counter Frequency := 337F98h
::LARGE_INTEGER Frequency;
QueryPerformanceFrequency(&Frequency);
return Frequency.QuadPart;
}
// ******************************************************************
// * 0x0080 - KeQuerySystemTime
// ******************************************************************
XBSYSAPI EXPORTNUM(128) VOID NTAPI xboxkrnl::KeQuerySystemTime
(
PLARGE_INTEGER CurrentTime
)
{
LOG_FUNC_ONE_ARG(CurrentTime);
// TODO: optimize for WinXP if speed ever becomes important here
SYSTEMTIME SystemTime;
GetSystemTime(&SystemTime);
SystemTimeToFileTime(&SystemTime, (FILETIME*)CurrentTime);
return;
}
// ******************************************************************
// * KeRaiseIrqlToDpcLevel
// ******************************************************************
XBSYSAPI EXPORTNUM(129) xboxkrnl::UCHAR NTAPI xboxkrnl::KeRaiseIrqlToDpcLevel()
{
LOG_FUNC();
// I really tried to avoid adding this...
// __asm int 3;
// CxbxKrnlCleanup("KeRaiseIrqlToDpcLevel not implemented! (Tell blueshogun -_-)");
// UNIMPLEMENTED();
return 0;
}
// ******************************************************************
// * 0x0095 - KeSetTimer
// ******************************************************************
XBSYSAPI EXPORTNUM(149) xboxkrnl::BOOLEAN NTAPI xboxkrnl::KeSetTimer
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN PKDPC Dpc OPTIONAL
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Timer)
LOG_FUNC_ARG(DueTime)
LOG_FUNC_ARG(Dpc)
LOG_FUNC_END;
// Call KeSetTimerEx with a period of zero
BOOLEAN bRet = KeSetTimerEx(Timer, DueTime, 0, Dpc);
return bRet;
}
// ******************************************************************
// * 0x0096 - KeSetTimerEx
// ******************************************************************
XBSYSAPI EXPORTNUM(150) xboxkrnl::BOOLEAN NTAPI xboxkrnl::KeSetTimerEx
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN LONG Period OPTIONAL,
IN PKDPC Dpc OPTIONAL
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Timer)
LOG_FUNC_ARG(DueTime)
LOG_FUNC_ARG(Period)
LOG_FUNC_ARG(Dpc)
LOG_FUNC_END;
BOOLEAN Inserted;
LARGE_INTEGER Interval;
LARGE_INTEGER SystemTime;
#define RemoveEntryList(e) do { PLIST_ENTRY f = (e)->Flink, b = (e)->Blink; f->Blink = b; b->Flink = f; (e)->Flink = (e)->Blink = NULL; } while (0)
if (Timer->Header.Type != 8 && Timer->Header.Type != 9) {
CxbxKrnlCleanup("Assertion: '(Timer)->Header.Type == TimerNotificationObject) || ((Timer)->Header.Type == TimerSynchronizationObject)' in KeSetTimerEx()");
}
Inserted = Timer->Header.Inserted;
if (Inserted != FALSE) {
// Do some unlinking if already inserted in the linked list
Timer->Header.Inserted = FALSE;
RemoveEntryList(&Timer->TimerListEntry);
}
Timer->Header.SignalState = FALSE;
Timer->Dpc = Dpc;
Timer->Period = Period;
if (/*!KiInsertTreeTimer(Timer,DueTime)*/ TRUE) {
if (Timer->Header.WaitListHead.Flink != &Timer->Header.WaitListHead) {
// KiWaitTest(Timer, 0);
}
if (Dpc != NULL) {
// Call the Dpc routine if one is specified
KeQuerySystemTime(&SystemTime);
// Need to implement KeInsertQueueDpc xboxkrnl.exe export (ordinal 119)
// KeInsertQueueDpc(Timer->Dpc, SystemTime.LowPart, SystemTime.HighPart);
}
if (Period != 0) {
// Prepare the repetition if Timer is periodic
Interval.QuadPart = (-10 * 1000) * Timer->Period;
while (/*!KiInsertTreeTimer(Timer,Interval)*/TRUE) {
;
}
}
}
return Inserted;
}
// Dxbx note : This was once a value, but instead we now point to
// the native Windows versions (see ConnectWindowsTimersToThunkTable) :
// XBSYSAPI EXPORTNUM(154) xboxkrnl::PKSYSTEM_TIME xboxkrnl::KeSystemTime; // Used for KernelThunk[154]
// ******************************************************************
// * 0x009C - KeTickCount
// ******************************************************************
XBSYSAPI EXPORTNUM(156) volatile xboxkrnl::DWORD xboxkrnl::KeTickCount = 0;
const xboxkrnl::ULONG CLOCK_TIME_INCREMENT = 0x2710;
XBSYSAPI EXPORTNUM(157) xboxkrnl::ULONG xboxkrnl::KeTimeIncrement = CLOCK_TIME_INCREMENT;
// ******************************************************************
// * 0x009E - KeWaitForMultipleObjects
// ******************************************************************
XBSYSAPI EXPORTNUM(158) xboxkrnl::NTSTATUS xboxkrnl::KeWaitForMultipleObjects
(
IN ULONG Count,
IN PVOID Object[],
IN WAIT_TYPE WaitType,
IN int WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL,
IN VOID* WaitBlockArray
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Count)
LOG_FUNC_ARG(Object)
LOG_FUNC_ARG(WaitType)
LOG_FUNC_ARG(WaitReason)
LOG_FUNC_ARG(WaitMode)
LOG_FUNC_ARG(Alertable)
LOG_FUNC_ARG(Timeout)
LOG_FUNC_ARG(WaitBlockArray)
LOG_FUNC_END;
EmuWarning("EmuKrnl: Redirecting KeWaitForMultipleObjects to NtWaitForMultipleObjectsEx");
return NtWaitForMultipleObjectsEx(Count, Object, WaitType, WaitMode, Alertable, Timeout);
}
// ******************************************************************
// * 0x009F - KeWaitForSingleObject
// ******************************************************************
XBSYSAPI EXPORTNUM(159) xboxkrnl::NTSTATUS xboxkrnl::KeWaitForSingleObject
(
IN PVOID Object,
IN int WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Object)
LOG_FUNC_ARG(WaitReason)
LOG_FUNC_ARG(WaitMode)
LOG_FUNC_ARG(Alertable)
LOG_FUNC_ARG(Timeout)
LOG_FUNC_END;
EmuWarning("EmuKrnl: Redirecting KeWaitForSingleObject to NtWaitForSingleObjectEx");
return NtWaitForSingleObjectEx(Object, WaitMode, Alertable, Timeout);
}

477
src/CxbxKrnl/EmuKrnlMm.cpp Normal file
View File

@ -0,0 +1,477 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlMm.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For MmGlobalData, etc.
};
#include "Logging.h" // For LOG_FUNC()
// prevent name collisions
namespace NtDll
{
#include "EmuNtDll.h" // For NtAllocateVirtualMemory(), etc.
};
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
#include "Emu.h" // For EmuWarning()
#include "EmuAlloc.h" // For CxbxFree(), CxbxMalloc(), etc.
#include "ResourceTracker.h" // For g_AlignCache
using namespace xboxkrnl;
XBSYSAPI EXPORTNUM(102) xboxkrnl::PVOID xboxkrnl::MmGlobalData[8] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
// ******************************************************************
// * xLaunchDataPage (pointed to by LaunchDataPage)
// ******************************************************************
LAUNCH_DATA_PAGE xLaunchDataPage =
{
{ // header
2, // 2: dashboard, 0: title
0,
"D:\\default.xbe",
0
}
};
// ******************************************************************
// * 0x00A4 - LaunchDataPage (actually a pointer)
// ******************************************************************
XBSYSAPI EXPORTNUM(164) xboxkrnl::PLAUNCH_DATA_PAGE xboxkrnl::LaunchDataPage = &xLaunchDataPage;
// ******************************************************************
// * 0x00A5 - MmAllocateContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(165) xboxkrnl::PVOID NTAPI xboxkrnl::MmAllocateContiguousMemory
(
IN ULONG NumberOfBytes
)
{
LOG_FUNC_ONE_ARG(NumberOfBytes);
//
// NOTE: Kludgey (but necessary) solution:
//
// Since this memory must be aligned on a page boundary, we must allocate an extra page
// so that we can return a valid page aligned pointer
//
PVOID pRet = CxbxMalloc(NumberOfBytes + 0x1000);
// align to page boundary
{
DWORD dwRet = (DWORD)pRet;
dwRet += 0x1000 - dwRet % 0x1000;
g_AlignCache.insert(dwRet, pRet);
pRet = (PVOID)dwRet;
}
DbgPrintf("EmuKrnl (0x%X): MmAllocateContiguousMemory returned 0x%.08X\n", GetCurrentThreadId(), pRet);
return pRet;
}
// ******************************************************************
// * 0x00A6 - MmAllocateContiguousMemoryEx
// ******************************************************************
XBSYSAPI EXPORTNUM(166) xboxkrnl::PVOID NTAPI xboxkrnl::MmAllocateContiguousMemoryEx
(
IN ULONG NumberOfBytes,
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
IN ULONG Alignment OPTIONAL,
IN ULONG ProtectionType
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(LowestAcceptableAddress)
LOG_FUNC_ARG(HighestAcceptableAddress)
LOG_FUNC_ARG(Alignment)
LOG_FUNC_ARG(ProtectionType)
LOG_FUNC_END;
//
// NOTE: Kludgey (but necessary) solution:
//
// Since this memory must be aligned on a page boundary, we must allocate an extra page
// so that we can return a valid page aligned pointer
//
PVOID pRet = CxbxMalloc(NumberOfBytes + 0x1000);
// align to page boundary
{
DWORD dwRet = (DWORD)pRet;
dwRet += 0x1000 - dwRet % 0x1000;
g_AlignCache.insert(dwRet, pRet);
pRet = (PVOID)dwRet;
}
static int count = 0;
DbgPrintf("EmuKrnl (0x%X): MmAllocateContiguousMemoryEx returned 0x%.08X\n", GetCurrentThreadId(), pRet);
return pRet;
}
// ******************************************************************
// * 0x00A7 - MmAllocateSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(167) xboxkrnl::PVOID NTAPI xboxkrnl::MmAllocateSystemMemory
(
ULONG NumberOfBytes,
ULONG Protect
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(Protect)
LOG_FUNC_END;
// TODO: should this be aligned?
PVOID pRet = CxbxMalloc(NumberOfBytes);
return pRet;
}
// ******************************************************************
// * 0x00A9 - MmCreateKernelStack
// ******************************************************************
// * Differences from NT: Custom stack size.
// ******************************************************************
XBSYSAPI EXPORTNUM(169) xboxkrnl::PVOID NTAPI xboxkrnl::MmCreateKernelStack
(
IN ULONG NumberOfBytes,
IN BOOLEAN DebuggerThread
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(DebuggerThread)
LOG_FUNC_END;
NtDll::PVOID pRet = NULL;
if (!NumberOfBytes) {
// NumberOfBytes cannot be zero when passed to NtAllocateVirtualMemory() below
CxbxKrnlCleanup("Assertion: 'NumberOfBytes != 0' in MmCreateKernelStack()");
}
if (NumberOfBytes & 0xFF) {
// Validate NumberOfBytes for alignment with the page size
CxbxKrnlCleanup("Assertion: '(NumberOfBytes & (PAGE_SIZE -1)) == 0' in MmCreateKernelStack()");
}
/**
* Function at present does not:
* - Create an additional guard PAGE_SIZE after allocation,
* - Fill allocation with any values
* - Treat DebuggerThread any differently
*/
if (FAILED(NtDll::NtAllocateVirtualMemory(GetCurrentProcess(), &pRet, 0, &NumberOfBytes, MEM_COMMIT, PAGE_READWRITE)))
EmuWarning("MmCreateKernelStack failed!\n");
else
pRet = (PVOID)((ULONG)pRet + NumberOfBytes);
return pRet;
}
// ******************************************************************
// * 0x00AA - MmDeleteKernelStack
// ******************************************************************
XBSYSAPI EXPORTNUM(170) VOID NTAPI xboxkrnl::MmDeleteKernelStack
(
PVOID EndAddress,
PVOID BaseAddress
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(EndAddress)
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_END;
/* __asm int 3;
CxbxKrnlCleanup( "MmDeleteKernelStack unimplemented (check call stack)" );*/
ULONG RegionSize = 0;
if (FAILED(NtDll::NtFreeVirtualMemory(GetCurrentProcess(), &BaseAddress, &RegionSize, MEM_RELEASE)))
EmuWarning("MmDeleteKernelStack failed!\n");
}
// ******************************************************************
// * 0x00AB - MmFreeContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(171) VOID NTAPI xboxkrnl::MmFreeContiguousMemory
(
IN PVOID BaseAddress
)
{
LOG_FUNC_ONE_ARG(BaseAddress);
PVOID OrigBaseAddress = BaseAddress;
if (g_AlignCache.exists(BaseAddress))
{
OrigBaseAddress = g_AlignCache.get(BaseAddress);
g_AlignCache.remove(BaseAddress);
}
if (OrigBaseAddress != &xLaunchDataPage)
{
CxbxFree(OrigBaseAddress);
}
else
{
DbgPrintf("Ignored MmFreeContiguousMemory(&xLaunchDataPage)\n");
}
return;
}
// ******************************************************************
// * 0x00AC - MmFreeSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(172) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmFreeSystemMemory
(
PVOID BaseAddress,
ULONG NumberOfBytes
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_END;
CxbxFree(BaseAddress);
return STATUS_SUCCESS;
}
// ******************************************************************
// * 0x00AF - MmLockUnlockBufferPages
// ******************************************************************
XBSYSAPI EXPORTNUM(175) void NTAPI xboxkrnl::MmLockUnlockBufferPages
(
IN PHYSICAL_ADDRESS BaseAddress,
IN ULONG NumberOfBytes,
IN ULONG Protect
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(Protect)
LOG_FUNC_END;
UNIMPLEMENTED();
}
// ******************************************************************
// * 0x00B1 - MmMapIoSpace
// ******************************************************************
XBSYSAPI EXPORTNUM(177) xboxkrnl::PVOID NTAPI xboxkrnl::MmMapIoSpace
(
IN PHYSICAL_ADDRESS PhysicalAddress,
IN ULONG NumberOfBytes,
IN ULONG ProtectionType
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(PhysicalAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(ProtectionType)
LOG_FUNC_END;
// TODO: should this be aligned?
PVOID pRet = CxbxMalloc(NumberOfBytes);
return pRet;
}
// ******************************************************************
// * 0x00B2 - MmPersistContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(178) VOID NTAPI xboxkrnl::MmPersistContiguousMemory
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN Persist
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(Persist)
LOG_FUNC_END;
// TODO: Actually set this up to be remember across a "reboot"
UNIMPLEMENTED();
}
// ******************************************************************
// * 0x00B4 - MmQueryAllocationSize
// ******************************************************************
XBSYSAPI EXPORTNUM(180) xboxkrnl::ULONG NTAPI xboxkrnl::MmQueryAllocationSize
(
IN PVOID BaseAddress
)
{
LOG_FUNC_ONE_ARG(BaseAddress);
ULONG uiSize = EmuCheckAllocationSize(BaseAddress, false);
return uiSize;
}
// ******************************************************************
// * 0x00B5 - MmQueryStatistics
// ******************************************************************
XBSYSAPI EXPORTNUM(181) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmQueryStatistics
(
OUT PMM_STATISTICS MemoryStatistics
)
{
LOG_FUNC_ONE_ARG_OUT(MemoryStatistics);
MEMORYSTATUS MemoryStatus;
SYSTEM_INFO SysInfo;
NTSTATUS ret;
if (MemoryStatistics->Length == 0x24)
{
GlobalMemoryStatus(&MemoryStatus);
GetSystemInfo(&SysInfo);
/**
* When each of the PMM_STATISTICS MemoryStatistics elements
* are setup correctly below, these two lines become redundant
*/
ZeroMemory(MemoryStatistics, sizeof(MM_STATISTICS));
MemoryStatistics->Length = sizeof(MM_STATISTICS);
MemoryStatistics->TotalPhysicalPages = MemoryStatus.dwTotalPhys / SysInfo.dwPageSize;
MemoryStatistics->AvailablePages = MemoryStatus.dwAvailPhys / SysInfo.dwPageSize;
MemoryStatistics->VirtualMemoryBytesCommitted = MemoryStatus.dwTotalVirtual - MemoryStatus.dwAvailVirtual;
MemoryStatistics->VirtualMemoryBytesReserved = MemoryStatus.dwAvailVirtual;
// MemoryStatistics->CachePagesCommitted = [ ];
// MemoryStatistics->PoolPagesCommitted = [ ];
// MemoryStatistics->StackPagesCommitted = [ ];
// MemoryStatistics->ImagePagesCommitted = [ ];
DbgPrintf(" MemoryStatistics->Length = 0x%.08X\n", MemoryStatistics->Length);
DbgPrintf(" MemoryStatistics->TotalPhysicalPages = 0x%.08X\n", MemoryStatistics->TotalPhysicalPages);
DbgPrintf(" MemoryStatistics->AvailablePages = 0x%.08X\n", MemoryStatistics->AvailablePages);
DbgPrintf(" MemoryStatistics->VirtualMemoryBytesCommitted = 0x%.08X\n", MemoryStatistics->VirtualMemoryBytesCommitted);
DbgPrintf(" MemoryStatistics->VirtualMemoryBytesReserved = 0x%.08X\n", MemoryStatistics->VirtualMemoryBytesReserved);
DbgPrintf(" MemoryStatistics->CachePagesCommitted = 0x%.08X\n", MemoryStatistics->CachePagesCommitted);
DbgPrintf(" MemoryStatistics->PoolPagesCommitted = 0x%.08X\n", MemoryStatistics->PoolPagesCommitted);
DbgPrintf(" MemoryStatistics->StackPagesCommitted = 0x%.08X\n", MemoryStatistics->StackPagesCommitted);
DbgPrintf(" MemoryStatistics->ImagePagesCommitted = 0x%.08X\n", MemoryStatistics->ImagePagesCommitted);
ret = STATUS_SUCCESS;
}
else
{
EmuWarning("EmuKrnl (0x%X): MmQueryStatistics with unusual size -> 0x%.08X\n", GetCurrentThreadId(), MemoryStatistics->Length);
ret = STATUS_INVALID_PARAMETER;
}
return ret;
}
// ******************************************************************
// * 0x00B6 - MmSetAddressProtect
// ******************************************************************
XBSYSAPI EXPORTNUM(182) VOID NTAPI xboxkrnl::MmSetAddressProtect
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN ULONG NewProtect
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_ARG(NewProtect)
LOG_FUNC_END;
DWORD dwOldProtect;
if (!VirtualProtect(BaseAddress, NumberOfBytes, NewProtect & (~PAGE_WRITECOMBINE), &dwOldProtect))
EmuWarning("VirtualProtect Failed!");
DbgPrintf("EmuKrnl (0x%X): VirtualProtect was 0x%.08X -> 0x%.08X\n", GetCurrentThreadId(), dwOldProtect, NewProtect & (~PAGE_WRITECOMBINE));
return;
}
// ******************************************************************
// * 0x00B7 - MmUnmapIoSpace
// ******************************************************************
XBSYSAPI EXPORTNUM(183) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmUnmapIoSpace
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(NumberOfBytes)
LOG_FUNC_END;
CxbxFree(BaseAddress);
return STATUS_SUCCESS;
}

2373
src/CxbxKrnl/EmuKrnlNt.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlOb.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For ObDirectoryObjectType, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(240) xboxkrnl::POBJECT_TYPE xboxkrnl::ObDirectoryObjectType = NULL;
// TODO : Determine size. What should we initialize this to?
XBSYSAPI EXPORTNUM(245) xboxkrnl::DWORD xboxkrnl::ObpObjectHandleTable[1] = {};
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(249) xboxkrnl::POBJECT_TYPE xboxkrnl::ObSymbolicLinkObjectType = NULL;

299
src/CxbxKrnl/EmuKrnlPs.cpp Normal file
View File

@ -0,0 +1,299 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlPs.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For PsCreateSystemThreadEx, etc.
};
#include <process.h> // For __beginthreadex(), etc.
#include "Logging.h" // For LOG_FUNC()
// prevent name collisions
namespace NtDll
{
#include "EmuNtDll.h"
};
#include "CxbxKrnl.h" // For CxbxKrnl_TLS
#include "Emu.h" // For EmuWarning()
#include "EmuFS.h" // For EmuGenerateFS
#include "EmuXTL.h"
// PsCreateSystemThread proxy parameters
typedef struct _PCSTProxyParam
{
IN PVOID StartContext1;
IN PVOID StartContext2;
IN PVOID StartRoutine;
IN BOOL StartSuspended;
IN HANDLE hStartedEvent;
}
PCSTProxyParam;
// Global Variable(s)
extern PVOID g_pfnThreadNotification[16] = { NULL };
extern int g_iThreadNotificationCount = 0;
// Separate function for logging, otherwise in PCSTProxy __try wont work (Compiler Error C2712)
void PCSTProxy_log
(
uint32 StartContext1,
uint32 StartContext2,
uint32 StartRoutine,
BOOL StartSuspended,
HANDLE hStartedEvent
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(StartContext1)
LOG_FUNC_ARG(StartContext2)
LOG_FUNC_ARG(StartRoutine)
LOG_FUNC_END;
}
// PsCreateSystemThread proxy procedure
#pragma warning(push)
#pragma warning(disable: 4731) // disable ebp modification warning
static unsigned int WINAPI PCSTProxy
(
IN PVOID Parameter
)
{
PCSTProxyParam *iPCSTProxyParam = (PCSTProxyParam*)Parameter;
uint32 StartContext1 = (uint32)iPCSTProxyParam->StartContext1;
uint32 StartContext2 = (uint32)iPCSTProxyParam->StartContext2;
uint32 StartRoutine = (uint32)iPCSTProxyParam->StartRoutine;
BOOL StartSuspended = (BOOL)iPCSTProxyParam->StartSuspended;
HANDLE hStartedEvent = (HANDLE)iPCSTProxyParam->hStartedEvent;
// Once deleted, unable to directly access iPCSTProxyParam in remainder of function.
delete iPCSTProxyParam;
PCSTProxy_log(StartContext1, StartContext2, StartRoutine, StartSuspended, hStartedEvent);
if (StartSuspended == TRUE)
SuspendThread(GetCurrentThread());
EmuGenerateFS(CxbxKrnl_TLS, CxbxKrnl_TLSData);
// call thread notification routine(s)
if (g_iThreadNotificationCount != 0)
{
for (int i = 0; i < 16; i++)
{
XTL::XTHREAD_NOTIFY_PROC pfnNotificationRoutine = (XTL::XTHREAD_NOTIFY_PROC)g_pfnThreadNotification[i];
// If the routine doesn't exist, don't execute it!
if (pfnNotificationRoutine == NULL)
continue;
DbgPrintf("EmuKrnl (0x%X): Calling pfnNotificationRoutine[%d] (0x%.08X)\n", GetCurrentThreadId(), g_iThreadNotificationCount, pfnNotificationRoutine);
pfnNotificationRoutine(TRUE);
}
}
// use the special calling convention
__try
{
SetEvent(hStartedEvent);
__asm
{
mov esi, StartRoutine
push StartContext2
push StartContext1
push offset callComplete
lea ebp, [esp - 4]
jmp near esi
}
}
__except (EmuException(GetExceptionInformation()))
{
EmuWarning("Problem with ExceptionFilter!");
}
callComplete:
// call thread notification routine(s)
if (g_iThreadNotificationCount != 0)
{
for (int i = 0; i < 16; i++)
{
XTL::XTHREAD_NOTIFY_PROC pfnNotificationRoutine = (XTL::XTHREAD_NOTIFY_PROC)g_pfnThreadNotification[i];
// If the routine doesn't exist, don't execute it!
if (pfnNotificationRoutine == NULL)
continue;
DbgPrintf("EmuKrnl (0x%X): Calling pfnNotificationRoutine[%d] (0x%.08X)\n", GetCurrentThreadId(), g_iThreadNotificationCount, pfnNotificationRoutine);
pfnNotificationRoutine(FALSE);
}
}
CxbxKrnlTerminateThread();
return 0;
}
#pragma warning(pop)
using namespace xboxkrnl;
// ******************************************************************
// * 0x00FF - PsCreateSystemThreadEx
// ******************************************************************
XBSYSAPI EXPORTNUM(255) xboxkrnl::NTSTATUS NTAPI xboxkrnl::PsCreateSystemThreadEx
(
OUT PHANDLE ThreadHandle,
IN ULONG ThreadExtraSize,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
OUT PULONG ThreadId OPTIONAL,
IN PVOID StartContext1,
IN PVOID StartContext2,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebugStack,
IN PKSTART_ROUTINE StartRoutine
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(ThreadHandle)
LOG_FUNC_ARG(ThreadExtraSize)
LOG_FUNC_ARG(KernelStackSize)
LOG_FUNC_ARG(TlsDataSize)
LOG_FUNC_ARG_OUT(ThreadId)
LOG_FUNC_ARG(StartContext1)
LOG_FUNC_ARG(StartContext2)
LOG_FUNC_ARG(CreateSuspended)
LOG_FUNC_ARG(DebugStack)
LOG_FUNC_ARG(StartRoutine)
LOG_FUNC_END;
static bool bFirstTime = false;
// create thread, using our special proxy technique
{
DWORD dwThreadId;
// PCSTProxy is responsible for cleaning up this pointer
::PCSTProxyParam *iPCSTProxyParam = new ::PCSTProxyParam();
iPCSTProxyParam->StartContext1 = StartContext1;
iPCSTProxyParam->StartContext2 = StartContext2;
iPCSTProxyParam->StartRoutine = StartRoutine;
iPCSTProxyParam->StartSuspended = CreateSuspended;
iPCSTProxyParam->hStartedEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
*ThreadHandle = (HANDLE)_beginthreadex(NULL, NULL, PCSTProxy, iPCSTProxyParam, NULL, (uint*)&dwThreadId);
// Make sure Xbox1 code runs on one core :
SetThreadAffinityMask(ThreadHandle, g_CPUXbox);
WaitForSingleObject(iPCSTProxyParam->hStartedEvent, 1000);
// *ThreadHandle = CreateThread(NULL, NULL, PCSTProxy, iPCSTProxyParam, NULL, &dwThreadId);
DbgPrintf("EmuKrnl (0x%X): ThreadHandle : 0x%X, ThreadId : 0x%.08X\n", GetCurrentThreadId(), *ThreadHandle, dwThreadId);
// we must duplicate this handle in order to retain Suspend/Resume thread rights from a remote thread
{
HANDLE hDupHandle = NULL;
DuplicateHandle(GetCurrentProcess(), *ThreadHandle, GetCurrentProcess(), &hDupHandle, 0, FALSE, DUPLICATE_SAME_ACCESS);
CxbxKrnlRegisterThread(hDupHandle);
}
if (ThreadId != NULL)
*ThreadId = dwThreadId;
}
return STATUS_SUCCESS;
}
// ******************************************************************
// * 0x0102 - PsTerminateSystemThread
// ******************************************************************
XBSYSAPI EXPORTNUM(258) VOID NTAPI xboxkrnl::PsTerminateSystemThread
(
IN NTSTATUS ExitStatus
)
{
LOG_FUNC_ONE_ARG(ExitStatus);
// call thread notification routine(s)
if (g_iThreadNotificationCount != 0)
{
for (int i = 0; i < 16; i++)
{
XTL::XTHREAD_NOTIFY_PROC pfnNotificationRoutine = (XTL::XTHREAD_NOTIFY_PROC)g_pfnThreadNotification[i];
// If the routine doesn't exist, don't execute it!
if (pfnNotificationRoutine == NULL)
continue;
DbgPrintf("EmuKrnl (0x%X): Calling pfnNotificationRoutine[%d] (0x%.08X)\n", GetCurrentThreadId(), g_iThreadNotificationCount, pfnNotificationRoutine);
pfnNotificationRoutine(FALSE);
}
}
// CxbxKrnlTerminateThread();
EmuCleanupFS();
_endthreadex(ExitStatus);
//ExitThread(ExitStatus);
return;
}

447
src/CxbxKrnl/EmuKrnlRtl.cpp Normal file
View File

@ -0,0 +1,447 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlRtl.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For RtlAnsiStringToUnicodeString, etc.
};
#include "Logging.h" // For LOG_FUNC()
// prevent name collisions
namespace NtDll
{
#include "EmuNtDll.h"
};
#include "CxbxKrnl.h" // For CxbxKrnlCleanup()
#include "Emu.h" // For EmuWarning()
// A critical section containing the PC and Xbox equivalent
struct INTERNAL_CRITICAL_SECTION
{
xboxkrnl::PRTL_CRITICAL_SECTION XboxCriticalSection;
NtDll::_RTL_CRITICAL_SECTION NativeCriticalSection;
};
#define MAX_XBOX_CRITICAL_SECTIONS 1024
INTERNAL_CRITICAL_SECTION GlobalCriticalSections[MAX_XBOX_CRITICAL_SECTIONS] = { 0 };
void InitializeSectionStructures(void)
{
ZeroMemory(GlobalCriticalSections, sizeof(GlobalCriticalSections));
}
int FindCriticalSection(xboxkrnl::PRTL_CRITICAL_SECTION CriticalSection)
{
int FreeSection = -1;
int iSection = 0;
for (iSection = 0; iSection < MAX_XBOX_CRITICAL_SECTIONS; ++iSection)
{
if (GlobalCriticalSections[iSection].XboxCriticalSection == CriticalSection)
{
FreeSection = iSection;
break;
}
else if (FreeSection < 0 && GlobalCriticalSections[iSection].XboxCriticalSection == NULL)
{
FreeSection = iSection;
}
}
if (FreeSection < 0)
{
EmuWarning("Too many critical sections in use!\n");
}
return FreeSection;
}
using namespace xboxkrnl;
// ******************************************************************
// * 0x0104 - RtlAnsiStringToUnicodeString
// ******************************************************************
XBSYSAPI EXPORTNUM(260) xboxkrnl::NTSTATUS NTAPI xboxkrnl::RtlAnsiStringToUnicodeString
(
PUNICODE_STRING DestinationString,
PSTRING SourceString,
UCHAR AllocateDestinationString
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(DestinationString)
LOG_FUNC_ARG(SourceString)
LOG_FUNC_ARG(AllocateDestinationString)
LOG_FUNC_END;
NTSTATUS ret = NtDll::RtlAnsiStringToUnicodeString((NtDll::UNICODE_STRING*)DestinationString, (NtDll::STRING*)SourceString, AllocateDestinationString);
return ret;
}
// ******************************************************************
// * 0x0108 - RtlAssert - Debug API?
// ******************************************************************
XBSYSAPI EXPORTNUM(264) VOID NTAPI xboxkrnl::RtlAssert
(
PVOID FailedAssertion, // PCHAR
PVOID FileName, // PCHAR
ULONG LineNumber,
PCHAR Message
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(FailedAssertion)
LOG_FUNC_ARG(FileName)
LOG_FUNC_ARG(LineNumber)
LOG_FUNC_ARG(Message)
LOG_FUNC_END;
CxbxKrnlCleanup("RtlAssert() raised by emulated program - consult Debug log");
return;
}
// ******************************************************************
// * 0x0115 RtlEnterCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(277) VOID NTAPI xboxkrnl::RtlEnterCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
)
{
/** sorta pointless
LOG_FUNC_ONE_ARG(CriticalSection);
//*/
//printf("CriticalSection->LockCount : %d\n", CriticalSection->LockCount);
// This seems redundant, but xbox software doesn't always do it
if (CriticalSection)
{
int iSection = FindCriticalSection(CriticalSection);
if (iSection >= 0)
{
GlobalCriticalSections[iSection].XboxCriticalSection = CriticalSection;
if (CriticalSection->LockCount < 0)
NtDll::RtlInitializeCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
NtDll::RtlEnterCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
CriticalSection->LockCount = GlobalCriticalSections[iSection].NativeCriticalSection.LockCount;
CriticalSection->RecursionCount = GlobalCriticalSections[iSection].NativeCriticalSection.RecursionCount;
CriticalSection->OwningThread = GlobalCriticalSections[iSection].NativeCriticalSection.OwningThread;
}
//if(CriticalSection->LockCount == -1)
//NtDll::RtlInitializeCriticalSection((NtDll::_RTL_CRITICAL_SECTION*)CriticalSection);
//NtDll::RtlEnterCriticalSection((NtDll::_RTL_CRITICAL_SECTION*)CriticalSection);
}
return;
}
// ******************************************************************
// * 0x0117 - RtlEqualString
// ******************************************************************
XBSYSAPI EXPORTNUM(279) xboxkrnl::BOOLEAN NTAPI xboxkrnl::RtlEqualString
(
IN PSTRING String1,
IN PSTRING String2,
IN BOOLEAN CaseSensitive
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(String1)
LOG_FUNC_ARG(String2)
LOG_FUNC_ARG(CaseSensitive)
LOG_FUNC_END;
BOOLEAN bRet = NtDll::RtlEqualString((NtDll::PSTRING)String1, (NtDll::PSTRING)String2, (NtDll::BOOLEAN)CaseSensitive);
return bRet;
}
// ******************************************************************
// * 0x011E - RtlFreeAnsiString
// ******************************************************************
XBSYSAPI EXPORTNUM(286) VOID NTAPI xboxkrnl::RtlFreeAnsiString
(
IN OUT PANSI_STRING AnsiString
)
{
LOG_FUNC_ONE_ARG(AnsiString);
NtDll::RtlFreeAnsiString((NtDll::PANSI_STRING)AnsiString);
return;
}
// ******************************************************************
// * 0x0121 - RtlInitAnsiString
// ******************************************************************
XBSYSAPI EXPORTNUM(289) VOID NTAPI xboxkrnl::RtlInitAnsiString
(
IN OUT PANSI_STRING DestinationString,
IN PCSZ SourceString
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(DestinationString)
LOG_FUNC_ARG(SourceString)
LOG_FUNC_END;
NtDll::RtlInitAnsiString((NtDll::PANSI_STRING)DestinationString, (NtDll::PCSZ)SourceString);
return;
}
// ******************************************************************
// * 0x0122 - RtlInitUnicodeString
// ******************************************************************
XBSYSAPI EXPORTNUM(290) VOID NTAPI xboxkrnl::RtlInitUnicodeString
(
IN OUT PUNICODE_STRING DestinationString,
IN PSTRING SourceString
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(DestinationString)
LOG_FUNC_ARG(SourceString)
LOG_FUNC_END;
NtDll::RtlInitUnicodeString((NtDll::PUNICODE_STRING)DestinationString, (NtDll::PCWSTR)SourceString);
return;
}
// ******************************************************************
// * 0x0123 - RtlInitializeCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(291) VOID NTAPI xboxkrnl::RtlInitializeCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
)
{
if (CriticalSection == nullptr) {
return;
}
/*
LOG_FUNC_ONE_ARG(CriticalSection);
//*/
int iSection = FindCriticalSection(CriticalSection);
if (iSection >= 0)
{
GlobalCriticalSections[iSection].XboxCriticalSection = CriticalSection;
NtDll::RtlInitializeCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
CriticalSection->LockCount = GlobalCriticalSections[iSection].NativeCriticalSection.LockCount;
CriticalSection->RecursionCount = GlobalCriticalSections[iSection].NativeCriticalSection.RecursionCount;
CriticalSection->OwningThread = GlobalCriticalSections[iSection].NativeCriticalSection.OwningThread;
}
//NtDll::RtlInitializeCriticalSection((NtDll::_RTL_CRITICAL_SECTION*)CriticalSection);
return;
}
// ******************************************************************
// * 0x0126 RtlEnterCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(294) VOID NTAPI xboxkrnl::RtlLeaveCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
)
{
if (CriticalSection == nullptr) {
return;
}
int iSection = FindCriticalSection(CriticalSection);
if (iSection >= 0)
{
GlobalCriticalSections[iSection].XboxCriticalSection = CriticalSection;
NtDll::RtlLeaveCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
CriticalSection->LockCount = GlobalCriticalSections[iSection].NativeCriticalSection.LockCount;
CriticalSection->RecursionCount = GlobalCriticalSections[iSection].NativeCriticalSection.RecursionCount;
CriticalSection->OwningThread = GlobalCriticalSections[iSection].NativeCriticalSection.OwningThread;
}
// Note: We need to execute this before debug output to avoid trouble
//NtDll::RtlLeaveCriticalSection((NtDll::_RTL_CRITICAL_SECTION*)CriticalSection);
/* sorta pointless
LOG_FUNC_ONE_ARG(CriticalSection);
//*/
return;
}
// ******************************************************************
// * RtlLowerChar
// ******************************************************************
XBSYSAPI EXPORTNUM(296) xboxkrnl::CHAR NTAPI xboxkrnl::RtlLowerChar
(
CHAR Character
)
{
LOG_FUNC_ONE_ARG(Character);
CHAR ret = tolower(Character);
return ret;
}
// ******************************************************************
// * 0x012D - RtlNtStatusToDosError
// ******************************************************************
XBSYSAPI EXPORTNUM(301) xboxkrnl::ULONG NTAPI xboxkrnl::RtlNtStatusToDosError
(
IN NTSTATUS Status
)
{
LOG_FUNC_ONE_ARG(Status);
ULONG ret = NtDll::RtlNtStatusToDosError(Status);
return ret;
}
// ******************************************************************
// * 0x0130 - RtlTimeFieldsToTime
// ******************************************************************
XBSYSAPI EXPORTNUM(304) xboxkrnl::BOOLEAN NTAPI xboxkrnl::RtlTimeFieldsToTime
(
IN PTIME_FIELDS TimeFields,
OUT PLARGE_INTEGER Time
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(TimeFields)
LOG_FUNC_ARG_OUT(Time)
LOG_FUNC_END;
BOOLEAN bRet = NtDll::RtlTimeFieldsToTime((NtDll::TIME_FIELDS*)TimeFields, (NtDll::LARGE_INTEGER*)Time);
return bRet;
}
// ******************************************************************
// * 0x0131 - RtlTimeToTimeFields
// ******************************************************************
XBSYSAPI EXPORTNUM(305) VOID NTAPI xboxkrnl::RtlTimeToTimeFields
(
IN PLARGE_INTEGER Time,
OUT PTIME_FIELDS TimeFields
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Time)
LOG_FUNC_ARG_OUT(TimeFields)
LOG_FUNC_END;
NtDll::RtlTimeToTimeFields((NtDll::LARGE_INTEGER*)Time, (NtDll::TIME_FIELDS*)TimeFields);
return;
}
// ******************************************************************
// * RtlTryEnterCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(306) xboxkrnl::BOOLEAN NTAPI xboxkrnl::RtlTryEnterCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
)
{
// Return on nullptr BEFORE logging!
if (CriticalSection == nullptr) {
return false;
}
LOG_FUNC_ONE_ARG(CriticalSection);
BOOL bRet = FALSE;
int iSection = FindCriticalSection(CriticalSection);
if (iSection >= 0)
{
GlobalCriticalSections[iSection].XboxCriticalSection = CriticalSection;
if (CriticalSection->LockCount < 0)
NtDll::RtlInitializeCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
bRet = NtDll::RtlTryEnterCriticalSection(&GlobalCriticalSections[iSection].NativeCriticalSection);
CriticalSection->LockCount = GlobalCriticalSections[iSection].NativeCriticalSection.LockCount;
CriticalSection->RecursionCount = GlobalCriticalSections[iSection].NativeCriticalSection.RecursionCount;
CriticalSection->OwningThread = GlobalCriticalSections[iSection].NativeCriticalSection.OwningThread;
}
//bRet = NtDll::RtlTryEnterCriticalSection((NtDll::PRTL_CRITICAL_SECTION)CriticalSection);
return bRet;
}
// ******************************************************************
// * 0x0134 - RtlUnicodeStringToAnsiString
// ******************************************************************
XBSYSAPI EXPORTNUM(308) xboxkrnl::NTSTATUS NTAPI xboxkrnl::RtlUnicodeStringToAnsiString
(
IN OUT PSTRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(DestinationString)
LOG_FUNC_ARG(SourceString)
LOG_FUNC_ARG(AllocateDestinationString)
LOG_FUNC_END;
NTSTATUS ret = NtDll::RtlUnicodeStringToAnsiString((NtDll::STRING*)DestinationString, (NtDll::UNICODE_STRING*)SourceString, AllocateDestinationString);
return ret;
}

View File

@ -0,0 +1,98 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlXbox.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For XboxEEPROMKey, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(321) xboxkrnl::XBOX_KEY_DATA xboxkrnl::XboxEEPROMKey = {};
// ******************************************************************
// * 0x0142 - XboxHardwareInfo
// ******************************************************************
XBSYSAPI EXPORTNUM(322) xboxkrnl::XBOX_HARDWARE_INFO xboxkrnl::XboxHardwareInfo =
{
0xC0000035,
0,0,0,0
};
// ******************************************************************
// * 0x0143 - XboxHDKey
// ******************************************************************
XBSYSAPI EXPORTNUM(323) xboxkrnl::UCHAR xboxkrnl::XboxHDKey[16] =
{
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
};
// ******************************************************************
// * 0x0144 - XboxKrnlVersion
// ******************************************************************
XBSYSAPI EXPORTNUM(324) xboxkrnl::XBOX_KRNL_VERSION xboxkrnl::XboxKrnlVersion =
{
1, 0, 5838, 1
};
// ******************************************************************
// * XboxSignatureKey
// ******************************************************************
XBSYSAPI EXPORTNUM(325) xboxkrnl::BYTE xboxkrnl::XboxSignatureKey[16] =
{
// cxbx default saved game key
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(353) xboxkrnl::XBOX_KEY_DATA xboxkrnl::XboxLANKey = {};
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(354) xboxkrnl::XBOX_KEY_DATA xboxkrnl::XboxAlternateSignatureKeys = {};

107
src/CxbxKrnl/EmuKrnlXc.cpp Normal file
View File

@ -0,0 +1,107 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlXc.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For XcSHAInit, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// ******************************************************************
// * XcSHAInit
// ******************************************************************
XBSYSAPI EXPORTNUM(335) VOID NTAPI xboxkrnl::XcSHAInit
(
UCHAR *pbSHAContext
)
{
LOG_FUNC_ONE_ARG(pbSHAContext);
UNIMPLEMENTED();
return;
}
// ******************************************************************
// * XcSHAUpdate
// ******************************************************************
XBSYSAPI EXPORTNUM(336) VOID NTAPI xboxkrnl::XcSHAUpdate
(
UCHAR *pbSHAContext,
UCHAR *pbInput,
ULONG dwInputLength
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pbSHAContext)
LOG_FUNC_ARG(pbInput)
LOG_FUNC_ARG(dwInputLength)
LOG_FUNC_END;
UNIMPLEMENTED();
return;
}
// ******************************************************************
// * XcSHAFinal
// ******************************************************************
XBSYSAPI EXPORTNUM(337) VOID NTAPI xboxkrnl::XcSHAFinal
(
UCHAR *pbSHAContext,
UCHAR *pbDigest
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pbSHAContext)
LOG_FUNC_ARG(pbDigest)
LOG_FUNC_END;
// for now, we dont care about the digest
for (int v = 0; v<20; v++)
{
pbDigest[v] = 0;
}
return;
}

View File

@ -0,0 +1,96 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuKrnlXe.cpp
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them under the terms of the GNU General Public
// * License as published by the Free Software Foundation; either
// * version 2 of the license, or (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
// *
// * All rights reserved
// *
// ******************************************************************
#define _CXBXKRNL_INTERNAL
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
namespace xboxkrnl
{
#include <xboxkrnl/xboxkrnl.h> // For XeImageFileName, etc.
};
#include "Logging.h" // For LOG_FUNC()
#include "Emu.h" // For EmuWarning()
using namespace xboxkrnl;
// ******************************************************************
// * XeImageFileName
// ******************************************************************
XBSYSAPI EXPORTNUM(326) xboxkrnl::OBJECT_STRING xboxkrnl::XeImageFileName =
{
};
XBSYSAPI EXPORTNUM(327) xboxkrnl::NTSTATUS NTAPI xboxkrnl::XeLoadSection
(
void* section
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(section)
LOG_FUNC_END;
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
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(section)
LOG_FUNC_END;
if (((Xbe::SectionHeader*)section)->dwSectionRefCount == 0) {
return STATUS_INVALID_PARAMETER;
}
EmuWarning("XeUnloadSection lied");
return STATUS_SUCCESS;
}
// TODO : What should we initialize this to?
XBSYSAPI EXPORTNUM(355) xboxkrnl::DWORD xboxkrnl::XePublicKeyData = 0;

View File

@ -83,6 +83,9 @@ typedef unsigned long PHYSICAL_ADDRESS;
typedef long INT_PTR;
typedef int BOOL;
typedef unsigned long UINT32;
// ******************************************************************
// * Pointer types
// ******************************************************************
@ -528,6 +531,39 @@ typedef struct _TIME_FIELDS
}
TIME_FIELDS, *PTIME_FIELDS;
// ******************************************************************
// * KSYSTEM_TIME
// ******************************************************************
typedef struct _KSYSTEM_TIME {
ULONG LowPart;
LONG High1Time;
LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME;
// ******************************************************************
// * KUSER_SHARED_DATA
// ******************************************************************
typedef struct _KUSER_SHARED_DATA
{
/* Current low 32-bit of tick count and tick count multiplier.
* N.B. The tick count is updated each time the clock ticks.
*/
volatile ULONG TickCountLow;
UINT32 TickCountMultiplier;
/* Current 64-bit interrupt time in 100ns units. */
volatile KSYSTEM_TIME InterruptTime;
/* Current 64-bit system time in 100ns units. */
volatile KSYSTEM_TIME SystemTime;
/* Current 64-bit time zone bias. */
volatile KSYSTEM_TIME TimeZoneBias;
}
KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
// This is only the top of the actual definition. For the complete version,
// see http://processhacker.sourceforge.net/doc/ntexapi_8h_source.html
// ******************************************************************
// * KeDelayExecutionThread
// ******************************************************************

View File

@ -39,6 +39,7 @@
#include "Emu.h"
#include "EmuFS.h"
#include "Logging.h"
// ******************************************************************
// * prevent name collisions
@ -58,20 +59,7 @@ PVOID WINAPI XTL::EmuXGIsSwizzledFormat
XTL::D3DFORMAT Format
)
{
// ******************************************************************
// * debug trace
// ******************************************************************
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuXapi (0x%X): EmuXGIsSwizzledFormat\n"
"(\n"
" Format : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Format);
}
#endif
LOG_FUNC_ONE_ARG(Format);
return FALSE;
}
@ -91,21 +79,16 @@ VOID WINAPI XTL::EmuXGSwizzleRect
DWORD BytesPerPixel
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGSwizzleRect\n"
"(\n"
" pSource : 0x%.08X\n"
" Pitch : 0x%.08X\n"
" pRect : 0x%.08X\n"
" pDest : 0x%.08X\n"
" Width : 0x%.08X\n"
" Height : 0x%.08X\n"
" pPoint : 0x%.08X\n"
" BytesPerPixel : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pSource, Pitch, pRect, pDest, Width, Height,
pPoint, BytesPerPixel);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pSource)
LOG_FUNC_ARG(Pitch)
LOG_FUNC_ARG(pRect)
LOG_FUNC_ARG(pDest)
LOG_FUNC_ARG(Width)
LOG_FUNC_ARG(Height)
LOG_FUNC_ARG(pPoint)
LOG_FUNC_ARG(BytesPerPixel)
LOG_FUNC_END;
if(pRect == NULL && pPoint == NULL && Pitch == 0)
{
@ -161,23 +144,18 @@ VOID WINAPI XTL::EmuXGSwizzleBox
DWORD BytesPerPixel
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGSwizzleBox\n"
"(\n"
" pSource : 0x%.08X\n"
" RowPitch : 0x%.08X\n"
" SlicePitch : 0x%.08X\n"
" pBox : 0x%.08X\n"
" pDest : 0x%.08X\n"
" Width : 0x%.08X\n"
" Height : 0x%.08X\n"
" Depth : 0x%.08X\n"
" pPoint : 0x%.08X\n"
" BytesPerPixel : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pSource, RowPitch, SlicePitch, pBox, pDest, Width, Height,
Depth, pPoint, BytesPerPixel);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pSource)
LOG_FUNC_ARG(RowPitch)
LOG_FUNC_ARG(SlicePitch)
LOG_FUNC_ARG(pBox)
LOG_FUNC_ARG(pDest)
LOG_FUNC_ARG(Width)
LOG_FUNC_ARG(Height)
LOG_FUNC_ARG(Depth)
LOG_FUNC_ARG(pPoint)
LOG_FUNC_ARG(BytesPerPixel)
LOG_FUNC_END;
if(pDest != (LPVOID) 0x80000000)
{
@ -337,23 +315,18 @@ HRESULT WINAPI XTL::EmuXGWriteSurfaceOrTextureToXPR
BOOL bWriteSurfaceAsTexture
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGWriteSurfaceOrTextureToXPR\n"
"(\n"
" pResource : 0x%.08X\n"
" cPath : 0x%.08X\n"
" bWriteSurfaceAsTexture : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pResource, cPath, bWriteSurfaceAsTexture);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pResource)
LOG_FUNC_ARG(cPath)
LOG_FUNC_ARG(bWriteSurfaceAsTexture)
LOG_FUNC_END;
// TODO: If necessary, either reverse the .xbx and .xpr file formats
// and write the surface/texture to a file, or output a generic .xbx
// file and be done with it.
EmuWarning("(Temporarily) ignoring EmuXGWriteSurfaceOrTextureToXPR. Need file specs.");
UNIMPLEMENTED();
// (Temporarily) ignoring EmuXGWriteSurfaceOrTextureToXPR. Need file specs.
return S_OK;
}
@ -374,22 +347,17 @@ VOID WINAPI XTL::EmuXGSetTextureHeader
UINT Pitch
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGSetTextureHeader\n"
"(\n"
" Width : 0x%.08X\n"
" Height : 0x%.08X\n"
" Levels : 0x%.08X\n"
" Usage : 0x%.08X\n"
" Format : 0x%.08X\n"
" Pool : 0x%.08X\n"
" pTexture : 0x%.08X\n"
" Data : 0x%.08X\n"
" Pitch : 0x%.08X\n"
");\n",
GetCurrentThreadId(), Width, Height, Levels, Usage,
Format, Pool, pTexture, Data, Pitch);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(Width)
LOG_FUNC_ARG(Height)
LOG_FUNC_ARG(Levels)
LOG_FUNC_ARG(Usage)
LOG_FUNC_ARG(Format)
LOG_FUNC_ARG(Pool)
LOG_FUNC_ARG(pTexture)
LOG_FUNC_ARG(Data)
LOG_FUNC_ARG(Pitch)
LOG_FUNC_END;
// NOTES: This function simply creates a texture that needs to be registered
// via D3DDevice_Register afterwards. So, do I just create the texture via
@ -439,7 +407,6 @@ VOID WINAPI XTL::EmuXGSetTextureHeader
// D3DCOLOR_XRGB(
DbgPrintf( "pTexture->Format:= 0x%.08X\n", pTexture->Format );
}
// ******************************************************************
@ -454,13 +421,11 @@ VOID WINAPI XTL::EmuXGSetTextureHeader
//{
//
//
// DbgPrintf("EmuXapi (0x%X): EmuXFONT_OpenBitmapFontFromMemory\n"
// "(\n"
// " pFontData : 0x%.08X\n"
// " uFontDataSize : 0x%.08X\n"
// " ppFont : 0x%.08X\n"
// ");\n",
// GetCurrentThreadId(), pFontData, uFontDataSize, ppFont);
// LOG_FUNC_BEGIN
// LOG_FUNC_ARG(pFontData)
// LOG_FUNC_ARG(uFontDataSize)
// LOG_FUNC_ARG(ppFont)
// LOG_FUNC_END;
//
// __asm int 3;
//

View File

@ -35,6 +35,7 @@
#define _XBOXKRNL_DEFEXTRN_
#include "Emu.h"
#include "Logging.h"
#include "EmuFS.h"
// ******************************************************************
@ -56,20 +57,14 @@ int WINAPI XTL::EmuWSAStartup
WSADATA *lpWSAData
)
{
DbgPrintf("EmuXapi (0x%X): EmuWSAStartup\n"
"(\n"
" wVersionRequested : 0x%.08X\n"
" lpWSAData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), wVersionRequested, lpWSAData);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(wVersionRequested)
LOG_FUNC_ARG(lpWSAData)
LOG_FUNC_END;
int ret = WSAStartup(wVersionRequested, lpWSAData);
return ret;
return ret;
}
// ******************************************************************
@ -80,18 +75,12 @@ INT WINAPI XTL::EmuXNetStartup
const PVOID pDummy
)
{
LOG_FUNC_ONE_ARG(pDummy);
DbgPrintf("EmuXapi (0x%X): EmuXNetStartup\n"
"(\n"
" pDummy : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pDummy);
// Fake Successfull...hehehe...sucker...hehehehehe
INT ret = 0;
// Fake Successfull...hehehe...sucker...hehehehehe
return 0;
return ret;
}
// ******************************************************************
@ -99,14 +88,12 @@ INT WINAPI XTL::EmuXNetStartup
// ******************************************************************
DWORD WINAPI XTL::EmuXNetGetEthernetLinkStatus()
{
LOG_FUNC();
DbgPrintf("EmuXapi (0x%X): EmuXNetGetEthernetLinkStatus();\n", GetCurrentThreadId());
// for now, no ethernet connection is available
DWORD ret = XNET_ETHERNET_LINK_ACTIVE | XNET_ETHERNET_LINK_100MBPS;
// for now, no ethernet connection is available
return XNET_ETHERNET_LINK_ACTIVE | XNET_ETHERNET_LINK_100MBPS;
return ret;
}
// ******************************************************************
@ -119,94 +106,84 @@ SOCKET XTL::EmuThis::Emusocket
int protocol
)
{
DbgPrintf("EmuXapi (0x%X): EmuThis::Emusocket\n"
"(\n"
" this : 0x%.08X\n"
" af : 0x%.08X\n"
" type : 0x%.08X\n"
" protocol : 0x%.08X\n"
");\n",
GetCurrentThreadId(), this, af, type, protocol);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(af)
LOG_FUNC_ARG(type)
LOG_FUNC_ARG(protocol)
LOG_FUNC_END;
SOCKET ret = socket(af, type, protocol);
return ret;
return ret;
}
// ******************************************************************
// * func: EmuThis::Emubind
// ******************************************************************
int XTL::EmuThis::Emubind(SOCKET s, const struct sockaddr FAR *name, int namelen)
int XTL::EmuThis::Emubind
(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
)
{
DbgPrintf("EmuXapi (0x%X): EmuThis::Emubind\n"
"(\n"
" this : 0x%.08X\n"
" s : 0x%.08X\n"
" name : 0x%.08X\n"
" namelen : 0x%.08X\n"
");\n",
GetCurrentThreadId(), this, s, name, namelen);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(name)
LOG_FUNC_ARG(namelen)
LOG_FUNC_END;
// TODO: Host-To-Network order if necessary (probably not?)
int ret = bind(s, name, namelen);
return ret;
return ret;
}
// ******************************************************************
// * func: EmuThis::Emulisten
// ******************************************************************
int XTL::EmuThis::Emulisten(SOCKET s, int backlog)
int XTL::EmuThis::Emulisten
(
SOCKET s,
int backlog
)
{
DbgPrintf("EmuXapi (0x%X): EmuThis::Emulisten\n"
"(\n"
" this : 0x%.08X\n"
" s : 0x%.08X\n"
" listen : 0x%.08X\n"
");\n",
GetCurrentThreadId(), this, s, backlog);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(backlog)
LOG_FUNC_END;
// TODO: Host-To-Network order if necessary (probably not?)
int ret = listen(s, backlog);
return ret;
return ret;
}
// ******************************************************************
// * func: EmuThis::Emuioctlsocket
// ******************************************************************
int XTL::EmuThis::Emuioctlsocket(SOCKET s, long cmd, u_long FAR *argp)
int XTL::EmuThis::Emuioctlsocket
(
SOCKET s,
long cmd,
u_long FAR *argp
)
{
DbgPrintf("EmuXapi (0x%X): EmuThis::Emuioctlsocket\n"
"(\n"
" this : 0x%.08X\n"
" s : 0x%.08X\n"
" cmd : 0x%.08X\n"
" argp : 0x%.08X\n"
");\n",
GetCurrentThreadId(), this, s, cmd, argp);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(cmd)
LOG_FUNC_ARG(argp)
LOG_FUNC_END;
int ret = ioctlsocket(s, cmd, argp);
return ret;
return ret;
}
// ******************************************************************
@ -218,20 +195,16 @@ HRESULT WINAPI XOnlineLaunchNewImage
LPVOID pLaunchData
)
{
DbgPrintf("XOnline (0x%X): EmuXOnlineLaunchNewImage\n"
"(\n"
" lpImagePath : 0x%.08X (%s)\n"
" pLaunchData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), lpImagePath, lpImagePath, pLaunchData);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(lpImagePath)
LOG_FUNC_ARG(pLaunchData)
LOG_FUNC_END;
// TODO: Launch another .xbe from Cxbx someday?
HRESULT ret = E_FAIL;
return E_FAIL;
return ret;
}
// ******************************************************************
@ -246,21 +219,17 @@ HRESULT WINAPI XTL::EmuXOnlineLogon
HANDLE pHandle
)
{
DbgPrintf("XOnline (0x%X): EmuXOnlineLogon\n"
"(\n"
" pUsers : 0x%.08X\n"
" pdwServiceIDs : 0x%.08X\n"
" dwServices : 0x%.08X\n"
" hEvent : 0x%.08X\n"
" pHandle : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pUsers, pdwServiceIDs, dwServices, hEvent, pHandle);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pUsers)
LOG_FUNC_ARG(pdwServiceIDs)
LOG_FUNC_ARG(dwServices)
LOG_FUNC_ARG(hEvent)
LOG_FUNC_ARG(pHandle)
LOG_FUNC_END;
// TODO: What will it take to log on to Xbox Live?
HRESULT ret = HRESULT(0x80151000L); // XONLINE_E_LOGON_NO_NETWORK_CONNECTION
return HRESULT(0x80151000L); // XONLINE_E_LOGON_NO_NETWORK_CONNECTION
return ret;
}

View File

@ -41,6 +41,7 @@ namespace xboxkrnl
};
#include "CxbxKrnl.h"
#include "Logging.h"
#include "Emu.h"
#include "EmuFS.h"
#include "EmuShared.h"
@ -68,14 +69,10 @@ HRESULT WINAPI XTL::EmuXACTEngineCreate
X_XACTEngine** ppEngine
)
{
DbgPrintf("EmuXactEng (0x%X): EmuXACTEngineCreate\n"
"(\n"
" pParams : 0x%.08X\n"
" ppEngine : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pParams, ppEngine);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pParams)
LOG_FUNC_ARG(ppEngine)
LOG_FUNC_END;
// TODO: Any other form of initialization?
@ -91,9 +88,7 @@ HRESULT WINAPI XTL::EmuXACTEngineCreate
// ******************************************************************
void WINAPI XTL::EmuXACTEngineDoWork()
{
DbgPrintf("EmuXactEng (0x%X): EmuXACTEngineCreate()\n", GetCurrentThreadId() );
LOG_FUNC();
// TODO: Anything else required here?
// AFAIK, this function just calls DirectSoundDoWork()
@ -116,23 +111,17 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterWaveBank
X_XACTWaveBank** ppWaveBank
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_RegisterWaveBank\n"
"(\n"
" pThis : 0x%.08X\n"
" pvData : 0x%.08X\n"
" dwSize : 0x%.08X\n"
" ppWaveBank : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pvData, dwSize, ppWaveBank);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pvData)
LOG_FUNC_ARG(dwSize)
LOG_FUNC_ARG(ppWaveBank)
LOG_FUNC_END;
// TODO: Implement
*ppWaveBank = (X_XACTWaveBank*) CxbxMalloc( sizeof( X_XACTWaveBank ) );
return S_OK;
}
@ -146,22 +135,16 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterStreamedWaveBank
X_XACTWaveBank** ppWaveBank
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_RegisterWaveBank\n"
"(\n"
" pThis : 0x%.08X\n"
" pParams : 0x%.08X\n"
" ppWaveBank : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pParams, ppWaveBank);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pParams)
LOG_FUNC_ARG(ppWaveBank)
LOG_FUNC_END;
// TODO: Implement
*ppWaveBank = (X_XACTWaveBank*) CxbxMalloc( sizeof( X_XACTWaveBank ) );
return S_OK;
}
@ -176,23 +159,17 @@ HRESULT WINAPI XTL::EmuIXACTEngine_CreateSoundBank
X_XACTSoundBank** ppSoundBank
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_CreateSoundBank\n"
"(\n"
" pThis : 0x%.08X\n"
" pvData : 0x%.08X\n"
" dwSize : 0x%.08X\n"
" ppSoundBank : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pvData, dwSize, ppSoundBank);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pvData)
LOG_FUNC_ARG(dwSize)
LOG_FUNC_ARG(ppSoundBank)
LOG_FUNC_END;
// TODO: Implement
*ppSoundBank = (X_XACTSoundBank*) CxbxMalloc( sizeof( X_XACTSoundBank ) );
return S_OK;
}
@ -208,22 +185,16 @@ HRESULT WINAPI XTL::EmuIXACTEngine_DownloadEffectsImage
LPVOID* ppImageDesc
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_DownloadEffectsImage\n"
"(\n"
" pThis : 0x%.08X\n"
" pvData : 0x%.08X\n"
" dwSize : 0x%.08X\n"
" pEffectLoc : 0x%.08X\n"
" ppImageDesc : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pvData, dwSize, pEffectLoc, ppImageDesc);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pvData)
LOG_FUNC_ARG(dwSize)
LOG_FUNC_ARG(pEffectLoc)
LOG_FUNC_ARG(ppImageDesc)
LOG_FUNC_END;
// TODO: Implement
return S_OK;
}
@ -237,20 +208,14 @@ HRESULT WINAPI XTL::EmuIXACTEngine_CreateSoundSource
X_XACTSoundSource** ppSoundSource
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_CreateSoundSource\n"
"(\n"
" pThis : 0x%.08X\n"
" dwFlags : 0x%.08X\n"
" ppSoundSource : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, dwFlags, ppSoundSource);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(dwFlags)
LOG_FUNC_ARG(ppSoundSource)
LOG_FUNC_END;
*ppSoundSource = (X_XACTSoundSource*) CxbxMalloc( sizeof( X_XACTSoundSource ) );
return S_OK;
}
@ -263,16 +228,10 @@ HRESULT WINAPI XTL::EmuIXACTEngine_EnableHeadphones
BOOL fEnabled
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_EnableHeadphones\n"
"(\n"
" pThis : 0x%.08X\n"
" fEnabled : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, fEnabled);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(fEnabled)
LOG_FUNC_END;
return S_OK;
}
@ -292,22 +251,16 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerOrientation
DWORD dwApply
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_SetListenerOrientation\n"
"(\n"
" pThis : 0x%.08X\n"
" xFront : %f"
" yFront : %f"
" zFront : %f"
" xTop : %f"
" yTop : %f"
" zTop : %f"
" dwApply : 0x%.08X"
");\n",
GetCurrentThreadId(), pThis, xFront, yFront, zFront, xTop, yTop, zTop, dwApply);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(xFront)
LOG_FUNC_ARG(yFront)
LOG_FUNC_ARG(zFront)
LOG_FUNC_ARG(xTop)
LOG_FUNC_ARG(yTop)
LOG_FUNC_ARG(zTop)
LOG_FUNC_ARG(dwApply)
LOG_FUNC_END;
return S_OK;
}
@ -324,19 +277,13 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerPosition
DWORD dwApply
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_SetListenerPosition\n"
"(\n"
" pThis : 0x%.08X\n"
" x : %f"
" y : %f"
" z : %f"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(x)
LOG_FUNC_ARG(y)
LOG_FUNC_ARG(z)
LOG_FUNC_ARG(dwApply)
LOG_FUNC_END;
return S_OK;
}
@ -353,19 +300,13 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetListenerVelocity
DWORD dwApply
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_SetListenerVelocity\n"
"(\n"
" pThis : 0x%.08X\n"
" x : %f"
" y : %f"
" z : %f"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(x)
LOG_FUNC_ARG(y)
LOG_FUNC_ARG(z)
LOG_FUNC_ARG(dwApply)
LOG_FUNC_END;
return S_OK;
}
@ -380,17 +321,11 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetMasterVolume
LONG lVolume
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_SetMasterVolume\n"
"(\n"
" pThis : 0x%.08X\n"
" wCategory : 0x%.08X\n"
" lVolume : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, wCategory, lVolume);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(wCategory)
LOG_FUNC_ARG(lVolume)
LOG_FUNC_END;
return S_OK;
}
@ -398,17 +333,12 @@ HRESULT WINAPI XTL::EmuIXACTEngine_SetMasterVolume
// ******************************************************************
// * EmuIXACTEngine_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI XTL::EmuIXACTEngine_CommitDeferredSettings(X_XACTEngine* pThis)
HRESULT WINAPI XTL::EmuIXACTEngine_CommitDeferredSettings
(
X_XACTEngine* pThis
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_CommitDeferredSettings\n"
"(\n"
" pThis : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis);
LOG_FUNC_ONE_ARG(pThis);
return S_OK;
}
@ -423,17 +353,11 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName
DWORD* pdwSoundCueIndex
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName\n"
"(\n"
" pThis : 0x%.08X\n"
" pFriendlyName : (%s)\n"
" pdwSoundCueIndex : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pFriendlyName, pdwSoundCueIndex);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pFriendlyName)
LOG_FUNC_ARG(pdwSoundCueIndex)
LOG_FUNC_END;
return S_OK;
}
@ -450,19 +374,13 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_Play
X_XACTSoundCue** ppSoundCue
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTSoundBank_Play\n"
"(\n"
" pThis : 0x%.08X\n"
" dwSoundCueIndex : 0x%.08X\n"
" pSoundSource : 0x%.08X\n"
" dwFlags : 0x%.08X\n"
" ppSoundCue : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, dwSoundCueIndex, pSoundSource, dwFlags, ppSoundCue);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(dwSoundCueIndex)
LOG_FUNC_ARG(pSoundSource)
LOG_FUNC_ARG(dwFlags)
LOG_FUNC_ARG(ppSoundCue)
LOG_FUNC_END;
return S_OK;
}
@ -478,18 +396,12 @@ HRESULT WINAPI XTL::EmuIXACTSoundBank_Stop
X_XACTSoundCue* pSoundCue
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTSoundBank_Stop\n"
"(\n"
" pThis : 0x%.08X\n"
" dwSoundCueIndex : 0x%.08X\n"
" dwFlags : 0x%.08X\n"
" pSoundCue : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, dwSoundCueIndex, dwFlags, pSoundCue);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(dwSoundCueIndex)
LOG_FUNC_ARG(dwFlags)
LOG_FUNC_ARG(pSoundCue)
LOG_FUNC_END;
return S_OK;
}
@ -506,19 +418,13 @@ HRESULT WINAPI XTL::EmuIXACTSoundSource_SetPosition
DWORD dwApply
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTSoundSource_SetPosition\n"
"(\n"
" pThis : 0x%.08X\n"
" x : %f\n"
" y : %f\n"
" z : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(x)
LOG_FUNC_ARG(y)
LOG_FUNC_ARG(z)
LOG_FUNC_ARG(dwApply)
LOG_FUNC_END;
return S_OK;
}
@ -535,19 +441,13 @@ HRESULT WINAPI XTL::EmuIXACTSoundSource_SetVelocity
DWORD dwApply
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTSoundSource_SetVelocity\n"
"(\n"
" pThis : 0x%.08X\n"
" x : %f\n"
" y : %f\n"
" z : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, x, y, z, dwApply);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(x)
LOG_FUNC_ARG(y)
LOG_FUNC_ARG(z)
LOG_FUNC_ARG(dwApply)
LOG_FUNC_END;
return S_OK;
}
@ -561,16 +461,10 @@ HRESULT WINAPI XTL::EmuIXACTEngine_RegisterNotification
PCXACT_NOTIFICATION_DESCRIPTION pNotificationDesc
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_RegisterNotification\n"
"(\n"
" pThis : 0x%.08X\n"
" pNotificationDesc : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pNotificationDesc);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pNotificationDesc)
LOG_FUNC_END;
return S_OK;
}
@ -585,21 +479,15 @@ HRESULT WINAPI XTL::EmuIXACTEngine_GetNotification
LPVOID pNotification
)
{
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_GetNotification\n"
"(\n"
" pThis : 0x%.08X\n"
" pNotificationDesc : 0x%.08X\n"
" pNotification : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pNotificationDesc, pNotification);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pNotificationDesc)
LOG_FUNC_ARG(pNotification)
LOG_FUNC_END;
// TODO: The contents of XACT_NOTIFICATION can vary from one XDK to the next.
// The definition for 4627 is different than 5558.
return S_OK;
}
@ -612,14 +500,11 @@ HRESULT WINAPI XTL::EmuIXACTEngine_UnRegisterWaveBank
X_XACTWaveBank* pWaveBank
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThis)
LOG_FUNC_ARG(pWaveBank)
LOG_FUNC_END;
DbgPrintf("EmuXactEng (0x%X): EmuIXACTEngine_UnRegisterWaveBank\n"
"(\n"
" pThis : 0x%.08X\n"
" pWaveBank : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pWaveBank);
// Even though the documentation doesn't tell us much, I'm
// assuming that after this function is called, the pointer
@ -628,7 +513,5 @@ HRESULT WINAPI XTL::EmuIXACTEngine_UnRegisterWaveBank
// if(pWaveBank)
// free(pWaveBank);
return S_OK;
}

View File

@ -43,6 +43,7 @@ namespace xboxkrnl
#include <Shlwapi.h>
#include "CxbxKrnl.h"
#include "Logging.h"
#include "Emu.h"
#include "EmuFile.h"
#include "EmuFS.h"
@ -84,11 +85,7 @@ XTL::LAUNCH_DATA g_SavedLaunchData;
// ******************************************************************
BOOL WINAPI XTL::EmuXFormatUtilityDrive()
{
#ifdef _DEBUG_TRACE
DbgPrintf("EmuXapi (0x%X): EmuXFormatUtilityDrive()\n", GetCurrentThreadId());
#endif
LOG_FUNC();
// TODO: yeah... we'll format... riiiiight
@ -103,19 +100,11 @@ DWORD WINAPI XTL::EmuGetTimeZoneInformation
OUT LPTIME_ZONE_INFORMATION lpTimeZoneInformation
)
{
DbgPrintf("EmuXapi (0x%X): EmuGetTimeZoneInformation\n"
"(\n"
" lpTimeZoneInformation : 0x%.08X\n"
");\n",
GetCurrentThreadId(), lpTimeZoneInformation);
LOG_FUNC_ONE_ARG_OUT(lpTimeZoneInformation);
DWORD dwRet = GetTimeZoneInformation(lpTimeZoneInformation);
return dwRet;
return dwRet;
}
// ******************************************************************
@ -126,22 +115,14 @@ BOOL WINAPI XTL::EmuQueryPerformanceCounter
PLARGE_INTEGER lpPerformanceCount
)
{
DbgPrintf("EmuXapi (0x%X): EmuQueryPerformanceCounter\n"
"(\n"
" lpPerformanceCount : 0x%.08X\n"
");\n",
GetCurrentThreadId(), lpPerformanceCount);
LOG_FUNC_ONE_ARG(lpPerformanceCount);
BOOL bRet = QueryPerformanceCounter(lpPerformanceCount);
// debug - 4x speed
//lpPerformanceCount->QuadPart *= 4;
return bRet;
return bRet;
}
// ******************************************************************
@ -152,19 +133,11 @@ BOOL WINAPI XTL::EmuQueryPerformanceFrequency
PLARGE_INTEGER lpFrequency
)
{
DbgPrintf("EmuXapi (0x%X): EmuQueryPerformanceFrequency\n"
"(\n"
" lpFrequency : 0x%.08X\n"
");\n",
GetCurrentThreadId(), lpFrequency);
LOG_FUNC_ONE_ARG(lpFrequency);
BOOL bRet = QueryPerformanceFrequency(lpFrequency);
return bRet;
return bRet;
}
// ******************************************************************
@ -175,17 +148,7 @@ BOOL WINAPI XTL::EmuXMountUtilityDrive
BOOL fFormatClean
)
{
#ifdef _DEBUG_TRACE
{
DbgPrintf("EmuXapi (0x%X): EmuXMountUtilityDrive\n"
"(\n"
" fFormatClean : 0x%.08X\n"
");\n",
GetCurrentThreadId(), fFormatClean);
}
#endif
LOG_FUNC_ONE_ARG(fFormatClean);
CxbxMountUtilityDrive(fFormatClean);
@ -201,14 +164,10 @@ VOID WINAPI XTL::EmuXInitDevices
PXDEVICE_PREALLOC_TYPE PreallocTypes
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInitDevices\n"
"(\n"
" dwPreallocTypeCount : 0x%.08X\n"
" PreallocTypes : 0x%.08X\n"
");\n",
GetCurrentThreadId(), dwPreallocTypeCount, PreallocTypes);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwPreallocTypeCount)
LOG_FUNC_ARG(PreallocTypes)
LOG_FUNC_END;
/*for( DWORD i = 0; i < dwPreallocTypeCount; i++ )
{
@ -231,10 +190,8 @@ VOID WINAPI XTL::EmuXInitDevices
{
g_hInputHandle[v] = 0;
}
return;
return;
}
// ******************************************************************
@ -245,13 +202,7 @@ DWORD WINAPI XTL::EmuXGetDevices
PXPP_DEVICE_TYPE DeviceType
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGetDevices\n"
"(\n"
" DeviceType : 0x%.08X\n"
");\n",
GetCurrentThreadId(), DeviceType);
LOG_FUNC_ONE_ARG(DeviceType);
DWORD ret = 0;
@ -260,9 +211,7 @@ DWORD WINAPI XTL::EmuXGetDevices
else
EmuWarning("Unknown DeviceType (0x%.08X, 0x%.08X, 0x%.08X)\n", DeviceType->Reserved[0], DeviceType->Reserved[1], DeviceType->Reserved[2]);
return ret;
return ret;
}
// ******************************************************************
@ -275,15 +224,11 @@ BOOL WINAPI XTL::EmuXGetDeviceChanges
PDWORD pdwRemovals
)
{
DbgPrintf("EmuXapi (0x%X): EmuXGetDeviceChanges\n"
"(\n"
" DeviceType : 0x%.08X\n"
" pdwInsertions : 0x%.08X\n"
" pdwRemovals : 0x%.08X\n"
");\n",
GetCurrentThreadId(), DeviceType, pdwInsertions, pdwRemovals);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(DeviceType)
LOG_FUNC_ARG(pdwInsertions)
LOG_FUNC_ARG(pdwRemovals)
LOG_FUNC_END;
BOOL bRet = FALSE;
static BOOL bFirst = TRUE;
@ -310,9 +255,7 @@ BOOL WINAPI XTL::EmuXGetDeviceChanges
*pdwRemovals = 0;
}
return TRUE; //bRet;
return TRUE; //bRet;
}
// ******************************************************************
@ -326,16 +269,12 @@ HANDLE WINAPI XTL::EmuXInputOpen
IN PXINPUT_POLLING_PARAMETERS pPollingParameters OPTIONAL
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputOpen\n"
"(\n"
" DeviceType : 0x%.08X\n"
" dwPort : 0x%.08X\n"
" dwSlot : 0x%.08X\n"
" pPollingParameters : 0x%.08X\n"
");\n",
GetCurrentThreadId(), DeviceType, dwPort, dwSlot, pPollingParameters);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(DeviceType)
LOG_FUNC_ARG(dwPort)
LOG_FUNC_ARG(dwSlot)
LOG_FUNC_ARG(pPollingParameters)
LOG_FUNC_END;
POLLING_PARAMETERS_HANDLE *pph = 0;
@ -387,9 +326,7 @@ HANDLE WINAPI XTL::EmuXInputOpen
g_bXInputOpenCalled = true;
return (HANDLE)pph;
return (HANDLE)pph;
}
// ******************************************************************
@ -400,13 +337,7 @@ VOID WINAPI XTL::EmuXInputClose
IN HANDLE hDevice
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputClose\n"
"(\n"
" hDevice : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice);
LOG_FUNC_ONE_ARG(hDevice);
POLLING_PARAMETERS_HANDLE *pph = (POLLING_PARAMETERS_HANDLE*)hDevice;
@ -435,9 +366,7 @@ VOID WINAPI XTL::EmuXInputClose
}
//*/
return;
return;
}
// ******************************************************************
@ -448,13 +377,7 @@ DWORD WINAPI XTL::EmuXInputPoll
IN HANDLE hDevice
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputPoll\n"
"(\n"
" hDevice : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice);
LOG_FUNC_ONE_ARG(hDevice);
POLLING_PARAMETERS_HANDLE *pph = (POLLING_PARAMETERS_HANDLE*)hDevice;
@ -509,14 +432,10 @@ DWORD WINAPI XTL::EmuXInputGetCapabilities
OUT PXINPUT_CAPABILITIES pCapabilities
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputGetCapabilities\n"
"(\n"
" hDevice : 0x%.08X\n"
" pCapabilities : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice, pCapabilities);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hDevice)
LOG_FUNC_ARG_OUT(pCapabilities)
LOG_FUNC_END;
DWORD ret = ERROR_INVALID_HANDLE;
@ -536,9 +455,7 @@ DWORD WINAPI XTL::EmuXInputGetCapabilities
}
}
return ret;
return ret;
}
// ******************************************************************
@ -550,14 +467,10 @@ DWORD WINAPI XTL::EmuXInputGetState
OUT PXINPUT_STATE pState
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputGetState\n"
"(\n"
" hDevice : 0x%.08X\n"
" pState : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice, pState);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hDevice)
LOG_FUNC_ARG_OUT(pState)
LOG_FUNC_END;
DWORD ret = ERROR_INVALID_HANDLE;
@ -594,9 +507,7 @@ DWORD WINAPI XTL::EmuXInputGetState
else
EmuWarning( "EmuXInputGetState(): pph == NULL!" );
return ret;
return ret;
}
// ******************************************************************
@ -608,14 +519,10 @@ DWORD WINAPI XTL::EmuXInputSetState
IN OUT PXINPUT_FEEDBACK pFeedback
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputSetState\n"
"(\n"
" hDevice : 0x%.08X\n"
" pFeedback : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice, pFeedback);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hDevice)
LOG_FUNC_ARG(pFeedback)
LOG_FUNC_END;
DWORD ret = ERROR_IO_PENDING;
@ -676,9 +583,7 @@ DWORD WINAPI XTL::EmuXInputSetState
}
}
return ret;
return ret;
}
@ -691,23 +596,17 @@ BOOL WINAPI XTL::EmuSetThreadPriorityBoost
BOOL DisablePriorityBoost
)
{
DbgPrintf("EmuXapi (0x%X): EmuSetThreadPriorityBoost\n"
"(\n"
" hThread : 0x%.08X\n"
" DisablePriorityBoost: 0x%.08X\n"
");\n",
GetCurrentThreadId(), hThread, DisablePriorityBoost);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hThread)
LOG_FUNC_ARG(DisablePriorityBoost)
LOG_FUNC_END;
BOOL bRet = SetThreadPriorityBoost(hThread, DisablePriorityBoost);
if(bRet == FALSE)
EmuWarning("SetThreadPriorityBoost Failed!");
return bRet;
return bRet;
}
// ******************************************************************
@ -719,23 +618,17 @@ BOOL WINAPI XTL::EmuSetThreadPriority
int nPriority
)
{
DbgPrintf("EmuXapi (0x%X): EmuSetThreadPriority\n"
"(\n"
" hThread : 0x%.08X\n"
" nPriority : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hThread, nPriority);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hThread)
LOG_FUNC_ARG(nPriority)
LOG_FUNC_END;
BOOL bRet = SetThreadPriority(hThread, nPriority);
if(bRet == FALSE)
EmuWarning("SetThreadPriority Failed!");
return bRet;
return bRet;
}
@ -747,22 +640,14 @@ int WINAPI XTL::EmuGetThreadPriority
HANDLE hThread
)
{
DbgPrintf("EmuXapi (0x%X): EmuGetThreadPriority\n"
"(\n"
" hThread : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hThread);
LOG_FUNC_ONE_ARG(hThread);
int iRet = GetThreadPriority(hThread);
if(iRet == THREAD_PRIORITY_ERROR_RETURN)
EmuWarning("GetThreadPriority Failed!");
return iRet;
return iRet;
}
// ******************************************************************
@ -774,20 +659,14 @@ BOOL WINAPI XTL::EmuGetExitCodeThread
LPDWORD lpExitCode
)
{
DbgPrintf("EmuXapi (0x%X): EmuGetExitCodeThread\n"
"(\n"
" hThread : 0x%.08X\n"
" lpExitCode : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hThread, lpExitCode);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hThread)
LOG_FUNC_ARG(lpExitCode)
LOG_FUNC_END;
BOOL bRet = GetExitCodeThread(hThread, lpExitCode);
return bRet;
return bRet;
}
// ******************************************************************
@ -799,18 +678,12 @@ VOID WINAPI XTL::EmuXapiThreadStartup
DWORD dwDummy2
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwDummy1)
LOG_FUNC_ARG(dwDummy2)
LOG_FUNC_END;
DbgPrintf("EmuXapi (0x%X): EmuXapiThreadStartup\n"
"(\n"
" dwDummy1 : 0x%.08X\n"
" dwDummy2 : 0x%.08X\n"
");\n",
GetCurrentThreadId(), dwDummy1, dwDummy2);
typedef int (__stdcall *pfDummyFunc)(DWORD dwDummy);
typedef int (__stdcall *pfDummyFunc)(DWORD dwDummy);
pfDummyFunc func = (pfDummyFunc)dwDummy1;
@ -840,14 +713,10 @@ VOID WINAPI XTL::EmuXRegisterThreadNotifyRoutine
BOOL fRegister
)
{
DbgPrintf("EmuXapi (0x%X): EmuXRegisterThreadNotifyRoutine\n"
"(\n"
" pThreadNotification : 0x%.08X (0x%.08X)\n"
" fRegister : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThreadNotification, pThreadNotification->pfnNotifyRoutine, fRegister);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pThreadNotification)
LOG_FUNC_ARG(fRegister)
LOG_FUNC_END;
if(fRegister)
{
@ -896,15 +765,11 @@ DWORD WINAPI XTL::EmuQueueUserAPC
DWORD dwData
)
{
DbgPrintf("EmuXapi (0x%X): EmuQueueUserAPC\n"
"(\n"
" pfnAPC : 0x%.08X\n"
" hThread : 0x%.08X\n"
" dwData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pfnAPC, hThread, dwData);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pfnAPC)
LOG_FUNC_ARG(hThread)
LOG_FUNC_ARG(dwData)
LOG_FUNC_END;
DWORD dwRet = 0;
@ -919,8 +784,6 @@ DWORD WINAPI XTL::EmuQueueUserAPC
if(!dwRet)
EmuWarning("QueueUserAPC failed!");
return dwRet;
}
@ -935,24 +798,18 @@ BOOL WINAPI XTL::EmuGetOverlappedResult
BOOL bWait
)
{
DbgPrintf("EmuXapi (0x%X): EmuGetOverlappedResult\n"
"(\n"
" hFile : 0x%.08X\n"
" lpOverlapped : 0x%.08X\n"
" lpNumberOfBytesTransformed : 0x%.08X\n"
" bWait : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hFile)
LOG_FUNC_ARG(lpOverlapped)
LOG_FUNC_ARG(lpNumberOfBytesTransferred)
LOG_FUNC_ARG(bWait)
LOG_FUNC_END;
BOOL bRet = GetOverlappedResult( hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait );
// if(bWait)
// bRet = TRUE; // Sucker...
return bRet;
}
@ -965,14 +822,10 @@ DWORD WINAPI XTL::EmuXLaunchNewImage
PLAUNCH_DATA pLaunchData
)
{
DbgPrintf("EmuXapi (0x%X): EmuXLaunchNewImage\n"
"(\n"
" lpTitlePath : 0x%.08X (%s)\n"
" pLaunchData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), lpTitlePath, lpTitlePath, pLaunchData);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(lpTitlePath)
LOG_FUNC_ARG(pLaunchData)
LOG_FUNC_END;
// If this function succeeds, it doesn't get a chance to return anything.
DWORD dwRet = ERROR_GEN_FAILURE;
@ -984,7 +837,7 @@ DWORD WINAPI XTL::EmuXLaunchNewImage
sprintf(szDashboardPath, "%s\\xboxdash.xbe", symbolicLinkObject->NativePath.c_str());
if (PathFileExists(szDashboardPath)) {
MessageBox(CxbxKrnl_hEmuParent, "The title is rebooting to dashboard", "Cxbx-Reloaded", 0);
MessageBox(CxbxKrnl_hEmuParent, "The title is rebooting to dashboard", "Cxbx", 0);
char szXboxDashboardPath[MAX_PATH];
sprintf(szXboxDashboardPath, "%c:\\xboxdash.xbe", symbolicLinkObject->DriveLetter);
EmuXLaunchNewImage(szXboxDashboardPath, pLaunchData);
@ -1050,15 +903,11 @@ DWORD WINAPI XTL::EmuXGetLaunchInfo
PLAUNCH_DATA pLaunchData
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(pdwLaunchDataType)
LOG_FUNC_ARG(pLaunchData)
LOG_FUNC_END;
DbgPrintf("EmuXapi (0x%X): EmuXGetLaunchInfo\n"
"(\n"
" pdwLaunchDataType : 0x%.08X\n"
" pLaunchData : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pdwLaunchDataType, pLaunchData);
// The title was launched by turning on the Xbox console with the title disc already in the DVD drive
DWORD dwRet = ERROR_NOT_FOUND;
@ -1119,18 +968,10 @@ VOID WINAPI XTL::EmuXSetProcessQuantumLength
DWORD dwMilliseconds
)
{
DbgPrintf("EmuXapi (0x%X): EmuXSetProcessQuantumLength\n"
"(\n"
" dwMilliseconds : 0x%.08X\n"
");\n",
GetCurrentThreadId(), dwMilliseconds);
LOG_FUNC_ONE_ARG(dwMilliseconds);
// TODO: Implement?
EmuWarning("XSetProcessQuantumLength is being ignored!");
UNIMPLEMENTED();
}
// ******************************************************************
@ -1138,16 +979,12 @@ VOID WINAPI XTL::EmuXSetProcessQuantumLength
// ******************************************************************
DWORD WINAPI XTL::EmuXGetFileCacheSize()
{
DbgPrintf("EmuXapi (0x%X): EmuXGetFileCacheSize()\n", GetCurrentThreadId());
LOG_FUNC();
// Return the default cache size for now.
// TODO: Save the file cache size if/when set.
DWORD dwRet = 64 * 1024;
return dwRet;
}
@ -1162,44 +999,33 @@ DWORD WINAPI XTL::EmuSignalObjectAndWait
BOOL bAlertable
)
{
DbgPrintf("EmuXapi (0x%X): EmuSignalObjectAndWait\n"
"(\n"
" hObjectToSignal : 0x%.08X\n"
" hObjectToWaitOn : 0x%.08X\n"
" dwMilliseconds : 0x%.08X\n"
" bAlertable : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hObjectToSignal, hObjectToWaitOn, dwMilliseconds, bAlertable);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hObjectToSignal)
LOG_FUNC_ARG(hObjectToWaitOn)
LOG_FUNC_ARG(dwMilliseconds)
LOG_FUNC_ARG(bAlertable)
LOG_FUNC_END;
DWORD dwRet = SignalObjectAndWait( hObjectToSignal, hObjectToWaitOn, dwMilliseconds, bAlertable );
return dwRet;
}
// ******************************************************************
// * func: EmuPulseEvent
// ******************************************************************
BOOL WINAPI XTL::EmuPulseEvent( HANDLE hEvent )
BOOL WINAPI XTL::EmuPulseEvent
(
HANDLE hEvent
)
{
DbgPrintf("EmuXapi (0x%X): EmuPulseEvent\n"
"(\n"
" hEvent : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hEvent);
LOG_FUNC_ONE_ARG(hEvent);
// TODO: This function might be a bit too high level. If it is,
// feel free to implement NtPulseEvent in EmuKrnl.cpp
BOOL bRet = PulseEvent( hEvent );
return bRet;
}
@ -1215,22 +1041,16 @@ MMRESULT WINAPI XTL::EmutimeSetEvent
UINT fuEvent
)
{
DbgPrintf("EmuXapi (0x%X): EmutimeSetEvent\n"
"(\n"
" uDelay : 0x%.08X\n"
" uResolution : 0x%.08X\n"
" fptc : 0x%.08X\n"
" dwUser : 0x%.08X\n"
" fuEvent : 0x%.08X\n"
");\n",
GetCurrentThreadId(), uDelay, uResolution, fptc, dwUser, fuEvent);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(uDelay)
LOG_FUNC_ARG(uResolution)
LOG_FUNC_ARG(fptc)
LOG_FUNC_ARG(dwUser)
LOG_FUNC_ARG(fuEvent)
LOG_FUNC_END;
MMRESULT Ret = timeSetEvent( uDelay, uResolution, fptc, (DWORD_PTR) dwUser, fuEvent );
return Ret;
}
@ -1242,18 +1062,10 @@ MMRESULT WINAPI XTL::EmutimeKillEvent
UINT uTimerID
)
{
DbgPrintf("EmuXapi (0x%X): EmuReleaseSemaphore\n"
"(\n"
" uTimerID : 0x%.08X\n"
");\n",
GetCurrentThreadId(), uTimerID);
LOG_FUNC_ONE_ARG(uTimerID);
MMRESULT Ret = timeKillEvent( uTimerID );
return Ret;
}
@ -1268,21 +1080,15 @@ VOID WINAPI XTL::EmuRaiseException
CONST ULONG_PTR *lpArguments // array of arguments
)
{
DbgPrintf("EmuXapi (0x%X): EmuRaiseException\n"
"(\n"
" dwExceptionCode : 0x%.08X\n"
" dwExceptionFlags : 0x%.08X\n"
" nNumberOfArguments: 0x%.08X\n"
" lpArguments : 0x%.08X\n"
");\n",
GetCurrentThreadId(), dwExceptionCode, dwExceptionFlags, nNumberOfArguments, lpArguments);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwExceptionCode)
LOG_FUNC_ARG(dwExceptionFlags)
LOG_FUNC_ARG(nNumberOfArguments)
LOG_FUNC_ARG(lpArguments)
LOG_FUNC_END;
// TODO: Implement or not?
// RaiseException(dwExceptionCode, dwExceptionFlags, nNumberOfArguments, (*(ULONG_PTR**) &lpArguments));
}
// ******************************************************************
@ -1293,15 +1099,11 @@ DWORD WINAPI XTL::EmuGetFileAttributesA
LPCSTR lpFileName // name of file or directory
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(lpFileName)
LOG_FUNC_END;
DbgPrintf("EmuXapi (0x%X): EmuGetFileAttributesA\n"
"(\n"
" lpFileName : (%s)\n"
");\n",
GetCurrentThreadId(), lpFileName);
// Dues Ex...
// Deus Ex...
// Shave off the D:\ and default to the current directory.
// TODO: Other directories (i.e. Utility)?
@ -1336,21 +1138,15 @@ DWORD WINAPI XTL::EmuXMountMUA
PCHAR pchDrive
)
{
DbgPrintf("EmuXapi (0x%X): EmuXMountMUA\n"
"(\n"
" dwPort : 0x%.08X\n"
" dwSlot : 0x%.08X\n"
" pchDrive : 0x%.08X (%s)\n"
");\n",
GetCurrentThreadId(), dwPort, dwSlot, pchDrive, pchDrive);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwPort)
LOG_FUNC_ARG(dwSlot)
LOG_FUNC_ARG(pchDrive)
LOG_FUNC_END;
// TODO: Actually allow memory card emulation? This might make transferring
// game saves a bit easier if the memory card directory was configurable. =]
return E_FAIL;
}
@ -1364,15 +1160,11 @@ HANDLE WINAPI XTL::EmuCreateWaitableTimerA
LPCSTR lpTimerName // object name
)
{
DbgPrintf("EmuXapi (0x%X): EmuCreateWaitableTimerA\n"
"(\n"
" lpTimerAttributes : 0x%.08X\n"
" bManualReset : 0x%.08X\n"
" lpTimerName : 0x%.08X (%s)\n"
");\n",
GetCurrentThreadId(), lpTimerAttributes, bManualReset, lpTimerName, lpTimerName);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(lpTimerAttributes)
LOG_FUNC_ARG(bManualReset)
LOG_FUNC_ARG(lpTimerName)
LOG_FUNC_END;
// For Xbox titles, this param should always be NULL.
if(lpTimerAttributes)
@ -1398,28 +1190,20 @@ BOOL WINAPI XTL::EmuSetWaitableTimer
BOOL fResume // resume state
)
{
DbgPrintf("EmuXapi (0x%X): EmuSetWaitableTimer\n"
"(\n"
" hTimer : 0x%.08X\n"
" pDueTime : 0x%.08X\n"
" lPeriod : 0x%.08X\n"
" pfnCompletionRoutine : 0x%.08X\n"
" lpArgToCompletionRoutine : 0x%.08X\n"
" fResume : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hTimer, pDueTime, lPeriod, pfnCompletionRoutine,
lpArgToCompletionRoutine, fResume);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hTimer)
LOG_FUNC_ARG(pDueTime)
LOG_FUNC_ARG(lPeriod)
LOG_FUNC_ARG(pfnCompletionRoutine)
LOG_FUNC_ARG(lpArgToCompletionRoutine)
LOG_FUNC_ARG(fResume)
LOG_FUNC_END;
BOOL Ret = SetWaitableTimer( hTimer, pDueTime, lPeriod, pfnCompletionRoutine,
lpArgToCompletionRoutine, fResume );
if(!Ret)
EmuWarning("SetWaitableTimer failed!");
return Ret;
}
@ -1433,37 +1217,26 @@ DWORD WINAPI XTL::EmuXMountAlternateTitle
PCHAR pchDrive
)
{
DbgPrintf("EmuXapi (0x%X): EmuXMountAlternateTitle\n"
"(\n"
" lpRootPath : 0x%.08X (%s)\n"
" dwAltTitleId : 0x%.08X\n"
" pchDrive : 0x%.08X (%s)\n"
");\n",
GetCurrentThreadId(), lpRootPath, lpRootPath, dwAltTitleId, pchDrive, pchDrive);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(lpRootPath)
LOG_FUNC_ARG(dwAltTitleId)
LOG_FUNC_ARG(pchDrive)
LOG_FUNC_END;
// TODO: Anything?
return ERROR_SUCCESS;
}
// ******************************************************************
// * func: EmuXUnmountAlternateTitle
// ******************************************************************
DWORD WINAPI XTL::EmuXUnmountAlternateTitle(CHAR chDrive)
DWORD WINAPI XTL::EmuXUnmountAlternateTitle
(
CHAR chDrive
)
{
DbgPrintf("EmuXapi (0x%X): EmuXUnmountAlternativeTitle\n"
"(\n"
" chDrive : 0x%.08X (%c)\n"
");\n",
GetCurrentThreadId(), chDrive, chDrive);
LOG_FUNC_ONE_ARG(chDrive);
return ERROR_SUCCESS;
}
@ -1473,11 +1246,7 @@ DWORD WINAPI XTL::EmuXUnmountAlternateTitle(CHAR chDrive)
// ******************************************************************
DWORD WINAPI XTL::EmuXGetDeviceEnumerationStatus()
{
DbgPrintf("EmuXapi (0x%X): EmuXGetDeviceEnumerationStatus()\n", GetCurrentThreadId());
LOG_FUNC();
return XDEVICE_ENUMERATION_IDLE;
}
@ -1491,19 +1260,13 @@ DWORD WINAPI XTL::EmuXInputGetDeviceDescription
PVOID pDescription
)
{
DbgPrintf("EmuXapi (0x%X): EmuXInputGetDeviceDescription\n"
"(\n"
" hDevice : 0x%.08X\n"
" pDescription : 0x%.08X\n"
");\n",
GetCurrentThreadId(), hDevice, pDescription);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(hDevice)
LOG_FUNC_ARG(pDescription)
LOG_FUNC_END;
// TODO: Lightgun support?
return ERROR_NOT_SUPPORTED; // ERROR_DEVICE_NOT_CONNECTED;
}
@ -1512,15 +1275,10 @@ DWORD WINAPI XTL::EmuXInputGetDeviceDescription
// ******************************************************************
int WINAPI XTL::EmuXAutoPowerDownResetTimer()
{
DbgPrintf("EmuXapi (0x%X): EmuXAutoPowerDownResetTimer()\n",
GetCurrentThreadId());
LOG_FUNC();
// Meh, that's what the 'X' is for! =]
return TRUE;
}
@ -1534,20 +1292,13 @@ DWORD WINAPI XTL::EmuXMountMURootA
PCHAR pchDrive
)
{
DbgPrintf("EmuXapi (0x%X): EmuXMountMURootA\n"
"(\n"
" dwPort : 0x%.08X\n"
" dwSlot : 0x%.08X\n"
" pchDrive : 0x%.08X (%s)\n"
");\n",
GetCurrentThreadId(), dwPort, dwSlot, pchDrive, pchDrive);
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwPort)
LOG_FUNC_ARG(dwSlot)
LOG_FUNC_ARG(pchDrive)
LOG_FUNC_END;
// TODO: The params are probably wrong...
return ERROR_SUCCESS;
}

File diff suppressed because it is too large Load Diff

View File

@ -40,8 +40,8 @@ SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x8B },
@ -63,8 +63,8 @@ SOOVPA<7> IDirect3DDevice8_GetCreationParameters_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x8B },
@ -85,8 +85,8 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetViewport+0x05 : push esi; push edi
@ -117,8 +117,8 @@ SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetViewport+0x00 : sub esp, 0x08
@ -149,8 +149,8 @@ SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTransform+0x44 : fld dword ptr [edx+0x28]
@ -219,8 +219,8 @@ SOOVPA<7> D3DDevice_BeginVisibilityTest_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -241,8 +241,8 @@ SOOVPA<7> D3DDevice_EndVisibilityTest_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -263,8 +263,8 @@ SOOVPA<8> D3DDevice_CopyRects_1_0_4034 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x57 },
@ -286,8 +286,8 @@ SOOVPA<7> D3DDevice_DeletePatch_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x0D },
@ -308,8 +308,8 @@ SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4034 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C]
@ -341,8 +341,8 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4034 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04]
@ -379,8 +379,8 @@ SOOVPA<7> D3DDevice_SetTextureState_BorderColor_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -401,8 +401,8 @@ SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -423,8 +423,8 @@ SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4034 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C]
@ -457,8 +457,8 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08]
@ -487,8 +487,8 @@ SOOVPA<8> D3DDevice_DrawRectPatch_1_0_4034 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x6C },
@ -510,8 +510,8 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4034 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetIndices+0x0E : jz +0x10
@ -543,8 +543,8 @@ SOOVPA<7> D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -565,8 +565,8 @@ SOOVPA<7> D3DDevice_SetRenderState_FillMode_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -587,8 +587,8 @@ SOOVPA<8> D3DDevice_SetRenderState_BackFillMode_1_0_4034 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -610,8 +610,8 @@ SOOVPA<7> D3DDevice_SetRenderState_FogColor_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x06 },
@ -632,8 +632,8 @@ SOOVPA<6> D3DDevice_SetRenderState_FrontFace_1_0_4034 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -653,8 +653,8 @@ SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x3B },
@ -675,8 +675,8 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -697,8 +697,8 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleMask_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -719,8 +719,8 @@ SOOVPA<7> D3DDevice_SetRenderState_NormalizeNormals_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -741,8 +741,8 @@ SOOVPA<7> D3DDevice_SetRenderState_ShadowFunc_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -763,8 +763,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4034 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08
@ -800,8 +800,8 @@ SOOVPA<7> D3DDevice_SetRenderState_StencilEnable_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x13, 0x8B },
@ -822,8 +822,8 @@ SOOVPA<7> D3DDevice_SetRenderState_StencilFail_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x72 },
@ -844,8 +844,8 @@ SOOVPA<7> D3DDevice_SetRenderState_YuvEnable_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x56 },
@ -866,8 +866,8 @@ SOOVPA<7> D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -888,8 +888,8 @@ SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xCA },
@ -910,8 +910,8 @@ SOOVPA<7> Direct3D_CheckDeviceFormat_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x18 },
@ -932,8 +932,8 @@ SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -954,8 +954,8 @@ SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -984,8 +984,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05
@ -1019,8 +1019,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4034 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x050C]
@ -1056,8 +1056,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x04E8]
@ -1087,8 +1087,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -1117,8 +1117,8 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_4034 =
1, // Large == 1
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Clear+0x0000 : sub esp, 38h
@ -1146,8 +1146,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4034 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x50C]
@ -1180,8 +1180,8 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4034 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18]
@ -1213,8 +1213,8 @@ SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTexture+0x09 : push edi
@ -1247,8 +1247,8 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4034 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0C08]
@ -1279,8 +1279,8 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07
@ -1311,8 +1311,8 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4034 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0B70
@ -1345,8 +1345,8 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4034 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1
@ -1381,8 +1381,8 @@ SOOVPA<11> D3DDevice_Swap_1_0_4034 =
0, // Large == 0
11, // Count == 11
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x10 : mov ebx, 5
@ -1414,8 +1414,8 @@ SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4034 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr]
@ -1449,8 +1449,8 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4034 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18
@ -1480,8 +1480,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4034 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF

View File

@ -40,8 +40,8 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07
@ -72,8 +72,8 @@ SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTransform+0x16 : lea edi, [ecx+ebx+0x750]
@ -104,8 +104,8 @@ SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18
@ -134,8 +134,8 @@ SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF
@ -168,8 +168,8 @@ SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08
@ -198,8 +198,8 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08]
@ -228,8 +228,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi]
@ -260,8 +260,8 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x10 : mov ebx, 5
@ -293,8 +293,8 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_4134 =
1, // Large == 1
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Clear+0x0000 : sub esp, 38h
@ -322,8 +322,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF
@ -356,8 +356,8 @@ SOOVPA<9> IDirect3DDevice8_GetDepthStencilSurface_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr]
@ -387,8 +387,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderTarget_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x3C
@ -418,8 +418,8 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax
@ -449,8 +449,8 @@ SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0
@ -479,8 +479,8 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18
@ -510,8 +510,8 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08]
@ -542,8 +542,8 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370]
@ -575,8 +575,8 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03
@ -609,8 +609,8 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetIndices+0x0E : jz +0x10
@ -642,8 +642,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200
@ -675,8 +675,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370]
@ -706,8 +706,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi]
@ -738,8 +738,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05
@ -773,8 +773,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05
{ 0x0C, 0x72 }, // (Offset,Value)-Pair #1
@ -805,8 +805,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi
@ -843,8 +843,8 @@ SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06
@ -879,8 +879,8 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4134 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04]
@ -917,8 +917,8 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4134 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1
@ -953,8 +953,8 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14
@ -983,8 +983,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394]
@ -1017,8 +1017,8 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940
@ -1051,8 +1051,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394]
@ -1088,8 +1088,8 @@ SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4134 =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08]
@ -1131,8 +1131,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi]
@ -1159,8 +1159,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -1189,8 +1189,8 @@ SOOVPA<10> IDirect3DDevice8_Reset_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Reset+0x15 : mov ecx, ebp
@ -1221,8 +1221,8 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000
@ -1256,8 +1256,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_BackFillMode+0x1C : jb +0x05
@ -1291,8 +1291,8 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05
@ -1323,7 +1323,7 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1356,8 +1356,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_LogicOp+0x07 : mov eax, [esi]
@ -1385,8 +1385,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05
@ -1419,8 +1419,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x05
@ -1453,7 +1453,7 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1490,8 +1490,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi]
@ -1523,7 +1523,7 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1554,7 +1554,7 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1585,7 +1585,7 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1616,8 +1616,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [edi+0x2070]
@ -1645,8 +1645,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleMask+0x1C : jb +0x05
@ -1680,8 +1680,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x2070]
@ -1714,8 +1714,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x0F : mov ecx, [eax+0x2070]
@ -1748,8 +1748,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi
@ -1785,8 +1785,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04]
@ -1822,8 +1822,8 @@ SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800
@ -1852,8 +1852,8 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShaderConstant_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPixelShaderConstant+0x17 : test eax, eax
@ -1884,8 +1884,8 @@ SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1941,8 +1941,8 @@ SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_4134 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1962,8 +1962,8 @@ SOOVPA<7> IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x56 },
@ -2011,8 +2011,8 @@ SOOVPA<7> D3DDevice_SetRenderState_LineWidth_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x89 },
@ -2033,8 +2033,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1
@ -2068,8 +2068,8 @@ SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
@ -2102,8 +2102,8 @@ SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetTile+0x13 : lea esi, [ecx+eax*8+0x211C]
@ -2135,8 +2135,8 @@ SOOVPA<11> IDirect3DDevice8_SetTile_1_0_4134 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTileNoWait+0x00 : sub esp, 0x18
@ -2166,8 +2166,8 @@ SOOVPA<7> D3DDevice_IsBusy_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x8B },
@ -2188,7 +2188,7 @@ SOOVPA<12> D3D_CDevice_KickOff_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Is Used
{
@ -2219,8 +2219,8 @@ SOOVPA<7> D3DDevice_BlockOnFence_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -2241,8 +2241,8 @@ SOOVPA<8> D3DDevice_GetRenderTarget_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x8B },
@ -2264,8 +2264,8 @@ SOOVPA<11> IDirect3DDevice8_Release_1_0_4134 =
0, // Large == 0
11, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Release+0x07 : mov eax, [edi+0x043C]
@ -2297,8 +2297,8 @@ SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4134 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*]
@ -2334,8 +2334,8 @@ SOOVPA<7> D3DDevice_SetShaderConstantMode_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0xFD },

View File

@ -40,8 +40,8 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CreateDevice+0x07 : jnz +0x0A
@ -70,8 +70,8 @@ SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18
@ -100,7 +100,7 @@ SOOVPA<6> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361 =
0, // Large == 0
6, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Is Used
{
@ -121,8 +121,8 @@ SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF
@ -155,8 +155,8 @@ SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C
@ -190,8 +190,8 @@ SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08
@ -220,8 +220,8 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax
@ -251,8 +251,8 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_AddRef+0x00 : mov eax, [addr]
@ -342,8 +342,8 @@ SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetGammaRamp+0x11 : and eax, 1; push ebx
@ -371,7 +371,7 @@ SOOVPA<6> IDirect3DDevice8_BeginStateBlock_1_0_4361 =
0, // Large == 0
6, // Count == 6
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -397,8 +397,8 @@ SOOVPA<9> IDirect3DDevice8_CaptureStateBlock_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CaptureStateBlock+0x36 : mov eax, [edi+eax*4+0x0A78]
@ -424,8 +424,8 @@ SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x11, 0x76 },
@ -447,8 +447,8 @@ SOOVPA<9> IDirect3DDevice8_ApplyStateBlock_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_ApplyStateBlock+0x0E : lea esi, [edi+0x3C]
@ -476,7 +476,7 @@ SOOVPA<6> IDirect3DDevice8_EndStateBlock_1_0_4361 =
0, // Large == 0
6, // Count == 6
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -502,8 +502,8 @@ SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0
@ -532,8 +532,8 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18
@ -564,8 +564,8 @@ SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr]
@ -595,8 +595,8 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08]
@ -627,8 +627,8 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370]
@ -660,8 +660,8 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetViewport+0x05 : push esi; push edi
@ -692,8 +692,8 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03
@ -726,8 +726,8 @@ SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361 =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x05
@ -763,8 +763,8 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetIndices+0x0E : jz +0x10
@ -796,8 +796,8 @@ SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTexture+0x09 : push edi
@ -830,8 +830,8 @@ SOOVPA<10> IDirect3DDevice8_SwitchTexture_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SwitchTexture+0x00 : mov eax, [addr]
@ -864,8 +864,8 @@ SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*]
@ -901,8 +901,8 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x10 : mov ebx, 5
@ -934,8 +934,8 @@ SOOVPA<11> IDirect3DDevice8_EnableOverlay_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_EnableOverlay+0x0B : mov ecx, [eax+0x8700]
@ -967,8 +967,8 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2A90], ecx
@ -998,8 +998,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1
@ -1031,8 +1031,8 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07
@ -1063,8 +1063,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200
@ -1096,8 +1096,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370]
@ -1127,8 +1127,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi]
@ -1159,8 +1159,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi]
@ -1192,8 +1192,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08
@ -1229,8 +1229,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05
@ -1264,8 +1264,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05
{ 0x0C, 0x72 }, // (Offset,Value)-Pair #1
@ -1296,8 +1296,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi
@ -1334,8 +1334,8 @@ SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06
@ -1370,8 +1370,8 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4361 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04]
@ -1408,8 +1408,8 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4361 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1
@ -1444,8 +1444,8 @@ SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C]
@ -1478,8 +1478,8 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14
@ -1508,8 +1508,8 @@ SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C]
@ -1541,8 +1541,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394]
@ -1575,8 +1575,8 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940
@ -1609,8 +1609,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394]
@ -1646,8 +1646,8 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18]
@ -1679,8 +1679,8 @@ SOOVPA<13> IDirect3DResource8_Release_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF
@ -1716,8 +1716,8 @@ SOOVPA<11> IDirect3DResource8_IsBusy_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DResource8_IsBusy+0x24 : test eax, 0x780000
@ -1749,8 +1749,8 @@ SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4361 =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08]
@ -1792,8 +1792,8 @@ SOOVPA<13> IDirect3DBaseTexture8_GetLevelCount_1_0_4361 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DBaseTexture8_GetLevelCount+0x00 : mov eax, [esp+0x04]
@ -1827,8 +1827,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -1858,8 +1858,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05
@ -1892,8 +1892,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi]
@ -1920,8 +1920,8 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88]
@ -1953,8 +1953,8 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebx+0x20D8], eax
@ -1985,8 +1985,8 @@ SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x2268]
@ -2016,8 +2016,8 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x2268]
@ -2048,8 +2048,8 @@ SOOVPA<7> D3DDevice_PrimeVertexCache_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0xE8 },
@ -2070,8 +2070,8 @@ SOOVPA<7> D3DDevice_BeginPush_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x6A },
@ -2092,8 +2092,8 @@ SOOVPA<8> D3DDevice_EndPush_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -2115,8 +2115,8 @@ SOOVPA<7> D3DDevice_Begin_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xE8 },
@ -2137,8 +2137,8 @@ SOOVPA<7> D3DDevice_End_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -2159,8 +2159,8 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -2182,8 +2182,8 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x46 },
@ -2204,8 +2204,8 @@ SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x06 },
@ -2226,8 +2226,8 @@ SOOVPA<8> D3DDevice_Release_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -2249,8 +2249,8 @@ SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0xCE },
@ -2271,8 +2271,8 @@ SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x11, 0x8D },
@ -2293,8 +2293,8 @@ SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x14, 0xB8 },
@ -2315,8 +2315,8 @@ SOOVPA<8> D3DDevice_RunPushBuffer_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x07 },
@ -2338,8 +2338,8 @@ SOOVPA<8> D3DDevice_CreateCubeTexture_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x18 },
@ -2361,8 +2361,8 @@ SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x44 },

View File

@ -40,8 +40,8 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_4432 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CreateDevice+0x07 : jnz +0x0A
@ -70,8 +70,8 @@ SOOVPA<11> IDirect3DDevice8_GetRenderTarget_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr]
@ -107,8 +107,8 @@ SOOVPA<11> IDirect3DDevice8_GetDepthStencilSurface_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr]
@ -144,8 +144,8 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4432 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPixelShader+0x22 : or ecx, 0x4800
@ -176,8 +176,8 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4432 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000
@ -211,8 +211,8 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05
@ -243,8 +243,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi]
@ -271,8 +271,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05
@ -306,8 +306,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi
@ -339,8 +339,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x460]
@ -371,8 +371,8 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88]
@ -403,8 +403,8 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x10 : mov ebx, 5
@ -436,8 +436,8 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4531 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x10 : mov ebx, 5
@ -469,8 +469,8 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2AA4], ecx
@ -500,8 +500,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1
@ -533,8 +533,8 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
@ -567,8 +567,8 @@ SOOVPA<9> IDirect3DDevice8_BackFillMode_1_0_4531 =
0, // Large == 0
9, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x56 },
@ -591,8 +591,8 @@ SOOVPA<6> D3DDevice_BeginPush_1_0_4432 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x8B },
@ -612,8 +612,8 @@ SOOVPA<8> D3DDevice_EndPush_1_0_4432 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -636,8 +636,8 @@ SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4531 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -658,8 +658,8 @@ SOOVPA<14> IDirect3DDevice8_Release_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -684,8 +684,8 @@ SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel_1_0_4432 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DTexture8_GetSurfaceLevel+0x00 : sub esp, 0x0C
@ -726,8 +726,8 @@ SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*]
@ -762,8 +762,8 @@ SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x227C]
@ -793,8 +793,8 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x227C]
@ -825,8 +825,8 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4531 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18]
@ -858,8 +858,8 @@ SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_4432 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x35 },
@ -880,8 +880,8 @@ SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_4432 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x83 },
@ -903,8 +903,8 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_4432 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, 0x25 },

File diff suppressed because it is too large Load Diff

View File

@ -40,8 +40,8 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CreateDevice+0x0A : jnz +0x0A
@ -70,8 +70,8 @@ SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x90 },
@ -92,8 +92,8 @@ SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetViewport+0x0A : mov eax, [esi+0x15B4]
@ -121,8 +121,8 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x45 },
@ -143,8 +143,8 @@ SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstantNotInline+0x26 : cmp eax, 0x10
@ -179,8 +179,8 @@ LOOVPA<8> IDirect3DDevice8_Clear_1_0_5233 =
1, // Large == 1
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x8A },
@ -202,8 +202,8 @@ SOOVPA<7> IDirect3DDevice8_SetPixelShader_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x75 },
@ -224,8 +224,8 @@ SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreateTexture2+0x04 : lea eax, [esp+0x20]
@ -297,8 +297,8 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233 =
0, // Large == 0
7, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0xB4 },
@ -319,8 +319,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0D : mov eax, [edi+XXXXh]
@ -351,8 +351,8 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x036C]
@ -382,8 +382,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x13, 0x8B },
@ -405,8 +405,8 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0x10 },
@ -427,8 +427,8 @@ SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x44 },
@ -450,8 +450,8 @@ SOOVPA<8> IDirect3DDevice8_SetTextureB_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1B, 0x89 },
@ -473,8 +473,8 @@ SOOVPA<7> IDirect3DDevice8_Begin_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xE8 },
@ -495,8 +495,8 @@ SOOVPA<7> IDirect3DDevice8_Swap_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1B, 0xE8 },
@ -517,8 +517,8 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x5E },
@ -540,8 +540,8 @@ SOOVPA<13> IDirect3DPalette8_Lock2_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -562,8 +562,8 @@ SOOVPA<17> IDirect3DTexture8_LockRect_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x14 },
@ -584,8 +584,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5233 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -614,8 +614,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5344 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -644,8 +644,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
@ -678,8 +678,8 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5233 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x17BC], ecx
@ -709,8 +709,8 @@ SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x1FB0]
@ -743,8 +743,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1
@ -776,8 +776,8 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0xFD },
@ -799,8 +799,8 @@ SOOVPA<6> IDirect3DDevice8_GetRenderTarget2_1_0_5233 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x56 },
@ -820,8 +820,8 @@ SOOVPA<7> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x56 },
@ -842,8 +842,8 @@ SOOVPA<7> IDirect3D8_GetDeviceCaps_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x85 },
@ -864,8 +864,8 @@ SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x12, 0x8B },
@ -886,8 +886,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x390]
@ -920,8 +920,8 @@ SOOVPA<8> IDirect3DDevice8_SetLight_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x00 },
@ -943,8 +943,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5233 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390]
@ -980,8 +980,8 @@ SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8D },
@ -1003,8 +1003,8 @@ SOOVPA<7> IDirect3DVertexBuffer8_GetDesc_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1025,8 +1025,8 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_5233 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1
@ -1061,8 +1061,8 @@ SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_5233 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTileNoWait+0x06 : sub esp, 0x18
@ -1092,8 +1092,8 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5233 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_AddRef+0x00 : mov eax, [addr]
@ -1124,8 +1124,8 @@ SOOVPA<8> IDirect3DDevice8_Release_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -1147,8 +1147,8 @@ SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr]
@ -1182,8 +1182,8 @@ SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0xE1 },
@ -1205,8 +1205,8 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x2C },
@ -1228,8 +1228,8 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AA8]
@ -1256,8 +1256,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233 =
0, // Large == 0
13, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x04 : mov ecx, ds:dword_XXXX
@ -1295,7 +1295,7 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1319,7 +1319,7 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1388,7 +1388,7 @@ SOOVPA<5> IDirect3DDevice8_InsertFence_1_0_5233 =
0, // Large == 0
5, // Count == 5
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1409,7 +1409,7 @@ SOOVPA<6> IDirect3DDevice8_IsFencePending_1_0_5233 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1452,7 +1452,7 @@ SOOVPA<6> IDirect3DDevice8_BlockOnFence_1_0_5233 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1474,8 +1474,8 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88]
@ -1506,8 +1506,8 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8]
@ -1538,8 +1538,8 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5344 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8]
@ -1570,8 +1570,8 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17C8]
@ -1602,8 +1602,8 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17F8]
@ -1634,8 +1634,8 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x07 : mov eax, [esi]
@ -1670,8 +1670,8 @@ SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Unknown1+0x00 : xor eax, eax
@ -1697,8 +1697,8 @@ SOOVPA<6> D3DDevice_BeginPush_1_0_5344 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x6A },
@ -1718,8 +1718,8 @@ SOOVPA<8> D3DDevice_EndPush_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -1741,8 +1741,8 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
@ -1775,8 +1775,8 @@ SOOVPA<7> D3DDevice_SetRenderState_SampleAlpha_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0xC1 },
@ -1797,8 +1797,8 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0xA3 },
@ -1820,8 +1820,8 @@ SOOVPA<8> Direct3D_EnumAdapterModes_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x20, 0x8B },
@ -1843,8 +1843,8 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x46 },
@ -1865,8 +1865,8 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -1888,8 +1888,8 @@ SOOVPA<12> IDirect3DDevice8_End_1_0_5233 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_End+0x13 : mov dword ptr [eax], 0x417FC
@ -1922,8 +1922,8 @@ SOOVPA<8> D3DDevice_SetViewport_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x87 },
@ -1945,8 +1945,8 @@ SOOVPA<8> D3DDevice_SetTransform_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8B },
@ -1968,8 +1968,8 @@ SOOVPA<7> D3DDevice_GetBackBuffer2_1_0_5344 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -1991,8 +1991,8 @@ SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5344 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -2013,8 +2013,8 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5344 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -2035,8 +2035,8 @@ SOOVPA<7> D3DDevice_GetViewport_1_0_5344 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x56 },
@ -2057,8 +2057,8 @@ SOOVPA<8> D3DDevice_SetRenderTargetFast_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0xC9 },
@ -2080,8 +2080,8 @@ SOOVPA<7> D3DDevice_SetScreenSpaceOffset_1_0_5344 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x44 },
@ -2102,8 +2102,8 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x44 },
@ -2125,8 +2125,8 @@ SOOVPA<9> D3DDevice_SetMaterial_1_0_5344 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x08 },

View File

@ -70,7 +70,7 @@ SOOVPA<10> IDirect3DDevice8_BeginPush_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -99,8 +99,8 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x12, 0x07 },
@ -121,8 +121,8 @@ SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_5558 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp
@ -157,8 +157,8 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstant1+0x05 : add eax, 0x1C
@ -209,8 +209,8 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstant1Fast+0x05 : add eax, 0x1C
@ -244,8 +244,8 @@ SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x86 },
@ -267,8 +267,8 @@ SOOVPA<17> IDirect3DDevice8_CreateVertexBuffer2_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0xE8 },
@ -289,8 +289,8 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x1C0C], ecx
@ -320,8 +320,8 @@ SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x24xx]
@ -354,8 +354,8 @@ SOOVPA<12> IDirect3DDevice8_CreatePalette2_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0D, 0x8B },
@ -376,8 +376,8 @@ SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x14, 0x4C },
@ -399,8 +399,8 @@ SOOVPA<17> IDirect3DDevice8_End_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -421,8 +421,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x00 },
@ -444,8 +444,8 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x08 },
@ -468,8 +468,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8D },
@ -491,8 +491,8 @@ SOOVPA<8> IDirect3DDevice8_SetVertexShader_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x89 },
@ -514,8 +514,8 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5558 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88]
@ -546,8 +546,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x6A },
@ -568,8 +568,8 @@ SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800
@ -599,8 +599,8 @@ SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0xB9 },
@ -622,8 +622,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5558 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
@ -657,8 +657,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_5558 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
@ -691,8 +691,8 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5455 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
@ -725,8 +725,8 @@ SOOVPA<7> IDirect3D8_CheckDeviceMultiSampleType_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x00 },
@ -747,8 +747,8 @@ SOOVPA<7> IDirect3D8_SetPushBufferSize_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -820,7 +820,7 @@ SOOVPA<16> D3D_BlockOnResource_1_0_5558 =
16, // Count == 16
XREF_D3D_BlockOnResource, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x8B }, // mov eax, [esp+arg_0]
@ -851,7 +851,7 @@ SOOVPA<2> IDirect3DResource8_BlockUntilNotBusy_1_0_5558 =
0, // Large == 0
2, // Count == 2
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -869,8 +869,8 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x44 },
@ -892,8 +892,8 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5455 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x44 },
@ -915,8 +915,8 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_AddRef+0x00 : mov eax, [addr]
@ -947,8 +947,8 @@ SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_CreatePixelShader+0x05 : push 0xFC
@ -980,8 +980,8 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14
@ -1010,8 +1010,8 @@ SOOVPA<10> IDirect3DDevice8_CreateIndexBuffer_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x50 },
@ -1035,8 +1035,8 @@ SOOVPA<7> D3DDevice_CreateIndexBuffer2_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x00 },
@ -1057,8 +1057,8 @@ SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -1079,8 +1079,8 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
@ -1113,8 +1113,8 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -1135,8 +1135,8 @@ SOOVPA<7> D3DDevice_SetRenderState_TextureFactor_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x80 },
@ -1157,8 +1157,8 @@ SOOVPA<7> D3DDevice_GetViewport_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x8B },
@ -1179,8 +1179,8 @@ SOOVPA<8> D3DDevice_Reset_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x13, 0x00 },
@ -1202,8 +1202,8 @@ SOOVPA<7> D3DDevice_SetGammaRamp_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0x68 },
@ -1224,8 +1224,8 @@ SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x35 },
@ -1246,8 +1246,8 @@ SOOVPA<7> D3DDevice_GetModelView_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x57 },
@ -1268,8 +1268,8 @@ SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x08 },
@ -1292,8 +1292,8 @@ SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x05 },
@ -1315,8 +1315,8 @@ SOOVPA<6> D3DDevice_BeginStateBlock_1_0_5558 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xA1 },
@ -1336,8 +1336,8 @@ SOOVPA<6> D3DDevice_EndStateBlock_1_0_5558 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xA1 },
@ -1357,8 +1357,8 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D]
@ -1387,8 +1387,8 @@ SOOVPA<12> D3D_MakeRequestedSpace_1_0_5558 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// D3D::MakeRequestedSpace+0x08: test byte ptr [esi+8], 4
@ -1418,8 +1418,8 @@ SOOVPA<7> D3DDevice_MakeSpace_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xA1 },
@ -1440,8 +1440,8 @@ SOOVPA<8> D3DDevice_SetRenderTarget_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x44 },
@ -1463,8 +1463,8 @@ SOOVPA<8> D3DTexture_LockRect_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x14 },
@ -1486,8 +1486,8 @@ SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x85 },
@ -1508,8 +1508,8 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5455 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x1808]
@ -1540,8 +1540,8 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1
@ -1573,8 +1573,8 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AD8]
@ -1601,8 +1601,8 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0EE8]
@ -1629,8 +1629,8 @@ SOOVPA<7> D3DDevice_InsertCallback_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x72 },
@ -1651,8 +1651,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x54C]
@ -1683,8 +1683,8 @@ SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x56 },
@ -1708,8 +1708,8 @@ SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x3B },
@ -1730,8 +1730,8 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5455 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390]
@ -1767,8 +1767,8 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, 0xFF },
@ -1789,8 +1789,8 @@ SOOVPA<7> D3DDevice_SetIndices_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0x10 },
@ -1811,8 +1811,8 @@ SOOVPA<7> D3DDevice_SetIndices_1_0_5455 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0xBE },
@ -1833,8 +1833,8 @@ SOOVPA<6> D3DDevice_GetBackBuffer_1_0_5558 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -1854,8 +1854,8 @@ SOOVPA<7> D3DDevice_PersistDisplay_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x15 },
@ -1876,8 +1876,8 @@ SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x8B },
@ -1898,8 +1898,8 @@ SOOVPA<7> D3DDevice_SetVertexDataColor_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x06 },
@ -1920,8 +1920,8 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x46 },
@ -1942,8 +1942,8 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -1965,8 +1965,8 @@ SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x2D },
@ -1987,8 +1987,8 @@ SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0xA1 },
@ -2009,8 +2009,8 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -2033,8 +2033,8 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5455 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -2058,8 +2058,8 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -2082,8 +2082,8 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -2106,8 +2106,8 @@ SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0D, 0x8B },
@ -2129,8 +2129,8 @@ SOOVPA<7> D3DDevice_IsFencePending_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x8B },

View File

@ -40,7 +40,7 @@ SOOVPA<7> IDirect3DDevice8_EndVisibilityTest_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -62,7 +62,7 @@ SOOVPA<7> IDirect3DDevice8_GetVisibilityTestResult_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -84,7 +84,7 @@ SOOVPA<8> IDirect3DDevice8_GetViewport_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -107,7 +107,7 @@ SOOVPA<7> IDirect3DDevice8_SetBackBufferScale_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -129,7 +129,7 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5849 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -163,7 +163,7 @@ SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -199,7 +199,7 @@ SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -222,7 +222,7 @@ SOOVPA<8> IDirect3DDevice8_CreatePixelShader_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -245,7 +245,7 @@ SOOVPA<17> IDirect3DDevice8_SetVertexData4f_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -267,7 +267,7 @@ SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -289,7 +289,7 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -311,7 +311,7 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
{ 0x12, 0x8B },
@ -333,7 +333,7 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -355,7 +355,7 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -378,7 +378,7 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -401,7 +401,7 @@ SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -425,7 +425,7 @@ SOOVPA<7> IDirect3DDevice8_BeginStateBig_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -447,7 +447,7 @@ SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -469,7 +469,7 @@ SOOVPA<8> IDirect3DVertexBuffer8_Lock_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -492,7 +492,7 @@ SOOVPA<7> IDirect3DVertexBuffer8_Lock2_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -514,7 +514,7 @@ SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -537,7 +537,7 @@ SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -559,7 +559,7 @@ SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -582,7 +582,7 @@ SOOVPA<7> IDirect3D8_AllocContiguousMemory_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -607,7 +607,7 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -637,8 +637,8 @@ SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, //XREF_D3DDevice_CreateTexture2, // Xref Is Saved
0, // Xref Not Used
XRefNotSaved, // ?? XREF_D3DDevice_CreateTexture2, // Xref Is Saved
XRefNotUsed,
{
{ 0x14, 0x4C },
@ -660,7 +660,7 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -695,7 +695,7 @@ SOOVPA<8> IDirect3DDevice8_SetVertexData2f_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -718,7 +718,7 @@ SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -741,7 +741,7 @@ SOOVPA<7> IDirect3DTexture8_LockRect_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -763,7 +763,7 @@ SOOVPA<6> IDirect3DDevice8_BeginPushBuffer_1_0_5849 =
0, // Large == 0
6, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -784,7 +784,7 @@ SOOVPA<6> IDirect3DDevice8_EndPushBuffer_1_0_5849 =
0, // Large == 0
6, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -805,7 +805,7 @@ SOOVPA<6> IDirect3DDevice8_RunPushBuffer_1_0_5849 =
0, // Large == 0
6, // Count == 6
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -826,7 +826,7 @@ SOOVPA<7> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -849,7 +849,7 @@ SOOVPA<8> D3DDevice_SetViewport_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -872,7 +872,7 @@ SOOVPA<7> D3DDevice_BlockUntilVerticalBlank_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -894,7 +894,7 @@ SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -918,7 +918,7 @@ SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -941,7 +941,7 @@ SOOVPA<8> IDirect3DDevice8_Release_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -984,7 +984,7 @@ SOOVPA<10> D3DDevice_SetTileNoWait_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1011,7 +1011,7 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1033,7 +1033,7 @@ SOOVPA<8> D3DDevice_SetRenderState_StencilFail_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1056,7 +1056,7 @@ SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1078,7 +1078,7 @@ SOOVPA<13> D3DDevice_SetRenderState_LineWidth_1_0_5849 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -1116,7 +1116,7 @@ SOOVPA<13> D3DDevice_SetDepthClipPlanes_1_0_5849 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -1149,7 +1149,7 @@ SOOVPA<7> D3DDevice_SetPalette_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1171,7 +1171,7 @@ SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1193,7 +1193,7 @@ SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1241,7 +1241,7 @@ SOOVPA<6> D3D_Unknown_1_0_5849 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1263,7 +1263,7 @@ SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1288,7 +1288,7 @@ SOOVPA<7> D3DDevice_AddRef_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1369,7 +1369,7 @@ SOOVPA<7> D3DDevice_SetRenderState_BackFillMode_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1391,7 +1391,7 @@ SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1414,7 +1414,7 @@ SOOVPA<7> D3DDevice_GetTile_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1436,7 +1436,7 @@ SOOVPA<7> D3DDevice_Swap_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1458,7 +1458,7 @@ SOOVPA<11> IDirect3DDevice8_Swap2_1_0_5849 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Not Used
{
@ -1491,7 +1491,7 @@ SOOVPA<13> D3D_CDevice_KickOff_1_0_5849 =
0, // Large == 0
13, // Count == 13
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Is Used
{
@ -1526,7 +1526,7 @@ SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1548,7 +1548,7 @@ SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1570,7 +1570,7 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1594,7 +1594,7 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1618,7 +1618,7 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1640,7 +1640,7 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1663,7 +1663,7 @@ SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1685,7 +1685,7 @@ SOOVPA<7> D3DDevice_GetDisplayFieldStatus_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1707,7 +1707,7 @@ SOOVPA<7> D3DDevice_GetScissors_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1729,7 +1729,7 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1752,7 +1752,7 @@ SOOVPA<8> D3DDevice_GetBackMaterial_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1775,7 +1775,7 @@ SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1798,7 +1798,7 @@ SOOVPA<9> D3DDevice_DeleteStateBlock_1_0_5849 =
0, // Large == 0
9, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{
@ -1827,7 +1827,7 @@ SOOVPA<7> D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1850,7 +1850,7 @@ SOOVPA<8> D3DDevice_GetTexture2_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
0, // Xref Not Used
{

View File

@ -43,8 +43,8 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_CreateDevice+0x07 : jnz +0x0A
@ -73,8 +73,8 @@ SOOVPA<9> IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG =
0, // Large == 0
9, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3D8_SetPixelShader+0x1E : jnz +0x67
@ -106,8 +106,8 @@ SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x85 },
@ -129,8 +129,8 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x13, 0x89 },
@ -154,8 +154,8 @@ SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x7C },
@ -177,8 +177,8 @@ SOOVPA<8> IDirect3DDevice8_SetViewport_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0xAE },
@ -200,8 +200,8 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x00 },
@ -224,8 +224,8 @@ SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0xB9 },
@ -249,8 +249,8 @@ SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849_LTCG =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x08 },
@ -274,8 +274,8 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetStreamSource+0x07 : mov ebx, [esp+0x0C]
@ -313,8 +313,8 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849_LTCG =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C
@ -350,8 +350,8 @@ SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849_LTCG =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0xE8 },
@ -373,8 +373,8 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07
@ -405,8 +405,8 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03
@ -439,8 +439,8 @@ SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x0E
@ -511,8 +511,8 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x84 },
@ -533,8 +533,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi]
@ -561,8 +561,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x72 },
@ -584,8 +584,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x12, 0x8B },
{ 0x2D, 0x33 },
@ -606,8 +606,8 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG =
// 0, // Large == 0
// 7, // Count == 7
//
// -1, // XRef Not Saved
// 0, // XRef Not Used
// XRefNotSaved,
// XRefNotUsed,
//
// {
// { 0x1B, 0xE8 },
@ -629,8 +629,8 @@ SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_5849_LTCG =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexData2f+0x20 : lea edx, ds:abs[ecx*8]
@ -666,8 +666,8 @@ SOOVPA<7> IDirect3DDevice8_End_1_0_5849_LTCG =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -688,8 +688,8 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi]
@ -721,8 +721,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi]
@ -753,8 +753,8 @@ SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0xA1 },
@ -779,8 +779,8 @@ SOOVPA<10> IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// D3DVertexBuffer_Lock2+0x05 : test bl, 0x10
@ -808,8 +808,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04]
@ -845,8 +845,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi
@ -882,8 +882,8 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x0E
@ -916,8 +916,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi]
@ -952,8 +952,8 @@ SOOVPA<9> Get2DSurfaceDesc_1_0_5849_LTCG =
0, // Large == 0
9, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// Get2DSurfaceDesc+0x1E : movzx ecx, byte ptr [edi+0x0D]
@ -981,8 +981,8 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, 0xFD },
@ -1009,8 +1009,8 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0F, 0x10 },
@ -1054,8 +1054,8 @@ SOOVPA<10> IDirect3DResource8_AddRef_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DResource8_AddRef+0x11 : test eax, 0xFFFF
@ -1090,8 +1090,8 @@ SOOVPA<11> IDirect3DResource8_Release_1_0_5849_LTCG =
0, // Large == 0
11, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF
@ -1126,8 +1126,8 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetTextureState_ColorKeyColor+0x05 : cmp esi, 0x5C
@ -1158,8 +1158,8 @@ SOOVPA<13> IDirect3DDevice8_Unknown1_3_1_0_5849_LTCG =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Unknown1_3+0x04 : cmp eax, 0x0C
@ -1193,8 +1193,8 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_5849_LTCG =
1, // Large == 1
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Clear+0x0000 : sub esp, 38h
@ -1222,8 +1222,8 @@ SOOVPA<6> IDirect3DDevice8_Swap_1_0_5849_LTCG =
0, // Large == 0
6, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_Swap+0x00 : push esi
@ -1246,8 +1246,8 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_SetVertexShader+0x27 : test al, 0x10
@ -1274,8 +1274,8 @@ SOOVPA<14> IDirect3DDevice8_DrawVertices_1_0_5849_LTCG =
0, // Large == 0
14, // Count == 14
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirect3DDevice8_DrawVertices+0x2B : and ecx, 0x200

View File

@ -40,8 +40,8 @@ SOOVPA<9> DirectSoundCreate_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// DirectSoundCreate+0x23 : add eax, 8
@ -134,7 +134,7 @@ SOOVPA<9> DirectSoundDoWork_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -203,7 +203,7 @@ SOOVPA<10> IDirectSound8_CreateStream_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: tidy up the xref names (are probably not accurate)
@ -275,7 +275,7 @@ SOOVPA<10> IDirectSound8_CreateBuffer_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: tidy up the xref names (are probably not accurate)
@ -309,8 +309,8 @@ SOOVPA<10> IDirectSoundBuffer8_Release_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_Release+0x04 : lea ecx, [eax-0x1C]
@ -406,7 +406,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetPitch_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -507,7 +507,7 @@ SOOVPA<10> IDirectSoundBuffer8_GetStatus_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -606,7 +606,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetVolume_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -705,7 +705,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetCurrentPosition_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -769,7 +769,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -831,7 +831,7 @@ SOOVPA<9> IDirectSoundBuffer8_Lock_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -900,7 +900,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetHeadroom_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -961,7 +961,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1065,7 +1065,7 @@ SOOVPA<10> IDirectSoundStream_SetMixBins_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1097,7 +1097,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1224,7 +1224,7 @@ SOOVPA<8> IDirectSoundBuffer8_GetCurrentPosition_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1255,7 +1255,7 @@ SOOVPA<7> CDirectSoundBuffer_Play_1_0_3936 =
7, // Count == 7
XREF_DSOUNDPLAY, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0xFF },
@ -1276,7 +1276,7 @@ SOOVPA<16> IDirectSoundBuffer8_Play_1_0_3936 =
0, // Large == 0
16, // Count == 15
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1318,8 +1318,8 @@ SOOVPA<12> IDirectSoundBuffer8_Play2_1_0_3936 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_Play+0x1D : call CDirectSoundBuffer::Play
@ -1386,7 +1386,7 @@ SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1450,7 +1450,7 @@ SOOVPA<10> CDirectSoundStream_SetVolume_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1551,7 +1551,7 @@ SOOVPA<10> CDirectSoundStream_SetAllParameters_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1653,7 +1653,7 @@ SOOVPA<10> CDirectSoundStream_SetConeAngles_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1755,7 +1755,7 @@ SOOVPA<10> CDirectSoundStream_SetConeOutsideVolume_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1898,7 +1898,7 @@ SOOVPA<11> CDirectSoundStream_SetMaxDistance_1_0_3936 =
0, // Large == 0
11,// Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2042,7 +2042,7 @@ SOOVPA<11> CDirectSoundStream_SetMinDistance_1_0_3936 =
0, // Large == 0
11,// Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2178,7 +2178,7 @@ SOOVPA<9> CDirectSoundStream_SetVelocity_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2240,7 +2240,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetVelocity_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2379,7 +2379,7 @@ SOOVPA<9> CDirectSoundStream_SetConeOrientation_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2512,7 +2512,7 @@ SOOVPA<9> CDirectSoundStream_SetPosition_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2574,7 +2574,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetPosition_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2669,7 +2669,7 @@ SOOVPA<10> CDirectSoundStream_SetFrequency_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2701,7 +2701,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetFrequency_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2795,7 +2795,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetMode_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2828,7 +2828,7 @@ SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2895,7 +2895,7 @@ SOOVPA<10> IDirectSoundStream_SetI3DL2Source_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: Tentative! (most likely incorrect, actually!)
@ -2929,7 +2929,7 @@ SOOVPA<9> IDirectSoundStream_Unknown1_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: Tentative! (most likely incorrect, actually!)
@ -2997,7 +2997,7 @@ SOOVPA<10> IDirectSoundStream_SetHeadroom_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: Tentative! (most likely incorrect, actually!)
@ -3030,8 +3030,8 @@ SOOVPA<13> IDirectSound8_SetOrientation_1_0_3936 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_SetOrientation+0x06 : fld [ebp+0x20]
@ -3132,7 +3132,7 @@ SOOVPA<8> CDirectSound_CommitDeferredSettings_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3162,8 +3162,8 @@ SOOVPA<10> IDirectSound8_Release_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_Release+0x04 : lea ecx, [eax-8]
@ -3261,7 +3261,7 @@ SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_3936 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: Tentative (may not be SetDistanceFactor)
@ -3365,7 +3365,7 @@ SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_3936 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
// TODO: Tentative (may not be SetRolloffFactor)
@ -3465,7 +3465,7 @@ SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_3936 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3565,7 +3565,7 @@ SOOVPA<11> IDirectSound8_SetPosition_1_0_3936 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3664,7 +3664,7 @@ SOOVPA<11> IDirectSound8_SetVelocity_1_0_3936 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3764,7 +3764,7 @@ SOOVPA<12> IDirectSound8_SetAllParameters_1_0_3936 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3800,8 +3800,8 @@ SOOVPA<11> IDirectSound8_DownloadEffectsImage_1_0_3936 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_DownloadEffectsImage+0x03 : push [ebp+0x18]
@ -3833,7 +3833,7 @@ SOOVPA<7> CDirectSoundStream_SetMode_1_0_3936 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -3863,7 +3863,7 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_3925 =
8, // Count == 8
XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x06, 0x56 },
@ -3886,7 +3886,7 @@ SOOVPA<7> CMcpxAPU_Set3dDopplerFactor_1_0_3936 =
7, // Count == 7
XREF_CMcpxAPU_Set3dDopplerFactor, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -3932,7 +3932,7 @@ SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3957,7 +3957,7 @@ SOOVPA<7> CSensaura3d_GetFullHRTFFilterPair_1_0_3936 =
7, // Count == 7
XREF_CSensaura3d_GetFullHRTFFilterPair, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0xEB },
@ -3978,7 +3978,7 @@ SOOVPA<8> DirectSoundUseFullHRTF_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4002,7 +4002,7 @@ SOOVPA<8> DirectSoundUseFullHRTF2_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4027,7 +4027,7 @@ SOOVPA<8> CDirectSound_GetCaps_1_0_3936 =
8, // Count == 8
XREF_CDirectSound_GetCaps, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x08, 0x8B },
@ -4049,7 +4049,7 @@ SOOVPA<8> IDirectSound_GetCaps_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4074,7 +4074,7 @@ SOOVPA<8> CDirectSoundVoice_SetPitch_1_0_3936 =
8, // Count == 8
XREF_CDirectSoundVoice_SetPitch, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -4096,7 +4096,7 @@ SOOVPA<8> IDirectSoundBuffer_SetPitch_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4121,7 +4121,7 @@ SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_3936 =
8, // Count == 8
XREF_DSVOICESETCONEANGLES, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -4143,7 +4143,7 @@ SOOVPA<8> IDirectSoundBuffer_SetConeAngles_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4168,7 +4168,7 @@ SOOVPA<7> DirectSoundEnterCriticalSection_1_0_3936 =
7, // Count == 7
XREF_DirectSoundEnterCriticalSection, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x02, 0xB6 },
@ -4214,7 +4214,7 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4238,8 +4238,8 @@ SOOVPA<12> IDirectSound8_AddRef_1_0_3936 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_AddRef+0x04 : lea ecx, [eax-8]
@ -4274,8 +4274,8 @@ SOOVPA<6> DirectSoundGetSampleTime_1_0_3936 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xA1 },
@ -4295,8 +4295,8 @@ SOOVPA<10> IDirectSoundBuffer8_AddRef_1_0_3936 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_AddRef+0x04 : lea ecx, [eax-0x1C]
@ -4350,7 +4350,7 @@ SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4399,7 +4399,7 @@ SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4424,7 +4424,7 @@ SOOVPA<10> CMcpxVoiceClient_Commit3dSettings_1_0_3936 =
10, // Small == 10
XREF_CMcpxVoiceClient_Commit3dSettings, // XRef Is Saved
0, // XRef Not Used
XRefNotUsed,
{
// CMcpxVoiceClient::Commit3dSettings+0x17 : or [eax+0x80], ecx
@ -4452,7 +4452,7 @@ SOOVPA<8> CMcpxVoiceClient_SetI3DL2Source_1_0_3936 =
7, // Count == 7
XREF_CMcpxVoiceClient_SetI3DL2Source, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x04, 0x08 },
@ -4498,7 +4498,7 @@ SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4524,7 +4524,7 @@ SOOVPA<7> CDirectSoundVoice_SetMixBinVolumes_1_0_3936 =
7, // Count == 7
XREF_CDirectSoundVoice_SetMixBinVolumes, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0D, 0x65 },
@ -4545,7 +4545,7 @@ SOOVPA<9> IDirectSoundBuffer_SetMixBinVolumes_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4571,7 +4571,7 @@ SOOVPA<7> CMcpxAPU_Set3dParameters_1_0_3936 =
7, // Count == 7
XREF_DSSETALLPARAMETERSB, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x57 },
@ -4617,7 +4617,7 @@ SOOVPA<9> IDirectSound_SetAllParameters_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4643,7 +4643,7 @@ SOOVPA<7> CDirectSound_SetI3DL2Listener_1_0_3936 =
7, // Count == 7
XREF_DSSETI3DL2LISTENER, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x08, 0xF8 },
@ -4664,7 +4664,7 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4690,7 +4690,7 @@ SOOVPA<7> CDirectSound_EnableHeadphones_1_0_3936 =
7, // Count == 7
XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x18, 0x8B },
@ -4711,7 +4711,7 @@ SOOVPA<8> IDirectSound_EnableHeadphones_1_0_3936 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4786,7 +4786,7 @@ SOOVPA<7> CDirectSoundBuffer_SetNotificationPositions_1_0_3936 =
7, // Count == 7
XREF_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x24 },
@ -4807,7 +4807,7 @@ SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_3936 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -4832,8 +4832,8 @@ SOOVPA<6> CDirectSoundStream_Pause_1_0_3936 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },

View File

@ -40,8 +40,8 @@ SOOVPA<9> DirectSoundCreate_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// DirectSoundCreate+0x0B : movzx esi, al
@ -73,8 +73,8 @@ SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_CreateSoundBuffer+0x2A : push 0x24
@ -103,7 +103,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -125,7 +125,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom },
@ -148,8 +148,8 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom },
@ -172,8 +172,8 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },
@ -196,7 +196,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_4134 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -218,7 +218,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume },
@ -241,8 +241,8 @@ SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume },
@ -266,7 +266,7 @@ SOOVPA<7> DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134 =
7, // Count == 7
XREF_DSSETI3DL2LISTENER, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x15 },
@ -287,8 +287,8 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_DSSETI3DL2LISTENER },
@ -313,7 +313,7 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134 =
7, // Count == 7
XREF_DSSETBUFFERDATA2, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x14, 0x0C },
@ -334,8 +334,8 @@ SOOVPA<9> IDirectSoundBuffer_SetBufferData_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_DSSETBUFFERDATA2 },
@ -360,7 +360,7 @@ SOOVPA<8> DirectSound_CDirectSound_GetEffectData_1_0_4134 =
8, // Count == 8
XREF_DirectSound_CDirectSound_GetEffectData, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0A, 0x3D },
@ -382,8 +382,8 @@ SOOVPA<9> IDirectSound_GetEffectData_1_0_4134 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1F, XREF_DirectSound_CDirectSound_GetEffectData },
@ -408,7 +408,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134 =
7, // Count == 7
XREF_DSSETMIXBINSC, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0E, 0xB8 },
@ -430,7 +430,7 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134 =
8, // Count == 8
XREF_DSSETMIXBINSB, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x0D, XREF_DSSETMIXBINSC },
@ -454,7 +454,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134 =
8, // Count == 8
XREF_DSSETMIXBINSA, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DSSETMIXBINSB },
@ -477,8 +477,8 @@ SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DSSETMIXBINSA },

View File

@ -40,8 +40,8 @@ SOOVPA<9> DirectSoundCreate_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// DirectSoundCreate+0x0B : movzx esi, al
@ -73,8 +73,8 @@ SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_CreateSoundBuffer+0x2A : push 0x24
@ -138,7 +138,7 @@ SOOVPA<12> DirectSoundCreateStream_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -207,7 +207,7 @@ SOOVPA<11> CDirectSoundStream_Pause_1_0_4361 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -242,8 +242,8 @@ SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_4361 =
// NOTE: This is actually intercepting CDirectSoundBuffer::SetPlayRegion(ULONG, ULONG)
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_SetPlayRegion+0x10 : movzx edi, al
@ -274,8 +274,8 @@ SOOVPA<11> IDirectSoundBuffer8_SetLoopRegion_1_0_4361 =
// NOTE: This is actually intercepting CDirectSoundBuffer::SetLoopRegion(ULONG, ULONG)
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_SetLoopRegion+0x24 : mov eax, 0x80004005
@ -309,8 +309,8 @@ SOOVPA<11> IDirectSoundBuffer8_SetVolume_1_0_4361 =
// NOTE: This is actually intercepting CDirectSoundBuffer::SetVolume(ULONG)
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer8_SetVolume+0x0D : movzx esi, al
@ -405,7 +405,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetBufferData_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -496,7 +496,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -656,7 +656,7 @@ SOOVPA<9> IDirectSoundBuffer8_Play_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -748,7 +748,7 @@ SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -779,7 +779,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361 =
7, // Count == 7
XREF_DSSETMIXBINVOLUMESC, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x24 },
@ -872,7 +872,7 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -897,7 +897,7 @@ SOOVPA<10> CMcpxBuffer_Stop2_1_0_4361 =
10, // Count == 10
XREF_CMcpxBuffer_Stop2, // XRef Is Saved
0, // XRef Is Not Used
XRefNotUsed,
{
// CMcpxBuffer_Stop2+0x03 : mov eax, [ebp+arg_0]
@ -949,7 +949,7 @@ SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{

View File

@ -40,8 +40,8 @@ SOOVPA<12> IDirectSound8_Release_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSound8_Release+0x04 : lea ecx, [eax-8]
@ -137,7 +137,7 @@ SOOVPA<10> IDirectSoundBuffer_SetMaxDistance_1_0_4432 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -230,7 +230,7 @@ SOOVPA<10> IDirectSoundBuffer_SetMinDistance_1_0_4432 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -293,7 +293,7 @@ SOOVPA<12> IDirectSound8_SetI3DL2Listener_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -445,7 +445,7 @@ SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4432 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -481,8 +481,8 @@ SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al
@ -545,7 +545,7 @@ SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_4432 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{

View File

@ -40,8 +40,8 @@ SOOVPA<7> DirectSoundDoWork_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x0F },
@ -135,7 +135,7 @@ SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -193,7 +193,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetHeadroom_1_0_4928 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -310,7 +310,7 @@ SOOVPA<8> DirectSound_CDirectSound_SetAllParameters_1_0_4928 =
8, // Count == 8
XREF_DSSETALLPARAMETERSA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1B, 0xFF },
@ -448,7 +448,7 @@ SOOVPA<12> IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -515,7 +515,7 @@ SOOVPA<12> DirectSoundCreateBuffer_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -551,7 +551,7 @@ SOOVPA<12> IDirectSound8_CreateSoundBuffer_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -661,7 +661,7 @@ SOOVPA<12> IDirectSoundBuffer8_SetFrequency_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -732,7 +732,7 @@ SOOVPA<11> CDirectSoundStream_SetVolume_1_0_4627 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -956,7 +956,7 @@ SOOVPA<9> IDirectSoundBuffer8_GetStatus_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -987,8 +987,8 @@ SOOVPA<7> CDirectSound_GetSpeakerConfig_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x00 },
@ -1162,7 +1162,7 @@ SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_4627 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1269,7 +1269,7 @@ SOOVPA<11> IDirectSound8_SetDopplerFactor_1_0_4627 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1365,7 +1365,7 @@ SOOVPA<10> IDirectSoundBuffer_SetRolloffFactor_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1458,7 +1458,7 @@ SOOVPA<10> IDirectSoundBuffer_SetDistanceFactor_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1552,7 +1552,7 @@ SOOVPA<10> IDirectSoundBuffer_SetConeAngles_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1643,7 +1643,7 @@ SOOVPA<9> IDirectSoundBuffer_SetConeOrientation_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1736,7 +1736,7 @@ SOOVPA<9> IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1946,7 +1946,7 @@ SOOVPA<9> IDirectSoundBuffer_SetDopplerFactor_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2042,7 +2042,7 @@ SOOVPA<10> IDirectSoundBuffer_SetI3DL2Source_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2074,8 +2074,8 @@ SOOVPA<11> IDirectSoundBuffer_Stop_1_0_4627 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0]
@ -2109,7 +2109,7 @@ SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627 =
8, // Count == 8
XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x4E },
@ -2155,7 +2155,7 @@ SOOVPA<8> X_IDirectSoundBuffer_SetFormat_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2212,8 +2212,8 @@ SOOVPA<12> CDirectSoundStream_SetMixBinVolumes_1_0_4627 =
0, // Large == 0
12, // Count == 0
-1, // XRef is not saved
0, // XRef is not used
XRefNotSaved,
XRefNotUsed,
{
{ 0x36, XREF_DSSETMIXBINVOLUMESB },
@ -2241,7 +2241,7 @@ SOOVPA<15> X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627 =
15, // Count == 14
XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
// CDirectSound_EnableHeadphones+0x12 : movzx eax, al
@ -2278,7 +2278,7 @@ SOOVPA<9> EmuIDirectSound_EnableHeadphones_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -2335,7 +2335,7 @@ SOOVPA<12> CDirectSoundStream_SetHeadroom_1_0_4627 =
0, // Large == 0
12, // Count == 12
-1, // XRef is not saved
XRefNotSaved,
1, // XRef is used
{
@ -2392,7 +2392,7 @@ SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_4627 =
7, // Count == 7
XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x10 },
@ -2413,7 +2413,7 @@ SOOVPA<9> IDirectSound_GetOutputLevels_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2439,7 +2439,7 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627 =
8, // Count == 8
XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x92 },
@ -2485,7 +2485,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2511,7 +2511,7 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_4928 =
7, // Count == 7
XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0D, 0x4D },
@ -2556,7 +2556,7 @@ SOOVPA<8> IDirectSoundBuffer_Pause_1_0_4928 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2581,7 +2581,7 @@ SOOVPA<7> DirectSound_CMcpxBuffer_GetStatus_1_0_4721 =
7, // Count == 7
XREF_DirectSound_CMcpxBuffer_GetStatus, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0xE1 },
@ -2626,7 +2626,7 @@ SOOVPA<8> IDirectSoundBuffer_GetStatus_1_0_4721 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2650,7 +2650,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMixBins_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2675,7 +2675,7 @@ SOOVPA<8> DirectSound_CMcpxVoiceClient_SetEG_1_0_4627 =
8, // Count == 8
XREF_DirectSound_CMcpxVoiceClient_SetEG, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x75 },
@ -2720,7 +2720,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetEG_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2768,7 +2768,7 @@ SOOVPA<8> IDirectSoundBuffer_SetEG_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2793,7 +2793,7 @@ SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_4627 =
7, // Count == 7
XREF_DSFLUSHEX2, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -2814,7 +2814,7 @@ SOOVPA<9> IDirectSoundStream_FlushEx_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2839,8 +2839,8 @@ SOOVPA<8> XAudioDownloadEffectsImage_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0xB6 },
@ -2863,7 +2863,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMode_1_0_4627 =
7, // Count == 7
XREF_DSBUFFERSETMODEB, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x0C },
@ -2908,7 +2908,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetMode_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2934,7 +2934,7 @@ SOOVPA<8> DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627 =
8, // Count == 8
XREF_DirectSound_CMcpxVoiceClient_SetFilter, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0xFF },
@ -3027,7 +3027,7 @@ SOOVPA<8> IDirectSoundBuffer_SetFilter_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3052,7 +3052,7 @@ SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_4627 =
6, // Count == 6
XREF_DSBUFFERSETPITCHB, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -3096,7 +3096,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3145,7 +3145,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3170,7 +3170,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0xF7 },
@ -3215,7 +3215,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3239,7 +3239,7 @@ SOOVPA<8> IDirectSoundBuffer_SetOutputBuffer_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3264,7 +3264,7 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627 =
8, // Count == 8
XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -3310,7 +3310,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3334,7 +3334,7 @@ SOOVPA<8> IDirectSoundBuffer_SetRolloffCurve_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -3360,8 +3360,8 @@ SOOVPA<10> DirectSound_CMemoryManager_MemAlloc_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// DirectSound::CMemoryManager::PoolAlloc + 0x1B: cmp [esp+4+0xC], 0
@ -3388,8 +3388,8 @@ SOOVPA<7> XWaveFileCreateMediaObject_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0D, 0x0B },
@ -3411,7 +3411,7 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627 =
7, // Count == 7
XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -3432,8 +3432,8 @@ SOOVPA<7> XFileCreateMediaObjectEx_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0xC0 },
@ -3454,7 +3454,7 @@ SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{

View File

@ -63,7 +63,7 @@ SOOVPA<8> IDirectSound8_EnableHeadphones_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -121,7 +121,7 @@ SOOVPA<9> IDirectSoundBuffer8_StopEx_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -236,7 +236,7 @@ SOOVPA<8> IDirectSound8_SynchPlayback_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -335,7 +335,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetMode_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -412,7 +412,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetVolume_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -436,7 +436,7 @@ SOOVPA<9> CDirectSoundStream_SetVolume_1_0_5233 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -461,7 +461,7 @@ SOOVPA<8> CDirectSoundStream_SetFrequency_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -485,7 +485,7 @@ SOOVPA<8> CDirectSoundStream_SetMixBins_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -556,7 +556,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -581,7 +581,7 @@ SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5344 =
7, // Count == 7
XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -634,7 +634,7 @@ SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5344 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -668,7 +668,7 @@ SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5344 =
7, // Count == 7
XREF_DSVOICESETMINDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -721,7 +721,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -745,7 +745,7 @@ SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5344 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -779,7 +779,7 @@ SOOVPA<8> DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344 =
8, // Count == 8
XREF_DSSETI3DL2LISTENER, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x15 },
@ -801,7 +801,7 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_5344 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -827,7 +827,7 @@ SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5344 =
9, // Count == 9
XREF_SETROLLOFFFACTORA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -850,7 +850,7 @@ SOOVPA<8> IDirectSound_SetRolloffFactor_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -875,7 +875,7 @@ SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5344 =
7, // Count == 7
XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -920,7 +920,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -945,7 +945,7 @@ SOOVPA<9> DirectSound_CDirectSound_SetDistanceFactor_1_0_5344 =
9, // Count == 9
XREF_SETDISTANCEFACTORA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -968,7 +968,7 @@ SOOVPA<8> IDirectSound_SetDistanceFactor_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -993,7 +993,7 @@ SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5344 =
9, // Count == 9
XREF_SETDOPPLERFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -1017,7 +1017,7 @@ SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{

View File

@ -40,8 +40,8 @@ SOOVPA<7> CDirectSound_SynchPlayback_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -95,8 +95,8 @@ SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al
@ -226,7 +226,7 @@ SOOVPA<9> IDirectSound8_SetMixBinHeadroom_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -252,7 +252,7 @@ SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5558 =
8, // Count == 8
XREF_DSSETI3DL2LISTENER, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1D, 0xFF },
@ -274,7 +274,7 @@ SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -299,7 +299,7 @@ SOOVPA<7> DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CFullHRTFSource_GetCenterVolume, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x13, 0xD9 },
@ -345,7 +345,7 @@ SOOVPA<8> DirectSoundUseFullHRTF_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -369,8 +369,8 @@ SOOVPA<7> DirectSoundDoWork_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x0F },
@ -392,7 +392,7 @@ SOOVPA<7> CDirectSoundBuffer_SetBufferData_1_0_5558 =
7, // Count == 7
XREF_DSSETBUFFERDATA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x14, 0x0C },
@ -413,7 +413,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetBufferData_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -439,7 +439,7 @@ SOOVPA<7> CMcpxBuffer_SetCurrentPosition_1_0_5558 =
7, // Count == 7
XREF_SETCURRENTPOSITION, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1D, 0x00 },
@ -484,7 +484,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -509,7 +509,7 @@ SOOVPA<8> CMcpxVoiceClient_SetLFO_1_0_5558 =
8, // Count == 8
XREF_DirectSound_CMcpxVoiceClient_SetLFO, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x48 },
@ -577,7 +577,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetLFO_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -637,7 +637,7 @@ SOOVPA<7> CDirectSoundVoiceSettings_SetMixBins_1_0_5558 =
7, // Count == 7
XREF_DSSETMIXBINSC, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1B, 0xEB },
@ -706,7 +706,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -731,7 +731,7 @@ SOOVPA<8> CDirectSoundBuffer_SetPlayRegion_1_0_5558 =
8, // Count == 8
XREF_DSBUFFERSETPLAYREGIONA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -753,7 +753,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetPlayRegion_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -778,7 +778,7 @@ SOOVPA<7> CDirectSoundBuffer_SetLoopRegion_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -798,7 +798,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetLoopRegion_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -824,7 +824,7 @@ SOOVPA<8> CMcpxBuffer_Play_1_0_5558 =
8, // Count == 8
XREF_DSOUNDPLAY, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x06, 0x56 },
@ -872,7 +872,7 @@ SOOVPA<8> IDirectSoundBuffer8_Play_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -930,7 +930,7 @@ SOOVPA<7> WaveFormat_CreateXboxAdpcmFormat_1_0_5558 =
7, // Count == 7
XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x08 },
@ -951,7 +951,7 @@ SOOVPA<2> XAudioCreateAdpcmFormat_1_0_5558 =
0, // Large == 0
2, // Count == 2
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -970,7 +970,7 @@ SOOVPA<7> CDirectSoundVoice_SetFormat_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x10 },
@ -1015,7 +1015,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1040,7 +1040,7 @@ SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_5558 =
8, // Count == 8
XREF_DirectSound_CDirectSoundVoice_SetConeAngles, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -1086,7 +1086,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetConeAngles_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1111,7 +1111,7 @@ SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1164,7 +1164,7 @@ SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1198,7 +1198,7 @@ SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETMINDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1251,7 +1251,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1275,7 +1275,7 @@ SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5558 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -1309,7 +1309,7 @@ SOOVPA<6> CDirectSoundVoice_CommitDeferredSettings_1_0_5558 =
6, // Count == 6
XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -1383,7 +1383,7 @@ SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1409,7 +1409,7 @@ SOOVPA<7> CDirectSoundVoice_SetPosition_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETPOSITION, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x8B },
@ -1455,7 +1455,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetPosition_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1479,7 +1479,7 @@ SOOVPA<7> CDirectSoundVoice_SetVelocity_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETVELOCITY, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x8B },
@ -1524,7 +1524,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetVelocity_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1549,7 +1549,7 @@ SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CMcpxStream_Pause, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x10, 0x07 },
@ -1570,7 +1570,7 @@ SOOVPA<8> CDirectSoundStream_Pause_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Is Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1595,7 +1595,7 @@ SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1640,7 +1640,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1665,7 +1665,7 @@ SOOVPA<7> CDirectSoundVoice_SetDopplerFactor_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1710,7 +1710,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetDopplerFactor_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1733,8 +1733,8 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },
@ -1757,7 +1757,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558 =
7, // Count == 7
XREF_DSVOICESETI3DL2SOURCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x18, 0x00 },
@ -1802,7 +1802,7 @@ SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1878,7 +1878,7 @@ SOOVPA<9> IDirectSoundBuffer_SetAllParameters_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1904,7 +1904,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -1949,7 +1949,7 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1974,7 +1974,7 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -1999,7 +1999,7 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558 =
7, // Count == 7
XREF_GETCURRENTPOSITION, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -2020,7 +2020,7 @@ SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2045,7 +2045,7 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetFormat_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2070,7 +2070,7 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2096,7 +2096,7 @@ SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558 =
8, // Count == 8
XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -2118,7 +2118,7 @@ SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2144,7 +2144,7 @@ SOOVPA<8> DirectSound_CDirectSound_EnableHeadphones_1_0_5558 =
8, // Count == 8
XREF_DSENABLEHEADPHONES, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x3B },
@ -2166,7 +2166,7 @@ SOOVPA<8> IDirectSound_EnableHeadphones_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2191,7 +2191,7 @@ SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_5558 =
7, // Count == 7
XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x10 },
@ -2212,7 +2212,7 @@ SOOVPA<9> IDirectSound_GetOutputLevels_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2237,8 +2237,8 @@ SOOVPA<8> XAudioDownloadEffectsImage_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0xB6 },
@ -2261,7 +2261,7 @@ SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5558 =
7, // Count == 7
XREF_DSSETPOSITIONA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -2282,7 +2282,7 @@ SOOVPA<8> IDirectSound_SetPosition_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2307,7 +2307,7 @@ SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5558 =
7, // Count == 7
XREF_DSSETVELOCITYA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -2328,7 +2328,7 @@ SOOVPA<8> IDirectSound_SetVelocity_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2353,7 +2353,7 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5558 =
7, // Count == 7
XREF_DSCREATESOUNDSTREAM, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x11, 0xD8 },
@ -2374,7 +2374,7 @@ SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2398,7 +2398,7 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{
@ -2422,7 +2422,7 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetFrequency_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{

View File

@ -74,7 +74,7 @@ SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5849 =
8, // Count == 8
XREF_DSSETI3DL2LISTENER, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1D, 0xFF },
@ -96,8 +96,8 @@ SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_DSSETI3DL2LISTENER },
@ -122,7 +122,7 @@ SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_5849 =
9, // Count == 9
XREF_DSSETBUFFERDATA, // XRef Is Saved
0, // XRef Not Used
XRefNotUsed,
{
// CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx
@ -153,7 +153,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetFormat_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x10 },
@ -175,7 +175,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat },
@ -198,8 +198,8 @@ SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat },
@ -256,7 +256,7 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x06, 0x56 },
@ -279,7 +279,7 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Play2_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CMcpxBuffer_Play2, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x17, 0x43 },
@ -301,7 +301,7 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_Play_1_0_5849 =
9, // Count == 9
XREF_DSOUNDPLAY2, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -324,8 +324,8 @@ SOOVPA<8> IDirectSoundBuffer_Play_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSOUNDPLAY2 },
@ -349,7 +349,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x03, 0x04 },
@ -371,7 +371,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom },
@ -394,8 +394,8 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom },
@ -418,8 +418,8 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },
@ -442,7 +442,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849 =
7, // Count == 7
XREF_DSSETMIXBINSC, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1B, 0xEB },
@ -464,7 +464,7 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849 =
8, // Count == 8
XREF_DSSETMIXBINSB, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x0D, XREF_DSSETMIXBINSC },
@ -488,7 +488,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849 =
8, // Count == 8
XREF_DSSETMIXBINSA, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DSSETMIXBINSB },
@ -511,8 +511,8 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x36, XREF_DSSETMIXBINSB },
@ -536,8 +536,8 @@ SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DSSETMIXBINSA },
@ -561,7 +561,7 @@ SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849 =
8, // Count == 8
XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -583,8 +583,8 @@ SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_DSSETMIXBINHEADROOMA },
@ -609,7 +609,7 @@ SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5849 =
7, // Count == 7
XREF_DSSETPOSITIONA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -630,8 +630,8 @@ SOOVPA<8> IDirectSound_SetPosition_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x2D, XREF_DSSETPOSITIONA },
@ -655,7 +655,7 @@ SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5849 =
7, // Count == 7
XREF_DSSETVELOCITYA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -676,8 +676,8 @@ SOOVPA<8> IDirectSound_SetVelocity_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x2D, XREF_DSSETVELOCITYA },
@ -701,7 +701,7 @@ SOOVPA<7> DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849 =
7, // Count == 7
XREF_COMMITDEFERREDSETTINGSA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x12, 0xC0 },
@ -723,7 +723,7 @@ SOOVPA<7> DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849 =
7, // Count == 7
XREF_DSBUFFERSETCURRENTPOSITIONB, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1D, 0x00 },
@ -745,7 +745,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETCURRENTPOSITIONA, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x35, XREF_DSBUFFERSETCURRENTPOSITIONB },
@ -768,8 +768,8 @@ SOOVPA<8> IDirectSoundBuffer_SetCurrentPosition_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA },
@ -793,7 +793,7 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849 =
7, // Count == 7
XREF_GETCURRENTPOSITION, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -814,8 +814,8 @@ SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_GETCURRENTPOSITION },
@ -840,7 +840,7 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -861,8 +861,8 @@ SOOVPA<9> IDirectSoundBuffer_SetLoopRegion_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion },
@ -887,7 +887,7 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Stop_1_0_5849 =
8, // Count == 8
XREF_DSOUNDSTOP, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x06, 0x56 },
@ -910,7 +910,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_5849 =
8, // Count == 8
XREF_DSOUNDSTOP2, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3D, XREF_DSOUNDSTOP },
@ -933,8 +933,8 @@ SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSOUNDSTOP2 },
@ -958,7 +958,7 @@ SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5849 =
9, // Count == 9
XREF_SETROLLOFFFACTORA, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -982,7 +982,7 @@ SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5849 =
9, // Count == 9
XREF_SETDOPPLERFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0C, 0x00 },
@ -1006,7 +1006,7 @@ SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_5849 =
6, // Count == 6
XREF_DSBUFFERSETPITCHB, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1027,7 +1027,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETPITCHA, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DSBUFFERSETPITCHB },
@ -1050,8 +1050,8 @@ SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DSBUFFERSETPITCHA },
@ -1075,7 +1075,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1097,7 +1097,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETMINDISTANCE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1119,7 +1119,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETMAXDISTANCE, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3A, XREF_DSVOICESETMAXDISTANCE },
@ -1143,7 +1143,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETMINDISTANCE, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3A, XREF_DSVOICESETMINDISTANCE },
@ -1166,8 +1166,8 @@ SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSBUFFERSETMAXDISTANCE },
@ -1190,8 +1190,8 @@ SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSBUFFERSETMINDISTANCE },
@ -1215,7 +1215,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1237,7 +1237,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume },
@ -1262,7 +1262,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 =
// 9, // Count == 9
//
// XREF_DirectSound_CDirectSoundStream_SetVolume, // Xref Is Saved
// 1, // Xref Is Used
// XRefNotUsed,
//
// {
// { 0x36, XREF_DirectSound_CDirectSoundVoice_SetVolume },
@ -1286,8 +1286,8 @@ SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume },
@ -1311,7 +1311,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3D, XREF_DirectSound_CMcpxBuffer_Play },
@ -1334,8 +1334,8 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx },
@ -1359,7 +1359,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETROLLOFFFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1381,7 +1381,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETROLLOFFFACTOR, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3A, XREF_DSVOICESETROLLOFFFACTOR },
@ -1404,8 +1404,8 @@ SOOVPA<8> IDirectSoundBuffer_SetRolloffFactor_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSBUFFERSETROLLOFFFACTOR },
@ -1429,7 +1429,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x05, 0x41 },
@ -1451,7 +1451,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849 =
8, // Count == 8
XREF_DSBUFFERSETDOPPLERFACTOR, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x3A, XREF_DSVOICESETDOPPLERFACTOR },
@ -1474,8 +1474,8 @@ SOOVPA<8> IDirectSoundBuffer_SetDopplerFactor_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR },
@ -1499,7 +1499,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetPosition_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETPOSITION, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x8B },
@ -1521,7 +1521,7 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849 =
9, // Count == 9
XREF_DSBUFFERSETPOSITION, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x4A, XREF_DSVOICESETPOSITION },
@ -1545,8 +1545,8 @@ SOOVPA<8> IDirectSoundBuffer_SetPosition_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x2D, XREF_DSBUFFERSETPOSITION },
@ -1570,7 +1570,7 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849 =
7, // Count == 7
XREF_DSVOICESETVELOCITY, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x09, 0x8B },
@ -1592,7 +1592,7 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849 =
9, // Count == 9
XREF_DSBUFFERSETVELOCITY, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x4A, XREF_DSVOICESETVELOCITY },
@ -1616,8 +1616,8 @@ SOOVPA<8> IDirectSoundBuffer_SetVelocity_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x2D, XREF_DSBUFFERSETVELOCITY },
@ -1641,7 +1641,7 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_5849 =
7, // Count == 7
XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0D, 0x4D },
@ -1663,7 +1663,7 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_5849 =
8, // Count == 8
XREF_DirectSound_CDirectSoundBuffer_Pause, // Xref Is Saved
1, // Xref Is Used
XRefNotUsed,
{
{ 0x35, XREF_DirectSound_CMcpxBuffer_Pause },
@ -1685,8 +1685,8 @@ SOOVPA<8> IDirectSoundBuffer_Pause_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_Pause },
@ -1710,7 +1710,7 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 =
7, // Count == 7
XREF_DSCREATESOUNDSTREAM, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x11, 0xD8 },
@ -1731,8 +1731,8 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 =
// 0, // Large == 0
// 8, // Count == 8
//
// -1, // Xref Not Saved
// 1, // Xref Is Used
// XRefNotSaved,
// XRefNotUsed,
//
// {
// { 0x1D, XREF_DirectSound_CDirectSound_CreateSoundStream },
@ -1755,8 +1755,8 @@ SOOVPA<9> DirectSoundCreateStream_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x2F, XREF_DSCREATESOUNDSTREAM },
@ -1780,8 +1780,8 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x36, XREF_DSSETMIXBINVOLUMESB },
@ -1806,7 +1806,7 @@ SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5849 =
7, // Count == 7
XREF_DSSTREAMPAUSE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x10, 0x07 },
@ -1827,8 +1827,8 @@ SOOVPA<8> DirectSound_CDirectSoundStream_Pause_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x35, XREF_DSSTREAMPAUSE },
@ -1852,7 +1852,7 @@ SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_5849 =
7, // Count == 7
XREF_DSFLUSHEX2, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0F, 0x00 },
@ -1873,8 +1873,8 @@ SOOVPA<9> IDirectSoundStream_FlushEx_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x11, XREF_DSFLUSHEX2 },
@ -1898,8 +1898,8 @@ SOOVPA<7> DirectSoundDoWork_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x0F },
@ -1922,8 +1922,8 @@ SOOVPA<7> IDirectSound_SetEffectData_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },
@ -1944,8 +1944,8 @@ SOOVPA<10> DirectSound_CMemoryManager_PoolAlloc_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x24, 0x83 },
@ -1969,8 +1969,8 @@ SOOVPA<8> XFileCreateMediaObjectAsync_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0xC0 },
@ -1992,8 +1992,8 @@ SOOVPA<12> DirectSound_CDirectSoundStream_SetPitch_1_0_5849 =
0, // Large == 0
12, // Count == 12
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x36, XREF_DSBUFFERSETPITCHB },
@ -2020,8 +2020,8 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom },

View File

@ -40,8 +40,8 @@ SOOVPA<7> XGIsSwizzledFormat_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x7F },
@ -62,8 +62,8 @@ SOOVPA<8> XGSwizzleRect_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -85,8 +85,8 @@ SOOVPA<8> XGSwizzleBox_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x75 },
@ -108,8 +108,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -131,8 +131,8 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x3D },
@ -153,8 +153,8 @@ SOOVPA<7> XGSetTextureHeader_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },

View File

@ -41,8 +41,8 @@ SOOVPA<7> XGIsSwizzledFormat_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x7F },
@ -63,8 +63,8 @@ SOOVPA<8> XGSwizzleRect_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -86,8 +86,8 @@ SOOVPA<8> XGSwizzleBox_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x75 },
@ -109,8 +109,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -132,8 +132,8 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x3D },

View File

@ -40,8 +40,8 @@ SOOVPA<12> XGIsSwizzledFormat_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGIsSwizzledFormat+0x04 : cmp eax, 0x2D
@ -76,8 +76,8 @@ SOOVPA<10> XGSwizzleRect_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGSwizzleRect+0x2E : pop eax
@ -108,8 +108,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -131,8 +131,8 @@ SOOVPA<8> XGSetVertexBufferHeader_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -154,8 +154,8 @@ SOOVPA<8> XGCompressRect_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x00 },
@ -177,8 +177,8 @@ SOOVPA<8> XGSetIndexBufferHeader_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },

View File

@ -40,8 +40,8 @@ SOOVPA<10> XGSwizzleBox_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGSwizzleBox+0x60 : sub ecx, [eax]
@ -72,8 +72,8 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x3D },
@ -94,8 +94,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },

View File

@ -40,8 +40,8 @@ SOOVPA<10> XGSwizzleBox_1_0_5558 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGSwizzleBox+0x60 : sub ecx, [eax]
@ -72,8 +72,8 @@ SOOVPA<8> XGSwizzleRect_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -95,8 +95,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x03 },
@ -118,8 +118,8 @@ SOOVPA<8> XGUnswizzleRect_1_0_5558 =
// 0, // Large == 0
// 8, // Count == 8
//
// -1, // Xref Not Saved
// 0, // Xref Not Used
// XRefNotSaved,
// XRefNotUsed,
//
// {
// { 0x1E, 0x75 },
@ -141,8 +141,8 @@ SOOVPA<8> XGUnswizzleBox_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x26 },

View File

@ -40,8 +40,8 @@ SOOVPA<10> XGSwizzleBox_1_0_5849 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGSwizzleBox+0x60 : sub ecx, [eax]
@ -72,8 +72,8 @@ SOOVPA<8> XFONT_OpenBitmapFontFromMemory_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x75 },

View File

@ -40,7 +40,7 @@ SOOVPA<9> XNetStartup_1_0_3911 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -71,7 +71,7 @@ SOOVPA<11> WSAStartup_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -133,8 +133,8 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XNetGetEthernetLinkStatus+0x12 : cmpxchg [ecx], edx

View File

@ -40,7 +40,7 @@ SOOVPA<8> XNetStartup_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -74,7 +74,7 @@ SOOVPA<9> WSAStartup_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -133,8 +133,8 @@ SOOVPA<9> socket_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// socket+0x10 : push 0x276D
@ -162,8 +162,8 @@ SOOVPA<10> bind_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// bind+0x11 : push 0x276D
@ -194,8 +194,8 @@ SOOVPA<9> listen_1_0_4361 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// listen+0x10 : push 0x276D
@ -225,8 +225,8 @@ SOOVPA<10> ioctlsocket_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// ioctlsocket+0x12 : push 0x276D

View File

@ -72,8 +72,8 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x33 },
@ -96,7 +96,7 @@ SOOVPA<8> XoUpdateLaunchNewImageInternal_1_0_4627 =
8, // Count == 8
XREF_XoUpdateLaunchNewImageInternal, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0xDB },

View File

@ -40,8 +40,8 @@ SOOVPA<8> XNetStartup_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0xC0 },
@ -63,8 +63,8 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x33 },
@ -87,7 +87,7 @@ SOOVPA<8> CXo_XOnlineLogon_1_0_5344 =
8, // Count == 8
XREF_CXo_XOnlineLogon, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x21, 0xA8 },
@ -109,8 +109,8 @@ SOOVPA<8> XOnlineLogon_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, XREF_CXo_XOnlineLogon },

View File

@ -41,8 +41,8 @@ SOOVPA<8> XNetStartup_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0xC0 },
@ -64,8 +64,8 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x33 },
@ -88,7 +88,7 @@ SOOVPA<8> CXo_XOnlineLogon_1_0_5344 =
8, // Count == 8
XREF_CXo_XOnlineLogon, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x21, 0xA8 },
@ -110,8 +110,8 @@ SOOVPA<8> XOnlineLogon_1_0_5344 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, XREF_CXo_XOnlineLogon },
@ -135,8 +135,8 @@ SOOVPA<7> WSAStartup_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },

View File

@ -41,7 +41,7 @@ SOOVPA<8> XnInit_1_0_5849 =
8, // Count == 8
XREF_XNINIT, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x1E, 0x3B },
@ -63,8 +63,8 @@ SOOVPA<8> XNetStartup_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0xC0 },
@ -86,8 +86,8 @@ SOOVPA<7> WSAStartup_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -108,8 +108,8 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x33 },

View File

@ -40,8 +40,8 @@ SOOVPA<11> XACTEngineCreate_1_0_4627 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XACTEngineCreate+0x0C : movzx ebx, al
@ -73,8 +73,8 @@ SOOVPA<11> XACTEngineCreate_1_0_4928 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XACTEngineCreate+0x09 : movzx ebx, al
@ -107,7 +107,7 @@ SOOVPA<7> XACT_CEngine_RegisterWaveBank_1_0_4627 =
7, // Count == 7
XREF_XACT_CEngine_RegisterWaveBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x11, 0x33 },
@ -128,8 +128,8 @@ SOOVPA<8> IXACTEngine_RegisterWaveBank_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_XACT_CEngine_RegisterWaveBank },
@ -152,8 +152,8 @@ SOOVPA<7> XACTEngineDoWork_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -175,7 +175,7 @@ SOOVPA<8> XACT_CEngine_RegisterStreamedWaveBank_1_0_4627 =
8, // Count == 8
XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x10, 0x01 },
@ -198,7 +198,7 @@ SOOVPA<13> XACT_CEngine_RegisterStreamedWaveBank_1_0_4928 =
13, // Count == 13
XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
// XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C
@ -229,8 +229,8 @@ SOOVPA<9> IXACTEngine_RegisterStreamedWaveBank_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_XACT_CEngine_RegisterStreamedWaveBank },
@ -254,8 +254,8 @@ SOOVPA<10> IXACTEngine_RegisterStreamedWaveBank_1_0_4928 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
// IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank
@ -285,7 +285,7 @@ SOOVPA<8> XACT_CEngine_CreateSoundBank_1_0_4627 =
8, // Count == 8
XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0E, 0xA0 },
@ -308,7 +308,7 @@ SOOVPA<13> XACT_CEngine_CreateSoundBank_1_0_4928 =
13, // Count == 13
XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
// XACT::CEngine::CreateSoundBank+0x02 : push 0x34
@ -339,8 +339,8 @@ SOOVPA<8> IXACTEngine_CreateSoundBank_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, XREF_XACT_CEngine_CreateSoundBank },
@ -363,8 +363,8 @@ SOOVPA<10> IXACTEngine_CreateSoundBank_1_0_4928 =
0, // Large == 0
10, // Count == 10
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x27, XREF_XACT_CEngine_CreateSoundBank },
@ -393,7 +393,7 @@ SOOVPA<7> XACT_CEngine_DownloadEffectsImage_1_0_4627 =
7, // Count == 7
XREF_XACT_CEngine_DownloadEffectsImage, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -414,8 +414,8 @@ SOOVPA<9> IXACTEngine_DownloadEffectsImage_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1F, XREF_XACT_CEngine_DownloadEffectsImage },
@ -440,7 +440,7 @@ SOOVPA<8> XACT_CEngine_CreateSoundSource_1_0_4627 =
8, // Count == 8
XREF_XACT_CEngine_CreateSoundSource, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x0A, 0x0F },
@ -462,8 +462,8 @@ SOOVPA<9> IXACTEngine_CreateSoundSource_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_XACT_CEngine_CreateSoundSource },
@ -488,7 +488,7 @@ SOOVPA<7> XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 =
7, // Count == 7
XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x12, 0x8B },
@ -509,8 +509,8 @@ SOOVPA<9> IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName },
@ -534,8 +534,8 @@ SOOVPA<8> IXACTSoundBank_Play_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0xFF },
@ -558,7 +558,7 @@ SOOVPA<7> XACT_CEngine_RegisterNotification_1_0_4627 =
7, // Count == 7
XREF_XACT_CEngine_RegisterNotification, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -579,8 +579,8 @@ SOOVPA<8> IXACTEngine_RegisterNotification_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_XACT_CEngine_RegisterNotification },
@ -604,7 +604,7 @@ SOOVPA<8> XACT_CEngine_GetNotification_1_0_4627 =
8, // Count == 8
XREF_XACT_CEngine_GetNotification, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x11, 0x8D },
@ -626,8 +626,8 @@ SOOVPA<9> IXACTEngine_GetNotification_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x19, XREF_XACT_CEngine_GetNotification },
@ -652,7 +652,7 @@ SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4627 =
8, // Count == 8
XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x07, 0x8B },
@ -675,7 +675,7 @@ SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4928 =
8, // Count == 8
XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
// XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58]
@ -701,8 +701,8 @@ SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x15, XREF_XACT_CEngine_UnRegisterWaveBank },
@ -725,8 +725,8 @@ SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4928 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
1, // Xref Is Used
XRefNotSaved,
XRefNotUsed,
{
// IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank

View File

@ -40,8 +40,8 @@ SOOVPA<11> GetExitCodeThread_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// GetExitCodeThread+0x03 : lea eax, [ebp+0x08]
@ -73,8 +73,8 @@ SOOVPA<10> RtlCreateHeap_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlCreateHeap+0x13 : push 0x0C
@ -107,8 +107,8 @@ SOOVPA<11> RtlAllocateHeap_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlAllocateHeap+0x1E : or ecx, [esi+0x18]
@ -142,8 +142,8 @@ SOOVPA<10> RtlFreeHeap_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlFreeHeap+0x1F : test ecx, ecx
@ -174,8 +174,8 @@ SOOVPA<10> RtlReAllocateHeap_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlReAllocateHeap+0x1C : test esi, esi
@ -204,8 +204,8 @@ SOOVPA<11> RtlSizeHeap_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlSizeHeap+0x04 : mov al, [ecx-0x0B]
@ -240,8 +240,8 @@ SOOVPA<10> XInitDevices_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInitDevices+0x03 : push 0xB4
@ -272,8 +272,8 @@ SOOVPA<13> CreateMutex_1_0_3911 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CreateMutex+0x03 : sub esp, 0x14
@ -307,8 +307,8 @@ SOOVPA<8> CreateThread_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CreateThread+0x0A : mov eax, ds:10130h
@ -335,8 +335,8 @@ SOOVPA<10> SetThreadPriority_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// SetThreadPriority+0x0D : push [ebp+0x08]
@ -367,8 +367,8 @@ SOOVPA<7> XapiInitProcess_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiInitProcess+0x03 : sub esp, 30h
@ -396,8 +396,8 @@ SOOVPA<7> XapiInitProcess_1_0_3950 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiInitProcess+0x03 : sub esp, 30h
@ -425,8 +425,8 @@ SOOVPA<11> XapiBootDash_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiBootDash+0x03 : sub esp, 0x0C00
@ -458,8 +458,8 @@ SOOVPA<11> XRegisterThreadNotifyRoutine_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XRegisterThreadNotifyRoutine+0x0D : cmp [esp+0x0C], 0
@ -491,8 +491,8 @@ SOOVPA<7> GetTimeZoneInformation_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x28 },
@ -514,8 +514,8 @@ SOOVPA<10> XCalculateSignatureBegin_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XCalculateSignatureBegin+0x01 : push 0x7C; push 0
@ -547,8 +547,8 @@ SOOVPA<14> XGetDevices_1_0_3911 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGetDevices+0x07 : mov edx, [esp+arg_0]
@ -585,8 +585,8 @@ SOOVPA<8> XGetDeviceChanges_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGetDeviceChanges+0x07 : xor eax, eax
@ -615,8 +615,8 @@ SOOVPA<11> XInputOpen_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputOpen+0x20 : jmp +0x0B
@ -682,8 +682,8 @@ SOOVPA<8> XInputClose_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
1, // XRef Is Used
XRefNotSaved,
XRefNotUsed,
{
// XInputClose+0x05 : call [fCloseDevice]
@ -712,8 +712,8 @@ SOOVPA<14> XInputGetCapabilities_1_0_3911 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetCapabilities+0x03 : sub esp, 0x48
@ -750,8 +750,8 @@ SOOVPA<13> XInputGetState_1_0_3911 =
0, // Large == 0
13, // Count == 13
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetState+0x0E : cmp byte ptr [edx+0x0A3], 1
@ -787,8 +787,8 @@ SOOVPA<12> XInputSetState_1_0_3911 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputSetState+0x04 : lea eax, [ecx+0x0A3]
@ -823,8 +823,8 @@ SOOVPA<10> SetThreadPriorityBoost_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// SetThreadPriorityBoost+0x0D : push [ebp+0x08]
@ -855,8 +855,8 @@ SOOVPA<10> GetThreadPriority_1_0_3911 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// GetThreadPriority+0x0D : push [ebp+0x08]
@ -887,8 +887,8 @@ SOOVPA<10> GetThreadPriority_1_0_3911 =
// 0, // Large == 0
// 14, // Count == 14
//
// -1, // XRef Not Saved
// 0, // XRef Not Used
// XRefNotSaved,
// XRefNotUsed,
//
// {
// // XGetDevices+0x07 : mov edx, [esp+arg_0]
@ -925,8 +925,8 @@ SOOVPA<11> CreateFiber_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CreateFiber+0x11 : mov ecx, 0x3000
@ -954,8 +954,8 @@ SOOVPA<9> DeleteFiber_1_0_3911 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// DeleteFiber+0x0A : call ds:MmDeleteKernelStack
@ -981,8 +981,8 @@ SOOVPA<8> SwitchToFiber_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x64 },
@ -1004,8 +1004,8 @@ SOOVPA<7> ConvertThreadToFiber_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x64 },
@ -1026,8 +1026,8 @@ SOOVPA<7> ConvertThreadToFiber_1_0_3911 =
// 0, // Large == 0
// 14, // Count == 14
//
// -1, // XRef Not Saved
// 0, // XRef Not Used
// XRefNotSaved,
// XRefNotUsed,
//
// {
// // XInputGetCapabilities+0x03 : sub esp, 0x48
@ -1065,8 +1065,8 @@ SOOVPA<8> SignalObjectAndWait_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x75 },
@ -1088,8 +1088,8 @@ SOOVPA<11> PulseEvent_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// PulseEvent+0x00 : push 0
@ -1118,8 +1118,8 @@ SOOVPA<7> QueueUserAPC_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x74 },
@ -1140,8 +1140,8 @@ SOOVPA<8> lstrcmpiW_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x56 },
@ -1163,8 +1163,8 @@ SOOVPA<7> XMountAlternateTitleA_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x0F },
@ -1185,8 +1185,8 @@ SOOVPA<7> XUnmountAlternateTitleA_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x65 },
@ -1207,8 +1207,8 @@ SOOVPA<7> XMountMUA_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x0C },
@ -1229,8 +1229,8 @@ SOOVPA<8> CloseHandle_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x24 },
@ -1252,8 +1252,8 @@ SOOVPA<5> ExitThread_1_0_3911 =
0, // Large == 0
5, // Count == 5
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x00 },
@ -1272,8 +1272,8 @@ SOOVPA<7> VirtualAlloc_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x75 },
@ -1294,8 +1294,8 @@ SOOVPA<7> VirtualFree_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x80 },
@ -1316,8 +1316,8 @@ SOOVPA<8> XLaunchNewImageA_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x80 },
@ -1339,8 +1339,8 @@ SOOVPA<7> XGetLaunchInfo_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -1362,8 +1362,8 @@ SOOVPA<12> XGetSectionHandleA_1_0_3911 =
0, // Large == 0
12, // Count == 0
-1, // XRef not saved
0, // XRef not used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x55 },
@ -1391,8 +1391,8 @@ SOOVPA<11> XLoadSectionByHandle_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef not saved
0, // XRef not used
XRefNotSaved,
XRefNotUsed,
{
// XLoadSectionByHandle+0x01 : mov esi, [esp+4+arg_0]
@ -1425,8 +1425,8 @@ SOOVPA<11> XFreeSectionByHandle_1_0_3911 =
0, // Large == 0
11, // Count == 11
-1, // XRef not saved
0, // XRef not used
XRefNotSaved,
XRefNotUsed,
{
// XFreeSectionByHandle+0x00 : push esp
@ -1460,8 +1460,8 @@ SOOVPA<6> XAutoPowerDownResetTimer_1_0_3911 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x02, 0x59 },
@ -1481,8 +1481,8 @@ SOOVPA<7> XMountMURootA_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x0C },
@ -1503,8 +1503,8 @@ SOOVPA<7> XMountUtilityDrive_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1C, 0x85 },
@ -1525,8 +1525,8 @@ SOOVPA<7> GetFileAttributesA_1_0_3911 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x08 },
@ -1547,8 +1547,8 @@ SOOVPA<8> ReadFileEx_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x48 },
@ -1570,8 +1570,8 @@ SOOVPA<8> WriteFileEx_1_0_3911 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x48 },

View File

@ -42,8 +42,8 @@ SOOVPA<14> XInputGetCapabilities_1_0_4361 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetCapabilities+0x03 : sub esp, 0x48
@ -80,8 +80,8 @@ SOOVPA<12> XInputGetState_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetState+0x0E : mov ecx, [edx+0x0A3]
@ -116,8 +116,8 @@ SOOVPA<8> CreateThread_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CreateThread+0x0A : mov eax, ds:10130h
@ -144,8 +144,8 @@ SOOVPA<10> CloseHandle_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CloseHandle+0x00 : push [esp+4]
@ -176,8 +176,8 @@ SOOVPA<7> XapiInitProcess_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiInitProcess+0x00 : sub esp, 30h

View File

@ -40,8 +40,8 @@ SOOVPA<14> XGetDevices_1_0_4134 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XGetDevices+0x07 : mov edx, [esp+arg_0]
@ -78,8 +78,8 @@ SOOVPA<12> XInputOpen_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputOpen+0x13 : jmp +0x18
@ -116,8 +116,8 @@ SOOVPA<12> XInputGetState_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetState+0x0E : cmp byte ptr [edx+0xA3], 1
@ -152,8 +152,8 @@ SOOVPA<10> XMountUtilityDrive_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XMountUtilityDrive+0x03 : sub esp, 0x0114
@ -182,8 +182,8 @@ SOOVPA<12> QueryPerformanceCounter_1_0_4134 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// QueryPerformanceCounter+0x04 : rdtsc
@ -220,8 +220,8 @@ SOOVPA<15> QueryPerformanceFrequency_1_0_4134 =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0
@ -259,7 +259,7 @@ SOOVPA<10> XInputPoll_1_0_4134 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
XRefNotSaved,
0, // XRef Is Used
{
@ -286,8 +286,8 @@ SOOVPA<8> RtlDestroyHeap_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x10, 0x56 },
@ -309,8 +309,8 @@ SOOVPA<8> XMountMUA_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x8A },
@ -332,8 +332,8 @@ SOOVPA<7> GetFileAttributesA_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x08 },
@ -354,8 +354,8 @@ SOOVPA<7> timeSetEvent_1_0_4134 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8D },
@ -376,8 +376,8 @@ SOOVPA<8> timeKillEvent_1_0_4134 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x8B },

View File

@ -40,8 +40,8 @@ SOOVPA<12> RtlFreeHeap_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlFreeHeap+0x1F : test ecx, ecx
@ -76,8 +76,8 @@ SOOVPA<12> QueryPerformanceCounter_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// QueryPerformanceCounter+0x04 : rdtsc
@ -114,8 +114,8 @@ SOOVPA<15> QueryPerformanceFrequency_1_0_4361 =
0, // Large == 0
15, // Count == 15
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0
@ -153,8 +153,8 @@ SOOVPA<12> XInputOpen_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputOpen+0x14 : push 0x57
@ -224,8 +224,8 @@ SOOVPA<14> XInputGetCapabilities_1_0_4361 =
0, // Large == 0
14, // Count == 14
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetCapabilities+0x03 : sub esp, 0x48
@ -262,8 +262,8 @@ SOOVPA<12> XInputGetState_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputGetState+0x0E : mov ecx, [edx+0x0A3]
@ -298,8 +298,8 @@ SOOVPA<12> XInputSetState_1_0_4361 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputSetState+0x04 : lea eax, [ecx+0x0A3]
@ -334,8 +334,8 @@ SOOVPA<12> XInputSetState_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XInputSetState+0x04 : lea eax, [ecx+0x0A3]
@ -370,8 +370,8 @@ SOOVPA<8> CreateThread_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CreateThread+0x0A : mov eax, ds:10130h
@ -398,8 +398,8 @@ SOOVPA<10> CloseHandle_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// CloseHandle+0x00 : push [esp+4]
@ -430,8 +430,8 @@ SOOVPA<7> XapiInitProcess_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiInitProcess+0x03 : sub esp, 30h
@ -459,8 +459,8 @@ SOOVPA<10> XapiThreadStartup_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiThreadStartup+0x00 : push 0x18
@ -493,8 +493,8 @@ SOOVPA<10> XapiSetupPerTitleDriveLetters_1_0_4361 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiSetupPerTitleDriveLetters+0x09 : lea eax, [ebp-0x0C]
@ -525,8 +525,8 @@ SOOVPA<8> XMountMUA_1_0_4361 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x8A },
@ -548,8 +548,8 @@ SOOVPA<7> CreateWaitableTimerA_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x74 },
@ -570,8 +570,8 @@ SOOVPA<7> SetWaitableTimer_1_0_4361 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0x10 },

View File

@ -40,8 +40,8 @@ SOOVPA<9> RtlFreeHeap_1_0_4432 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlFreeHeap+0x1F : test ecx, ecx
@ -71,8 +71,8 @@ SOOVPA<8> XMountUtilityDrive_1_0_4432 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// XapiUnknownBad1+0x51 : push 0x0104

View File

@ -40,8 +40,8 @@ SOOVPA<7> XFormatUtilityDrive_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x10, 0x50 },
@ -62,8 +62,8 @@ SOOVPA<10> SetThreadPriorityBoost_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// SetThreadPriorityBoost+0x0D : push [ebp+0x08]
@ -94,8 +94,8 @@ SOOVPA<10> GetThreadPriority_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// GetThreadPriority+0x0D : push [ebp+0x08]
@ -126,8 +126,8 @@ SOOVPA<9> RtlFreeHeap_1_0_4627 =
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlFreeHeap+0x1F : test edi, edi
@ -157,8 +157,8 @@ SOOVPA<10> RtlReAllocateHeap_1_0_4627 =
0, // Large == 0
10, // Count == 10
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// RtlReAllocateHeap+0x1C : test esi, esi
@ -188,7 +188,7 @@ SOOVPA<7> XID_fCloseDevice_1_0_4627 =
7, // Count == 7
XREF_FCLOSEDEVICE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x13, 0x1E },
@ -238,7 +238,7 @@ SOOVPA<8> XInputClose_1_0_4928 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
XRefNotSaved,
1, // XRef Is Used
{
@ -268,8 +268,8 @@ SOOVPA<12> XInputGetState_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x8B }, // (Offset,Value)-Pair #1
@ -299,8 +299,8 @@ SOOVPA<12> XInputGetCapabilities_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -330,8 +330,8 @@ SOOVPA<12> XInputGetCapabilities2_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// mov ebx, ds:KeRaiseIrqlToDpcLevel
@ -364,8 +364,8 @@ SOOVPA<12> XInputGetCapabilities3_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -395,8 +395,8 @@ SOOVPA<12> XInputGetCapabilities4_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// mov ebx, ds:KeRaiseIrqlToDpcLevel
@ -430,8 +430,8 @@ SOOVPA<12> XInputGetCapabilities5_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// mov ebx, ds:KeRaiseIrqlToDpcLevel
@ -465,8 +465,8 @@ SOOVPA<12> XInputGetCapabilities6_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
// mov ebx, ds:KeRaiseIrqlToDpcLevel
@ -499,8 +499,8 @@ SOOVPA<12> XInputGetCapabilities_1_0_4831 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -529,8 +529,8 @@ SOOVPA<12> XInputGetCapabilities2_1_0_4831 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -559,8 +559,8 @@ SOOVPA<12> XInputGetCapabilities3_1_0_4831 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -589,8 +589,8 @@ SOOVPA<12> XInputGetCapabilities4_1_0_4831 =
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
@ -619,8 +619,8 @@ SOOVPA<12> XInputGetCapabilities5_1_0_4831 =
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0xF6 },
@ -642,8 +642,8 @@ SOOVPA<7> GetOverlappedResult_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x75 },
@ -664,8 +664,8 @@ SOOVPA<8> XLaunchNewImageA_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x80 },
@ -687,8 +687,8 @@ SOOVPA<12> XLaunchNewImageA_1_0_4928 =
0, // Large == 0
12, // Count == 12
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
// XLaunchNewImageA+0x03 : sub esp, 0x384
@ -717,8 +717,8 @@ SOOVPA<7> XGetLaunchInfo_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -739,8 +739,8 @@ SOOVPA<7> XSetProcessQuantumLength_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0xA1 },
@ -761,8 +761,8 @@ SOOVPA<7> timeSetEvent_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8D },
@ -783,8 +783,8 @@ SOOVPA<8> timeKillEvent_1_0_4627 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x8B },
@ -806,8 +806,8 @@ SOOVPA<7> RaiseException_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x83 },
@ -830,7 +830,7 @@ SOOVPA<7> VirtualProtect_1_0_4627 =
7, // Count == 7
0/*XREF_VirtualProtect*/, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x04, 0x8D },
@ -851,8 +851,8 @@ SOOVPA<7> CreateSemaphoreA_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x74 },
@ -873,8 +873,8 @@ SOOVPA<7> ReleaseSemaphore_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x0C },
@ -895,8 +895,8 @@ SOOVPA<7> XMountAlternateTitleA_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x0F },
@ -917,8 +917,8 @@ SOOVPA<7> XMountAlternateTitleA_1_0_4928 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x0F },
@ -939,8 +939,8 @@ SOOVPA<7> XUnmountAlternateTitleA_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x65 },
@ -961,8 +961,8 @@ SOOVPA<6> XGetFileCacheSize_1_0_4627 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xFF },
@ -982,8 +982,8 @@ SOOVPA<7> MoveFileA_1_0_4627 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x11, 0x8D },
@ -1004,8 +1004,8 @@ SOOVPA<9> XInputGetDeviceDescription_1_0_4831 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x83 },

View File

@ -44,8 +44,8 @@ SOOVPA<7> XInitDevices_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // XRef Not Saved
0, // XRef Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0E, 0x75 },
@ -66,8 +66,8 @@ SOOVPA<8> XInputGetCapabilities_1_0_5233 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x85 },
@ -89,8 +89,8 @@ SOOVPA<7> XGetDeviceChanges_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x75 },
@ -111,8 +111,8 @@ SOOVPA<7> XInputSetState_1_0_5233 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x81 },
@ -133,8 +133,8 @@ SOOVPA<6> XGetFileCacheSize_1_0_5344 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0xFF },

View File

@ -40,8 +40,8 @@ SOOVPA<8> RtlCreateHeap_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x45 },
@ -63,8 +63,8 @@ SOOVPA<8> RtlAllocateHeap_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1E, 0x8B },
@ -86,8 +86,8 @@ SOOVPA<8> RtlSizeHeap_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x8A },
@ -109,8 +109,8 @@ SOOVPA<8> XInputGetCapabilities_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x1D, 0x85 },
@ -132,8 +132,8 @@ SOOVPA<7> XInputGetState_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0D, 0x0C },
@ -154,8 +154,8 @@ SOOVPA<8> XapiInitProcess_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x6A },
@ -177,8 +177,8 @@ SOOVPA<8> XapiInitProcess_1_0_5659 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x6A },
@ -200,8 +200,8 @@ SOOVPA<7> CreateSemaphoreA_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0A, 0x74 },
@ -222,8 +222,8 @@ SOOVPA<7> ReleaseSemaphore_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x03, 0x0C },
@ -244,8 +244,8 @@ SOOVPA<7> XLaunchNewImageA_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xF0 },
@ -266,8 +266,8 @@ SOOVPA<7> XGetLaunchInfo_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0B, 0x8B },
@ -288,8 +288,8 @@ SOOVPA<7> GetFileAttributesA_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x08, 0x08 },
@ -310,8 +310,8 @@ SOOVPA<8> XMountMUA_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x8A },
@ -333,8 +333,8 @@ SOOVPA<7> CreateFiber_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x10, 0x00 },
@ -355,8 +355,8 @@ SOOVPA<6> DeleteFiber_1_0_5558 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x44 },
@ -376,8 +376,8 @@ SOOVPA<8> SwitchToFiber_1_0_5558 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x06, 0x64 },
@ -399,8 +399,8 @@ SOOVPA<7> ConvertThreadToFiber_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x05, 0x64 },
@ -421,8 +421,8 @@ SOOVPA<7> XapiFiberStartup_1_0_5558 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xE8 },
@ -444,7 +444,7 @@ SOOVPA<7> XID_fCloseDevice_1_0_5558 =
7, // Count == 7
XREF_FCLOSEDEVICE, // Xref Is Saved
0, // Xref Not Used
XRefNotUsed,
{
{ 0x11, 0x45 },
@ -465,7 +465,7 @@ SOOVPA<9> XInputClose_1_0_5558 =
0, // Large == 0
9, // Count == 9
-1, // Xref Not Saved
XRefNotSaved,
1, // Xref Is Used
{

View File

@ -40,8 +40,8 @@ SOOVPA<8> XapiInitProcess_1_0_5849 =
0, // Large == 0
8, // Count == 8
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x22, 0x6A },
@ -63,8 +63,8 @@ SOOVPA<7> XGetDeviceChanges_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0C, 0x75 },
@ -85,8 +85,8 @@ SOOVPA<7> GetThreadPriority_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x0D, 0xFF },
@ -107,8 +107,8 @@ SOOVPA<7> SetThreadPriorityBoost_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x07, 0xFF },
@ -129,8 +129,8 @@ SOOVPA<5> XGetSectionSize_1_0_5849 =
0, // Large == 0
5, // Count == 5
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x00, 0x8B },
@ -149,8 +149,8 @@ SOOVPA<7> RaiseException_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x09, 0x83 },
@ -171,8 +171,8 @@ SOOVPA<7> XGetDeviceEnumerationStatus_1_0_5849 =
0, // Large == 0
7, // Count == 7
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x04, 0x15 },
@ -193,8 +193,8 @@ SOOVPA<6> SwitchToThread_1_0_5849 =
0, // Large == 0
6, // Count == 6
-1, // Xref Not Saved
0, // Xref Not Used
XRefNotSaved,
XRefNotUsed,
{
{ 0x01, 0x15 },

View File

@ -80,7 +80,7 @@ void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHead
{
SHGetSpecialFolderPath(NULL, szCacheFileName, CSIDL_APPDATA, TRUE);
strcat(szCacheFileName, "\\Cxbx-Reloaded\\");
strcat(szCacheFileName, "\\Cxbx\\");
CreateDirectory(szCacheFileName, NULL);
@ -608,7 +608,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
uint32 count = Oovpa->Count;
// Skip out if this is an unnecessary search
if(!bXRefFirstPass && Oovpa->XRefCount == 0 && Oovpa->XRefSaveIndex == (uint08)-1)
if(!bXRefFirstPass && Oovpa->XRefCount == 0 && Oovpa->XRefSaveIndex == XRefNotSaved)
return 0;
// large
@ -653,7 +653,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
// success if we found all pairs
if(v == count)
{
if(Loovpa->XRefSaveIndex != (uint08)-1)
if(Loovpa->XRefSaveIndex != XRefNotSaved)
{
if(XRefDataBase[Loovpa->XRefSaveIndex] == -1)
{
@ -720,7 +720,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
// success if we found all pairs
if(v == count)
{
if(Soovpa->XRefSaveIndex != (uint08)-1)
if(Soovpa->XRefSaveIndex != XRefNotSaved)
{
if(XRefDataBase[Soovpa->XRefSaveIndex] == -1)
{

View File

@ -54,374 +54,426 @@ namespace xboxkrnl
//#define PANIC(numb) CxbxKrnlPanic
#define PANIC(numb) numb
#define FUNC(f) f
#define VARIABLE(v) v
// kernel thunk table
extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[367] =
extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
{
(uint32)PANIC(0x0000), // 0x0000 (0) NULL
(uint32)&xboxkrnl::AvGetSavedDataAddress, // 0x0001 (1)
(uint32)&xboxkrnl::AvSendTVEncoderOption, // 0x0002 (2)
(uint32)PANIC(0x0003), // 0x0003 (3) AvSetDisplayMode
(uint32)PANIC(0x0004), // 0x0004 (4) AvSetSavedDataAddress
(uint32)PANIC(0x0005), // 0x0005 (5) DbgBreakPoint
(uint32)PANIC(0x0006), // 0x0006 (6) DbgBreakPointWithStatus
(uint32)PANIC(0x0007), // 0x0007 (7) DbgLoadImageSymbols
(uint32)&xboxkrnl::DbgPrint, // 0x0008 (8)
(uint32)&xboxkrnl::HalReadSMCTrayState, // 0x0009 (9)
(uint32)PANIC(0x000A), // 0x000A (10) DbgPrompt
(uint32)PANIC(0x000B), // 0x000B (11) DbgUnLoadImageSymbols
(uint32)PANIC(0x000C), // 0x000C (12) ExAcquireReadWriteLockExclusive
(uint32)PANIC(0x000D), // 0x000D (13) ExAcquireReadWriteLockShared
(uint32)&xboxkrnl::ExAllocatePool, // 0x000E (14)
(uint32)&xboxkrnl::ExAllocatePoolWithTag, // 0x000F (15)
(uint32)PANIC(0x0010), // 0x0010 (16) ExEventObjectType
(uint32)&xboxkrnl::ExFreePool, // 0x0011 (17)
(uint32)PANIC(0x0012), // 0x0012 (18) ExInitializeReadWriteLock
(uint32)PANIC(0x0013), // 0x0013 (19) ExInterlockedAddLargeInteger
(uint32)PANIC(0x0014), // 0x0014 (20) ExInterlockedAddLargeStatistic
(uint32)PANIC(0x0015), // 0x0015 (21) ExInterlockedCompareExchange64
(uint32)PANIC(0x0016), // 0x0016 (22) ExMutantObjectType
(uint32)&xboxkrnl::ExQueryPoolBlockSize, // 0x0017 (23) ExQueryPoolBlockSize
(uint32)&xboxkrnl::ExQueryNonVolatileSetting, // 0x0018 (24)
(uint32)&xboxkrnl::ExReadWriteRefurbInfo, // 0x0019 (25)
(uint32)PANIC(0x001A), // 0x001A (26) ExQueryPoolBlockSize
(uint32)PANIC(0x001B), // 0x001B (27) ExRaiseStatus
(uint32)PANIC(0x001C), // 0x001C (28) ExReleaseReadWriteLock
(uint32)&xboxkrnl::ExSaveNonVolatileSetting, // 0x001D (29)
(uint32)PANIC(0x001E), // 0x001E (30)
(uint32)PANIC(0x001F), // 0x001F (31)
(uint32)PANIC(0x0020), // 0x0020 (32)
(uint32)PANIC(0x0021), // 0x0021 (33)
(uint32)PANIC(0x0022), // 0x0022 (34)
(uint32)&xboxkrnl::FscGetCacheSize, // 0x0023 (35)
(uint32)PANIC(0x0024), // 0x0024 (36)
(uint32)&xboxkrnl::FscSetCacheSize, // 0x0025 (37)
(uint32)PANIC(0x0026), // 0x0026 (38) HalClearSoftwareInterrupt
(uint32)PANIC(0x0027), // 0x0027 (39) HalDisableSystemInterrupt
(uint32)&xboxkrnl::HalDiskCachePartitionCount, // 0x0028 (40) HalDiskCachePartitionCount
(uint32)PANIC(0x0029), // 0x0029 (41) HalDiskModelNumber
(uint32)PANIC(0x002A), // 0x002A (42) HalDiskSerialNumber
(uint32)PANIC(0x002B), // 0x002B (43) HalEnableSystemInterrupt
(uint32)&xboxkrnl::HalGetInterruptVector, // 0x002C (44)
(uint32)&xboxkrnl::HalReadSMBusValue, // 0x002D (45)
(uint32)PANIC(0x002E), // 0x002E (46) HalReadWritePCISpace
(uint32)&xboxkrnl::HalRegisterShutdownNotification, // 0x002F (47) HalRegisterShutdownNotification
(uint32)PANIC(0x0030), // 0x0030 (48) HalRequestSoftwareInterrupt
(uint32)&xboxkrnl::HalReturnToFirmware, // 0x0031 (49)
(uint32)&xboxkrnl::HalWriteSMBusValue, // 0x0032 (50)
(uint32)PANIC(0x0033), // 0x0033 (51) InterlockedCompareExchange
(uint32)PANIC(0x0034), // 0x0034 (52) InterlockedDecrement
(uint32)PANIC(0x0035), // 0x0035 (53) InterlockedIncrement
(uint32)PANIC(0x0036), // 0x0036 (54) InterlockedExchange
(uint32)PANIC(0x0037), // 0x0037 (55) InterlockedExchangeAdd
(uint32)PANIC(0x0038), // 0x0038 (56) InterlockedFlushSList
(uint32)PANIC(0x0039), // 0x0039 (57) InterlockedPopEntrySList
(uint32)PANIC(0x003A), // 0x003A (58) InterlockedPushEntrySList
(uint32)PANIC(0x003B), // 0x003B (59) IoAllocateIrp
(uint32)PANIC(0x003C), // 0x003C (60) IoBuildAsynchronousFsdRequest
(uint32)PANIC(0x003D), // 0x003D (61) IoBuildDeviceIoControlRequest
(uint32)PANIC(0x003E), // 0x003E (62) IoBuildSynchronousFsdRequest
(uint32)PANIC(0x003F), // 0x003F (63) IoCheckShareAccess
(uint32)PANIC(0x0040), // 0x0040 (64) IoCompletionObjectType
(uint32)PANIC(0x0041), // 0x0041 (65) IoCreateDevice
(uint32)&xboxkrnl::IoCreateFile, // 0x0042 (66)
(uint32)&xboxkrnl::IoCreateSymbolicLink, // 0x0043 (67)
(uint32)PANIC(0x0044), // 0x0044 (68) IoDeleteDevice
(uint32)&xboxkrnl::IoDeleteSymbolicLink, // 0x0045 (69)
(uint32)PANIC(0x0046), // 0x0046 (70) IoDeviceObjectType
(uint32)PANIC(0x0047), // 0x0047 (71) IoFileObjectType
(uint32)PANIC(0x0048), // 0x0048 (72) IoFreeIrp
(uint32)PANIC(0x0049), // 0x0049 (73) IoInitializeIrp
(uint32)PANIC(0x004A), // 0x004A (74) IoInvalidDeviceRequest
(uint32)PANIC(0x004B), // 0x004B (75) IoQueryFileInformation
(uint32)PANIC(0x004C), // 0x004C (76) IoQueryVolumeInformation
(uint32)PANIC(0x004D), // 0x004D (77) IoQueueThreadIrp
(uint32)PANIC(0x004E), // 0x004E (78) IoRemoveShareAccess
(uint32)PANIC(0x004F), // 0x004F (79) IoSetIoCompletion
(uint32)PANIC(0x0050), // 0x0050 (80) IoSetShareAccess
(uint32)PANIC(0x0051), // 0x0051 (81) IoStartNextPacket
(uint32)PANIC(0x0052), // 0x0052 (82) IoStartNextPacketByKey
(uint32)PANIC(0x0053), // 0x0053 (83) IoStartPacket
(uint32)PANIC(0x0054), // 0x0054 (84) IoSynchronousDeviceIoControlRequest
(uint32)PANIC(0x0055), // 0x0055 (85) IoSynchronousFsdRequest
(uint32)PANIC(0x0056), // 0x0056 (86) IofCallDriver
(uint32)PANIC(0x0057), // 0x0057 (87) IofCompleteRequest
(uint32)PANIC(0x0058), // 0x0058 (88) KdDebuggerEnabled
(uint32)PANIC(0x0059), // 0x0059 (89) KdDebuggerNotPresent
(uint32)PANIC(0x005A), // 0x005A (90) IoDismountVolume
(uint32)&xboxkrnl::IoDismountVolumeByName, // 0x005B (91)
(uint32)PANIC(0x005C), // 0x005C (92) KeAlertResumeThread
(uint32)PANIC(0x005D), // 0x005D (93) KeAlertThread
(uint32)PANIC(0x005E), // 0x005E (94) KeBoostPriorityThread
(uint32)&xboxkrnl::KeBugCheck, // 0x005F (95)
(uint32)PANIC(0x0060), // 0x0060 (96) KeBugCheckEx
(uint32)PANIC(0x0061), // 0x0061 (97) KeCancelTimer
(uint32)&xboxkrnl::KeConnectInterrupt, // 0x0062 (98)
(uint32)&xboxkrnl::KeDelayExecutionThread, // 0x0063 (99)
(uint32)PANIC(0x0064), // 0x0064 (100) KeDisconnectInterrupt
(uint32)PANIC(0x0065), // 0x0065 (101) KeEnterCriticalRegion
(uint32)PANIC(0x0066), // 0x0066 (102) MmGlobalData
(uint32)PANIC(0x0067), // 0x0067 (103) KeGetCurrentIrql
(uint32)PANIC(0x0068), // 0x0068 (104) KeGetCurrentThread
(uint32)PANIC(0x0069), // 0x0069 (105) KeInitializeApc
(uint32)PANIC(0x006A), // 0x006A (106) KeInitializeDeviceQueue
(uint32)&xboxkrnl::KeInitializeDpc, // 0x006B (107)
(uint32)PANIC(0x006C), // 0x006C (108)
(uint32)&xboxkrnl::KeInitializeInterrupt, // 0x006D (109)
(uint32)PANIC(0x006E), // 0x006E (110)
(uint32)PANIC(0x006F), // 0x006F (111)
(uint32)PANIC(0x0070), // 0x0070 (112)
(uint32)&xboxkrnl::KeInitializeTimerEx, // 0x0071 (113)
(uint32)PANIC(0x0072), // 0x0072 (114) KeInsertByKeyDeviceQueue
(uint32)PANIC(0x0073), // 0x0073 (115) KeInsertDeviceQueue
(uint32)PANIC(0x0074), // 0x0074 (116) KeInsertHeadQueue
(uint32)PANIC(0x0075), // 0x0075 (117) KeInsertQueue
(uint32)PANIC(0x0076), // 0x0076 (118) KeInsertQueueApc
(uint32)PANIC(0x0077), // 0x0077 (119) KeInsertQueueDpc
(uint32)PANIC(0x0078), // 0x0078 (120) KeInterruptTime
(uint32)PANIC(0x0079), // 0x0079 (121) KeIsExecutingDpc
(uint32)PANIC(0x007A), // 0x007A (122) KeLeaveCriticalRegion
(uint32)PANIC(0x007B), // 0x007B (123) KePulseEvent
(uint32)PANIC(0x007C), // 0x007C (124) KeQueryBasePriorityThread
(uint32)PANIC(0x007D), // 0x007D (125) KeQueryInterruptTime
(uint32)&xboxkrnl::KeQueryPerformanceCounter, // 0x007E (126)
(uint32)&xboxkrnl::KeQueryPerformanceFrequency, // 0x007F (127)
(uint32)&xboxkrnl::KeQuerySystemTime, // 0x0080 (128)
(uint32)&xboxkrnl::KeRaiseIrqlToDpcLevel, // 0x0081 (129)
(uint32)PANIC(0x0082), // 0x0082 (130) KeRaiseIrqlToSynchLevel
(uint32)PANIC(0x0083), // 0x0083 (131) KeRaiseIrqlToSynchLevel
(uint32)PANIC(0x0084), // 0x0084 (132) KeReleaseSemaphore
(uint32)PANIC(0x0085), // 0x0085 (133) KeRemoveByKeyDeviceQueue
(uint32)PANIC(0x0086), // 0x0086 (134) KeRemoveDeviceQueue
(uint32)PANIC(0x0087), // 0x0087 (135) KeRemoveEntryDeviceQueue
(uint32)PANIC(0x0088), // 0x0088 (136) KeRemoveQueue
(uint32)PANIC(0x0089), // 0x0089 (137) KeRemoveQueueDpc
(uint32)PANIC(0x008A), // 0x008A (138) KeResetEvent
(uint32)PANIC(0x008B), // 0x008B (139) KeRestoreFloatingPointState
(uint32)PANIC(0x008C), // 0x008C (140) KeResumeThread
(uint32)PANIC(0x008D), // 0x008D (141) KeRundownQueue
(uint32)PANIC(0x008E), // 0x008E (142) KeSaveFloatingPointState
(uint32)PANIC(0x008F), // 0x008F (143) KeSetBasePriorityThread
(uint32)PANIC(0x0090), // 0x0090 (144) KeSetDisableBoostThread
(uint32)PANIC(0x0091), // 0x0091 (145) KeSetEvent
(uint32)PANIC(0x0092), // 0x0092 (146) KeSetEventBoostPriority
(uint32)PANIC(0x0093), // 0x0093 (147) KeSetPriorityProcess
(uint32)PANIC(0x0094), // 0x0094 (148) KeSetPriorityThread
(uint32)&xboxkrnl::KeSetTimer, // 0x0095 (149)
(uint32)&xboxkrnl::KeSetTimerEx, // 0x0096 (150)
(uint32)PANIC(0x0097), // 0x0097 (151) KeStallExecutionProcessor
(uint32)PANIC(0x0098), // 0x0098 (152) KeSuspendThread
(uint32)PANIC(0x0099), // 0x0099 (153) KeSynchronizeExecution
(uint32)PANIC(0x009A), // 0x009A (154) KeSystemTime
(uint32)PANIC(0x009B), // 0x009B (155) KeTestAlertThread
(uint32)&xboxkrnl::KeTickCount, // 0x009C (156)
(uint32)PANIC(0x009D), // 0x009D (157) KeTimeIncrement
(uint32)&xboxkrnl::KeWaitForMultipleObjects, // 0x009E (158) KeWaitForMultipleObjects
(uint32)&xboxkrnl::KeWaitForSingleObject, // 0x009F (159) KeWaitForSingleObject
(uint32)&xboxkrnl::KfRaiseIrql, // 0x00A0 (160)
(uint32)&xboxkrnl::KfLowerIrql, // 0x00A1 (161)
(uint32)PANIC(0x00A2), // 0x00A2 (162) KiBugCheckData
(uint32)PANIC(0x00A3), // 0x00A3 (163) KiUnlockDispatcherDatabase
(uint32)&xboxkrnl::LaunchDataPage, // 0x00A4 (164)
(uint32)&xboxkrnl::MmAllocateContiguousMemory, // 0x00A5 (165)
(uint32)&xboxkrnl::MmAllocateContiguousMemoryEx,// 0x00A6 (166)
(uint32)&xboxkrnl::MmAllocateSystemMemory, // 0x00A7 (167)
(uint32)PANIC(0x00A8), // 0x00A8 (168) MmClaimGpuInstanceMemory
(uint32)&xboxkrnl::MmCreateKernelStack, // 0x00A9 (169)
(uint32)&xboxkrnl::MmDeleteKernelStack, // 0x00AA (170)
(uint32)&xboxkrnl::MmFreeContiguousMemory, // 0x00AB (171)
(uint32)&xboxkrnl::MmFreeSystemMemory, // 0x00AC (172)
(uint32)PANIC(0x00AD), // 0x00AD (173) MmGetPhysicalAddress
(uint32)PANIC(0x00AE), // 0x00AE (174) MmIsAddressValid
(uint32)&xboxkrnl::MmLockUnlockBufferPages, // 0x00AF (175) MmLockUnlockBufferPages
(uint32)PANIC(0x00B0), // 0x00B0 (176) MmLockUnlockPhysicalPage
(uint32)&xboxkrnl::MmMapIoSpace, // 0x00B1 (177)
(uint32)&xboxkrnl::MmPersistContiguousMemory, // 0x00B2 (178)
(uint32)PANIC(0x00B3), // 0x00B3 (179) MmQueryAddressProtect
(uint32)&xboxkrnl::MmQueryAllocationSize, // 0x00B4 (180)
(uint32)&xboxkrnl::MmQueryStatistics, // 0x00B5 (181)
(uint32)&xboxkrnl::MmSetAddressProtect, // 0x00B6 (182)
(uint32)&xboxkrnl::MmUnmapIoSpace, // 0x00B7 (183)
(uint32)&xboxkrnl::NtAllocateVirtualMemory, // 0x00B8 (184)
(uint32)PANIC(0x00B9), // 0x00B9 (185) NtCancelTimer
(uint32)&xboxkrnl::NtClearEvent, // 0x00BA (186)
(uint32)&xboxkrnl::NtClose, // 0x00BB (187)
(uint32)&xboxkrnl::NtCreateDirectoryObject, // 0x00BC (188) NtCreateDirectoryObject
(uint32)&xboxkrnl::NtCreateEvent, // 0x00BD (189)
(uint32)&xboxkrnl::NtCreateFile, // 0x00BE (190)
(uint32)PANIC(0x00BF), // 0x00BF (191) NtCreateIoCompletion
(uint32)&xboxkrnl::NtCreateMutant, // 0x00C0 (192)
(uint32)&xboxkrnl::NtCreateSemaphore, // 0x00C1 (193)
(uint32)PANIC(0x00C2), // 0x00C2 (194) NtCreateTimer
(uint32)PANIC(0x00C3), // 0x00C3 (195) NtDeleteFile
(uint32)&xboxkrnl::NtDeviceIoControlFile, // 0x00C4 (196) NtDeviceIoControlFile
(uint32)&xboxkrnl::NtDuplicateObject, // 0x00C5 (197)
(uint32)&xboxkrnl::NtFlushBuffersFile, // 0x00C6 (198)
(uint32)&xboxkrnl::NtFreeVirtualMemory, // 0x00C7 (199)
(uint32)PANIC(0x00C8), // 0x00C8 (200) NtFsControlFile
(uint32)PANIC(0x00C9), // 0x00C9 (201) NtOpenDirectoryObject
(uint32)&xboxkrnl::NtOpenFile, // 0x00CA (202)
(uint32)&xboxkrnl::NtOpenSymbolicLinkObject, // 0x00CB (203) NtOpenSymbolicLinkObject
(uint32)&xboxkrnl::NtProtectVirtualMemory, // 0x00CC (204) NtProtectVirtualMemory
(uint32)PANIC(0x00CD), // 0x00CD (205) NtPulseEvent
(uint32)&xboxkrnl::NtQueueApcThread, // 0x00CE (206)
(uint32)&xboxkrnl::NtQueryDirectoryFile, // 0x00CF (207)
(uint32)PANIC(0x00D0), // 0x00D0 (208) NtQueryDirectoryObject
(uint32)PANIC(0x00D1), // 0x00D1 (209) NtQueryEvent
(uint32)&xboxkrnl::NtQueryFullAttributesFile, // 0x00D2 (210)
(uint32)&xboxkrnl::NtQueryInformationFile, // 0x00D3 (211)
(uint32)PANIC(0x00D4), // 0x00D4 (212) NtQueryIoCompletion
(uint32)PANIC(0x00D5), // 0x00D5 (213) NtQueryMutant
(uint32)PANIC(0x00D6), // 0x00D6 (214) NtQuerySemaphore
(uint32)&xboxkrnl::NtQuerySymbolicLinkObject, // 0x00D7 (215) NtQuerySymbolicLinkObject
(uint32)PANIC(0x00D8), // 0x00D8 (216) NtQueryTimer
(uint32)&xboxkrnl::NtQueryVirtualMemory, // 0x00D9 (217)
(uint32)&xboxkrnl::NtQueryVolumeInformationFile,// 0x00DA (218)
(uint32)&xboxkrnl::NtReadFile, // 0x00DB (219)
(uint32)PANIC(0x00DC), // 0x00DC (220) NtReadFileScatter
(uint32)&xboxkrnl::NtReleaseMutant, // 0x00DD (221)
(uint32)&xboxkrnl::NtReleaseSemaphore, // 0x00DE (222)
(uint32)PANIC(0x00DF), // 0x00DF (223) NtRemoveIoCompletion
(uint32)&xboxkrnl::NtResumeThread, // 0x00E0 (224)
(uint32)&xboxkrnl::NtSetEvent, // 0x00E1 (225)
(uint32)&xboxkrnl::NtSetInformationFile, // 0x00E2 (226)
(uint32)PANIC(0x00E3), // 0x00E3 (227) NtSetIoCompletion
(uint32)&xboxkrnl::NtSetSystemTime, // 0x00E4 (228)
(uint32)PANIC(0x00E5), // 0x00E5 (229) NtSetTimerEx
(uint32)PANIC(0x00E6), // 0x00E6 (230) NtSignalAndWaitForSingleObjectEx
(uint32)&xboxkrnl::NtSuspendThread, // 0x00E7 (231)
(uint32)&xboxkrnl::NtUserIoApcDispatcher, // 0x00E8 (232)
(uint32)PANIC(0x00E9), // 0x00E9 (233) NtWaitForSingleObject
(uint32)&xboxkrnl::NtWaitForSingleObjectEx, // 0x00EA (234)
(uint32)&xboxkrnl::NtWaitForMultipleObjectsEx, // 0x00EB (235)
(uint32)&xboxkrnl::NtWriteFile, // 0x00EC (236)
(uint32)PANIC(0x00ED), // 0x00ED (237) NtWriteFileGather
(uint32)&xboxkrnl::NtYieldExecution, // 0x00EE (238)
(uint32)PANIC(0x00EF), // 0x00EF (239) ObCreateObject
(uint32)PANIC(0x00F0), // 0x00F0 (240) ObDirectoryObjectType
(uint32)PANIC(0x00F1), // 0x00F1 (241) ObInsertObject
(uint32)PANIC(0x00F2), // 0x00F2 (242) ObMakeTemporaryObject
(uint32)PANIC(0x00F3), // 0x00F3 (243) ObOpenObjectByName
(uint32)PANIC(0x00F4), // 0x00F4 (244) ObOpenObjectByPointer
(uint32)PANIC(0x00F5), // 0x00F5 (245) ObpObjectHandleTable
(uint32)PANIC(0x00F6), // 0x00F6 (246) ObReferenceObjectByHandle
(uint32)PANIC(0x00F7), // 0x00F7 (247) ObReferenceObjectByName
(uint32)PANIC(0x00F8), // 0x00F8 (248) ObReferenceObjectByPointer
(uint32)PANIC(0x00F9), // 0x00F9 (249) ObSymbolicLinkObjectType
(uint32)PANIC(0x00FA), // 0x00FA (250) ObfDereferenceObject
(uint32)PANIC(0x00FB), // 0x00FB (251) ObfReferenceObject
(uint32)PANIC(0x00FC), // 0x00FC (252) PhyGetLinkState
(uint32)PANIC(0x00FD), // 0x00FD (253) PhyInitialize
(uint32)PANIC(0x00FE), // 0x00FE (254) PsCreateSystemThread
(uint32)&xboxkrnl::PsCreateSystemThreadEx, // 0x00FF (255)
(uint32)PANIC(0x0100), // 0x0100 (256) PsQueryStatistics
(uint32)PANIC(0x0101), // 0x0101 (257) PsSetCreateThreadNotifyRoutine
(uint32)&xboxkrnl::PsTerminateSystemThread, // 0x0102 (258)
(uint32)PANIC(0x0103), // 0x0103 (259) PsThreadObjectType
(uint32)&xboxkrnl::RtlAnsiStringToUnicodeString,// 0x0104 (260)
(uint32)PANIC(0x0105), // 0x0105 (261) RtlAppendStringToString
(uint32)PANIC(0x0106), // 0x0106 (262) RtlAppendUnicodeStringToString
(uint32)PANIC(0x0107), // 0x0107 (263) RtlAppendUnicodeToString
(uint32)&xboxkrnl::RtlAssert, // 0x0108 (264)
(uint32)PANIC(0x0109), // 0x0109 (265) RtlCaptureContext
(uint32)PANIC(0x010A), // 0x010A (266) RtlCaptureStackBackTrace
(uint32)PANIC(0x010B), // 0x010B (267) RtlCharToInteger
(uint32)PANIC(0x010C), // 0x010C (268) RtlCompareMemory
(uint32)PANIC(0x010D), // 0x010D (269) RtlCompareMemoryUlong
(uint32)PANIC(0x010E), // 0x010E (270) RtlCompareString
(uint32)PANIC(0x010F), // 0x010F (271) RtlCompareUnicodeString
(uint32)PANIC(0x0110), // 0x0110 (272) RtlCopyString
(uint32)PANIC(0x0111), // 0x0111 (273) RtlCopyUnicodeString
(uint32)PANIC(0x0112), // 0x0112 (274) RtlCreateUnicodeString
(uint32)PANIC(0x0113), // 0x0113 (275) RtlDowncaseUnicodeChar
(uint32)PANIC(0x0114), // 0x0114 (276) RtlDowncaseUnicodeString
(uint32)&xboxkrnl::RtlEnterCriticalSection, // 0x0115 (277)
(uint32)PANIC(0x0116), // 0x0116 (278) RtlEnterCriticalSectionAndRegion
(uint32)&xboxkrnl::RtlEqualString, // 0x0117 (279)
(uint32)PANIC(0x0118), // 0x0118 (280) RtlEqualUnicodeString
(uint32)PANIC(0x0119), // 0x0119 (281) RtlExtendedIntegerMultiply
(uint32)PANIC(0x011A), // 0x011A (282) RtlExtendedLargeIntegerDivide
(uint32)PANIC(0x011B), // 0x011B (283) RtlExtendedMagicDivide
(uint32)PANIC(0x011C), // 0x011C (284) RtlFillMemory
(uint32)PANIC(0x011D), // 0x011D (285) RtlFillMemoryUlong
(uint32)xboxkrnl::RtlFreeAnsiString, // 0x011E (286)
(uint32)PANIC(0x011F), // 0x011F (287) RtlFreeUnicodeString
(uint32)PANIC(0x0120), // 0x0120 (288) RtlGetCallersAddress
(uint32)&xboxkrnl::RtlInitAnsiString, // 0x0121 (289)
(uint32)&xboxkrnl::RtlInitUnicodeString, // 0x0122 (290)
(uint32)&xboxkrnl::RtlInitializeCriticalSection,// 0x0123 (291)
(uint32)PANIC(0x0124), // 0x0124 (292) RtlIntegerToChar
(uint32)PANIC(0x0125), // 0x0125 (293) RtlIntegerToUnicodeString
(uint32)&xboxkrnl::RtlLeaveCriticalSection, // 0x0126 (294)
(uint32)PANIC(0x0127), // 0x0127 (295) RtlLeaveCriticalSectionAndRegion
(uint32)&xboxkrnl::RtlLowerChar, // 0x0128 (296)
(uint32)PANIC(0x0129), // 0x0129 (297) RtlMapGenericMask
(uint32)PANIC(0x012A), // 0x012A (298) RtlMoveMemory
(uint32)PANIC(0x012B), // 0x012B (299) RtlMultiByteToUnicodeN
(uint32)PANIC(0x012C), // 0x012C (300) RtlMultiByteToUnicodeSize
(uint32)&xboxkrnl::RtlNtStatusToDosError, // 0x012D (301)
(uint32)PANIC(0x012E), // 0x012E (302) RtlRaiseException
(uint32)PANIC(0x012F), // 0x012F (303) RtlRaiseStatus
(uint32)&xboxkrnl::RtlTimeFieldsToTime, // 0x0130 (304)
(uint32)&xboxkrnl::RtlTimeToTimeFields, // 0x0131 (305)
(uint32)&xboxkrnl::RtlTryEnterCriticalSection, // 0x0132 (306)
(uint32)PANIC(0x0133), // 0x0133 (307) RtlUlongByteSwap
(uint32)&xboxkrnl::RtlUnicodeStringToAnsiString,// 0x0134 (308)
(uint32)PANIC(0x0135), // 0x0135 (309) RtlUnicodeStringToInteger
(uint32)PANIC(0x0136), // 0x0136 (310) RtlUnicodeToMultiByteN
(uint32)PANIC(0x0137), // 0x0137 (311) RtlUnicodeToMultiByteSize
(uint32)PANIC(0x0138), // 0x0138 (312) RtlUnwind
(uint32)PANIC(0x0139), // 0x0139 (313) RtlUpcaseUnicodeChar
(uint32)PANIC(0x013A), // 0x013A (314) RtlUpcaseUnicodeString
(uint32)PANIC(0x013B), // 0x013B (315) RtlUpcaseUnicodeToMultiByteN
(uint32)PANIC(0x013C), // 0x013C (316) RtlUpperChar
(uint32)PANIC(0x013D), // 0x013D (317) RtlUpperString
(uint32)PANIC(0x013E), // 0x013E (318) RtlUshortByteSwap
(uint32)PANIC(0x013F), // 0x013F (319) RtlWalkFrameChain
(uint32)PANIC(0x0140), // 0x0140 (320) RtlZeroMemory
(uint32)PANIC(0x0141), // 0x0141 (321) XboxEEPROMKey
(uint32)&xboxkrnl::XboxHardwareInfo, // 0x0142 (322)
(uint32)&xboxkrnl::XboxHDKey, // 0x0143 (323)
(uint32)&xboxkrnl::XboxKrnlVersion, // 0x0144 (324) XboxKrnlVersion
(uint32)&xboxkrnl::XboxSignatureKey, // 0x0145 (325)
(uint32)&xboxkrnl::XeImageFileName, // 0x0146 (326) XeImageFileName
(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
(uint32)PANIC(0x014C), // 0x014C (332) WRITE_PORT_BUFFER_UCHAR
(uint32)PANIC(0x014D), // 0x014D (333) WRITE_PORT_BUFFER_USHORT
(uint32)PANIC(0x014E), // 0x014E (334) WRITE_PORT_BUFFER_ULONG
(uint32)&xboxkrnl::XcSHAInit, // 0x014F (335)
(uint32)&xboxkrnl::XcSHAUpdate, // 0x0150 (336)
(uint32)&xboxkrnl::XcSHAFinal, // 0x0151 (337)
(uint32)PANIC(0x0152), // 0x0152 (338) XcRC4Key
(uint32)PANIC(0x0153), // 0x0153 (339) XcRC4Crypt
(uint32)PANIC(0x0154), // 0x0154 (340) XcHMAC
(uint32)PANIC(0x0155), // 0x0155 (341) XcPKEncPublic
(uint32)PANIC(0x0156), // 0x0156 (342) XcPKDecPrivate
(uint32)PANIC(0x0157), // 0x0157 (343) XcPKGetKeyLen
(uint32)PANIC(0x0158), // 0x0158 (344) XcVerifyPKCS1Signature
(uint32)PANIC(0x0159), // 0x0159 (345) XcModExp
(uint32)PANIC(0x015A), // 0x015A (346) XcDESKeyParity
(uint32)PANIC(0x015B), // 0x015B (347) XcKeyTable
(uint32)PANIC(0x015C), // 0x015C (348) XcBlockCrypt
(uint32)PANIC(0x015D), // 0x015D (349) XcBlockCryptCBC
(uint32)PANIC(0x015E), // 0x015E (350) XcCryptService
(uint32)PANIC(0x015F), // 0x015F (351) XcUpdateCrypto
(uint32)PANIC(0x0160), // 0x0160 (352) RtlRip
(uint32)PANIC(0x0161), // 0x0161 (353) XboxLANKey
(uint32)PANIC(0x0162), // 0x0162 (354) XboxAlternateSignatureKeys
(uint32)PANIC(0x0163), // 0x0163 (355) XePublicKeyData
(uint32)&xboxkrnl::HalBootSMCVideoMode, // 0x0164 (356)
(uint32)PANIC(0x0165), // 0x0165 (357) IdexChannelObject
(uint32)PANIC(0x0166), // 0x0166 (358) HalIsResetOrShutdownPending
(uint32)PANIC(0x0167), // 0x0167 (359) IoMarkIrpMustComplete
(uint32)PANIC(0x0168), // 0x0168 (360) HalInitiateShutdown
(uint32)PANIC(0x0169), // 0x0169 (361) snprintf
(uint32)PANIC(0x016A), // 0x016A (362) sprintf
(uint32)PANIC(0x016B), // 0x016B (363) vsnprintf
(uint32)PANIC(0x016C), // 0x016C (364) vsprintf
(uint32)PANIC(0x016D), // 0x016D (365) HalEnableSecureTrayEject
(uint32)PANIC(0x016E), // 0x016E (366) HalWriteSMCScratchRegister
};
(uint32)PANIC(0x0000), // 0x0000 (0) NULL
(uint32)FUNC(&xboxkrnl::AvGetSavedDataAddress), // 0x0001 (1)
(uint32)FUNC(&xboxkrnl::AvSendTVEncoderOption), // 0x0002 (2)
(uint32)PANIC(0x0003), // 0x0003 (3) AvSetDisplayMode
(uint32)PANIC(0x0004), // 0x0004 (4) AvSetSavedDataAddress
(uint32)PANIC(0x0005), // 0x0005 (5) DbgBreakPoint
(uint32)PANIC(0x0006), // 0x0006 (6) DbgBreakPointWithStatus
(uint32)PANIC(0x0007), // 0x0007 (7) DbgLoadImageSymbols
(uint32)FUNC(&xboxkrnl::DbgPrint), // 0x0008 (8)
(uint32)FUNC(&xboxkrnl::HalReadSMCTrayState), // 0x0009 (9)
(uint32)PANIC(0x000A), // 0x000A (10) DbgPrompt
(uint32)PANIC(0x000B), // 0x000B (11) DbgUnLoadImageSymbols
(uint32)PANIC(0x000C), // 0x000C (12) ExAcquireReadWriteLockExclusive
(uint32)PANIC(0x000D), // 0x000D (13) ExAcquireReadWriteLockShared
(uint32)FUNC(&xboxkrnl::ExAllocatePool), // 0x000E (14)
(uint32)FUNC(&xboxkrnl::ExAllocatePoolWithTag), // 0x000F (15)
(uint32)VARIABLE(&xboxkrnl::ExEventObjectType), // 0x0010 (16)
(uint32)FUNC(&xboxkrnl::ExFreePool), // 0x0011 (17)
(uint32)PANIC(0x0012), // 0x0012 (18) ExInitializeReadWriteLock
(uint32)PANIC(0x0013), // 0x0013 (19) ExInterlockedAddLargeInteger
(uint32)PANIC(0x0014), // 0x0014 (20) ExInterlockedAddLargeStatistic
(uint32)PANIC(0x0015), // 0x0015 (21) ExInterlockedCompareExchange64
(uint32)VARIABLE(&xboxkrnl::ExMutantObjectType), // 0x0016 (22)
(uint32)FUNC(&xboxkrnl::ExQueryPoolBlockSize), // 0x0017 (23)
(uint32)FUNC(&xboxkrnl::ExQueryNonVolatileSetting), // 0x0018 (24)
(uint32)FUNC(&xboxkrnl::ExReadWriteRefurbInfo), // 0x0019 (25)
(uint32)PANIC(0x001A), // 0x001A (26) ExQueryPoolBlockSize
(uint32)PANIC(0x001B), // 0x001B (27) ExRaiseStatus
(uint32)PANIC(0x001C), // 0x001C (28) ExReleaseReadWriteLock
(uint32)FUNC(&xboxkrnl::ExSaveNonVolatileSetting), // 0x001D (29)
(uint32)VARIABLE(&xboxkrnl::ExSemaphoreObjectType), // 0x001E (30)
(uint32)VARIABLE(&xboxkrnl::ExTimerObjectType), // 0x001F (31)
(uint32)PANIC(0x0020), // 0x0020 (32) ExfInterlockedInsertHeadList
(uint32)PANIC(0x0021), // 0x0021 (33) ExfInterlockedInsertTailList
(uint32)PANIC(0x0022), // 0x0022 (34) ExfInterlockedRemoveHeadList
(uint32)FUNC(&xboxkrnl::FscGetCacheSize), // 0x0023 (35)
(uint32)PANIC(0x0024), // 0x0024 (36) FscInvalidateIdleBlocks
(uint32)FUNC(&xboxkrnl::FscSetCacheSize), // 0x0025 (37)
(uint32)PANIC(0x0026), // 0x0026 (38) HalClearSoftwareInterrupt
(uint32)PANIC(0x0027), // 0x0027 (39) HalDisableSystemInterrupt
(uint32)VARIABLE(&xboxkrnl::HalDiskCachePartitionCount), // 0x0028 (40) A.k.a. "IdexDiskPartitionPrefixBuffer"
(uint32)VARIABLE(&xboxkrnl::HalDiskModelNumber), // 0x0029 (41)
(uint32)VARIABLE(&xboxkrnl::HalDiskSerialNumber), // 0x002A (42)
(uint32)PANIC(0x002B), // 0x002B (43) HalEnableSystemInterrupt
(uint32)FUNC(&xboxkrnl::HalGetInterruptVector), // 0x002C (44)
(uint32)FUNC(&xboxkrnl::HalReadSMBusValue), // 0x002D (45)
(uint32)PANIC(0x002E), // 0x002E (46) HalReadWritePCISpace
(uint32)FUNC(&xboxkrnl::HalRegisterShutdownNotification), // 0x002F (47)
(uint32)PANIC(0x0030), // 0x0030 (48) HalRequestSoftwareInterrupt
(uint32)FUNC(&xboxkrnl::HalReturnToFirmware), // 0x0031 (49)
(uint32)FUNC(&xboxkrnl::HalWriteSMBusValue), // 0x0032 (50)
(uint32)PANIC(0x0033), // 0x0033 (51) InterlockedCompareExchange
(uint32)PANIC(0x0034), // 0x0034 (52) InterlockedDecrement
(uint32)PANIC(0x0035), // 0x0035 (53) InterlockedIncrement
(uint32)PANIC(0x0036), // 0x0036 (54) InterlockedExchange
(uint32)PANIC(0x0037), // 0x0037 (55) InterlockedExchangeAdd
(uint32)PANIC(0x0038), // 0x0038 (56) InterlockedFlushSList
(uint32)PANIC(0x0039), // 0x0039 (57) InterlockedPopEntrySList
(uint32)PANIC(0x003A), // 0x003A (58) InterlockedPushEntrySList
(uint32)PANIC(0x003B), // 0x003B (59) IoAllocateIrp
(uint32)PANIC(0x003C), // 0x003C (60) IoBuildAsynchronousFsdRequest
(uint32)PANIC(0x003D), // 0x003D (61) IoBuildDeviceIoControlRequest
(uint32)PANIC(0x003E), // 0x003E (62) IoBuildSynchronousFsdRequest
(uint32)PANIC(0x003F), // 0x003F (63) IoCheckShareAccess
(uint32)VARIABLE(&xboxkrnl::IoCompletionObjectType), // 0x0040 (64)
(uint32)PANIC(0x0041), // 0x0041 (65) IoCreateDevice
(uint32)FUNC(&xboxkrnl::IoCreateFile), // 0x0042 (66)
(uint32)FUNC(&xboxkrnl::IoCreateSymbolicLink), // 0x0043 (67)
(uint32)PANIC(0x0044), // 0x0044 (68) IoDeleteDevice
(uint32)FUNC(&xboxkrnl::IoDeleteSymbolicLink), // 0x0045 (69)
(uint32)VARIABLE(&xboxkrnl::IoDeviceObjectType), // 0x0046 (70)
(uint32)VARIABLE(&xboxkrnl::IoFileObjectType), // 0x0047 (71)
(uint32)PANIC(0x0048), // 0x0048 (72) IoFreeIrp
(uint32)PANIC(0x0049), // 0x0049 (73) IoInitializeIrp
(uint32)PANIC(0x004A), // 0x004A (74) IoInvalidDeviceRequest
(uint32)PANIC(0x004B), // 0x004B (75) IoQueryFileInformation
(uint32)PANIC(0x004C), // 0x004C (76) IoQueryVolumeInformation
(uint32)PANIC(0x004D), // 0x004D (77) IoQueueThreadIrp
(uint32)PANIC(0x004E), // 0x004E (78) IoRemoveShareAccess
(uint32)PANIC(0x004F), // 0x004F (79) IoSetIoCompletion
(uint32)PANIC(0x0050), // 0x0050 (80) IoSetShareAccess
(uint32)PANIC(0x0051), // 0x0051 (81) IoStartNextPacket
(uint32)PANIC(0x0052), // 0x0052 (82) IoStartNextPacketByKey
(uint32)PANIC(0x0053), // 0x0053 (83) IoStartPacket
(uint32)PANIC(0x0054), // 0x0054 (84) IoSynchronousDeviceIoControlRequest
(uint32)PANIC(0x0055), // 0x0055 (85) IoSynchronousFsdRequest
(uint32)PANIC(0x0056), // 0x0056 (86) IofCallDriver
(uint32)PANIC(0x0057), // 0x0057 (87) IofCompleteRequest
(uint32)VARIABLE(&xboxkrnl::KdDebuggerEnabled), // 0x0058 (88)
(uint32)VARIABLE(&xboxkrnl::KdDebuggerNotPresent), // 0x0059 (89)
(uint32)PANIC(0x005A), // 0x005A (90) IoDismountVolume
(uint32)FUNC(&xboxkrnl::IoDismountVolumeByName), // 0x005B (91)
(uint32)PANIC(0x005C), // 0x005C (92) KeAlertResumeThread
(uint32)PANIC(0x005D), // 0x005D (93) KeAlertThread
(uint32)PANIC(0x005E), // 0x005E (94) KeBoostPriorityThread
(uint32)FUNC(&xboxkrnl::KeBugCheck), // 0x005F (95)
(uint32)PANIC(0x0060), // 0x0060 (96) KeBugCheckEx
(uint32)PANIC(0x0061), // 0x0061 (97) KeCancelTimer
(uint32)FUNC(&xboxkrnl::KeConnectInterrupt), // 0x0062 (98)
(uint32)FUNC(&xboxkrnl::KeDelayExecutionThread), // 0x0063 (99)
(uint32)PANIC(0x0064), // 0x0064 (100) KeDisconnectInterrupt
(uint32)PANIC(0x0065), // 0x0065 (101) KeEnterCriticalRegion
(uint32)VARIABLE(&xboxkrnl::MmGlobalData), // 0x0066 (102)
(uint32)PANIC(0x0067), // 0x0067 (103) KeGetCurrentIrql
(uint32)PANIC(0x0068), // 0x0068 (104) KeGetCurrentThread
(uint32)PANIC(0x0069), // 0x0069 (105) KeInitializeApc
(uint32)PANIC(0x006A), // 0x006A (106) KeInitializeDeviceQueue
(uint32)FUNC(&xboxkrnl::KeInitializeDpc), // 0x006B (107)
(uint32)PANIC(0x006C), // 0x006C (108) KeInitializeEvent
(uint32)FUNC(&xboxkrnl::KeInitializeInterrupt), // 0x006D (109)
(uint32)PANIC(0x006E), // 0x006E (110) KeInitializeMutant
(uint32)PANIC(0x006F), // 0x006F (111) KeInitializeQueue
(uint32)PANIC(0x0070), // 0x0070 (112) KeInitializeSemaphore
(uint32)FUNC(&xboxkrnl::KeInitializeTimerEx), // 0x0071 (113)
(uint32)PANIC(0x0072), // 0x0072 (114) KeInsertByKeyDeviceQueue
(uint32)PANIC(0x0073), // 0x0073 (115) KeInsertDeviceQueue
(uint32)PANIC(0x0074), // 0x0074 (116) KeInsertHeadQueue
(uint32)PANIC(0x0075), // 0x0075 (117) KeInsertQueue
(uint32)PANIC(0x0076), // 0x0076 (118) KeInsertQueueApc
(uint32)PANIC(0x0077), // 0x0077 (119) KeInsertQueueDpc
(uint32)VARIABLE(0x0078), // 0x0078 (120) KeInterruptTime (Set by ConnectWindowsTimersToThunkTable)
(uint32)PANIC(0x0079), // 0x0079 (121) KeIsExecutingDpc
(uint32)PANIC(0x007A), // 0x007A (122) KeLeaveCriticalRegion
(uint32)PANIC(0x007B), // 0x007B (123) KePulseEvent
(uint32)PANIC(0x007C), // 0x007C (124) KeQueryBasePriorityThread
(uint32)PANIC(0x007D), // 0x007D (125) KeQueryInterruptTime
(uint32)FUNC(&xboxkrnl::KeQueryPerformanceCounter), // 0x007E (126)
(uint32)FUNC(&xboxkrnl::KeQueryPerformanceFrequency), // 0x007F (127)
(uint32)FUNC(&xboxkrnl::KeQuerySystemTime), // 0x0080 (128)
(uint32)FUNC(&xboxkrnl::KeRaiseIrqlToDpcLevel), // 0x0081 (129)
(uint32)PANIC(0x0082), // 0x0082 (130) KeRaiseIrqlToSynchLevel
(uint32)PANIC(0x0083), // 0x0083 (131) KeRaiseIrqlToSynchLevel
(uint32)PANIC(0x0084), // 0x0084 (132) KeReleaseSemaphore
(uint32)PANIC(0x0085), // 0x0085 (133) KeRemoveByKeyDeviceQueue
(uint32)PANIC(0x0086), // 0x0086 (134) KeRemoveDeviceQueue
(uint32)PANIC(0x0087), // 0x0087 (135) KeRemoveEntryDeviceQueue
(uint32)PANIC(0x0088), // 0x0088 (136) KeRemoveQueue
(uint32)PANIC(0x0089), // 0x0089 (137) KeRemoveQueueDpc
(uint32)PANIC(0x008A), // 0x008A (138) KeResetEvent
(uint32)PANIC(0x008B), // 0x008B (139) KeRestoreFloatingPointState
(uint32)PANIC(0x008C), // 0x008C (140) KeResumeThread
(uint32)PANIC(0x008D), // 0x008D (141) KeRundownQueue
(uint32)PANIC(0x008E), // 0x008E (142) KeSaveFloatingPointState
(uint32)PANIC(0x008F), // 0x008F (143) KeSetBasePriorityThread
(uint32)PANIC(0x0090), // 0x0090 (144) KeSetDisableBoostThread
(uint32)PANIC(0x0091), // 0x0091 (145) KeSetEvent
(uint32)PANIC(0x0092), // 0x0092 (146) KeSetEventBoostPriority
(uint32)PANIC(0x0093), // 0x0093 (147) KeSetPriorityProcess
(uint32)PANIC(0x0094), // 0x0094 (148) KeSetPriorityThread
(uint32)FUNC(&xboxkrnl::KeSetTimer), // 0x0095 (149)
(uint32)FUNC(&xboxkrnl::KeSetTimerEx), // 0x0096 (150)
(uint32)PANIC(0x0097), // 0x0097 (151) KeStallExecutionProcessor
(uint32)PANIC(0x0098), // 0x0098 (152) KeSuspendThread
(uint32)PANIC(0x0099), // 0x0099 (153) KeSynchronizeExecution
(uint32)VARIABLE(0x009A), // 0x009A (154) KeSystemTime (Set by ConnectWindowsTimersToThunkTable)
(uint32)PANIC(0x009B), // 0x009B (155) KeTestAlertThread
(uint32)VARIABLE(&xboxkrnl::KeTickCount), // 0x009C (156)
(uint32)VARIABLE(&xboxkrnl::KeTimeIncrement), // 0x009D (157)
(uint32)FUNC(&xboxkrnl::KeWaitForMultipleObjects), // 0x009E (158)
(uint32)FUNC(&xboxkrnl::KeWaitForSingleObject), // 0x009F (159)
(uint32)FUNC(&xboxkrnl::KfRaiseIrql), // 0x00A0 (160)
(uint32)FUNC(&xboxkrnl::KfLowerIrql), // 0x00A1 (161)
(uint32)VARIABLE(&xboxkrnl::KiBugCheckData), // 0x00A2 (162)
(uint32)PANIC(0x00A3), // 0x00A3 (163) KiUnlockDispatcherDatabase
(uint32)VARIABLE(&xboxkrnl::LaunchDataPage), // 0x00A4 (164)
(uint32)FUNC(&xboxkrnl::MmAllocateContiguousMemory), // 0x00A5 (165)
(uint32)FUNC(&xboxkrnl::MmAllocateContiguousMemoryEx), // 0x00A6 (166)
(uint32)FUNC(&xboxkrnl::MmAllocateSystemMemory), // 0x00A7 (167)
(uint32)PANIC(0x00A8), // 0x00A8 (168) MmClaimGpuInstanceMemory
(uint32)FUNC(&xboxkrnl::MmCreateKernelStack), // 0x00A9 (169)
(uint32)FUNC(&xboxkrnl::MmDeleteKernelStack), // 0x00AA (170)
(uint32)FUNC(&xboxkrnl::MmFreeContiguousMemory), // 0x00AB (171)
(uint32)FUNC(&xboxkrnl::MmFreeSystemMemory), // 0x00AC (172)
(uint32)PANIC(0x00AD), // 0x00AD (173) MmGetPhysicalAddress
(uint32)PANIC(0x00AE), // 0x00AE (174) MmIsAddressValid
(uint32)FUNC(&xboxkrnl::MmLockUnlockBufferPages), // 0x00AF (175)
(uint32)PANIC(0x00B0), // 0x00B0 (176) MmLockUnlockPhysicalPage
(uint32)FUNC(&xboxkrnl::MmMapIoSpace), // 0x00B1 (177)
(uint32)FUNC(&xboxkrnl::MmPersistContiguousMemory), // 0x00B2 (178)
(uint32)PANIC(0x00B3), // 0x00B3 (179) MmQueryAddressProtect
(uint32)FUNC(&xboxkrnl::MmQueryAllocationSize), // 0x00B4 (180)
(uint32)FUNC(&xboxkrnl::MmQueryStatistics), // 0x00B5 (181)
(uint32)FUNC(&xboxkrnl::MmSetAddressProtect), // 0x00B6 (182)
(uint32)FUNC(&xboxkrnl::MmUnmapIoSpace), // 0x00B7 (183)
(uint32)FUNC(&xboxkrnl::NtAllocateVirtualMemory), // 0x00B8 (184)
(uint32)PANIC(0x00B9), // 0x00B9 (185) NtCancelTimer
(uint32)FUNC(&xboxkrnl::NtClearEvent), // 0x00BA (186)
(uint32)FUNC(&xboxkrnl::NtClose), // 0x00BB (187)
(uint32)FUNC(&xboxkrnl::NtCreateDirectoryObject), // 0x00BC (188)
(uint32)FUNC(&xboxkrnl::NtCreateEvent), // 0x00BD (189)
(uint32)FUNC(&xboxkrnl::NtCreateFile), // 0x00BE (190)
(uint32)PANIC(0x00BF), // 0x00BF (191) NtCreateIoCompletion
(uint32)FUNC(&xboxkrnl::NtCreateMutant), // 0x00C0 (192)
(uint32)FUNC(&xboxkrnl::NtCreateSemaphore), // 0x00C1 (193)
(uint32)PANIC(0x00C2), // 0x00C2 (194) NtCreateTimer
(uint32)PANIC(0x00C3), // 0x00C3 (195) NtDeleteFile
(uint32)FUNC(&xboxkrnl::NtDeviceIoControlFile), // 0x00C4 (196)
(uint32)FUNC(&xboxkrnl::NtDuplicateObject), // 0x00C5 (197)
(uint32)FUNC(&xboxkrnl::NtFlushBuffersFile), // 0x00C6 (198)
(uint32)FUNC(&xboxkrnl::NtFreeVirtualMemory), // 0x00C7 (199)
(uint32)PANIC(0x00C8), // 0x00C8 (200) NtFsControlFile
(uint32)PANIC(0x00C9), // 0x00C9 (201) NtOpenDirectoryObject
(uint32)FUNC(&xboxkrnl::NtOpenFile), // 0x00CA (202)
(uint32)FUNC(&xboxkrnl::NtOpenSymbolicLinkObject), // 0x00CB (203)
(uint32)FUNC(&xboxkrnl::NtProtectVirtualMemory), // 0x00CC (204)
(uint32)PANIC(0x00CD), // 0x00CD (205) NtPulseEvent
(uint32)FUNC(&xboxkrnl::NtQueueApcThread), // 0x00CE (206)
(uint32)FUNC(&xboxkrnl::NtQueryDirectoryFile), // 0x00CF (207)
(uint32)PANIC(0x00D0), // 0x00D0 (208) NtQueryDirectoryObject
(uint32)PANIC(0x00D1), // 0x00D1 (209) NtQueryEvent
(uint32)FUNC(&xboxkrnl::NtQueryFullAttributesFile), // 0x00D2 (210)
(uint32)FUNC(&xboxkrnl::NtQueryInformationFile), // 0x00D3 (211)
(uint32)PANIC(0x00D4), // 0x00D4 (212) NtQueryIoCompletion
(uint32)PANIC(0x00D5), // 0x00D5 (213) NtQueryMutant
(uint32)PANIC(0x00D6), // 0x00D6 (214) NtQuerySemaphore
(uint32)FUNC(&xboxkrnl::NtQuerySymbolicLinkObject), // 0x00D7 (215)
(uint32)PANIC(0x00D8), // 0x00D8 (216) NtQueryTimer
(uint32)FUNC(&xboxkrnl::NtQueryVirtualMemory), // 0x00D9 (217)
(uint32)FUNC(&xboxkrnl::NtQueryVolumeInformationFile), // 0x00DA (218)
(uint32)FUNC(&xboxkrnl::NtReadFile), // 0x00DB (219)
(uint32)PANIC(0x00DC), // 0x00DC (220) NtReadFileScatter
(uint32)FUNC(&xboxkrnl::NtReleaseMutant), // 0x00DD (221)
(uint32)FUNC(&xboxkrnl::NtReleaseSemaphore), // 0x00DE (222)
(uint32)PANIC(0x00DF), // 0x00DF (223) NtRemoveIoCompletion
(uint32)FUNC(&xboxkrnl::NtResumeThread), // 0x00E0 (224)
(uint32)FUNC(&xboxkrnl::NtSetEvent), // 0x00E1 (225)
(uint32)FUNC(&xboxkrnl::NtSetInformationFile), // 0x00E2 (226)
(uint32)PANIC(0x00E3), // 0x00E3 (227) NtSetIoCompletion
(uint32)FUNC(&xboxkrnl::NtSetSystemTime), // 0x00E4 (228)
(uint32)PANIC(0x00E5), // 0x00E5 (229) NtSetTimerEx
(uint32)PANIC(0x00E6), // 0x00E6 (230) NtSignalAndWaitForSingleObjectEx
(uint32)FUNC(&xboxkrnl::NtSuspendThread), // 0x00E7 (231)
(uint32)FUNC(&xboxkrnl::NtUserIoApcDispatcher), // 0x00E8 (232)
(uint32)PANIC(0x00E9), // 0x00E9 (233) NtWaitForSingleObject
(uint32)FUNC(&xboxkrnl::NtWaitForSingleObjectEx), // 0x00EA (234)
(uint32)FUNC(&xboxkrnl::NtWaitForMultipleObjectsEx), // 0x00EB (235)
(uint32)FUNC(&xboxkrnl::NtWriteFile), // 0x00EC (236)
(uint32)PANIC(0x00ED), // 0x00ED (237) NtWriteFileGather
(uint32)FUNC(&xboxkrnl::NtYieldExecution), // 0x00EE (238)
(uint32)PANIC(0x00EF), // 0x00EF (239) ObCreateObject
(uint32)VARIABLE(&xboxkrnl::ObDirectoryObjectType), // 0x00F0 (240)
(uint32)PANIC(0x00F1), // 0x00F1 (241) ObInsertObject
(uint32)PANIC(0x00F2), // 0x00F2 (242) ObMakeTemporaryObject
(uint32)PANIC(0x00F3), // 0x00F3 (243) ObOpenObjectByName
(uint32)PANIC(0x00F4), // 0x00F4 (244) ObOpenObjectByPointer
(uint32)VARIABLE(&xboxkrnl::ObpObjectHandleTable), // 0x00F5 (245)
(uint32)PANIC(0x00F6), // 0x00F6 (246) ObReferenceObjectByHandle
(uint32)PANIC(0x00F7), // 0x00F7 (247) ObReferenceObjectByName
(uint32)PANIC(0x00F8), // 0x00F8 (248) ObReferenceObjectByPointer
(uint32)VARIABLE(&xboxkrnl::ObSymbolicLinkObjectType), // 0x00F9 (249)
(uint32)PANIC(0x00FA), // 0x00FA (250) ObfDereferenceObject
(uint32)PANIC(0x00FB), // 0x00FB (251) ObfReferenceObject
(uint32)PANIC(0x00FC), // 0x00FC (252) PhyGetLinkState
(uint32)PANIC(0x00FD), // 0x00FD (253) PhyInitialize
(uint32)PANIC(0x00FE), // 0x00FE (254) PsCreateSystemThread
(uint32)FUNC(&xboxkrnl::PsCreateSystemThreadEx), // 0x00FF (255)
(uint32)PANIC(0x0100), // 0x0100 (256) PsQueryStatistics
(uint32)PANIC(0x0101), // 0x0101 (257) PsSetCreateThreadNotifyRoutine
(uint32)FUNC(&xboxkrnl::PsTerminateSystemThread), // 0x0102 (258)
(uint32)PANIC(0x0103), // 0x0103 (259) PsThreadObjectType
(uint32)FUNC(&xboxkrnl::RtlAnsiStringToUnicodeString), // 0x0104 (260)
(uint32)PANIC(0x0105), // 0x0105 (261) RtlAppendStringToString
(uint32)PANIC(0x0106), // 0x0106 (262) RtlAppendUnicodeStringToString
(uint32)PANIC(0x0107), // 0x0107 (263) RtlAppendUnicodeToString
(uint32)FUNC(&xboxkrnl::RtlAssert), // 0x0108 (264)
(uint32)PANIC(0x0109), // 0x0109 (265) RtlCaptureContext
(uint32)PANIC(0x010A), // 0x010A (266) RtlCaptureStackBackTrace
(uint32)PANIC(0x010B), // 0x010B (267) RtlCharToInteger
(uint32)PANIC(0x010C), // 0x010C (268) RtlCompareMemory
(uint32)PANIC(0x010D), // 0x010D (269) RtlCompareMemoryUlong
(uint32)PANIC(0x010E), // 0x010E (270) RtlCompareString
(uint32)PANIC(0x010F), // 0x010F (271) RtlCompareUnicodeString
(uint32)PANIC(0x0110), // 0x0110 (272) RtlCopyString
(uint32)PANIC(0x0111), // 0x0111 (273) RtlCopyUnicodeString
(uint32)PANIC(0x0112), // 0x0112 (274) RtlCreateUnicodeString
(uint32)PANIC(0x0113), // 0x0113 (275) RtlDowncaseUnicodeChar
(uint32)PANIC(0x0114), // 0x0114 (276) RtlDowncaseUnicodeString
(uint32)FUNC(&xboxkrnl::RtlEnterCriticalSection), // 0x0115 (277)
(uint32)PANIC(0x0116), // 0x0116 (278) RtlEnterCriticalSectionAndRegion
(uint32)FUNC(&xboxkrnl::RtlEqualString), // 0x0117 (279)
(uint32)PANIC(0x0118), // 0x0118 (280) RtlEqualUnicodeString
(uint32)PANIC(0x0119), // 0x0119 (281) RtlExtendedIntegerMultiply
(uint32)PANIC(0x011A), // 0x011A (282) RtlExtendedLargeIntegerDivide
(uint32)PANIC(0x011B), // 0x011B (283) RtlExtendedMagicDivide
(uint32)PANIC(0x011C), // 0x011C (284) RtlFillMemory
(uint32)PANIC(0x011D), // 0x011D (285) RtlFillMemoryUlong
(uint32)FUNC(&xboxkrnl::RtlFreeAnsiString), // 0x011E (286)
(uint32)PANIC(0x011F), // 0x011F (287) RtlFreeUnicodeString
(uint32)PANIC(0x0120), // 0x0120 (288) RtlGetCallersAddress
(uint32)FUNC(&xboxkrnl::RtlInitAnsiString), // 0x0121 (289)
(uint32)FUNC(&xboxkrnl::RtlInitUnicodeString), // 0x0122 (290)
(uint32)FUNC(&xboxkrnl::RtlInitializeCriticalSection), // 0x0123 (291)
(uint32)PANIC(0x0124), // 0x0124 (292) RtlIntegerToChar
(uint32)PANIC(0x0125), // 0x0125 (293) RtlIntegerToUnicodeString
(uint32)FUNC(&xboxkrnl::RtlLeaveCriticalSection), // 0x0126 (294)
(uint32)PANIC(0x0127), // 0x0127 (295) RtlLeaveCriticalSectionAndRegion
(uint32)FUNC(&xboxkrnl::RtlLowerChar), // 0x0128 (296)
(uint32)PANIC(0x0129), // 0x0129 (297) RtlMapGenericMask
(uint32)PANIC(0x012A), // 0x012A (298) RtlMoveMemory
(uint32)PANIC(0x012B), // 0x012B (299) RtlMultiByteToUnicodeN
(uint32)PANIC(0x012C), // 0x012C (300) RtlMultiByteToUnicodeSize
(uint32)FUNC(&xboxkrnl::RtlNtStatusToDosError), // 0x012D (301)
(uint32)PANIC(0x012E), // 0x012E (302) RtlRaiseException
(uint32)PANIC(0x012F), // 0x012F (303) RtlRaiseStatus
(uint32)FUNC(&xboxkrnl::RtlTimeFieldsToTime), // 0x0130 (304)
(uint32)FUNC(&xboxkrnl::RtlTimeToTimeFields), // 0x0131 (305)
(uint32)FUNC(&xboxkrnl::RtlTryEnterCriticalSection), // 0x0132 (306)
(uint32)PANIC(0x0133), // 0x0133 (307) RtlUlongByteSwap
(uint32)FUNC(&xboxkrnl::RtlUnicodeStringToAnsiString), // 0x0134 (308)
(uint32)PANIC(0x0135), // 0x0135 (309) RtlUnicodeStringToInteger
(uint32)PANIC(0x0136), // 0x0136 (310) RtlUnicodeToMultiByteN
(uint32)PANIC(0x0137), // 0x0137 (311) RtlUnicodeToMultiByteSize
(uint32)PANIC(0x0138), // 0x0138 (312) RtlUnwind
(uint32)PANIC(0x0139), // 0x0139 (313) RtlUpcaseUnicodeChar
(uint32)PANIC(0x013A), // 0x013A (314) RtlUpcaseUnicodeString
(uint32)PANIC(0x013B), // 0x013B (315) RtlUpcaseUnicodeToMultiByteN
(uint32)PANIC(0x013C), // 0x013C (316) RtlUpperChar
(uint32)PANIC(0x013D), // 0x013D (317) RtlUpperString
(uint32)PANIC(0x013E), // 0x013E (318) RtlUshortByteSwap
(uint32)PANIC(0x013F), // 0x013F (319) RtlWalkFrameChain
(uint32)PANIC(0x0140), // 0x0140 (320) RtlZeroMemory
(uint32)VARIABLE(&xboxkrnl::XboxEEPROMKey), // 0x0141 (321)
(uint32)VARIABLE(&xboxkrnl::XboxHardwareInfo), // 0x0142 (322)
(uint32)VARIABLE(&xboxkrnl::XboxHDKey), // 0x0143 (323)
(uint32)VARIABLE(&xboxkrnl::XboxKrnlVersion), // 0x0144 (324)
(uint32)VARIABLE(&xboxkrnl::XboxSignatureKey), // 0x0145 (325)
(uint32)VARIABLE(&xboxkrnl::XeImageFileName), // 0x0146 (326)
(uint32)FUNC(&xboxkrnl::XeLoadSection), // 0x0147 (327)
(uint32)FUNC(&xboxkrnl::XeUnloadSection), // 0x0148 (328)
(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
(uint32)PANIC(0x014C), // 0x014C (332) WRITE_PORT_BUFFER_UCHAR
(uint32)PANIC(0x014D), // 0x014D (333) WRITE_PORT_BUFFER_USHORT
(uint32)PANIC(0x014E), // 0x014E (334) WRITE_PORT_BUFFER_ULONG
(uint32)FUNC(&xboxkrnl::XcSHAInit), // 0x014F (335)
(uint32)FUNC(&xboxkrnl::XcSHAUpdate), // 0x0150 (336)
(uint32)FUNC(&xboxkrnl::XcSHAFinal), // 0x0151 (337)
(uint32)PANIC(0x0152), // 0x0152 (338) XcRC4Key
(uint32)PANIC(0x0153), // 0x0153 (339) XcRC4Crypt
(uint32)PANIC(0x0154), // 0x0154 (340) XcHMAC
(uint32)PANIC(0x0155), // 0x0155 (341) XcPKEncPublic
(uint32)PANIC(0x0156), // 0x0156 (342) XcPKDecPrivate
(uint32)PANIC(0x0157), // 0x0157 (343) XcPKGetKeyLen
(uint32)PANIC(0x0158), // 0x0158 (344) XcVerifyPKCS1Signature
(uint32)PANIC(0x0159), // 0x0159 (345) XcModExp
(uint32)PANIC(0x015A), // 0x015A (346) XcDESKeyParity
(uint32)PANIC(0x015B), // 0x015B (347) XcKeyTable
(uint32)PANIC(0x015C), // 0x015C (348) XcBlockCrypt
(uint32)PANIC(0x015D), // 0x015D (349) XcBlockCryptCBC
(uint32)PANIC(0x015E), // 0x015E (350) XcCryptService
(uint32)PANIC(0x015F), // 0x015F (351) XcUpdateCrypto
(uint32)PANIC(0x0160), // 0x0160 (352) RtlRip
(uint32)VARIABLE(&xboxkrnl::XboxLANKey), // 0x0161 (353)
(uint32)VARIABLE(&xboxkrnl::XboxAlternateSignatureKeys), // 0x0162 (354)
(uint32)VARIABLE(&xboxkrnl::XePublicKeyData), // 0x0163 (355)
(uint32)VARIABLE(&xboxkrnl::HalBootSMCVideoMode), // 0x0164 (356)
(uint32)VARIABLE(&xboxkrnl::IdexChannelObject), // 0x0165 (357)
(uint32)PANIC(0x0166), // 0x0166 (358) HalIsResetOrShutdownPending
(uint32)PANIC(0x0167), // 0x0167 (359) IoMarkIrpMustComplete
(uint32)PANIC(0x0168), // 0x0168 (360) HalInitiateShutdown
(uint32)PANIC(0x0169), // 0x0169 (361) RtlSnprintf
(uint32)PANIC(0x016A), // 0x016A (362) RtlSprintf
(uint32)PANIC(0x016B), // 0x016B (363) RtlVsnprintf
(uint32)PANIC(0x016C), // 0x016C (364) RtlVsprintf
(uint32)PANIC(0x016D), // 0x016D (365) HalEnableSecureTrayEject
(uint32)PANIC(0x016E), // 0x016E (366) HalWriteSMCScratchRegister
(uint32)PANIC(0x016F), // 0x016F (367) UnknownAPI367
(uint32)PANIC(0x0170), // 0x0170 (368) UnknownAPI368
(uint32)PANIC(0x0171), // 0x0171 (369) UnknownAPI369
(uint32)PANIC(0x0172), // 0x0172 (370) UnknownAPI370
(uint32)PANIC(0x0173), // 0x0173 (371) UnknownAPI371
(uint32)PANIC(0x0174), // 0x0174 (372) UnknownAPI372
(uint32)PANIC(0x0175), // 0x0175 (373) UnknownAPI373
(uint32)PANIC(0x0176), // 0x0177 (374) MmDbgAllocateMemory
(uint32)PANIC(0x0177), // 0x0178 (375) MmDbgFreeMemory - Returns number of pages released.
(uint32)PANIC(0x0178), // 0x0179 (376) MmDbgQueryAvailablePages
(uint32)PANIC(0x0179), // 0x017A (377) MmDbgReleaseAddress
(uint32)PANIC(0x017A), // 0x017A (378) MmDbgWriteCheck
};
/* prevent name collisions */
namespace NtDll
{
#include "EmuNtDll.h"
};
// Virtual memory location of KUSER_SHARED_DATA :
// See http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/base/md/i386/sim/_pertest2.c.htm
// and http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/base/md/i386/sim/_glue.c.htm
// and http://processhacker.sourceforge.net/doc/ntexapi_8h_source.html
// and http://forum.sysinternals.com/0x7ffe0000-what-is-in-it_topic10012.html
#define MM_SHARED_USER_DATA_VA 0x7FFE0000
#define USER_SHARED_DATA ((NtDll::KUSER_SHARED_DATA * const)MM_SHARED_USER_DATA_VA)
// KUSER_SHARED_DATA Offsets
// See http://native-nt-toolkit.googlecode.com/svn/trunk/ndk/asm.h
// Note : KUSER_SHARED_DATA.TickCountLow seems deprecated
const UINT USER_SHARED_DATA_TICK_COUNT = 0x320;
// Here we define the addresses of the native Windows timers :
// Source: Dxbx
const xboxkrnl::PKSYSTEM_TIME CxbxNtTickCount = (xboxkrnl::PKSYSTEM_TIME)(MM_SHARED_USER_DATA_VA + USER_SHARED_DATA_TICK_COUNT);
void ConnectWindowsTimersToThunkTable()
{
// Couple the xbox thunks for xboxkrnl::KeInterruptTime and xboxkrnl::KeSystemTime
// to their actual counterparts on Windows, this way we won't have to spend any
// time on updating them ourselves, and still get highly accurate timers!
// See http://www.dcl.hpi.uni-potsdam.de/research/WRK/2007/08/getting-os-information-the-kuser_shared_data-structure/
CxbxKrnl_KernelThunkTable[120] = (uint32)&(USER_SHARED_DATA->InterruptTime);
CxbxKrnl_KernelThunkTable[154] = (uint32)&(USER_SHARED_DATA->SystemTime);
// Note that we can't do the same for TickCount, as that timer
// updates slower on the xbox. See EmuThreadUpdateTickCount().
}

View File

@ -67,6 +67,9 @@ struct OOVPA
uint08 XRefCount;
};
const uint08 XRefNotSaved = (uint08)-1;
const uint08 XRefNotUsed = (uint08)0;
// ******************************************************************
// * Large Optimized (Offset,Value)-Pair Array
// ******************************************************************