summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emuopts.cpp
Commit message (Collapse)AuthorAgeFilesLines
* clean up and improve option descriptions Vas Crabb2018-12-131-31/+31
|
* dec8.cpp: Fix regression with ghostb, srdarwin (nw) Scott Stone2018-12-091-1/+1
| | | | Some misc text changes to certain trigger usage info (nw)
* misc cleanup (nw) Vas Crabb2018-10-281-1/+1
|
* Fix connonical command line option. tim lindner2018-09-251-2/+2
|
* Fix error in debug build with SMS card options (nw) AJR2018-05-211-2/+5
|
* move some not-directly-emulation-related helpers to lib/util, further ↵ Vas Crabb2018-04-011-7/+7
| | | | extricate emu.h from tools (nw)
* M1COMM, M2COMM, S32COMM: Updates to simulation (#3369) Ariane Fugmann2018-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * M1COMM: update simulation based on real firmware (nw) - read partial frames correctly now - added VSYNC packets (framesync currently disabled as this can cause MAME to freeze and we have no way to tell if the socket is still open) * M2COMM: update simulation (nw) - read partial frames correctly now - added VSYNC packets (framesync currently disabled as this can cause MAME to freeze and we have no way to tell if the socket is still open) * M1COMM, M2COMM: add config option to sync frames over network (nw) * M2COMM: another update to the simulation. - added relay mode (used by stcc) - added "connection loss" * M1COMM: update to simulation (nw) - better sync - detect lost connection * M2COMM: use osd_file rather than emu_file for better control (nw) * M2COMM: handle connection loss in a a more elegant way (nw) * M1COMM: use osd_file rather than emu_file for better control (nw) * S32COMM: updated simulation (nw) - handle connection loss - use osd_file rather than emu_file for better control
* Override and fallback options for artwork (#2908) phulshof2018-01-071-0/+2
| | | | | | | | | | | | * Added fallback_artwork and override_artwork as MAME options to allow default artwork to be loaded. * Removed debug testing code. * - Allow loading of built-in layouts even if override_artwork is specified. - Allow loading of fallback_artwork if only default view have been found. - Fixed order of built-in layouts with regards to fallback_artwork as agreed upon the forums. * Changed |= true to = true, and changed override artwork so it only checks for default.lay if the <machine name>.lay is not found.
* Add option to disable saving NVRAM on exit AJR2017-12-261-2/+5
|
* rewind implementation fixes and improvements vadosnaprimer2017-12-221-1/+1
| | | | | | | | | | | | | - reset scheduler savestate to what it was for years before rewind -- changing saved variables should be done after thorough testing. right now, adding some vars breaks some machines, adding other vars breaks others - switch to megabyte-wise capacity -- savestate size greatly differs between machines, relying on state count is unstable - switch to internal indexing -- no longer depends on inaccurate machine time - rewind accelerator key in debugger (Ctrl+F11) - report capacity hit (once), with some useful info - make error reports saner - mention rewind and rewind_capacity in the docs
* Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame"" Firehawke2017-12-131-0/+2
| | | | This reverts commit 54155441e9ba9941e85d80c4834a66376a11e791.
* Revert "Merge branch 'master' of https://github.com/mamedev/mame" Firehawke2017-12-131-2/+0
| | | | | This reverts commit f537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4, reversing changes made to 0d70d798107d4e4e8fb9f230410aeb1e888d65c5.
* (nw) fixed typo, and rewind off by default. Robbbert2017-12-081-1/+1
|
* Rewind feature and RAM savestates. vadosnaprimer2017-12-061-0/+2
| | | | | | | | | | | | | | This starts the work requested in #2398. How RAM states work. Implemented using util::vectorstream. Instead of dumping m_save.m_entry_list to file, it writes them as binary to vectorstream. Compression is not used, as it would slow down the process. The header is written as usual, also in binary. When a state is loaded, the savestate data gets binary-read from vectorstream. How rewind works. Rewind is optional, it can be turned off through MAME GUI while not running. Rewind capacity is available there too. Rewind step hotkey is available from the standard hotkey menu. In the debugger you have the "rewind" command ("rw" shortcut) that works the same as the hotkey. Every time you advance a frame (pause step), rewinder captures a RAM savestate of the frame you were at. It does the same when you do step into/over/out in the debugger. Every time it captures a new state (and when you unpause), it marks as invalid all its states that go after the current machine time, because input might change, so they are not relevant anymore. It keeps their buffers allocated though, for future use. When rewinder runs out of allowed amount of savestates it can have, it invalidates the first state in the list and tosses its unique_ptr to the end of the list, then it uses its buffer to capture a new state. When you hit the rewind step key, or use "rewind" command in the debugger, it loads a state that is immediately before the current machine time. Invalid states between valid ones are not allowed to appear, as that breaks rewinder integrity and causes problems. Rewinder keeps its own set of ram states as a vector of unique_ptr's. All rewinder operations and errors get reported using machine().popmessage().
* Revert "(nw) Fixed random crashing when swapping one slot device with another." Vas Crabb2017-08-061-17/+0
| | | | | | | | This reverts commit 9968fc71b08b2a27e930d02333cb813977a37cbd. This hides the underlying problem that the options structure is getting out-of-sync. It's losing the image option but not the underlying option. Masking the problem doesn't fix it.
* (nw) Fixed random crashing when swapping one slot device with another. Robbbert2017-08-061-0/+17
|
* fix -sleep Vas Crabb2017-08-021-1/+1
|
* Fix subtle command regression (nw) AJR2017-07-061-1/+1
|
* Overhaul to how MAME handles options, take two (#2341) npwoods2017-06-251-69/+913
|
* Revert "Overhaul to how MAME handles options (#2260)" Vas Crabb2017-05-071-824/+69
| | | | | | | | | | | | This reverts commit 536990e77b49ccc50ef275bfbf1018cc29c16154. Conflicts: src/frontend/mame/mame.cpp Sorry, but this change was half-baked. It breaks a lot of existing functionality and clearly hasn't been tested in more than a tiny subset of use cases. Please play this work back onto your own branch, and test it before submitting another PR.
* Overhaul to how MAME handles options (#2260) npwoods2017-05-051-69/+824
| | | | | | | | | | | | This is an overhaul to how MAME handles options to provide a better foundation for what MAME is already doing in practice. Previously, core_options was designed to provide an input/output facility for reading options from the command line and INI files. However, the current needs (image/slot/get_default_card_software calculus and MewUI) go way beyond that. Broadly, this PR makes the following changes: * core_options now has an extensibility mechanism, so one can register options that behave dramatically differently * With that foundation, emu_options now encapsulates all of the funky image/slot/get_default_card_software calculus that were previously handled by static methods in mameopts.cpp. Changes to emu_options should not automatically cascade in such a way so that it stays in a consistent state * emu_options no longer provides direct access to the slot_options/image_options maps; there are simpler API functions that control these capabilities * Many core_options functions that expose internal data structures (e.g. - priority) that were only really needed because of previous (now obsolete) techniques have been removed. * core_options is now exception based (rather than dumping text to an std::string). The burden is on the caller to catch these, and discern between warnings and errors as needed. Obviously this is a risky change; that's why this is being submitted at the start of the dev cycle.
* srcclean (nw) Vas Crabb2017-04-231-19/+19
|
* Workaround for scenarios where both the command line and an INI specify an ↵ npwoods2017-04-191-1/+11
| | | | | image option (#2245) This is a hack; see commentary within the code. I intend to fix this "for real" when emu_options become more self contained
* More options refactoring Nathan Woods2017-04-161-21/+105
| | | | | | | | This should address outstanding concerns with PR#2231. I'm trying to turn emu_options into a self contained structure that encapsulates behaviors related to options, including the gymnastics pertaining to image/slot loading and interactions with get_default_card_software() and "just works". When the MAME 0.186 development cycle starts up, I hope to take this further. I want to make core_options::entry an abstract base class so that the entries associated with image options and slot options can derive from it. This will eliminate the current need for emu_options to directly expose maps for image and slot options. For now, I'm in stabilization mode, and I hope to get things working for a stable 0.185 release.
* Fixes issues specifying image/slot options fron INI files (reported by ↵ npwoods2017-04-151-1/+72
| | | | | | | Robbbert) (#2231) This fix really doesn't go far enough. I added hooks so that options specified at the command line can also be responded to when parsed from INI files, but in the long run much of the logic that is currently in mame_options should go into emu_options so that when an option is specified, all of the wacko logic around slot/image specification "just works" because it is encapsulated within emu_options. We have a release 11 days away; I want to be in stabilization mode.
* Refactoring in response to MT#6531 Nathan Woods2017-04-061-27/+0
| | | | | | | | | | Prior to this change, options for images and slots were stored in the emu_options collection. Anything that might restart the emulation (such as slot changes and images that reset on load) had to manipulate the emu_options structure directly. The dynamic nature of images and slots meant that some elaborate conventions for setting up this collection had to be understood by clients. After this change, emu_options has two new members (image_options and slot_options) that expose image and slot selections via an std::map. Anything that changes images or slots in a fashion that needs to persist across sessions needs to modify these data structures. Additionally, some of the hairly logic (e.g. - get_default_card_software) now records its data here rather than trying to subvert the core_options system. This is how MT#6531 was fixed; now when diimage.cpp sees an image that resets on load, it just modifies the image_options structure and forces a reset. This allowed some further cleanups to happen within diimage. This should be considered a very risky change, and scrutiny/feedback is welcome. In particular, there seems to be functionality surrounding device bioses that I'm not 100% sure how it works; the syntax seems to imply that it only works on slot devices.
* fix crash on excessive command-line options, clean up some tabulation, ↵ Vas Crabb2017-03-031-42/+39
| | | | remove long-dead option
* Softlist cleanup (#2075) npwoods2017-02-221-12/+25
| | | | | | | | | | * Eliminates the need for emu_options::update_cached_options() by providing a hook for when option values change * This is a preliminary fix to the issue identified in PR#2065 * More softlist related refactoring: - We now only parse the command line (with core_options::parse_command_line()) once - Options that are set up during slot and image setup go through a 'value_specifier' function - Eliminated the command line postprocessing
* srcclean (nw) Vas Crabb2017-01-221-3/+3
|
* Added initial HTTP/HTTPS webserver/websocket server support (nw) Miodrag Milanovic2017-01-041-0/+6
|
* Fixed spelling error (nw) Robbbert2016-11-131-1/+1
|
* added OPTION_HOMEPATH to point to read/write folder,for now used by LUA ↵ Miodrag Milanovic2016-11-121-0/+1
| | | | | | scripts (nw) Copied all needed files so plugins could be started under UWP
* Added swpath. Allows users to specify location of loose software. Robbbert2016-10-121-0/+1
|
* Implement new option -autostretchxy, to automatically apply Antonio Giner2016-08-271-0/+1
| | | | -unevenstretchx or -unevenstretchy based on source native orientation.
* Implement new option -unevenstretchy (complementary to -unevenstretchx) Antonio Giner2016-08-271-0/+1
|
* Procedural texture for vectors in HLSL ImJezze2016-06-051-1/+0
| | | | | | * added simple procedural texture for vectors with rounded line ends and beam smoothness * added optional -vector_beam_smooth option * removed -antialias option, antialiasing is now always applied, except for plain D3D
* Changed the backing representation of OPTION_UI from being a string to an enum Nathan Woods2016-05-291-0/+7
|
* Move system name lookup into frontend (nw) AJR2016-04-281-14/+0
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* Added file for mame depended handling of opts (nw) Miodrag Milanovic2016-04-221-418/+0
|
* Created mame_options as 1st step towards creating core independent of MAME ↵ Miodrag Milanovic2016-04-211-153/+157
| | | | implementation (nw)
* Merge pull request #823 from ajrhacker/deviter Miodrag Milanović2016-04-201-27/+23
|\ | | | | Iterate over devices C++11 style [AJR]
| * Iterate over devices C++11 style AJR2016-04-181-27/+23
| | | | | | | | | | | | Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Add a few more typical getters to device_t::subdevice_list.
* | Forced reset in order to properly apply some options. (nw) dankan18902016-04-201-1/+1
|/
* ui: Re-enabled configuration menu for single-machine and added some options. dankan18902016-04-151-2/+2
| | | | Adding handler for the right mouse button in the main menu, calls the machine configuration.
* diimage.cpp: Allow image devices to be configured with a fixed etabeta782016-04-121-1/+4
| | | | | | | | | (not user selectable) piece of software and updated a few options and menu to acknowledge such possibility. [Fabio Priuli] macs.cpp: Converted to use generic cartslot with fixed software configuration. Cleaned up loading and banking systems in the driver as a result. [Fabio Priuli]
* Make overscan on integer scaled targets optional (add option -intoverscan). Antonio Giner2016-04-051-0/+1
|
* Revert software-installed slot/image options when changing software AJR2016-04-041-23/+30
| | | | | - Remove emu.h's stealth include of emuopts.h through mconfig.h; reduce dependency on emuopts.h in other headers and source files. - MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting.
* refactor miscmenu and add adv menu (nw) Jeffrey Clark2016-04-031-2/+2
|
* Iterate over core classes C++11 style AJR2016-03-311-1/+1
| | | | | | | | C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.) device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config. memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).