Commit Graph

516 Commits

Author SHA1 Message Date
Aaron Giles
c778f5406b
Update 3rdparty/ymfm to latest. (#10583)
* Fixes uninitialized member causing slight jitter in timing (GitHub #10414).
* Fixes OPNA behavior when LFO is disabled.
* Fixes a PCM playback wraparound bug due to incorrect auto-incrementing.
2022-11-25 02:56:33 +11:00
Aaron Giles
4384558d9b
Update ymfm library to latest version (a78b567): [Aaron Giles, hyano] (#10052)
- Fix incorrect operator volumes in some cases for OPL (MT8108)
 - Fix PCM playback to cut off previous notes when new waveforms are selected (see dragnblz)
 - Fix reversed OPM noise frequency
 - Fix bug preventing CSM key ons from being noticed
 - Fix bug where SSG EG envelope could be left in inverted state
 - Fix SSG envelope handling when tone and noise are off
 - Increase strength of DAC discontinuity in YM2612
 - Improve latching logic for fnums in OPN
 - Increase envelope suppression threshold so some effects don't get prematurely muted
 - Improve ADPCM-B behavior at stop/limit addresses (more thorough rewrite here coming later)
2022-07-08 09:44:18 -04:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
Devin Acker
75e986a651
3rdparty/portmidi: Fixed windows MIDI callback signatures. (#9781) 2022-05-20 04:41:08 +10:00
Patrick Mackinlay
02e5f1e468 asmjit: sync with upstream 2022-05-17 16:51:29 +07:00
Vas Crabb
6fa1f03bf0 3rdparty: Updated zlib to version 1.2.12. 2022-04-14 10:39:41 +10:00
Patrick Mackinlay
e4588d1f45 asmjit: mame integration 2022-02-13 21:26:55 +07:00
Patrick Mackinlay
1fba2b4f2c asmjit: sync with upstream 2022-02-13 21:26:55 +07:00
Aaron Giles
d187a28fad
ymfm: Correct for free-running timer B multipler (#8988) 2021-12-16 08:16:48 -05:00
AJR
224384612e Build fixes for clang 2021-11-14 15:04:11 -05:00
Vas Crabb
d950b2d9b5 3rdparty/asio: Set x bit on scripts, since Windows git won't. 2021-11-15 04:50:36 +11:00
Vas Crabb
f570febfa1 Actually commit the source changes for ASIO 1.20.0 update.
Also changed the fix to ASIO itself to match the upstream change in
commit cd68912b7eb07f24e501e8cbff832b61ec292eea.
2021-11-15 04:41:40 +11:00
Vas Crabb
44ec6d2e0e 3rdparty: Updated ASIO to version 1.20.0.
The doc folder isn't included as it's pretty big.

This required include/asio/detail/win_iocp_socket_accept_op.hpp due to
mismatched order in the member declarations and initialiser list for the
win_iocp_socket_accept_op class.  I reversed the declaration order so it
matches win_iocp_socket_move_accept_op.
2021-11-15 04:15:13 +11:00
Matthew Barnes
11745ec4a5
genie: Define _FILE_OFFSET_BITS=64 on Linux. (#8808) 2021-11-11 17:14:18 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* frontend: Added support for message context to localisations.
* frontend: Added string_view versions of the message lookup functions.
* frontend: Added a few more folder options to the internal UI.
* emu/softlist.cpp: Use more appropriate containers.
* Switched to Python 3 by default - this will become a requirement.
* Updated msgfmt.py for message context support.
* frontend: Show all software item info in the internal UI.
* frontend: Search alternate titles in software selection menu.
* 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes).
* frontend: Added software filters for common info fields.
* frontend: Allow UI manager to hold onto persistent session data.
* frontend: Cache software lists for eight machines.
* frontend: Added support for loading localised system names.
* frontend: Add UI for selecting localised system names.
2021-10-09 12:16:17 +11:00
Julian Sikorski
0eeb918991
Update bgfx, bx and bimg to latest upstream (fixes issue #8057) (#8645) 2021-10-02 12:21:12 -04:00
Бранимир Караџић
1a6a018fc3 Update bgfx to latest 2021-08-10 20:28:56 +02:00
Бранимир Караџић
702c9b45cc Update bimg to latest 2021-08-10 20:27:19 +02:00
Бранимир Караџић
a851430879 Update bx to latest 2021-08-10 20:26:34 +02:00
Aaron Giles
3d450c480d ymf278b: Allow PCM writes if new2flag is set, even if newflag is not. Fixes MT08033. 2021-07-24 00:53:38 -07:00
Aaron Giles
6bb6d3db45 ymfm: Return masked status from set/reset function. Fixes MT08034. 2021-07-23 18:26:36 -07:00
Aaron Giles
f996103315 ymfm: Sync with upstream
* Fix LFO disable on YM2151
* Fix swapped lower nibbles for 12-bit PCM on OPL4
2021-07-23 01:21:27 -07:00
Calvin Buckley
4ab4f74106
Implement 68k FPU FATAN instruction (#8287) 2021-07-18 12:53:08 -04:00
Miodrag Milanovic
1c0852d3d4 Fix cross compiling benchmarks 2021-06-22 14:42:42 +02:00
Aaron Giles
86d1ef2604 ymfm: Play ADPCM-A samples through the end of the end block inclusive 2021-06-22 00:39:32 -07:00
Aaron Giles
102f311ae7 Fix reporting of ADPCM-B end-of-sample. Seems to fix MT08006; hopefully will fix other neogeo issues as well. 2021-06-21 20:22:33 -07:00
Aaron Giles
973373e712 ymfm: Sync with upstream:
* Fix panning calculations in OPL4 (YMF278B)
* Make OPQ reverb less ridiculous
2021-06-01 09:54:44 -07:00
Aaron Giles
04027e4fa7 ymfm: Sync with upstream:
* Match OPN LFO frequencies to hardware measurements
 * Improve OPQ detune, reverb, and KSR
2021-05-29 02:37:19 -07:00
Aaron Giles
646938cf96 ymfm: Don't mask off top bit of octave for OPQ. 2021-05-23 20:50:54 -07:00
Aaron Giles
9e1ed0acf4 ymfm: Improve OPQ behavior for timers and register access. Add YM3533 device and use that instead of YM3806. 2021-05-23 18:13:07 -07:00
Aaron Giles
48bde2d647 ymfm: Fix OPZ fine tuning and envelope shift. Now pretty much all the TX81Z built-in instruments sound reasonable. 2021-05-23 16:02:28 -07:00
Aaron Giles
ac96627377 ymfm: Some progress on OPZ. Some instruments in the TX81Z sound kind of ok now. 2021-05-23 13:24:36 -07:00
Aaron Giles
b78991fc83 ymfm: Fix OPL3 waveform 7 to better match hardware. 2021-05-22 13:28:30 -07:00
Aaron Giles
3ccdbfc3b5 ymfm: Add missing clamp in YM2608 2021-05-22 11:20:43 -07:00
Aaron Giles
e825cb34bb ymfm: Boost ADPCM-B volume by a factor of 2 to more closely match previous levels. Addresses MT #07956 2021-05-22 11:13:44 -07:00
Aaron Giles
d9db7d77c4
ymfm: Sync with latest, add complete YMF278B support (#8090)
* Sync with upstream. I/O callbacks are now consolidated into a single read callback and a single write callback, with an access type specifier.
* Initial working implementation of YM278B. Most features implemented, except vibrato.
* Implement vibrato and status register flags. Fix envelope rate computation.
* Rename ymfm_interface::external_type to access_class and clean up the fallout.
* Formally replace the old YMF278B engine with the one from ymfm
* Rotated YMF278B outputs into a more logical order.
* Re-evaluted envelope calculations and 2x works better than the weird 15/8 I came up with before. Also changed the way FM resampling is computed to be more precise (and simpler). Turned off extraneous debugging.
* Start of/reset to a null state with no loaded waveforms.
* Fix YM2608 I/O ports.
2021-05-22 12:33:21 -04:00
Aaron Giles
cb48ece8f9 ymfm: Switch to internal SSG for YM2203/2608/2610. Clean up code to determine the number of SSG outputs. 2021-05-15 00:40:03 -07:00
Aaron Giles
3cfc522458
ymfm: Refactor new FM engine into a 3rdparty library (#8046)
ymfm: refactor the code into a separate 3rdparty library
* Moved ymfm core implementation to 3rdparty/ymfm
* Split out each family (OPM/OPN/OPL/etc) into its own source file
* Added preliminary OPQ and OPZ support, still WIP
* Put all 3rdparty code into its own namespace ymfm
* Fixed various bugs reported in #8042
* Created interface class for communication between the 3rdparty engine and the emulator
* Standardized MAME implementation of all Yamaha devices based on a template class
* Created standard base class ym_generic that can be used when multiple YM chips are swapped in
* Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device
* Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off)
* Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)
2021-05-14 18:33:49 -07:00
987123879113
e6d3720985
-Improved accuracy of System 573's digital I/O audio emulation. (#7664)
* Refactored mas3507d and k573dio/fpga to be more accurate to real hardware.

-3rdparty/minimp3: Updated to latest master and removed local changes.
2021-01-16 05:12:26 +11:00
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
Peter Ferrie
d199ec2657 fix MSVC (llvm toolset) compile (nw)
- conditionally uninitialised variables in PortAudio;
- floats passed to attotime;
- unsigned->signed enums (this one is technically still wrong)
2019-01-06 18:17:35 -08:00
Miodrag Milanović
a45221458d Android compile fix (#4395)
* Fix compile for Android, set API to 24

* Update Android Studio project to API 24

* Fixed project file to latest Android Studio

* fix build with gradle alone
2018-12-11 19:38:27 -05:00
Olivier Galibert
a0f1fb2698 fixes, gee (nw) 2018-12-06 18:40:48 +01:00
mooglyguy
0bd02131b6 3rdparty: Updated bgfx, bimg, and bx to latest upstream. [Ryan Holtz] 2018-12-05 19:45:08 +01:00
arbee
bb2eaa50ff GENie: support for macOS Mojave (10.14) [R. Belmont] 2018-09-28 00:30:31 -04:00
smf-
444861f487 fixed typo (nw) 2018-08-29 15:33:55 +01:00
smf-
c10977e7d5 default to 64 bit microsoft compiler (nw) 2018-08-29 10:21:35 +01:00
smf-
cff76a60a0 workround so you can still compile if you install the 15.8 update, as long as you install the 14.14.26428 compiler as well (nw) 2018-08-26 20:41:11 +01:00
Patrick Mackinlay
7957feaefc taptun: add support for Windows (#3790)
* taptun: add support for Windows

Looking for feedback only at this point, because it's the first time I've attempted any OSD stuff - be gentle.

This extends the existing taptun OSD module to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6).
* TAP-Windows6 is GPLv2, however only the header file is required in MAME, and the driver itself is entirely optional.
* I've tried to minimise the size of the diff, rather than completely separate the Windows/non-Windows implementations - not sure which is preferable in this case.
* The license file has Mac(?) line-endings - unsure if they should be normalized or used verbatim.
* Uncertain about the non-Windows case (or the Windows SDL case) - existing code uses __linux__, but I'm not clear on how that works with OSX, for example?
* I can't claim this actually "works" yet, because I don't know enough to configure the tap end of it properly to get networking doing something useful, but I will get there and correct anything necessary in a subsequent real PR.

* minor fixes/improvements (nw)

* Use Unicode Windows APIs, and UTF-8 for MAME
* Deal with unterminated registry string values
* Cancel any pending I/O in destructor
2018-07-30 18:52:11 +10:00
Vas Crabb
a1ecd03c9d Fix softfloat3 build with MSVC 32-bit. Apparenly it's all-or-nothing with built-in leading zero count. (nw) 2018-05-27 22:08:35 +10:00
Patrick Mackinlay
4f9ef3e373 softfloat3: fix msvc build (nw) (#3566)
* softfloat3: fix msvc build (nw)

Is this how we do these things? I assume we don't touch the library code itself, and have to "fix" any problems via this header instead?

* softfloat3: do we like this better? (nw)

* softfloat3: it gets the hose again (nw)

* softfloat3: sonofa (nw)
2018-05-14 09:18:24 -04:00