2019-01-14 09:18:43 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
uint32_t pc;
|
2022-07-18 08:31:00 +00:00
|
|
|
R4300iOpcode opcode;
|
2019-01-14 09:18:43 +00:00
|
|
|
MIPS_DWORD gpr[32];
|
|
|
|
MIPS_DWORD gprHi;
|
|
|
|
MIPS_DWORD gprLo;
|
|
|
|
float fpr[32];
|
|
|
|
uint32_t fpcr;
|
|
|
|
} CPUState;
|
|
|
|
|
|
|
|
class CCPULog
|
|
|
|
{
|
|
|
|
size_t m_Size;
|
|
|
|
bool m_bMaxed;
|
|
|
|
size_t m_Index;
|
2022-09-26 02:31:54 +00:00
|
|
|
CPUState * m_Array;
|
2019-01-14 09:18:43 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
CCPULog(size_t size = 0);
|
|
|
|
~CCPULog(void);
|
|
|
|
void PushState(void);
|
|
|
|
size_t GetCount(void);
|
|
|
|
size_t GetSize(void);
|
2022-09-26 02:31:54 +00:00
|
|
|
CPUState * GetEntry(size_t index);
|
2019-01-14 09:18:43 +00:00
|
|
|
void Reset(void);
|
2022-09-26 02:31:54 +00:00
|
|
|
CCPULog * Clone(void);
|
|
|
|
void DumpToFile(const char * path);
|
2019-01-14 09:18:43 +00:00
|
|
|
};
|