summaryrefslogtreecommitdiffstatshomepage
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* docs: Updated documentation on INI file handling. Vas Crabb4 days7-19/+31
|
* -bus/ieee488: Cleaned up code, improved displayed device names. Vas Crabb2026-04-161-19/+25
| | | | -docs: Reorganised listing of MSYS2 packages for building documentation.
* docs: More updates for Windows compiling instructions. Vas Crabb2026-04-082-22/+20
| | | | Also updaed Lua version and documentation link.
* docs: More forward-looking updates to the Windows build documentation. Vas Crabb2026-04-071-31/+28
|
* Move build system adjusttment and fixes: Vas Crabb2026-04-051-56/+29
| | | | | | | | | * Bumped minimum clang version to 13 - clang 12 is just too buggy. * Assume Qt 6 will be used, dropped Qt 5 support. * Fixed finding Qt headers on Fedora and hopefully other distros. * Always use static SDL2 on Windows. * debugger/qt/debuggerview.cpp: Fixed build with Qt < 6.6. * imgtool/modules/vzdos.cpp: Fixed build with Linux GCC 11.
* Fix up more stuff for upgraded tools, etc. Vas Crabb2026-04-041-4/+4
| | | | | | | | | | | 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.
* Various cleanups: Vas Crabb2026-04-043-12/+9
| | | | | | | | | | * 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.
* docs: More updates to compiling instructions. Vas Crabb2026-04-031-15/+23
| | | | | * GCC 7 hasn't been relevant in years. * Added details on using the LLVM archiver.
* Eliminated many temporary std::string objects. Vas Crabb2026-04-031-35/+45
| | | | | | | 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.
* Switched language standard to C++20, bumped compiler requirement to GCC 11. ↵ Vas Crabb2026-04-022-25/+5
| | | | | | | | | | | (#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.
* Bumped version to 0.287mame0287 Vas Crabb2026-03-291-2/+2
|
* docs: door input is not gambling-specific anymore hap2026-03-211-2/+2
|
* cpu/sharc: Implemented a bit more functionality and fixed bugs: Vas Crabb2026-03-071-1/+3
| | | | | | | | | * Implemented short word sign extension. * Fixed DAG2 (PM) register display in debugger. * Track AF dependencies when analysing instructions. * Log analysed instructions when logging UML code. * Removed misplaced break in cpu/sharc/sharcfe.cpp. * cpu/uml.h: Let C functions take any pointer/reference parameter.
* Bumped version to 0.286 Vas Crabb2026-02-241-2/+2
|
* video/vector.cpp, frontend/mame/luaengine.cpp: Refactored recently-added Lua ↵ MooglyGuy2026-02-201-0/+61
| | | | hooks for vector devices. (#14991)
* cpu/sharc: Better align FIX between interpreter and recompiler, pack/unpack ↵ Vas Crabb2026-02-061-2/+2
| | | | recompiler ASTAT for saved states.
* docs: Added some content for Input Macro and Off-screen Reload plugins. Vas Crabb2026-02-052-26/+66
| | | | Also cleaned up sega/segaybd.cpp and skeleton/aws.cpp a bit.
* cpu/sharc: Small improvements: Vas Crabb2026-02-041-1/+2
| | | | | | | | | * Implemented bit-accurate RECIPS and RSQRTS in recompiler (fast approximation can be enabled by setting a macro). * Fixed/optimised RECIPS flag calculation for interpreter. * Fixed FIX for negative numbers when MODE1 TRUNC bit it set for interpreter and recompiler (should round towards negative infinity). * Don't regenerate static helpers on cache flush.
* Mostly cleanup and housekeeping: Vas Crabb2026-01-312-6/+1
| | | | | | | | * uismall.bdf: Added nine extended Latin and IPA characters, added CC0-1.0 license comment. * ui/submenu.cpp: Made hide_romless text clearer. * README.md, docs: Updated/removed dead links. * Lots of ATTR_COLD and some code cleanup.
* hash/*, src/*, docs/source/advanced/paths.rst: Consistency fixes around ↵ angelosa2026-01-301-1/+1
| | | | | | | After Burner game title * the Sega game is two separate spaced words, and with roman numeral for the sequel. * "afterburner" referenced as the fighter jet thrust is a single word i.e. gloc input and sc4mtbb.lay.
* noscreens.lay: no mame lingo in warning msg hap2026-01-201-2/+2
|
* noscreens.lay: make warning msg more generic and brief, and put it in a ↵ hap2026-01-181-2/+2
| | | | collection(toggle)
* -cpu/sharc/sharcdrc.cpp: Fixed bug in shift, obvious optimisations: Vas Crabb2026-01-171-1/+1
| | | | | | | | | | | | | | | | | * Fixed shift with variable count when count is positive (should shift left, was shifting right). * Use recently-introduced UML bit field extract instructions. * Don't follow arithmetic with redundant compare to zero if only zero flag is required. * Let the back-end take care of fetching source from memory or immediate for simple arithmetic. * Assume the back-end knows how to generate conditional CALLH. * Use BIT helper. * Don't assume x86-like magic sequence breaking on self-XOR. * Corrected a comment that didn't match the code. -docs: Corrected syntax for generating UML conditional CALLH instructions.
* -windows/winmain.cpp: Set global C++ locale when the standard library isn't ↵ Vas Crabb2026-01-151-0/+10
| | | | | | | | | | | | | | broken. * GNU libstdc++ only provides a useless stub locale implementation when using anything other than the glibc standard C library. However, llvm libc++ provides a locale implementation that works fine with UCRT. -dynax/royalmah.cpp: Filled in Mahjong Raijinhai DIP switches from available manual pages. -docs: added note about MinGW clang/llvm issues with CodeView/PDB symbols at high detail levels.
* -plugins/inputmacro: Added support for non-wrapping analog inputs. Vas Crabb2026-01-064-64/+84
| | | | | | | | -emu/inputdev.cpp, emu/emuopts.cpp: Removed core off-screen reload hack now that the same thing can be achieved more flexibly with plugins. -ui/pluginopt.cpp: Changed the "previos menu" item text to make what it does more obvious.
* Updated years to 2026 where appropriate. Vas Crabb2026-01-053-5/+5
| | | | | | Also bumped documentation version to 0.285 as it describes new functionality not in 0.284, and removed ARM7 from the list of DRC CPUs since its incomplete recompiler functionality was removed.
* cpu/drccache.cpp: Defer allocating to start, allow forcing W^X mode. (#14760) Vas Crabb2026-01-042-3/+25
| | | | | | | | | | | | | | | | | | cpu/drccache.cpp: Added helpers for allocating structures/objects in the cache. cpu/drccache.cpp: Supply desired alignment when allocating cache memory (not fully implemented). cpu/drccache.cpp: Log some statistics on destruction. emu/emuopts.cpp: Added -[no]drc_rwx option to allow forcing W^X mode when writable executable pages are permitted. cpu/mips, cpu/powerpc: Allow DRC cache size to be set externally at configuration time, so systems can override the default. cpu/dspp, cpu/e132xs, cpu/unsp: Don't allocate DRC resources if recompiler is disabled.
* plugins/offscreenreload: Added an off-screen reload helper plugin for people ↵ Vas Crabb2026-01-043-1/+84
| | | | playing lightgun games with other types of controls.
* Correct for my inability to type today. Vas Crabb2025-12-241-1/+1
|
* Tidy some stuff, bump version in documentation. Vas Crabb2025-12-244-38/+47
|
* add artfont option for changing default font of .lay files text elements hap2025-12-234-38/+49
|
* frontend/mame/luaengine.cpp: Refactored machine:side_effects_disabled() as a ↵ holub2025-12-041-2/+2
| | | | method instead of property. (#14626)
* mame/luaengine.cpp: Access machine.side_effects_disabled (#14621) holub2025-12-021-0/+2
|
* rendlay.cpp: Improve accuracy and performance calculating text aspect ratio, ↵ Christian Brunschen2025-11-301-3/+4
| | | | | | | | | | | | | (#14550) Also adds another text alignment option to stretch the text to fill its bounds horizontally. The current code calculating the aspect ratio for text involves looping, calculating the width of text for a variety of decreasing aspect ratios until the text's width is less than the available bounds. However, this string width calculation performs the same loop over the text each time, finally multiplying by the candidate aspect ratio. That text width calculation thus really only needs to be done once. Further, instead of trying different aspect ratios, the ratio can simply be calculated directly by dividing the width of the bounds by the string's width. This also calculates a more accurate aspect ratio, rather than always resulting in an aspect ratio of (0.95)^n. For example, when trying to fit a 101-pixel wide text into a 100-pixel wide space, the current code would result in an aspect ratio of 0.95, making the text 96 pixels wide, leaving 4 pixels unused; the new code will instead calculate the aspect ratio as 100/101 == 0.9900990099... , making the text use the full 100 available pixels. This in turn allows us to easily calculate the ratio also if we want to not just schrink but also stretch the text to fill the available space, so we add that as another text alignment option, number 3 (three). This PR also demonstrates this in the VFX family of layouts, where on the default Full view, the text "MUSIC PRODUCTION SYNTHESIZER" ("DYNAMIC COMPONENT SYNTHESIZER" on the VFX), the logo-like text "ensoniq", and the keyboard-specific markers "VFX", "VFX-SD", "SD-1" and "3 2 V O I C E" can now be made to fill their available space horizontally as they should, making it all look that much more like the real thing.
* Bumped version to 0.283mame0283 Vas Crabb2025-11-281-2/+2
|
* docs/source/debugger/memory.rst: Explained a hitherto undocumented feature ↵ AJR2025-11-151-1/+4
| | | | of strdump
* cpu/uml.cpp: Added UML bit field extract instructions. (#14467) Vas Crabb2025-11-061-4/+92
| | | | | | cpu/drcbex64.cpp: Also added LZCNT implementation using x86 LZCNT instruction and optimised the BSR-based implementation. cpu/e132xs: Use bit field extract instructions.
* Fixed up a pile of stuff and commented out games added without credits. Vas Crabb2025-10-311-3/+2
| | | | | | | | * You actually need to add copyright notices when adding stuff in 3rdparty. * bus/bk: Fixed bad exposed class. * Metadata fixes. * Got rid of non-const function statics.
* Revert "Update hiscore.rst with plugin configuration details (#14403)" Vas Crabb2025-10-301-6/+0
| | | | | | | | | | | Revert "Implement game exclusion support for hiscore (#14375)" This reverts commit 0eb42bd963b350e96064423c8ee2b6cacc34fdef. This reverts commit 7eba3bd1b383d5500edc48d8e938020b9ba6853e. There's too much wrong with this in terms of design and implementation. It isn't releasable.
* Update hiscore.rst with plugin configuration details (#14403) aaciii2025-10-231-0/+6
| | | Updated plugin documentation to cover the new ability to exclude games from the hiscore support.
* Added support for generating PDB symbols with MinGW clang and lld. (#14352) Vas Crabb2025-10-201-0/+8
| | | | | Also don't disable sibling/tail call optimisation when symbols are enabled. This is hurting our release builds since they're built with symbols.
* -cpu/drcbex64.cpp: Optimised a couple more cases of GETFLGS, replaced a few ↵ Vas Crabb2025-10-092-10/+9
| | | | | | | | magic numbers with constants. -docs: Bumped version to 0.282 - some features not in 0.281 are documented. -Cleaned up miscellaneous stuff.
* frontend/mame/luaengine_input.cpp: Allow configuring analog input ↵ Vas Crabb2025-10-081-4/+41
| | | | adjustments from scripts.
* Update frontends.rst link to IV/Play + description overhaul (#14258) John IV (MAME, MAMEUI, IV/Play)2025-10-041-3/+4
|
* formats/ap2_dsk.cpp: remove the RWTS18 format (#14262) Roman Donchenko2025-10-041-6/+0
| | | | | | | | | | | | It is completely non-functional. The loading code is commented out, and the saving code crashes, because it attempts to access 70 tracks regardless of how many there actually are. The code has been in this state ever since it's been added in 36ea482a, so it seems unlikely that it'll improve. Moreover, its utility seems questionable: I haven't been able to find a single floppy image with an .rti extension (and there are none listed in the software list). OTOH, for every game mentioned in the description, there are WOZ images that can be used instead (except for The Toy Shop, which has DSK images).
* Reompiler improvements: Vas Crabb2025-10-041-0/+124
| | | | | | | | | | * cpu/drcbex64.cpp: Optimised GETFLGS: LEA to avoid the need to save/restore flags for more flag combinations, choose registers more wisely to avoid unnecessary copies and reduce REX prefixes, use more efficient strategy to save and restore flags. * cpu/drcbearm64.cpp: Save an instruction when calculating carry flag for shifts with immediate count. * docs: Documented the last of the UML instructions.
* docs: fix a typo in the documentation for the default values for the ↵ Christian Brunschen2025-10-031-2/+2
| | | | | `comm_localport` and `comm_remoteport` flags: 15122 -> 15112. (#14254) See https://github.com/mamedev/mame/blob/master/src/emu/emuopts.cpp#L192 and following.
* -Recompiler improvements: Vas Crabb2025-10-031-3/+241
| | | | | | | | | | | | | | | | * cpu/drcbex64.cpp: Simplified and ptimised flag calculations for rotate instructions. * cpu/drcbex64.cpp, cpu/drcbex86.cpp: Mask flags when setting via SETFLGS or RESTORE to avoid possible buffer overrun, slightly optimised SETFLGS with an immediate operand. * cpu/drcbex64.cpp, cpu/drcbex86.cpp: Optimised FCMP when only the unordered flags is required. * drcbearm64.cpp, drcbec.cpp: Fixed default floating point rounding mode not applying after RESTORE. * drcbearm64.cpp: Optimised generated code for SETFLGS a little. * docs: Documented a few more UML instructions. -sound/l7a1045_l6028_dsp_a.cpp: More plausible loop point calculation.
* Recompiler improvements: Vas Crabb2025-10-021-9/+108
| | | | | | | | | | | * cpu/uml.cpp: Marked BREAK as clobbering all flags, and marked LOAD, LOADS, STORE, SET, FLOAD and FSTORE as not modifying flags. CPUs already depend on SET not modifying flags. * cpu/drcbex64.cpp, cpu/drcbex86.cpp: Clear the zero and carry flags for unordered floating point comparisons for consistency with the documentation and the other back-ends. * cpu/drcbex64.cpp: Slightly optimised flag calculation for some shifts and rotates.
* -Recompiler improvements: Vas Crabb2025-09-301-0/+253
| | | | | | | | | | | | | * cpu/drcbearm64.cpp: Use bfxil to save an instruction for smae cases of CARRY and ROLINS. * cpu/drcbec.cpp: Fixed code for ROLC that played fast and loose with integer promotion, producing incorrect results for some compilers/targets. * cpu/uml.cpp: Truncate immediate operands for CARRY. * docs: Documented a few more UML instructions. -igs/igs_m027xa.cpp: Got rid of some stuff carried over from igs_m027.cpp that no games on this platform seem to use.