Merge pull request #685 from lioncash/cpregs
dyncom: Set the MPCore CP15 register reset values on initialization.
This commit is contained in:
commit
14dcd98653
9 changed files with 217 additions and 134 deletions
|
@ -68,6 +68,14 @@ void ARM_DynCom::SetCPSR(u32 cpsr) {
|
|||
state->Cpsr = cpsr;
|
||||
}
|
||||
|
||||
u32 ARM_DynCom::GetCP15Register(CP15Register reg) {
|
||||
return state->CP15[reg];
|
||||
}
|
||||
|
||||
void ARM_DynCom::SetCP15Register(CP15Register reg, u32 value) {
|
||||
state->CP15[reg] = value;
|
||||
}
|
||||
|
||||
void ARM_DynCom::AddTicks(u64 ticks) {
|
||||
down_count -= ticks;
|
||||
if (down_count < 0)
|
||||
|
|
|
@ -22,6 +22,8 @@ public:
|
|||
void SetReg(int index, u32 value) override;
|
||||
u32 GetCPSR() const override;
|
||||
void SetCPSR(u32 cpsr) override;
|
||||
u32 GetCP15Register(CP15Register reg) override;
|
||||
void SetCP15Register(CP15Register reg, u32 value) override;
|
||||
|
||||
void AddTicks(u64 ticks) override;
|
||||
|
||||
|
|
|
@ -3700,7 +3700,6 @@ unsigned InterpreterMainLoop(ARMul_State* state) {
|
|||
#define OPCODE_1 inst_cream->opcode_1
|
||||
#define OPCODE_2 inst_cream->opcode_2
|
||||
#define CRm inst_cream->crm
|
||||
#define CP15_REG(n) cpu->CP15[CP15(n)]
|
||||
#define RD cpu->Reg[inst_cream->Rd]
|
||||
#define RD2 cpu->Reg[inst_cream->Rd + 1]
|
||||
#define RN cpu->Reg[inst_cream->Rn]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue