Download raw body.
update dosbox-x to latest release
ok uaa@
old version cannot build on i386 (esfm.c has error),
this version looks fixed.
thanks for update.
On Fri, 27 Jun 2025 02:28:39 +0900,
Thomas Frohwein wrote:
>
> [1 <text/plain; US-ASCII (7bit)>]
> Hi,
>
> This diff updates dosbox-x to latest release. I tested it with a few
> DOS games without issues.
>
> ok?
> [2 dosbox-x-2025.05.03.diff <text/x-patch (7bit)>]
> ? BUILD.log
> ? obsolete
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/emulators/dosbox-x/Makefile,v
> diff -u -p -r1.5 Makefile
> --- Makefile 4 May 2025 08:37:48 -0000 1.5
> +++ Makefile 26 Jun 2025 17:26:31 -0000
> @@ -2,10 +2,9 @@ BROKEN-sparc64= error:union MMX_reg has
>
> COMMENT= x86 with DOS emulator targeted at playing games
>
> -VERSION= 2024.03.01
> -DISTNAME= dosbox-x-v${VERSION}
> -PKGNAME= dosbox-x-${VERSION}
> -REVISION= 0
> +VERSION= 2025.05.03
> +DISTNAME= dosbox-x-${VERSION}
> +
> CATEGORIES= games x11 emulators
>
> GH_ACCOUNT= joncampbell123
> @@ -61,9 +60,11 @@ post-install:
> ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/dosbox
> ${INSTALL_DATA} ${WRKSRC}/README.debugger ${PREFIX}/share/doc/dosbox
> ${INSTALL_DATA} ${WRKSRC}/README.joystick ${PREFIX}/share/doc/dosbox
> - ${INSTALL_DATA} ${WRKSRC}/README.keyboard-layout-handling ${PREFIX}/share/doc/dosbox
> + ${INSTALL_DATA} ${WRKSRC}/README.keyboard-layout-handling \
> + ${PREFIX}/share/doc/dosbox
> ${INSTALL_DATA} ${WRKSRC}/README.md ${PREFIX}/share/doc/dosbox
> - ${INSTALL_DATA} ${WRKSRC}/README.source-code-description ${PREFIX}/share/doc/dosbox
> + ${INSTALL_DATA} ${WRKSRC}/README.source-code-description \
> + ${PREFIX}/share/doc/dosbox
> ${INSTALL_DATA} ${WRKSRC}/README.video ${PREFIX}/share/doc/dosbox
> ${INSTALL_DATA} ${WRKSRC}/README.xbrz ${PREFIX}/share/doc/dosbox
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/emulators/dosbox-x/distinfo,v
> diff -u -p -r1.2 distinfo
> --- distinfo 9 Mar 2024 13:03:21 -0000 1.2
> +++ distinfo 26 Jun 2025 17:26:31 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (dosbox-x-v2024.03.01.tar.gz) = KonTGW3cFTYfbcfmqxQr/pWUXZPVJ8/Wusyh96QBpRM=
> -SIZE (dosbox-x-v2024.03.01.tar.gz) = 119593920
> +SHA256 (dosbox-x-2025.05.03.tar.gz) = sposnDi/4dHB8kINVGuMJFauLdzkwfa00Z8liEHOFYE=
> +SIZE (dosbox-x-2025.05.03.tar.gz) = 122834930
> Index: patches/patch-src_fpu_fpu_instructions_longdouble_h
> ===================================================================
> RCS file: patches/patch-src_fpu_fpu_instructions_longdouble_h
> diff -N patches/patch-src_fpu_fpu_instructions_longdouble_h
> --- patches/patch-src_fpu_fpu_instructions_longdouble_h 20 Apr 2024 19:21:56 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,123 +0,0 @@
> -- Disable FP exceptions in a portable way
> - 8b362df1f26fceeccb6f3b37bd26880e72db79b2
> -- Update fpu_instructions_longdouble.h
> - 53fe254c9ce25a48dbe11582416cbf3a49516dce
> -
> -Index: src/fpu/fpu_instructions_longdouble.h
> ---- src/fpu/fpu_instructions_longdouble.h.orig
> -+++ src/fpu/fpu_instructions_longdouble.h
> -@@ -16,31 +16,18 @@
> - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
> - */
> -
> -+#include <cfenv> /* for std::feholdexcept */
> - #include <math.h> /* for isinf, etc */
> - #include "cpu/lazyflags.h"
> -
> --#ifdef __GNUC__
> --# if defined(__MINGW32__) || (defined(MACOSX) && !defined(__arm64__))
> --# include "fpu_control_x86.h"
> --# elif defined(ANDROID) || defined(__ANDROID__) || (defined(MACOSX) && defined(__arm64__)) || defined(EMSCRIPTEN) || defined(__powerpc__)
> --/* ? */
> --# define _FPU_SETCW(x) /* dummy */
> --# else
> --# include <fpu_control.h>
> --# endif
> --static inline void FPU_SyncCW(void) {
> -- uint16_t tmp = fpu.cw | 0x80 | 0x3F; // HACK: Disable all FPU exceptions until DOSBox-X can catch and reflect FPU exceptions to the guest
> -- _FPU_SETCW(tmp);
> --}
> --#else
> --static inline void FPU_SyncCW(void) {
> -- /* nothing */
> --}
> --#endif
> --
> - static void FPU_FINIT(void) {
> -+ fenv_t buf;
> -+
> - fpu.cw.init();
> -- FPU_SyncCW();
> -+
> -+ // HACK: Disable all FPU exceptions until DOSBox-X can catch and reflect FPU exceptions to the guest
> -+ std::feholdexcept(&buf);
> -+
> - fpu.sw.init();
> - fpu.tags[0] = TAG_Empty;
> - fpu.tags[1] = TAG_Empty;
> -@@ -290,7 +277,8 @@ static void FPU_FBST(PhysPt addr) {
> - #endif
> -
> - static void FPU_FADD(Bitu op1, Bitu op2){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - // HACK: Set the denormal flag according to whether the source or final result is a denormalized number.
> - // This is vital if we don't want certain DOS programs to mis-detect our FPU emulation as an IIT clone chip when cputype == 286
> - bool was_not_normal = isdenormal(fpu.regs_80[op1].v);
> -@@ -324,7 +312,8 @@ static void FPU_FCOS(void){
> - }
> -
> - static void FPU_FSQRT(void){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[TOP].v = sqrtl(fpu.regs_80[TOP].v);
> - //flags and such :)
> - return;
> -@@ -343,35 +332,40 @@ static void FPU_FPTAN(void){
> - return;
> - }
> - static void FPU_FDIV(Bitu st, Bitu other){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[st].v = fpu.regs_80[st].v/fpu.regs_80[other].v;
> - //flags and such :)
> - return;
> - }
> -
> - static void FPU_FDIVR(Bitu st, Bitu other){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[st].v = fpu.regs_80[other].v/fpu.regs_80[st].v;
> - // flags and such :)
> - return;
> - }
> -
> - static void FPU_FMUL(Bitu st, Bitu other){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[st].v *= fpu.regs_80[other].v;
> - //flags and such :)
> - return;
> - }
> -
> - static void FPU_FSUB(Bitu st, Bitu other){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[st].v = fpu.regs_80[st].v - fpu.regs_80[other].v;
> - //flags and such :)
> - return;
> - }
> -
> - static void FPU_FSUBR(Bitu st, Bitu other){
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - fpu.regs_80[st].v = fpu.regs_80[other].v - fpu.regs_80[st].v;
> - //flags and such :)
> - return;
> -@@ -562,7 +556,8 @@ static void FPU_FLDENV(PhysPt addr, bool op16){
> - tag = static_cast<uint16_t>(mem_readd(addr+8));
> - }
> - FPU_SetTag(tag);
> -- FPU_SyncCW();
> -+ fenv_t buf;
> -+ std::feholdexcept(&buf);
> - }
> -
> - static void FPU_FSAVE(PhysPt addr, bool op16){
> Index: patches/patch-src_gui_midi_cpp
> ===================================================================
> RCS file: /cvs/ports/emulators/dosbox-x/patches/patch-src_gui_midi_cpp,v
> diff -u -p -r1.1.1.1 patch-src_gui_midi_cpp
> --- patches/patch-src_gui_midi_cpp 21 Feb 2024 12:29:10 -0000 1.1.1.1
> +++ patches/patch-src_gui_midi_cpp 26 Jun 2025 17:26:31 -0000
> @@ -1,6 +1,7 @@
> ---- src/gui/midi.cpp.orig Thu Nov 2 18:58:55 2023
> -+++ src/gui/midi.cpp Fri Nov 3 05:13:47 2023
> -@@ -115,6 +115,10 @@ static struct {
> +Index: src/gui/midi.cpp
> +--- src/gui/midi.cpp.orig
> ++++ src/gui/midi.cpp
> +@@ -116,6 +116,10 @@ static struct {
>
> #include "midi_win32.h"
>
--
SASANO Takayoshi (JG1UAA) <uaa@mx5.nisiq.net>
update dosbox-x to latest release