Commit graph

507 commits

Author SHA1 Message Date
arbee
1fc7c61a79 cpu/m68000: FPU now sets the NaN flag for all NaNs, not just signalling. Fixes dendego black screen in attract mode. [R. Belmont] 2024-05-30 23:33:13 -04:00
arbee
6957c46998 cpu/m68000: Updated 680x0 FPU to Softfloat 3 from 2. (MT5411 and MT8793). [R. Belmont]
- Update to Softloat 3 from 2
- FREM and FMOD now generate the quotient bits in FPSR, required by Apple's SANE to do sin/cos/tan properly.
- FMOVE of a float to a Dx integer register generates the exception status bits, fixing square roots in SANE
- Rewrote how FMOVEM instructions are decoded and executed, fixing issues including skipping too few or too many
  opcode bytes and causing serious weird behavior.
- FPU instructions all now have more realistic cycle timings for a 68881.
- All FPU instructions now generate exception bits in FPSR.

3rdparty/softfloat3: Updates [R. Belmont]
- Softfloat3 was always being built for a big-endian host, causing incorrect math on LE x64 and AArch64 machines.
- Fixed up Softfloat3 to build properly as part of MAME and up-ported the Bochs extensions.  In latest Bochs, they
  were only partially up-ported and Softfloat3 had been hacked up to be more like 2; here they're fixed to work
  with stock Softfloat3.
2024-05-27 20:40:42 -04:00
Vas Crabb
b7e0fa72b9 3rdparty/sol2: Work around another place where noexcept depends on class template arguments. 2024-05-08 03:58:36 +10:00
Vas Crabb
4da99a13f5 3rdparty/sol2: Worked around apparent regression in clang 18.
When taking a pointer to a static member function template in a class
template, clang reports a substitution error if the noexcept
specification uses an expression that depends on class template
arguments.

See llvm/llvm-project#91362 on GitHub.
2024-05-08 03:32:05 +10:00
Vas Crabb
3ef9a7db09
3rdparty/asio: Patch config.hpp to hopefully work with strict preprocessor warnings. 2024-04-22 09:19:30 +10:00
Vas Crabb
184292b730 3rdparty/asio: Updated to 1.30.2 2024-04-22 08:04:58 +10:00
Patrick Mackinlay
2c566627a1
3rdparty/asmjit: Updated to upstream version 1.13.0. (#12228)
From revision asmjit/asmjit@e5d7c0bd5d
2024-04-11 03:16:51 +10:00
Justin Kerk
28210363d0 Fix compile error in 3rdparty/bx with newer Emscripten versions (#12098)
From bkaradzic/bx@03fd6f4771
2024-03-13 11:41:25 -07:00
Vas Crabb
05e69b43e9
Added Zstandard support for zip archives and CHDs. (#11827)
* 3rdparty/zstd: Added Zstandard compression library version 1.5.5.
* util/unzip.cpp: Added support for Zstandard compression (method 93).
* util/chdcodec.cpp: Added support for Zstandard compression.
* 3rdparty/flac: Always define NDEBUG to avoid log spam.
2023-12-11 10:48:02 +11:00
Vas Crabb
414c5ce5a5 3rdparty: Renamed libflac to flac - it's a full FLAC distribution, libFLAC is just a small part of it. 2023-12-06 17:12:45 +11:00
Vas Crabb
faf991a563 3rdparty/libflac: Updated to version 1.4.3.
Also removed FLAC documentation - it's a lot of bloat.
2023-12-06 17:12:45 +11:00
Vas Crabb
79bef1e230 3rdparty/lzma: Updated to version 23.01. 2023-12-06 07:58:49 +11:00
Vas Crabb
466c450cb3 3rdparty/utf8proc: Updated to 2.9.0. 2023-12-06 07:05:45 +11:00
Vas Crabb
12590d6ad8 3rdparty/zlib: Updated to 1.3.0. 2023-12-06 06:42:53 +11:00
Vas Crabb
73751bcea9 3rdparty/libjpeg: Updated to version 9e. 2023-12-06 06:05:40 +11:00
Alex Brown
d6a7f2906a
3rdpary/asio: Fixed error check in sockatmark(). (#11656)
From chriskohlhoff/asio@f79d3dc5c8
2023-10-28 03:46:33 +11:00
Vas Crabb
c936fd8799
3rdparty/portaudio: Fixed inadvertent assignment in PulseAudio callback. 2023-10-24 06:39:17 +11:00
invertego
963561c7cb
3rdparty/portaudio: Updated to latest upstream version. (#11604)
Up-to-date with revision 24c8d575e588d557d28f4011becb753421346860.  Resolves issues building with Visual Studio.

Enabled PortAudio when building with Visual Studio and clang-cl.

docs: Removed note about duplicate GUID symbols in PortAudio when built with MSVC.
2023-10-09 01:50:30 +11:00
Romain TISSERAND
52e5d735ce
3rdparty/bgfx: Fixed duplicate import of GL functions on Linux when using GLES 2.0. (#11596)
From bkaradzic/bgfx@66d50eb721

Fixes build when using GLES 2.0 and Wayland.
2023-10-04 23:08:53 +11:00
Julian Sikorski
80155dfa8c
3rdparty/bgfx: Cherry-picked upstream commits needed to support Wayland on Linux. (#11539) 2023-09-29 01:14:29 +10:00
Vas Crabb
44eb5ea3c6 Revert "Updated bgfx, bx and bimg to current upstream versions. (#11493)"
This reverts commit 1c61ccfe84.
2023-09-08 05:14:35 +10:00
Julian Sikorski
1c61ccfe84
Updated bgfx, bx and bimg to current upstream versions. (#11493)
* Reverted "macOS, iOS: Removed OpenGL/OpenGLES support. (commit 4693983242).
* Reverted "Fix macOS build" (commit ce2c2c13eda7d699051f75f598e740a447343a88).
* Reverted "macOS: Fixed deprecated warnings." (commit 10a8cb61f8).
* Added bgfx/README.mame explaining deviations from upstream.
2023-09-06 01:10:24 +10:00
Vas Crabb
883f063cf8 bgfx: Hopefully fix glslang build with newer GNU C/C++ standard library verisons. 2023-05-31 16:06:23 +10:00
987123879113
fb2b5745d1
namco/namcos10.cpp: Add MP3 decoder support to the MEM(P3) board. (#11210)
* 3rdparty/minimp3: Update to latest source (afb604c06bc8beb145fecd42c0ceb5bda8795144).
* sound/mp3_audio.cpp: Add helper class to decode MP3 frame data, abstracting away minimp3 from devices.
* sound/lc82310.cpp: Added basic Sanyo LC82310 MP3 decoder emulation.
* namco/namcos10.cpp: Fixed light gun inputs for Golgo 13: Juusei no Requiem.

Systems promoted to working
------------------
Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A)
Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A)
Seishun-Quiz Colorful High School (CHS1 Ver.A)
2023-05-15 14:38:30 +10:00
Vas Crabb
02eea1bd67 3rdparty/nanosvg: Re-base on latest upstream.
Now based on upstream 9da543e8329fdd81b64eb48742d8ccb09377aed1.

This fixes some issues with abbreviate path commands, gradients, and
locale sensitivity when parsing percentace-style colours.
2023-05-05 05:57:39 +10:00
Vas Crabb
a504bde3a7 3rdparty/lzma: Updated to LZMA SDK version 22.01 2023-05-04 02:41:16 +10:00
Patrick Mackinlay
5b567d4a37 taptun: fix adapter detection on windows for newer versions of taptun driver 2023-04-25 14:46:24 +07:00
feos
ed34e2ed6d
3rdparty/linenoise: Support keypad Enter on Windows. (#11109) 2023-04-18 03:34:25 +10:00
Curt Coder
46636e399d 3rdparty/portmidi: Fix compile with Clang 14.0.3 on macOS 2023-04-17 08:45:12 +03:00
arbee
645bbe989b PortAudio: sync to upstream GitHub revision 0e9b386a1053261340bc8bb32335484ef77b258b [R. Belmont, PortAudio team]
* Tested and works on Windows, macOS, and Linux.
* Fixes compatibility with macOS Ventura and bugfixes WASAPI and WDM-KS on Windows.
2023-04-01 19:03:31 -04:00
Vas Crabb
31c0d2a4a8 Reduce warnings that need to be suppressed to build linenoise. 2023-03-07 05:46:28 +11:00
Vas Crabb
8384223ac8 Updated forked linenoise to latest upstream.
This removes the need to force it to build as C++, and adds proper UTF-8
support for Windows.

Since this is a fork of linenoise, there's no hope for getting
lua-linenoise to sync with it upstream.  I made the bare minimum changes
to keep it working, but didn't add bindings for new functionality (e.g.
multi-line editing).
2023-03-07 05:33:37 +11:00
Vas Crabb
dc87571a43 3rdparty: Avoid the need for -fpermissive since clang doesn't like it.
I'll try to get some of this upstreamed.
2023-03-07 04:19:36 +11:00
Vas Crabb
b5475eb38b Various updates, mostly around Lua:
Compile Lua as C++.  When Lua is compiled as C, it uses setjmp/longjmp
for error handling, resulting in failure to unwind intermediate stack
frames.  Trying to ensure no objects with non-trivial destructors are in
scope when raising a Lua error is error-prone.  In particular,
converting an exception to a Lua error becomes convoluted, and raising a
Lua error from a constructor is effectively impossible.

Updated Lua to 5.4.4 - this includes a brand-new garbage collector
implementation with better performance.  The main thing removed is the
deprecated bitlib.

Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes
a number of issues, including not correctly handling errors when Lua is
built as C++.

Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic
links on Windows, as well as Lua 5.4 compatibility.

Updated LuaSQLite3 to version 0.9.5 - this fixes issues in
multi-threaded environments, as well as Lua 5.4 compatibility.

Fixed double-free after attempting to construct a debugger expression
from Lua with an invalid string, and exposed expression error to Lua in
a better way.

Added warning level print function to Lua.

Fixed saving cheats with shift operators in expressions, although this
code isn't actually used as there's no cheat editor.
2023-03-07 01:39:42 +11:00
Miodrag Milanović
bd59a0d447
Removed local copy of SDL source and update Android build support. (#10899)
* Removed SDL2 source.
* Updated gradle.
* Updated SDL2 Java support glue code.
* Increased minimum supported Android API version to 24.
* Updated required asset files for Android app.
* Added proper tag for Android logging.
* Added SDL2 hint to make BGFX work on Android.
2023-02-27 05:40:37 +11:00
Olivier Galibert
b733fd4b43 gcc: prevent use-after-free warning. 2023-02-22 09:13:03 +01:00
Miodrag Milanović
f6630310eb
Update rapidjson to 012be8528783cdbf4b7a9e64f78bd8f056b97e24 (#10842)
Co-authored-by: Milo Yip <miloyip@gmail.com>
2023-01-20 15:44:28 -05:00
cracyc
1287b114de i386: fix fpu log2 and atan 2023-01-09 14:08:08 -06:00
Miodrag Milanović
812e6094f4
Update BGFX, BX and BIMG (#10789)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-05 09:32:40 -05:00
R. Belmont
94b1e168b2
Revert "Update BGFX, BX and BIMG (#10750)" (#10787)
This reverts commit 5581eaa50a due to link failure on macOS.
2023-01-04 23:29:18 -05:00
Miodrag Milanović
5581eaa50a
Update BGFX, BX and BIMG (#10750)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-04 23:12:10 -05:00
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