More CPU sanitisation.
This commit is contained in:
parent
1b8a1e79af
commit
5b58b202a1
5 changed files with 20 additions and 30 deletions
34
src/808x.c
34
src/808x.c
|
|
@ -29,13 +29,21 @@ uint64_t xt_cpu_multi;
|
||||||
int nmi = 0;
|
int nmi = 0;
|
||||||
int nmi_auto_clear = 0;
|
int nmi_auto_clear = 0;
|
||||||
|
|
||||||
int nextcyc=0;
|
int oldcpl;
|
||||||
int cycdiff;
|
|
||||||
|
int tempc;
|
||||||
|
static int noint=0;
|
||||||
|
|
||||||
|
int output=0;
|
||||||
|
int timetolive=0;
|
||||||
|
int ins=0;
|
||||||
|
|
||||||
int is8086=0;
|
int is8086=0;
|
||||||
|
|
||||||
|
int nextcyc=0;
|
||||||
int memcycs;
|
int memcycs;
|
||||||
int nopageerrors=0;
|
|
||||||
|
|
||||||
|
static int cycdiff;
|
||||||
void FETCHCOMPLETE();
|
void FETCHCOMPLETE();
|
||||||
|
|
||||||
#define IRQTEST ((cpu_state.flags & I_FLAG) && (pic.pend&~pic.mask) && !noint)
|
#define IRQTEST ((cpu_state.flags & I_FLAG) && (pic.pend&~pic.mask) && !noint)
|
||||||
|
|
@ -88,15 +96,6 @@ void writememl(uint32_t s, uint32_t a, uint32_t v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int oldcpl;
|
|
||||||
|
|
||||||
int tempc;
|
|
||||||
uint16_t pc2,pc3;
|
|
||||||
static int noint=0;
|
|
||||||
|
|
||||||
int output=0;
|
|
||||||
|
|
||||||
int ins=0;
|
|
||||||
//#define readmemb(a) (((a)<0xA0000)?ram[a]:readmembl(a))
|
//#define readmemb(a) (((a)<0xA0000)?ram[a]:readmembl(a))
|
||||||
|
|
||||||
int fetchcycles=0,memcycs,fetchclocks;
|
int fetchcycles=0,memcycs,fetchclocks;
|
||||||
|
|
@ -475,7 +474,6 @@ void makeznptable()
|
||||||
|
|
||||||
// makemod1table();
|
// makemod1table();
|
||||||
}
|
}
|
||||||
int timetolive=0;
|
|
||||||
|
|
||||||
int indump = 0;
|
int indump = 0;
|
||||||
|
|
||||||
|
|
@ -492,7 +490,6 @@ void dumpregs()
|
||||||
// savenvr();
|
// savenvr();
|
||||||
// return;
|
// return;
|
||||||
chdir(logs_path);
|
chdir(logs_path);
|
||||||
nopageerrors=1;
|
|
||||||
/* f=fopen("rram3.dmp","wb");
|
/* f=fopen("rram3.dmp","wb");
|
||||||
for (c=0;c<0x8000000;c++) putc(readmemb(c+0x10000000),f);
|
for (c=0;c<0x8000000;c++) putc(readmemb(c+0x10000000),f);
|
||||||
fclose(f);*/
|
fclose(f);*/
|
||||||
|
|
@ -599,12 +596,10 @@ void dumpregs()
|
||||||
indump = 0;
|
indump = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int resets = 0;
|
|
||||||
int x86_was_reset = 0;
|
int x86_was_reset = 0;
|
||||||
void resetx86()
|
void resetx86()
|
||||||
{
|
{
|
||||||
pclog("x86 reset\n");
|
pclog("x86 reset\n");
|
||||||
resets++;
|
|
||||||
ins = 0;
|
ins = 0;
|
||||||
use32=0;
|
use32=0;
|
||||||
cpu_cur_status = 0;
|
cpu_cur_status = 0;
|
||||||
|
|
@ -1109,11 +1104,8 @@ void rep(int fv)
|
||||||
|
|
||||||
|
|
||||||
static int inhlt=0;
|
static int inhlt=0;
|
||||||
int firstrepcycle;
|
|
||||||
static int skipnextprint=0;
|
static int skipnextprint=0;
|
||||||
|
|
||||||
int instime=0;
|
|
||||||
//#if 0
|
|
||||||
void execx86(int cycs)
|
void execx86(int cycs)
|
||||||
{
|
{
|
||||||
uint8_t temp,temp2;
|
uint8_t temp,temp2;
|
||||||
|
|
@ -1133,10 +1125,6 @@ void execx86(int cycs)
|
||||||
{
|
{
|
||||||
uint8_t opcode;
|
uint8_t opcode;
|
||||||
|
|
||||||
// old83=old82;
|
|
||||||
// old82=old8;
|
|
||||||
// if (pc==0x96B && cs==0x9E040) { printf("Hit it\n"); output=1; timetolive=150; }
|
|
||||||
// if (pc<0x8000) printf("%04X : %04X %04X %04X %04X %04X %04X %04X %04X %04X %04X %04X %04X %02X %04X %i\n",pc,AX,BX,CX,DX,cs>>4,ds>>4,es>>4,ss>>4,DI,SI,BP,SP,opcode,flags,disctime);
|
|
||||||
cycdiff=cycles;
|
cycdiff=cycles;
|
||||||
current_diff = 0;
|
current_diff = 0;
|
||||||
cycles-=nextcyc;
|
cycles-=nextcyc;
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,18 @@ pcem_LDADD += wx.res
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !HAS_OFF64T
|
if !HAS_OFF64T
|
||||||
pcem_CFLAGS += -Doff64_t=off_t -Dfopen64=fopen -Dfseeko64=fseek -Dftello64=ftell
|
#pcem_CFLAGS += -Doff64_t=off_t -Dfopen64=fopen -Dfseeko64=fseek -Dftello64=ftell
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if RELEASE_BUILD
|
if RELEASE_BUILD
|
||||||
pcem_CFLAGS += -DRELEASE_BUILD
|
pcem_CFLAGS += -DRELEASE_BUILD
|
||||||
pcem_CXXFLAGS += -DRELEASE_BUILD
|
pcem_CXXFLAGS += -DRELEASE_BUILD
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
pcem_CFLAGS += -mtune=cortex-a53
|
||||||
|
pcem_CXXFLAGS += -mtune=cortex-a53
|
||||||
|
#pcem_LDFLAGS = -flto -O3 -mtune=cortex-a15
|
||||||
|
|
||||||
|
# pcem_CFLAGS += -fprofile-use
|
||||||
|
# pcem_CXXFLAGS += -fprofile-use
|
||||||
|
# pcem_LDFLAGS = -fprofile-use
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,6 @@ COMPILE_TIME_ASSERT(sizeof(cpu_state) <= 128);
|
||||||
uint32_t oldds,oldss,olddslimit,oldsslimit,olddslimitw,oldsslimitw;
|
uint32_t oldds,oldss,olddslimit,oldsslimit,olddslimitw,oldsslimitw;
|
||||||
|
|
||||||
extern int ins,output;
|
extern int ins,output;
|
||||||
extern int cycdiff;
|
|
||||||
|
|
||||||
x86seg gdt,ldt,idt,tr;
|
x86seg gdt,ldt,idt,tr;
|
||||||
x86seg _oldds;
|
x86seg _oldds;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ extern uint8_t *ram,*rom;
|
||||||
extern uint8_t romext[32768];
|
extern uint8_t romext[32768];
|
||||||
extern int readlnum,writelnum;
|
extern int readlnum,writelnum;
|
||||||
extern int memspeed[11];
|
extern int memspeed[11];
|
||||||
extern int nopageerrors;
|
|
||||||
extern uint32_t biosmask;
|
extern uint32_t biosmask;
|
||||||
|
|
||||||
void mem_mapping_add(mem_mapping_t *mapping,
|
void mem_mapping_add(mem_mapping_t *mapping,
|
||||||
|
|
|
||||||
4
src/pc.c
4
src/pc.c
|
|
@ -561,8 +561,6 @@ void runpc()
|
||||||
cpu_recomp_evicted_latched = cpu_recomp_evicted;
|
cpu_recomp_evicted_latched = cpu_recomp_evicted;
|
||||||
cpu_recomp_reuse_latched = cpu_recomp_reuse;
|
cpu_recomp_reuse_latched = cpu_recomp_reuse;
|
||||||
cpu_recomp_removed_latched = cpu_recomp_removed;
|
cpu_recomp_removed_latched = cpu_recomp_removed;
|
||||||
cpu_reps_latched = cpu_reps;
|
|
||||||
cpu_notreps_latched = cpu_notreps;
|
|
||||||
|
|
||||||
cpu_recomp_blocks = 0;
|
cpu_recomp_blocks = 0;
|
||||||
cpu_state.cpu_recomp_ins = 0;
|
cpu_state.cpu_recomp_ins = 0;
|
||||||
|
|
@ -572,8 +570,6 @@ void runpc()
|
||||||
cpu_recomp_evicted = 0;
|
cpu_recomp_evicted = 0;
|
||||||
cpu_recomp_reuse = 0;
|
cpu_recomp_reuse = 0;
|
||||||
cpu_recomp_removed = 0;
|
cpu_recomp_removed = 0;
|
||||||
cpu_reps = 0;
|
|
||||||
cpu_notreps = 0;
|
|
||||||
|
|
||||||
updatestatus=1;
|
updatestatus=1;
|
||||||
readlnum=writelnum=0;
|
readlnum=writelnum=0;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue