sh4: promote opcode 0 as regular NOP
This commit is contained in:
parent
b0f8d947ad
commit
525c2dc88c
|
@ -867,6 +867,7 @@ static bool dec_generic(u32 op)
|
|||
|
||||
default:
|
||||
die("DM_MUL: Failed to classify opcode");
|
||||
return false;
|
||||
}
|
||||
|
||||
Emit(op,rd,rs1,rs2,0,shil_param(),rd2);
|
||||
|
@ -1013,12 +1014,6 @@ bool dec_DecodeBlock(RuntimeBlockInfo* rbi,u32 max_cycles)
|
|||
{
|
||||
u32 op = IReadMem16(state.cpu.rpc);
|
||||
|
||||
if (op==0 && state.cpu.is_delayslot)
|
||||
{
|
||||
INFO_LOG(DYNAREC, "Delayslot 0 hack!");
|
||||
}
|
||||
else
|
||||
{
|
||||
blk->guest_opcodes++;
|
||||
if (!mmu_enabled())
|
||||
{
|
||||
|
@ -1064,7 +1059,6 @@ bool dec_DecodeBlock(RuntimeBlockInfo* rbi,u32 max_cycles)
|
|||
{
|
||||
OpDesc[op]->rec_oph(op);
|
||||
}
|
||||
}
|
||||
state.cpu.rpc+=2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -146,13 +146,11 @@ void ExecuteDelayslot()
|
|||
#endif
|
||||
u32 op = ReadNexOp();
|
||||
|
||||
if (op != 0) // Looney Tunes: Space Race hack
|
||||
ExecuteOpcode(op);
|
||||
#if !defined(NO_MMU)
|
||||
}
|
||||
catch (SH4ThrownException& ex) {
|
||||
AdjustDelaySlotException(ex);
|
||||
//printf("Delay slot exception\n");
|
||||
throw ex;
|
||||
}
|
||||
#endif
|
||||
|
@ -175,10 +173,6 @@ void ExecuteDelayslot_RTE()
|
|||
// every SH4_TIMESLICE cycles
|
||||
int UpdateSystem()
|
||||
{
|
||||
//this is an optimisation (mostly for ARM)
|
||||
//makes scheduling easier !
|
||||
//update_fp* tmu=pUpdateTMU;
|
||||
|
||||
Sh4cntx.sh4_sched_next -= SH4_TIMESLICE;
|
||||
if (Sh4cntx.sh4_sched_next < 0)
|
||||
sh4_sched_tick(SH4_TIMESLICE);
|
||||
|
|
|
@ -143,7 +143,7 @@ sh4_opcodelistentry opcodes[]=
|
|||
{0 ,i0000_0000_0001_1001 ,Mask_none ,0x0019 ,Normal ,"div0u" ,1,1,EX,fix_none ,dec_Fill(DM_DIV0,PRM_RN,PRM_RM,shop_or,1)},//div0u
|
||||
{0 ,i0000_nnnn_0010_1001 ,Mask_n ,0x0029 ,Normal ,"movt <REG_N>" ,1,1,EX,fix_none ,dec_Fill(DM_UnaryOp,PRM_RN,PRM_SR_T,shop_mov32)}, //movt <REG_N>
|
||||
{dec_i0000_0000_0000_1001 ,i0000_0000_0000_1001 ,Mask_none ,0x0009 ,Normal ,"nop" ,1,0,MT,fix_none} ,//nop
|
||||
|
||||
{dec_i0000_0000_0000_1001 ,i0000_0000_0000_1001 ,Mask_none ,0x0000 ,Normal ,"nop0" ,1,0,MT,fix_none} ,//nop0 Looney Tunes: Space Race, Samba de Amigo 2000
|
||||
|
||||
|
||||
{dec_i0000_0000_0010_1011 ,i0000_0000_0010_1011 ,Mask_none ,0x002B ,Branch_dir_d ,"rte" ,5,5,CO,fix_none}, //rte
|
||||
|
@ -441,6 +441,7 @@ void BuildOpcodeTables()
|
|||
break;
|
||||
default:
|
||||
die("Error");
|
||||
return;
|
||||
}
|
||||
for (u32 i=0;i<count;i++)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue