Commit Graph

161 Commits

Author SHA1 Message Date
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
ba98284097 Minor cleanup:
* Don't put full path to target resources in generated version resource
  file.
* apple/sonora.cpp: Only #include "emu.h" as first thing in .cpp file to
  avoid PCH issues.
* taito/rbisland.cpp: Cleaned up a few details.
2022-07-11 01:25:39 +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
60179d8c95 Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. 2022-06-17 23:51:57 +10:00
Vas Crabb
94c22aaf78 More scheduler optimisation, Visual Studio build fixes, and cleanup.
emu/schedule.cpp: Fixed a few more pessimising assumptions.  Gains a few
percent in Ketsui and SNES SuperFX.

util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.

sun2.cpp: Fixed uninitialised variable that could cause corrupt video.

Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
2022-06-17 05:36:24 +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
74fe6e9d5c -Got rid of some legacy MESS support glue.
* Got rid of the special-casing for the "mess" subtarget name.
* Got rid of the MESS-specific Windows resources, emuator info source
  and man page.
* Added subtarget name to the internal name and original name in Windows
  resources.

-ui: Put the system-specific items on the input settings menu together,
 and fixed the crosshair visibility settings.
2022-06-13 16:53:23 +10: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
9d61cf33d1 Remove uwp from build system 2021-10-26 11:24:03 +02: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
9dce821cbb mips platform is not supported for Android for some time 2021-10-26 10:52:26 +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
f317b4d534 Remove pnacl remains 2021-10-26 10:32:43 +02: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
Vas Crabb
adc23f3f74 Goodbye 64 suffix on the main executable, it was nice knowing you.
If you want to build 64-bit and 32-bit in the same tree without them
stomping on each other, use SEPARATE_BIN=1 (you already need to do this
for TOOLS=1 anyway).
2021-01-26 15:37:11 +11:00
Justin Kerk
56f2ebaeaf Emscripten: Allow memory size to grow at runtime when targeting WebAssembly as there is no longer a performance hit 2020-10-24 00:44:57 -07:00
Justin Kerk
56f30e3ca0 Remove embed files unintentionally added to Emscripten build 2020-09-28 10:04:36 -07:00
couriersud
1bb99466bc netlist: code refactoring
* use default move and copy constructors
* various minor edits like adding noexcept
* removed a lot of inline keywords - you can't beat the compiler
2020-09-24 15:22:22 +02:00
couriersud
ed6900b990
emscripten: netlist and OpenGL improvements. (#7254)
* Most OpenGL link issues fixed. Two remain from drawogl.cpp.
    This isn't working anyhow.
* "-video accel" now uses WebGL. This allows GL based scaling and
    provides a performance improvement.
* Fixed pong and other games by adding another function to the
    exception whitelist
* Target now is mame.html. This allows emrun to be used for testing.
    mame.js is created as well and thus the current behaviour
    unchanged.
2020-09-18 23:06:48 +10:00
Julian Sikorski
a8bd59055e Only build asmjit on x86 and x86_64 2020-06-27 15:42:47 +02:00
Patrick Mackinlay
45615b7f4b asmjit: new 3rdparty library 2020-05-28 20:24:40 +07:00
Vas Crabb
8a923f9361 srcclean and manual cleanup (nw) 2020-04-26 12:04:54 +10:00
couriersud
7c96a897dc main.lua: fix linking order of netlist. (nw)
Moved netlist between dasm and utils,expat,... link statements
This fixes the resolution of symbols in netlist code which may be used
in machine/netlist.cpp.
Change tested on ubuntu, windows and macosx.
2020-04-18 15:40:35 +02: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
algestam
f5869f4018 Add bgfx artwork path for Emscripten build (nw) 2019-12-03 22:03:19 +01:00
Vas Crabb
bcfa6047c3 Build system maintenance:
* Re-write makedep.py for better performance and better parsing front-end
* Make srcclean deal with kinds of preprocessor abuse I never want to see in real life

(nw) The new parser front-end is better at recognising C++ syntax and
also substantially faster - bootstrapping a single-driver build should
be noticeably quicker.  Having a single parser for C++, .lst and .flt
files also gets us a bit closer to making it simpler to create custom
subtargets.
2019-10-04 22:55:01 +10: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
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
Patrick Mackinlay
ba8d7b1c8f r4000: experimental mips3 implementation (nw)
WIP checkpoint: while I believe it's largely accurate (and very slow), neither jazz nor sgi systems can fully boot yet using this device, so it remains experimental.

This implementation should go away when it has helped identify the improvements required for mips3.
2019-02-01 15:27:13 +07:00
Justin Kerk
3c34a1d307 Fix errors with single-driver build of vsnes.cpp [Justin Kerk] 2018-12-30 12:54:48 -08:00
Justin Kerk
bcb672ce32 Don't error on undefined GL symbols for the WebAssembly target (#4187) 2018-10-23 21:52:39 -07:00
Justin Kerk
7809e9005d Better Emscripten parameter handling, & update docs (nw) 2018-07-21 22:05:45 +00:00
Justin Kerk
38df7f4219 Update WebAssembly parameters for current Emscripten (nw) 2018-07-15 04:17:09 +00:00
Justin Kerk
50c373be6f Fixed issues with CHD loading under Emscripten. [Justin Kerk] 2018-03-28 04:35:34 +00:00
Justin Kerk
1f80e58a10 Disable multithreading on the Emscripten target as it is not currently supported. Fixes e.g. drivers using discrete audio components. [Justin Kerk] 2018-03-06 07:39:05 +00:00
Björn Moser
71074fe126 VS Compile Fix 2018-01-08 22:29:19 +00:00
Miodrag Milanovic
3917627494 Updated GENie, BGFX, BX, added BIMG since it is separated now, updated all shader binaries and MAME part of code to support new interfaces [Miodrag Milanovic] 2017-12-01 13:22:27 +01:00
npwoods
3d553eda60 Attempted to sanitize/rationalize how we access UTF-8 command line arguments (#2532)
Specifically, this creates a call osd_get_command_line() that returns UTF-8 command line arguments as std::vector<std::string>.  On non-Windows platforms, this does nothing more than build the vector.  On Windows, this invokes GetCommandLineW() and CommandLineToArgvW().  This also attempts to unwind usage of wmain()/_tmain() on Windows, which is not standard.

Related to this, this fixes a bug in Imgtool; specifically, non-7 bit ASCII was not being handled correctly in Windows.

This is really an admission that the way that Windows handles Unicode and command line arguments sucks, and it is my belief that having a wmain() or _tmain() declaration specific for Windows is a worse solution.  C'est la vie.

I'm very open to the idea that src/osd/osdcore.[cpp|h] is not the best place to do this.  Let me know if I should move it.
2017-09-18 20:28:53 -04:00
James Baicoianu
785e6f2fc9 Export soft_reset, hard_reset, exit, load, and save functions for Emscripten builds 2017-07-15 15:17:29 +10:00
James Baicoianu
15c2bb0c08 Fix save/load states in Emscripten build (#2470)
* Fix save/load states in Emscripten build
* Simplified Emscripten integration points
* Moved standalone JS functions to be static member functions of running_machine
* Improved Emscripten main loop
* Use convenience functions for cleaner code

As an added bonus, this now allows for proper shutdown of the running machine when running in the Emscripten environment - previously, attempts to exit the program were just being ignored.
2017-07-15 14:00:09 +10:00
cracyc
4ebc18aeec linenoise: replace linenoise-ng with a different port that is simpler and uses a different UTF8 parser [Carl]
plugins/console: better completions [Carl]
2017-05-13 16:57:47 -05:00
Miodrag Milanovic
00ad4ab0ae Update build scripts, BX is now static library (nw) 2017-02-05 14:15:25 +01:00
inte alls
cd03a64284 Initial PortAudio backend with build script changes to support library version 20161030 2017-01-11 20:24:00 +01:00
Nathan Woods
5be1b8e6e0 Introduced utf8proc and created wrapper code to expose a prettier API 2016-12-31 11:17:07 -05:00
Miodrag Milanovic
124f30dbbc Enable building projects that are separate of MAME but use same core and lives in separate git tree (nw) 2016-12-08 11:46:15 +01:00
Vas Crabb
7238415d1f srcclean (nw) 2016-11-27 09:56:49 +11:00
Miodrag Milanovic
dbbd5e9c98 As promised, removing this part of code since it is used for compilers check, no need for this to be in release (nw) 2016-11-23 08:37:05 +01:00