| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
reading an input port triggers an irq, MAME's frame update shouldn't affect it)"
This reverts commit f695e757c57f29ab4a220ff03a4b847e0f9c9530.
I/O ports are for reporting the state of a set of input lines. If a
custom input member has side effects, it's broken. Use a read callback
of some kind (read handler, delegate, devcb, etc.) instead. Allowing or
encouraging I/O ports with read side effects breaks too many
assumptions.
|
| |
|
|
| |
input port triggers an irq, MAME's frame update shouldn't affect it)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ui/imgcntrl, ui/floppycntrl.cpp: Completely reworked logic -
backtracking through menus is more intuitive, and more context is
retained when encountering an error (it should be a bit easier to follow
the code as well).
ui/floppycntrl.cpp: Don't show the initial content selection menu when
opening an image to read from while writing to a separate file.
ui/filecreate.cpp: Moved the logic to enumerate floppy formats into the
menu, use headings and separators, use callbacks to notify when an item
is selected, don't pop menus when an item is selected, avoid actual work
in destructors.
ui/midiinout.cpp: Fixed infinite growth when repopulating the menu,
don't pop the menu when a port is chosen, use a callback to notify that
a port is chosen, use headings and separators, and in informative
placeholder if no ports are available.
ui/filesel.cpp: Don't show the option to write to a floppy diff (it
still isn't implemented, it can be re-added if it's ever implemented),
don't pop the menus when selecting an item, avoid actual work in
destructors.
ui/filemngr.cpp: Show more detail in the info box below the menu for
software items and presets, substantially simplified the code for
walking media devices.
ui/info.cpp: Got rid of the media information menu, added media
information to the system information menu.
ui/menu.cpp: Allow immediately adjusting the hovered item with
pen/mouse, saving a click.
emu/ioport: Fixed incorrect strings displayed for 4C_5C, 3C_4C, 2C_3C
and 3C_5C. The array absolutely must stay in order. Also added an
assertion to catch these errors early.
emu/ioport.cpp: Use a much less gross method of handling default strings
(apparently someone forgot about function overloading).
emu/ioport.cpp: Retired the crosshair mapper member macros - they don't
serve much purpose.
util/zippath.cpp: Actually report a failure to open a plain file rather
than looking for files inside non-existent archives, making every error
turn into "file not found".
formats/flopimg.cpp: Allow matching extensions on string object names,
rather than requiring a NUL-terminated string.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
window.
* ui/ui.cpp: Dim all windows when paused.
* ui/ui.cpp, menu/menu.cpp, ui/viewgfx.cpp: Broke assumption that UI
elements will be drawn in the first window.
* menu/menu.cpp: Allow menus to migrate between windows on activation.
* ui/ui.cpp, ui/moptions.cpp, ui/submenu.cpp: Added an option to
automatically pause when a menu is displayed.
* Added an option to open menus in the most recently active window (alos
affcts the profiler, speed display and popup messages).
|
| | |
|
| | |
|
| |
|
|
| |
address value. (#15251)
|
| |
|
| |
Ensures m_sound_requested_outputs_mask is updated even if a device's add_route(output_index, ...) calls don't happen in the order of output_index.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cpu/drcbex86.cpp: Removed i686 recompiler back-end. Without a practical
way to make Windows i686 builds, it's just going to rot. Also, x86-64
is now older than Pac-Man was when MAME was initially created. It's
dead on the desktop
tools: Removed aueffectutil - it's no longer useful.
emu/video/rgbutil.cpp: Removed Altivec/VMX bilinear filtering
implementation. PowerPC on desktop is dead.
file/posixptty.cpp, sdl, sdl3, scripts: Removed support for SysV
operating systems. They’re dead on the desktop.
scripts: Removed outdated Lua compatibility macros. They weren't doing
anything sice we updated to Lua 5.4 (the compatibility options changed,
but we just left the old macros in place, which no longer had any
effect).
|
| |
|
|
|
|
|
|
|
|
|
| |
docs: It's no longer possible to get a working Qt 5 setup with MSYS2,
and there's no 32-bit Qt 6 package. Updated docs to reflect this.
Use Qt 6 on Windows, use qmake to find moc.
Fixed linking on Windows with static SDL3.
input/input_dinput.cpp: Support SDL3.
|
| |
|
|
|
|
|
|
|
|
| |
* emu/device.cpp: Take std::string_view tag in constructor.
* emu/save.cpp: Cleaned up interface for reporting error messages.
* docs: Cleaned up stuff that's no longer relevant.
* machine/s3c44b0.cpp: Overhauled logging.
* osd/modules/lib/osdobj_common.cpp: Removed CoreAudio options that
no longer do anything.
* Cleaned up some more stuff to prepare for 64-bit offs_t.
|
| |
|
|
| |
emu/sound.h: removed unused function declarations
|
| |
|
|
|
|
|
| |
Also updated compiling documentation. Mentioned the possibility to use
the x86-64 clang/libc++/ucrt environment with MSYS2 on Windows. Removed
link to tools at mamedev.org - it's trivially easy to get an up-to-date
MSYS2 environment by following the instructions.
|
| |
|
|
|
|
|
|
|
|
|
| |
(#15182)
* Hackery to allow UTF-8 strings as well as plain strings:
- emu/ioport.h: Allow char8_t for names in field configuration helper.
- emu/device.h, emu/gamedrv.h: Allow char8_t for descriptions and manufacturers.
- util/language.h: Allow char8_t message input.
* util/strformat.h: Allow char8_t format and string arguments with char output.
* ui/videoopt.cpp: Deal with UTF-8 strings as a distinct type.
* osd/windows: Assume Windows 8 or later.
|
| |
|
|
|
|
|
|
| |
deduplicated.
This increases coupling between the "traits" classes generated for
driver/device definitions and the device type implementation class, but
it noticeably reduces static data size for MAME as a whole.
|
| |
|
|
| |
* emu/dislot.cpp: Add special validity check for driver-level slots to prevent image and slot names from colliding
|
| |
|
|
|
|
|
|
| |
* cpu/i386/i386dasm.cpp, frontend/mame/infoxml.cpp, dec/pdp1_v.cpp:
Avoid arithmetic between different enum types.
* frontend/mame/cheat.cpp: Default-construct XML parser options.
* emu/validity.cpp: Avoid use of volatile assignement result as value.
* ui/devopt.cpp: UTF-8 strings will use a distinct character type.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added a helper for the common operation of replacing all options,
setting default, and setting whether the slot is fixed (reduced
boilerplate in slot devices a bit).
* Fixed a bug where slot options copied the supplied name but also
required the string to remain valid for their lifetime.
* Use std::string_view for strings that should never be null.
* Reduced some duplication.
-dynax/ddenlovr.cpp: Allow a mahjong panel to be connected for all
hanafuda games with slotted control panels. This is how the games were
operated most of the time, and all mahjong controls are displayed in
input tests. Also cleaned up some DIP switch settings.
-emu/inpttype.h: Got rid of IPT_GAMBLE_SERVICE.
-bus/bk/parallel.h: Fixed a bug where the supplied options and default
weren't actually used.
-emu/debug/debugcmd.cpp: Use C++ file stream for dumping address maps.
-frontend/mame/clifront.cpp: Use osd_printf_info output for
interactive verbs.
-jaleco/ms32.cpp: Simplified mahjong panel column permutation.
-capcom/cps1bl_5205.cpp, mattel/juicebox.cpp, sun/sun2.cpp,
sun/sun3.cpp: Cleaned up logging.
-emu/xtal.cpp: Reduced temporary objects and duplicated code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* This is most useful for the games that can support several panel
types, especially when the hanaroku panel is supported.
* Added preliminary support for Hanafuda Hana Gokou joystick controls,
improved some DIP switch settings a little.
* emu/inpttype.ipp: Added 3P and 4P hanafuda controls, moved some
gambling controls to the "other" group.
* shared/mahjong.cpp: Added a simple slot system for standard mahjong
and hanafuda matrix panels (up to 6*6).
-konami/kontest.cpp: Only loop over 8*8 blocks that need to be drawn.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
sound: don't send sound to osd if mute reason is ui related
|
| |
|
|
| |
ui/filemngr.cpp, ui/prscntrl.cpp: Fixed some cosmetic issues.
|
| |
|
|
| |
other small cleanups
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* cpu/drcbec.cpp: Work around older clang that doesn't support the
floating point environment access pragma.
* machine/i8251.cpp, emu/audio_effects/reverb.cpp: Fixed uninitialised
data accesses.
* sega/model2.cpp: Use 8251 ready output line status rather than
pretending to be able to read the status register asynchronously.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cpu/sharc/sharcdrc.cpp: Exploit data memory layout to bypass the memory
system for both 32-bit and 16-bit SRAM accesses.
cpu/sharc/sharcdrc.cpp: Exploit the way the SHARC toolchain lays out
executable code and data in SRAM to greatly reduce unnecessary cache
flushes.
cpu/sharc/sharcdrc.cpp: Implemented Rn = NOT Rx (used by Sega Model 2B
games).
cpu/sharc/sharcdrc.cpp: Align 32-bit program memory accesses with the
most significant bit of the bus (corresponds to interpreter change in
0f368c268c1eabc176af8e5cdf780b5d60e8d9a0 from GitHub #13770).
emu/debug/points.cpp: Fixed hang when a watchpoint is hit on a 64-bit
wide address space with word addressing.
sega/model2.cpp: Enabled SHARC recompiler for Model 2B (can be disabled
again before release if too many things are broken).
|
| | |
|
| |
|
|
| |
state (#14898)
|
| | |
|
| |
|
|
| |
and inline for functions; util/palette.h: Don't use reserved _Names.
|
| | |
|
| |
|
|
| |
mark ROM_OPTIONAL as deprecated
|
| |
|
|
| |
IPT_GAMBLE_DOOR with IPT_INTERLOCK and rename to generic IPT_DOOR
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6cb0ec64ac8608c4bcf864807495f91c55db3653.
This seems to have been done with a lack of understanding of how things
work. A fake output based on tag string comparisons is definitely not a
good way to do things. Views with hard-coded screen tags for a single
slot device aren't a great idea either, given MAME provides a variety of
emulated terminals.
The whole thing is just misguided.
|
| |\
| |
| |
| |
| | |
Merging MAME 0.285 release branch with workarounds reverted into
mainline master.
|
| | | |
|
| | | |
|