summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* unidasm.cpp: Use C++20 bit functions AJR5 days1-8/+7
|
* tools/imgtool: Use UTF-8 console I/O on Windows, don't use wide char streams. Vas Crabb2026-04-154-91/+89
|
* Cleaned up unsupportable legacy stuff: Vas Crabb2026-04-062-1098/+0
| | | | | | | | | | | | | | | | | | | | 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).
* Move build system adjusttment and fixes: Vas Crabb2026-04-051-1/+1
| | | | | | | | | * 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.
* misc: toodle-oo TOOD typo hap2026-03-241-1/+1
|
* More stuff mostly related to recompiling CPUs: Vas Crabb2026-03-061-1/+1
| | | | | | | | | | | | | | | | cpu/drcbearm64.cpp: Don't set the rounding mode on SETFMOD if it hasn't changed. cpu/e132xs.cpp: Skip more unnecessary flag calculations, use pre-calculated PC for updating G0 in memory when possible, better analysis of pre-calculated PC values when delay slots are involved. cpu/sh: Cleaned up register dependency analysis logging, fixed an instruction analysis bug. cpu/sharc: Disassemble unimplemented instructions executed in recompiled code, include tag in more fatal errors, use throw syntax to make it cleared it's an early out.
* -cpu/e132xs: Log analysed instructions in UML log when using recompiler. Vas Crabb2026-03-051-12/+2
| | | | | | | | | | | | -cpu/powerpc: Modernised recompiler front-end code, improved instruction analysis logging. -cpu/sh: Cleaned up instruction analysis logging a little -util/client_ws.hpp, util/server_ws_impl.hpp, capcom/cps2comm.cpp: Updated some use of deprecation ASIO APIs. -nakajima/nakajies.cpp: Use range-based loops.
* Initial support for SDL3. [R. Belmont, Vas Crabb] arbee2026-02-072-9/+83
| | | | | | | | | * SDL3 is the default for macOS targets. Linux/Windows can build with OSD=sdl3 while we wait for better distro support for SDL3. Both X11 and Wayland sessions are fully supported on Linux. * SDL3 -sound=sdl supports both input and output. All other video, sound, and input functionality should otherwise be the same for now. SDL 3.4+ multiple keyboard/mouse support is planned.
* testkeys: add license header hap2026-01-288-13/+9
|
* unidasm: Fix build after 4cca9c37840dd92315a24ffc86eed1c4895e809a AJR2026-01-171-4/+4
|
* cpu: Improved naming of TMS320 series DSPs. Vas Crabb2026-01-181-8/+8
| | | | | | | | | | | | | | | Name folders after families rather than the first family member emulated by MAME (yes, TMS320C1x and TMS320C2x are retrospective names). Follow TI's convention of including the "C" in the names. Don't try to jam all the disassembler source file names into 8.3. The TMS32010, TMS320M10 and TMS320C10 are different things, but unfortunately MAME hasn't made a distinction between them so far. As far as I can tell, early DECTalk devices used TMS32010 or TMS320M10 chips, while the Atari and Toaplan games used TMS320C10 chips, but this should be verified.
* floptool: Minor code cleanup AJR2026-01-131-1/+1
|
* Add a Sanyo LC6500 series disassembler Dirk Best2026-01-091-0/+2
|
* unidasm: Allow "0" to be specified as a parameter for numeric options AJR2026-01-031-1/+1
|
* imgtool: Retired the get_chain method. This is no longer implemented by any ↵ AJR2025-12-293-105/+0
| | | | supported filesystem, and no command made any use of the information it provided. (floptool's flopblocks command is functionally comparable.)
* srcclean in preparation for release. Vas Crabb2025-12-281-1/+1
|
* imgtool.cpp: Fix error of assigning nullptr to variable of type std::string AJR2025-12-131-1/+1
|
* floptool: Add flopblocks and hdblocks commands to enumerate blocks used by ↵ AJR2025-12-121-0/+182
| | | | every file or directory on the specified volume
* floptool: Command interface improvements AJR2025-11-271-52/+271
| | | | | | - Eliminate voluminous info dump on formats and filesystems when invoked with no arguments - Show only usage info for relevant command when parameters are invalid - Add help command to print information about any or all commands, formats and filesystems
* new cpu core (start of disassembler): dsp563xx Olivier Galibert2025-10-261-0/+2
|
* evo_cpu -> sonix16: Identify manufacturer of processor used in evolhh (and ↵ AJR2025-10-241-2/+2
| | | | other systems) and greatly improve its disassembler
* floptool: Add floprename and flopremove commands AJR2025-10-191-1/+110
|
* floptool: New filesystem-based commands [AJR] AJR2025-10-171-20/+274
| | | | | - Add flophashes and hdhashes commands to compute CRC-32 and SHA-1 hashes for each file on a floppy or hard disk image. - Add flopchmeta command to change the metadata for a file, directory or volume on a floppy image.
* tms7000: Clean up code in disassembler AJR2025-10-101-1/+1
|
* image_handler.cpp: Fix error return for floppy_create AJR2025-10-081-2/+2
|
* floptool.cpp, image_handler.cpp: Add rudimentary error checking to ↵ AJR2025-10-083-5/+20
| | | | floppy_create; allow mount to return nullptr on failure
* imgtool/modules/fat.cpp: Fix build AJR2025-09-081-1/+1
|
* Basic fix for pc_chd support in imgtool (#14148) Michael Karcher2025-09-082-1/+2
| | | | | | | | | | | * imgtool: Take ownership of stream in pc_chd_image_open `imgtool::image::internal_open` passes an rvalue reference to the stream to the `open` function of the image format module. It expects the `open` function to take ownership if it keeps a reference to the stream. If `open` does not do so, the `stream` is going to be destroyed at the end of `internal_open`. `pc_chd_image_open` fails to take ownership, yet it persists a reference to the stream as part of `info->hard_disk`. This causes an use-after-free condition * imgtool: Correct determination of total sectors of a FAT volume The number of total sectors of a FAT volume is stored either in the 16-bit word at offset 19 or, if that word is zero, in the 32-bit word at offset 32 instead. The 32-bit word is not a high word to build a 48-bit value in conjunction with the 16-bit word at offset 19, but it supersedes it.
* chdman: Request write permission when opening file for verify --fix; allow ↵ lucinda lovebuny2025-08-031-8/+32
| | | | SHA1 fixes for CHDs otherwise treated as not writeable (#14019)
* dspp: Add a real disassembler AJR2025-05-071-0/+2
|
* cpu/e132xs: Made debugging Hyperstone E1 software less painful. Vas Crabb2025-03-261-3/+1
| | | | | * Fixed local register display in debugger (this never worked). * Made disassembler show local register indices.
* unidasm: Add Panasonic MN10300 disassembler AJR2025-03-221-0/+2
|
* Add disassembler for CDC 160(-A) architecture AJR2025-03-071-0/+3
|
* formats/fsblk.cpp: Replaced fs::err_t enum with a standard error condition ↵ ajrhacker2025-02-221-9/+6
| | | | | category. (#13128) Also replace "invalid" error with more specific values.
* m6502: rename m65c02 to w65c02 as well hap2024-12-141-2/+2
|
* kangaroo: hook up protection mcu, hap2024-12-031-1/+1
| | | | mb88xx: increment timer when taking irq cycles
* new machines marked as NOT WORKING - Cassette Vision (#11927) mamehaze2024-11-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * abandoned cassette vison work * remove comment now that the useful table is gone * force github to rebuild because github is being github * add a note based on earlier research * bring this part over from the previous tree too, it seems worth having still * actually use this version instead, I thought it was broken, but it actually has advantages * I've been informed this will be merged if I assign a copyright holder, so as I don't really recognize it as my own design anymore, I'm assigning Vas. * Update cpu.lua * Start cleaning up: * cassvisn_cart.xml: Fixed program region width. * cassvisn_cart.xml: Added Japanese titles and proper markup for release dates. * epoch/cassvisn.cpp: Removed unnecessary byte swapping when loading software list items. * cpu/upd777.cpp: Made order of declarations and definitions more consistent with each other, added more inline and const hints. * tools/unidasm.cpp: Make data source big Endian to match CPU core. * epoch/cassvisn.cpp: Digit grouping for big numbers, better error messages. --------- Co-authored-by: David Haywood <hazemamewip@hotmail.com> Co-authored-by: Vas Crabb <vas@vastheman.com>
* -tools/imgtool/modules: Fixed remaining calss memory access warnings. Vas Crabb2024-11-262-71/+73
| | | | | | | | -tools/imgtool/modules/vzdos.cpp: Fixed function returning floperr_t value as imgtoolerr_t. -devices: Fixed a bunch more #include guards that don't match file paths.
* romcmp: Print error message when decompression fails AJR2024-11-231-0/+3
|
* -util/cdrom.cpp: Fixed issues with CUE, TOC and GDI parsers. (#12948) 9871238791132024-11-091-0/+45
| | | | | | | * Rewrote GDI parser to be more robust and identify more kinds of invalid input. * Don't ignore the last line in CUE and TOC files if there is no terminating newline. * Use osd_printf_ family functions for output. -tools/chdman.cpp: Added a sink for osd_printf_ family function output.
* Fixed several things using memset on non-trivial objects. Vas Crabb2024-10-2815-513/+502
| | | | In particular, this fixes a delegate getting nuked in cpu/powerpc.
* util/chd.cpp, util/chdcodec.cpp: Added a safer way to let codecs do special ↵ Vas Crabb2024-10-143-3/+3
| | | | stuff with hunks.
* tools/chdman.cpp: Throw errors when examining metadata to determine ↵ AJR2024-10-121-14/+41
| | | | compression defaults
* chd.cpp: More API changes AJR2024-10-111-3/+3
| | | | | | | | | - Have metadata_find return std::error_condition instead of throwing an exception - Replace the is_XXX predicates with check_is_XXX methods that return a std::error_condition, enabling improved error reporting for cdrom_image_device - Retain read error information in chd_file_compressor - Make a bunch of methods noexcept This mostly restores the changes from cc772072fa635146b1df39a5694d2a8f8aa5a34f.
* util/chd.cpp, util/chdcodec.cpp: Made some APIs return errors rather than ↵ Vas Crabb2024-10-111-3/+8
| | | | | | throwing exceptions. [AJR] Mostly salvaged from 901a68e2e0bb0d9178ffdb59e128718c1495250f.
* ussr/pk32.cpp: Electronika PK-32 - not working (#12732) holub2024-09-191-0/+2
| | | mpl1839/kl1839vm1.cpp: MPL's l1839vm1 cpu device
* hmcs400: add disassembler hap2024-09-161-0/+2
|
* cpu/xa: New Philips XA disassembler (#12504) mamehaze2024-06-291-0/+2
| | | | | | | * show size types on these for consistency with IDA output (manual indicates they're usually optional, but does show this syntax in places) * use the real CPU type (with internal map for internal ROM space) rather than 'XA' directly. --------- Co-authored-by: David Haywood <hazemamewip@hotmail.com>
* unidasm: Add disassembler for Oki nX-8/500S architecture AJR2024-06-191-0/+2
|