Added prefetch timing approximation for 286/386 CPUs, with configurable memory timing.

This commit is contained in:
SarahW 2016-11-25 21:32:02 +00:00
commit 1b73963997
33 changed files with 1139 additions and 261 deletions

View file

@ -11,6 +11,7 @@ static int opAAA(uint32_t fetchdat)
flags &= ~(A_FLAG | C_FLAG);
AL &= 0xF;
CLOCK_CYCLES(is486 ? 3 : 4);
PREFETCH_RUN(is486 ? 3 : 4, 1, -1, 0,0,0,0, 0);
return 0;
}
@ -22,6 +23,7 @@ static int opAAD(uint32_t fetchdat)
AH = 0;
setznp16(AX);
CLOCK_CYCLES((is486) ? 14 : 19);
PREFETCH_RUN(is486 ? 14 : 19, 2, -1, 0,0,0,0, 0);
return 0;
}
@ -33,6 +35,7 @@ static int opAAM(uint32_t fetchdat)
AL %= base;
setznp16(AX);
CLOCK_CYCLES((is486) ? 15 : 17);
PREFETCH_RUN(is486 ? 15 : 17, 2, -1, 0,0,0,0, 0);
return 0;
}
@ -49,6 +52,7 @@ static int opAAS(uint32_t fetchdat)
flags &= ~(A_FLAG | C_FLAG);
AL &= 0xF;
CLOCK_CYCLES(is486 ? 3 : 4);
PREFETCH_RUN(is486 ? 3 : 4, 1, -1, 0,0,0,0, 0);
return 0;
}
@ -75,6 +79,7 @@ static int opDAA(uint32_t fetchdat)
flags_rebuild();
flags |= tempw;
CLOCK_CYCLES(4);
PREFETCH_RUN(4, 1, -1, 0,0,0,0, 0);
return 0;
}
@ -102,6 +107,7 @@ static int opDAS(uint32_t fetchdat)
flags_rebuild();
flags |= tempw;
CLOCK_CYCLES(4);
PREFETCH_RUN(4, 1, -1, 0,0,0,0, 0);
return 0;
}