summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2024-05-30 23:33:13 -0400
committer arbee <rb6502@users.noreply.github.com>2024-05-30 23:33:13 -0400
commit1fc7c61a79c3f0299f32e4ceee352189bba44a78 (patch)
tree8f6b8cedacdb5fcad422a66dfe15eca767cec9a5 /3rdparty
parentf0c6bb91891784549b79dd40af689a816e412d65 (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.c5
-rw-r--r--3rdparty/softfloat3/bochs_ext/softfloat3_ext.h1
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);