RSP: Start to split out RSP in to core and UI for plugin

This commit is contained in:
zilmar 2023-08-10 10:27:11 +09:30
parent bb5a16aaa2
commit 25e48405c5
37 changed files with 276 additions and 146 deletions

2
.gitignore vendored
View File

@ -97,5 +97,5 @@ Thumbs.db
/Source/Project64-core/Version.h
/Source/Project64-input/Version.h
/Source/Project64-video/Version.h
/Source/Project64-rsp/Version.h
/Source/Project64-rsp-core/Version.h
/Android/app/src/main/assets/assets.zip

View File

@ -74,6 +74,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asmjit", "Source\3rdParty\a
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64-rsp", "Source\Project64-rsp\Project64-rsp.vcxproj", "{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64-rsp-core", "Source\Project64-rsp-core\Project64-rsp-core.vcxproj", "{7598F6B8-9DA6-4897-B26F-F6865F824BF4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -256,6 +258,14 @@ Global
{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}.Release|Win32.Build.0 = Release|Win32
{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}.Release|x64.ActiveCfg = Release|x64
{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}.Release|x64.Build.0 = Release|x64
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Debug|Win32.ActiveCfg = Debug|Win32
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Debug|Win32.Build.0 = Debug|Win32
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Debug|x64.ActiveCfg = Debug|x64
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Debug|x64.Build.0 = Debug|x64
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Release|Win32.ActiveCfg = Release|Win32
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Release|Win32.Build.0 = Release|Win32
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Release|x64.ActiveCfg = Release|x64
{7598F6B8-9DA6-4897-B26F-F6865F824BF4}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7598F6B8-9DA6-4897-B26F-F6865F824BF4}</ProjectGuid>
<RootNamespace>Project64rspcore</RootNamespace>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)PropertySheets\Platform.$(Configuration).props" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ItemDefinitionGroup>
<PreBuildEvent>
<Command>"$(SolutionDir)Source\Script\UpdateVersion.cmd" "$(Configuration)" "$(Platform)" "$(SolutionDir)Source\Project64-rsp-core\Version.h.in" "$(SolutionDir)Source\Project64-rsp-core\Version.h"</Command>
</PreBuildEvent>
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="cpu\RSPiInstruction.cpp" />
<ClCompile Include="cpu\RSPRegister.cpp" />
<ClCompile Include="cpu\RspTypes.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="cpu\RSPInstruction.h" />
<ClInclude Include="cpu\RSPOpcode.h" />
<ClInclude Include="cpu\RSPRegisters.h" />
<ClInclude Include="cpu\RspTypes.h" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Source Files\cpu">
<UniqueIdentifier>{855e110e-ef40-4dab-9b2b-e250f9a6e12e}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\cpu">
<UniqueIdentifier>{68f5d9a3-7e1b-4209-95c4-7daf0d469394}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="cpu\RSPiInstruction.cpp">
<Filter>Source Files\cpu</Filter>
</ClCompile>
<ClCompile Include="cpu\RspTypes.cpp">
<Filter>Source Files\cpu</Filter>
</ClCompile>
<ClCompile Include="cpu\RSPRegister.cpp">
<Filter>Source Files\cpu</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="cpu\RSPInstruction.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
<ClInclude Include="cpu\RSPOpcode.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
<ClInclude Include="cpu\RspTypes.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
<ClInclude Include="cpu\RSPRegisters.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,7 +1,7 @@
#pragma once
#include <string>
#include <stdint.h>
#include "RSPOpcode.h"
#include <stdint.h>
#include <string>
class RSPInstruction
{

View File

@ -52,7 +52,7 @@ union RSPOpcode
struct
{
unsigned : 6;
unsigned : 6;
unsigned vd : 5;
unsigned vs : 5;
unsigned vt : 5;

View File

@ -0,0 +1,41 @@
#include "cpu/RspTypes.h"
// RSP registers
UWORD32 RSP_GPR[32], RSP_Flags[4];
UDWORD RSP_ACCUM[8];
RSPVector RSP_Vect[32];
char * GPR_Strings[32] = {
"R0",
"AT",
"V0",
"V1",
"A0",
"A1",
"A2",
"A3",
"T0",
"T1",
"T2",
"T3",
"T4",
"T5",
"T6",
"T7",
"S0",
"S1",
"S2",
"S3",
"S4",
"S5",
"S6",
"S7",
"T8",
"T9",
"K0",
"K1",
"GP",
"SP",
"S8",
"RA",
};

View File

@ -1,8 +1,8 @@
#include "cpu/RspTypes.h"
#include "RspTypes.h"
enum
{
SP_STATUS_HALT = 0x001, // Bit 0: Halt
SP_STATUS_HALT = 0x001, // Bit 0: Halt
SP_STATUS_BROKE = 0x002, // Bit 1: Broke
SP_STATUS_DMA_BUSY = 0x004, // Bit 2: DMA busy
SP_STATUS_DMA_FULL = 0x008, // Bit 3: DMA full

View File

@ -1,5 +1,5 @@
#include "RSPInstruction.h"
#include "../RSP Registers.h"
#include "RSPRegisters.h"
#include <Common/StdString.h>
RSPInstruction::RSPInstruction(uint32_t Address, uint32_t Instruction) :
@ -199,7 +199,7 @@ void RSPInstruction::DecodeSpecialName(void)
break;
case RSP_SPECIAL_SLLV:
strcpy(m_Name, "SLLV");
sprintf(m_Param, "%s, %s, %s", GPR_Name(m_Instruction.rd),GPR_Name(m_Instruction.rt), GPR_Name(m_Instruction.rs));
sprintf(m_Param, "%s, %s, %s", GPR_Name(m_Instruction.rd), GPR_Name(m_Instruction.rt), GPR_Name(m_Instruction.rs));
break;
case RSP_SPECIAL_SRLV:
strcpy(m_Name, "SRLV");

View File

@ -11,38 +11,38 @@ RSPVector::RSPVector()
uint16_t & RSPVector::ue(uint8_t Index, uint8_t Element)
{
Index = EleSpec[Element].B[Index];
return ((uint16_t*)&m_Reg)[7 - Index];
return ((uint16_t *)&m_Reg)[7 - Index];
}
int16_t & RSPVector::se(uint8_t Index, uint8_t Element)
{
Index = EleSpec[Element].B[Index];
return ((int16_t*)&m_Reg)[7 - Index];
return ((int16_t *)&m_Reg)[7 - Index];
}
int8_t & RSPVector::s8(uint8_t Index)
{
return ((int8_t*)&m_Reg)[15 - Index];
return ((int8_t *)&m_Reg)[15 - Index];
}
uint8_t & RSPVector::u8(uint8_t Index)
{
return ((uint8_t*)&m_Reg)[15 - Index];
return ((uint8_t *)&m_Reg)[15 - Index];
}
int16_t & RSPVector::s16(uint8_t Index)
{
return ((int16_t*)&m_Reg)[7 - Index];
return ((int16_t *)&m_Reg)[7 - Index];
}
uint16_t & RSPVector::u16(uint8_t Index)
{
return ((uint16_t*)&m_Reg)[7 - Index];
return ((uint16_t *)&m_Reg)[7 - Index];
}
int32_t & RSPVector::s32(uint8_t Index)
{
return ((int32_t*)&m_Reg)[3 - Index];
return ((int32_t *)&m_Reg)[3 - Index];
}
uint64_t & RSPVector::u64(uint8_t Index)

View File

@ -1,15 +1,15 @@
#include "Cpu.h"
#include "cpu/RSPOpcode.h"
#include "Profiling.h"
#include "RSP Command.h"
#include "RSP registers.h"
#include "Recompiler CPU.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "breakpoint.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#include <float.h>
#include <stdio.h>
#include <windows.h>
@ -61,16 +61,16 @@ void Build_RSP(void)
SetCPU(CPUCore);
ResetTimerList();
EleSpec[0].DW = 0x0706050403020100; // None
EleSpec[1].DW = 0x0706050403020100; // None
EleSpec[2].DW = 0x0606040402020000; // 0q
EleSpec[3].DW = 0x0707050503030101; // 1q
EleSpec[4].DW = 0x0404040400000000; // 0h
EleSpec[5].DW = 0x0505050501010101; // 1h
EleSpec[6].DW = 0x0606060602020202; // 2h
EleSpec[7].DW = 0x0707070703030303; // 3h
EleSpec[8].DW = 0x0000000000000000; // 0
EleSpec[9].DW = 0x0101010101010101; // 1
EleSpec[0].DW = 0x0706050403020100; // None
EleSpec[1].DW = 0x0706050403020100; // None
EleSpec[2].DW = 0x0606040402020000; // 0q
EleSpec[3].DW = 0x0707050503030101; // 1q
EleSpec[4].DW = 0x0404040400000000; // 0h
EleSpec[5].DW = 0x0505050501010101; // 1h
EleSpec[6].DW = 0x0606060602020202; // 2h
EleSpec[7].DW = 0x0707070703030303; // 3h
EleSpec[8].DW = 0x0000000000000000; // 0
EleSpec[9].DW = 0x0101010101010101; // 1
EleSpec[10].DW = 0x0202020202020202; // 2
EleSpec[11].DW = 0x0303030303030303; // 3
EleSpec[12].DW = 0x0404040404040404; // 4
@ -78,16 +78,16 @@ void Build_RSP(void)
EleSpec[14].DW = 0x0606060606060606; // 6
EleSpec[15].DW = 0x0707070707070707; // 7
Indx[0].DW = 0x0001020304050607; // None
Indx[1].DW = 0x0001020304050607; // None
Indx[2].DW = 0x0103050700020406; // 0q
Indx[3].DW = 0x0002040601030507; // 1q
Indx[4].DW = 0x0102030506070004; // 0h
Indx[5].DW = 0x0002030406070105; // 1h
Indx[6].DW = 0x0001030405070206; // 2h
Indx[7].DW = 0x0001020405060307; // 3h
Indx[8].DW = 0x0102030405060700; // 0
Indx[9].DW = 0x0002030405060701; // 1
Indx[0].DW = 0x0001020304050607; // None
Indx[1].DW = 0x0001020304050607; // None
Indx[2].DW = 0x0103050700020406; // 0q
Indx[3].DW = 0x0002040601030507; // 1q
Indx[4].DW = 0x0102030506070004; // 0h
Indx[5].DW = 0x0002030406070105; // 1h
Indx[6].DW = 0x0001030405070206; // 2h
Indx[7].DW = 0x0001020405060307; // 3h
Indx[8].DW = 0x0102030405060700; // 0
Indx[9].DW = 0x0002030405060701; // 1
Indx[10].DW = 0x0001030405060702; // 2
Indx[11].DW = 0x0001020405060703; // 3
Indx[12].DW = 0x0001020305060704; // 4

View File

@ -1,10 +1,10 @@
#include "cpu/RSPOpcode.h"
#include "cpu/RspTypes.h"
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#include <Windows.h>
extern UDWORD EleSpec[16], Indx[16];
typedef void(*p_func)(void);
typedef void (*p_func)(void);
extern p_func RSP_Opcode[64];
extern p_func RSP_RegImm[32];

View File

@ -1,17 +1,20 @@
#include <windows.h>
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include <Project64-rsp-core\cpu\RSPRegisters.h>
#include <Project64-rsp\Rsp.h>
#include <commctrl.h>
#include <stdio.h>
#define GeneralPurpose 1
#define ControlProcessor0 2
#define HiddenRegisters 3
#define Vector1 4
#define Vector2 5
enum
{
GeneralPurpose = 1,
ControlProcessor0 = 2,
HiddenRegisters = 3,
Vector1 = 4,
Vector2 = 5,
#define IDC_TAB_CONTROL 1000
IDC_TAB_CONTROL = 1000,
};
void Create_RSP_Register_Window(int);
void HideRSP_RegisterPanel(int);
@ -32,22 +35,10 @@ void UpdateRSPRegistersScreen(void);
LRESULT CALLBACK RefreshRSP_RegProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK RSP_Registers_Proc(HWND, UINT, WPARAM, LPARAM);
HWND RSP_Registers_hDlg, hTab, hStatic, hGPR[32], hCP0[16], hHIDDEN[12],
hVECT1[16], hVECT2[16];
HWND RSP_Registers_hDlg, hTab, hStatic, hGPR[32], hCP0[16], hHIDDEN[12], hVECT1[16], hVECT2[16];
int InRSPRegisterWindow = false;
WNDPROC RefreshProc;
// RSP registers
UWORD32 RSP_GPR[32], RSP_Flags[4];
UDWORD RSP_ACCUM[8];
RSPVector RSP_Vect[32];
char * GPR_Strings[32] = {
"R0", "AT", "V0", "V1", "A0", "A1", "A2", "A3",
"T0", "T1", "T2", "T3", "T4", "T5", "T6", "T7",
"S0", "S1", "S2", "S3", "S4", "S5", "S6", "S7",
"T8", "T9", "K0", "K1", "GP", "SP", "S8", "RA"};
void Create_RSP_Register_Window(int Child)
{
DWORD ThreadID;
@ -62,7 +53,7 @@ void Create_RSP_Register_Window(int Child)
if (!InRSPRegisterWindow)
{
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Create_RSP_Register_Window,
(LPVOID)true, 0, &ThreadID);
(LPVOID) true, 0, &ThreadID);
}
else
{

View File

@ -2,12 +2,12 @@
#include "Cpu.h"
#include "Interpreter Ops.h"
#include "RSP Command.h"
#include "RSP registers.h"
#include "Rsp.h"
#include "breakpoint.h"
#include "log.h"
#include "memory.h"
#include "cpu/RSPOpcode.h"
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <float.h>
#include <stdio.h>
#include <windows.h>

View File

@ -1,14 +1,14 @@
#include "CPU.h"
#include "Interpreter CPU.h"
#include "RSP Command.h"
#include "RSP Registers.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "dma.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include "cpu/RSPInstruction.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#include <math.h>
#include <stdio.h>
#include <windows.h>
@ -1244,7 +1244,7 @@ void RSP_Vector_VADD(void)
RSPVector Result;
for (uint8_t el = 0; el < 8; el++)
{
{
temp.W = (int32_t)RSP_Vect[RSPOpC.vs].s16(el) + (int32_t)RSP_Vect[RSPOpC.vt].se(el, RSPOpC.e) + ((RSP_Flags[0].UW >> (7 - el)) & 0x1);
RSP_ACCUM[el].HW[1] = temp.HW[0];
if ((temp.HW[0] & 0x8000) == 0)
@ -2195,9 +2195,9 @@ void RSP_Opcode_LQV(void)
void RSP_Opcode_LRV(void)
{
uint32_t Address = (uint32_t)(RSP_GPR[RSPOpC.base].W + (RSPOpC.voffset << 4)) & 0xFFF;
uint8_t Offset = (0x10 - (Address & 0xF)) + RSPOpC.del;
uint8_t Offset = (uint8_t)((0x10 - (Address & 0xF)) + RSPOpC.del);
Address &= 0xFF0;
for (uint8_t i = Offset; i < 16; i++, Address ++)
for (uint8_t i = Offset; i < 16; i++, Address++)
{
RSP_Vect[RSPOpC.rt].s8(i) = *(RSPInfo.DMEM + ((Address ^ 3) & 0xFFF));
}
@ -2356,7 +2356,7 @@ void RSP_Opcode_SPV(void)
uint32_t Address = (uint32_t)(RSP_GPR[RSPOpC.base].W + (RSPOpC.voffset << 3)) & 0xFFF;
for (uint8_t i = RSPOpC.del, n = (uint8_t)(8 + RSPOpC.del); i < n; i++)
{
if (((i) & 0xF) < 8)
if (((i)&0xF) < 8)
{
*(RSPInfo.DMEM + ((Address ^ 3) & 0xFFF)) = RSP_Vect[RSPOpC.rt].u8(15 - ((i & 0xF) << 1));
}
@ -2373,7 +2373,7 @@ void RSP_Opcode_SUV(void)
uint32_t Address = (uint32_t)(RSP_GPR[RSPOpC.base].W + (RSPOpC.voffset << 3)) & 0xFFF;
for (uint8_t Count = RSPOpC.del; Count < (8 + RSPOpC.del); Count++)
{
if (((Count) & 0xF) < 8)
if (((Count)&0xF) < 8)
{
*(RSPInfo.DMEM + ((Address ^ 3) & 0xFFF)) = ((RSP_Vect[RSPOpC.rt].u8(15 - ((Count & 0x7) << 1)) << 1) + (RSP_Vect[RSPOpC.rt].u8(14 - ((Count & 0x7) << 1)) >> 7)) & 0xFF;
}
@ -2552,7 +2552,7 @@ void rsp_UnknownOpcode(void)
else
{
sprintf(Message, "Unhandled Opcode\n%s\n\nStopping emulation.\n\nWould you like to open the debugger?",
RSPInstruction(*PrgCount, RSPOpC.Value).NameAndParam().c_str());
RSPInstruction(*PrgCount, RSPOpC.Value).NameAndParam().c_str());
response = MessageBoxA(NULL, Message, "Error", MB_YESNO | MB_ICONERROR);
if (response == IDYES)
{

View File

@ -17,15 +17,15 @@
#include "Cpu.h"
#include "Profiling.h"
#include "RSP Command.h"
#include "RSP Registers.h"
#include "Recompiler CPU.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "Version.h"
#include "breakpoint.h"
#include "log.h"
#include "memory.h"
#include "resource.h"
#include <Project64-rsp-core/Version.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
void ClearAllx86Code(void);
void ProcessMenuItem(int ID);
@ -36,12 +36,12 @@ HMENU hRSPMenu = NULL;
bool GraphicsHle = true, AudioHle, ConditionalMove;
bool DebuggingEnabled = false,
Profiling,
IndvidualBlock,
ShowErrors,
BreakOnStart = false,
LogRDP = false,
LogX86Code = false;
Profiling,
IndvidualBlock,
ShowErrors,
BreakOnStart = false,
LogRDP = false,
LogX86Code = false;
uint32_t CPUCore = RecompilerCPU;
void * hMutex = NULL;

View File

@ -1,8 +1,8 @@
#include "RSP registers.h"
#include "Rsp.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <stdio.h>
#include <windows.h>

View File

@ -1,7 +1,7 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#include "Version.h"
#include "../Project64-rsp-core/Version.h"
#define APSTUDIO_READONLY_SYMBOLS

View File

@ -41,15 +41,11 @@
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<PreBuildEvent>
<Command>"$(SolutionDir)Source\Script\UpdateVersion.cmd" "$(Configuration)" "$(Platform)" "$(SolutionDir)Source\Project64-rsp\Version.h.in" "$(SolutionDir)Source\Project64-rsp\Version.h"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="breakpoint.cpp" />
<ClCompile Include="Cpu.cpp" />
<ClCompile Include="cpu\RSPiInstruction.cpp" />
<ClCompile Include="cpu\RspTypes.cpp" />
<ClCompile Include="Debugger\RSPRegistersUI.cpp" />
<ClCompile Include="dma.cpp" />
<ClCompile Include="Interpreter CPU.cpp" />
<ClCompile Include="Interpreter Ops.cpp" />
@ -63,15 +59,13 @@
<ClCompile Include="Recompiler Ops.cpp" />
<ClCompile Include="Recompiler Sections.cpp" />
<ClCompile Include="RSP Command.cpp" />
<ClCompile Include="RSP Register.cpp" />
<ClCompile Include="Sse.cpp" />
<ClCompile Include="X86.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="breakpoint.h" />
<ClInclude Include="Cpu.h" />
<ClInclude Include="cpu\RSPInstruction.h" />
<ClInclude Include="cpu\RSPOpcode.h" />
<ClInclude Include="Debugger\RSPRegistersUI.h" />
<ClInclude Include="dma.h" />
<ClInclude Include="Interpreter CPU.h" />
<ClInclude Include="Interpreter Ops.h" />
@ -91,6 +85,9 @@
<ProjectReference Include="..\Common\Common.vcxproj">
<Project>{b4a4b994-9111-42b1-93c2-6f1ca8bc4421}</Project>
</ProjectReference>
<ProjectReference Include="..\Project64-rsp-core\Project64-rsp-core.vcxproj">
<Project>{7598f6b8-9da6-4897-b26f-f6865f824bf4}</Project>
</ProjectReference>
<ProjectReference Include="..\Settings\Settings.vcxproj">
<Project>{8b9961b1-88d9-4ea3-a752-507a00dd9f3d}</Project>
</ProjectReference>

View File

@ -13,20 +13,14 @@
<UniqueIdentifier>{53b9495d-f564-4b1d-968c-42c816ca2d41}</UniqueIdentifier>
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
<Filter Include="Source Files\cpu">
<UniqueIdentifier>{150686bc-00e7-44b5-bfee-3228ba09841f}</UniqueIdentifier>
<Filter Include="Source Files\Debugger">
<UniqueIdentifier>{d41d8d15-77d5-4506-b6b3-31065749d140}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\cpu">
<UniqueIdentifier>{3054cc35-3f98-4464-9642-ad02eaed525f}</UniqueIdentifier>
<Filter Include="Header Files\Debugger">
<UniqueIdentifier>{2ed17e69-00cd-4d09-9087-ed76cba770f8}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="cpu\RSPInstruction.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
<ClInclude Include="cpu\RSPOpcode.h">
<Filter>Header Files\cpu</Filter>
</ClInclude>
<ClInclude Include="RspTypes.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -75,6 +69,9 @@
<ClInclude Include="X86.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Debugger\RSPRegistersUI.h">
<Filter>Header Files\Debugger</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Project64-rsp.rc">
@ -127,20 +124,14 @@
<ClCompile Include="RSP Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RSP Register.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Sse.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="X86.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="cpu\RSPiInstruction.cpp">
<Filter>Source Files\cpu</Filter>
</ClCompile>
<ClCompile Include="cpu\RspTypes.cpp">
<Filter>Source Files\cpu</Filter>
<ClCompile Include="Debugger\RSPRegistersUI.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -4,13 +4,13 @@
#include "CPU.h"
#include "RSP Command.h"
#include "RSP Registers.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "breakpoint.h"
#include "memory.h"
#include "cpu/RSPOpcode.h"
#include "cpu/RSPInstruction.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#define RSP_MaxCommandLines 30
@ -70,7 +70,7 @@ void Create_RSP_Commands_Window(int Child)
if (!InRSPCommandsWindow)
{
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Create_RSP_Commands_Window,
(LPVOID)true, 0, &ThreadID);
(LPVOID) true, 0, &ThreadID);
}
else
{

View File

@ -3,11 +3,11 @@
#include "RSP Command.h"
#include "Recompiler CPU.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "log.h"
#include "memory.h"
#include "cpu/RSPOpcode.h"
#include "cpu/RSPInstruction.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#include <windows.h>
//#define COMPARE_INSTRUCTIONS_VERBOSE

View File

@ -7,16 +7,16 @@
#include "Interpreter CPU.h"
#include "Profiling.h"
#include "RSP Command.h"
#include "RSP registers.h"
#include "Recompiler CPU.h"
#include "Recompiler Ops.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "log.h"
#include "memory.h"
#include "cpu/RSPOpcode.h"
#include "cpu/RSPInstruction.h"
#include "x86.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#pragma warning(disable : 4152) // Non-standard extension, function/data pointer conversion in expression

View File

@ -1,5 +1,5 @@
#include "cpu/RSPOpcode.h"
#include "cpu/RspTypes.h"
#include <Project64-rsp-core/cpu/RSPOpcode.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
extern uint32_t CompilePC, NextInstruction, JumpTableSize;
extern bool ChangedPC;
@ -54,8 +54,8 @@ extern RSP_BLOCK CurrentBlock;
typedef struct
{
bool bIsRegConst[32]; // bool toggle for constant
DWORD MipsRegConst[32]; // Value of register 32-bit
bool bIsRegConst[32]; // bool toggle for constant
DWORD MipsRegConst[32]; // Value of register 32-bit
DWORD BranchLabels[250];
DWORD LabelCount;
DWORD BranchLocations[250];

View File

@ -3,15 +3,15 @@
#include "Interpreter Ops.h"
#include "Profiling.h"
#include "RSP Command.h"
#include "RSP Registers.h"
#include "Recompiler CPU.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "dma.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include "cpu/RSPInstruction.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#include <stdio.h>
#include <windows.h>

View File

@ -3,15 +3,15 @@
#include "CPU.h"
#include "RSP Command.h"
#include "RSP Registers.h"
#include "Recompiler CPU.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "dma.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include "cpu/RSPInstruction.h"
#include <Project64-rsp-core/cpu/RSPInstruction.h>
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#pragma warning(disable : 4152) // Non-standard extension, function/data pointer conversion in expression

View File

@ -1,8 +1,6 @@
#pragma once
#include <Project64-plugin-spec/Rsp.h>
#include "cpu/RspTypes.h"
#include <stdint.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
// Profiling
#define Default_ProfilingOn false

View File

@ -1,8 +1,8 @@
#include "RSP registers.h"
#include "Rsp.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <stdio.h>
#include <windows.h>

View File

@ -1,12 +1,12 @@
#include <stdio.h>
#include <windows.h>
#include "RSP registers.h"
#include "Rsp.h"
#include "cpu/RspTypes.h"
#include "log.h"
#include "memory.h"
#include "x86.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <Project64-rsp-core/cpu/RspTypes.h>
#pragma warning(disable : 4152) // Non-standard extension, function/data pointer conversion in expression

View File

@ -2,9 +2,9 @@
#include <stdio.h>
#include <string.h>
#include "RSP Registers.h"
#include "Rsp.h"
#include "memory.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
// #define RSP_SAFE_DMA // Unoptimized DMA transfers

View File

@ -6,8 +6,8 @@
#include <windows.h>
#include "Log.h"
#include "Rsp Registers.h"
#include "Rsp.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
CLog * RDPLog = NULL;
CLog * CPULog = NULL;

View File

@ -3,8 +3,8 @@ enum
MaxMaps = 32
};
#include "RSP Registers.h"
#include "Rsp.h"
#include <Project64-rsp-core/cpu/RSPRegisters.h>
#include <windows.h>
DWORD NoOfMaps, MapsCRC[MaxMaps];

View File

@ -1,4 +1,4 @@
#include "cpu/RspTypes.h"
#include <Project64-rsp-core/cpu/RspTypes.h>
int AllocateMemory(void);
void FreeMemory(void);

View File

@ -9,15 +9,16 @@ cd /d %origdir%
set ScanDir[0]="%base_dir%\Source\Common"
set ScanDir[1]="%base_dir%\Source\Project64"
set ScanDir[2]="%base_dir%\Source\Project64-core"
set ScanDir[3]="%base_dir%\Source\RSP"
set ScanDir[3]="%base_dir%\Source\Project64-rsp"
set ScanDir[4]="%base_dir%\Source\Project64-rsp-core"
set ScanFiles[0]="*.cpp"
set ScanFiles[1]="*.h"
set Exclude[0]="%base_dir%\Source\Project64-core\Version.h"
set Exclude[1]="%base_dir%\Source\Project64\UserInterface\resource.h"
set Exclude[2]="%base_dir%\Source\RSP\Version.h"
set Exclude[3]="%base_dir%\Source\RSP\resource.h"
set Exclude[2]="%base_dir%\Source\Project64-rsp-core\Version.h"
set Exclude[3]="%base_dir%\Source\Project64-rsp\resource.h"
set ValidParam=0
if "%1" == "check" set ValidParam=1