summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorwiz <wiz>2017-01-04 23:05:12 +0000
committerwiz <wiz>2017-01-04 23:05:12 +0000
commit3eba7d83aa8b63d70b0c25f7b7fc1f157ebe3f1e (patch)
tree28b096e0337bc4af7c7ba36fcb9526b152988a77 /emulators
parent46ce5ec7bc563ca96016f61a5365e640162d3158 (diff)
downloadpkgsrc-3eba7d83aa8b63d70b0c25f7b7fc1f157ebe3f1e.tar.gz
Updated mame to 0.181.
MAME 0.181 Happy new year from the MAME team! To help you celebrate, weāre unwrapping an extra-special release this month, with enough improvements to put anyone in a good mood. The exciting news thatās 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āve 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.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/mame/Makefile7
-rw-r--r--emulators/mame/PLIST6
-rw-r--r--emulators/mame/distinfo16
-rw-r--r--emulators/mame/patches/patch-makefile23
-rw-r--r--emulators/mame/patches/patch-scripts_genie.lua67
-rw-r--r--emulators/mame/patches/patch-src_devices_machine_netlist.cpp24
-rw-r--r--emulators/mame/patches/patch-src_devices_machine_netlist.h24
7 files changed, 71 insertions, 96 deletions
diff --git a/emulators/mame/Makefile b/emulators/mame/Makefile
index 8649bdb16db..64d262f23c4 100644
--- a/emulators/mame/Makefile
+++ b/emulators/mame/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.70 2017/01/01 14:43:38 wiz Exp $
+# $NetBSD: Makefile,v 1.71 2017/01/04 23:05:12 wiz Exp $
-DISTNAME= mame-0.179
-PKGREVISION= 1
+DISTNAME= mame-0.181
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/}
GITHUB_TAG= ${DISTNAME:S/-//S/.//}
@@ -93,6 +92,8 @@ PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 0.151
post-extract:
# will be chosen in preference to /usr/include/signal.h, but does not provide kill()
${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
+ # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al.
+ ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd
pre-build:
diff --git a/emulators/mame/PLIST b/emulators/mame/PLIST
index 77c0f729cc7..ffe6c422ade 100644
--- a/emulators/mame/PLIST
+++ b/emulators/mame/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.19 2016/11/05 10:05:26 wiz Exp $
+@comment $NetBSD: PLIST,v 1.20 2017/01/04 23:05:12 wiz Exp $
bin/castool
bin/chdman
bin/floptool
@@ -102,6 +102,7 @@ share/mame/hash/apple1.xml
share/mame/hash/apple2.xml
share/mame/hash/apple2gs.xml
share/mame/hash/apple3.xml
+share/mame/hash/apricot_flop.xml
share/mame/hash/aquarius.xml
share/mame/hash/arcadia.xml
share/mame/hash/archimedes.xml
@@ -218,12 +219,12 @@ share/mame/hash/horizon.xml
share/mame/hash/hp9835a_rom.xml
share/mame/hash/hp9845a_rom.xml
share/mame/hash/hp9845b_rom.xml
+share/mame/hash/hp_ipc.xml
share/mame/hash/ht68k.xml
share/mame/hash/i7000_card.xml
share/mame/hash/ibm5140.xml
share/mame/hash/ibm5150.xml
share/mame/hash/ibm5150_cass.xml
-share/mame/hash/ibm5160_flop.xml
share/mame/hash/ibm5170.xml
share/mame/hash/ibm5170_cdrom.xml
share/mame/hash/ibmpcjr_cart.xml
@@ -505,3 +506,4 @@ share/mame/hash/x68k_flop.xml
share/mame/hash/xegs.xml
share/mame/hash/xerox820.xml
share/mame/hash/xerox820ii.xml
+share/mame/hash/zorba.xml
diff --git a/emulators/mame/distinfo b/emulators/mame/distinfo
index 3838a07ee79..0bfb2375515 100644
--- a/emulators/mame/distinfo
+++ b/emulators/mame/distinfo
@@ -1,10 +1,12 @@
-$NetBSD: distinfo,v 1.60 2016/12/25 21:44:35 joerg Exp $
+$NetBSD: distinfo,v 1.61 2017/01/04 23:05:12 wiz Exp $
-SHA1 (mame-0.179.tar.gz) = 6ae1b932fc73767199ea388a625081578b5075ef
-RMD160 (mame-0.179.tar.gz) = cd6405238b451fe18c2bde04beb3806a75bf2af3
-SHA512 (mame-0.179.tar.gz) = e600c29fd6c0df03f011d581830170ee5cabba06312e1aa5204c87e3260a3914b0522534753ca9f91fec83c6d465e736e4a6be492f4469498218ea59582c1cd6
-Size (mame-0.179.tar.gz) = 115928011 bytes
+SHA1 (mame-0.181.tar.gz) = 5794265405e57106e43e1013e8078b3b55843453
+RMD160 (mame-0.181.tar.gz) = 790c73a15cda8e22317bb1afdc8a6ebed3d1bf2a
+SHA512 (mame-0.181.tar.gz) = 9df9300a346e6ac202aad93d1bfbb1887a1d3908f266af344c00af97cd54fe0b576c45f3440387cfd209207b748464a6ac395de46f4f902615264bb0042cd4c0
+Size (mame-0.181.tar.gz) = 118830118 bytes
SHA1 (patch-3rdparty_asio_include_asio_detail_config.hpp) = 9b0d6139e853d8efb9d51270bbfa5382feac42a7
SHA1 (patch-3rdparty_bgfx_examples_common_font_font__manager.cpp) = e39b2dff553505531adb5f0a31b0a22306b8e2e4
-SHA1 (patch-makefile) = 69334d62bfe7f9e7a6abfca37ed99cecca67c976
-SHA1 (patch-scripts_genie.lua) = 8c5c3c5d843e494c4c44b026691feba02760d451
+SHA1 (patch-makefile) = c56dac362b89025d83078dbd1e3ae0a09df46a00
+SHA1 (patch-scripts_genie.lua) = 91940dbcf30e0abd25167a79b53deb43a18daf86
+SHA1 (patch-src_devices_machine_netlist.cpp) = 62ebbc150811aa545fa5853d84f5c5f2ced2223e
+SHA1 (patch-src_devices_machine_netlist.h) = 0ccd892bff72e8cb7cc2f0f1a68704f9bfd1d72b
diff --git a/emulators/mame/patches/patch-makefile b/emulators/mame/patches/patch-makefile
index 2bbb0f0ecbb..5ce00e79bd9 100644
--- a/emulators/mame/patches/patch-makefile
+++ b/emulators/mame/patches/patch-makefile
@@ -1,4 +1,4 @@
-$NetBSD: patch-makefile,v 1.18 2016/12/25 21:44:35 joerg Exp $
+$NetBSD: patch-makefile,v 1.19 2017/01/04 23:05:12 wiz Exp $
Treat all BSDs the same.
@@ -28,24 +28,3 @@ Treat all BSDs the same.
endif
ifeq ($(firstword $(filter Darwin,$(UNAME))),Darwin)
OS := macosx
-@@ -884,11 +884,6 @@ $(info GCC $(GCC_VERSION) detected)
- else
- $(info Clang $(CLANG_VERSION) detected)
- ifneq ($(TARGETOS),asmjs)
--ifeq ($(ARCHITECTURE),_x64)
--ARCHITECTURE := _x64_clang
--else
--ARCHITECTURE := _x86_clang
--endif
- endif
- endif
-
-@@ -1279,7 +1274,7 @@ freebsd_x86: generate $(PROJECTDIR)/$(MA
- #-------------------------------------------------
-
- $(PROJECTDIR)/$(MAKETYPE)-netbsd/Makefile: makefile $(SCRIPTS) $(GENIE)
-- $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=netbsd --gcc_version=$(GCC_VERSION) $(MAKETYPE)
-+ $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=netbsd --gcc_version=$(GCC_VERSION) --clang_version=$(CLANG_VERSION) $(MAKETYPE)
-
- .PHONY: netbsd_x64
- netbsd_x64: generate $(PROJECTDIR)/$(MAKETYPE)-netbsd/Makefile
diff --git a/emulators/mame/patches/patch-scripts_genie.lua b/emulators/mame/patches/patch-scripts_genie.lua
index 1f3647bb45d..620deb7ddf7 100644
--- a/emulators/mame/patches/patch-scripts_genie.lua
+++ b/emulators/mame/patches/patch-scripts_genie.lua
@@ -1,12 +1,11 @@
-$NetBSD: patch-scripts_genie.lua,v 1.5 2016/12/25 21:44:35 joerg Exp $
+$NetBSD: patch-scripts_genie.lua,v 1.6 2017/01/04 23:05:12 wiz Exp $
Precompilation is broken on NetBSD with gcc-5.3.
Use GNU version of the C++ standard to avoid trouble with alloca on NetBSD.
-Detect clang correctly.
---- scripts/genie.lua.orig 2016-10-25 23:47:23.000000000 +0000
+--- scripts/genie.lua.orig 2016-12-27 21:02:43.000000000 +0000
+++ scripts/genie.lua
-@@ -66,11 +66,6 @@ function layoutbuildtask(_folder, _name)
+@@ -70,11 +70,6 @@ function layoutbuildtask(_folder, _name)
end
function precompiledheaders()
@@ -18,31 +17,7 @@ Detect clang correctly.
end
function addprojectflags()
-@@ -169,6 +164,11 @@ newoption {
- }
-
- newoption {
-+ trigger = "clang_version",
-+ description = "Clang compiler version",
-+}
-+
-+newoption {
- trigger = "CC",
- description = "CC replacement",
- }
-@@ -673,22 +673,22 @@ local version = str_to_version(_OPTIONS[
- if string.find(_OPTIONS["gcc"], "clang") and ((version < 30500) or (_OPTIONS["targetos"]=="macosx" and (version <= 60000))) then
- buildoptions_cpp {
- "-x c++",
-- "-std=c++1y",
-+ "-std=gnu++1y",
- }
-
- buildoptions_objc {
- "-x objective-c++",
-- "-std=c++1y",
-+ "-std=gnu++1y",
- }
+@@ -711,12 +706,12 @@ if string.find(_OPTIONS["gcc"], "clang")
else
buildoptions_cpp {
"-x c++",
@@ -50,42 +25,10 @@ Detect clang correctly.
+ "-std=gnu++14",
}
- buildoptions_objc {
+ buildoptions_objcpp {
"-x objective-c++",
- "-std=c++14",
+ "-std=gnu++14",
}
end
-- this speeds it up a bit by piping between the preprocessor/compiler/assembler
-@@ -930,9 +930,10 @@ end
-
-
-
-- local version = str_to_version(_OPTIONS["gcc_version"])
-- 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
-- if (version < 30400) then
-+ local gcc_version = str_to_version(_OPTIONS["gcc_version"])
-+ local clang_version = str_to_version(_OPTIONS["clang_version"])
-+ if (clang_version) then
-+ if (clang_version < 30400) then
- print("Clang version 3.4 or later needed")
- os.exit(-1)
- end
-@@ -944,7 +945,7 @@ end
- "-Wno-missing-braces", -- clang is not as permissive as GCC about std::array initialization
- "-fdiagnostics-show-note-include-stack",
- }
-- if (version >= 30500) then
-+ if (clang_version >= 30500) then
- buildoptions {
- "-Wno-unknown-warning-option",
- "-Wno-extern-c-compat",
-@@ -953,7 +954,7 @@ end
- }
- end
- else
-- if (version < 50000) then
-+ if (gcc_version < 50000) then
- print("GCC version 5.0 or later needed")
- os.exit(-1)
- end
diff --git a/emulators/mame/patches/patch-src_devices_machine_netlist.cpp b/emulators/mame/patches/patch-src_devices_machine_netlist.cpp
new file mode 100644
index 00000000000..36a4c0fa1c7
--- /dev/null
+++ b/emulators/mame/patches/patch-src_devices_machine_netlist.cpp
@@ -0,0 +1,24 @@
+$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)();
+ }
+
+ // ----------------------------------------------------------------------------------------
diff --git a/emulators/mame/patches/patch-src_devices_machine_netlist.h b/emulators/mame/patches/patch-src_devices_machine_netlist.h
new file mode 100644
index 00000000000..1b13a71d2f8
--- /dev/null
+++ b/emulators/mame/patches/patch-src_devices_machine_netlist.h
@@ -0,0 +1,24 @@
+$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: