diff --git a/emulators/Makefile b/emulators/Makefile index a23b925c5ad7..afe53c0fa4fa 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -1,185 +1,186 @@ COMMENT = Emulators for other operating systems SUBDIR += adamem SUBDIR += almostti SUBDIR += anese SUBDIR += aqemu SUBDIR += aranym SUBDIR += atari800 SUBDIR += bfe SUBDIR += bochs SUBDIR += bsvc SUBDIR += cannonball SUBDIR += catapult SUBDIR += cemu SUBDIR += cingb SUBDIR += citra SUBDIR += citra-qt5 SUBDIR += cpmemu SUBDIR += cpmtools SUBDIR += cpmtools2 SUBDIR += darcnes SUBDIR += dgen-sdl SUBDIR += dolphin-emu SUBDIR += dosbox SUBDIR += dosbox-staging + SUBDIR += dosbox-x SUBDIR += dps8m SUBDIR += dynamips-community SUBDIR += edumips64 SUBDIR += elliott-803 SUBDIR += emu64 SUBDIR += emulationstation SUBDIR += fceux SUBDIR += fmsx SUBDIR += frodo SUBDIR += fs-uae SUBDIR += fs-uae-launcher SUBDIR += fuse SUBDIR += fuse-roms SUBDIR += fuse-utils SUBDIR += gbe SUBDIR += gens SUBDIR += gngb SUBDIR += gngeo SUBDIR += gxemul SUBDIR += hatari SUBDIR += hercules SUBDIR += higan SUBDIR += hugo SUBDIR += hv_kvp_cmd SUBDIR += ines SUBDIR += javatari SUBDIR += joytran SUBDIR += jzintv SUBDIR += kcemu SUBDIR += klh10 SUBDIR += lib765 SUBDIR += libc6-shim SUBDIR += libdsk SUBDIR += libretro-ppsspp SUBDIR += libretro-vice SUBDIR += libspectrum SUBDIR += linux-c7 SUBDIR += linux-power10-functional-sim SUBDIR += linux-power9-functional-sim SUBDIR += linux_base-c7 SUBDIR += lisaem SUBDIR += magia SUBDIR += mame SUBDIR += mastergear SUBDIR += mednafen SUBDIR += mesen SUBDIR += mess SUBDIR += mgba SUBDIR += mtools SUBDIR += mupen64plus SUBDIR += mupen64plus-audio-sdl SUBDIR += mupen64plus-core SUBDIR += mupen64plus-input-sdl SUBDIR += mupen64plus-plugins SUBDIR += mupen64plus-qt SUBDIR += mupen64plus-rsp-cxd4 SUBDIR += mupen64plus-rsp-hle SUBDIR += mupen64plus-rsp-z64 SUBDIR += mupen64plus-ui-console SUBDIR += mupen64plus-video-arachnoid SUBDIR += mupen64plus-video-glide64 SUBDIR += mupen64plus-video-glide64mk2 SUBDIR += mupen64plus-video-rice SUBDIR += mupen64plus-video-z64 SUBDIR += nemu SUBDIR += nestopia SUBDIR += o2em SUBDIR += ods2reader SUBDIR += open-vm-tools SUBDIR += openmsx SUBDIR += p5-Acme-6502 SUBDIR += parallels-tools SUBDIR += pcem SUBDIR += pcemu SUBDIR += pcsxr SUBDIR += ppsspp SUBDIR += ppsspp-qt5 SUBDIR += py-gns3-converter SUBDIR += py-unicorn SUBDIR += qemu SUBDIR += qemu-cheri SUBDIR += qemu-devel SUBDIR += qemu-guest-agent SUBDIR += qemu-powernv SUBDIR += qemu-user-static SUBDIR += qemu-user-static-devel SUBDIR += qemu5 SUBDIR += qmc2 SUBDIR += quasi88 SUBDIR += ripes SUBDIR += riscv-isa-sim SUBDIR += rpcs3 SUBDIR += rtc SUBDIR += rubygem-fission SUBDIR += sameboy SUBDIR += simh SUBDIR += simh-hp2100 SUBDIR += simh-hp3000 SUBDIR += simh-hpdoc SUBDIR += skyeye SUBDIR += snes9x-gtk SUBDIR += spim SUBDIR += stella SUBDIR += stonx SUBDIR += teo SUBDIR += tiemu3 SUBDIR += tilem SUBDIR += tme SUBDIR += tnylpo SUBDIR += tpm-emulator SUBDIR += tuxnes SUBDIR += uae SUBDIR += ucon64 SUBDIR += ukncbtl SUBDIR += unicorn SUBDIR += vba SUBDIR += vboxtool SUBDIR += vgb-bin SUBDIR += vgba-bin SUBDIR += vice SUBDIR += virtualbox-ose SUBDIR += virtualbox-ose-additions SUBDIR += virtualbox-ose-additions-legacy SUBDIR += virtualbox-ose-additions-nox11 SUBDIR += virtualbox-ose-additions-nox11-legacy SUBDIR += virtualbox-ose-kmod SUBDIR += virtualbox-ose-kmod-legacy SUBDIR += virtualbox-ose-legacy SUBDIR += virtualbox-ose-nox11 SUBDIR += virtualbox-ose-nox11-legacy SUBDIR += visualboyadvance-m SUBDIR += vmips SUBDIR += vmsbackup SUBDIR += vmw SUBDIR += vt100 SUBDIR += vxtools SUBDIR += wine SUBDIR += wine-devel SUBDIR += wine-gecko SUBDIR += wine-gecko-devel SUBDIR += wine-mono SUBDIR += wine-mono-devel SUBDIR += wine-proton SUBDIR += winetricks SUBDIR += x16-emulator SUBDIR += x16-rom SUBDIR += x48 SUBDIR += x49gp SUBDIR += xbraitenberg SUBDIR += xcpc SUBDIR += xen-kernel SUBDIR += xhomer SUBDIR += xsystem35 SUBDIR += xzx SUBDIR += yaze-ag SUBDIR += yuzu SUBDIR += z80pack SUBDIR += zsnes .include diff --git a/emulators/dosbox-x/Makefile b/emulators/dosbox-x/Makefile new file mode 100644 index 000000000000..194082c2def2 --- /dev/null +++ b/emulators/dosbox-x/Makefile @@ -0,0 +1,30 @@ +PORTNAME= dosbox-x +DISTVERSIONPREFIX= ${PORTNAME}-v +DISTVERSION= 0.83.24 +CATEGORIES= emulators + +MAINTAINER= nc@FreeBSD.org +COMMENT= DOSBox fork + +LICENSE= GPLv2 + +LIB_DEPENDS= libpng.so:graphics/png + +USES= autoreconf cpe iconv sdl +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-core-inline +USE_SDL= net sdl sound + +USE_GITHUB= yes +GH_ACCOUNT= joncampbell123 + +OPTIONS_DEFINE= DOCS +OPTIONS_RADIO= DEBUGGER +OPTIONS_RADIO_DEBUGGER= DEBUGGER_ENABLE DEBUGGER_HEAVY +DEBUGGER_ENABLE_DESC= Enable internal debugger +DEBUGGER_HEAVY_DESC= Enable internal debugger with extra features + +DEBUGGER_ENABLE_CONFIGURE_ON= --enable-debug=yes +DEBUGGER_HEAVY_CONFIGURE_ON= --enable-debug=heavy + +.include diff --git a/emulators/dosbox-x/distinfo b/emulators/dosbox-x/distinfo new file mode 100644 index 000000000000..ecbf74730c2a --- /dev/null +++ b/emulators/dosbox-x/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1650563722 +SHA256 (joncampbell123-dosbox-x-dosbox-x-v0.83.24_GH0.tar.gz) = f4746f1524cac58756123c7acbbc565e215d7f298a19667fd845dbba040c6021 +SIZE (joncampbell123-dosbox-x-dosbox-x-v0.83.24_GH0.tar.gz) = 64650623 diff --git a/emulators/dosbox-x/files/patch-include_setup.h b/emulators/dosbox-x/files/patch-include_setup.h new file mode 100644 index 000000000000..ca81c0e0316a --- /dev/null +++ b/emulators/dosbox-x/files/patch-include_setup.h @@ -0,0 +1,11 @@ +--- include/setup.h.orig 2022-04-01 04:26:03 UTC ++++ include/setup.h +@@ -20,6 +20,8 @@ + #ifndef DOSBOX_SETUP_H + #define DOSBOX_SETUP_H + ++#include ++ + #ifdef _MSC_VER + //#pragma warning ( disable : 4786 ) + //#pragma warning ( disable : 4290 ) diff --git a/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h b/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h new file mode 100644 index 000000000000..2d0948efeb73 --- /dev/null +++ b/emulators/dosbox-x/files/patch-src_cpu_core_dyn_x86_risc_x86.h @@ -0,0 +1,11 @@ +--- src/cpu/core_dyn_x86/risc_x86.h.orig 2014-12-31 12:59:53.015190887 +0000 ++++ src/cpu/core_dyn_x86/risc_x86.h 2014-12-31 13:00:30.953180886 +0000 +@@ -138,7 +138,7 @@ + "run_return_adress: \n" + "popl %%ebp \n" + :"=a" (retval), "=c" (tempflags) +- :"r" (tempflags),"r" (code) ++ :"a" (tempflags),"r" (code) + :"%edx","%ebx","%edi","%esi","cc","memory" + ); + reg_flags=(reg_flags & ~FMASK_TEST) | (tempflags & FMASK_TEST); diff --git a/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp new file mode 100644 index 000000000000..e677a977b1a3 --- /dev/null +++ b/emulators/dosbox-x/files/patch-src_gui_sdl__gui.cpp @@ -0,0 +1,27 @@ +--- src/gui/sdl_gui.cpp.orig 2022-04-21 18:01:44 UTC ++++ src/gui/sdl_gui.cpp +@@ -3022,7 +3022,7 @@ class ConfigurationWindow : public GUI::ToplevelWindow + std::string url = "https://dosbox-x.com/"; + #if defined(WIN32) + ShellExecute(NULL, "open", url.c_str(), NULL, NULL, SW_SHOWNORMAL); +-#elif defined(LINUX) ++#elif defined(LINUX) || defined(__FreeBSD__) + system(("xdg-open "+url).c_str()); + #elif defined(MACOSX) + system(("open "+url).c_str()); +@@ -3436,7 +3436,7 @@ void GUI_Shortcut(int select) { + PIC_AddEvent(RunCfgTool, 100); + } else + #endif +- RunCfgTool(NULL); ++ RunCfgTool(0); + } + + void GUI_Run(bool pressed) { +@@ -3458,5 +3458,5 @@ void GUI_Run(bool pressed) { + PIC_AddEvent(RunCfgTool, 100); + } else + #endif +- RunCfgTool(NULL); ++ RunCfgTool(0); + } diff --git a/emulators/dosbox-x/pkg-descr b/emulators/dosbox-x/pkg-descr new file mode 100644 index 000000000000..0e6aeae8eaea --- /dev/null +++ b/emulators/dosbox-x/pkg-descr @@ -0,0 +1,3 @@ +DOSBox-X is a cross-platform DOS emulator based on the DOSBox project. + +WWW: https://dosbox-x.com/ diff --git a/emulators/dosbox-x/pkg-plist b/emulators/dosbox-x/pkg-plist new file mode 100644 index 000000000000..0f5fe5d22ffb --- /dev/null +++ b/emulators/dosbox-x/pkg-plist @@ -0,0 +1,57 @@ +bin/dosbox-x +man/man1/dosbox-x.1.gz +share/applications/com.dosbox_x.DOSBox-X.desktop +share/bash-completion/completions/dosbox-x +%%DATADIR%%/CHANGELOG +%%DATADIR%%/FREECG98.BMP +%%DATADIR%%/dosbox-x.reference.conf +%%DATADIR%%/dosbox-x.reference.full.conf +%%DATADIR%%/glshaders/ScanLine.glsl +%%DATADIR%%/glshaders/advinterp2x.glsl +%%DATADIR%%/glshaders/advinterp3x.glsl +%%DATADIR%%/glshaders/advmame2x.glsl +%%DATADIR%%/glshaders/advmame3x.glsl +%%DATADIR%%/glshaders/crt-aperture.glsl +%%DATADIR%%/glshaders/crt-caligari.glsl +%%DATADIR%%/glshaders/crt-easymode.glsl +%%DATADIR%%/glshaders/crt-easymode.tweaked.glsl +%%DATADIR%%/glshaders/crt-geom.glsl +%%DATADIR%%/glshaders/crt-geom.tweaked.glsl +%%DATADIR%%/glshaders/crt-hyllian.glsl +%%DATADIR%%/glshaders/crt-lottes-fast.glsl +%%DATADIR%%/glshaders/crt-lottes-fast.subtle+gain.glsl +%%DATADIR%%/glshaders/crt-lottes.glsl +%%DATADIR%%/glshaders/crt-lottes.tweaked.glsl +%%DATADIR%%/glshaders/crt-nes-mini.glsl +%%DATADIR%%/glshaders/crt-pi.glsl +%%DATADIR%%/glshaders/default.glsl +%%DATADIR%%/glshaders/fakelottes.glsl +%%DATADIR%%/glshaders/fakelottes.tweaked.glsl +%%DATADIR%%/glshaders/none.glsl +%%DATADIR%%/glshaders/pixel_perfect-scanlines.glsl +%%DATADIR%%/glshaders/pixel_perfect.glsl +%%DATADIR%%/glshaders/pixellate.glsl +%%DATADIR%%/glshaders/rgb2x.glsl +%%DATADIR%%/glshaders/rgb3x.glsl +%%DATADIR%%/glshaders/scan2x.glsl +%%DATADIR%%/glshaders/scan3x.glsl +%%DATADIR%%/glshaders/sharp.glsl +%%DATADIR%%/glshaders/tv2x.glsl +%%DATADIR%%/glshaders/tv3x.glsl +%%DATADIR%%/glshaders/xbr-lv2-3d.glsl +%%DATADIR%%/glshaders/xbr-lv2-noblend.glsl +%%DATADIR%%/glshaders/xbr-lv2.glsl +%%DATADIR%%/glshaders/xbr-lv3.glsl +%%DATADIR%%/glshaders/yee64.glsl +%%DATADIR%%/glshaders/yeetron.glsl +%%DATADIR%%/glshaders/zfast_crt.glsl +%%DATADIR%%/translations/en_US.lng +%%DATADIR%%/translations/es_ES.lng +%%DATADIR%%/translations/fr_FR.lng +%%DATADIR%%/translations/ja_JP.lng +%%DATADIR%%/translations/pt_BR.lng +%%DATADIR%%/translations/tr_TR.lng +%%DATADIR%%/translations/zh_CN.lng +%%DATADIR%%/translations/zh_TW.lng +share/icons/hicolor/scalable/apps/dosbox-x.svg +share/metainfo/com.dosbox_x.DOSBox-X.metainfo.xml