Wed Jan 4 23:05:12 2017 UTC ()
Updated mame to 0.181.

MAME 0.181

Happy new year from the MAME team! To help you celebrate, we穩e
unwrapping an extra-special release this month, with enough
improvements to put anyone in a good mood. The exciting news that龝
got people talking is that protected microcontrollers (MCUs) from
a number of games have been read out and hooked up in MAME. This
gives real, emulated sound in Toaplan's Vimana, Fire Shark (also
known as Same! Same! Same!) and Teki Paki, proper emulation of
Tokio/Scramble Formation, M-chip emulation for Taito Extermination,
Dr Toppel and Plump Pop, MCU emulation for Sega Altered Beast and
Golden Axe, and partial sound in World Beach Volley. There's more
coming on this front, so stay tuned for upcoming releases!

MAME 0.181 also marks the debut of Votrax SC-01 emulation in MAME,
based on reverse-engineering die photographs. The digital section
should be pretty much perfect, although there are still some issues
in the analog section (plosives don't sound quite right). Overall,
it's a huge improvement in Votrax speech synthesis emulation, and
a great leap forward in our understanding of how the hardware works.
It also means speech samples are no longer required for a number
of games.

Building on the ARM improvements in last month's release, we now
have working floppy drives and sound in the Acorn Archimedes driver,
and default NVRAM images for the US Aristocrat Mark 5 games. This
greatly increases the amount of RISC OS software you can try out,
improves the gameplay experience in the Archimedes-based arcade
games, and allows you to play the Aristocrat gamblers without having
to make your way through the setup process first.

MAME's discrete netlist emulation library has been expanded
substantially in this release, including some new classes of devices
like ROMs, and many newly supported logic chips. This will make it
substantially easier to emulate arcade games which used discrete
TTL logic, and as a test of this new functionality, the TTL video
board from the Hazeltine 1500 intelligent terminal is now emulated
using the netlist system. There's ongoing work in this area involving
multiple developers, so look out for more exciting updates in this
space.

We穽e fixed some fairly significant bugs, including one preventing
the debugger from working on Linux or Mac with drivers that use a
dynamic recompiler core, and one that could cause MAME to crash
when using BDF fonts. The internal UI should be more efficient if
you're using icons now, and issues with spurious key repeats should
be reduced. The Beezer driver has been rewritten and should be
improved overall.

There are quite a few newly dumped arcade games in this release,
including Eeekk!, Simpson Junior (a Korean bootleg of J. J.
Squawkers), Power Flipper Pinball Shooting (an updated version of
Grand Cross), a version of Momoko 120% with English text, Miss
World 2002 (an adult Qix game), and alternate versions of The
NewZealand Story, Real Bout Fatal Fury, Space Dungeon, Flicky and
Turbo Force. The Apricot PC and Xi are now working, further increasing
MAME's coverage of DOS-based computers that aren't IBM-compatible.
You can also play with the COP44L version of Entex Space Invader,
and Mattel Funtronics Jacks and Red Light Green Light.

There are far too many improvements to list here, including lots
of fixes for graphics and flip screen issues, but you can read all
about it in the whatsnew.txt file, or grab the source or Windows
binaries from the download page and start playing.

MAME 0.180

Hello everybody! Are you ready for the November MAME release? It's
definitely ready for you, and there are lots of reasons to get
excited this time around. First and foremost, a number of ARM CPU
core fixes mean you can now boot to the RISC OS desktop on an
emulated Acorn Archimedes, and try some of the included applications.
The same bug fixes allow a number of Aristocrat Mark 5 gambling
machines to boot and run in demonstration mode. There are still
some issues to iron out, but things have definitely improved
enormously.

On the arcade front, protection on Atari Space Lords has finally
been reverse-engineered making the game playable. This is an
interesting space combat game for one or two players, where the
second player takes on the role of the gunner/co-pilot. In another
improvement that's been a long time coming, The Acclaim RAX sound
board is now emulated, bringing sound to Batman Forever and NBA
Jam Extreme. There are substantial improvements to the Magnet System
emulation (added in last month's release) making these rare prototype
bootlegs playable. David Haywood also fixed some graphical issues
in Altered Beast, and Angelo Salese fixed graphical issues in The
Lost Castle in Darkmist.

There are some other notable improvements in computer emulation,
too. Barry Rodewald has added support for IC Card (PCMCIA SRAM)
storage on the FM Towns, and substantially improved LSI Octopus
emulation. The Mac 128/512/Plus drivers have been modernised, and
serial port support has been added to the Apple IIgs driver. Another
DEC Rainbow 100 update from Bavarese fixes colours in high-resolution
mode among other improvements.

Newly supported systems include RC De Go (Go By RC outside Japan),
newly dumped versions of 1945k III, Forgotten Worlds, Sol Divide
and Vendetta, the Italian release of Mustache Boy, 286-based versions
of the Intel iSBC, bootlegs of Blue Shark, Pole Position II and
Ozma Wars, more Fidelity and Mephisto chess computers, and more
electronic toys.


(wiz)
diff -r1.70 -r1.71 pkgsrc/emulators/mame/Makefile
diff -r1.19 -r1.20 pkgsrc/emulators/mame/PLIST
diff -r1.60 -r1.61 pkgsrc/emulators/mame/distinfo
diff -r1.18 -r1.19 pkgsrc/emulators/mame/patches/patch-makefile
diff -r1.5 -r1.6 pkgsrc/emulators/mame/patches/patch-scripts_genie.lua
diff -r0 -r1.1 pkgsrc/emulators/mame/patches/patch-src_devices_machine_netlist.cpp
diff -r0 -r1.1 pkgsrc/emulators/mame/patches/patch-src_devices_machine_netlist.h

cvs diff -r1.70 -r1.71 pkgsrc/emulators/mame/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/mame/Makefile 2017/01/01 14:43:38 1.70
+++ pkgsrc/emulators/mame/Makefile 2017/01/04 23:05:12 1.71
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.70 2017/01/01 14:43:38 wiz Exp $ 1# $NetBSD: Makefile,v 1.71 2017/01/04 23:05:12 wiz Exp $
2 2
3DISTNAME= mame-0.179 3DISTNAME= mame-0.181
4PKGREVISION= 1 
5CATEGORIES= emulators 4CATEGORIES= emulators
6MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/}
7GITHUB_TAG= ${DISTNAME:S/-//S/.//} 6GITHUB_TAG= ${DISTNAME:S/-//S/.//}
8 7
9MAINTAINER= wiz@NetBSD.org 8MAINTAINER= wiz@NetBSD.org
10HOMEPAGE= http://www.mamedev.org/ 9HOMEPAGE= http://www.mamedev.org/
11COMMENT= Multiple Arcade Machine Emulator 10COMMENT= Multiple Arcade Machine Emulator
12LICENSE= modified-bsd AND gnu-gpl-v2 11LICENSE= modified-bsd AND gnu-gpl-v2
13 12
14DOCDIR= share/doc/mame 13DOCDIR= share/doc/mame
15SHAREDIR= share/mame 14SHAREDIR= share/mame
16INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6 15INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6
17INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur 16INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur
@@ -83,26 +82,28 @@ MAKE_ENV+= OPTIMIZE=2 @@ -83,26 +82,28 @@ MAKE_ENV+= OPTIMIZE=2
83 82
84. include "../../mk/endian.mk" 83. include "../../mk/endian.mk"
85 84
86.if ${MACHINE_ENDIAN:Mbig} 85.if ${MACHINE_ENDIAN:Mbig}
87MAKE_ENV+= BIGENDIAN=1 86MAKE_ENV+= BIGENDIAN=1
88.endif 87.endif
89 88
90PYTHON_FOR_BUILD_ONLY= yes 89PYTHON_FOR_BUILD_ONLY= yes
91PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 0.151 90PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 0.151
92 91
93post-extract: 92post-extract:
94 # will be chosen in preference to /usr/include/signal.h, but does not provide kill() 93 # will be chosen in preference to /usr/include/signal.h, but does not provide kill()
95 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h 94 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
 95 # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al.
 96 ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
96 ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd 97 ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd
97 98
98pre-build: 99pre-build:
99 # problems with mame-specific png.h 100 # problems with mame-specific png.h
100 ${RM} -f ${WRKDIR}/.buildlink/include/png* 101 ${RM} -f ${WRKDIR}/.buildlink/include/png*
101 102
102do-install: 103do-install:
103 ${INSTALL_PROGRAM} ${WRKSRC}/mame64 ${DESTDIR}${PREFIX}/bin/mame 104 ${INSTALL_PROGRAM} ${WRKSRC}/mame64 ${DESTDIR}${PREFIX}/bin/mame
104 set -e; \ 105 set -e; \
105 for prg in castool chdman floptool imgtool jedutil ldresample ldverify \ 106 for prg in castool chdman floptool imgtool jedutil ldresample ldverify \
106 nltool nlwav pngcmp regrep romcmp split src2html srcclean unidasm; \ 107 nltool nlwav pngcmp regrep romcmp split src2html srcclean unidasm; \
107 do \ 108 do \
108 ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \ 109 ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \

cvs diff -r1.19 -r1.20 pkgsrc/emulators/mame/PLIST (expand / switch to unified diff)

--- pkgsrc/emulators/mame/PLIST 2016/11/05 10:05:26 1.19
+++ pkgsrc/emulators/mame/PLIST 2017/01/04 23:05:12 1.20
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.19 2016/11/05 10:05:26 wiz Exp $ 1@comment $NetBSD: PLIST,v 1.20 2017/01/04 23:05:12 wiz Exp $
2bin/castool 2bin/castool
3bin/chdman 3bin/chdman
4bin/floptool 4bin/floptool
5bin/imgtool 5bin/imgtool
6bin/jedutil 6bin/jedutil
7bin/ldresample 7bin/ldresample
8bin/ldverify 8bin/ldverify
9bin/mame 9bin/mame
10bin/nltool 10bin/nltool
11bin/nlwav 11bin/nlwav
12bin/pngcmp 12bin/pngcmp
13bin/regrep 13bin/regrep
14bin/romcmp 14bin/romcmp
@@ -92,26 +92,27 @@ share/mame/hash/amiga_workbench.xml @@ -92,26 +92,27 @@ share/mame/hash/amiga_workbench.xml
92share/mame/hash/amigaaga_flop.xml 92share/mame/hash/amigaaga_flop.xml
93share/mame/hash/amigaecs_flop.xml 93share/mame/hash/amigaecs_flop.xml
94share/mame/hash/amigaocs_flop.xml 94share/mame/hash/amigaocs_flop.xml
95share/mame/hash/ampro.xml 95share/mame/hash/ampro.xml
96share/mame/hash/apc.xml 96share/mame/hash/apc.xml
97share/mame/hash/apfimag_cass.xml 97share/mame/hash/apfimag_cass.xml
98share/mame/hash/apfm1000.xml 98share/mame/hash/apfm1000.xml
99share/mame/hash/apogee.xml 99share/mame/hash/apogee.xml
100share/mame/hash/apollo_ctape.xml 100share/mame/hash/apollo_ctape.xml
101share/mame/hash/apple1.xml 101share/mame/hash/apple1.xml
102share/mame/hash/apple2.xml 102share/mame/hash/apple2.xml
103share/mame/hash/apple2gs.xml 103share/mame/hash/apple2gs.xml
104share/mame/hash/apple3.xml 104share/mame/hash/apple3.xml
 105share/mame/hash/apricot_flop.xml
105share/mame/hash/aquarius.xml 106share/mame/hash/aquarius.xml
106share/mame/hash/arcadia.xml 107share/mame/hash/arcadia.xml
107share/mame/hash/archimedes.xml 108share/mame/hash/archimedes.xml
108share/mame/hash/astrocde.xml 109share/mame/hash/astrocde.xml
109share/mame/hash/atom_cass.xml 110share/mame/hash/atom_cass.xml
110share/mame/hash/atom_flop.xml 111share/mame/hash/atom_flop.xml
111share/mame/hash/atom_rom.xml 112share/mame/hash/atom_rom.xml
112share/mame/hash/attache.xml 113share/mame/hash/attache.xml
113share/mame/hash/b2m.xml 114share/mame/hash/b2m.xml
114share/mame/hash/bbc_flop_32016.xml 115share/mame/hash/bbc_flop_32016.xml
115share/mame/hash/bbc_flop_6502.xml 116share/mame/hash/bbc_flop_6502.xml
116share/mame/hash/bbc_flop_65c102.xml 117share/mame/hash/bbc_flop_65c102.xml
117share/mame/hash/bbc_flop_68000.xml 118share/mame/hash/bbc_flop_68000.xml
@@ -208,32 +209,32 @@ share/mame/hash/gimix.xml @@ -208,32 +209,32 @@ share/mame/hash/gimix.xml
208share/mame/hash/gjmovie.xml 209share/mame/hash/gjmovie.xml
209share/mame/hash/gl2000.xml 210share/mame/hash/gl2000.xml
210share/mame/hash/gl6000sl.xml 211share/mame/hash/gl6000sl.xml
211share/mame/hash/glcolor.xml 212share/mame/hash/glcolor.xml
212share/mame/hash/gmaster.xml 213share/mame/hash/gmaster.xml
213share/mame/hash/gp32.xml 214share/mame/hash/gp32.xml
214share/mame/hash/guab.xml 215share/mame/hash/guab.xml
215share/mame/hash/gx4000.xml 216share/mame/hash/gx4000.xml
216share/mame/hash/h21.xml 217share/mame/hash/h21.xml
217share/mame/hash/horizon.xml 218share/mame/hash/horizon.xml
218share/mame/hash/hp9835a_rom.xml 219share/mame/hash/hp9835a_rom.xml
219share/mame/hash/hp9845a_rom.xml 220share/mame/hash/hp9845a_rom.xml
220share/mame/hash/hp9845b_rom.xml 221share/mame/hash/hp9845b_rom.xml
 222share/mame/hash/hp_ipc.xml
221share/mame/hash/ht68k.xml 223share/mame/hash/ht68k.xml
222share/mame/hash/i7000_card.xml 224share/mame/hash/i7000_card.xml
223share/mame/hash/ibm5140.xml 225share/mame/hash/ibm5140.xml
224share/mame/hash/ibm5150.xml 226share/mame/hash/ibm5150.xml
225share/mame/hash/ibm5150_cass.xml 227share/mame/hash/ibm5150_cass.xml
226share/mame/hash/ibm5160_flop.xml 
227share/mame/hash/ibm5170.xml 228share/mame/hash/ibm5170.xml
228share/mame/hash/ibm5170_cdrom.xml 229share/mame/hash/ibm5170_cdrom.xml
229share/mame/hash/ibmpcjr_cart.xml 230share/mame/hash/ibmpcjr_cart.xml
230share/mame/hash/ibmpcjr_flop.xml 231share/mame/hash/ibmpcjr_flop.xml
231share/mame/hash/interact.xml 232share/mame/hash/interact.xml
232share/mame/hash/intv.hsi 233share/mame/hash/intv.hsi
233share/mame/hash/intv.xml 234share/mame/hash/intv.xml
234share/mame/hash/intvecs.xml 235share/mame/hash/intvecs.xml
235share/mame/hash/iq128.xml 236share/mame/hash/iq128.xml
236share/mame/hash/iq151_cart.xml 237share/mame/hash/iq151_cart.xml
237share/mame/hash/iq151_flop.xml 238share/mame/hash/iq151_flop.xml
238share/mame/hash/jaguar.xml 239share/mame/hash/jaguar.xml
239share/mame/hash/juicebox.xml 240share/mame/hash/juicebox.xml
@@ -495,13 +496,14 @@ share/mame/hash/vz_cass.xml @@ -495,13 +496,14 @@ share/mame/hash/vz_cass.xml
495share/mame/hash/wangpc.xml 496share/mame/hash/wangpc.xml
496share/mame/hash/wicat.xml 497share/mame/hash/wicat.xml
497share/mame/hash/wmbullet.xml 498share/mame/hash/wmbullet.xml
498share/mame/hash/wscolor.xml 499share/mame/hash/wscolor.xml
499share/mame/hash/wswan.xml 500share/mame/hash/wswan.xml
500share/mame/hash/x07_card.xml 501share/mame/hash/x07_card.xml
501share/mame/hash/x07_cass.xml 502share/mame/hash/x07_cass.xml
502share/mame/hash/x1_cass.xml 503share/mame/hash/x1_cass.xml
503share/mame/hash/x1_flop.xml 504share/mame/hash/x1_flop.xml
504share/mame/hash/x68k_flop.xml 505share/mame/hash/x68k_flop.xml
505share/mame/hash/xegs.xml 506share/mame/hash/xegs.xml
506share/mame/hash/xerox820.xml 507share/mame/hash/xerox820.xml
507share/mame/hash/xerox820ii.xml 508share/mame/hash/xerox820ii.xml
 509share/mame/hash/zorba.xml

cvs diff -r1.60 -r1.61 pkgsrc/emulators/mame/distinfo (expand / switch to unified diff)

--- pkgsrc/emulators/mame/distinfo 2016/12/25 21:44:35 1.60
+++ pkgsrc/emulators/mame/distinfo 2017/01/04 23:05:12 1.61
@@ -1,10 +1,12 @@ @@ -1,10 +1,12 @@
1$NetBSD: distinfo,v 1.60 2016/12/25 21:44:35 joerg Exp $ 1$NetBSD: distinfo,v 1.61 2017/01/04 23:05:12 wiz Exp $
2 2
3SHA1 (mame-0.179.tar.gz) = 6ae1b932fc73767199ea388a625081578b5075ef 3SHA1 (mame-0.181.tar.gz) = 5794265405e57106e43e1013e8078b3b55843453
4RMD160 (mame-0.179.tar.gz) = cd6405238b451fe18c2bde04beb3806a75bf2af3 4RMD160 (mame-0.181.tar.gz) = 790c73a15cda8e22317bb1afdc8a6ebed3d1bf2a
5SHA512 (mame-0.179.tar.gz) = e600c29fd6c0df03f011d581830170ee5cabba06312e1aa5204c87e3260a3914b0522534753ca9f91fec83c6d465e736e4a6be492f4469498218ea59582c1cd6 5SHA512 (mame-0.181.tar.gz) = 9df9300a346e6ac202aad93d1bfbb1887a1d3908f266af344c00af97cd54fe0b576c45f3440387cfd209207b748464a6ac395de46f4f902615264bb0042cd4c0
6Size (mame-0.179.tar.gz) = 115928011 bytes 6Size (mame-0.181.tar.gz) = 118830118 bytes
7SHA1 (patch-3rdparty_asio_include_asio_detail_config.hpp) = 9b0d6139e853d8efb9d51270bbfa5382feac42a7 7SHA1 (patch-3rdparty_asio_include_asio_detail_config.hpp) = 9b0d6139e853d8efb9d51270bbfa5382feac42a7
8SHA1 (patch-3rdparty_bgfx_examples_common_font_font__manager.cpp) = e39b2dff553505531adb5f0a31b0a22306b8e2e4 8SHA1 (patch-3rdparty_bgfx_examples_common_font_font__manager.cpp) = e39b2dff553505531adb5f0a31b0a22306b8e2e4
9SHA1 (patch-makefile) = 69334d62bfe7f9e7a6abfca37ed99cecca67c976 9SHA1 (patch-makefile) = c56dac362b89025d83078dbd1e3ae0a09df46a00
10SHA1 (patch-scripts_genie.lua) = 8c5c3c5d843e494c4c44b026691feba02760d451 10SHA1 (patch-scripts_genie.lua) = 91940dbcf30e0abd25167a79b53deb43a18daf86
 11SHA1 (patch-src_devices_machine_netlist.cpp) = 62ebbc150811aa545fa5853d84f5c5f2ced2223e
 12SHA1 (patch-src_devices_machine_netlist.h) = 0ccd892bff72e8cb7cc2f0f1a68704f9bfd1d72b

cvs diff -r1.18 -r1.19 pkgsrc/emulators/mame/patches/patch-makefile (expand / switch to unified diff)

--- pkgsrc/emulators/mame/patches/patch-makefile 2016/12/25 21:44:35 1.18
+++ pkgsrc/emulators/mame/patches/patch-makefile 2017/01/04 23:05:12 1.19
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1$NetBSD: patch-makefile,v 1.18 2016/12/25 21:44:35 joerg Exp $ 1$NetBSD: patch-makefile,v 1.19 2017/01/04 23:05:12 wiz Exp $
2 2
3Treat all BSDs the same. 3Treat all BSDs the same.
4 4
5--- makefile.orig 2016-10-25 23:47:23.000000000 +0000 5--- makefile.orig 2016-10-25 23:47:23.000000000 +0000
6+++ makefile 6+++ makefile
7@@ -177,19 +177,19 @@ GENIEOS := solaris 7@@ -177,19 +177,19 @@ GENIEOS := solaris
8 endif 8 endif
9 ifeq ($(firstword $(filter FreeBSD,$(UNAME))),FreeBSD) 9 ifeq ($(firstword $(filter FreeBSD,$(UNAME))),FreeBSD)
10 OS := freebsd 10 OS := freebsd
11-GENIEOS := freebsd 11-GENIEOS := freebsd
12+GENIEOS := bsd 12+GENIEOS := bsd
13 endif 13 endif
14 ifeq ($(firstword $(filter GNU/kFreeBSD,$(UNAME))),GNU/kFreeBSD) 14 ifeq ($(firstword $(filter GNU/kFreeBSD,$(UNAME))),GNU/kFreeBSD)
@@ -18,34 +18,13 @@ Treat all BSDs the same. @@ -18,34 +18,13 @@ Treat all BSDs the same.
18 endif 18 endif
19 ifeq ($(firstword $(filter NetBSD,$(UNAME))),NetBSD) 19 ifeq ($(firstword $(filter NetBSD,$(UNAME))),NetBSD)
20 OS := netbsd 20 OS := netbsd
21-GENIEOS := freebsd 21-GENIEOS := freebsd
22+GENIEOS := bsd 22+GENIEOS := bsd
23 endif 23 endif
24 ifeq ($(firstword $(filter OpenBSD,$(UNAME))),OpenBSD) 24 ifeq ($(firstword $(filter OpenBSD,$(UNAME))),OpenBSD)
25 OS := openbsd 25 OS := openbsd
26-GENIEOS := freebsd 26-GENIEOS := freebsd
27+GENIEOS := bsd 27+GENIEOS := bsd
28 endif 28 endif
29 ifeq ($(firstword $(filter Darwin,$(UNAME))),Darwin) 29 ifeq ($(firstword $(filter Darwin,$(UNAME))),Darwin)
30 OS := macosx 30 OS := macosx
31@@ -884,11 +884,6 @@ $(info GCC $(GCC_VERSION) detected) 
32 else 
33 $(info Clang $(CLANG_VERSION) detected) 
34 ifneq ($(TARGETOS),asmjs) 
35-ifeq ($(ARCHITECTURE),_x64) 
36-ARCHITECTURE := _x64_clang 
37-else 
38-ARCHITECTURE := _x86_clang 
39-endif 
40 endif 
41 endif 
42  
43@@ -1279,7 +1274,7 @@ freebsd_x86: generate $(PROJECTDIR)/$(MA 
44 #------------------------------------------------- 
45  
46 $(PROJECTDIR)/$(MAKETYPE)-netbsd/Makefile: makefile $(SCRIPTS) $(GENIE) 
47- $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=netbsd --gcc_version=$(GCC_VERSION) $(MAKETYPE) 
48+ $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=netbsd --gcc_version=$(GCC_VERSION) --clang_version=$(CLANG_VERSION) $(MAKETYPE) 
49  
50 .PHONY: netbsd_x64 
51 netbsd_x64: generate $(PROJECTDIR)/$(MAKETYPE)-netbsd/Makefile 

cvs diff -r1.5 -r1.6 pkgsrc/emulators/mame/patches/Attic/patch-scripts_genie.lua (expand / switch to unified diff)

--- pkgsrc/emulators/mame/patches/Attic/patch-scripts_genie.lua 2016/12/25 21:44:35 1.5
+++ pkgsrc/emulators/mame/patches/Attic/patch-scripts_genie.lua 2017/01/04 23:05:12 1.6
@@ -1,91 +1,34 @@ @@ -1,91 +1,34 @@
1$NetBSD: patch-scripts_genie.lua,v 1.5 2016/12/25 21:44:35 joerg Exp $ 1$NetBSD: patch-scripts_genie.lua,v 1.6 2017/01/04 23:05:12 wiz Exp $
2 2
3Precompilation is broken on NetBSD with gcc-5.3. 3Precompilation is broken on NetBSD with gcc-5.3.
4Use GNU version of the C++ standard to avoid trouble with alloca on NetBSD. 4Use GNU version of the C++ standard to avoid trouble with alloca on NetBSD.
5Detect clang correctly. 
6 5
7--- scripts/genie.lua.orig 2016-10-25 23:47:23.000000000 +0000 6--- scripts/genie.lua.orig 2016-12-27 21:02:43.000000000 +0000
8+++ scripts/genie.lua 7+++ scripts/genie.lua
9@@ -66,11 +66,6 @@ function layoutbuildtask(_folder, _name) 8@@ -70,11 +70,6 @@ function layoutbuildtask(_folder, _name)
10 end 9 end
11  10
12 function precompiledheaders() 11 function precompiledheaders()
13- if _OPTIONS["precompile"]==nil or (_OPTIONS["precompile"]~=nil and _OPTIONS["precompile"]=="1") then 12- if _OPTIONS["precompile"]==nil or (_OPTIONS["precompile"]~=nil and _OPTIONS["precompile"]=="1") then
14- configuration { "not xcode4" } 13- configuration { "not xcode4" }
15- pchheader("emu.h") 14- pchheader("emu.h")
16- configuration { } 15- configuration { }
17- end 16- end
18 end 17 end
19  18
20 function addprojectflags() 19 function addprojectflags()
21@@ -169,6 +164,11 @@ newoption { 20@@ -711,12 +706,12 @@ if string.find(_OPTIONS["gcc"], "clang")
22 } 
23  
24 newoption { 
25+ trigger = "clang_version", 
26+ description = "Clang compiler version", 
27+} 
28+ 
29+newoption { 
30 trigger = "CC", 
31 description = "CC replacement", 
32 } 
33@@ -673,22 +673,22 @@ local version = str_to_version(_OPTIONS[ 
34 if string.find(_OPTIONS["gcc"], "clang") and ((version < 30500) or (_OPTIONS["targetos"]=="macosx" and (version <= 60000))) then 
35 buildoptions_cpp { 
36 "-x c++", 
37- "-std=c++1y", 
38+ "-std=gnu++1y", 
39 } 
40  
41 buildoptions_objc { 
42 "-x objective-c++", 
43- "-std=c++1y", 
44+ "-std=gnu++1y", 
45 } 
46 else 21 else
47 buildoptions_cpp { 22 buildoptions_cpp {
48 "-x c++", 23 "-x c++",
49- "-std=c++14", 24- "-std=c++14",
50+ "-std=gnu++14", 25+ "-std=gnu++14",
51 } 26 }
52  27
53 buildoptions_objc { 28 buildoptions_objcpp {
54 "-x objective-c++", 29 "-x objective-c++",
55- "-std=c++14", 30- "-std=c++14",
56+ "-std=gnu++14", 31+ "-std=gnu++14",
57 } 32 }
58 end 33 end
59 -- this speeds it up a bit by piping between the preprocessor/compiler/assembler 34 -- this speeds it up a bit by piping between the preprocessor/compiler/assembler
60@@ -930,9 +930,10 @@ end 
61  
62  
63  
64- local version = str_to_version(_OPTIONS["gcc_version"]) 
65- if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "pnacl") or string.find(_OPTIONS["gcc"], "asmjs") or string.find(_OPTIONS["gcc"], "android") then 
66- if (version < 30400) then 
67+ local gcc_version = str_to_version(_OPTIONS["gcc_version"]) 
68+ local clang_version = str_to_version(_OPTIONS["clang_version"]) 
69+ if (clang_version) then 
70+ if (clang_version < 30400) then 
71 print("Clang version 3.4 or later needed") 
72 os.exit(-1) 
73 end 
74@@ -944,7 +945,7 @@ end 
75 "-Wno-missing-braces", -- clang is not as permissive as GCC about std::array initialization 
76 "-fdiagnostics-show-note-include-stack", 
77 } 
78- if (version >= 30500) then 
79+ if (clang_version >= 30500) then 
80 buildoptions { 
81 "-Wno-unknown-warning-option", 
82 "-Wno-extern-c-compat", 
83@@ -953,7 +954,7 @@ end 
84 } 
85 end 
86 else 
87- if (version < 50000) then 
88+ if (gcc_version < 50000) then 
89 print("GCC version 5.0 or later needed") 
90 os.exit(-1) 
91 end 

File Added: pkgsrc/emulators/mame/patches/Attic/patch-src_devices_machine_netlist.cpp
$NetBSD: patch-src_devices_machine_netlist.cpp,v 1.1 2017/01/04 23:05:12 wiz Exp $

unsigned int * vs. uint8_t *

--- src/devices/machine/netlist.cpp.orig	2016-12-27 21:02:43.000000000 +0000
+++ src/devices/machine/netlist.cpp
@@ -216,7 +216,7 @@ void netlist_mame_rom_t::device_start()
 	if (memregion(m_data_tag) != nullptr)
 		m_data = memregion(m_data_tag)->base();
 
-	m_param->setTo(m_data);
+	m_param->setTo((unsigned int *)m_data);
 }
 
 // ----------------------------------------------------------------------------------------
@@ -249,7 +249,7 @@ void netlist_ram_pointer_t::device_start
 		fatalerror("device %s wrong parameter type for %s\n", basetag(), m_param_name.cstr());
 	}
 
-	m_data = (*m_param)();
+	m_data = (unsigned char *)(*m_param)();
 }
 
 // ----------------------------------------------------------------------------------------

File Added: pkgsrc/emulators/mame/patches/Attic/patch-src_devices_machine_netlist.h
$NetBSD: patch-src_devices_machine_netlist.h,v 1.1 2017/01/04 23:05:12 wiz Exp $

unsigned int * vs. uint8_t *

--- src/devices/machine/netlist.h.orig	2016-12-27 21:02:43.000000000 +0000
+++ src/devices/machine/netlist.h
@@ -529,7 +529,7 @@ protected:
 	virtual void device_start() override;
 	virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override
 	{
-		m_param->setTo(m_data);
+		m_param->setTo((unsigned int *)m_data);
 	}
 
 private:
@@ -561,7 +561,7 @@ protected:
 	virtual void device_start() override;
 	virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override
 	{
-		m_data = (*m_param)();
+		m_data = (unsigned char *)(*m_param)();
 	}
 
 private: