[AICA, SCSP] Fixed encoding/decoding of negative denormal floats in the DSP. Shouldn't actually affect any games. (kingshriek, Deunan Knute)

This commit is contained in:
R. Belmont 2008-03-30 00:12:07 +00:00
parent ad1d29db6e
commit 40f3c081f4
2 changed files with 8 additions and 0 deletions

View File

@ -24,6 +24,7 @@ static UINT16 PACK(INT32 val)
else
val <<= 11;
val >>= 11;
val &= 0x7FF;
val |= sign << 15;
val |= exponent << 11;
@ -40,7 +41,10 @@ static INT32 UNPACK(UINT16 val)
mantissa = val & 0x7FF;
uval = mantissa << 11;
if (exponent > 11)
{
exponent = 11;
uval |= sign << 22;
}
else
uval |= (sign ^ 1) << 22;
uval |= sign << 23;

View File

@ -24,6 +24,7 @@ static UINT16 PACK(INT32 val)
else
val <<= 11;
val >>= 11;
val &= 0x7FF;
val |= sign << 15;
val |= exponent << 11;
@ -40,7 +41,10 @@ static INT32 UNPACK(UINT16 val)
mantissa = val & 0x7FF;
uval = mantissa << 11;
if (exponent > 11)
{
exponent = 11;
uval |= sign << 22;
}
else
uval |= (sign ^ 1) << 22;
uval |= sign << 23;