- osd windows default keys: move post processing key from lctrl+lalt+f5 to lalt+f10,
- mame default keys: move rewind step from shit+tilde to shift+f4, move cheat from shift+f6 to shift+f8, move quick save/load from (none) to shift+f6/f7
- Pause moved from P to F5
- Step single frame moved from Shift-P to Shift-F5
- Create save state moved from Shift-F7 to F6
- Toggle cheats moved from F6 to Shift-F6
Support input start/size options for createdvd.
Fixed not reporting an error on unrecognised command line options.
Fixed --fix/-f option for verify command not working.
Report an error when conflicting options are supplied (e.g. hard disk
template and C/H/S geometry, or input start offset in both bytes and
hunks). Previously the results would be unpredictable.
Detect more invalid combinations of options, and detect when output unit
size or hunk size doesn't match parent.
Changed order of processing options for createhd so using a template
cannot not inadvertently result in an invalid combination of sector size
and hunk size.
Don't require an explicit unit size for createraw if an output parent
CHD file is supplied.
Fixed an object leak in createcd.
tools/chdman.cpp: Added --hunksize/-hs option for createdvd command and
default to 4K hunks (2 sectors, same size as hard disk hunks). Also
removed --outputbin/-ob option from extractdvd command - it did nothing
as it's CD-specific.
docs: Added preliminary chdman documentation. Most common options have
at least basic descriptions, supported options are listed for all
commands, and supported compression algorithms are described.
docs: Cleaned up heading levels in tools section.
Systems promoted to working
---------------------------
Sega TV Ocha-Ken [QUFB]
Software list items promoted to working (tvochken.xml)
------------------------------------------------------
TV to Ocha-Card: Ocha-Ken 'Ho' to Seikatsu [Vas Crabb]
This allows interested parties to receive notifications on media
changes. This is demonstrated by the file manager and media image
information menus now updating immediately if the system ejects a
mounted image, or a mounted image is changed by a script or something.
ui/filemngr.cpp, ui/info.cpp: Update file manager and media image
information menus immediately on media image changes.
ui/menu.cpp: Return index of added item from item_append.
bus/generic/slot.cpp: Use out-of-line virtual destructors to avoid
vtable link errors in certain single-driver builds.
bus/nubus: Tidy up some #include statements.
sega_beena_cart.xml: Put page scans in individual data areas.
frontend/mame/luaengine_mem.cpp: Added a raw read function for memory
regions.
plugins/layout: Added bitmap classes to layout sandbox.
* docs: Added option for Wayland support to compiling guide.
* docs: Clarified behaviour of memory region read/write methods.
* Fixed some editing errors in Turkish UI translation.
* Added some parentheses on ternary conditional operators for clarity.
Also corrected some copy/paste errors in documentation, and bumped
documentation version as it now describes features that will appear in
an upcoming release.
Up-to-date with revision 24c8d575e588d557d28f4011becb753421346860. Resolves issues building with Visual Studio.
Enabled PortAudio when building with Visual Studio and clang-cl.
docs: Removed note about duplicate GUID symbols in PortAudio when built with MSVC.
render/drawbgfx.cpp: Return an error if Wayland EGL surface can't be
created for additional windows.
emu/emucore.h: Added explicitly defaulted copy and move constructors for
emu_fatalerror.
Fixed apparent misunderstanding of const. Returning const value types
and casting to const value types is pointless outside very narrow use
cases. Putting const value type parameters in interfaces just makes
trouble.
cpu/adsp2100: Use count_leading_ones_32 where it's simple rather than
inverting and counting leading zeroes.
util/multibyte.h: Don't pollute global namespace, constexpr implies
inline, make narrowing casts explicit.
imagedev/simh_tape_image.h: inline is implied for member functions with
bodies supplied at declaration.
Tidied up some ugly casts in various places.
emu/sound.cpp: Made -volume in source file INI or higher priority
context take precedence over volume read from CFG file. This matches
behaviour of -bgfx_screen_chains.
emu/input.cpp: Made explicit -no{mouse|joystick|lightgun} take
precedence over -{mouse|trackball|adstick|paddle}_device etc. from lower
priority levels.
Alos got rid of a bunch of unnecessary simple_list.
Use VirtualAlloc rather than VirtualProtect on Windows to change page
protection, as the latter can cause severe performance issues with some
antivirus software.
Added noexcept to lots of hash- and bitmap-related things, and added a
little more error checking. Yes, I realise it will abort if an
allocation fails while printing a log message, but if you get to that
point, you're probably screwed already.
* Moved several machine lifecycle callbacks to the notifier/subscriber
model. The old callback registration model is still available for
them for now, but prints a deprecation warning.
* Added pre-save/post-load notifications.
* Use a single allocated timer rather than one anonymous timer per
waiter. Waiters no longer prevent saved states from being loaded.
* Clean up outstanding waiters on stop or state load rather than just
leaking them.
* Started documenting parts of the emulator interface object that should
be relatively stable.
-imagedev/avivideo.cpp: Fixed an object leak on unload. Also changed
some other media image devices to use smart pointers.
- Remove the seterror method for recording error messages and conditions. Condition codes have been made return values for call_load, call_create and various related callbacks. Error messages (which many devices weren't generating) are now displayed through osd_printf_error.
- Eliminate the image_init_result and image_verify_result pass/fail enumeration types. Update many functions that were returning these enumerations or simply bools to return std::error_condition instead. In some cases, this type is now passed down from internal parsing/loading functions which were already returning it. In various other cases, the former default UNSPECIFIED has been used as a catchall for I/O errors; anticipated future refactorings should make these error returns more specific.
- Expand the image_error categories to include INVALIDLENGTH, NOSOFTWARE and BADSOFTWARE. The first is largely self-explanatory. The second is generated by the core to indicate failure to find software items in lists. The third is provided for devices to indicate semantic errors in software list entries.
- Change the return type of floppy_image_device::identify to a pair so the potential error condition can be passed along to the UI without storing it in a member variable.
- Move device_image_interface::message down into snapshot_image_device and change its implementation to use string_format instead of printf.
- Correct a typo in the shortname of the generic snapshot device.
Functionally, the only difference between the system definitions is that
GAMEL lets you specify an additional internal layout and SYST lets you
specify a compatible system. COMP and CONS are just aliases for SYST -
the aliases can be phased out.
Removed arcade.flt and mess.flt altogether - opinion seems to be split
between misinterpreting them as fully supported and considering them
unnecessary. They were marginally useful as a performance test for
makedep.py, but that isn't important. We still have nl.flt as an
example .flt file (although it doesn't use "-" exclude directives).
Moved the UI active flag from the machine to the UI manager. Nothing
else uses it anyway (it's still accessible to scripts).