mirror of
https://github.com/holub/mame
synced 2025-05-28 08:33:05 +03:00
SoftFloat: fixed sin/cos/tan to return correct results [Hans Ostermeyer]
m68k: sorted out the bit patterns for PFLUSHA and PFLUSHAN [Hans Ostermeyer]
This commit is contained in:
parent
94eeabede8
commit
2d9a9591a3
@ -759,8 +759,8 @@ pack 16 mm ay7 1000...101001111 .......... . . U U U U U . . 1
|
||||
pack 16 mm axy7 1000111101001111 .......... . . U U U U U . . 13 13 13 13 13
|
||||
pack 16 mm . 1000...101001... .......... . . U U U U U . . 13 13 13 13 13
|
||||
pea 32 . . 0100100001...... A..DXWLdx. U U U U U U U 6 6 5 5 5 5 5
|
||||
pflush 32 . . 1111010100011000 .......... . . . . S S . . . . . 4 4 4 TODO: correct timing
|
||||
pflushan 32 . . 1111010100010000 .......... . . . . S S . . . . . 4 4 4 TODO: correct timing
|
||||
pflusha 32 . . 1111010100011... .......... . . . . S S . . . . . 4 4 4 TODO: correct timing
|
||||
pflushan 32 . . 1111010100010... .......... . . . . S S . . . . . 4 4 4 TODO: correct timing
|
||||
pmmu 32 . . 1111000......... .......... . . S S S S S . . 8 8 8 8 8
|
||||
ptest 32 . . 1111010101.01... .......... . . . . S . . . . . . 8 . .
|
||||
reset 0 . . 0100111001110000 .......... S S S S S S S 0 0 0 0 0 0 0
|
||||
@ -8205,11 +8205,11 @@ M68KMAKE_OP(pea, 32, ., .)
|
||||
m68ki_push_32((mc68kcpu), ea);
|
||||
}
|
||||
|
||||
M68KMAKE_OP(pflush, 32, ., .)
|
||||
M68KMAKE_OP(pflusha, 32, ., .)
|
||||
{
|
||||
if ((CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type)) && ((mc68kcpu)->has_pmmu))
|
||||
{
|
||||
logerror("68040: unhandled PFLUSH\n");
|
||||
logerror("68040: unhandled PFLUSHA (ir=%04x)\n", mc68kcpu->ir);
|
||||
return;
|
||||
}
|
||||
m68ki_exception_1111(mc68kcpu);
|
||||
@ -8219,7 +8219,7 @@ M68KMAKE_OP(pflushan, 32, ., .)
|
||||
{
|
||||
if ((CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type)) && ((mc68kcpu)->has_pmmu))
|
||||
{
|
||||
logerror("68040: unhandled PFLUSHAN\n");
|
||||
logerror("68040: unhandled PFLUSHAN (ir=%04x)\n", mc68kcpu->ir);
|
||||
return;
|
||||
}
|
||||
m68ki_exception_1111(mc68kcpu);
|
||||
|
@ -34,7 +34,7 @@ these four paragraphs for those parts of this code that are retained.
|
||||
static const floatx80 floatx80_one = packFloatx80(0, 0x3fff, U64(0x8000000000000000));
|
||||
static const floatx80 floatx80_default_nan = packFloatx80(0, 0xffff, U64(0xffffffffffffffff));
|
||||
|
||||
#define packFloat2x128m(zHi, zLo) {(zLo), (zHi)}
|
||||
#define packFloat2x128m(zHi, zLo) {(zHi), (zLo)}
|
||||
#define PACK_FLOAT_128(hi,lo) packFloat2x128m(LIT64(hi),LIT64(lo))
|
||||
|
||||
#define EXP_BIAS 0x3FFF
|
||||
@ -268,7 +268,7 @@ static floatx80 sincos_approximation(int neg, float128 r, UINT64 quotient)
|
||||
neg = ! neg;
|
||||
|
||||
if (neg)
|
||||
floatx80_chs(result);
|
||||
result = floatx80_chs(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -486,7 +486,7 @@ int floatx80_ftan(floatx80 &a)
|
||||
|
||||
a = float128_to_floatx80(r);
|
||||
if (zSign)
|
||||
floatx80_chs(a);
|
||||
a = floatx80_chs(a);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user