mirror of
https://github.com/holub/mame
synced 2025-06-01 18:41:47 +03:00
[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:
parent
ad1d29db6e
commit
40f3c081f4
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user