summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger
Commit message (Collapse)AuthorAgeFilesLines
* MACOS_X_VERSION_10_15 is not defined on really SDKs. (#10388) ksherlock2022-10-031-1/+1
|
* debugview.mm: Raise requirement for Dark Mode to 10.15. [R. Belmont, kmg] arbee2022-09-231-2/+2
|
* debuggdbstub.cpp: Use swapendian_int* AJR2022-09-221-22/+6
|
* osd/modules/debugger/debugqt.cpp: Don't try closing windows if debugger ↵ Vas Crabb2022-09-211-3/+5
| | | | console wasn't created.
* fixed building with clang 15.0.0 on windows smf-2022-09-201-1/+1
|
* Renamed n2a03 to rp2a03 throughout source tree. (#10343) 0kmg2022-09-201-1/+1
|
* Debugger updates: Vas Crabb2022-09-2052-472/+584
| | | | | | | | | | | | | | | | | | | | | | | Made closing the Qt debugger console window hide all debugger windows and run the emulated machine (debugger windows will be shown on next user break or breakpoint hit). This matches the behaviour of the Win32 and Cocoa debuggers. Made Qt debugger clean up its windows on exit rather than on subsequent starts. This fixes GitHub #9789. Made Qt debugger less reliant on global variables, and made code to save and load configuration a bit less convoluted. It still needs more refactoring on this front, but it's in slightly better shape now. Made Qt debugger a bit less crashy on invalid configuration. Still plenty of ways to crash it, but every little bit counts. Made Qt debugger do less comparisons on menu item names and object names - it might be possible to localise one day. Moved all the C++ debugger implementations into namespaces. They're using awfully generic class names, so it's about time.
* debugview.mm: full dark mode support for macOS 10.14 and later [R. Belmont] arbee2022-09-171-0/+21
|
* Added a crude dark theme for the Win32 debugger. Vas Crabb2022-09-1730-393/+509
| | | | | | Also made a start on weaning the Qt debugger off its weird configuation objects. It can now save more view state with less string comparisons on memory labels, but it can't restore all of it yet.
* debugger/win: Added capability to save/restore window arrangement. Vas Crabb2022-09-1649-209/+825
| | | | | | | | | * Format is mostly compatible with the Cocoa debugger, besides reversed vertical positioning. * Made Qt debugger more compatible with configuration format used by Win32 and Cocoa debuggers. * emu/config.cpp: Preserve elements with no registered handlers in default and system configuation files.
* fixes for clang 15.0 on windows [smf] smf-2022-09-151-4/+0
|
* Debugger changes AJR2022-08-284-6/+6
| | | | | | | - 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.
* debuggdbstub.cpp: implement thread alive command. Sandro Ronco2022-08-211-0/+13
|
* debugger/debuggdbstub.cpp: Fixed failure to find CPU. Vas Crabb2022-08-211-1/+1
|
* ui/icorender.cpp: Revert initialisations that can hide real bugs. Vas Crabb2022-08-031-10/+2
| | | | | | | | | | | | | | | | | | MSVC isn't smart enough to detect that these can only be used after being assigned while clang and GCC can work it out fine. Initialising them to zero at declaration has the potential to mask real bugs if some code path tries to use them without assigning them. Code flow analysis (e.g. Coverity) or memory analysers (e.g. valgrind or Purify) won't pick up on the buggy path because the variable will technically be initialised. MSVC is problematic when it comes to warnings about uninitialised variables in general. Unfortunately MSVC has no option to selectively treat warnings as errors, unlike clang/GCC which have -Wno-error= which we use extensively. Until Microsoft addresses these issues, you'll have to use NOWERROR=1 when building with MSVC. Also, some cleanup.
* Changed gdbstub to no longer expect a CPU named ':maincpu' (#10170) npwoods2022-08-021-1/+13
| | | The logic was changed to find the first CPU, without any particular expectation about naming. This should address issue #10141
* return proper enumeration value Miodrag Milanovic2022-06-131-1/+1
|
* osd: Cleaned up Windows API usage a little. Vas Crabb2022-05-262-241/+218
| | | | | | | | | * Bumped target windows version to 6.0.0 (Vista). * Use WRL COM pointers to manage some COM-like objects. * Cleaned up logging in DirectSound module. * Cleaned up includes in Windows input modules. * Switched to Common Item Dialogs in Windows debugger. * Replaced disabled code that never really worked with a TODO comment.
* floppy: remove the intermediate allocator Olivier Galibert2022-03-301-2/+2
|
* Better fix for Mac compile. [R. Belmont] arbee2022-03-161-1/+1
|
* Fix Mac compile. [R. Belmont] arbee2022-03-151-1/+1
|
* Fixed some debugger memory view annoyances and cleaned up Lua bindings. Vas Crabb2022-03-161-1/+1
| | | | | | | | | | | | Made the debugger memory view not depend on isprint which is affected by the global locale. Assume the OSD will display as ISO-8869-1 and replace problematic printable characters. Started changing Lua function bindings to use set_function to avoid potential issues related to ThePhD/sol2#608, and worked out what was causing problems with symbol table read_memory/write_memory. (They aren't really essential - you can do the same thing with the address space object itself, but they're easier to parameterise.)
* Delete some unnecessary c_str() calls AJR2022-02-131-3/+3
|
* Remove fileio.h from emu.h AJR2022-02-111-0/+1
|
* osd/modules/debugger/win/consolewininfo.cpp: fixed build on Windows, AJR ↵ Ivan Vangelista2022-01-071-1/+3
| | | | please check
* device_image_interface: Interface overhaul AJR2022-01-061-3/+4
| | | | | | | | | | | | | - Remove the iodevice_t classification, which was not used that much and was incomplete anyway. Image device implementations must now provide their own instance names and brief instance names. Several new parent classes have been created to make it easier to use the old standard names. - Change must_be_loaded from a pure virtual function to be overridden in implementations to a getter for a base class property that can be set on the host side (as was formerly made possible for NES, MD and "generic" cartridge slots) but defaults to false for all types. This restrictive property has been unset for a small number of cases. - Create parent classes for paper tape and magnetic tape devices. At present these are dummy classes that do little to nothing, but may help unify implementations in the future. - Change several member functions to take std::string_view parameters rather than const std::string & or const char *. - Make update_names take into account brief names, as discussed in PR #2555. - Remove the obsolete uses_file_extension function (which used thread-unsafe strtok). * portfolio_ccm_slot: Change image type from "cartridge" to "memcard" * i7220, datapack: Add custom instance names that weren't there before * pc11: Add note
* debugimgui: Fix menus losing focus, add octal display and octal/decimal ↵ Barry Rodewald2021-11-191-12/+46
| | | | address select.
* -frontend: Refactored menu event handling and fixed a number of issues. (#8777) Vas Crabb2021-10-318-122/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class. * Added previous/next group navigation for general inputs and plugin input selection menus. * Moved message catalog logic to lib/util, allowing osd and emu to use localised messages. * Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex. * Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown. * Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus. * Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues). * Fixed indication of mounted slot option in the slot option details menu. * Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer. * Fixed locale issues in -listxml. -debugger: Made GUI debuggers more uniform. * Added new memory view features to Win32 debugger. * Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option. * Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format). * Made keyboard shortcuts slightly more consistent across debuggers. -plugins: Moved input selection menu and sequence polling code to a common library. Fixed the issue that prevented keyboard inputs being mapped with -steadykey on. -docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends. -Regenerated message catalog sources. For translators, the new strings are mostly: * The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu. * The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants. * The input macro plugin UI. * A few format strings for analog input assignments. * A few strings for the about box header.
* debugger: support octal on the Mac native debugger [R. Belmont] arbee2021-10-271-4/+65
|
* debugger/qt/memorywindow.cpp: Remove leftover printf AJR2021-10-271-2/+0
|
* Debug memory view improvements AJR2021-10-272-16/+113
| | | | | | | | - Add options for 1-byte, 2-byte, 4-byte and 8-byte octal data display, which are selected automatically for memory spaces configured as octal. Octal data has also been made editable. - Add options for displaying addresses in decimal or octal as alternatives to the typical hexadecimal format. This also affects the address expression box. - Prevent the cursor from moving left from the first address or right from the maximum address. Note that the new options have only been hooked up for the Qt debugger. The Windows and OS X debuggers should also be updated to include them.
* srcclean in preparation for branching 0.237 release Vas Crabb2021-10-241-2/+2
|
* Still more user experience improvements: Vas Crabb2021-10-186-11/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the default mapping for UI select to not trigger on Alt+Enter fullscreen toggle. (Fullscreen toggle still doesn't work in menus - actually fixing that is complicated.) frontend: Made the about box wrap text properly, made the title and backtrack menu item always visible, and added a footer with the VCS revision. frontend: Don't highlight the favourites and info toolbar buttons if there's no selection (can happen if filters produce no results). Also made the info viewer appear even if no info is available - it's less confusing to see an empty menu than wonder why clicking the button does nothing. debugger: Added a register points view to the GUI debuggers, to go with the breakpoints and watchpoints views. debugger: Extended [brw]p(clear|(en|dis)able) commands to accept multiple arguments to perform the same action on multiple (break|watch|register)points at once. Also made rplist accept a CPU for showing a single CPU's register points ([bw]plist already support this). docs: Updated registerpoints debugger commands page, and updated other pages for latest extensions to syntax.
* Fix multiple issues with debug memory tracking AJR2021-10-042-4/+10
| | | | | | - Track write accesses rather than read accesses - Actually install the taps when the trackmem command is executed - Correct cell addresses for address-shifted spaces in Qt and Windows memory viewers
* Fixed some software list issues: Vas Crabb2021-09-281-1/+1
| | | | | | | | apxen_flop.xml: Marked diag bad and unsupported as the disk image is missing protection data. pc8001mk2_flop.xml, pc8801_flop.xml: Removed some entries that were inadvertently duplicated.
* debugger/qt, debugger/win: Fixed suppressing trailing whitespace in copied ↵ Vas Crabb2021-09-272-4/+4
| | | | text on completely blank lnes (most noticeable for the console view).
* srcclean in preparation for MAME 0.235, and two small adjustments. Vas Crabb2021-09-261-1/+1
| | | | | | | * Reduce repeated directory walking in cleansrc target (substantially improves speed of building the target on Windows). * Disable a validity check using an MSVC language extension when using clang in MSVC ABI mode.
* -ui: Made zoom controls a bit more intuitive. Vas Crabb2021-09-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The UI controls are described as zoom in/out, but they had the opposite effect on the palette and tile viewers. That has been changed to make them consistent with the tilemap viewer. * Made the default zoom key not act as a toggle. People are familiar with the function of Ctrl+0/=/- in web browsers, so making them behave similarly in MAME should make it more approachable. Also added the default zoom key to the relevant documentation page. * Implemented the default zoom key for the palette and tile viewers. * In the tilemap viewer, if the view is in default expand to fit mode, zoom in/out starting from the actual zoom ratio. Once again, this behaves more like the zoom controls in a web browser displaying an image so it should be more intuitive. * Made more messages from the tilemap viewer localisable. -util/zippath.cpp: Fixed MT08074. * There were multiple issues at play here. After #8443 was applied, is_root was simply never returning true on Windows, as OSD_WINDOWS isn't actually defined outside libosd and libocore. This caused phantom parent items to appear in disk roots on Windows, but it meant that the check in zippath_resolve would always fail so the trailing backslash would be trimmed. Fixing the macro test in is_root meant the trailing backslash from C:\ would no longer be trimmed, which caused the stat in zippath_resolve to fail. -bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost. -Reduced tag map lookups in several drivers and devices. -util/coretmpl.h: Removed an overload of bitswap that can be avoided using if constexpr. -Added doxygen comments to some classes, and fixed several doxygen warnings. -util, osd: Test for _WIN32 rather than WIN32. * In C++17 mode, WIN32 is no longer a predefined macro, although various things in 3rdparty define it to maintain legacy support. We're better off moving forward anyway for when WIN32 disappears entirely. (WIN32 is not a reserved name, while _WIN32 is, starting with an underscore follwed by an uppercase letter.)
* debugger/debuggdbstub.cpp: Initialise m_readbuf_state on construction. (#8498) Alex Siryi2021-08-291-0/+1
|
* formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-222-6/+6
| | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* srcclean for upcoming release Vas Crabb2021-08-221-2/+2
|
* debugger/win/memorywininfo.cpp: Fix build AJR2021-08-161-7/+7
|
* dvmemory: Substitute strongly typed enum for magic numbers specifying data ↵ AJR2021-08-166-66/+82
| | | | format
* Debugger-related feature removals and cleanup AJR2021-08-151-1/+2
| | | | | | | | - Remove the hotspot read tracker. This was never robustly implemented, but changes to the memory system made it much less useful, and the "speedup opportunities" which it aimed to determine are not very important from a current emulation standpoint. - Remove the CURSP/GENSP state symbol and the generic sp() getter. Stacking semantics vary too much between CPU architectures for this to be of much use. (A "SP" symbol has been added to a few CPU cores whose stack pointers were otherwise not being registered.) - Remove the cached pointer to device_state_interface and the state() fast accessor from device_t. Most users of device_state_interface either already had a pointer to the specific CPU device type or needed to check first for the presence of the interface. - Change the PC memory write tracker to use pcbase(), which works even when the instruction callback is masked out, instead of peeking at the PC history index. - Remove some obsolete watchpoint-related definitions from machine.h.
* Update debugimgui to compile with latest imgui MooglyGuy2021-08-101-2/+7
|
* debugimgui: fix mount and create image dialogs. Barry Rodewald2021-07-251-5/+13
|
* API cleanups and miscellaneous fixes. Vas Crabb2021-07-152-18/+14
| | | | | | | | | | | | | | | | emu/ioport.cpp: Allow controller files to override input sequences for inputs that don't use defaults, and to override the toggle setting for digital inputs. emu/config.cpp: Expose configuration level (mostly matters for controller files), improved verbose diagnostic messages, and moved a few things out of the global and preprocessor namespaces. docs: Added documentation for some controller configuration file features. The device mapping feature documentation will be merged in at some point. util/unicode.cpp, emu/input.cpp: API cleanups.
* floppy: Change the formats from an intrusive list to a vector Olivier Galibert2021-05-271-2/+1
|
* Fix crashes in Qt debugger caused by trying to select a nonexistent ↵ AJR2021-05-112-16/+22
| | | | disassembly or memory view
* -cpu/score: Added bittgl! opcode. Sandro Ronco2021-04-241-0/+67
| | | | -debuggdbstub.cpp: add score7 registers map.