Commit Graph

402 Commits

Author SHA1 Message Date
Vas Crabb
6911b9198f Set LinkSupportCircularDependencies for FreeBSD as well as NetBSD (#11271). 2023-05-28 03:39:39 +10:00
Vas Crabb
a504bde3a7 3rdparty/lzma: Updated to LZMA SDK version 22.01 2023-05-04 02:41:16 +10:00
Vas Crabb
c649fa82fd ui: Don't use facets of destructed locales. 2023-05-01 02:37:28 +10:00
arbee
006389f631 Fixed another warning, a full compile now completes with GCC 13.1. [R. Belmont] 2023-04-29 22:33:00 -04:00
arbee
e17706aec2 Support GCC 13.1 / Fedora 38 [R. Belmont] 2023-04-29 21:46:16 -04:00
Vas Crabb
5f97af903c
-Lua engine: run everything in coroutines. (#11019)
* This lets you use emu.wait(...) directly without mucking around creating coroutines.
* Allow emu.wait to accept an attotime argument.
* Added a couple more wait helper functions.

-emu/profiler.h: Actually use scope-based profiling helpers.
* This makes the comment at the top of emu/profile.h less dishonest, and makes it easier to write exception-safe code.
* Got rid of some do { ... } while (0) loops that only existed so break could be used like a goto.
2023-03-25 05:53:58 +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
Vas Crabb
0ae68e4dea Use EQUIVALENT_ARRAY to avoid issues with std::size on member arrays, enable warnings for VLAs in C++. 2023-02-01 16:12:58 +11:00
Vas Crabb
5a984699b3 Fail earlier in the build process if SOURCES= specifies no files containing system definitions 2022-07-07 11:54:01 +10:00
Thomas Klausner
174e6bdf44
genie: Explicitly set LinkSupportCircularDependencies for NetBSD. (#10020)
Fixes GitHub #10011.
2022-07-04 03:51:04 +10:00
Vas Crabb
4b66663afb Allow leaving off the src/<target>/ prefix in SOURCES= 2022-07-01 23:19:10 +10:00
Vas Crabb
c51c443be1 -Added support for directory names in SOURCES=
-Retired the messshared project (combined with shared).

-bus/nubus: Added table of video modes for Mac monitor sense values.
2022-06-30 00:37:49 +10:00
Vas Crabb
871837b123 More quality of life features for new source layout:
Added support for wildcards in .flt filter files.  You'll need to quote
them to avoid /* being parsed as a comment initiator, like "seta/*.cpp"
on a line including the quotes.

Added an XSLT filter for listing system driver sources, like
mame -lx | xsltproc scripts/xslt/list-system-sources.xslt

Converted the ci subtarget (which isn't really used much) into a .flt
rather than .lua and .lst files.
2022-06-29 01:29:04 +10:00
Vas Crabb
513e30cbbb Added make opions for filter file, adjusted source path display.
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot).  It
functions more-or-less like SOURCES on steroids.

Changed the way system/device source file paths are displayed to suit
the new source layout better.  INI file loading hasn't changed, that
still just uses the base file name.

Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
2022-06-28 16:33:06 +10:00
Vas Crabb
ab6237da82 Eliminated cross dependencies between driver projects.
Driver projects now use globs to search for files.  There's less effort
editing the Lua files when things are moved around.  Remember it won't
automatically pick up a change, so if you add/remove/change files, you
should touch makefile to get it to find the change.

Driver projects no longer get the top-level MAME directory as an include
path.  This means you need to think about how you structure things and
not introduce nasty circular dependencies.

Subtarget projects can now be generated entirely from .flt files without
the need for separate Lua scripts and .lst files.  This has been done
for the arcade, mess and virtual targets.  It effectively works like a
SOURCES= build on a large scale.  This means you need to organise things
so the dependency genrators can find them.

There's an issue with the mess subtarget right now.  For some reason,
decmate2.cpp isn't picking up the dependency on the PDP8 CPU core for
the HD6120 device.  I'll debug it later
2022-06-27 18:06:20 +10:00
Vas Crabb
60179d8c95 Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. 2022-06-17 23:51:57 +10:00
Vas Crabb
d8854e4e55 Updated scripts to support SOURCES= builds after the reorganisation happens. 2022-06-15 05:07:09 +10:00
Vas Crabb
ea1e51636c Adjust toolchain versions for triggering workarounds:
* Make netlist/plib noexcept issue workaround trigger for clang 8 or
  Apple clang 11.0.0.
* Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue
  in GNU libstdc++ rather than GCC itself - using compiler version as a
  proxy for standard library version is bad, but it's the path of least
  resistance for now).
2022-06-06 04:00:02 +10:00
yz70s
deddb5626c Remove spurious /wx option from prjects generated for visual studio
With that warnings as errors were always enabled even if option
NOWERROR=1 was specified
2022-05-23 20:13:38 +02:00
smf-
33f069cac0 fix for building with clang 14 as asmjit uses | & operators on bools [smf] 2022-05-18 18:39:43 +01:00
Vas Crabb
a3ee45c94c scripts: Improve str_to_version again.
Don't treat hypen and dot as the same thing - it will cause issues with
pacakge revisions.  Cleaned up some Lua code as well.

Also show warnings about potentially uninitialised stuff with GCC 12,
just don't make them fatal errors.
2022-05-17 03:16:54 +10:00
sairuk
a68e611f07
fix version detection in str_to_version (#9767) 2022-05-16 10:49:09 -04:00
arbee
f6b18012bc mips3: Fixed error flagged by GCC 12 [Ryan Holtz, R. Belmont] 2022-05-11 21:30:46 -04:00
arbee
a5647347df Initial GCC 12 support for Fedora 36. [R. Belmont] 2022-05-11 17:26:57 -04:00
Vas Crabb
ae8634669a Apparently the issue with Sol and std::optional is a GCC version thing, not Linux vs MinGW.
Also, tidied up the test views in some more fruit machine layouts.
2022-04-06 04:15:25 +10:00
Vas Crabb
ea30ec72f4 Disable lifetime dead store elimination for Linux GCC builds.
This will hopefully work around the very unhelpful uninitialised
variable warning that seems to be triggered by using Sol's get function
with std::optional<T> or sol::optional<T> on Linux.
2022-04-03 14:34:38 +10:00
Vas Crabb
c4f9ff9790 -util/corealloc.h: Reduced make_unique_clear to a single variant for POD arrays.
* Enabled GCC lifetime dead store elimination optimisation.
* emu/device.h: Don't pre-clear memory for drivers.  Ivan Vangelista
  fixed at least the majority of things that crashed outright, and
  Robbbert initialised variables that coverity complained about.  It's
  unlikely anything will break due to this.
* sound/discrete.h: Explicitly initialise members of discrete "devices"
  to zero.  I don't see a way around doing this in headers due to the
  macro soup used to build the constructors.
* sound/mos6581.cpp: Moved creation of the SID core to device_start and
  explictly initialised members of the SID core structures.  These
  structures are in internal headers, so they won't cause downstream
  recompiles.

-Lua engine: Made I/O port manager type_seq a bit more tolerant of
 omitted arguments.
2022-04-03 02:53:19 +10:00
Vas Crabb
0a1c686c8e Disabled clang warnings again - only the GCC ones should be re-enabled. 2022-02-24 16:42:30 +11:00
Vas Crabb
e539b09943 Re-enabled some compiler warnings and cleaned up some Python scripts a little. 2022-02-24 16:35:13 +11:00
Justin Kerk
533598fca3 Include $ERRNO_CODES in Emscripten build to fix error loading software in Emularity loader - see issue emscripten-core/emscripten#10061 2021-12-30 23:39:31 +00:00
Justin Kerk
3fd7f8ac57 Fix build with newer versions of Emscripten; minimum supported version is now 2.0.25. 2021-12-23 02:13:53 +00:00
Miodrag Milanovic
9e7455b057 Remove of winstore/winphone 2021-10-26 11:18:31 +02:00
Miodrag Milanovic
63f907ee32 vs2019_clang target is now used instead of vsllvm 2021-10-26 11:11:35 +02:00
Miodrag Milanovic
34d4c26e40 Remove old VisualStudio 2021-10-26 11:07:34 +02:00
Miodrag Milanovic
22d5ba05dc xcode4 and ios removal 2021-10-26 10:59:28 +02:00
Miodrag Milanovic
1a79bb82b1 rpi target was not used, but regular linux one anyway 2021-10-26 10:50:09 +02:00
Miodrag Milanovic
7d75eee51e Remove CI20 2021-10-26 10:42:34 +02:00
Miodrag Milanovic
97a7d8bec8 Remove steamlink 2021-10-26 10:40:30 +02:00
Miodrag Milanovic
f317b4d534 Remove pnacl remains 2021-10-26 10:32:43 +02: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
Vas Crabb
df8703523b util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. 2021-09-18 02:02:58 +10:00
Miodrag Milanovic
24c63a3f3d Revert "enable BGFX_CONFIG_DEBUG to get proper asserts"
This reverts commit 4abb9da0ec.
2021-08-20 09:43:41 +02:00
Miodrag Milanovic
4abb9da0ec enable BGFX_CONFIG_DEBUG to get proper asserts 2021-08-13 14:00:53 +02:00
Aaron Giles
03d1877680 Disable another MSVC warning that is known to be noisy (and which showed up with the recent setjmp workaround). 2021-07-09 09:14:42 -07:00
Olivier Galibert
293a5c9129 Stupid warning is stupid 2021-05-26 22:35:19 +02:00
Vas Crabb
5fe20586ee srcclean for release 2021-05-23 17:33:52 +10:00
arbee
52e917793b Preliminary support for GCC 11.1 (Fedora 34) [R. Belmont] 2021-05-20 13:04:46 -04: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
feos
4e337734f7 Fix vs2019_clang build 2021-04-05 13:00:48 +10:00
Vas Crabb
71b8df0417 MAME 0.230
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0DYtsBhE4EM627+6wXSxAYxAcQ4FAmBjCXUACgkQwXSxAYxA
 cQ6PAhAAuSgrMmBQiTdMrBvCDcB080E9yFNOkFpMgcH/RD9Md9hC5lN3sHVlGvex
 1hfA2hz1P2E3Icl2hI6oqhvXh192oo+AOj3EJ6bQdtn8c4UHhpFxNZ2tqbO0gcz5
 uuoThQx4Y29tAcYsurFcL7n782tcDym+QvTRl+UDiRWEMLXOTcd0IgKwYTm8scRL
 8c02Ks07cXJgawjDkyZYYQIvUjodppwTwdIW0hL3vvVNjFptG9ailtfTibLdfZRC
 QBTKLLewQxLDGROzfkY3lQwN+9TPdkSiITm63tBr9d+mCBT4Ib64MafplNGuxOVC
 vXBdjEsJyz2WDn490FXw3ZevOJI/BZCKuYZaW54owNbqgvLDXvc7AJMeEpqBGH8h
 soyJOx8NWY6FSB3yIgU6EROa+4IT3ZLdth3Q742ZNIBPlG1zIOvatredHnAQNis/
 VQM6y0jdbyIiMTRRfn3WLDp/CI0U2XO65d8+S9f86+5I8kbxTrJGSxx8YfM9c3up
 xuUbCBIU/egYBpYOaQzxxg9vFf+kWs50qdH2hMIxQjFM1IpUzWokiukUjCjRiVPp
 a4tRW3bdDmL76vkcQ/S4gQrSeDCLMBcPIZ5ffkBuaEar+C01/GOOKzn3UJWEkkmB
 dnw8HRLvJviPyTN2IiFWSZT+wYdgM0d3G3YofLsH6JTsaSF3xq8=
 =WmoT
 -----END PGP SIGNATURE-----

Merge tag 'mame0230' into mainline-master

MAME 0.230
2021-03-31 12:05:54 +11:00