dosbox-x: update to 0.83.23 0.83.23 - Fixed XGA accelerated rendering for ViRGE emulation and 24 bits/pixel display modes. Since Windows drivers insist on 24bpp, this is necessary for "Truecolor (24-bit)" to display and render correctly. - dosbox.conf option "vesa vbe 1.2 modes are 32bpp" is now "true" "false" or "auto", where "auto" determines this setting based on which S3 chipset is being emulated. It seems the Windows drivers for ViRGE chipsets require 24bpp for truecolor modes, in fact, they do not even offer 32bpp as an option. Since the Windows 3.1/95/98 drivers use VESA BIOS calls to set video modes, this implies that the VESA BIOS on ViRGE cards are also making the base modes 24bpp rather than 32bpp. Note that the Windows drivers for older S3 chipsets are perfectly happy to use 32bpp unless you select "16.7 million colors (1 Meg)" in Windows 3.1, which is the only option in those drivers to offer 24bpp. To avoid grief with DOSBox-X users, "auto" is the default setting. - Added basic S3 ViRGE XGA acceleration. It's enough for 90% of the GDI functions in Windows 3.1 so far. - Fixed S3 rectangle XGA accelerated pattern blit, when using display memory as the pattern mask source, to follow S3 Trio32/Trio64 documentation, instead of the DOSBox SVN educated guess, to resolve some edge cases where the wrong color is chosen to draw filled rectangles in Windows 3.1. This fixes the "basement" in Microsoft Creative Writer so that clicking around no longer leaves white boxes on the screen. - Extend 256-color foreground/background color behavior from S3 86c928 to Vision864 and Vision868 as Windows 95 behavior suggests they handle the hardware cursor the same way in 256-color mode. - Extend "divide cursor X position by bytes per pixel" behavior from S3 86c928 to Vision864 and Vision868 emulation as well, based on Windows 3.1 video driver behavior. - Gravis Ultrasound: Most I/O registers except port 3x4 are intended for 8-bit I/O. If 16-bit I/O occurs to such registers, handle as two 8-bit I/O cycles. I found something in the Demoscene (1997 demo "Atlantis, Deep Like A Sea") that uses a 16-bit I/O write to write current channel and register select in one write. Prior to this fix, there was no music other than quiet popping noises in DOSBox-X. - Sound Blaster: Fixed DSP command 0x48 (Set DSP block transfer size) to accept block size as BYTES as standardized by Creative and convert to SAMPLES internally. This fixes stuttering voices in Freddy Pharkas when sbtype=sb16. (joncampbell123) - Avoid crashes due to assertion failure when media keys are pressed (maron2000) - Fix CD audio playback failure (cue + mp3) when trying to play from pregap sectors. (maron2000) - Change default value of mt32.rate to 48kHz to match default value of mt32.analog option. (maron2000) - Fix a buffer overflow issue in dos.cpp (maron2000)diff -r1.32 -r1.33 pkgsrc/emulators/dosbox-x/Makefile
(nia)
@@ -1,17 +1,16 @@ | @@ -1,17 +1,16 @@ | |||
1 | # $NetBSD: Makefile,v 1.32 2021/12/08 16:04:15 adam Exp $ | 1 | # $NetBSD: Makefile,v 1.33 2022/03/04 07:41:14 nia Exp $ | |
2 | 2 | |||
3 | DISTNAME= dosbox-x-0.83.16 | 3 | DISTNAME= dosbox-x-0.83.23 | |
4 | PKGREVISION= 3 | |||
5 | CATEGORIES= emulators | 4 | CATEGORIES= emulators | |
6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=joncampbell123/} | 5 | MASTER_SITES= ${MASTER_SITE_GITHUB:=joncampbell123/} | |
7 | GITHUB_TAG= dosbox-x-v${PKGVERSION_NOREV} | 6 | GITHUB_TAG= dosbox-x-v${PKGVERSION_NOREV} | |
8 | 7 | |||
9 | MAINTAINER= nia@NetBSD.org | 8 | MAINTAINER= nia@NetBSD.org | |
10 | HOMEPAGE= https://dosbox-x.com/ | 9 | HOMEPAGE= https://dosbox-x.com/ | |
11 | COMMENT= DOSBox fork with enhancements | 10 | COMMENT= DOSBox fork with enhancements | |
12 | LICENSE= gnu-gpl-v2 | 11 | LICENSE= gnu-gpl-v2 | |
13 | 12 | |||
14 | WRKSRC= ${WRKDIR}/dosbox-x-${GITHUB_TAG} | 13 | WRKSRC= ${WRKDIR}/dosbox-x-${GITHUB_TAG} | |
15 | GNU_CONFIGURE= yes | 14 | GNU_CONFIGURE= yes | |
16 | USE_TOOLS+= autoconf autoreconf automake pkg-config | 15 | USE_TOOLS+= autoconf autoreconf automake pkg-config | |
17 | USE_LANGUAGES= c c++ | 16 | USE_LANGUAGES= c c++ | |
@@ -34,38 +33,31 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n | @@ -34,38 +33,31 @@ TOOL_DEPENDS+= nasm>=2.14:../../devel/n | |||
34 | .endif | 33 | .endif | |
35 | 34 | |||
36 | .if ${MACHINE_ARCH} != "i386" && \ | 35 | .if ${MACHINE_ARCH} != "i386" && \ | |
37 | ${MACHINE_ARCH} != "x86_64" && \ | 36 | ${MACHINE_ARCH} != "x86_64" && \ | |
38 | ${MACHINE_ARCH} != "aarch64" && \ | 37 | ${MACHINE_ARCH} != "aarch64" && \ | |
39 | ${MACHINE_ARCH} != "earmv6hf" && \ | 38 | ${MACHINE_ARCH} != "earmv6hf" && \ | |
40 | ${MACHINE_ARCH} != "earmv7hf" | 39 | ${MACHINE_ARCH} != "earmv7hf" | |
41 | CONFIGURE_ARGS+= --disable-dynamic-core | 40 | CONFIGURE_ARGS+= --disable-dynamic-core | |
42 | .else | 41 | .else | |
43 | # LOG: Setting execute permission on the code cache has failed | 42 | # LOG: Setting execute permission on the code cache has failed | |
44 | NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x | 43 | NOT_PAX_MPROTECT_SAFE+= bin/dosbox-x | |
45 | .endif | 44 | .endif | |
46 | 45 | |||
47 | PKGCONFIG_OVERRIDE+= vs2015/libpng/libpng.pc.in | |||
48 | PKGCONFIG_OVERRIDE+= vs2015/sdl/sdl.pc.in | |||
49 | PKGCONFIG_OVERRIDE+= vs2015/sdl2/sdl2.pc.in | |||
50 | PKGCONFIG_OVERRIDE+= vs2015/sdlnet/SDL_net.pc.in | |||
51 | PKGCONFIG_OVERRIDE+= vs2015/zlib/zlib.pc.in | |||
52 | ||||
53 | INSTALLATION_DIRS+= bin share/dosbox-x | 46 | INSTALLATION_DIRS+= bin share/dosbox-x | |
54 | INSTALLATION_DIRS+= share/applications | 47 | INSTALLATION_DIRS+= share/applications | |
55 | INSTALLATION_DIRS+= share/pixmaps | 48 | INSTALLATION_DIRS+= share/pixmaps | |
56 | 49 | |||
57 | CHECK_PORTABILITY_SKIP+= vs2015/sdl2/build-scripts/androidbuildlibs.sh | 50 | CHECK_PORTABILITY_SKIP+= vs/sdl2/build-scripts/*.sh | |
58 | CHECK_PORTABILITY_SKIP+= vs2015/sdl2/build-scripts/iosbuild.sh | |||
59 | CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh | 51 | CHECK_PORTABILITY_SKIP+= make-flatpak-sdl2.sh | |
60 | CHECK_PORTABILITY_SKIP+= make-flatpak.sh | 52 | CHECK_PORTABILITY_SKIP+= make-flatpak.sh | |
61 | # [[ is used in an developer target that isn't useful for us | 53 | # [[ is used in an developer target that isn't useful for us | |
62 | CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am | 54 | CHECK_PORTABILITY_SKIP+= Makefile.in Makefile.am | |
63 | 55 | |||
64 | BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast | 56 | BUILDLINK_TRANSFORM+= rm:-Wno-int-to-void-pointer-cast | |
65 | BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member | 57 | BUILDLINK_TRANSFORM+= rm:-Wno-address-of-packed-member | |
66 | 58 | |||
67 | pre-configure: | 59 | pre-configure: | |
68 | cd ${WRKSRC} && autoreconf -fi | 60 | cd ${WRKSRC} && autoreconf -fi | |
69 | 61 | |||
70 | do-install: | 62 | do-install: | |
71 | ${INSTALL_PROGRAM} ${WRKSRC}/src/dosbox-x ${DESTDIR}${PREFIX}/bin | 63 | ${INSTALL_PROGRAM} ${WRKSRC}/src/dosbox-x ${DESTDIR}${PREFIX}/bin |
@@ -1,9 +1,9 @@ | @@ -1,9 +1,9 @@ | |||
1 | $NetBSD: distinfo,v 1.19 2021/10/26 10:23:48 nia Exp $ | 1 | $NetBSD: distinfo,v 1.20 2022/03/04 07:41:14 nia Exp $ | |
2 | 2 | |||
3 | BLAKE2s (dosbox-x-0.83.16.tar.gz) = 521ff7f0d9a88c0f967cfbb2637969259528d0871bfcd10e6c05a327dc32ee0c | 3 | BLAKE2s (dosbox-x-0.83.23.tar.gz) = d6cff5e7e54f3f63757bf0f41f2aa6c635c5bc7c029ebb5b69a0d2c55afe2b8c | |
4 | SHA512 (dosbox-x-0.83.16.tar.gz) = f2be5a3d16d2377719a78b9e0f98ef69128370d951e67257b58ba4fb5dc654e40dae14773cf2cf89104406a4608b58dcc89f70cbd00e03e41979cb4d9f23ba99 | 4 | SHA512 (dosbox-x-0.83.23.tar.gz) = 26ca2fd8753cee8c4c931c54b6a0d0af11144c6b770c16f2b482386b06529ce1567e74d355fb9163e9801e833b4546482469e67def80e1aa1b93652663f31fbe | |
5 | Size (dosbox-x-0.83.16.tar.gz) = 61998617 bytes | 5 | Size (dosbox-x-0.83.23.tar.gz) = 64494344 bytes | |
6 | SHA1 (patch-configure.ac) = 906aa99b5fce6224ef4c001d9bba1e4fc89a34f9 | 6 | SHA1 (patch-configure.ac) = 906aa99b5fce6224ef4c001d9bba1e4fc89a34f9 | |
7 | SHA1 (patch-include_dosbox.h) = 6f7397b4a611511fc1782b1603c9f5cd51b74eb9 | 7 | SHA1 (patch-include_dosbox.h) = 6f7397b4a611511fc1782b1603c9f5cd51b74eb9 | |
8 | SHA1 (patch-src_dos_dos__programs.cpp) = 1f64cdd66c5b850609dbe7634f60da96fba7655e | 8 | SHA1 (patch-src_dos_dos__programs.cpp) = 64444c54b319fbfc7de7219d88fa6add953a0fb0 | |
9 | SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6 | 9 | SHA1 (patch-src_libs_physfs_physfs__platform__unix.c) = 5cde2acf3691478f1d91945b3942c968af2eadc6 |
@@ -1,20 +1,21 @@ | @@ -1,20 +1,21 @@ | |||
1 | $NetBSD: patch-src_dos_dos__programs.cpp,v 1.2 2021/08/10 11:03:50 nia Exp $ | 1 | $NetBSD: patch-src_dos_dos__programs.cpp,v 1.3 2022/03/04 07:41:14 nia Exp $ | |
2 | 2 | |||
3 | dos_programs.cpp: In member function 'bool AUTOTYPE::ReadDoubleArg(const string&, const char*, const double&, const double&, const double&, double&)': | 3 | dos_programs.cpp: In member function 'bool AUTOTYPE::ReadDoubleArg(const string&, const char*, const double&, const double&, const double&, double&)': | |
4 | dos_programs.cpp:5556:12: error: expected unqualified-id before '(' token | 4 | dos_programs.cpp:5556:12: error: expected unqualified-id before '(' token | |
5 | if (std::isfinite(user_value)) { | 5 | if (std::isfinite(user_value)) { | |
6 | 6 | |||
7 | --- src/dos/dos_programs.cpp.orig 2021-08-01 07:45:55.000000000 +0000 | 7 | --- src/dos/dos_programs.cpp.orig 2022-03-01 02:12:39.000000000 +0000 | |
8 | +++ src/dos/dos_programs.cpp | 8 | +++ src/dos/dos_programs.cpp | |
9 | @@ -6446,11 +6446,7 @@ bool AUTOTYPE::ReadDoubleArg(const std:: | 9 | @@ -6756,11 +6756,7 @@ bool AUTOTYPE::ReadDoubleArg(const std:: | |
10 | if (cmd->FindString(flag, str_value, true)) { | 10 | if (cmd->FindString(flag, str_value, true)) { | |
11 | // Can the user's value be parsed? | 11 | // Can the user's value be parsed? | |
12 | const double user_value = to_finite<double>(str_value); | 12 | const double user_value = to_finite<double>(str_value); | |
13 | -#if defined(MACOSX) || defined(EMSCRIPTEN) || ((defined(ANDROID) || defined(__ANDROID__)) && defined(__clang__)) | 13 | -#if defined(__FreeBSD__) || defined(MACOSX) || defined(EMSCRIPTEN) || ((defined(ANDROID) || defined(__ANDROID__)) && defined(__clang__)) | |
14 | if (isfinite(user_value)) { /* *sigh* Really, clang, really? */ | 14 | - if (isfinite(user_value)) { /* *sigh* Really, clang, really? */ | |
15 | -#else | 15 | -#else | |
16 | - if (std::isfinite(user_value)) { | 16 | - if (std::isfinite(user_value)) { | |
17 | -#endif | 17 | -#endif | |
18 | + if (isfinite(user_value)) { | |||
18 | result = true; | 19 | result = true; | |
19 | 20 | |||
20 | // Clamp the user's value if needed | 21 | // Clamp the user's value if needed |