Added dummy NVNet handlers
At least Network hardware writes no longer get reported as "Unknown"
This commit is contained in:
parent
ad3b3e2bc2
commit
a3b5bab1c3
|
@ -214,6 +214,7 @@ $(SOLUTIONDIR)Export.bat</Command>
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuNtDll.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuNtDll.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuNV2A.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuNV2A.h" />
|
||||||
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuNVNet.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuSha.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuSha.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuX86.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuX86.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuXactEng.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuXactEng.h" />
|
||||||
|
@ -502,6 +503,7 @@ $(SOLUTIONDIR)Export.bat</Command>
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuNV2A.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuNV2A.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuNVNet.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuSha.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuSha.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuX86.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuX86.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuXactEng.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuXactEng.cpp" />
|
||||||
|
|
|
@ -202,6 +202,9 @@
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8Logging.cpp">
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8Logging.cpp">
|
||||||
<Filter>Emulator</Filter>
|
<Filter>Emulator</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuNVNet.cpp">
|
||||||
|
<Filter>Emulator</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\src\Cxbx\DlgControllerConfig.h">
|
<ClInclude Include="..\..\src\Cxbx\DlgControllerConfig.h">
|
||||||
|
@ -552,6 +555,9 @@
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuD3D8Logging.h">
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuD3D8Logging.h">
|
||||||
<Filter>Emulator</Filter>
|
<Filter>Emulator</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuNVNet.h">
|
||||||
|
<Filter>Emulator</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\..\resource\About.jpg">
|
<None Include="..\..\resource\About.jpg">
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
|
||||||
|
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
|
||||||
|
// ******************************************************************
|
||||||
|
// *
|
||||||
|
// * .,-::::: .,:: .::::::::. .,:: .:
|
||||||
|
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
|
||||||
|
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
|
||||||
|
// * $$$ Y$$$P $$""""Y$$ Y$$$P
|
||||||
|
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
|
||||||
|
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
|
||||||
|
// *
|
||||||
|
// * Cxbx->Win32->CxbxKrnl->EmuNVNet.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) 2017 Luke Usher <luke.usher@outlook.com>
|
||||||
|
// *
|
||||||
|
// * All rights reserved
|
||||||
|
// *
|
||||||
|
// ******************************************************************
|
||||||
|
#define _CXBXKRNL_INTERNAL
|
||||||
|
#define _XBOXKRNL_DEFEXTRN_
|
||||||
|
|
||||||
|
#include "CxbxKrnl.h"
|
||||||
|
#include "Emu.h"
|
||||||
|
#include "EmuNVNet.h"
|
||||||
|
|
||||||
|
uint32_t EmuNVNet_Read32(xbaddr addr)
|
||||||
|
{
|
||||||
|
EmuWarning("EmuNVNet_Read32: Unhandled Read Address %08X", addr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EmuNVNet_Write32(xbaddr addr, uint32_t value)
|
||||||
|
{
|
||||||
|
EmuWarning("EmuNVNet_Write32: Unhandled Write Address %08X (value %08X)", addr, value);
|
||||||
|
return;
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
// ******************************************************************
|
||||||
|
// *
|
||||||
|
// * .,-::::: .,:: .::::::::. .,:: .:
|
||||||
|
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
|
||||||
|
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
|
||||||
|
// * $$$ Y$$$P $$""""Y$$ Y$$$P
|
||||||
|
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
|
||||||
|
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
|
||||||
|
// *
|
||||||
|
// * Cxbx->Win32->CxbxKrnl->EmuNVNet.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>
|
||||||
|
// * (c) 2017 Luke Usher <luke.usher@outlook.com>
|
||||||
|
// * All rights reserved
|
||||||
|
// *
|
||||||
|
// ******************************************************************
|
||||||
|
#ifndef EMUNVNET_H
|
||||||
|
#define EMUNVNET_H
|
||||||
|
|
||||||
|
#define NVNET_ADDR 0xFEF00000
|
||||||
|
#define NVNET_SIZE 0x00000400
|
||||||
|
|
||||||
|
uint32_t EmuNVNet_Read32(xbaddr addr);
|
||||||
|
void EmuNVNet_Write32(xbaddr addr, uint32_t value);
|
||||||
|
|
||||||
|
#endif
|
|
@ -49,6 +49,7 @@
|
||||||
#include "Emu.h"
|
#include "Emu.h"
|
||||||
#include "EmuX86.h"
|
#include "EmuX86.h"
|
||||||
#include "EmuNV2A.h"
|
#include "EmuNV2A.h"
|
||||||
|
#include "EmuNVNet.h"
|
||||||
#include "HLEIntercept.h" // for bLLE_GPU
|
#include "HLEIntercept.h" // for bLLE_GPU
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@ -147,6 +148,8 @@ uint32_t EmuX86_Read32Aligned(xbaddr addr)
|
||||||
// Access NV2A regardless weither HLE is disabled or not
|
// Access NV2A regardless weither HLE is disabled or not
|
||||||
value = EmuNV2A_Read32(addr - NV2A_ADDR);
|
value = EmuNV2A_Read32(addr - NV2A_ADDR);
|
||||||
// Note : EmuNV2A_Read32 does it's own logging
|
// Note : EmuNV2A_Read32 does it's own logging
|
||||||
|
} if (addr >= NVNET_ADDR && addr < NVNET_ADDR + NVNET_SIZE) {
|
||||||
|
value = EmuNVNet_Read32(addr - NVNET_ADDR);
|
||||||
} else {
|
} else {
|
||||||
if (g_bEmuException) {
|
if (g_bEmuException) {
|
||||||
EmuWarning("EmuX86_Read32Aligned(0x%08X) [Unknown address]", addr);
|
EmuWarning("EmuX86_Read32Aligned(0x%08X) [Unknown address]", addr);
|
||||||
|
@ -219,6 +222,11 @@ void EmuX86_Write32Aligned(xbaddr addr, uint32_t value)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (addr >= NVNET_ADDR && addr < NVNET_ADDR + NVNET_SIZE) {
|
||||||
|
EmuNVNet_Write32(addr - NVNET_ADDR, value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (g_bEmuException) {
|
if (g_bEmuException) {
|
||||||
EmuWarning("EmuX86_Write32Aligned(0x%08X, 0x%08X) [Unknown address]", addr, value);
|
EmuWarning("EmuX86_Write32Aligned(0x%08X, 0x%08X) [Unknown address]", addr, value);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue