----------------------------------
Super Mario Bros. 3 (NES bootleg) [Victor Fernandez (City Game)]
- misc/mcatadv.cpp, misc/oneshot.cpp, taito/retofinv.cpp: consolidated drivers in single files, minor cleanups
ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
(searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
removed some confusing and apparently pointless code.
Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
packed binary string.
* Changed screen device pixels method to return width and height in
addition to the pixels.
osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
shift" that stops the default from interfering with UI paste.
Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
was missing.
docs: Reworked and expanded documentation on configuring stable
controller IDs.
For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
it could be interpreted as implying it showed a software list name.
Jamming magic behaviour for a few systems into a common device just
makes code more convoluted and harder to maintain. The trouble with
these things is that you quickly end up stuck with them, and then
untangling the dependency on magical behaviour that never belonged in
the device in the first place becomes an inordinate amount of work.
In this case, it isn't even saving a substantial amount of code in the
drivers.
This reverts commit 229ea4b3a1.
----------------------------------
Exciting Speed Hockey (V19930325) [nnap]
New clones marked as NOT_WORKING
--------------------------------
Red and Ted's Road Show (PA-2 prototype) [Bill Ung, PinMAME]
- sega/model3.cpp, sega/segaybd.cpp: some board documentation updates [Brian Troha]
- tecmo/spbactn.cpp: fixed some dips for spbactnp
- Added exception points as a new class of "points" triggering on specific exception numbers, with a similar set of commands to breakpoints and registerpoints.
- Removed the per-instruction callback hook from device_debug. Only one driver was using this (rmnimbus.cpp), and what it was doing with it could be done more cleanly with exception points.
- Change the type of the action string parameter for "points"-creating methods and make some parameters optional for those.
- Change trace file logging to use a std::ostream instead of FILE * to take better advantage of strformat.
- Move osd_midi_device from osdcore.h to osdepend.h
- Move osd_list_network_adapters from osdcore.h to osdnet.h (was already defineduniquely in osdnet.cpp)
- Move #include <cstdarg> from osdcore.h to emu.h
- Remove dinetwork.h from emu.h
* Use macros for the common repeated definitions of joystick, coins, etc.
* Player buttons are "B" and "A", like the real panels. Start buttons have number and color, etc.
* bnglngby, iceclimb, jajamaru, nvs_machridera, supxevs, tkoboxng: Removed as many modifications from the base VS. machine IO ports as possible.
* Adjusted coin PORT_IMPULSE closer to hardware, so that all games now work with it.
* Updated notes on why Coin 2 inputs don't work in some games.