aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emulators/mame/Makefile191
-rw-r--r--emulators/mame/distinfo6
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_include_bx_bx.h12
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_makefile13
-rw-r--r--emulators/mame/files/patch-3rdparty_genie_build_gmake.freebsd_genie.make63
-rw-r--r--emulators/mame/files/patch-3rdparty_genie_src_host_scripts.c16
-rw-r--r--emulators/mame/files/patch-3rdparty_genie_src_tools_gcc.lua15
-rw-r--r--emulators/mame/files/patch-3rdparty_genie_tests_test__gmake__cpp.lua15
-rw-r--r--emulators/mame/files/patch-makefile30
-rw-r--r--emulators/mame/files/patch-scripts_genie.lua34
-rw-r--r--emulators/mame/files/patch-scripts_src_main.lua21
-rw-r--r--emulators/mame/files/patch-scripts_src_osd_modules.lua43
-rw-r--r--emulators/mame/files/patch-scripts_src_osd_sdl.lua24
-rw-r--r--emulators/mame/files/patch-scripts_src_osd_sdl__cfg.lua45
-rw-r--r--emulators/mame/files/patch-src_devices_cpu_sh_sh7021.cpp10
-rw-r--r--emulators/mame/files/patch-src_devices_cpu_sh_sh7032.cpp10
-rw-r--r--emulators/mame/files/patch-src_osd_modules_render_bgfx_shadermanager.cpp21
-rw-r--r--emulators/mame/files/patch-src_osd_sdl_sdlprefix.h2
-rw-r--r--emulators/mame/pkg-plist566
19 files changed, 354 insertions, 783 deletions
diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile
index 8252e5a0efba..79486591c88a 100644
--- a/emulators/mame/Makefile
+++ b/emulators/mame/Makefile
@@ -1,6 +1,5 @@
PORTNAME= mame
-DISTVERSION= 0.259
-PORTREVISION= 1
+DISTVERSION= 0.261
CATEGORIES= emulators games
MAINTAINER= agh@riseup.net
@@ -22,6 +21,8 @@ ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le
ONLY_FOR_ARCHS_REASON= not yet ported to any architecture other than armv7, arm64, x86, and powerpc*
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/py-sphinxcontrib-svg2pdfconverter@${PY_FLAVOR} \
+ asio>0:net/asio \
+ genie:devel/genie \
glm>0:math/glm \
rapidjson>0:devel/rapidjson
LIB_DEPENDS= libexpat.so:textproc/expat2 \
@@ -30,12 +31,11 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \
libfreetype.so:print/freetype2 \
libportmidi.so:audio/portmidi \
libpugixml.so:textproc/pugixml \
- libutf8proc.so:textproc/utf8proc \
- libuv.so:devel/libuv
+ libutf8proc.so:textproc/utf8proc
RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
-USES= compiler:c++17-lang gl gmake jpeg localbase lua:54 pkgconfig \
- python:3.9,build sdl shebangfix sqlite:3 xorg
+USES= compiler:c++17-lang gl gmake jpeg llvm:min=16 localbase \
+ pkgconfig python:3.9,build sdl shebangfix sqlite:3 xorg
USE_GITHUB= yes
GH_ACCOUNT= mamedev
@@ -45,16 +45,20 @@ USE_SDL= sdl2 ttf2
USE_XORG= x11 xext xi xinerama xrender
MAKEFILE= makefile
-MAKE_ARGS= TARGETOS=freebsd \
- VERBOSE=1
-MAKE_ENV= LDOPTS="${LDFLAGS}" \
- NO_USE_PORTAUDIO=1 \
+MAKE_ARGS= SILENT= \
+ verbose=yes
+MAKE_ENV= NO_USE_PORTAUDIO=1 \
NO_USE_PULSEAUDIO=1 \
NOWERROR=1 \
- OPT_FLAGS="${CXXFLAGS}" \
+ OVERRIDE_AR="llvm-ar${LLVM_VERSION}" \
+ OVERRIDE_CC="clang${LLVM_VERSION}" \
+ OVERRIDE_CXX="clang++${LLVM_VERSION}" \
+ OVERRIDE_LD="lld${LLVM_VERSION}" \
PRECOMPILE=0 \
PYTHON_EXECUTABLE="${PYTHON_CMD}" \
+ TARGETOS=freebsd \
USE_PCAP=1 \
+ USE_SYSTEM_LIB_ASIO=1 \
USE_SYSTEM_LIB_EXPAT=1 \
USE_SYSTEM_LIB_FLAC=1 \
USE_SYSTEM_LIB_GLM=1 \
@@ -64,69 +68,92 @@ MAKE_ENV= LDOPTS="${LDFLAGS}" \
USE_SYSTEM_LIB_RAPIDJSON=1 \
USE_SYSTEM_LIB_SQLITE3=1 \
USE_SYSTEM_LIB_UTF8PROC=1 \
- USE_SYSTEM_LIB_UV=1 \
USE_SYSTEM_LIB_ZLIB=1 \
USE_TAPTUN=1
CFLAGS_aarch64= -march=armv8-a+crc+crypto
+EXTRACT_AFTER_ARGS= ${_DIST_EXCLUDES:S,^,--exclude ,}
+
SUB_FILES= mame.ini pkg-message plugin.ini ui.ini
PORTDOCS= html/*
-OPTIONS_DEFINE= DEBUG DOCS NLS QTDEBUGGER TOOLS
-OPTIONS_SUB= yes
-
-DEBUG_DESC= Build with debug profiling and symbols
-DOCS_DESC= Install extensive online MAME documentation
-NLS_DESC= Install language translations for use in the GUI
-QTDEBUGGER_DESC= Build with Qt interactive low-level machine debugger
-TOOLS_DESC= Install tools for machine archiving and development
-
-DEBUG_MAKE_ENV= DEBUG=1 \
- OPTIMIZE=0 \
- PROFILER=1 \
- SYMBOLS=1
-DEBUG_MAKE_ENV_OFF= OPTIMIZE=2 \
- STRIP_SYMBOLS=1
+OPTIONS_DEFINE= DOCS NLS OPENMP QTDEBUGGER SSE2 TOOLS
+OPTIONS_RADIO= BUILDTYPE
+OPTIONS_RADIO_BUILDTYPE= DEBUG SIZE_OPTIMIZED_CFLAGS \
+ SPEED_OPTIMIZED_CFLAGS
+.if !exists(/usr/include/omp.h)
+OPTIONS_EXCLUDE= OPENMP
+.endif
+OPTIONS_SUB= yes
+
+BUILDTYPE_DESC= Application production type
+DEBUG_DESC= Produce profiling data, and symbols for debugging
+DOCS_DESC= Install extensive online MAME documentation
+NLS_DESC= Install language translations for use in the GUI
+QTDEBUGGER_DESC= Build with Qt interactive low-level machine debugger
+SIZE_OPTIMIZED_CFLAGS_DESC= Optimize for smaller binaries (-Os)
+SPEED_OPTIMIZED_CFLAGS_DESC= Optimize for faster binaries (-O3)
+SSE2_DESC= Build with Streaming SIMD Extensions 2
+TOOLS_DESC= Additional tools for archiving, development, and multimedia
+
+DEBUG_MAKE_ENV= DEBUG=1 \
+ OPTIMIZE=g \
+ STRIP_SYMBOLS=0
+DEBUG_MAKE_ENV_OFF= STRIP_SYMBOLS=1
# Attempt to avoid address space exhaustion during linking, specifically
# on armv7, and possibly other architectures:
-DEBUG_LDFLAGS_OFF= -s
-NLS_USES= gettext-runtime
-QTDEBUGGER_USES= qt:5
-QTDEBUGGER_USE= QT=core,gui,widgets,buildtools:build,qmake:build
-QTDEBUGGER_MAKE_ENV= USE_QTDEBUG=1
-QTDEBUGGER_MAKE_ENV_OFF= USE_QTDEBUG=0
-TOOLS_MAKE_ENV= TOOLS=1
-TOOLS_MAKE_ENV_OFF= TOOLS=0
-
-_GENIE= ${WRKSRC}/3rdparty/genie
+DEBUG_LDFLAGS_OFF= -s
+NLS_USES= gettext-runtime
+OPENMP_MAKE_ENV= OPENMP=1
+OPENMP_MAKE_ENV_OFF= OPENMP=0
+QTDEBUGGER_USES= qt:6
+QTDEBUGGER_USE= QT=base,tools:build
+QTDEBUGGER_MAKE_ENV= QT_HOME="${PREFIX}" \
+ USE_QTDEBUG=1
+QTDEBUGGER_MAKE_ENV_OFF= USE_QTDEBUG=0
+SIZE_OPTIMIZED_CFLAGS_MAKE_ENV= OPTIMIZE=s
+SIZE_OPTIMIZED_CFLAGS_CXXFLAGS= -Os
+SPEED_OPTIMIZED_CFLAGS_MAKE_ENV= OPTIMIZE=3
+SPEED_OPTIMIZED_CFLAGS_CXXFLAGS= -O3
+SSE2_MAKE_ENV= SSE2=1
+SSE2_MAKE_ENV_OFF= SSE2=0
+TOOLS_MAKE_ENV= TOOLS=1
+TOOLS_MAKE_ENV_OFF= TOOLS=0
+
+# man page for command line utility that is not built at all:
+_DIST_EXCLUDES= docs/man/ldplayer.1
+# Libraries, and shaders for proprietary platforms:
+_DIST_EXCLUDES+= "bgfx/shaders/dx*" \
+ 3rdparty/bgfx/examples/runtime/shaders/dx11 \
+ 3rdparty/bgfx/examples/runtime/shaders/metal \
+ 3rdparty/dxsdk bgfx/shaders/metal
+# Headers that mask system abstractions required to build MAME:
+_DIST_EXCLUDES+= 3rdparty/bx/include/compat/freebsd/dirent.h \
+ 3rdparty/bx/include/compat/freebsd/signal.h
+# Make use of Ports instead of bundled libraries:
+_DIST_EXCLUDES+= 3rdparty/expat 3rdparty/glm 3rdparty/libflac \
+ 3rdparty/libjpeg 3rdparty/portmidi 3rdparty/pugixml \
+ 3rdparty/rapidjson 3rdparty/sqlite3 \
+ 3rdparty/utf8proc 3rdparty/zlib
+# Bundled libraries not used at all:
+_DIST_EXCLUDES+= 3rdparty/genie 3rdparty/portaudio 3rdparty/tap-windows6
+# pre-built GENie binaries for other platforms:
+_DIST_EXCLUDES+= 3rdparty/bx/tools/bin
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MDEBUG}
-WITH_DEBUG= yes
+.if ${ARCH:Maarch64} || ${ARCH:Mamd64} || ${ARCH:Mpowerpc64*}
+MAKE_ENV+= PTR64=1
.endif
-.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1400000
-.if ${ARCH:Mpowerpc*}
-USES+= llvm:min=16,build
-.else
-USES+= llvm:15,build
-.endif
-MAKE_ENV+= OVERRIDE_AR="llvm-ar${LLVM_VERSION}" \
- OVERRIDE_CC="clang${LLVM_VERSION}" \
- OVERRIDE_CXX="clang++${LLVM_VERSION}" \
- OVERRIDE_LD="lld${LLVM_VERSION}"
+# Compiling with -pg (PROFILE) causes the linker to run out of memory on i386,
+# build with less profiling data:
+.if ${ARCH:Mi386}
+DEBUG_MAKE_ENV+= PROFILER=1
.else
-MAKE_ENV+= OVERRIDE_AR="${AR}" \
- OVERRIDE_CC="${CC}" \
- OVERRIDE_CXX="${CXX}" \
- OVERRIDE_LD="${LD}"
-.endif
-
-.if ${ARCH:Maarch64} || ${ARCH:Mamd64} || ${ARCH:Mpowerpc64*}
-MAKE_ARGS+= PTR64=1
+DEBUG_MAKE_ENV+= PROFILE=1
.endif
post-extract:
@@ -134,27 +161,30 @@ post-extract:
${WRKSRC}/src/lib/util/localpng.h
post-patch:
-# Prefer some system headers over bundled.
- ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
- ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
-# Accommodate GENie conception of BSD.
- ${MV} ${_GENIE}/build/gmake.freebsd \
- ${_GENIE}/build/gmake.bsd
# Patch build to use bundled PNG.
${GREP} -rl '"png.h"' ${WRKSRC}/src | \
${XARGS} ${REINPLACE_CMD} -e 's|"png.h"|"localpng.h"|'
${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
${WRKSRC}/src/frontend/mame/ui/icorender.cpp
+# Patch build to use GENie from Ports:
+ ${REINPLACE_CMD} -e 's|%%GENIE_PREFIX%%|${PREFIX}/bin/|' \
+ ${WRKSRC}/makefile \
+ ${WRKSRC}/3rdparty/bx/makefile
do-build-DOCS-on:
(cd ${WRKSRC}/docs && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} html SPHINXBUILD=sphinx-build-${PYTHON_VER})
- ${RM} ${WRKSRC}/docs/build/html/.buildinfo
post-build:
(cd ${WRKSRC}/docs && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} man SPHINXBUILD=sphinx-build-${PYTHON_VER})
- ${FIND} ${WRKSRC}/language -type f -name "*.po" -delete
+
+post-build-TOOLS-on:
+.for EXTRA_TOOL in nl virtual
+ (cd ${WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} SUBTARGET=${EXTRA_TOOL} \
+ TOOLS=0)
+.endfor
do-install:
.for DATA in artwork bgfx ctrlr ini hash plugins samples
@@ -171,38 +201,27 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/keymaps/km_${KEYMAP}_LINUX.map \
${STAGEDIR}${DATADIR}/keymaps/km_${KEYMAP}.map
.endfor
- ${INSTALL_MAN} ${WRKSRC}/docs/build/man/MAME.1 \
+ ${INSTALL_MAN} ${WRKSRC}/docs/build/man/${PORTNAME:tu}.1 \
${STAGEDIR}${PREFIX}/share/man/man1
- ${INSTALL_MAN} ${WRKSRC}/docs/man/mame.6 \
+ ${INSTALL_MAN} ${WRKSRC}/docs/man/${PORTNAME}.6 \
${STAGEDIR}${PREFIX}/share/man/man6
-
-do-install-DEBUG-on:
- ${INSTALL_PROGRAM} ${WRKSRC}/mamed \
- ${STAGEDIR}${PREFIX}/bin/mame
-
-do-install-DEBUG-off:
- ${INSTALL_PROGRAM} ${WRKSRC}/mame \
- ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/docs/build && \
- ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
+ ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR} "! -name .buildinfo -not -regex ^./_sources.*")
do-install-NLS-on:
(cd ${WRKSRC} && \
- ${COPYTREE_SHARE} language ${STAGEDIR}${DATADIR})
+ ${COPYTREE_SHARE} language ${STAGEDIR}${DATADIR} "! -name *.po")
do-install-TOOLS-on:
-.for PROGRAM in castool chdman floptool imgtool jedutil ldresample ldverify \
- nltool nlwav pngcmp regrep romcmp split srcclean testkeys unidasm
- ${INSTALL_PROGRAM} ${WRKSRC}/${PROGRAM} \
- ${STAGEDIR}${PREFIX}/bin
-.endfor
-.for MANUAL in castool chdman floptool imgtool jedutil ldplayer ldresample \
- ldverify romcmp
- ${INSTALL_MAN} ${WRKSRC}/docs/man/${MANUAL}.1 \
+ ${FIND} ${WRKSRC} -depth 1 -type f -and ! -type d -and ! -name ${PORTNAME} \
+ -perm -o=+x -exec ${INSTALL_PROGRAM} {} ${STAGEDIR}${PREFIX}/bin/ \
+ \;
+ ${INSTALL_MAN} ${WRKSRC}/docs/man/*.1 \
${STAGEDIR}${PREFIX}/share/man/man1
-.endfor
.include <bsd.port.mk>
diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo
index c6c3ad610364..12829bb47368 100644
--- a/emulators/mame/distinfo
+++ b/emulators/mame/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696318535
-SHA256 (mamedev-mame-0.259-mame0259_GH0.tar.gz) = 46baf431079a3373ffe8d984b3ba5d62ad5b1d5e356d1f60cf60f6ad03d4cec6
-SIZE (mamedev-mame-0.259-mame0259_GH0.tar.gz) = 205063121
+TIMESTAMP = 1701211578
+SHA256 (mamedev-mame-0.261-mame0261_GH0.tar.gz) = 51d5ce1563897709ceb7a924c31a70cc5ff2bec466aab8d0cc9ff3cc72b38899
+SIZE (mamedev-mame-0.261-mame0261_GH0.tar.gz) = 205499989
diff --git a/emulators/mame/files/patch-3rdparty_bx_include_bx_bx.h b/emulators/mame/files/patch-3rdparty_bx_include_bx_bx.h
new file mode 100644
index 000000000000..ae933531b0a4
--- /dev/null
+++ b/emulators/mame/files/patch-3rdparty_bx_include_bx_bx.h
@@ -0,0 +1,12 @@
+ Remove conflict with system alloca.
+
+--- 3rdparty/bx/include/bx/bx.h.orig 2023-11-10 16:47:29 UTC
++++ 3rdparty/bx/include/bx/bx.h
+@@ -6,7 +6,6 @@
+ #ifndef BX_H_HEADER_GUARD
+ #define BX_H_HEADER_GUARD
+
+-#include <alloca.h> // alloca
+ #include <stdarg.h> // va_list
+ #include <stdint.h> // uint32_t
+ #include <stdlib.h> // size_t
diff --git a/emulators/mame/files/patch-3rdparty_bx_makefile b/emulators/mame/files/patch-3rdparty_bx_makefile
new file mode 100644
index 000000000000..33c6ab6f25d9
--- /dev/null
+++ b/emulators/mame/files/patch-3rdparty_bx_makefile
@@ -0,0 +1,13 @@
+ Remove hard coded genie binary to enable depending on devel/genie.
+
+--- 3rdparty/bx/makefile.orig 2023-10-23 15:53:41 UTC
++++ 3rdparty/bx/makefile
+@@ -3,7 +3,7 @@
+ # License: https://github.com/bkaradzic/bx/blob/master/LICENSE
+ #
+
+-GENIE=../bx/tools/bin/$(OS)/genie
++GENIE=%%GENIE_PREFIX%%genie
+
+ all:
+ $(GENIE) vs2017
diff --git a/emulators/mame/files/patch-3rdparty_genie_build_gmake.freebsd_genie.make b/emulators/mame/files/patch-3rdparty_genie_build_gmake.freebsd_genie.make
deleted file mode 100644
index d528ea1d3b91..000000000000
--- a/emulators/mame/files/patch-3rdparty_genie_build_gmake.freebsd_genie.make
+++ /dev/null
@@ -1,63 +0,0 @@
---- 3rdparty/genie/build/gmake.freebsd/genie.make.orig 2023-05-26 04:14:50 UTC
-+++ 3rdparty/genie/build/gmake.freebsd/genie.make
-@@ -28,9 +28,9 @@ endif
- RM = $(SILENT) del /F "$(subst /,\\,$(1))" 2> nul || exit 0
- endif
-
--CC = gcc
--CXX = g++
--AR = ar
-+CC ?= gcc
-+CXX ?= g++
-+AR ?= ar
-
- ifndef RESCOMP
- ifdef WINDRES
-@@ -49,17 +49,17 @@ ifeq ($(config),release)
- DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
- INCLUDES += -I"../../src/host/lua-5.3.0/src"
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
-- ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
-- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
-- ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
-- ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
-- ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
-+ ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -Os $(MPARAM)
-+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -Os $(MPARAM)
-+ ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -Os $(MPARAM)
-+ ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -Os $(MPARAM)
-+ ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -Os $(MPARAM)
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- ALL_LDFLAGS += $(LDFLAGS) -L. -s -rdynamic
- LDDEPS +=
- LIBS += $(LDDEPS) -lm
- EXTERNAL_LIBS +=
-- LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)
-+ LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
- OBJECTS := \
- $(OBJDIR)/src/host/lua-5.3.0/src/lapi.o \
- $(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o \
-@@ -132,17 +132,17 @@ ifeq ($(config),debug)
- DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
- INCLUDES += -I"../../src/host/lua-5.3.0/src"
- ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
-- ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
-- ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
-- ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
-- ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
-- ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
-+ ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -g
-+ ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -g
-+ ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -g
-+ ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -g
-+ ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) -Wall -Wextra -g
- ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
- ALL_LDFLAGS += $(LDFLAGS) -L. -rdynamic
- LDDEPS +=
- LIBS += $(LDDEPS) -lm
- EXTERNAL_LIBS +=
-- LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)
-+ LINKCMD = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
- OBJECTS := \
- $(OBJDIR)/src/host/lua-5.3.0/src/lapi.o \
- $(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o \
diff --git a/emulators/mame/files/patch-3rdparty_genie_src_host_scripts.c b/emulators/mame/files/patch-3rdparty_genie_src_host_scripts.c
deleted file mode 100644
index 044cf87ada38..000000000000
--- a/emulators/mame/files/patch-3rdparty_genie_src_host_scripts.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- 3rdparty/genie/src/host/scripts.c.orig 2023-05-22 09:40:13 UTC
-+++ 3rdparty/genie/src/host/scripts.c
-@@ -237,10 +237,10 @@ const char* builtin_scripts[] = {
- "exit 0')\n_p(' COPY = $(SILENT) copy /Y \"$(subst /,\\\\\\\\,$(1))\" \"$(subst /,\\\\\\\\,$(2))\"')\n_p(' RM = $(SILENT) del /F \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p('endif')\n_p('')\n_p('CC = %s', cc.cc)\n_p('CXX = %s', cc.cxx)\n_p('AR = %s', cc.ar)\n_p('')\n_p('ifndef RESCOMP')\n_p(' ifdef WINDRES')\n_p(' RESCOMP = $(WINDRES)')\n_p(' else')\n_p(' RESCOMP = %s', cc.rc or 'windres')\n_p(' endif')\n_p('endif')\n_p('')\nif (not premake.make.makefile_ignore) then\n_p('MAKEFILE = %s', _MAKE.getmakefilename(prj, true))\n_p('')\nend\nend\nlocal function is_excluded(prj, cfg, file)\nif table.icontains(prj.excludes, file) then\nreturn true\nend\nif table.icontains(cfg.excludes, file) then\nreturn true\nend\nreturn false\nend\nfunction premake.gmake_cpp_configs(prj, cc, platforms)\nfor _, platform in ipairs(platforms) do\nfor cfg in premake.eachconfig(prj, platform) do\npremake.gmake_cpp_config(prj, cfg, cc)\nend\nend\nend\nfunction premake.gmake_cpp_config(prj, cfg, cc)\n_p('ifeq ($(conf"
- "ig),%s)', _MAKE.esc(cfg.shortname))\ncpp.platformtools(cfg, cc)\nlocal targetDir = _MAKE.esc(cfg.buildtarget.directory)\n_p(' ' .. (table.contains(premake.make.override,\"OBJDIR\") and \"override \" or \"\") .. 'OBJDIR = %s', _MAKE.esc(cfg.objectsdir))\n_p(' ' .. (table.contains(premake.make.override,\"TARGETDIR\") and \"override \" or \"\") .. 'TARGETDIR = %s', iif(targetDir == \"\", \".\", targetDir))\n_p(' ' .. (table.contains(premake.make.override,\"TARGET\") and \"override \" or \"\") .. 'TARGET = $(TARGETDIR)/%s', _MAKE.esc(cfg.buildtarget.name))\n_p(' DEFINES +=%s', make.list(_MAKE.escquote(cc.getdefines(cfg.defines))))\nlocal id = make.list(cc.getincludedirs(cfg.includedirs));\nlocal uid = make.list(cc.getquoteincludedirs(cfg.userincludedirs))\nlocal sid = make.list(cc.getsystemincludedirs(cfg.systemincludedirs))\nif id ~= \"\" then\n_p(' INCLUDES +=%s', id)\nend\nif uid ~= \"\" then\n_p(' INCLUDES +=%s', uid)\nend\nif sid "
- "~= \"\" then\n_p(' INCLUDES +=%s', sid)\nend\ncpp.pchconfig(cfg)\ncpp.flags(cfg, cc)\ncpp.linker(prj, cfg, cc)\ntable.sort(cfg.files)\nif cfg.flags.UseObjectResponseFile then\n_p(' OBJRESP = $(OBJDIR)/%s_objects', prj.name)\nelse\n_p(' OBJRESP =')\nend\n_p(' OBJECTS := \\\\')\nfor _, file in ipairs(cfg.files) do\nif path.issourcefile(file) then\nif not is_excluded(prj, cfg, file) then\n_p('\\t$(OBJDIR)/%s.o \\\\'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n)\nend\nend\nend\n_p('')\n_p(' define PREBUILDCMDS')\nif #cfg.prebuildcommands > 0 then\n_p('\\t@echo Running pre-build commands')\n_p('\\t%s', table.implode(cfg.prebuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define PRELINKCMDS')\nif #cfg.prelinkcommands > 0 then\n_p('\\t@echo Running pre-link commands')\n_p('\\t%s', table.implode(cfg.prelinkcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define POSTBUILDCMDS')\nif #cfg.postbuildcommands > 0 then\n_p('\\t@echo Running post-bui"
-- "ld commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p(' CC = %s', platform.cc)\nend\nif platform.cxx then\n_p(' CXX = %s', platform.cxx)\nend\nif platform.ar then\n_p(' AR = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheader and not cfg.flags.NoPCH then\n_p(' FORCE_INCLUDE += -include $(OBJDIR)/$(notdir $(PCH))')\n_p(' FORCE_INCLUDE_OBJC += -include $(OBJDIR)/$(notdir $(PCH))_objc')\nend\nif #cfg.forcedincludes > 0 then\n_p(' FORCE_INCLUDE += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p(' ALL_CPPFLAGS += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p(' ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), c"
-- "fg.buildoptions, cfg.buildoptions_asm)))\n_p(' ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p(' ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p(' ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p(' ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objcpp)))\n_p(' ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n make.list(table.join(cc.getdefines(cfg.resdefines),\n cc.getincludedirs(cfg.resincludedirs), cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg, cc)\nlocal libdeps\nl"
-+ "ld commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p(' CC = %s', platform.cc)\nend\nif platform.cxx then\n_p(' CXX = %s', platform.cxx)\nend\nif platform.ar then\n_p(' AR = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheader and not cfg.flags.NoPCH then\n_p(' FORCE_INCLUDE += -include $(OBJDIR)/$(notdir $(PCH))')\n_p(' FORCE_INCLUDE_OBJC += -include $(OBJDIR)/$(notdir $(PCH))_objc')\nend\nif #cfg.forcedincludes > 0 then\n_p(' FORCE_INCLUDE += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p(' ALL_CPPFLAGS += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p(' ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), c"
-+ "fg.buildoptions, cfg.buildoptions_asm)))\n_p(' ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p(' ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p(' ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p(' ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objcpp)))\n_p(' ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n make.list(table.join(cc.getdefines(cfg.resdefines),\n cc.getincludedirs(cfg.resincludedirs), cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg, cc)\nlocal libdeps\nl"
- "ocal lddeps\nif #cfg.wholearchive > 0 then\nlibdeps = {}\nlddeps = {}\nfor _, linkcfg in ipairs(premake.getlinks(cfg, \"siblings\", \"object\")) do\nlocal linkpath = path.rebase(linkcfg.linktarget.fullpath, linkcfg.location, cfg.location)\nif table.icontains(cfg.wholearchive, linkcfg.project.name) then\nlddeps = table.join(lddeps, cc.wholearchive(linkpath))\nelse\ntable.insert(lddeps, linkpath)\nend\ntable.insert(libdeps, linkpath)\nend\nlibdeps = make.list(_MAKE.esc(libdeps))\nlddeps = make.list(_MAKE.esc(lddeps))\nelse\nlibdeps = make.list(_MAKE.esc(premake.getlinks(cfg, \"siblings\", \"fullpath\")))\nlddeps = libdeps\nend\n_p(' ALL_LDFLAGS += $(LDFLAGS)%s', make.list(table.join(cc.getlibdirflags(cfg), cc.getldflags(cfg), cfg.linkoptions)))\n_p(' LIBDEPS +=%s', libdeps)\n_p(' LDDEPS +=%s', lddeps)\nif cfg.flags.UseLDResponseFile then\n_p(' LDRESP = $(OBJDIR)/%s_libs', prj.name)\n_p(' LIBS += @$(LDRESP)%s', make.list(cc.getlinkflags(cfg)))\nelse"
-- "\n_p(' LDRESP =')\n_p(' LIBS += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nend\n_p(' EXTERNAL_LIBS +=%s', make.list(cc.getlibfiles(cfg)))\n_p(' LINKOBJS = %s', (cfg.flags.UseObjectResponseFile and \"@$(OBJRESP)\" or \"$(OBJECTS)\"))\nif cfg.kind == \"StaticLib\" then\nif (not prj.options.ArchiveSplit) then\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\nelse\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\n_p(' LINKCMD_NDX = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\nlocal startgroup = ''\nlocal endgroup = ''\nif (cfg.flags.LinkSupportCircularDependencies) then\nstartgroup = '-Wl,--start-group '\nendgroup = ' -Wl,--end-group'\nend\n_p(' LINKCMD = $(%s) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) %s$(LIBS)%s', tool, startgroup,"
-+ "\n_p(' LDRESP =')\n_p(' LIBS += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nend\n_p(' EXTERNAL_LIBS +=%s', make.list(cc.getlibfiles(cfg)))\n_p(' LINKOBJS = %s', (cfg.flags.UseObjectResponseFile and \"@$(OBJRESP)\" or \"$(OBJECTS)\"))\nif cfg.kind == \"StaticLib\" then\nif (not prj.options.ArchiveSplit) then\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\nelse\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\n_p(' LINKCMD_NDX = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\nlocal startgroup = ''\nlocal endgroup = ''\nif (cfg.flags.LinkSupportCircularDependencies) then\nstartgroup = '-Wl,--start-group '\nendgroup = ' -Wl,--end-group'\nend\n_p(' LINKCMD = $(%s) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ALL_LDFLAGS) %s$(LIBS)%s', tool, startgroup,"
- " endgroup)\nend\nend\nfunction cpp.pchconfig(cfg)\nif not cfg.pchheader or cfg.flags.NoPCH then\nreturn\nend\nlocal pch = cfg.pchheader\nfor _, incdir in ipairs(cfg.includedirs) do\nlocal abspath = path.getabsolute(path.join(cfg.project.location, incdir))\nlocal testname = path.join(abspath, pch)\nif os.isfile(testname) then\npch = path.getrelative(cfg.location, testname)\nbreak\nend\nend\n_p(' PCH = %s', _MAKE.esc(pch))\n_p(' GCH = $(OBJDIR)/$(notdir $(PCH)).gch')\n_p(' GCH_OBJC = $(OBJDIR)/$(notdir $(PCH))_objc.gch')\nend\nfunction cpp.pchrules(prj)\n_p('ifneq (,$(PCH))')\n_p('$(GCH): $(PCH) $(MAKEFILE) | $(OBJDIR)')\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_CFLAGS) -x c-header\", \"$(CXX) $(ALL_CXXFLAGS) -x c++-header\")\n_p('\\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o \"$@\" -c \"$<\"', cmd)\n_p('')\n_p('$(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR)'"
- ")\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_OBJCFLAGS) -x objective-c-header\", \"$(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header\")\n_p('\\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o \"$@\" -c \"$<\"', cmd)\n_p('endif')\n_p('')\nend\nfunction cpp.fileRules(prj, cc)\nlocal platforms = premake.filterplatforms(prj.solution, cc.platforms, \"Native\")\n_p('ifneq (,$(OBJRESP))')\n_p('$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS)')\n_p('\\t$(SILENT) echo $^')\n_p('\\t$(SILENT) echo $^ > $@')\n_p('endif')\n_p('')\n_p('ifneq (,$(LDRESP))')\n_p('$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS)')\n_p('\\t$(SILENT) echo $^')\n_p('\\t$(SILENT) echo $^ > $@')\n_p('endif')\n_p('')\ntable.sort(prj.allfiles)\nfor _, file in ipairs(prj.allfiles or {}) do\nif path.issourcefile(file) then\nif (path.isobjcfile(file)) then\n_p('$(OBJDIR)/%s.o: %s $(GCH_OBJC) $(MAKEFILE) | $(OBJDIR)/%s'\n, _MAKE.esc(path.trimdots(path"
- ".removeext(file)))\n, _MAKE.esc(file)\n, _MAKE.esc(path.getdirectory(path.trimdots(file)))\n)\nelse\n_p('$(OBJDIR)/%s.o: %s $(GCH) $(MAKEFILE) | $(OBJDIR)/%s'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n, _MAKE.esc(file)\n, _MAKE.esc(path.getdirectory(path.trimdots(file)))\n)\nend\nif (path.isobjcfile(file) and prj.msgcompile_objc) then\n_p('\\t@echo ' .. prj.msgcompile_objc)\nelseif prj.msgcompile then\n_p('\\t@echo ' .. prj.msgcompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nif (path.isobjcfile(file)) then\nif (path.iscfile(file)) then\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE_OBJC) -o \"$@\" -c \"$<\"')\nelse\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) $(FORCE_INCLUDE_OBJC) -o \"$@\" -c \"$<\"')\nend\nelseif (path.isasmfile(file)) then\n_p('\\t$(SILENT) $(CC) $(ALL_ASMFLAGS) -o \"$@\" -c \"$<\"')\nelse\ncpp.buildcommand(path.iscfile(file) and not prj.options.ForceCPP, \"o\")\nend\nfor _, task in ipairs(prj.postcompiletasks or {}) do\n_p('\\t$(SILENT) %s', task)\n_p('')\nend\n_p('')\n"
diff --git a/emulators/mame/files/patch-3rdparty_genie_src_tools_gcc.lua b/emulators/mame/files/patch-3rdparty_genie_src_tools_gcc.lua
deleted file mode 100644
index 9ffe65ae8854..000000000000
--- a/emulators/mame/files/patch-3rdparty_genie_src_tools_gcc.lua
+++ /dev/null
@@ -1,15 +0,0 @@
---- 3rdparty/genie/src/tools/gcc.lua.orig 2023-05-25 09:19:09 UTC
-+++ 3rdparty/genie/src/tools/gcc.lua
-@@ -12,9 +12,9 @@ --
- -- Set default tools
- --
-
-- premake.gcc.cc = "gcc"
-- premake.gcc.cxx = "g++"
-- premake.gcc.ar = "ar"
-+ premake.gcc.cc = _OPTIONS["CC"]
-+ premake.gcc.cxx = _OPTIONS["CXX"]
-+ premake.gcc.ar = _OPTIONS["AR"]
- premake.gcc.rc = "windres"
- premake.gcc.llvm = false
-
diff --git a/emulators/mame/files/patch-3rdparty_genie_tests_test__gmake__cpp.lua b/emulators/mame/files/patch-3rdparty_genie_tests_test__gmake__cpp.lua
deleted file mode 100644
index 481cbce2ab24..000000000000
--- a/emulators/mame/files/patch-3rdparty_genie_tests_test__gmake__cpp.lua
+++ /dev/null
@@ -1,15 +0,0 @@
---- 3rdparty/genie/tests/test_gmake_cpp.lua.orig 2023-04-25 15:19:25 UTC
-+++ 3rdparty/genie/tests/test_gmake_cpp.lua
-@@ -47,9 +47,9 @@ endif
- SILENT = @
- endif
-
--CC = gcc
--CXX = g++
--AR = ar
-+CC ?= gcc
-+CXX ?= g++
-+AR ?= ar
-
- ifndef RESCOMP
- ifdef WINDRES
diff --git a/emulators/mame/files/patch-makefile b/emulators/mame/files/patch-makefile
index eda56ef1f250..5c87b1f66af7 100644
--- a/emulators/mame/files/patch-makefile
+++ b/emulators/mame/files/patch-makefile
@@ -1,6 +1,9 @@
---- makefile.orig 2023-04-25 15:19:25 UTC
+ Remove redefinitions of toolchain, and hardcoded optimisations. Replace GENie
+ build target with devel/genie binary. Add Clang ARM64 support.
+
+--- makefile.orig 2023-10-23 15:53:41 UTC
+++ makefile
-@@ -447,9 +447,9 @@ ifneq ($(TARGETOS),asmjs)
+@@ -448,9 +448,9 @@ ifneq ($(TARGETOS),asmjs)
endif
ifneq ($(TARGETOS),asmjs)
@@ -13,7 +16,28 @@
endif
#-------------------------------------------------
-@@ -1409,6 +1409,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make
+@@ -620,11 +620,6 @@ endif
+ SYMBOLS = 1
+ endif
+
+-# specify a default optimization level if none explicitly stated
+-ifndef OPTIMIZE
+-OPTIMIZE = 3
+-endif
+-
+ # set the symbols level
+ ifdef SYMBOLS
+ PARAMS += --SYMBOLS='$(SYMBOLS)'
+@@ -1078,7 +1073,7 @@ endif
+ NEW_GIT_VERSION := unknown
+ endif
+
+-GENIE := 3rdparty/genie/bin/$(GENIEOS)/genie$(EXE)
++GENIE := %%GENIE_PREFIX%%genie
+
+ ifeq ($(TARGET),$(SUBTARGET_FULL))
+ FULLTARGET := $(TARGET)
+@@ -1412,6 +1407,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make
$(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
$(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=freebsd-clang --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
diff --git a/emulators/mame/files/patch-scripts_genie.lua b/emulators/mame/files/patch-scripts_genie.lua
new file mode 100644
index 000000000000..857219cdad87
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_genie.lua
@@ -0,0 +1,34 @@
+ Reduce noise from build logs, and remove duplicate use of
+ -fno-strict-aliasing. Move a hard coded linktime optimisation to be covered by
+ the same OPTIMIZE conditional used elsewhere.
+
+--- scripts/genie.lua.orig 2023-11-15 01:11:29 UTC
++++ scripts/genie.lua
+@@ -804,7 +804,6 @@ if _OPTIONS["OPTIMIZE"] then
+ if _OPTIONS["OPTIMIZE"] then
+ buildoptions {
+ "-O".. _OPTIONS["OPTIMIZE"],
+- "-fno-strict-aliasing"
+ }
+ if _OPTIONS["OPT_FLAGS"] then
+ buildoptions {
+@@ -1168,7 +1167,6 @@ configuration { "asmjs" }
+ }
+ linkoptions {
+ "-Wl,--start-group",
+- "-O" .. _OPTIONS["OPTIMIZE"],
+ "-s USE_SDL=2",
+ "-s USE_SDL_TTF=2",
+ "--memory-init-file 0",
+@@ -1187,6 +1185,11 @@ configuration { "asmjs" }
+ "--embed-file " .. _MAKE.esc(MAME_DIR) .. "artwork/bgfx@artwork/bgfx",
+ "--embed-file " .. _MAKE.esc(MAME_DIR) .. "artwork/slot-mask.png@artwork/slot-mask.png",
+ }
++ if _OPTIONS["OPTIMIZE"] then
++ linkoptions {
++ "-O".. _OPTIONS["OPTIMIZE"],
++ }
++ end
+ if _OPTIONS["SYMBOLS"]~=nil and _OPTIONS["SYMBOLS"]~="0" then
+ linkoptions {
+ "-g" .. _OPTIONS["SYMLEVEL"],
diff --git a/emulators/mame/files/patch-scripts_src_main.lua b/emulators/mame/files/patch-scripts_src_main.lua
new file mode 100644
index 000000000000..391ffc7f10fb
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_src_main.lua
@@ -0,0 +1,21 @@
+ Remove suffixes from mame binary for debug/profile builds.
+
+--- scripts/src/main.lua.orig 2023-11-14 03:17:20 UTC
++++ scripts/src/main.lua
+@@ -58,13 +58,13 @@ end
+ configuration { "Release" }
+ targetsuffix ""
+ if _OPTIONS["PROFILE"] then
+- targetsuffix "p"
++ targetsuffix ""
+ end
+
+ configuration { "Debug" }
+- targetsuffix "d"
++ targetsuffix ""
+ if _OPTIONS["PROFILE"] then
+- targetsuffix "dp"
++ targetsuffix ""
+ end
+
+ configuration { "mingw*" or "vs20*" }
diff --git a/emulators/mame/files/patch-scripts_src_osd_modules.lua b/emulators/mame/files/patch-scripts_src_osd_modules.lua
new file mode 100644
index 000000000000..2d5699969a93
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_src_osd_modules.lua
@@ -0,0 +1,43 @@
+ Enable the build to find Qt-6.
+
+--- scripts/src/osd/modules.lua.orig 2023-10-23 15:53:41 UTC
++++ scripts/src/osd/modules.lua
+@@ -378,7 +378,7 @@ function qtdebuggerbuild()
+ MOC = "moc"
+ else
+ if _OPTIONS["QT_HOME"]~=nil then
+- MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/bin/moc --version 2>/dev/null")
++ MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/libexec/qt6/moc --version 2>/dev/null")
+ if (MOCTST=='') then
+ MOCTST = backtick(_OPTIONS["QT_HOME"] .. "/libexec/moc --version 2>/dev/null")
+ if (MOCTST=='') then
+@@ -388,7 +388,7 @@ function qtdebuggerbuild()
+ MOC = _OPTIONS["QT_HOME"] .. "/libexec/moc"
+ end
+ else
+- MOC = _OPTIONS["QT_HOME"] .. "/bin/moc"
++ MOC = _OPTIONS["QT_HOME"] .. "/libexec/qt6/moc"
+ end
+ else
+ MOCTST = backtick("which moc-qt5 2>/dev/null")
+@@ -430,7 +430,7 @@ function qtdebuggerbuild()
+ else
+ if _OPTIONS["QT_HOME"]~=nil then
+ buildoptions {
+- "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
++ "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake6 -query QT_INSTALL_HEADERS"),
+ }
+ else
+ buildoptions {
+@@ -500,9 +500,9 @@ function osdmodulestargetconf()
+ }
+ else
+ if _OPTIONS["QT_HOME"]~=nil then
+- local qt_version = str_to_version(backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_VERSION"))
++ local qt_version = str_to_version(backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake6 -query QT_VERSION"))
+ linkoptions {
+- "-L" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_LIBS"),
++ "-L" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake6 -query QT_INSTALL_LIBS"),
+ }
+ if qt_version < 60000 then
+ links {
diff --git a/emulators/mame/files/patch-scripts_src_osd_sdl.lua b/emulators/mame/files/patch-scripts_src_osd_sdl.lua
new file mode 100644
index 000000000000..d233b53a2466
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_src_osd_sdl.lua
@@ -0,0 +1,24 @@
+ Reduce noise in the build log, and remove legacy or incompatible display
+ server lib directory declarations.
+
+--- scripts/src/osd/sdl.lua.orig 2023-10-23 15:53:41 UTC
++++ scripts/src/osd/sdl.lua
+@@ -276,12 +276,12 @@ if BASE_TARGETOS=="unix" then
+ else
+ if _OPTIONS["NO_X11"]=="1" then
+ _OPTIONS["USE_QTDEBUG"] = "0"
+- else
+- libdirs {
+- "/usr/X11/lib",
+- "/usr/X11R6/lib",
+- "/usr/openwin/lib",
+- }
++-- else
++-- libdirs {
++-- "/usr/X11/lib",
++-- "/usr/X11R6/lib",
++-- "/usr/openwin/lib",
++-- }
+ end
+ local str = backtick(sdlconfigcmd() .. " --libs")
+ addlibfromstring(str)
diff --git a/emulators/mame/files/patch-scripts_src_osd_sdl__cfg.lua b/emulators/mame/files/patch-scripts_src_osd_sdl__cfg.lua
new file mode 100644
index 000000000000..9c81fc06493c
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_src_osd_sdl__cfg.lua
@@ -0,0 +1,45 @@
+ Reduce noise in the build log, remove legacy or incompatible display
+ server include declarations, and redundant system include handled by Ports.
+ Enable the build to find Qt-6, and remove redundant internal library.
+
+--- scripts/src/osd/sdl_cfg.lua.orig 2023-11-10 07:57:09 UTC
++++ scripts/src/osd/sdl_cfg.lua
+@@ -44,9 +44,6 @@ else
+ "SDLMAME_X11",
+ }
+ includedirs {
+- "/usr/X11/include",
+- "/usr/X11R6/include",
+- "/usr/openwin/include",
+ }
+ end
+
+@@ -144,7 +141,7 @@ elseif _OPTIONS["targetos"]=="linux" then
+ elseif _OPTIONS["targetos"]=="linux" then
+ if _OPTIONS["QT_HOME"]~=nil then
+ buildoptions {
+- "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
++ "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake6 -query QT_INSTALL_HEADERS"),
+ }
+ else
+ buildoptions {
+@@ -158,19 +155,12 @@ elseif _OPTIONS["targetos"]=="freebsd" then
+ }
+ elseif _OPTIONS["targetos"]=="freebsd" then
+ buildoptions {
+- -- /usr/local/include is not considered a system include director on FreeBSD. GL.h resides there and throws warnings
+- "-isystem /usr/local/include",
+ }
+ end
+
+ configuration { "osx*" }
+ includedirs {
+ MAME_DIR .. "3rdparty/bx/include/compat/osx",
+- }
+-
+-configuration { "freebsd" }
+- includedirs {
+- MAME_DIR .. "3rdparty/bx/include/compat/freebsd",
+ }
+
+ configuration { "netbsd" }
diff --git a/emulators/mame/files/patch-src_devices_cpu_sh_sh7021.cpp b/emulators/mame/files/patch-src_devices_cpu_sh_sh7021.cpp
deleted file mode 100644
index a360fbd44a37..000000000000
--- a/emulators/mame/files/patch-src_devices_cpu_sh_sh7021.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/devices/cpu/sh/sh7021.cpp.orig 2023-10-03 07:41:10 UTC
-+++ src/devices/cpu/sh/sh7021.cpp
-@@ -1,6 +1,7 @@
- // license:BSD-3-Clause
- // copyright-holders:Angelo Salese
-
-+#include "emu.h"
- #include "sh7021.h"
-
- DEFINE_DEVICE_TYPE(SH2A_SH7021, sh2a_sh7021_device, "sh2a_sh7021", "Hitachi SH-2A (SH7021)")
diff --git a/emulators/mame/files/patch-src_devices_cpu_sh_sh7032.cpp b/emulators/mame/files/patch-src_devices_cpu_sh_sh7032.cpp
deleted file mode 100644
index af443e70c42e..000000000000
--- a/emulators/mame/files/patch-src_devices_cpu_sh_sh7032.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/devices/cpu/sh/sh7032.cpp.orig 2023-10-03 07:41:18 UTC
-+++ src/devices/cpu/sh/sh7032.cpp
-@@ -1,6 +1,7 @@
- // license:BSD-3-Clause
- // copyright-holders:Angelo Salese
-
-+#include "emu.h"
- #include "sh7032.h"
-
- DEFINE_DEVICE_TYPE(SH1_SH7032, sh1_sh7032_device, "sh1_sh7032", "Hitachi SH-1 (SH7032)")
diff --git a/emulators/mame/files/patch-src_osd_modules_render_bgfx_shadermanager.cpp b/emulators/mame/files/patch-src_osd_modules_render_bgfx_shadermanager.cpp
new file mode 100644
index 000000000000..dbe18f1c8472
--- /dev/null
+++ b/emulators/mame/files/patch-src_osd_modules_render_bgfx_shadermanager.cpp
@@ -0,0 +1,21 @@
+ Default to OpenGL, enables removing DirectX related source from the build, and
+ makes the bgfx renderer initialisation work.
+
+--- src/osd/modules/render/bgfx/shadermanager.cpp.orig 2023-11-09 05:21:49 UTC
++++ src/osd/modules/render/bgfx/shadermanager.cpp
+@@ -85,7 +85,6 @@ std::string shader_manager::make_path_string(const osd
+ shader_path += PATH_SEPARATOR "shaders" PATH_SEPARATOR;
+ switch (bgfx::getRendererType())
+ {
+- case bgfx::RendererType::Noop:
+ case bgfx::RendererType::Direct3D9:
+ shader_path += "dx9";
+ break;
+@@ -103,6 +102,7 @@ std::string shader_manager::make_path_string(const osd
+ shader_path += "metal";
+ break;
+
++ case bgfx::RendererType::Noop:
+ case bgfx::RendererType::OpenGL:
+ shader_path += "glsl";
+ break;
diff --git a/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h b/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
index aef78617bc07..4be2196aba12 100644
--- a/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
+++ b/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
@@ -1,3 +1,5 @@
+ FreeBSD supports pthread affinity: pthread_affinity_np(3).
+
--- src/osd/sdl/sdlprefix.h.orig 2022-04-29 05:37:26 UTC
+++ src/osd/sdl/sdlprefix.h
@@ -45,9 +45,9 @@
diff --git a/emulators/mame/pkg-plist b/emulators/mame/pkg-plist
index 6094d5f43388..26e60c85a6ef 100644
--- a/emulators/mame/pkg-plist
+++ b/emulators/mame/pkg-plist
@@ -6,6 +6,8 @@
%%TOOLS%%bin/ldresample
%%TOOLS%%bin/ldverify
bin/mame
+%%TOOLS%%bin/mamenl
+%%TOOLS%%bin/mamevirtual
%%TOOLS%%bin/nltool
%%TOOLS%%bin/nlwav
%%TOOLS%%bin/pngcmp
@@ -21,7 +23,6 @@ share/man/man1/MAME.1.gz
%%TOOLS%%share/man/man1/floptool.1.gz
%%TOOLS%%share/man/man1/imgtool.1.gz
%%TOOLS%%share/man/man1/jedutil.1.gz
-%%TOOLS%%share/man/man1/ldplayer.1.gz
%%TOOLS%%share/man/man1/ldresample.1.gz
%%TOOLS%%share/man/man1/ldverify.1.gz
%%TOOLS%%share/man/man1/romcmp.1.gz
@@ -228,380 +229,6 @@ share/man/man6/mame.6.gz
%%DATADIR%%/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass2.json
%%DATADIR%%/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass3.json
%%DATADIR%%/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass4.json
-%%DATADIR%%/bgfx/shaders/dx11/chains/blurs/fs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/blurs/vs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_crt-geom-deluxe.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/fs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt-geom/vs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt/fs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/crt/vs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/default/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/default/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/eagle/fs_eagle.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/eagle/vs_eagle.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_chroma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_color.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_defocus.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_distortion.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_post.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_prescale.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/fs_scanline.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_chroma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_color.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_defocus.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_distortion.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_post.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_prescale.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hlsl/vs_scanline.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/fs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/fs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/fs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/vs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/vs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/hqx/vs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/lcd-grid/fs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/lcd-grid/fs_persistence.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/lcd-grid/vs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/lcd-grid/vs_persistence.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_blit_bcg.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_blit_palette16.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_blit_rgb32.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_blit_yuy16.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_lut.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/fs_saturation.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_lut.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_resize_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/misc/vs_saturation.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_left_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/pillarbox_right_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/unfiltered/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/unfiltered/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/warp/fs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/warp/vs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/fs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/super-xbr/vs_super-xbr-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/dx11/fs_gui.bin
-%%DATADIR%%/bgfx/shaders/dx11/fs_screen.bin
-%%DATADIR%%/bgfx/shaders/dx11/vs_gui.bin
-%%DATADIR%%/bgfx/shaders/dx11/vs_screen.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom-deluxe.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt/fs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/crt/vs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/default/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/default/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/eagle/fs_eagle.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/eagle/vs_eagle.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_chroma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_color.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_defocus.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_distortion.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_post.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_prescale.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/fs_scanline.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_chroma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_color.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_defocus.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_distortion.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_post.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_prescale.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hlsl/vs_scanline.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/fs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/fs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/fs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/vs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/vs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/hqx/vs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/lcd-grid/fs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/lcd-grid/fs_persistence.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/lcd-grid/vs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/lcd-grid/vs_persistence.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_blit_bcg.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_blit_palette16.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_blit_rgb32.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_blit_yuy16.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_lut.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/fs_saturation.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_lut.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_resize_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/misc/vs_saturation.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_left_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/pillarbox_right_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/unfiltered/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/unfiltered/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/warp/fs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_super-xbr-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/dx9/fs_gui.bin
-%%DATADIR%%/bgfx/shaders/dx9/fs_screen.bin
-%%DATADIR%%/bgfx/shaders/dx9/vs_gui.bin
-%%DATADIR%%/bgfx/shaders/dx9/vs_screen.bin
%%DATADIR%%/bgfx/shaders/essl/chains/blurs/fs_smart-blur.bin
%%DATADIR%%/bgfx/shaders/essl/chains/blurs/vs_smart-blur.bin
%%DATADIR%%/bgfx/shaders/essl/chains/crt-geom/fs_crt-geom-deluxe.bin
@@ -976,193 +603,6 @@ share/man/man6/mame.6.gz
%%DATADIR%%/bgfx/shaders/glsl/fs_screen.bin
%%DATADIR%%/bgfx/shaders/glsl/vs_gui.bin
%%DATADIR%%/bgfx/shaders/glsl/vs_screen.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/blurs/fs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/blurs/vs_smart-blur.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_crt-geom-deluxe.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/fs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_crt-geom.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_gaussx.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_gaussy.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_lowpass.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_mipmap8.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_phosphor_apply.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt-geom/vs_phosphor_update.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt/fs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/crt/vs_crt-caligari.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/default/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/default/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/eagle/fs_eagle.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/eagle/vs_eagle.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_chroma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_color.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_defocus.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_distortion.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_post.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_prescale.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/fs_scanline.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_chroma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_color.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_deconverge.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_defocus.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_distortion.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_phosphor.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_post.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_prescale.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hlsl/vs_scanline.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/vs_hq2x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/vs_hq3x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/hqx/vs_hq4x.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/lcd-grid/fs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/lcd-grid/fs_persistence.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/lcd-grid/vs_lcd-grid.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/lcd-grid/vs_persistence.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_blit_bcg.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_blit_palette16.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_blit_rgb32.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_blit_yuy16.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_lut.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/fs_saturation.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_bob-and-ghost-deinterlace.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_deposterize-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_deposterize-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_lut.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_resize_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/misc/vs_saturation.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_left_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_horizontal/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_horizontal/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_horizontal/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_horizontal/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_vertical/fs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_vertical/fs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_vertical/vs_gaussian.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/pillarbox_right_vertical/vs_offset_sat.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/unfiltered/fs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/unfiltered/vs_blit.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/warp/fs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/warp/vs_dilation-horizontal-fast.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/fs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_custom-jinc2-sharper.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-2xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-2xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-2xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass1f.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-4xbr-3d-pass3f.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-fast-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-fast-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-fast-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/super-xbr/vs_super-xbr-pass3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv1-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-3d.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-fast.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3-noblend.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
-%%DATADIR%%/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
-%%DATADIR%%/bgfx/shaders/metal/fs_gui.bin
-%%DATADIR%%/bgfx/shaders/metal/fs_screen.bin
-%%DATADIR%%/bgfx/shaders/metal/vs_gui.bin
-%%DATADIR%%/bgfx/shaders/metal/vs_screen.bin
%%DATADIR%%/bgfx/shaders/spirv/chains/blurs/fs_smart-blur.bin
%%DATADIR%%/bgfx/shaders/spirv/chains/blurs/vs_smart-blur.bin
%%DATADIR%%/bgfx/shaders/spirv/chains/crt-geom/fs_crt-geom-deluxe.bin
@@ -1509,6 +949,7 @@ share/man/man6/mame.6.gz
%%DATADIR%%/hash/cpc_flop.xml
%%DATADIR%%/hash/crvision.xml
%%DATADIR%%/hash/cx3000tc.xml
+%%DATADIR%%/hash/cz1_cart.xml
%%DATADIR%%/hash/dai_cass.xml
%%DATADIR%%/hash/database.xml
%%DATADIR%%/hash/dc.xml
@@ -2023,6 +1464,7 @@ share/man/man6/mame.6.gz
%%DATADIR%%/hash/vic1001_flop.xml
%%DATADIR%%/hash/victor9k_flop.xml
%%DATADIR%%/hash/vidbrain.xml
+%%DATADIR%%/hash/videoart.xml
%%DATADIR%%/hash/videopac.xml
%%DATADIR%%/hash/vii.xml
%%DATADIR%%/hash/vip.xml