windows: fix TARGET_NO_NVMEM

This commit is contained in:
Stefanos Kornilios Mitsis Poiitidis 2015-08-09 06:26:03 +02:00
parent 924241c01a
commit 365accfde2
4 changed files with 17 additions and 2 deletions

View File

@ -250,6 +250,7 @@ void Sh4_int_Init()
rtc_schid=sh4_sched_register(0,&DreamcastSecond);
sh4_sched_request(rtc_schid,SH4_MAIN_CLOCK);
memset(&p_sh4rcb->cntx, 0, sizeof(p_sh4rcb->cntx));
}
void Sh4_int_Term()

View File

@ -556,7 +556,10 @@ u32 DynaRBI::Relink()
W F32v2 B,S{,M}
*/
#if !defined(TARGET_NO_NVMEM)
extern u8* virt_ram_base;
#endif
#include "hw/sh4/sh4_mmr.h"
enum mem_op_type
@ -584,6 +587,7 @@ void gen_hande(u32 w, u32 sz, u32 mode)
u32 si=x86e->x86_indx;
#ifndef TARGET_NO_NVMEM
if (mode==0)
{
//Buffer
@ -616,7 +620,9 @@ void gen_hande(u32 w, u32 sz, u32 mode)
}
}
}
else if (mode==1)
else
#endif
if (mode==1)
{
//SQ
verify(w==1);

View File

@ -179,7 +179,9 @@ void DYNACALL VERIFYME(u32 addr)
verify((addr>>26)==0x38);
}
#if !defined(TARGET_NO_NVMEM)
extern u8* virt_ram_base;
#endif
/*
@ -500,6 +502,8 @@ void ngen_opcode(RuntimeBlockInfo* block, shil_opcode* op,x86_block* x86e, bool
if (size==8 && optimise)
{
die("unreachable");
#ifdef OPTIMIZATION_GRAVEYARD
verify(op->rd.count()==2 && reg.IsAllocf(op->rd,0) && reg.IsAllocf(op->rd,1));
x86e->Emit(op_mov32,EDX,ECX);
@ -507,6 +511,7 @@ void ngen_opcode(RuntimeBlockInfo* block, shil_opcode* op,x86_block* x86e, bool
x86e->Emit(op_movss,reg.mapfv(op->rd,0),x86_mrm(EDX,x86_ptr(virt_ram_base)));
x86e->Emit(op_movss,reg.mapfv(op->rd,1),x86_mrm(EDX,x86_ptr(4+virt_ram_base)));
break;
#endif
}
if (!isram)
{
@ -649,7 +654,7 @@ void ngen_opcode(RuntimeBlockInfo* block, shil_opcode* op,x86_block* x86e, bool
break;
}
#endif
#ifdef OPTIMIZATION_GRAVEYARD
die("woohoo");
/*
if (size==8 && optimise)
@ -827,6 +832,7 @@ void ngen_opcode(RuntimeBlockInfo* block, shil_opcode* op,x86_block* x86e, bool
}
reg.ThawXMM();
}
#endif
}
done_writem:
break;

View File

@ -126,10 +126,12 @@ LONG ExeptionHandler(EXCEPTION_POINTERS *ExceptionInfo)
{
return EXCEPTION_CONTINUE_EXECUTION;
}
#ifndef TARGET_NO_NVMEM
else if (BM_LockedWrite(address))
{
return EXCEPTION_CONTINUE_EXECUTION;
}
#endif
#if FEAT_SHREC == DYNAREC_JIT && HOST_CPU == CPU_X86
else if ( ngen_Rewrite((unat&)ep->ContextRecord->Eip,*(unat*)ep->ContextRecord->Esp,ep->ContextRecord->Eax) )
{