Commit graph

427 commits

Author SHA1 Message Date
arbee
29cff632d3 SDL2: temp macOS compile fix for bundled SDL2 pending the 2.0.14 release [R. Belmont] 2020-12-12 21:58:26 -05:00
cracyc
d73b585d65 linenoise: properly handle numpad enter 2020-12-05 10:57:34 -06:00
Vas Crabb
f191d038ec Minimal changes to sol2 and bgfx to compile as C++17.
These changes should be sent upstream as pull requests.
2020-11-15 03:57:08 +11:00
Vas Crabb
55b8ca317a -Switch to building MAME as C++17.
* Updated sol2 to 3.2.2
* Updated pugixml to 1.10
* Increased minimum clang version to 6
* Cleaned up some stuff that can use new features
2020-11-15 03:53:47 +11:00
Vas Crabb
d256f069a5 -3rdparty/expat: Update to 2.2.10."
-Fixed tiny build (missing s11c_bg_device) and unused lambda capture in emu/rendlay.cpp.
2020-10-15 04:28:42 +11:00
Vas Crabb
f390ea1004 3rdparty/nanosvg: Re-base on latest upstream.
Now based on upstream cc6c08d3a80f1a305021af3d6394cdf1535d02a2.

Among other things, this version is supposed to be less sensitive to the
global locale.
2020-10-05 22:18:22 +11:00
Vas Crabb
009ef965f2 3rdparty/sqlite3: Updated to SQLite 3.33.0 2020-10-04 13:54:52 +11:00
AJR
dcbee7cda6 Fix SOL2 build on GCC 10.2 by working around overload resolution problem 2020-07-28 20:33:25 -04:00
Patrick Mackinlay
954451fbfa asmjit: sync with upstream (nw) 2020-06-18 18:26:21 +07:00
Patrick Mackinlay
c70d979b7e asmjit: mame changes (nw) 2020-06-12 12:01:44 +07:00
Patrick Mackinlay
19214dd8e6 asmjist: sync with upstream (nw) 2020-06-12 11:55:10 +07:00
AJR
9f5ab3f237 Fix build even more (nw) 2020-05-30 15:56:10 -04:00
AJR
bc0c1b74c7 Fix build (nw) 2020-05-30 15:54:33 -04:00
Patrick Mackinlay
45615b7f4b asmjit: new 3rdparty library 2020-05-28 20:24:40 +07:00
Justin Kerk
d9138cb8e0 rv unintentional change (nw) 2020-05-22 23:49:41 -07:00
Justin Kerk
4c2424c805 New not working software list additions
---------------------------------------
ibm5150: Wizzardz & War Lordz [LGR]

(nw) cleanups, move SimLife to ibm5170 (#6728)
2020-05-22 21:04:53 -07:00
Vas Crabb
5bce46bd75 Removed winpcap and cleaned up network module selection.
(nw) The pcap.h header itself has the problematic original BSD license,
including the obnoxious advertising clause.  Using tap/tun networking on
Windows provides a much better experience, so the extra setup is worth
it.  This patch also allows you to enable pcap on platforms where it's
disabled by default with USE_PCAP=1 if you really want to use it.
2020-03-05 21:23:21 +11:00
Vas Crabb
11ac7454db Maintenance:
* Removed empty nl_examples from dist.mak
* Added copyright acknowledgements and full text of licenses to binary distribution
* Fixed up the list of third-party libraries
* Moved WDL fft.c to 3rdparty
2020-03-04 22:41:15 +11:00
Julian Sikorski
1a5ac25f61 Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-06 12:49:15 +11:00
Robert
b48efcdac6
Revert "Sync with GENie upstream revision ce9f3c5 (#6262)" (#6263)
This reverts commit a06d8e9cc6.
2020-02-06 10:02:41 +11:00
Julian Sikorski
a06d8e9cc6
Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-05 17:21:10 -05:00
Julian Sikorski
0c70101b74 Sync bgfx, bx and bimg with upstream; fix the hlsl fs_chroma.sc matrix transposition properly (#5875)
* Sync bgfx with upstream revision 280420d

* Sync bx with upstream revision 267727d

* Sync bimg with upstream revision c1bab10

* Use bgfx helper functions to ensure correct matrix orientation

* Rebuild hlsl chain
2019-11-12 22:08:23 -05:00
Couriersud
d88a02f776 Fix waitvsync for bgfx vulkan backend. [Couriersud]
Currently waitvsync is broken in the bgfx vulkan backend.
The option is just ignored and a mode waiting for vsync is selected.
This also breaks throttle. -nothrottle doesn't work.

These changes fix this. If available a non-syncing mode is used if
-nowaitvsync is used.
2019-10-27 14:46:45 +01:00
R. Belmont
c82cfa1768
Merge pull request #5758 from vadosnaprimer/luaengine_ram
luaengine: reduce memory usage during compilation
2019-10-19 12:11:13 -04:00
feos
d51d2a71d5 luaengine: reduce memory usage during compilation
Previous semantics were encouraged by sol2, and ThePhD admitted it was a bad idea for usertypes with lots of members. sol3 allows to assign members outside a constructor for regular usertypes, but mame can't move to sol3 because it requires C++17. Turns out sol2 also has a way to add members separately, and that is what I used. This helps immensely.

This approach required a fix to warning C5046 copied from here 5799084572

Tested current mame plugins, everything seems to work.

PS: Due to come black magic, if I use simple_usertype::set() with "manager" as well, "machine" member dies (others are fine!), so I had to leave it intact.
2019-10-19 11:37:01 +03:00
couriersud
697dfa9fac Revert accidental commit of bgfx hacks. (nw) 2019-10-18 18:01:13 +02:00
Julian Sikorski
93a1cde67d Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI

* No longer allow msvc build to fail

* Enable tools build for travis to make it more useful

* Switch travis to Xcode 11 in order to fix nltool linking failure

* Prefer 64-bit compiler with VS 2019 too

* Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later

* OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout

* Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow

* Run pacman twice to account for core system upgrades
2019-10-18 10:30:48 -04:00
couriersud
db318046c4 Netlist: code maintenance and bug fixes. (nw)
- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
2019-10-17 10:21:00 +02:00
Julian Sikorski
4470d977da Unbreak building shaders in cmd shell and add support for building them in MINGW bash shell (#5740) 2019-10-15 12:32:42 -04:00
AJR
73c4665039 Fix BGFX build on older OS X systems (nw)
The Vulkan renderer has to be disabled on Yosemite and older because its backend depends on Metal.
2019-10-14 07:47:37 -04:00
Robbbert
269970125a (nw) fixed compile error 2019-10-14 02:34:55 +11:00
Julian Sikorski
0837e7451a WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6

* Sync with bx upstream revision d60912b

* Sync with bimg upstream revision bd81f60

* Add astc-codec decoder

* Rename VertexDecl to VertexLayout

* Rename UniformType enum Int1 to Sampler.

* Add NVN stub

* Fix unused-const-variable error on macOS

* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.

* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning

* Build bgfx as Objective-C++ on macOS
It is needed due to included headers

* Enable Direct3D12 and Vulkan bgfx rendering backends

* Enable building of spirv shaders

* Properly escape /c in cmd call

* Comment out dx12 bgfx renderer

* Honor VERBOSE setting during shaders build

* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl

* Add spirv shaders

* OpenGL ES needs transposed matrix too

* Metal needs transposed matrix as well
2019-10-13 07:50:38 -04:00
smf-
bca6bf52c0 really disable _MAKE.escquote() so the defines in expat.make match the previous version (nw) 2019-09-30 11:08:36 +01:00
smf-
cf1f9cc6bb disable _MAKE.escquote() so the defines in expat.make match the previous version (nw) 2019-09-30 10:06:55 +01:00
Julian Sikorski
ed2b7e5ef1 Synced with GENie upstream revision e78d6c1 (#5631)
* Synced with GENie upstream revision e78d6c1

* Add Visual Studio 2019 support

* Fix hardcoded -m64

* Switch appveyor to Visual Studio 2019

* Fix genie being built as 32-bit

* MSVC build is known to be broken currently. Let it fail until all the known issues are fixed.

* Update the packages before building

* Build with 3 threads
Appveyor VMs have only 2 cores and 8 GB RAM.

* Enable caching of pacman cache
2019-09-29 09:30:18 -04:00
MoochMcGee
96a0ad2d59 Fix some clang warnings (nw) 2019-08-31 00:50:04 -05:00
Stiletto
9fd3a40496
typo fix (nw)
typo fix (nw)
2019-08-07 05:45:08 -04:00
Stiletto
b0a3c48865
adding the recent to 3rdparty README.md (nw)
adding the recent to 3rdparty README.md (nw)
2019-08-07 05:41:23 -04:00
Vas Crabb
37e80d9762 use dual-licensed GPLv2/MIT TAP for Windows header (nw) 2019-08-07 11:37:30 +10:00
Olivier Galibert
f9bcdcbbc9 via6522: Change most mappings into m() [O. Galibert] 2019-07-07 17:15:17 +02:00
Windy Fairy
ab8dbd3db0 Partial support for encrypted audio in k573dio (Konami System 573 Digital I/O) (#5055)
* Add support for pcnfrk2m - Percussion Freaks 2nd Mix (GE912 VER. KAA)

* WIP audio for k573dio

* WIP

* Move 3rd party library to 3rdparty folder

* Use MAME's BIT and bitswap

* Fix regression which caused songs to stutter/lag when they should have been read completely in one shot

* Replace gain_to_db switch with equivalent math
2019-05-15 20:17:00 -04:00
arbee
2075a8e2a0 fix non-Apple Clang (nw) 2019-03-28 00:39:33 -04:00
arbee
2c3395cf8b Fix compiling with Xcode 10.2 on macOS (nw)
This shouldn't affect any other Clang configurations (or any older Xcodes); LMK if problems occur.
2019-03-27 20:35:31 -04:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
couriersud
d208ca5105 3rdparty/lua: Fix clang 9 compile. (nw) 2019-02-23 18:54:28 +01:00
cracyc
836abb0d63 plugins/console: command history (nw) 2019-02-17 09:07:56 -06:00
Peter Ferrie
4e04aa3224 silence MS-LLVM (nw) 2019-02-16 11:49:07 -08:00
couriersud
182a06055f Fix 3rdparty/asio to compile with libc++ 9.0. (nw) 2019-02-13 22:35:19 +01:00
Peter Ferrie
e769e76ce4 enable sub-second snapshot timers (nw) (#4493)
* enable sub-second snapshot timers (nw)

* switch to attotime, accept doubles

* support LLVM extension in MSVC

make vsllvm

using extension from here:

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
2019-02-04 13:05:46 -05:00