diff options
author | 2024-05-30 23:33:13 -0400 | |
---|---|---|
committer | 2024-05-30 23:33:13 -0400 | |
commit | 1fc7c61a79c3f0299f32e4ceee352189bba44a78 (patch) | |
tree | 8f6b8cedacdb5fcad422a66dfe15eca767cec9a5 /3rdparty | |
parent | f0c6bb91891784549b79dd40af689a816e412d65 (diff) |
cpu/m68000: FPU now sets the NaN flag for all NaNs, not just signalling. Fixes dendego black screen in attract mode. [R. Belmont]
Diffstat (limited to '3rdparty')
-rw-r--r-- | 3rdparty/softfloat3/bochs_ext/fpatan.c | 5 | ||||
-rw-r--r-- | 3rdparty/softfloat3/bochs_ext/softfloat3_ext.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/3rdparty/softfloat3/bochs_ext/fpatan.c b/3rdparty/softfloat3/bochs_ext/fpatan.c index 88bced6bbd3..27ee41feddf 100644 --- a/3rdparty/softfloat3/bochs_ext/fpatan.c +++ b/3rdparty/softfloat3/bochs_ext/fpatan.c @@ -324,3 +324,8 @@ extFloat80_t extFloat80_68katan(extFloat80_t a) { return extFloat80_atan(a, floatx80_one); } + +int extFloat80_is_nan(extFloat80_t a) +{ + return ((a.signExp & 0x7FFF) == 0x7FFF) && (int64_t)(a.signif << 1); +} diff --git a/3rdparty/softfloat3/bochs_ext/softfloat3_ext.h b/3rdparty/softfloat3/bochs_ext/softfloat3_ext.h index b6f560bb45a..a12675901bc 100644 --- a/3rdparty/softfloat3/bochs_ext/softfloat3_ext.h +++ b/3rdparty/softfloat3/bochs_ext/softfloat3_ext.h @@ -4,6 +4,7 @@ int extFloat80_sincos(extFloat80_t a, extFloat80_t *sin_a, extFloat80_t *cos_a); int extFloat80_sin(extFloat80_t &a); int extFloat80_cos(extFloat80_t &a); int extFloat80_tan(extFloat80_t &a); +int extFloat80_is_nan(extFloat80_t a); extFloat80_t extFloat80_atan(extFloat80_t a, extFloat80_t b); extFloat80_t extFloat80_68katan(extFloat80_t a); extFloat80_t extFloat80_getman(extFloat80_t a); |