Also made error messages for missing CHDs and missing files for software
parts using the image file loader show search paths, and changed the
(poorly named) bitbanger device to use the image file loader rather than
the ROM loader for software items.
frontend: Exposed debug symbol tables and parsed expressions to Lua
(these can be used when the debugger is not active). Also made it
simpler to walk input types.
imagedev/bitbngr.cpp: Added software list loader support (used by
sitcom).
sitcom.cpp: Replaced bankdev with a memory view. Also added a bar graph
for the timer DAC output, and made the DL1414 displays squarer in the
layout like they are in real life. They still don't look right because
the internal segment drawing code doen't draw the segments the right
width.
docs: Fixed broken links and added missing links in command line options
index. Also removed documentation for an option that no longer exists
and fixed some inconsistent terminology.
Separated includes by module in various drivers.
* If an input is configured to some combination of controls that are not
present at all, ignore the setting altogether for the session.
* Fixed relative axes with PORT_RESET not responding to absolute
controls (MT07685).
* Fixed relative axes not responding to an absolute control if the value
doesn’t change every frame (eg. holding a stick against the stop).
* Changed the scaling for absolute controls assigned to relative axes to
make defaults more sane (e.g. arkanoid or spdheat with a joystick).
-frontend: Fixed some localisation issues in Analog Controls menu.
-docs: Added documentation on assigning inputs.
* Also added a couple of missing command-line options, and added a local
table of contents to the (rather long) command line options page.
-Added a separate CI target for localisation updates that produces an
artefact, and removed the message catalogs from the trigger paths for
the Linux CI build.
Extended the memory access prefixes in debugger expressions to support
address space names.
Made the debugger history command aware of how much history it has
collected, and added a help topic for it to the built-in debugger help.
Started updating the documentation for the web site, and corrected some
of the more misleading built-in debugger help.
Made some corrections to Chinese localisation after discussion with
YuiFAN.
Darkened the UI red colour a little.
cpu/m6502/st2205u.h: Marked sound imperfect.
emu/ioport.cpp: Allow controller files to override input sequences for
inputs that don't use defaults, and to override the toggle setting for
digital inputs.
emu/config.cpp: Expose configuration level (mostly matters for
controller files), improved verbose diagnostic messages, and moved a few
things out of the global and preprocessor namespaces.
docs: Added documentation for some controller configuration file
features. The device mapping feature documentation will be merged in at
some point.
util/unicode.cpp, emu/input.cpp: API cleanups.
* Added note explaining that view options saved in machine CFG take
precedence over INI/command line.
* Added prerequisites for building HTML documentation under MSYS2 and
Fedora Linux.
* Explicitly mentioned that Ubuntu modifies GCC to enable "fortify
source" by default in the relevant section.
* Removed obsolete reference to glibstdc++6.
* Re-formated compiling guide source (hard wrap at 80 columns,
typographical quotes, code blocks for sample command lines).
-genie.lua: Show GCC ignored attribute warnings, but don't fail for
them.
Exposed the "native snapview" option on the video manager. Trying to
use presence of a single view is a poor proxy that breaks with
multi-screen systems.
Allow rotation to be changed for native snapshot views, and disable the
zoom to screen area control when it has no effect on the selected view.
Treat an empty string identically to "auto" for view selectction.
Previously this was being used for prefix matching so it would force the
first view. (This caused the bad snapshot view selection. It had been
relying on "internal" not being a common view name prefix so it fell
through to automatic selection, but when changed to an empty string it
forced the first view.)
Documented "auto" as well as "native" for the -snapview option and
changed the default to auto rather than an empty string for consistency
with the -viewN options.
Added [w]string_view handlers to the stuff that's instantiated in
strformat.cpp since we'll be increasingly using them.
Cleaned up and updated some documentation.
* First completed pass of commandline parameters. (nw)
* Further refinements on commandline (nw)
* Get the audio latency numbers right and add PortAudio info.
* FreeSync/GSync information cleanup.
* Minor additions to G-Sync/FreeSync.
* Add tip for keyboardprovider, remove biospath, correct anchor positioning (nw)
* A few corrections per Vas (nw)
* Update MAME docs revision to 0.216
* Add FAQ question about autofire with walkthrough of setup process.
* Add VSCode .gitignore for RST compilation temporary folder (/docs/source/_build)
* Add a caveat about autofire+normal fire mapping
* Add -lowlatency to the docs.
* There is no longer a concept of "layers" - there are only screens and elements.
* Elements are now instantiated with <element ref="...">
* Screens and elements can have explicit blending mode specified with blend="..."
* Default blending mode for screens is "add" and default for other elements is "alpha"
* Other supported modes are "none" and "multiply"
* This removes the options to enable/disable layers individually - use views instead
* Legacy layouts can still be loaded, and support won't be removed for at least a year
The current artwork model is over-stretched. It's based on a Space
Invaders cabinet model, and isn't applicable to a lot of the systems
MAME emulates now. The fact that MAME has to switch to an "alternate"
mode to deal with games like Golly! Ghost! without requiring pre-matted
bitmaps shows that the Space Invaders model wasn't even adequate for
general arcade use. It shows in that for a lot of the systems that
heavily depend on artwork, people just seem to randomly choose layers
for elements until they get something that works. Also, the fact that
MAME will switch to an alternate (Golly! Ghost!) mode depending on the
combination of elements is a trap for people learning to make artwork.
There are cases that the current approach of implying the blending mode
from the layer doesn't work with. Examples include LEDs behind
diffusers (requires additive blending for layout elements), and mutliple
stacked LCD panels (requires RGB multiplication for screens).
For configurability, it's now a lot easier to make multiple views using
groups. For example, if you want to make it possible to hide the
control panel section of your layout, you can put the control panel
elements in a group and create views with and without it.
I will gradually migrate the internal artwork to use the new approach.
I have an XSLT stylesheet that helps with this, but I'm not comfortable
adding it because it isn't a complete solution and it still requires
manul steps.
I wanted to get the re-worked pointer handling done sooner so I could
push them both at the same time, but unfortunately various things have
prevented me from progressing as quickly as I wanted to. Sorry guys,
that stuff's going to have to wait.
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.
* Update copyrights and docs revision (nw)
Updates copyright on existing 2018 entries to 2019 (and one 2016)
Updates the docs compilation script to MAME 0.205 and 2019 copyright.
* Further formatting overhauling (nw)
Clamp to 80 column where possible; it makes it easier to track errant
line breaks, etc.
Also begin standardizing tab formatting and two spaces after period.
* Further corrections to command line materials (nw)
* More adjustments for Cuavas (nw)
Getting closer to acceptable.
* Case sensitivity training for INI (nw)
The world is not 100% Windows, so case sensitvity is needed.
* Further standardization of the formatting (nw)
More to go...
* Pass 2 of new formatting wave (nw)
More to go, though.
* wave 3 of formatting cleanup (nw)
Further adjustments and cleanups, including unwanted tabs.
* Correct filtering instructions (nw)
* The first set of commandline overhauls. (NW)
* Correct case on headings, further improvements to index, spelling fix
* More updates to the index and cleanup to the commandline stuff. [NW]
* More core options in the index. [NW]
* Finished multiplatform commandline index [NW]
* Completion of first revision commandline index [NW]
- 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