2023-06-01 11:46:23 +00:00
|
|
|
#include <Windows.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#define NORMAL 0
|
|
|
|
#define DO_DELAY_SLOT 1
|
|
|
|
#define DELAY_SLOT 2
|
|
|
|
#define DELAY_SLOT_DONE 3
|
|
|
|
#define DELAY_SLOT_EXIT 4
|
|
|
|
#define DELAY_SLOT_EXIT_DONE 5
|
|
|
|
#define JUMP 6
|
|
|
|
#define SINGLE_STEP 7
|
|
|
|
#define SINGLE_STEP_DONE 8
|
|
|
|
#define FINISH_BLOCK 9
|
|
|
|
#define FINISH_SUB_BLOCK 10
|
2016-01-27 09:11:59 +00:00
|
|
|
|
2023-06-01 07:41:26 +00:00
|
|
|
extern DWORD RSP_NextInstruction, RSP_JumpTo;
|
|
|
|
extern uint32_t RSP_MfStatusCount;
|
2016-01-27 09:11:59 +00:00
|
|
|
|
2021-03-19 05:43:56 +00:00
|
|
|
// Standard MIPS PC-relative branch
|
|
|
|
// Returns the new PC, based on whether the condition passes
|
|
|
|
|
2016-01-27 09:11:59 +00:00
|
|
|
unsigned int RSP_branch_if(int condition);
|
|
|
|
|
|
|
|
void BuildInterpreterCPU(void);
|
|
|
|
DWORD RunInterpreterCPU(DWORD Cycles);
|