merged sop skrutt's code

This commit is contained in:
Aaron Robinson 2004-01-19 19:47:23 +00:00
parent 8d69272359
commit f90a6ca9a4
11 changed files with 2185 additions and 5 deletions

BIN
Cxbx.opt

Binary file not shown.

View File

@ -121,6 +121,9 @@ inline D3DFORMAT EmuXB2PC_D3DFormat(X_D3DFORMAT Format)
case 0x30: // Linear (X_D3DFMT_LIN_D16)
case 0x2C: // Swizzled (X_D3DFMT_D16)
return D3DFMT_D16;
case 0x28: // Swizzled (X_D3DFMT_V8U8)
return D3DFMT_V8U8;
}
EmuCleanup("EmuXB2PC_D3DFormat: Unknown Format (0x%.08X)", Format);

View File

@ -703,4 +703,125 @@ HRESULT WINAPI EmuIDirectSoundStream_Unknown1
DWORD dwUnknown1
);
// s+
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetMaxDistance
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetMaxDistance
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flMaxDistance,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetMinDistance
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetMinDistance
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flMaxDistance,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetRolloffFactor
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetRolloffFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flRolloffFactor,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetDistanceFactor
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetDistanceFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flDistanceFactor,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeAngles
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetConeAngles
(
LPDIRECTSOUNDBUFFER8 pThis,
DWORD dwInsideConeAngle,
DWORD dwOutsideConeAngle,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeOrientation
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetConeOrientation
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeOutsideVolume
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetConeOutsideVolume
(
LPDIRECTSOUNDBUFFER8 pThis,
LONG lConeOutsideVolume,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetPosition
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetPosition
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetVelocity
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetVelocity
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
);
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetDopplerFactor
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetDopplerFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flDopplerFactor,
DWORD dwApply
);
typedef void* LPCDSI3DL2BUFFER;
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetI3DL2Source
// ******************************************************************
HRESULT WINAPI EmuIDirectSoundBuffer8_SetI3DL2Source
(
LPDIRECTSOUNDBUFFER8 pThis,
LPCDSI3DL2BUFFER pds3db,
DWORD dwApply
);
// +s
#endif

View File

@ -267,6 +267,19 @@ typedef struct _XTHREAD_NOTIFICATION
}
XTHREAD_NOTIFICATION, *PXTHREAD_NOTIFICATION;
// ******************************************************************
// * XCALCSIG_SIGNATURE
// ******************************************************************
#define XCALCSIG_SIGNATURE_SIZE 20
typedef struct _XCALCSIG_SIGNATURE
{
BYTE Signature[XCALCSIG_SIGNATURE_SIZE];
}
XCALCSIG_SIGNATURE, *PXCALCSIG_SIGNATURE;
#define XCALCSIG_FLAG_NON_ROAMABLE (0x00000001)
// ******************************************************************
// * func: EmuRtlCreateHeap
// ******************************************************************
@ -501,9 +514,42 @@ VOID WINAPI EmuXRegisterThreadNotifyRoutine
BOOL fRegister
);
// s+
// ******************************************************************
// * func: EmuXCalculateSignatureBegin
// ******************************************************************
HANDLE WINAPI EmuXCalculateSignatureBegin(DWORD dwFlags);
HANDLE WINAPI EmuXCalculateSignatureBegin
(
DWORD dwFlags
);
// ******************************************************************
// * func: EmuXCalculateSignatureBegin
// ******************************************************************
HANDLE WINAPI EmuXCalculateSignatureBeginEx
(
DWORD dwFlags,
DWORD dwAltTitleId
);
// ******************************************************************
// * func: EmuXCalculateSignatureUpdate
// ******************************************************************
DWORD WINAPI EmuXCalculateSignatureUpdate
(
HANDLE hCalcSig,
const BYTE *pbData,
ULONG cbData
);
// ******************************************************************
// * func: EmuXCalculateSignatureEnd
// ******************************************************************
DWORD WINAPI EmuXCalculateSignatureEnd
(
HANDLE hCalcSig,
PXCALCSIG_SIGNATURE pSignature
);
// +s
#endif

View File

@ -179,7 +179,34 @@ enum XRefDataBaseOffset
XREF_GET2DSURFACEDESCB,
XREF_COMMONSETRENDERTARGET,
XREF_COMMITDEFERREDSETTINGSA,
XREF_COMMITDEFERREDSETTINGSB
XREF_COMMITDEFERREDSETTINGSB,
// s+
// DSOUND
XREF_DSVOICESETMAXDISTANCE,
XREF_DSVOICESETMINDISTANCE,
XREF_DSVOICESETROLLOFFFACTOR,
XREF_DSVOICESETDISTANCEFACTOR,
XREF_DSVOICESETCONEANGLES,
XREF_DSVOICESETCONEORIENTATION,
XREF_DSVOICESETCONEOUTSIDEVOLUME,
XREF_DSVOICESETPOSITION,
XREF_DSVOICESETVELOCITY,
XREF_DSVOICESETDOPPLERFACTOR,
XREF_DSVOICESETI3DL2SOURCE,
XREF_DSBUFFERSETMAXDISTANCE,
XREF_DSBUFFERSETMINDISTANCE,
XREF_DSBUFFERSETROLLOFFFACTOR,
XREF_DSBUFFERSETDISTANCEFACTOR,
XREF_DSBUFFERSETCONEANGLES,
XREF_DSBUFFERSETCONEORIENTATION,
XREF_DSBUFFERSETCONEOUTSIDEVOLUME,
XREF_DSBUFFERSETPOSITION,
XREF_DSBUFFERSETVELOCITY,
XREF_DSBUFFERSETDOPPLERFACTOR,
XREF_DSBUFFERSETI3DL2SOURCE,
// XAPI
XREF_XAPIXCALCULATESIGNATUREBEGINEX
// +s
};
#endif

View File

@ -239,7 +239,10 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
g_EmuShared->GetXbePath(szBuffer);
SetCurrentDirectory(szBuffer);
if(szBuffer && *szBuffer)
SetCurrentDirectory(szBuffer);
else
GetCurrentDirectory(260, szBuffer);
g_hCurDir = CreateFile(szBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);

View File

@ -2249,3 +2249,350 @@ HRESULT WINAPI XTL::EmuIDirectSoundStream_Unknown1
return S_OK;
}
// s+
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetMaxDistance
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMaxDistance
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flMaxDistance,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMaxDistance\n"
"(\n"
" pThis : 0x%.08X\n"
" flMaxDistance : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flMaxDistance, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetMinDistance
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetMinDistance
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flMinDistance,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetMinDistance\n"
"(\n"
" pThis : 0x%.08X\n"
" flMinDistance : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flMinDistance, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetRolloffFactor
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetRolloffFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flRolloffFactor,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetRolloffFactor\n"
"(\n"
" pThis : 0x%.08X\n"
" flRolloffFactor : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flRolloffFactor, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetDistanceFactor
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDistanceFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flDistanceFactor,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetDistanceFactor\n"
"(\n"
" pThis : 0x%.08X\n"
" flDistanceFactor : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flDistanceFactor, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeAngles
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeAngles
(
LPDIRECTSOUNDBUFFER8 pThis,
DWORD dwInsideConeAngle,
DWORD dwOutsideConeAngle,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeAngles\n"
"(\n"
" pThis : 0x%.08X\n"
" dwInsideConeAngle : 0x%.08X\n"
" dwOutsideConeAngle : 0x%.08X\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, dwInsideConeAngle,
dwOutsideConeAngle, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeOrientation
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOrientation
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOrientation\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);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetConeOutsideVolume
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume
(
LPDIRECTSOUNDBUFFER8 pThis,
LONG lConeOutsideVolume,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOutsideVolume\n"
"(\n"
" pThis : 0x%.08X\n"
" lConeOutsideVolume : 0x%.08X\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, lConeOutsideVolume, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetPosition
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetPosition
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_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);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetVelocity
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetVelocity
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_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);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetDopplerFactor
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetDopplerFactor
(
LPDIRECTSOUNDBUFFER8 pThis,
FLOAT flDopplerFactor,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetConeOutsideVolume\n"
"(\n"
" pThis : 0x%.08X\n"
" flDopplerFactor : %f\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, flDopplerFactor, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// ******************************************************************
// * func: EmuIDirectSoundBuffer8_SetI3DL2Source
// ******************************************************************
HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_SetI3DL2Source
(
LPDIRECTSOUNDBUFFER8 pThis,
LPCDSI3DL2BUFFER pds3db,
DWORD dwApply
)
{
// debug trace
#ifdef _DEBUG_TRACE
{
EmuSwapFS(); // Win2k/XP FS
printf("EmuDSound (0x%X): EmuIDirectSoundBuffer8_SetI3DL2Source\n"
"(\n"
" pThis : 0x%.08X\n"
" pds3db : 0x%.08X\n"
" dwApply : 0x%.08X\n"
");\n",
GetCurrentThreadId(), pThis, pds3db, dwApply);
EmuSwapFS(); // XBox FS
}
#endif
// TODO: Actually do something
return DS_OK;
}
// +s

View File

@ -963,7 +963,10 @@ VOID WINAPI XTL::EmuXRegisterThreadNotifyRoutine
// ******************************************************************
// * func: EmuXCalculateSignatureBegin
// ******************************************************************
HANDLE WINAPI XTL::EmuXCalculateSignatureBegin(DWORD dwFlags)
HANDLE WINAPI XTL::EmuXCalculateSignatureBegin
(
DWORD dwFlags
)
{
EmuSwapFS(); // Win2k/XP FS
@ -985,3 +988,96 @@ HANDLE WINAPI XTL::EmuXCalculateSignatureBegin(DWORD dwFlags)
// return a fake handle value for now
return (PVOID)0xAAAAAAAA;
}
// ******************************************************************
// * func: EmuXCalculateSignatureBeginEx
// ******************************************************************
HANDLE WINAPI XTL::EmuXCalculateSignatureBeginEx
(
DWORD dwFlags,
DWORD dwAltTitleId
)
{
EmuSwapFS(); // Win2k/XP FS
// ******************************************************************
// * debug trace
// ******************************************************************
#ifdef _DEBUG_TRACE
{
printf("EmuXapi (0x%X): XCalculateSignatureBeginEx\n"
"(\n"
" dwFlags : 0x%.08X\n",
" dwAltTitleId : 0x%.08X\n",
");\n",
GetCurrentThreadId(), dwFlags, dwAltTitleId);
}
#endif
EmuSwapFS(); // XBox FS
// return a fake handle value for now
return (PVOID)0xAAAAAAAA;
}
// ******************************************************************
// * func: EmuXCalculateSignatureUpdate
// ******************************************************************
DWORD WINAPI XTL::EmuXCalculateSignatureUpdate
(
HANDLE hCalcSig,
const BYTE *pbData,
ULONG cbData
)
{
EmuSwapFS(); // Win2k/XP FS
// ******************************************************************
// * debug trace
// ******************************************************************
#ifdef _DEBUG_TRACE
{
printf("EmuXapi (0x%X): XCalculateSignatureUpdate\n"
"(\n"
" hCalcSig : 0x%.08X\n",
" pbData : 0x%.08X\n",
" cbData : 0x%.08X\n",
");\n",
GetCurrentThreadId(), hCalcSig, pbData, cbData);
}
#endif
EmuSwapFS(); // XBox FS
return ERROR_SUCCESS;
}
// ******************************************************************
// * func: EmuXCalculateSignatureEnd
// ******************************************************************
DWORD WINAPI XTL::EmuXCalculateSignatureEnd
(
HANDLE hCalcSig,
PXCALCSIG_SIGNATURE pSignature
)
{
EmuSwapFS(); // Win2k/XP FS
// ******************************************************************
// * debug trace
// ******************************************************************
#ifdef _DEBUG_TRACE
{
printf("EmuXapi (0x%X): XCalculateSignatureEnd\n"
"(\n"
" hCalcSig : 0x%.08X\n",
" pSignature : 0x%.08X\n",
");\n",
GetCurrentThreadId(), hCalcSig, pSignature);
}
#endif
EmuSwapFS(); // XBox FS
return ERROR_SUCCESS;
}

View File

@ -291,6 +291,31 @@ extern uint32 XRefDataBase[] =
-1, // XREF_COMMONSETRENDERTARGET
-1, // XREF_COMMITDEFERREDSETTINGSA
-1, // XREF_COMMITDEFERREDSETTINGSB
// s+
-1, // XREF_DSVOICESETMAXDISTANCE
-1, // XREF_DSVOICESETMINDISTANCE
-1, // XREF_DSVOICESETROLLOFFFACTOR
-1, // XREF_DSVOICESETDISTANCEFACTOR
-1, // XREF_DSVOICESETCONEANGLES
-1, // XREF_DSVOICESETCONEORIENTATION
-1, // XREF_DSVOICESETCONEOUTSIDEVOLUME
-1, // XREF_DSVOICESETPOSITION
-1, // XREF_DSVOICESETVELOCITY
-1, // XREF_DSVOICESETDOPPLERFACTOR
-1, // XREF_DSVOICESETI3DL2SOURCE
-1, // XREF_DSBUFFERSETMAXDISTANCE
-1, // XREF_DSBUFFERSETMINDISTANCE
-1, // XREF_DSBUFFERSETROLLOFFFACTOR
-1, // XREF_DSBUFFERSETDISTANCEFACTOR
-1, // XREF_DSBUFFERSETCONEANGLES
-1, // XREF_DSBUFFERSETCONEORIENTATION
-1, // XREF_DSBUFFERSETCONEOUTSIDEVOLUME
-1, // XREF_DSBUFFERSETPOSITION
-1, // XREF_DSBUFFERSETVELOCITY
-1, // XREF_DSBUFFERSETDOPPLERFACTOR
-1, // XREF_DSBUFFERSETI3DL2SOURCE
-1, //XREF_XAPIXCALCULATESIGNATUREBEGINEX
// +s
};
// ******************************************************************

File diff suppressed because it is too large Load Diff

View File

@ -126,6 +126,127 @@ SOOVPA<8> XMountUtilityDrive_1_0_4627 =
}
};
// s+
// ******************************************************************
// * XCalculateSignatureBeginEx
// ******************************************************************
SOOVPA<8> XCalculateSignatureBeginEx_1_0_4627 =
{
0, // Large == 0
8, // Count == 8
XREF_XAPIXCALCULATESIGNATUREBEGINEX, // XRef Is Saved
0, // XRef Not Used
{
// XCalculateSignatureBeginEx+0x09 : push 7Ch
{ 0x09, 0x6A },
{ 0x0A, 0x7C },
// XCalculateSignatureBeginEx+0x2D : lea eax, [esi+5Ch]
{ 0x2D, 0x8D },
{ 0x2E, 0x46 },
{ 0x2F, 0x5C },
// XCalculateSignatureBeginEx+0xE8 : cmp edx, 40h ; '@'
{ 0x43, 0x83 },
{ 0x44, 0xFA },
{ 0x45, 0x40 },
}
};
// ******************************************************************
// * XCalculateSignatureBegin
// ******************************************************************
SOOVPA<12> XCalculateSignatureBegin_1_0_4627 =
{
0, // Large == 0
12, // Count == 12
-1, // XRef Not Saved
1, // XRef Is Used
{
// XCalculateSignatureBegin+0x0C : call [XCalculateSignatureBeginEx]
{ 0x0D, XREF_XAPIXCALCULATESIGNATUREBEGINEX },
// XCalculateSignatureBegin+0x00 : mov eax, ds:10118h
{ 0x00, 0xA1 },
{ 0x01, 0x18 },
{ 0x02, 0x01 },
{ 0x03, 0x01 },
{ 0x04, 0x00 },
// XCalculateSignatureBegin+0x08 : push [esp+4+arg_0]
{ 0x08, 0xFF },
{ 0x09, 0x74 },
{ 0x0A, 0x24 },
{ 0x0B, 0x08 },
// XCalculateSignatureBegin+0x11 : retn 4
{ 0x12, 0x04 },
{ 0x13, 0x00 },
}
};
// ******************************************************************
// * XCalculateSignatureUpdate
// ******************************************************************
SOOVPA<9> XCalculateSignatureUpdate_1_0_4627 =
{
0, // Large == 0
9, // Count == 9
-1, // XRef Not Saved
0, // XRef Not Used
{
// XCalculateSignatureUpdate+0x04 : mov eax, [esp+4+arg_0]
{ 0x04, 0x8B },
{ 0x05, 0x44 },
{ 0x06, 0x24 },
{ 0x07, 0x08 },
// XCalculateSignatureUpdate+0x0C : add eax, 8
{ 0x0C, 0x83 },
{ 0x0D, 0xC0 },
{ 0x0E, 0x08 },
// XCalculateSignatureUpdate+0x11 : xor eax, eax
{ 0x15, 0x33 },
{ 0x16, 0xC0 },
}
};
// ******************************************************************
// * XCalculateSignatureEnd
// ******************************************************************
SOOVPA<8> XCalculateSignatureEnd_1_0_4627 =
{
0, // Large == 0
8, // Count == 8
-1, // XRef Not Saved
0, // XRef Not Used
{
// XCalculateSignatureEnd+0x03 : sub esp, 14h
{ 0x03, 0x83 },
{ 0x04, 0xEC },
{ 0x05, 0x14 },
// XCalculateSignatureEnd+0x22 : push 10h
{ 0x22, 0x6A },
{ 0x23, 0x10 },
// XCalculateSignatureEnd+0x37 : lea eax, [ebp+var_14]
{ 0x37, 0x8D },
{ 0x38, 0x45 },
{ 0x39, 0xEC },
}
};
// +s
// ******************************************************************
// * XAPI_1_0_4627
// ******************************************************************
@ -273,6 +394,48 @@ OOVPATable XAPI_1_0_4627[] =
"EmuXapiBootDash"
#endif
},
// +s
// XCalculateSignatureBeginEx
{
(OOVPA*)&XCalculateSignatureBeginEx_1_0_4627,
XTL::EmuXCalculateSignatureBeginEx,
#ifdef _DEBUG_TRACE
"EmuXCalculateSignatureBeginEx (XREF&FUNC)"
#endif
},
// XCalculateSignatureBegin
{
(OOVPA*)&XCalculateSignatureBegin_1_0_4627,
XTL::EmuXCalculateSignatureBegin,
#ifdef _DEBUG_TRACE
"EmuXCalculateSignatureBegin"
#endif
},
// XCalculateSignatureUpdate
{
(OOVPA*)&XCalculateSignatureUpdate_1_0_4627,
XTL::EmuXCalculateSignatureUpdate,
#ifdef _DEBUG_TRACE
"EmuXCalculateSignatureUpdate"
#endif
},
// XCalculateSignatureEnd
{
(OOVPA*)&XCalculateSignatureEnd_1_0_4627,
XTL::EmuXCalculateSignatureEnd,
#ifdef _DEBUG_TRACE
"EmuXCalculateSignatureEnd"
#endif
},
// s+
};
// ******************************************************************