Merge pull request #95 from PatrickvL/master

DbgPrintf fixes + extra OOVPA's
This commit is contained in:
Luke Usher 2017-01-12 09:51:22 +00:00 committed by GitHub
commit 41f2641d3c
10 changed files with 665 additions and 37 deletions

View File

@ -223,6 +223,8 @@
<ClInclude Include="..\..\src\Common\Error.h" />
<ClInclude Include="..\..\src\Common\Exe.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.h" />
<ClInclude Include="..\..\src\CxbxKrnl\HLEIntercept.h" />
<ClInclude Include="..\..\src\Common\Win32\Mutex.h" />
<ClInclude Include="..\..\src\CxbxKrnl\LibRc4.h" />
@ -412,6 +414,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuildStep>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4721.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.3911.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4034.inl" />
<CustomBuildStep Include="..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.inl">
@ -446,6 +449,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuildStep>
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4627.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5233.inl" />
<None Include="..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.5849.inl" />

View File

@ -4340,7 +4340,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
{
case X_D3DCOMMON_TYPE_VERTEXBUFFER:
{
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Creating VertexBuffer...\n");
DbgPrintf("EmuIDirect3DResource8_Register : Creating VertexBuffer...\n");
X_D3DVertexBuffer *pVertexBuffer = (X_D3DVertexBuffer*)pResource;
@ -4393,7 +4393,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
pResource->Data = (ULONG)pData;
}
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created VertexBuffer (0x%.08X)\n", pResource->EmuVertexBuffer8);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created VertexBuffer (0x%.08X)\n", pResource->EmuVertexBuffer8);
}
break;
@ -4445,7 +4445,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
pResource->Data = (ULONG)pData;
}
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created IndexBuffer (0x%.08X)\n", pResource->EmuIndexBuffer8);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created IndexBuffer (0x%.08X)\n", pResource->EmuIndexBuffer8);
}
break;
@ -4472,7 +4472,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
pResource->Data = (ULONG)pBase;
}
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created PushBuffer (0x%.08X, 0x%.08X, 0x%.08X)\n", pResource->Data, pPushBuffer->Size, pPushBuffer->AllocationSize);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created PushBuffer (0x%.08X, 0x%.08X, 0x%.08X)\n", pResource->Data, pPushBuffer->Size, pPushBuffer->AllocationSize);
}
break;
@ -4660,8 +4660,8 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
DXGetErrorString8A(hRet), DXGetErrorDescription8A(hRet)*/);
;
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created ImageSurface (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuSurface8);
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Width : %d, Height : %d, Format : %d\n", dwWidth, dwHeight, Format);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created ImageSurface (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuSurface8);
DbgPrintf("EmuIDirect3DResource8_Register : Width : %d, Height : %d, Format : %d\n", dwWidth, dwHeight, Format);
}
else
{
@ -4714,7 +4714,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
CxbxKrnlCleanup("CreateCubeTexture Failed!\n\nError: \nDesc: "/*,
DXGetErrorString8A(hRet), DXGetErrorDescription8A(hRet)*/);
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created CubeTexture (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuCubeTexture8);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created CubeTexture (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuCubeTexture8);
}
else
{
@ -4747,7 +4747,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
CxbxKrnlCleanup("CreateTexture Failed!\n\nError: \nDesc: "/*,
DXGetErrorString8A(hRet), DXGetErrorDescription8A(hRet)*/);
DbgPrintf("EmuIDirect3DResource8_Register (0x%X) : Successfully Created Texture (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuTexture8);
DbgPrintf("EmuIDirect3DResource8_Register : Successfully Created Texture (0x%.08X, 0x%.08X)\n", pResource, pResource->EmuTexture8);
}
}
@ -5170,7 +5170,7 @@ ULONG WINAPI XTL::EmuIDirect3DResource8_Release
if(uRet == 0)
{
DbgPrintf("EmuIDirect3DResource8_Release (0x%X): Cleaned up a Resource!\n");
DbgPrintf("EmuIDirect3DResource8_Release : Cleaned up a Resource!\n");
#ifdef _DEBUG_TRACE_VB
if(Type == D3DRTYPE_VERTEXBUFFER)
@ -7476,7 +7476,7 @@ XTL::X_D3DVertexBuffer* WINAPI XTL::EmuIDirect3DDevice8_GetStreamSource2
// debug trace
DbgPrintf( "EmuD3D8 (0x%.08X): EmuIDirect3DDevice8_GetStreamSource2\n"
DbgPrintf( "EmuD3D8 : EmuIDirect3DDevice8_GetStreamSource2\n"
"(\n"
" StreamNumber : 0x%.08X\n"
" pStride : 0x%.08X\n"
@ -7503,7 +7503,7 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetStreamSource
{
DbgPrintf("EmuD3D8: EmuIDirect3DDevice8_SetStreamSource\n"
DbgPrintf("EmuD3D8 : EmuIDirect3DDevice8_SetStreamSource\n"
"(\n"
" StreamNumber : 0x%.08X\n"
" pStreamData : 0x%.08X (0x%.08X)\n"
@ -8437,7 +8437,7 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_DeleteVertexShader
{
DbgPrintf( "EmuD3D8 (0x%.08X): EmuIDirect3DDevice8_DeleteVertexShader\n"
DbgPrintf( "EmuD3D8: EmuIDirect3DDevice8_DeleteVertexShader\n"
"(\n"
" Handle : 0x%.08X\n"
");\n",

View File

@ -120,6 +120,76 @@ SOCKET XTL::EmuThis::Emusocket
RETURN(ret);
}
// ******************************************************************
// * func: EmuThis::Emuconnect
// ******************************************************************
int XTL::EmuThis::Emuconnect
(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(name)
LOG_FUNC_ARG(namelen)
LOG_FUNC_END;
int ret = connect(s, name, namelen);
RETURN(ret);
}
// ******************************************************************
// * func: EmuThis::Emusend
// ******************************************************************
int XTL::EmuThis::Emusend
(
SOCKET s,
const char FAR *buf,
int len,
int flags
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(buf)
LOG_FUNC_ARG(len)
LOG_FUNC_ARG(flags)
LOG_FUNC_END;
int ret = send(s, buf, len, flags);
RETURN(ret);
}
// ******************************************************************
// * func: EmuThis::Emurecv
// ******************************************************************
int XTL::EmuThis::Emurecv
(
SOCKET s,
char FAR *buf,
int len,
int flags
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(this)
LOG_FUNC_ARG(s)
LOG_FUNC_ARG(buf)
LOG_FUNC_ARG(len)
LOG_FUNC_ARG(flags)
LOG_FUNC_END;
int ret = recv(s, buf, len, flags);
RETURN(ret);
}
// ******************************************************************
// * func: EmuThis::Emubind
// ******************************************************************

View File

@ -53,6 +53,21 @@ class EmuThis
// ******************************************************************
SOCKET Emusocket(int af, int type, int protocol);
// ******************************************************************
// * func: EmuThis::Emuconnect
// ******************************************************************
int Emuconnect(SOCKET s, const struct sockaddr FAR *name, int namelen);
// ******************************************************************
// * func: EmuThis::Emusend
// ******************************************************************
int Emusend(SOCKET s, const char FAR *buf, int len, int flags);
// ******************************************************************
// * func: EmuThis::Emurecv
// ******************************************************************
int Emurecv(SOCKET s, char FAR *buf, int len, int flags);
// ******************************************************************
// * func: Emubind
// ******************************************************************

View File

@ -61,6 +61,7 @@ const char *Lib_XONLINES = "XONLINES";
#include "HLEDataBase/Xapi.1.0.4361.inl"
#include "HLEDataBase/Xapi.1.0.4432.inl"
#include "HLEDataBase/Xapi.1.0.4627.inl"
#include "HLEDataBase/Xapi.1.0.4721.inl"
#include "HLEDataBase/Xapi.1.0.5233.inl"
#include "HLEDataBase/Xapi.1.0.5558.inl"
#include "HLEDataBase/Xapi.1.0.5849.inl"
@ -91,6 +92,7 @@ const char *Lib_XONLINES = "XONLINES";
#include "HLEDataBase/XG.1.0.5558.inl"
#include "HLEDataBase/XG.1.0.5849.inl"
#include "HLEDataBase/XNet.1.0.3911.inl"
#include "HLEDataBase/XNet.1.0.4627.inl"
#include "HLEDataBase/XOnline.1.0.4361.inl"
#include "HLEDataBase/XOnline.1.0.4627.inl"
#include "HLEDataBase/XOnline.1.0.5233.inl"
@ -145,7 +147,14 @@ HLEData HLEDataBase[] =
XAPI_1_0_4627,
XAPI_1_0_4627_SIZE
},
// Xapilib Version 1.0.5233
// Xapilib Version 1.0.4721
{
Lib_XAPILIB,
1, 0, 4721,
XAPI_1_0_4721,
XAPI_1_0_4721_SIZE
},
// Xapilib Version 1.0.5233
{
Lib_XAPILIB,
1, 0, 5233,
@ -355,6 +364,13 @@ HLEData HLEDataBase[] =
XNet_1_0_3911,
XNet_1_0_3911_SIZE
},
// XNet Version 1.0.4627
{
Lib_XNETS,
1, 0, 4627,
XNet_1_0_4627,
XNet_1_0_4627_SIZE
},
// XOnline Version 1.0.4361
{
Lib_XONLINE, // TODO : Typo for XONLINES?

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XNet.1.0.4627.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) 2002-2003 Aaron Robinson <caustik@caustik.com>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XNET_1_0_4627_H
#define XNET_1_0_4627_H
#include "OOVPA.h"
extern OOVPATable XNet_1_0_4627[];
extern uint32 XNet_1_0_4627_SIZE;
#endif

View File

@ -0,0 +1,353 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->XNet.1.0.4627.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>
// *
// * All rights reserved
// *
// ******************************************************************
// ******************************************************************
// * XnInit
// ******************************************************************
OOVPA_XREF_LARGE(XnInit_1_0_4627, 18,
XREF_XNINIT,
XRefZero)
// XnInit+0x0000 : push ebp
{ 0x0000, 0x55 }, // (Offset,Value)-Pair #1
// XnInit+0x0003 : sub esp, 0x0218
{ 0x0003, 0x81 }, // (Offset,Value)-Pair #2
{ 0x0004, 0xEC }, // (Offset,Value)-Pair #3
{ 0x0005, 0x18 }, // (Offset,Value)-Pair #4
{ 0x0006, 0x02 }, // (Offset,Value)-Pair #5
// XnInit+0x0019 : cmpxchg [ecx], edx
{ 0x0019, 0x0F }, // (Offset,Value)-Pair #6
{ 0x001A, 0xB1 }, // (Offset,Value)-Pair #7
{ 0x001B, 0x11 }, // (Offset,Value)-Pair #8
// XnInit+0x0041 : push 0x0AF8
{ 0x0041, 0x68 }, // (Offset,Value)-Pair #9
{ 0x0042, 0xF8 }, // (Offset,Value)-Pair #10
{ 0x0043, 0x0A }, // (Offset,Value)-Pair #11
// XnInit+0x01FA : OR DWORD PTR SS:[EBP-4],FFFFFFFF
{ 0x01FA, 0x83 }, // (Offset,Value)-Pair #12
{ 0x01FB, 0x4D }, // (Offset,Value)-Pair #13
{ 0x01FC, 0xFC }, // (Offset,Value)-Pair #14
{ 0x01FD, 0xFF }, // (Offset,Value)-Pair #15
// XnInit+0x0203 : retn 18h
{ 0x0203, 0xC2 }, // (Offset,Value)-Pair #16
{ 0x0204, 0x18 }, // (Offset,Value)-Pair #17
{ 0x0205, 0x00 }, // (Offset,Value)-Pair #18
OOVPA_END;
// ******************************************************************
// * XNetStartup
// ******************************************************************
OOVPA_XREF(XNetStartup_1_0_4627, 8,
XRefNoSaveIndex,
XRefOne)
// XNetStartup+0x0F : call [XnInit]
{ 0x10, XREF_XNINIT }, // (Offset,Value)-Pair #1
// XNetStartup+0x00 : xor eax, eax
{ 0x00, 0x33 }, // (Offset,Value)-Pair #2
{ 0x01, 0xC0 }, // (Offset,Value)-Pair #3
// XNetStartup+0x02 : push eax
{ 0x02, 0x50 }, // (Offset,Value)-Pair #4
// XNetStartup+0x03 : push eax
{ 0x03, 0x50 }, // (Offset,Value)-Pair #5
// XNetStartup+0x04 : push eax
{ 0x04, 0x50 }, // (Offset,Value)-Pair #6
// XNetStartup+0x14 : retn 0x04
{ 0x14, 0xC2 }, // (Offset,Value)-Pair #7
{ 0x15, 0x04 }, // (Offset,Value)-Pair #8
OOVPA_END;
// ******************************************************************
// * WSAStartup
// ******************************************************************
OOVPA_XREF(WSAStartup_1_0_4627, 9,
XRefNoSaveIndex,
XRefOne)
// WSAStartup+0x0F : call [XnInit]
{ 0x14, XREF_XNINIT }, // (Offset,Value)-Pair #1
// WSAStartup+0x00 : push [esp+0x08]
{ 0x00, 0xFF }, // (Offset,Value)-Pair #2
{ 0x01, 0x74 }, // (Offset,Value)-Pair #3
{ 0x02, 0x24 }, // (Offset,Value)-Pair #4
{ 0x03, 0x08 }, // (Offset,Value)-Pair #5
// WSAStartup+0x04 : push [esp+0x08]
{ 0x04, 0xFF }, // (Offset,Value)-Pair #6
{ 0x05, 0x74 }, // (Offset,Value)-Pair #7
{ 0x06, 0x24 }, // (Offset,Value)-Pair #8
{ 0x07, 0x08 }, // (Offset,Value)-Pair #9
OOVPA_END;
///////
// ******************************************************************
// * socket
// ******************************************************************
OOVPA_NO_XREF_LARGE(socket_1_0_4627, 20)
// socket+0x13 : push 0x276D
{ 0x0013, 0x68 }, // (Offset,Value)-Pair #1
{ 0x0014, 0x6D }, // (Offset,Value)-Pair #2
{ 0x0015, 0x27 }, // (Offset,Value)-Pair #3
// socket+0x69 : cmp edi, 0x11
{ 0x0069, 0x83 }, // (Offset,Value)-Pair #4
{ 0x006A, 0xFF }, // (Offset,Value)-Pair #5
{ 0x006B, 0x11 }, // (Offset,Value)-Pair #6
// socket+0x8C : SETNE DL
{ 0x008C, 0x0F }, // (Offset,Value)-Pair #7
{ 0x008D, 0x95 }, // (Offset,Value)-Pair #8
{ 0x008E, 0xC2 }, // (Offset,Value)-Pair #9
// socket+0xAE : MOV EAX,273B
{ 0x00AE, 0xB8 }, // (Offset,Value)-Pair #10
{ 0x00AF, 0x3B }, // (Offset,Value)-Pair #11
{ 0x00B0, 0x27 }, // (Offset,Value)-Pair #12
{ 0x00B1, 0x00 }, // (Offset,Value)-Pair #13
{ 0x00B2, 0x00 }, // (Offset,Value)-Pair #14
// socket+0x0116 : mov [esi+4], ecx
{ 0x0116, 0x89 }, // (Offset,Value)-Pair #15
{ 0x0117, 0x4E }, // (Offset,Value)-Pair #16
{ 0x0118, 0x04 }, // (Offset,Value)-Pair #17
// socket+0x012D : retn 0C
{ 0x012D, 0xC2 }, // (Offset,Value)-Pair #18
{ 0x012E, 0x0C }, // (Offset,Value)-Pair #19
{ 0x012F, 0x00 }, // (Offset,Value)-Pair #20
OOVPA_END;
// ******************************************************************
// * socket
// ******************************************************************
OOVPA_NO_XREF(connect_1_0_4627, 24)
// connect+0x00 : push ebp
{ 0x00, 0x55 }, // (Offset,Value)-Pair #1
// connect+0x0B : je short +09
{ 0x0B, 0x74 }, // (Offset,Value)-Pair #2
{ 0x0C, 0x09 }, // (Offset,Value)-Pair #3
// connect+0x16 : PUSH 276D
{ 0x16, 0x68 }, // (Offset,Value)-Pair #4
{ 0x17, 0x6D }, // (Offset,Value)-Pair #5
{ 0x18, 0x27 }, // (Offset,Value)-Pair #6
{ 0x19, 0x00 }, // (Offset,Value)-Pair #7
{ 0x1A, 0x00 }, // (Offset,Value)-Pair #8
// connect+0x42 : TEST DL,40
{ 0x42, 0xF6 }, // (Offset,Value)-Pair #9
{ 0x43, 0xC2 }, // (Offset,Value)-Pair #10
{ 0x44, 0x40 }, // (Offset,Value)-Pair #11
// connect+0x68 : PUSH DWORD PTR SS:[EBP+8]
{ 0x68, 0xFF }, // (Offset,Value)-Pair #12
{ 0x69, 0x75 }, // (Offset,Value)-Pair #13
{ 0x6A, 0x08 }, // (Offset,Value)-Pair #14
// connect+0x8F : MOV ESI,80072733
{ 0x8F, 0xBE }, // (Offset,Value)-Pair #15
{ 0x90, 0x33 }, // (Offset,Value)-Pair #16
{ 0x91, 0x27 }, // (Offset,Value)-Pair #17
{ 0x92, 0x07 }, // (Offset,Value)-Pair #18
{ 0x93, 0x80 }, // (Offset,Value)-Pair #19
// connect+0xCD : PUSH -1
{ 0xCD, 0x6A }, // (Offset,Value)-Pair #20
{ 0xCE, 0xFF }, // (Offset,Value)-Pair #21
// connect+0xE6 : retn 0C
{ 0xE6, 0xC2 }, // (Offset,Value)-Pair #22
{ 0xE7, 0x0C }, // (Offset,Value)-Pair #23
{ 0xE8, 0x00 }, // (Offset,Value)-Pair #24
OOVPA_END;
// ******************************************************************
// * send
// ******************************************************************
OOVPA_NO_XREF(send_1_0_4627, 24)
// send+0x00 : push ebp
{ 0x00, 0x55 }, // (Offset,Value)-Pair #1
// send+0x17 : push 0x276D
{ 0x17, 0x68 }, // (Offset,Value)-Pair #2
{ 0x18, 0x6D }, // (Offset,Value)-Pair #3
{ 0x19, 0x27 }, // (Offset,Value)-Pair #4
// send+0x24 : jmp
{ 0x24, 0xEB }, // (Offset,Value)-Pair #5
{ 0x25, 0x6A }, // (Offset,Value)-Pair #6
// send+0x51 : LEA EAX,DWORD PTR SS:[EBP-20]
{ 0x51, 0x8D }, // (Offset,Value)-Pair #7
{ 0x52, 0x45 }, // (Offset,Value)-Pair #8
{ 0x53, 0xE0 }, // (Offset,Value)-Pair #9
// send+0x6C : JL SHORT +04
{ 0x6C, 0x7C }, // (Offset,Value)-Pair #10
{ 0x6D, 0x04 }, // (Offset,Value)-Pair #11
// send+0x7B : MOV DWORD PTR DS:[ESI+8],2B434F53
{ 0x7B, 0xC7 }, // (Offset,Value)-Pair #12
{ 0x7C, 0x46 }, // (Offset,Value)-Pair #13
{ 0x7D, 0x08 }, // (Offset,Value)-Pair #14
{ 0x7E, 0x53 }, // (Offset,Value)-Pair #15
{ 0x7F, 0x4F }, // (Offset,Value)-Pair #16
{ 0x80, 0x43 }, // (Offset,Value)-Pair #17
{ 0x81, 0x2B }, // (Offset,Value)-Pair #18
// send+0x8C : MOV EAX,DWORD PTR SS:[EBP-10]
{ 0x8C, 0x8B }, // (Offset,Value)-Pair #19
{ 0x8D, 0x45 }, // (Offset,Value)-Pair #20
{ 0x8E, 0xF0 }, // (Offset,Value)-Pair #21
// send+0x92 : retn 10h
{ 0x92, 0xC2 }, // (Offset,Value)-Pair #22
{ 0x93, 0x10 }, // (Offset,Value)-Pair #23
{ 0x94, 0x00 }, // (Offset,Value)-Pair #24
OOVPA_END;
// ******************************************************************
// * recv
// ******************************************************************
OOVPA_NO_XREF(recv_1_0_4627, 24)
// recv+0x00 : push ebp
{ 0x00, 0x55 }, // (Offset,Value)-Pair #1
// recv+0x17 : push 0x276D
{ 0x17, 0x68 }, // (Offset,Value)-Pair #2
{ 0x18, 0x6D }, // (Offset,Value)-Pair #3
{ 0x19, 0x27 }, // (Offset,Value)-Pair #4
// recv+0x24 : jmp
{ 0x24, 0xEB }, // (Offset,Value)-Pair #5
{ 0x25, 0x66 }, // (Offset,Value)-Pair #6
// recv+0x51 : MOV DWORD PTR SS:[EBP-14],EAX
{ 0x51, 0x89 }, // (Offset,Value)-Pair #7
{ 0x52, 0x45 }, // (Offset,Value)-Pair #8
{ 0x53, 0xEC }, // (Offset,Value)-Pair #9
// recv+0x68 : JL SHORT +04
{ 0x68, 0x7C }, // (Offset,Value)-Pair #10
{ 0x69, 0x04 }, // (Offset,Value)-Pair #11
// recv+0x77 : MOV DWORD PTR DS:[ESI+8],2B434F53
{ 0x77, 0xC7 }, // (Offset,Value)-Pair #12
{ 0x78, 0x46 }, // (Offset,Value)-Pair #13
{ 0x79, 0x08 }, // (Offset,Value)-Pair #14
{ 0x7A, 0x53 }, // (Offset,Value)-Pair #15
{ 0x7B, 0x4F }, // (Offset,Value)-Pair #16
{ 0x7C, 0x43 }, // (Offset,Value)-Pair #17
{ 0x7D, 0x2B }, // (Offset,Value)-Pair #18
// recv+0x88 : MOV EAX,DWORD PTR SS:[EBP+8]
{ 0x88, 0x8B }, // (Offset,Value)-Pair #19
{ 0x89, 0x45 }, // (Offset,Value)-Pair #20
{ 0x8A, 0x08 }, // (Offset,Value)-Pair #21
// recv+0x8E : retn 10h
{ 0x8E, 0xC2 }, // (Offset,Value)-Pair #22
{ 0x8F, 0x10 }, // (Offset,Value)-Pair #23
{ 0x90, 0x00 }, // (Offset,Value)-Pair #24
OOVPA_END;
// ******************************************************************
// * ioctlsocket
// ******************************************************************
OOVPA_NO_XREF(ioctlsocket_1_0_4627, 10)
// ioctlsocket+0x13 : push 0x276D
{ 0x13, 0x68 }, // (Offset,Value)-Pair #1
{ 0x14, 0x6D }, // (Offset,Value)-Pair #2
{ 0x15, 0x27 }, // (Offset,Value)-Pair #3
// ioctlsocket+0x62 : lea edx, [esi+0x24]
{ 0x62, 0x8D }, // (Offset,Value)-Pair #4
{ 0x63, 0x56 }, // (Offset,Value)-Pair #5
{ 0x64, 0x24 }, // (Offset,Value)-Pair #6
// ioctlsocket+0x81 : mov cl, al
{ 0x81, 0x8A }, // (Offset,Value)-Pair #7
{ 0x82, 0xC8 }, // (Offset,Value)-Pair #8
// ioctlsocket+0xC6 : retn 0x0C
{ 0xC6, 0xC2 }, // (Offset,Value)-Pair #9
{ 0xC7, 0x0C }, // (Offset,Value)-Pair #10
OOVPA_END;
// ******************************************************************
// * XNet_1_0_4627
// ******************************************************************
OOVPATable XNet_1_0_4627[] = {
// XNetStartup
OOVPA_TABLE_PATCH(XNetStartup_1_0_4627, XTL::EmuXNetStartup), // same as xonline 4361
// WSAStartup
OOVPA_TABLE_PATCH(WSAStartup_1_0_4627, XTL::EmuWSAStartup), // same as xonline 4361
// XnInit (XREF)
OOVPA_TABLE_XREF(XnInit_1_0_4627),
// socket
OOVPA_TABLE_PATCH(socket_1_0_4627, MFPtoFP<XTL::EmuThis>(&XTL::EmuThis::Emusocket)),
// connect
OOVPA_TABLE_PATCH(connect_1_0_4627, MFPtoFP<XTL::EmuThis>(&XTL::EmuThis::Emuconnect)),
// send
OOVPA_TABLE_PATCH(send_1_0_4627, MFPtoFP<XTL::EmuThis>(&XTL::EmuThis::Emusend)),
// recv
OOVPA_TABLE_PATCH(recv_1_0_4627, MFPtoFP<XTL::EmuThis>(&XTL::EmuThis::Emurecv)),
// ioctlsocket
OOVPA_TABLE_PATCH(ioctlsocket_1_0_4627, MFPtoFP<XTL::EmuThis>(&XTL::EmuThis::Emuioctlsocket)),
};
// ******************************************************************
// * XNet_1_0_4627_SIZE
// ******************************************************************
uint32 XNet_1_0_4627_SIZE = sizeof(XNet_1_0_4627);

View File

@ -33,31 +33,31 @@
// ******************************************************************
// ******************************************************************
// * XnInit
// * XnInit -> Belongs in XNet lib
// ******************************************************************
OOVPA_XREF(XnInit_1_0_4627, 12,
XREF_XNINIT,
XRefZero)
// XnInit+0x03 : sub esp, 0x0218
{ 0x03, 0x81 }, // (Offset,Value)-Pair #1
{ 0x04, 0xEC }, // (Offset,Value)-Pair #2
{ 0x05, 0x18 }, // (Offset,Value)-Pair #3
{ 0x06, 0x02 }, // (Offset,Value)-Pair #4
// XnInit+0x19 : cmpxchg [ecx], edx
{ 0x19, 0x0F }, // (Offset,Value)-Pair #5
{ 0x1A, 0xB1 }, // (Offset,Value)-Pair #6
{ 0x1B, 0x11 }, // (Offset,Value)-Pair #7
// XnInit+0x3C : push 0x4454454E
{ 0x3C, 0x68 }, // (Offset,Value)-Pair #8
{ 0x3D, 0x4E }, // (Offset,Value)-Pair #9
{ 0x3E, 0x45 }, // (Offset,Value)-Pair #10
{ 0x3F, 0x54 }, // (Offset,Value)-Pair #11
{ 0x40, 0x44 }, // (Offset,Value)-Pair #12
OOVPA_END;
//OOVPA_XREF(XnInit_1_0_4627, 12,
//
// XREF_XNINIT,
// XRefZero)
//
// // XnInit+0x03 : sub esp, 0x0218
// { 0x03, 0x81 }, // (Offset,Value)-Pair #1
// { 0x04, 0xEC }, // (Offset,Value)-Pair #2
// { 0x05, 0x18 }, // (Offset,Value)-Pair #3
// { 0x06, 0x02 }, // (Offset,Value)-Pair #4
//
// // XnInit+0x19 : cmpxchg [ecx], edx
// { 0x19, 0x0F }, // (Offset,Value)-Pair #5
// { 0x1A, 0xB1 }, // (Offset,Value)-Pair #6
// { 0x1B, 0x11 }, // (Offset,Value)-Pair #7
//
// // XnInit+0x3C : push 0x4454454E
// { 0x3C, 0x68 }, // (Offset,Value)-Pair #8
// { 0x3D, 0x4E }, // (Offset,Value)-Pair #9
// { 0x3E, 0x45 }, // (Offset,Value)-Pair #10
// { 0x3F, 0x54 }, // (Offset,Value)-Pair #11
// { 0x40, 0x44 }, // (Offset,Value)-Pair #12
//OOVPA_END;
// ******************************************************************
// * XNetGetEthernetLinkStatus

View File

@ -0,0 +1,42 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4721.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) 2002-2003 Aaron Robinson <caustik@caustik.com>
// *
// * All rights reserved
// *
// ******************************************************************
#ifndef XAPI_1_0_4721_H
#define XAPI_1_0_4721_H
#include "OOVPA.h"
extern OOVPATable XAPI_1_0_4721[];
extern uint32 XAPI_1_0_4721_SIZE;
#endif

View File

@ -0,0 +1,86 @@
// ******************************************************************
// *
// * .,-::::: .,:: .::::::::. .,:: .:
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
// * $$$ Y$$$P $$""""Y$$ Y$$$P
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4721.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>
// *
// * All rights reserved
// *
// ******************************************************************
// ******************************************************************
// * XAPI_1_0_4721
// ******************************************************************
OOVPATable XAPI_1_0_4721[] = {
/*
// RtlCreateHeap (* unchanged since 1.0.4361 *) (* OR FARTHER *)
obsolete OOVPA_TABLE_PATCH(RtlCreateHeap_1_0_3911, XTL::EmuRtlCreateHeap),
// RtlAllocateHeap (* unchanged since 1.0.4361 *) (* OR FARTHER *)
obsolete OOVPA_TABLE_PATCH(RtlAllocateHeap_1_0_3911, XTL::EmuRtlAllocateHeap),
// RtlReAllocateHeap
obsolete OOVPA_TABLE_PATCH(RtlReAllocateHeap_1_0_4627, XTL::EmuRtlReAllocateHeap),
// RtlFreeHeap
obsolete OOVPA_TABLE_PATCH(RtlFreeHeap_1_0_4627, XTL::EmuRtlFreeHeap),
// RtlSizeHeap
obsolete OOVPA_TABLE_PATCH(RtlSizeHeap_1_0_4627, XTL::EmuRtlSizeHeap),
// RtlDestroyHeap
obsolete OOVPA_TABLE_PATCH(RtlDestroyHeap_1_0_4627, XTL::EmuRtlDestroyHeap),
*/
// XMountUtilityDrive
OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive),
// XInitDevices (* unchanged since 1.0.3911 *)
OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices),
// XGetDevices (* unchanged since 1.0.4134 *)
OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices),
// XInputOpen (* unchanged since 1.0.4361 *)
OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen),
// XInputGetCapabilities (* unchanged since 1.0.4361 *)
OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4361, XTL::EmuXInputGetCapabilities),
// XInputGetState (* unchanged since 1.0.4361 *)
OOVPA_TABLE_PATCH(XInputGetState_1_0_4361, XTL::EmuXInputGetState),
// XInputSetState (* unchanged since 1.0.4361 *)
OOVPA_TABLE_PATCH(XInputSetState_1_0_4361, XTL::EmuXInputSetState),
// XID_fCloseDevice (* unchanged since 1.0.4361 *)
OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4361),
// XInputClose (* unchanged since 1.0.3911 *)
OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose),
// XInputClose (* unchanged since 1.0.4361 *)
// OOVPA_TABLE_PATCH(XInputClose_1_0_4361, XTL::EmuXInputClose),
// XapiThreadStartup (* unchanged since 1.0.4361 *)
// obsolete OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup),
//* Too High Level
// XapiInitProcess (* unchanged since 1.0.4361 *)
// obsolete OOVPA_TABLE_PATCH(XapiInitProcess_1_0_4361, XTL::EmuXapiInitProcess),
//*/
// XapiBootToDash (* unchanged since 1.0.3911 *)
/* obsolete OOVPA_TABLE_PATCH(XapiBootDash_1_0_3911, XTL::EmuXapiBootDash),*/
};
// ******************************************************************
// * XAPI_1_0_4721_SIZE
// ******************************************************************
uint32 XAPI_1_0_4721_SIZE = sizeof(XAPI_1_0_4721);