Dribs and drabs which have escaped
This commit is contained in:
@@ -462,6 +462,9 @@ cycles_biu(int bus, int init)
|
||||
cycles_idle(5 - BUS_CYCLE); /* Leftover BIU cycles + 2 idle cycles. */
|
||||
BUS_CYCLE_T1; /* Abort the prefetch. */
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
schedule_fetch = 0;
|
||||
@@ -1035,6 +1038,9 @@ do_mod_rm(void)
|
||||
case 2:
|
||||
wait(3, 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
cpu_state.eaaddr = (*mod1add[0][cpu_rm]) + (*mod1add[1][cpu_rm]);
|
||||
easeg = ovr_seg ? *ovr_seg : *mod1seg[cpu_rm];
|
||||
@@ -1049,6 +1055,8 @@ do_mod_rm(void)
|
||||
cpu_state.eaaddr += pfq_fetchw();
|
||||
wait(1, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
cpu_state.eaaddr &= 0xffff;
|
||||
wait(2, 0);
|
||||
@@ -1591,6 +1599,9 @@ alu_op(int bits)
|
||||
case 6:
|
||||
bitwise(bits, (cpu_dest ^ cpu_src));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2274,6 +2285,9 @@ execx86(int cycs)
|
||||
set_af(0);
|
||||
set_pzs(bits);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if ((opcode & 2) != 0)
|
||||
wait(4, 0);
|
||||
@@ -2288,6 +2302,9 @@ execx86(int cycs)
|
||||
BP = pop();
|
||||
handled = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!handled) {
|
||||
@@ -3433,6 +3450,9 @@ execx86(int cycs)
|
||||
set_af(0);
|
||||
set_pzs(bits);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if ((opcode & 2) != 0)
|
||||
wait(4, 0);
|
||||
@@ -3517,6 +3537,9 @@ execx86(int cycs)
|
||||
case 0xDF:
|
||||
ops_sf_fpu_8087_df[rmdat & 0xff](rmdat);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (opcode) {
|
||||
@@ -3544,6 +3567,9 @@ execx86(int cycs)
|
||||
case 0xDF:
|
||||
ops_fpu_8087_df[rmdat & 0xff](rmdat);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3572,6 +3598,9 @@ execx86(int cycs)
|
||||
if (!(cpu_state.flags & Z_FLAG))
|
||||
oldc = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else
|
||||
oldc = (CX == 0);
|
||||
@@ -3744,6 +3773,9 @@ execx86(int cycs)
|
||||
if (x86_div(AL, AH))
|
||||
wait(1, 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3843,6 +3875,9 @@ execx86(int cycs)
|
||||
wait(4, 0);
|
||||
push((uint16_t *) &cpu_data);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ x87_from80(x87_conv_t *test)
|
||||
blah = ((exp64 > 0) ? exp64 : -exp64) & 0x3ff;
|
||||
exp64final = ((exp64 > 0) ? blah : -blah) + BIAS64;
|
||||
|
||||
mant64 = (test->eind.ll >> 11) & (0xfffffffffffffll);
|
||||
mant64 = (test->eind.ll >> 11) & (0xfffffffffffffLL);
|
||||
sign = (test->begin & 0x8000) ? 1 : 0;
|
||||
|
||||
if ((test->begin & 0x7fff) == 0x7fff)
|
||||
@@ -48,19 +48,19 @@ x87_to80(double d, x87_conv_t *test)
|
||||
|
||||
test->eind.d = d;
|
||||
|
||||
sign80 = (test->eind.ll & (0x8000000000000000ll)) ? 1 : 0;
|
||||
exp80 = test->eind.ll & (0x7ff0000000000000ll);
|
||||
sign80 = (test->eind.ll & (0x8000000000000000LL)) ? 1 : 0;
|
||||
exp80 = test->eind.ll & (0x7ff0000000000000LL);
|
||||
exp80final = (exp80 >> 52);
|
||||
mant80 = test->eind.ll & (0x000fffffffffffffll);
|
||||
mant80 = test->eind.ll & (0x000fffffffffffffLL);
|
||||
mant80final = (mant80 << 11);
|
||||
|
||||
if (exp80final == 0x7ff) /*Infinity / Nan*/
|
||||
{
|
||||
exp80final = 0x7fff;
|
||||
mant80final |= (0x8000000000000000ll);
|
||||
mant80final |= (0x8000000000000000LL);
|
||||
} else if (d != 0) { /* Zero is a special case */
|
||||
/* Elvira wants the 8 and tcalc doesn't */
|
||||
mant80final |= (0x8000000000000000ll);
|
||||
mant80final |= (0x8000000000000000LL);
|
||||
/* Ca-cyber doesn't like this when result is zero. */
|
||||
exp80final += (BIAS80 - BIAS64);
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ FSTOR(void)
|
||||
something like this is needed*/
|
||||
p = (uint64_t *) cpu_state.tag;
|
||||
#ifdef USE_NEW_DYNAREC
|
||||
if (cpu_state.MM_w4[0] == 0xffff && cpu_state.MM_w4[1] == 0xffff && cpu_state.MM_w4[2] == 0xffff && cpu_state.MM_w4[3] == 0xffff && cpu_state.MM_w4[4] == 0xffff && cpu_state.MM_w4[5] == 0xffff && cpu_state.MM_w4[6] == 0xffff && cpu_state.MM_w4[7] == 0xffff && !cpu_state.TOP && (*p == 0x0101010101010101ull))
|
||||
if (cpu_state.MM_w4[0] == 0xffff && cpu_state.MM_w4[1] == 0xffff && cpu_state.MM_w4[2] == 0xffff && cpu_state.MM_w4[3] == 0xffff && cpu_state.MM_w4[4] == 0xffff && cpu_state.MM_w4[5] == 0xffff && cpu_state.MM_w4[6] == 0xffff && cpu_state.MM_w4[7] == 0xffff && !cpu_state.TOP && (*p == 0x0101010101010101ULL))
|
||||
#else
|
||||
if (cpu_state.MM_w4[0] == 0xffff && cpu_state.MM_w4[1] == 0xffff && cpu_state.MM_w4[2] == 0xffff && cpu_state.MM_w4[3] == 0xffff && cpu_state.MM_w4[4] == 0xffff && cpu_state.MM_w4[5] == 0xffff && cpu_state.MM_w4[6] == 0xffff && cpu_state.MM_w4[7] == 0xffff && !cpu_state.TOP && !(*p))
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user