aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'emulators')
-rw-r--r--emulators/mame/Makefile43
-rw-r--r--emulators/mame/distinfo5
-rw-r--r--emulators/mame/files/patch-3rdparty_bgfx_include_bgfxplatform.h13
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_include_bx_float4__t.h12
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_include_bx_platform.h46
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_include_bx_thread.h25
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_src_mutex.cpp10
-rw-r--r--emulators/mame/files/patch-3rdparty_bx_src_thread.cpp10
-rw-r--r--emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.h11
-rw-r--r--emulators/mame/files/patch-makefile50
-rw-r--r--emulators/mame/files/patch-scripts_toolchain.lua21
-rw-r--r--emulators/mame/files/patch-src__osd__eigccx86.h106
-rw-r--r--emulators/mame/files/patch-src__osd__eminline.h6
-rw-r--r--emulators/mame/files/patch-src_emu_webengine.c11
-rw-r--r--emulators/mame/files/patch-src_lib_netlist_plib_pparser.c102
-rw-r--r--emulators/mame/files/patch-src_lib_netlist_plib_pparser.cpp102
-rw-r--r--emulators/mame/files/patch-src_lib_netlist_plib_pparser.h8
-rw-r--r--emulators/mame/files/patch-src_osd_modules_file_posixptty.cpp11
-rw-r--r--emulators/mame/files/patch-src_osd_sdl_sdlprefix.h4
-rw-r--r--emulators/mame/files/pkg-message.in4
-rw-r--r--emulators/mame/pkg-plist155
21 files changed, 463 insertions, 292 deletions
diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile
index 17403702cb4d..24ed1ddbc017 100644
--- a/emulators/mame/Makefile
+++ b/emulators/mame/Makefile
@@ -1,42 +1,50 @@
# Created by: alepulver
# $FreeBSD$
-PORTNAME?= mame
-PORTVERSION= 0.166
-PORTREVISION?= 5
+PORTNAME= mame
+PORTVERSION= 0.195
CATEGORIES= emulators
MAINTAINER= ports@FreeBSD.org
-COMMENT?= Multi Arcade Machine Emulator
+COMMENT= Multi Arcade Machine Emulator
+
+LICENSE= GPLv2
+
+ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS_REASON= not yet ported to any arch other than x86
LIB_DEPENDS= libFLAC.so:audio/flac \
libexpat.so:textproc/expat2 \
libfontconfig.so:x11-fonts/fontconfig
RUN_DEPENDS= liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
-ONLY_FOR_ARCHS= i386 amd64
-ONLY_FOR_ARCHS_REASON= not yet ported to any arch other than x86
-
USE_GITHUB= yes
GH_ACCOUNT= mamedev
GH_PROJECT= mame # explicit (master port)
GH_TAGNAME= mame${PORTVERSION:S/.//}
+OPTIONS_DEFINE= DEBUG DOCS EXAMPLES
+
+.include <bsd.port.options.mk>
+
+.if ${OSVERSION} < 1100055
+USE_GCC= 6
+.endif
+
USES= compiler:c11 gmake jpeg pkgconfig python:2.7,build shebangfix
SHEBANG_FILES= src/devices/cpu/m6502/m6502make.py \
src/devices/cpu/m6809/m6809make.py \
src/devices/cpu/mcs96/mcs96make.py \
- src/devices/cpu/tms57002/tmsmake.py \
- src/build/*.py
+ src/devices/cpu/tms57002/tmsmake.py
USE_XORG= x11 xext xi xinerama xrender
USE_GL= gl
USE_SDL= sdl2 ttf2
-USE_QT4= gui moc_build qmake_build
+USE_QT5= buildtools gui qmake_build widgets
MTARGET?= mame
MSUBTARGET?= mame
CFLAGS+= -I${LOCALBASE}/include
MAKE_ENV= NOWERROR=1 USE_NETWORK=1 \
- LD="${CXX}" PYTHON="${PYTHON_CMD}" SDL_LIBVER="sdl2" \
+ LD="${CXX}" PYTHON="${PYTHON_CMD}" \
OPT_FLAGS="${CXXFLAGS}" GCC_LDFLAGS="${LDFLAGS}" \
TARGET="${MTARGET}" SUBTARGET="${MSUBTARGET}" FULLNAME="mame" SDL_NETWORK="pcap"
MAKE_ARGS= TARGETOS=freebsd VERBOSE=1 TOOLS=1
@@ -48,7 +56,6 @@ PORTEXAMPLES= ${MSUBTARGET}.ini
SUB_FILES= pkg-message target.ini
SUB_LIST= MTARGET=${MTARGET} MSUBTARGET=${MSUBTARGET}
-OPTIONS_DEFINE= DEBUG DOCS EXAMPLES
DEBUG_MAKE_ENV= DEBUG=1
.include <bsd.port.options.mk>
@@ -62,17 +69,21 @@ EMULATOR= ${MSUBTARGET}
PLIST_SUB= EMULATOR=${EMULATOR}
post-patch:
+ @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
+ @${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
+ @${MV} ${GENIE}/build/gmake.freebsd ${GENIE}/build/gmake.bsd
@${REINPLACE_CMD} -e \
's|^\(CC \)|#\1| ; \
s|^\(CXX \)|#\1| ; \
+ s|^\(CXX:\)|#\1| ; \
s|^\(LD \)|#\1| ; \
s|^\(PYTHON \)|#\1| ; \
s| .(ARCH)|| ; \
s|FreeBSD|${OPSYS}|g' \
${WRKSRC}/makefile \
+ ${WRKSRC}/src/devices/cpu/m68000/makefile \
${GENIE}/build/gmake.bsd/genie.make
@${REINPLACE_CMD} -e 's|gcc|cc|; s|g++|c++|' \
- ${GENIE}/src/actions/codelite/codelite_project.lua \
${GENIE}/src/tools/gcc.lua \
${GENIE}/src/tools/snc.lua \
${GENIE}/tests/test_gmake_cpp.lua
@@ -81,7 +92,7 @@ post-patch:
${GENIE}/src/host/scripts.c
# we can't fix two types of python shebangs, so do these manually
@${REINPLACE_CMD} -i "" -e "s|/usr/bin/env python|${PYTHON_CMD}|" \
- ${WRKSRC}/src/build/png*.py
+ ${WRKSRC}/scripts/build/png*.py
@${REINPLACE_CMD} -e 's|"python"|"${PYTHON_CMD}"|' \
${WRKSRC}/scripts/genie.lua
@${GREP} -rl '"png.h"' ${WRKSRC}/src | ${XARGS} ${REINPLACE_CMD} \
@@ -97,7 +108,7 @@ do-install:
.if ${MSUBTARGET:Mmame}
(cd ${WRKSRC} && \
${INSTALL_PROGRAM} chdman jedutil ldresample ldverify \
- romcmp testkeys unidasm \
+ romcmp unidasm \
${STAGEDIR}${PREFIX}/libexec/mame)
.endif
.if ${MSUBTARGET:Mmess}
@@ -107,8 +118,6 @@ do-install:
.endif
(cd ${WRKSRC} && ${COPYTREE_SHARE} artwork ${STAGEDIR}${DATADIR})
(cd ${WRKSRC} && ${COPYTREE_SHARE} hash ${STAGEDIR}${DATADIR})
- (cd ${WRKSRC}/src/osd/sdl && \
- ${COPYTREE_SHARE} keymaps ${STAGEDIR}${DATADIR})
(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR})
${INSTALL_DATA} ${WRKDIR}/target.ini \
${STAGEDIR}${EXAMPLESDIR}/${MSUBTARGET}.ini
diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo
index c301210c4350..38c1aad43920 100644
--- a/emulators/mame/distinfo
+++ b/emulators/mame/distinfo
@@ -1,2 +1,3 @@
-SHA256 (mamedev-mame-0.166-mame0166_GH0.tar.gz) = 702a2019a05afd7f050db6b38c3aaee4cc46ec2214cecaed3420889a685637f4
-SIZE (mamedev-mame-0.166-mame0166_GH0.tar.gz) = 87951133
+TIMESTAMP = 1520789785
+SHA256 (mamedev-mame-0.195-mame0195_GH0.tar.gz) = b18d0e23ecf6b218c43a6770213c850b3c605ead9d29301de34101ed14c28a57
+SIZE (mamedev-mame-0.195-mame0195_GH0.tar.gz) = 126375780
diff --git a/emulators/mame/files/patch-3rdparty_bgfx_include_bgfxplatform.h b/emulators/mame/files/patch-3rdparty_bgfx_include_bgfxplatform.h
deleted file mode 100644
index f93e002d243f..000000000000
--- a/emulators/mame/files/patch-3rdparty_bgfx_include_bgfxplatform.h
+++ /dev/null
@@ -1,13 +0,0 @@
-Catch up with https://hg.libsdl.org/SDL/rev/d11daa346140
-
---- 3rdparty/bgfx/include/bgfxplatform.h.orig 2015-09-30 06:29:01 UTC
-+++ 3rdparty/bgfx/include/bgfxplatform.h
-@@ -186,7 +186,7 @@ namespace bgfx
-
- #endif // BX_PLATFORM_
-
--#if defined(_SDL_syswm_h)
-+#if defined(_SDL_syswm_h) || defined(SDL_syswm_h_)
- // If SDL_syswm.h is included before bgfxplatform.h we can enable SDL window
- // interop convenience code.
-
diff --git a/emulators/mame/files/patch-3rdparty_bx_include_bx_float4__t.h b/emulators/mame/files/patch-3rdparty_bx_include_bx_float4__t.h
deleted file mode 100644
index 6ffbf4a85868..000000000000
--- a/emulators/mame/files/patch-3rdparty_bx_include_bx_float4__t.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- 3rdparty/bx/include/bx/float4_t.h.orig 2015-09-30 06:29:01 UTC
-+++ 3rdparty/bx/include/bx/float4_t.h
-@@ -18,7 +18,8 @@
- #elif BX_COMPILER_CLANG \
- && !BX_PLATFORM_EMSCRIPTEN \
- && !BX_PLATFORM_IOS \
-- && BX_CLANG_HAS_EXTENSION(attribute_ext_vector_type)
-+ && BX_CLANG_HAS_EXTENSION(attribute_ext_vector_type) \
-+ && !BX_PLATFORM_FREEBSD
- # include "float4_langext.h"
- #else
- # ifndef BX_FLOAT4_WARN_REFERENCE_IMPL
diff --git a/emulators/mame/files/patch-3rdparty_bx_include_bx_platform.h b/emulators/mame/files/patch-3rdparty_bx_include_bx_platform.h
index 3b6d79890a5d..298754d7eef5 100644
--- a/emulators/mame/files/patch-3rdparty_bx_include_bx_platform.h
+++ b/emulators/mame/files/patch-3rdparty_bx_include_bx_platform.h
@@ -1,11 +1,39 @@
---- 3rdparty/bx/include/bx/platform.h.orig 2015-04-29 06:18:54 UTC
+--- 3rdparty/bx/include/bx/platform.h.orig 2018-02-27 15:59:06 UTC
+++ 3rdparty/bx/include/bx/platform.h
-@@ -184,7 +184,7 @@
- #elif defined(__QNX__)
- # undef BX_PLATFORM_QNX
- # define BX_PLATFORM_QNX 1
--#elif defined(__FreeBSD__)
-+#elif defined(__FreeBSD__) || defined(__DragonFly__)
- # undef BX_PLATFORM_FREEBSD
- # define BX_PLATFORM_FREEBSD 1
+@@ -35,6 +35,7 @@
+ #define BX_CRT_MINGW 0
+ #define BX_CRT_MSVC 0
+ #define BX_CRT_NEWLIB 0
++#define BX_CRT_BSD 0
+
+ #ifndef BX_CRT_MUSL
+ # define BX_CRT_MUSL 0
+@@ -236,6 +237,9 @@
+ # elif defined(__apple_build_version__) || defined(__ORBIS__) || defined(__EMSCRIPTEN__) || defined(__llvm__)
+ # undef BX_CRT_LIBCXX
+ # define BX_CRT_LIBCXX 1
++# elif BX_PLATFORM_BSD
++# undef BX_CRT_BSD
++# define BX_CRT_BSD 1
+ # endif //
+
+ # if !BX_CRT_BIONIC \
+@@ -244,7 +248,8 @@
+ && !BX_CRT_MINGW \
+ && !BX_CRT_MSVC \
+ && !BX_CRT_MUSL \
+- && !BX_CRT_NEWLIB
++ && !BX_CRT_NEWLIB \
++ && !BX_CRT_BSD
+ # undef BX_CRT_NONE
+ # define BX_CRT_NONE 1
+ # endif // BX_CRT_*
+@@ -379,6 +384,8 @@
+ # define BX_CRT_NAME "Newlib"
+ #elif BX_CRT_MUSL
+ # define BX_CRT_NAME "musl libc"
++#elif BX_CRT_BSD
++# define BX_CRT_NAME "BSD"
+ #elif BX_CRT_NONE
+ # define BX_CRT_NAME "None"
#else
diff --git a/emulators/mame/files/patch-3rdparty_bx_include_bx_thread.h b/emulators/mame/files/patch-3rdparty_bx_include_bx_thread.h
deleted file mode 100644
index 7420ca47eb84..000000000000
--- a/emulators/mame/files/patch-3rdparty_bx_include_bx_thread.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- 3rdparty/bx/include/bx/thread.h.orig 2015-09-30 06:29:01 UTC
-+++ 3rdparty/bx/include/bx/thread.h
-@@ -14,6 +14,10 @@ using namespace Windows::Foundation;
- using namespace Windows::System::Threading;
- #endif
-
-+#if BX_PLATFORM_FREEBSD
-+# include <pthread_np.h>
-+#endif
-+
- #include "sem.h"
-
- #if BX_CONFIG_SUPPORTS_THREADING
-@@ -149,8 +153,10 @@ namespace bx
- {
- #if BX_PLATFORM_OSX || BX_PLATFORM_IOS
- pthread_setname_np(_name);
--#elif BX_PLATFORM_LINUX || BX_PLATFORM_FREEBSD
-+#elif BX_PLATFORM_LINUX
- pthread_setname_np(m_handle, _name);
-+#elif BX_PLATFORM_FREEBSD
-+ pthread_set_name_np(m_handle, _name);
- #elif BX_PLATFORM_WINDOWS && BX_COMPILER_MSVC
- # pragma pack(push, 8)
- struct ThreadName
diff --git a/emulators/mame/files/patch-3rdparty_bx_src_mutex.cpp b/emulators/mame/files/patch-3rdparty_bx_src_mutex.cpp
new file mode 100644
index 000000000000..2aabd2397a79
--- /dev/null
+++ b/emulators/mame/files/patch-3rdparty_bx_src_mutex.cpp
@@ -0,0 +1,10 @@
+--- 3rdparty/bx/src/mutex.cpp.orig 2018-02-27 15:59:06 UTC
++++ 3rdparty/bx/src/mutex.cpp
+@@ -13,6 +13,7 @@
+ || BX_PLATFORM_IOS \
+ || BX_PLATFORM_OSX \
+ || BX_PLATFORM_PS4 \
++ || BX_PLATFORM_BSD \
+ || BX_PLATFORM_RPI
+ # include <pthread.h>
+ #elif BX_PLATFORM_WINDOWS \
diff --git a/emulators/mame/files/patch-3rdparty_bx_src_thread.cpp b/emulators/mame/files/patch-3rdparty_bx_src_thread.cpp
new file mode 100644
index 000000000000..84479c994941
--- /dev/null
+++ b/emulators/mame/files/patch-3rdparty_bx_src_thread.cpp
@@ -0,0 +1,10 @@
+--- 3rdparty/bx/src/thread.cpp.orig 2018-02-27 15:59:06 UTC
++++ 3rdparty/bx/src/thread.cpp
+@@ -11,6 +11,7 @@
+ || BX_PLATFORM_IOS \
+ || BX_PLATFORM_OSX \
+ || BX_PLATFORM_PS4 \
++ || BX_PLATFORM_BSD \
+ || BX_PLATFORM_RPI
+ # include <pthread.h>
+ # if defined(__FreeBSD__)
diff --git a/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.h b/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.h
deleted file mode 100644
index d4a6acf8a2ed..000000000000
--- a/emulators/mame/files/patch-3rdparty_lzma_C_CpuArch.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- 3rdparty/lzma/C/CpuArch.h.orig 2015-05-24 15:52:12 UTC
-+++ 3rdparty/lzma/C/CpuArch.h
-@@ -16,7 +16,7 @@ MY_CPU_LE_UNALIGN means that CPU is LITT
- If MY_CPU_LE_UNALIGN is not defined, we don't know about these properties of platform.
- */
-
--#if defined(_M_X64) || defined(_M_AMD64) || defined(__x86_64__)
-+#if defined(_M_X64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__amd64__)
- #define MY_CPU_AMD64
- #endif
-
diff --git a/emulators/mame/files/patch-makefile b/emulators/mame/files/patch-makefile
new file mode 100644
index 000000000000..92b404b9c912
--- /dev/null
+++ b/emulators/mame/files/patch-makefile
@@ -0,0 +1,50 @@
+--- makefile.orig 2018-02-27 15:59:06 UTC
++++ makefile
+@@ -183,19 +183,19 @@ GENIEOS := solaris
+ endif
+ ifeq ($(firstword $(filter FreeBSD,$(UNAME))),FreeBSD)
+ OS := freebsd
+-GENIEOS := freebsd
++GENIEOS := bsd
+ endif
+ ifeq ($(firstword $(filter GNU/kFreeBSD,$(UNAME))),GNU/kFreeBSD)
+ OS := freebsd
+-GENIEOS := freebsd
++GENIEOS := bsd
+ endif
+ ifeq ($(firstword $(filter NetBSD,$(UNAME))),NetBSD)
+ OS := netbsd
+-GENIEOS := freebsd
++GENIEOS := bsd
+ endif
+ ifeq ($(firstword $(filter OpenBSD,$(UNAME))),OpenBSD)
+ OS := openbsd
+-GENIEOS := freebsd
++GENIEOS := bsd
+ endif
+ ifeq ($(firstword $(filter Darwin,$(UNAME))),Darwin)
+ OS := macosx
+@@ -1377,6 +1377,23 @@ freebsd_x86: generate $(PROJECTDIR)/$(MA
+ $(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd config=$(CONFIG)32
+
+ #-------------------------------------------------
++# gmake-freebsd-clang
++#-------------------------------------------------
++
++$(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
++ $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=freebsd-clang --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
++
++.PHONY: freebsd_x64_clang
++freebsd_x64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
++ $(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64 precompile
++ $(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64
++
++.PHONY: freebsd_x86_clang
++freebsd_x86_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
++ $(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)32 precompile
++ $(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)32
++
++#-------------------------------------------------
+ # gmake-netbsd
+ #-------------------------------------------------
+
diff --git a/emulators/mame/files/patch-scripts_toolchain.lua b/emulators/mame/files/patch-scripts_toolchain.lua
new file mode 100644
index 000000000000..6324872c164d
--- /dev/null
+++ b/emulators/mame/files/patch-scripts_toolchain.lua
@@ -0,0 +1,21 @@
+--- scripts/toolchain.lua.orig 2018-02-27 15:59:06 UTC
++++ scripts/toolchain.lua
+@@ -23,6 +23,7 @@ newoption {
+ { "android-x64", "Android - x64" },
+ { "asmjs", "Emscripten/asm.js" },
+ { "freebsd", "FreeBSD" },
++ { "freebsd-clang", "FreeBSD (Clang)" },
+ { "linux-gcc", "Linux (GCC compiler)" },
+ { "linux-clang", "Linux (Clang compiler)" },
+ { "ios-arm", "iOS - ARM" },
+@@ -168,6 +169,10 @@ function toolchain(_buildDir, _subDir)
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd")
+ end
+
++ if "freebsd-clang" == _OPTIONS["gcc"] then
++ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd-clang")
++ end
++
+ if "netbsd" == _OPTIONS["gcc"] then
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-netbsd")
+ end
diff --git a/emulators/mame/files/patch-src__osd__eigccx86.h b/emulators/mame/files/patch-src__osd__eigccx86.h
index 5b86d06d333f..88dd86dfbe35 100644
--- a/emulators/mame/files/patch-src__osd__eigccx86.h
+++ b/emulators/mame/files/patch-src__osd__eigccx86.h
@@ -1,128 +1,110 @@
---- src/osd/eigccx86.h.orig 2015-05-24 15:52:19 UTC
+--- src/osd/eigccx86.h.orig 2018-02-27 15:59:06 UTC
+++ src/osd/eigccx86.h
-@@ -42,7 +42,7 @@ union _x86_union
+@@ -31,7 +31,7 @@
multiply and return the full 64 bit result
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define mul_32x32 _mul_32x32
- INLINE INT64 ATTR_CONST ATTR_FORCE_INLINE
- _mul_32x32(INT32 a, INT32 b)
-@@ -68,7 +68,7 @@ _mul_32x32(INT32 a, INT32 b)
+ inline int64_t ATTR_CONST ATTR_FORCE_INLINE
+ _mul_32x32(int32_t a, int32_t b)
+@@ -55,7 +55,7 @@ _mul_32x32(int32_t a, int32_t b)
result
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define mulu_32x32 _mulu_32x32
- INLINE UINT64 ATTR_CONST ATTR_FORCE_INLINE
- _mulu_32x32(UINT32 a, UINT32 b)
-@@ -145,7 +145,7 @@ _mulu_32x32_hi(UINT32 a, UINT32 b)
+ inline uint64_t ATTR_CONST ATTR_FORCE_INLINE
+ _mulu_32x32(uint32_t a, uint32_t b)
+@@ -126,7 +126,7 @@ _mulu_32x32_hi(uint32_t a, uint32_t b)
result to 32 bits
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define mul_32x32_shift _mul_32x32_shift
- INLINE INT32 ATTR_CONST ATTR_FORCE_INLINE
- _mul_32x32_shift(INT32 a, INT32 b, UINT8 shift)
-@@ -175,7 +175,7 @@ _mul_32x32_shift(INT32 a, INT32 b, UINT8
+ inline int32_t ATTR_CONST ATTR_FORCE_INLINE
+ _mul_32x32_shift(int32_t a, int32_t b, uint8_t shift)
+@@ -156,7 +156,7 @@ _mul_32x32_shift(int32_t a, int32_t b, u
result to 32 bits
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define mulu_32x32_shift _mulu_32x32_shift
- INLINE UINT32 ATTR_CONST ATTR_FORCE_INLINE
- _mulu_32x32_shift(UINT32 a, UINT32 b, UINT8 shift)
-@@ -203,7 +203,7 @@ _mulu_32x32_shift(UINT32 a, UINT32 b, UI
+ inline uint32_t ATTR_CONST ATTR_FORCE_INLINE
+ _mulu_32x32_shift(uint32_t a, uint32_t b, uint8_t shift)
+@@ -184,7 +184,7 @@ _mulu_32x32_shift(uint32_t a, uint32_t b
divide and return the 32 bit quotient
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define div_64x32 _div_64x32
- INLINE INT32 ATTR_CONST ATTR_FORCE_INLINE
- _div_64x32(INT64 a, INT32 b)
-@@ -230,7 +230,7 @@ _div_64x32(INT64 a, INT32 b)
+ inline int32_t ATTR_CONST ATTR_FORCE_INLINE
+ _div_64x32(int64_t a, int32_t b)
+@@ -211,7 +211,7 @@ _div_64x32(int64_t a, int32_t b)
divide and return the 32 bit quotient
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define divu_64x32 _divu_64x32
- INLINE UINT32 ATTR_CONST ATTR_FORCE_INLINE
- _divu_64x32(UINT64 a, UINT32 b)
-@@ -258,7 +258,7 @@ _divu_64x32(UINT64 a, UINT32 b)
- 32 bit remainder
- -------------------------------------------------*/
-
+ inline uint32_t ATTR_CONST ATTR_FORCE_INLINE
+ _divu_64x32(uint64_t a, uint32_t b)
+@@ -244,7 +244,7 @@ inline int32_t ATTR_FORCE_INLINE
+ _div_64x32_rem(int64_t dividend, int32_t divisor, int32_t *remainder)
+ {
+ int32_t quotient;
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
- #define div_64x32_rem _div_64x32_rem
- INLINE INT32 ATTR_FORCE_INLINE
- _div_64x32_rem(INT64 dividend, INT32 divisor, INT32 *remainder)
-@@ -286,7 +286,7 @@ _div_64x32_rem(INT64 dividend, INT32 div
- and 32 bit remainder
- -------------------------------------------------*/
+ // Throws arithmetic exception if result doesn't fit in 32 bits
+ __asm__ (
+@@ -287,7 +287,7 @@ inline uint32_t ATTR_FORCE_INLINE
+ _divu_64x32_rem(uint64_t dividend, uint32_t divisor, uint32_t *remainder)
+ {
+ uint32_t quotient;
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
- #define divu_64x32_rem _divu_64x32_rem
- INLINE UINT32 ATTR_FORCE_INLINE
- _divu_64x32_rem(UINT64 dividend, UINT32 divisor, UINT32 *remainder)
-@@ -337,7 +337,7 @@ _divu_64x32_rem(UINT64 dividend, UINT32
+
+ // Throws arithmetic exception if result doesn't fit in 32 bits
+ __asm__ (
+@@ -325,7 +325,7 @@ _divu_64x32_rem(uint64_t dividend, uint3
division, and returning the 32 bit quotient
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define div_32x32_shift _div_32x32_shift
- INLINE INT32 ATTR_CONST ATTR_FORCE_INLINE
- _div_32x32_shift(INT32 a, INT32 b, UINT8 shift)
-@@ -369,7 +369,7 @@ _div_32x32_shift(INT32 a, INT32 b, UINT8
+ inline int32_t ATTR_CONST ATTR_FORCE_INLINE
+ _div_32x32_shift(int32_t a, int32_t b, uint8_t shift)
+@@ -357,7 +357,7 @@ _div_32x32_shift(int32_t a, int32_t b, u
division, and returning the 32 bit quotient
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define divu_32x32_shift _divu_32x32_shift
- INLINE UINT32 ATTR_CONST ATTR_FORCE_INLINE
- _divu_32x32_shift(UINT32 a, UINT32 b, UINT8 shift)
-@@ -400,7 +400,7 @@ _divu_32x32_shift(UINT32 a, UINT32 b, UI
+ inline uint32_t ATTR_CONST ATTR_FORCE_INLINE
+ _divu_32x32_shift(uint32_t a, uint32_t b, uint8_t shift)
+@@ -388,7 +388,7 @@ _divu_32x32_shift(uint32_t a, uint32_t b
divide and return the 32 bit remainder
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define mod_64x32 _mod_64x32
- INLINE INT32 ATTR_CONST ATTR_FORCE_INLINE
- _mod_64x32(INT64 a, INT32 b)
-@@ -427,7 +427,7 @@ _mod_64x32(INT64 a, INT32 b)
+ inline int32_t ATTR_CONST ATTR_FORCE_INLINE
+ _mod_64x32(int64_t a, int32_t b)
+@@ -415,7 +415,7 @@ _mod_64x32(int64_t a, int32_t b)
divide and return the 32 bit remainder
-------------------------------------------------*/
-#ifndef __x86_64__
+#if !defined(__amd64__) && !defined(__x86_64__)
#define modu_64x32 _modu_64x32
- INLINE UINT32 ATTR_CONST ATTR_FORCE_INLINE
- _modu_64x32(UINT64 a, UINT32 b)
-@@ -563,7 +563,7 @@ _compare_exchange32(INT32 volatile *ptr,
- return the previous value at 'ptr'.
- -------------------------------------------------*/
-
--#ifdef __x86_64__
-+#if defined(__amd64__) || defined(__x86_64__)
- #define compare_exchange64 _compare_exchange64
- INLINE INT64 ATTR_NONNULL(1) ATTR_FORCE_INLINE
- _compare_exchange64(INT64 volatile *ptr, INT64 compare, INT64 exchange)
-@@ -693,7 +693,7 @@ _atomic_decrement32(INT32 volatile *ptr)
-
- #define get_profile_ticks _get_profile_ticks
-
--#ifndef __x86_64__
-+#if !defined(__amd64__) && !defined(__x86_64__)
- INLINE UINT64 ATTR_UNUSED ATTR_FORCE_INLINE _get_profile_ticks(void)
- {
- UINT64 result;
+ inline uint32_t ATTR_CONST ATTR_FORCE_INLINE
+ _modu_64x32(uint64_t a, uint32_t b)
diff --git a/emulators/mame/files/patch-src__osd__eminline.h b/emulators/mame/files/patch-src__osd__eminline.h
index fc337de4036f..ca0f71526adf 100644
--- a/emulators/mame/files/patch-src__osd__eminline.h
+++ b/emulators/mame/files/patch-src__osd__eminline.h
@@ -1,8 +1,8 @@
---- src/osd/eminline.h.orig 2015-05-24 15:52:19 UTC
+--- src/osd/eminline.h.orig 2018-02-27 15:59:06 UTC
+++ src/osd/eminline.h
-@@ -88,7 +88,7 @@ _osd_exchange64(INT64 volatile *ptr, INT
+@@ -21,7 +21,7 @@
- #endif
+ #if defined(__GNUC__)
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__amd64__)
diff --git a/emulators/mame/files/patch-src_emu_webengine.c b/emulators/mame/files/patch-src_emu_webengine.c
deleted file mode 100644
index 0c9e5d9f66b1..000000000000
--- a/emulators/mame/files/patch-src_emu_webengine.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/emu/webengine.c.orig 2015-09-30 06:29:01 UTC
-+++ src/emu/webengine.c
-@@ -330,7 +330,7 @@ int web_engine::begin_request_handler(st
- // That upload_data contains more than we need. It also has the headers.
- // We'll need to strip it down to just what we want.
-
-- if ((&data_length > 0) && (sizeof(file_name) > 0))
-+ if ((data_length > 0) && (sizeof(file_name) > 0))
- {
- // MSVC doesn't yet support variable-length arrays, so chop the string the old-fashioned way
- upload_data[data_length] = '\0';
diff --git a/emulators/mame/files/patch-src_lib_netlist_plib_pparser.c b/emulators/mame/files/patch-src_lib_netlist_plib_pparser.c
deleted file mode 100644
index d485049e5eb9..000000000000
--- a/emulators/mame/files/patch-src_lib_netlist_plib_pparser.c
+++ /dev/null
@@ -1,102 +0,0 @@
---- src/lib/netlist/plib/pparser.c.orig 2015-09-30 06:29:01 UTC
-+++ src/lib/netlist/plib/pparser.c
-@@ -28,22 +28,22 @@ pstring ptokenizer::currentline_str()
-
- void ptokenizer::skipeol()
- {
-- pstring::code_t c = getc();
-+ pstring::code_t c = mame_getc();
- while (c)
- {
- if (c == 10)
- {
-- c = getc();
-+ c = mame_getc();
- if (c != 13)
-- ungetc();
-+ mame_ungetc();
- return;
- }
-- c = getc();
-+ c = mame_getc();
- }
- }
-
-
--pstring::code_t ptokenizer::getc()
-+pstring::code_t ptokenizer::mame_getc()
- {
- if (m_px >= m_cur_line.len())
- {
-@@ -58,7 +58,7 @@ pstring::code_t ptokenizer::getc()
- return m_cur_line.code_at(m_px++);
- }
-
--void ptokenizer::ungetc()
-+void ptokenizer::mame_ungetc()
- {
- m_px--;
- }
-@@ -166,10 +166,10 @@ ptokenizer::token_t ptokenizer::get_toke
- ptokenizer::token_t ptokenizer::get_token_internal()
- {
- /* skip ws */
-- pstring::code_t c = getc();
-+ pstring::code_t c = mame_getc();
- while (m_whitespace.find(c)>=0)
- {
-- c = getc();
-+ c = mame_getc();
- if (eof())
- {
- return token_t(ENDOFFILE);
-@@ -189,9 +189,9 @@ ptokenizer::token_t ptokenizer::get_toke
- else if (m_number_chars.find(c)<0)
- break;
- tokstr += c;
-- c = getc();
-+ c = mame_getc();
- }
-- ungetc();
-+ mame_ungetc();
- return token_t(ret, tokstr);
- }
- else if (m_identifier_chars.find(c)>=0)
-@@ -200,9 +200,9 @@ ptokenizer::token_t ptokenizer::get_toke
- pstring tokstr = "";
- while (m_identifier_chars.find(c)>=0) {
- tokstr += c;
-- c = getc();
-+ c = mame_getc();
- }
-- ungetc();
-+ mame_ungetc();
- token_id_t id = token_id_t(m_tokens.indexof(tokstr));
- if (id.id() >= 0)
- return token_t(id, tokstr);
-@@ -214,11 +214,11 @@ ptokenizer::token_t ptokenizer::get_toke
- else if (c == m_string)
- {
- pstring tokstr = "";
-- c = getc();
-+ c = mame_getc();
- while (c != m_string)
- {
- tokstr += c;
-- c = getc();
-+ c = mame_getc();
- }
- return token_t(STRING, tokstr);
- }
-@@ -235,9 +235,9 @@ ptokenizer::token_t ptokenizer::get_toke
- if (id.id() >= 0)
- return token_t(id, tokstr);
- }
-- c = getc();
-+ c = mame_getc();
- }
-- ungetc();
-+ mame_ungetc();
- token_id_t id = token_id_t(m_tokens.indexof(tokstr));
- if (id.id() >= 0)
- return token_t(id, tokstr);
diff --git a/emulators/mame/files/patch-src_lib_netlist_plib_pparser.cpp b/emulators/mame/files/patch-src_lib_netlist_plib_pparser.cpp
new file mode 100644
index 000000000000..4791a05e6db1
--- /dev/null
+++ b/emulators/mame/files/patch-src_lib_netlist_plib_pparser.cpp
@@ -0,0 +1,102 @@
+--- src/lib/netlist/plib/pparser.cpp.orig 2018-02-27 15:59:06 UTC
++++ src/lib/netlist/plib/pparser.cpp
+@@ -34,22 +34,22 @@ pstring ptokenizer::currentline_str()
+
+ void ptokenizer::skipeol()
+ {
+- pstring::code_t c = getc();
++ pstring::code_t c = mame_getc();
+ while (c)
+ {
+ if (c == 10)
+ {
+- c = getc();
++ c = mame_getc();
+ if (c != 13)
+- ungetc(c);
++ mame_ungetc(c);
+ return;
+ }
+- c = getc();
++ c = mame_getc();
+ }
+ }
+
+
+-pstring::code_t ptokenizer::getc()
++pstring::code_t ptokenizer::mame_getc()
+ {
+ if (m_unget != 0)
+ {
+@@ -70,7 +70,7 @@ pstring::code_t ptokenizer::getc()
+ return c;
+ }
+
+-void ptokenizer::ungetc(pstring::code_t c)
++void ptokenizer::mame_ungetc(pstring::code_t c)
+ {
+ m_unget = c;
+ }
+@@ -182,10 +182,10 @@ ptokenizer::token_t ptokenizer::get_toke
+ ptokenizer::token_t ptokenizer::get_token_internal()
+ {
+ /* skip ws */
+- pstring::code_t c = getc();
++ pstring::code_t c = mame_getc();
+ while (m_whitespace.find(c) != pstring::npos)
+ {
+- c = getc();
++ c = mame_getc();
+ if (eof())
+ {
+ return token_t(ENDOFFILE);
+@@ -205,9 +205,9 @@ ptokenizer::token_t ptokenizer::get_toke
+ else if (m_number_chars.find(c) == pstring::npos)
+ break;
+ tokstr += c;
+- c = getc();
++ c = mame_getc();
+ }
+- ungetc(c);
++ mame_ungetc(c);
+ return token_t(ret, tokstr);
+ }
+ else if (m_identifier_chars.find(c) != pstring::npos)
+@@ -217,9 +217,9 @@ ptokenizer::token_t ptokenizer::get_toke
+ while (m_identifier_chars.find(c) != pstring::npos)
+ {
+ tokstr += c;
+- c = getc();
++ c = mame_getc();
+ }
+- ungetc(c);
++ mame_ungetc(c);
+ auto id = m_tokens.find(tokstr);
+ if (id != m_tokens.end())
+ return token_t(id->second, tokstr);
+@@ -229,11 +229,11 @@ ptokenizer::token_t ptokenizer::get_toke
+ else if (c == m_string)
+ {
+ pstring tokstr = "";
+- c = getc();
++ c = mame_getc();
+ while (c != m_string)
+ {
+ tokstr += c;
+- c = getc();
++ c = mame_getc();
+ }
+ return token_t(STRING, tokstr);
+ }
+@@ -251,9 +251,9 @@ ptokenizer::token_t ptokenizer::get_toke
+ if (id != m_tokens.end())
+ return token_t(id->second, tokstr);
+ }
+- c = getc();
++ c = mame_getc();
+ }
+- ungetc(c);
++ mame_ungetc(c);
+ auto id = m_tokens.find(tokstr);
+ if (id != m_tokens.end())
+ return token_t(id->second, tokstr);
diff --git a/emulators/mame/files/patch-src_lib_netlist_plib_pparser.h b/emulators/mame/files/patch-src_lib_netlist_plib_pparser.h
index 6c950ce9ab7c..37f3c5ac96ee 100644
--- a/emulators/mame/files/patch-src_lib_netlist_plib_pparser.h
+++ b/emulators/mame/files/patch-src_lib_netlist_plib_pparser.h
@@ -1,13 +1,13 @@
---- src/lib/netlist/plib/pparser.h.orig 2015-09-30 06:29:01 UTC
+--- src/lib/netlist/plib/pparser.h.orig 2018-02-27 15:59:06 UTC
+++ src/lib/netlist/plib/pparser.h
-@@ -120,8 +120,8 @@ protected:
+@@ -118,8 +118,8 @@ protected:
private:
void skipeol();
- pstring::code_t getc();
-- void ungetc();
+- void ungetc(pstring::code_t c);
+ pstring::code_t mame_getc();
-+ void mame_ungetc();
++ void mame_ungetc(pstring::code_t c);
bool eof() { return m_strm.eof(); }
diff --git a/emulators/mame/files/patch-src_osd_modules_file_posixptty.cpp b/emulators/mame/files/patch-src_osd_modules_file_posixptty.cpp
new file mode 100644
index 000000000000..79604da1b82b
--- /dev/null
+++ b/emulators/mame/files/patch-src_osd_modules_file_posixptty.cpp
@@ -0,0 +1,11 @@
+--- src/osd/modules/file/posixptty.cpp.orig 2018-02-27 15:59:06 UTC
++++ src/osd/modules/file/posixptty.cpp
+@@ -19,7 +19,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+
+-#if defined(__FreeBSD_kernel__) || defined(__DragonFly__)
++#if defined(__FreeBSD__) || defined(__DragonFly__)
+ #include <termios.h>
+ #include <libutil.h>
+ #elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__ANDROID__)
diff --git a/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h b/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
index 98f67043a063..1dce6ab01d76 100644
--- a/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
+++ b/emulators/mame/files/patch-src_osd_sdl_sdlprefix.h
@@ -1,6 +1,6 @@
---- src/osd/sdl/sdlprefix.h.orig 2015-04-29 06:18:54 UTC
+--- src/osd/sdl/sdlprefix.h.orig 2018-02-27 15:59:06 UTC
+++ src/osd/sdl/sdlprefix.h
-@@ -50,6 +50,7 @@
+@@ -48,6 +48,7 @@
#define NO_AFFINITY_NP 1
#elif defined(__DragonFly__)
#define SDLMAME_DRAGONFLY 1
diff --git a/emulators/mame/files/pkg-message.in b/emulators/mame/files/pkg-message.in
index 40ae3480735f..e9519472592a 100644
--- a/emulators/mame/files/pkg-message.in
+++ b/emulators/mame/files/pkg-message.in
@@ -5,8 +5,4 @@ An example configuration file has been installed in
Should you create a "~/.%%MTARGET%%" directory and place it here or
launch "%%MTARGET%% -createconfig" and place the %%MTARGET%%.ini created instead.
-If you have a non-qwerty keyboard, you should put in your %%MTARGET%%.ini :
-keymap 1
-keymap_file %%DATADIR%%/keymaps/km-XX.txt
-
==============================================================================
diff --git a/emulators/mame/pkg-plist b/emulators/mame/pkg-plist
index 99226828437b..445e00931c5e 100644
--- a/emulators/mame/pkg-plist
+++ b/emulators/mame/pkg-plist
@@ -4,14 +4,45 @@ libexec/mame/jedutil
libexec/mame/ldresample
libexec/mame/ldverify
libexec/mame/romcmp
-libexec/mame/testkeys
libexec/mame/unidasm
-%%DATADIR%%/artwork/adapture-grill.png
+%%DATADIR%%/artwork/LICENSE
+%%DATADIR%%/artwork/README.md
+%%DATADIR%%/artwork/aperture-grille.png
+%%DATADIR%%/artwork/aperture.png
+%%DATADIR%%/artwork/aperture1x2rb.png
+%%DATADIR%%/artwork/aperture1x3rb.png
+%%DATADIR%%/artwork/aperture2x4bg.png
+%%DATADIR%%/artwork/aperture2x4rb.png
+%%DATADIR%%/artwork/aperture4x6.png
+%%DATADIR%%/artwork/bgfx/border_blur/default.lay
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/aperture_1_2_bgr.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/aperture_1_4_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/aperture_2_4_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/aperture_2_5_bgr.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/aperture_3_6_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/delta_1_2x1_bgr.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/delta_1_4x1_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/delta_2_4x1_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/delta_2_4x2_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/none.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/slot_2_4x4_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/slot_2_5x4_bgr.png
+%%DATADIR%%/artwork/bgfx/chains/crt-geom/slot_3_7x6_rgb.png
+%%DATADIR%%/artwork/bgfx/chains/hq2x.png
+%%DATADIR%%/artwork/bgfx/chains/hq3x.png
+%%DATADIR%%/artwork/bgfx/chains/hq4x.png
+%%DATADIR%%/artwork/dir.txt
+%%DATADIR%%/artwork/monochrome-chessboard.png
+%%DATADIR%%/artwork/monochrome-matrix.png
+%%DATADIR%%/artwork/scanlines.png
%%DATADIR%%/artwork/shadow-mask.png
+%%DATADIR%%/artwork/slot-mask-aligned.png
%%DATADIR%%/artwork/slot-mask.png
%%DATADIR%%/artwork/white.png
%%DATADIR%%/hash/32x.xml
%%DATADIR%%/hash/3do_m2.xml
+%%DATADIR%%/hash/LICENSE
+%%DATADIR%%/hash/README.md
%%DATADIR%%/hash/a2600.xml
%%DATADIR%%/hash/a2600_cass.xml
%%DATADIR%%/hash/a5200.hsi
@@ -34,6 +65,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/aleste.xml
%%DATADIR%%/hash/alice32.xml
%%DATADIR%%/hash/alice90.xml
+%%DATADIR%%/hash/alphatro_cart.xml
%%DATADIR%%/hash/alphatro_flop.xml
%%DATADIR%%/hash/altos5.xml
%%DATADIR%%/hash/amiga_a1000.xml
@@ -53,26 +85,42 @@ libexec/mame/unidasm
%%DATADIR%%/hash/apollo_ctape.xml
%%DATADIR%%/hash/apple1.xml
%%DATADIR%%/hash/apple2.xml
+%%DATADIR%%/hash/apple2_cass.xml
%%DATADIR%%/hash/apple2gs.xml
%%DATADIR%%/hash/apple3.xml
+%%DATADIR%%/hash/apricot_flop.xml
%%DATADIR%%/hash/aquarius.xml
%%DATADIR%%/hash/arcadia.xml
%%DATADIR%%/hash/archimedes.xml
%%DATADIR%%/hash/astrocde.xml
-%%DATADIR%%/hash/atom.xml
+%%DATADIR%%/hash/atom_cass.xml
+%%DATADIR%%/hash/atom_flop.xml
+%%DATADIR%%/hash/atom_rom.xml
%%DATADIR%%/hash/attache.xml
%%DATADIR%%/hash/b2m.xml
+%%DATADIR%%/hash/bbc_flop_32016.xml
+%%DATADIR%%/hash/bbc_flop_6502.xml
+%%DATADIR%%/hash/bbc_flop_65c102.xml
+%%DATADIR%%/hash/bbc_flop_68000.xml
+%%DATADIR%%/hash/bbc_flop_80186.xml
+%%DATADIR%%/hash/bbc_flop_arm.xml
+%%DATADIR%%/hash/bbc_flop_torch.xml
+%%DATADIR%%/hash/bbc_flop_z80.xml
%%DATADIR%%/hash/bbca_cass.xml
%%DATADIR%%/hash/bbcb_cass.xml
-%%DATADIR%%/hash/bbcb_de_cass.xml
-%%DATADIR%%/hash/bbcb_us_flop.xml
+%%DATADIR%%/hash/bbcb_cass_de.xml
+%%DATADIR%%/hash/bbcb_flop.xml
+%%DATADIR%%/hash/bbcb_flop_orig.xml
+%%DATADIR%%/hash/bbcb_flop_us.xml
%%DATADIR%%/hash/bbcbc.xml
%%DATADIR%%/hash/bbcm_cart.xml
%%DATADIR%%/hash/bbcm_cass.xml
+%%DATADIR%%/hash/bbcm_flop.xml
%%DATADIR%%/hash/bbcmc_flop.xml
%%DATADIR%%/hash/bk0010.xml
%%DATADIR%%/hash/bml3_flop.xml
%%DATADIR%%/hash/bw12.xml
+%%DATADIR%%/hash/bw14.xml
%%DATADIR%%/hash/bw2.xml
%%DATADIR%%/hash/bx256hp_flop.xml
%%DATADIR%%/hash/c128_cart.xml
@@ -91,9 +139,10 @@ libexec/mame/unidasm
%%DATADIR%%/hash/cd32.xml
%%DATADIR%%/hash/cdi.xml
%%DATADIR%%/hash/cdtv.xml
-%%DATADIR%%/hash/cgenie_cart.xml
%%DATADIR%%/hash/cgenie_cass.xml
+%%DATADIR%%/hash/cgenie_flop_rom.xml
%%DATADIR%%/hash/channelf.xml
+%%DATADIR%%/hash/chessmstdm.xml
%%DATADIR%%/hash/coco_cart.xml
%%DATADIR%%/hash/coco_flop.xml
%%DATADIR%%/hash/coleco.xml
@@ -107,23 +156,38 @@ libexec/mame/unidasm
%%DATADIR%%/hash/cx3000tc.xml
%%DATADIR%%/hash/dai_cass.xml
%%DATADIR%%/hash/database.xml
+%%DATADIR%%/hash/dc.xml
+%%DATADIR%%/hash/dgnalpha_flop.xml
+%%DATADIR%%/hash/dgnbeta_flop.xml
%%DATADIR%%/hash/dim68k.xml
%%DATADIR%%/hash/dmv.xml
%%DATADIR%%/hash/dps1.xml
+%%DATADIR%%/hash/dragon_cart.xml
+%%DATADIR%%/hash/dragon_cass.xml
+%%DATADIR%%/hash/dragon_flex.xml
+%%DATADIR%%/hash/dragon_flop.xml
+%%DATADIR%%/hash/dragon_os9.xml
+%%DATADIR%%/hash/e01_flop.xml
%%DATADIR%%/hash/ec1841.xml
%%DATADIR%%/hash/einstein.xml
%%DATADIR%%/hash/electron_cart.xml
+%%DATADIR%%/hash/electron_cass.xml
+%%DATADIR%%/hash/electron_flop.xml
+%%DATADIR%%/hash/electron_rom.xml
%%DATADIR%%/hash/ep64_cart.xml
%%DATADIR%%/hash/ep64_cass.xml
%%DATADIR%%/hash/ep64_flop.xml
%%DATADIR%%/hash/epson_cpm.xml
+%%DATADIR%%/hash/ews286_flop.xml
%%DATADIR%%/hash/exl100.xml
%%DATADIR%%/hash/famicom_cass.xml
%%DATADIR%%/hash/famicom_flop.xml
+%%DATADIR%%/hash/fidel_scc.xml
%%DATADIR%%/hash/fm77av.xml
%%DATADIR%%/hash/fm7_cass.xml
%%DATADIR%%/hash/fm7_disk.xml
%%DATADIR%%/hash/fmtowns_cd.xml
+%%DATADIR%%/hash/fmtowns_flop.xml
%%DATADIR%%/hash/g7400.xml
%%DATADIR%%/hash/galaxy.xml
%%DATADIR%%/hash/gamate.xml
@@ -134,6 +198,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/gameking3.xml
%%DATADIR%%/hash/gamepock.xml
%%DATADIR%%/hash/gba.xml
+%%DATADIR%%/hash/gba_ereader.xml
%%DATADIR%%/hash/gbcolor.xml
%%DATADIR%%/hash/genius.xml
%%DATADIR%%/hash/gimix.xml
@@ -145,18 +210,23 @@ libexec/mame/unidasm
%%DATADIR%%/hash/gp32.xml
%%DATADIR%%/hash/guab.xml
%%DATADIR%%/hash/gx4000.xml
+%%DATADIR%%/hash/h21.xml
%%DATADIR%%/hash/horizon.xml
+%%DATADIR%%/hash/hp85_rom.xml
%%DATADIR%%/hash/hp9835a_rom.xml
%%DATADIR%%/hash/hp9845a_rom.xml
%%DATADIR%%/hash/hp9845b_rom.xml
+%%DATADIR%%/hash/hp_ipc.xml
%%DATADIR%%/hash/ht68k.xml
+%%DATADIR%%/hash/hx20_rom.xml
+%%DATADIR%%/hash/hyperscan.xml
%%DATADIR%%/hash/i7000_card.xml
%%DATADIR%%/hash/ibm5140.xml
%%DATADIR%%/hash/ibm5150.xml
%%DATADIR%%/hash/ibm5150_cass.xml
-%%DATADIR%%/hash/ibm5160_flop.xml
%%DATADIR%%/hash/ibm5170.xml
%%DATADIR%%/hash/ibm5170_cdrom.xml
+%%DATADIR%%/hash/ibm6580.xml
%%DATADIR%%/hash/ibmpcjr_cart.xml
%%DATADIR%%/hash/ibmpcjr_flop.xml
%%DATADIR%%/hash/interact.xml
@@ -169,12 +239,15 @@ libexec/mame/unidasm
%%DATADIR%%/hash/jaguar.xml
%%DATADIR%%/hash/juicebox.xml
%%DATADIR%%/hash/jupace_cass.xml
+%%DATADIR%%/hash/k28m2.xml
%%DATADIR%%/hash/kayproii.xml
%%DATADIR%%/hash/kc_cart.xml
%%DATADIR%%/hash/kc_cass.xml
%%DATADIR%%/hash/kc_flop.xml
+%%DATADIR%%/hash/kim1_cass.xml
%%DATADIR%%/hash/korvet_flop.xml
%%DATADIR%%/hash/lantutor.xml
+%%DATADIR%%/hash/laser2001_cart.xml
%%DATADIR%%/hash/leapster.xml
%%DATADIR%%/hash/lisa.xml
%%DATADIR%%/hash/lisa2.xml
@@ -183,6 +256,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/m20.xml
%%DATADIR%%/hash/m5_cart.xml
%%DATADIR%%/hash/m5_cass.xml
+%%DATADIR%%/hash/m5_flop.xml
%%DATADIR%%/hash/mac_flop.xml
%%DATADIR%%/hash/mac_hdd.xml
%%DATADIR%%/hash/mbc200.xml
@@ -190,6 +264,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/mc10.xml
%%DATADIR%%/hash/mc1000_cass.xml
%%DATADIR%%/hash/mc1502_flop.xml
+%%DATADIR%%/hash/md2_flop.xml
%%DATADIR%%/hash/megacd.xml
%%DATADIR%%/hash/megacdj.xml
%%DATADIR%%/hash/megadriv.xml
@@ -203,6 +278,11 @@ libexec/mame/unidasm
%%DATADIR%%/hash/misterx.xml
%%DATADIR%%/hash/mm1_flop.xml
%%DATADIR%%/hash/mo5_cart.xml
+%%DATADIR%%/hash/mo5_cass.xml
+%%DATADIR%%/hash/mo5_flop.xml
+%%DATADIR%%/hash/mo5_qd.xml
+%%DATADIR%%/hash/mo6_cass.xml
+%%DATADIR%%/hash/mo6_flop.xml
%%DATADIR%%/hash/mpu1000.xml
%%DATADIR%%/hash/mpz80.xml
%%DATADIR%%/hash/msx.hsi
@@ -215,7 +295,9 @@ libexec/mame/unidasm
%%DATADIR%%/hash/msx2_flop.xml
%%DATADIR%%/hash/msx2p_flop.xml
%%DATADIR%%/hash/msxr_flop.xml
+%%DATADIR%%/hash/mtx_cart.xml
%%DATADIR%%/hash/mtx_cass.xml
+%%DATADIR%%/hash/mtx_rom.xml
%%DATADIR%%/hash/myvision.xml
%%DATADIR%%/hash/mz2000_cass.xml
%%DATADIR%%/hash/mz2000_flop.xml
@@ -238,6 +320,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/ngp.xml
%%DATADIR%%/hash/ngpc.xml
%%DATADIR%%/hash/nimbus.xml
+%%DATADIR%%/hash/octopus.xml
%%DATADIR%%/hash/odyssey2.xml
%%DATADIR%%/hash/ondra.xml
%%DATADIR%%/hash/orao.xml
@@ -252,15 +335,21 @@ libexec/mame/unidasm
%%DATADIR%%/hash/partner_flop.xml
%%DATADIR%%/hash/pasogo.xml
%%DATADIR%%/hash/pb2000c.xml
-%%DATADIR%%/hash/pc1512.xml
-%%DATADIR%%/hash/pc1640.xml
+%%DATADIR%%/hash/pc1000.xml
+%%DATADIR%%/hash/pc1512_flop.xml
+%%DATADIR%%/hash/pc1512_hdd.xml
+%%DATADIR%%/hash/pc1640_flop.xml
+%%DATADIR%%/hash/pc1640_hdd.xml
%%DATADIR%%/hash/pc8201.xml
%%DATADIR%%/hash/pc8801_cass.xml
%%DATADIR%%/hash/pc8801_flop.xml
%%DATADIR%%/hash/pc88va.xml
%%DATADIR%%/hash/pc98.xml
+%%DATADIR%%/hash/pc98_cd.xml
%%DATADIR%%/hash/pce.xml
+%%DATADIR%%/hash/pce_tourvision.xml
%%DATADIR%%/hash/pcecd.xml
+%%DATADIR%%/hash/pcfx.xml
%%DATADIR%%/hash/pcw.xml
%%DATADIR%%/hash/pcw16.xml
%%DATADIR%%/hash/pecom_cass.xml
@@ -270,7 +359,10 @@ libexec/mame/unidasm
%%DATADIR%%/hash/pet_cass.xml
%%DATADIR%%/hash/pet_flop.xml
%%DATADIR%%/hash/pet_hdd.xml
+%%DATADIR%%/hash/pet_quik.xml
%%DATADIR%%/hash/pet_rom.xml
+%%DATADIR%%/hash/phc25_cass.xml
+%%DATADIR%%/hash/picno.xml
%%DATADIR%%/hash/pico.xml
%%DATADIR%%/hash/pippin.xml
%%DATADIR%%/hash/pippin_flop.xml
@@ -278,10 +370,19 @@ libexec/mame/unidasm
%%DATADIR%%/hash/plus4_cass.xml
%%DATADIR%%/hash/plus4_flop.xml
%%DATADIR%%/hash/pmd85_cass.xml
+%%DATADIR%%/hash/pockchalv2.xml
+%%DATADIR%%/hash/pockchalw.xml
+%%DATADIR%%/hash/pofo.xml
+%%DATADIR%%/hash/poisk1_flop.xml
%%DATADIR%%/hash/pokemini.xml
+%%DATADIR%%/hash/princ.xml
%%DATADIR%%/hash/pro128_cart.xml
+%%DATADIR%%/hash/pro128_cass.xml
+%%DATADIR%%/hash/pro128_flop.xml
+%%DATADIR%%/hash/pro128s_flop.xml
%%DATADIR%%/hash/prof180.xml
%%DATADIR%%/hash/prof80.xml
+%%DATADIR%%/hash/psi98.xml
%%DATADIR%%/hash/psion1.xml
%%DATADIR%%/hash/psion2.xml
%%DATADIR%%/hash/psx.xml
@@ -289,11 +390,14 @@ libexec/mame/unidasm
%%DATADIR%%/hash/pv1000.xml
%%DATADIR%%/hash/pv2000.xml
%%DATADIR%%/hash/px4_cart.xml
+%%DATADIR%%/hash/px8_cart.xml
%%DATADIR%%/hash/pyl601.xml
%%DATADIR%%/hash/ql_cart.xml
%%DATADIR%%/hash/ql_cass.xml
%%DATADIR%%/hash/ql_flop.xml
+%%DATADIR%%/hash/quizwiz.xml
%%DATADIR%%/hash/qx10_flop.xml
+%%DATADIR%%/hash/r9751.xml
%%DATADIR%%/hash/radio86_cart.xml
%%DATADIR%%/hash/radio86_cass.xml
%%DATADIR%%/hash/rainbow.xml
@@ -303,6 +407,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/samcoupe_cass.xml
%%DATADIR%%/hash/samcoupe_flop.xml
%%DATADIR%%/hash/sat_cart.xml
+%%DATADIR%%/hash/sat_vccart.xml
%%DATADIR%%/hash/saturn.xml
%%DATADIR%%/hash/sawatte.xml
%%DATADIR%%/hash/sc3000_cart.xml
@@ -312,12 +417,15 @@ libexec/mame/unidasm
%%DATADIR%%/hash/sf7000.xml
%%DATADIR%%/hash/sg1000.xml
%%DATADIR%%/hash/sgx.xml
+%%DATADIR%%/hash/sitcom.xml
%%DATADIR%%/hash/smc777.xml
+%%DATADIR%%/hash/smondial2.xml
%%DATADIR%%/hash/sms.xml
%%DATADIR%%/hash/snes.xml
%%DATADIR%%/hash/snes_bspack.xml
%%DATADIR%%/hash/snes_strom.xml
%%DATADIR%%/hash/snes_vkun.xml
+%%DATADIR%%/hash/snotec.xml
%%DATADIR%%/hash/snread.xml
%%DATADIR%%/hash/snspell.xml
%%DATADIR%%/hash/socrates.xml
@@ -328,6 +436,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/sorcerer_cass.xml
%%DATADIR%%/hash/sorcerer_flop.xml
%%DATADIR%%/hash/spc1000_cass.xml
+%%DATADIR%%/hash/spc1500_cass.xml
%%DATADIR%%/hash/special_cass.xml
%%DATADIR%%/hash/special_flop.xml
%%DATADIR%%/hash/specpls3_flop.xml
@@ -335,9 +444,11 @@ libexec/mame/unidasm
%%DATADIR%%/hash/spectrum_cass.xml
%%DATADIR%%/hash/st_cart.xml
%%DATADIR%%/hash/st_flop.xml
+%%DATADIR%%/hash/stepone_flop.xml
%%DATADIR%%/hash/studio2.xml
%%DATADIR%%/hash/stv.xml
%%DATADIR%%/hash/super6.xml
+%%DATADIR%%/hash/super80_cass.xml
%%DATADIR%%/hash/superpet_flop.xml
%%DATADIR%%/hash/supracan.xml
%%DATADIR%%/hash/sv8000.xml
@@ -346,25 +457,35 @@ libexec/mame/unidasm
%%DATADIR%%/hash/svi318_flop.xml
%%DATADIR%%/hash/svision.xml
%%DATADIR%%/hash/svmu.xml
+%%DATADIR%%/hash/t1000.xml
%%DATADIR%%/hash/tandy200.xml
%%DATADIR%%/hash/tandy2k.xml
%%DATADIR%%/hash/tandy6k.xml
+%%DATADIR%%/hash/tc4.xml
%%DATADIR%%/hash/tdv2324.xml
%%DATADIR%%/hash/tek4052_cart.xml
%%DATADIR%%/hash/tg16.xml
%%DATADIR%%/hash/ti74_cart.xml
+%%DATADIR%%/hash/ti95_cart.xml
%%DATADIR%%/hash/ti99_cart.xml
%%DATADIR%%/hash/tiki100.xml
%%DATADIR%%/hash/timex_dock.xml
%%DATADIR%%/hash/tntell.xml
%%DATADIR%%/hash/to770_cart.xml
+%%DATADIR%%/hash/to770a_cart.xml
%%DATADIR%%/hash/to7_cart.xml
+%%DATADIR%%/hash/to7_cass.xml
+%%DATADIR%%/hash/to7_qd.xml
+%%DATADIR%%/hash/to8_cass.xml
+%%DATADIR%%/hash/to8_qd.xml
+%%DATADIR%%/hash/to_flop.xml
%%DATADIR%%/hash/trs80m2.xml
%%DATADIR%%/hash/trsm100.xml
%%DATADIR%%/hash/tutor.xml
%%DATADIR%%/hash/tvc_cart.xml
%%DATADIR%%/hash/tvc_cass.xml
%%DATADIR%%/hash/tvc_flop.xml
+%%DATADIR%%/hash/unichamp.xml
%%DATADIR%%/hash/ut88.xml
%%DATADIR%%/hash/uzebox.xml
%%DATADIR%%/hash/v1050_flop.xml
@@ -372,6 +493,7 @@ libexec/mame/unidasm
%%DATADIR%%/hash/vboy.xml
%%DATADIR%%/hash/vc4000.xml
%%DATADIR%%/hash/vector06_cart.xml
+%%DATADIR%%/hash/vector06_flop.xml
%%DATADIR%%/hash/vectrex.xml
%%DATADIR%%/hash/vg5k.xml
%%DATADIR%%/hash/vic10.xml
@@ -387,8 +509,11 @@ libexec/mame/unidasm
%%DATADIR%%/hash/vreader.xml
%%DATADIR%%/hash/vsmile_cart.xml
%%DATADIR%%/hash/vsmile_cd.xml
+%%DATADIR%%/hash/vsmileb_cart.xml
+%%DATADIR%%/hash/vsmilem_cart.xml
%%DATADIR%%/hash/vz_cass.xml
%%DATADIR%%/hash/wangpc.xml
+%%DATADIR%%/hash/waveterm.xml
%%DATADIR%%/hash/wicat.xml
%%DATADIR%%/hash/wmbullet.xml
%%DATADIR%%/hash/wscolor.xml
@@ -401,9 +526,9 @@ libexec/mame/unidasm
%%DATADIR%%/hash/xegs.xml
%%DATADIR%%/hash/xerox820.xml
%%DATADIR%%/hash/xerox820ii.xml
-%%DATADIR%%/keymaps/km-be.txt
-%%DATADIR%%/keymaps/km-ch.txt
-%%DATADIR%%/keymaps/km-de.txt
-%%DATADIR%%/keymaps/km-fr-OSX.txt
-%%DATADIR%%/keymaps/km-fr.txt
-%%DATADIR%%/keymaps/km_it.txt
+%%DATADIR%%/hash/z80ne_cass.xml
+%%DATADIR%%/hash/z80ne_flop.xml
+%%DATADIR%%/hash/z88_cart.xml
+%%DATADIR%%/hash/zorba.xml
+%%DATADIR%%/hash/zx80_cass.xml
+%%DATADIR%%/hash/zx81_cass.xml