summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Fix up various things: Vas Crabb2025-08-013-8/+6
| | | | | | | * kim1_cass.xml: Hopefully fix checked-in DOS line endings. * cpu/m68000/m68010.cpp: Use constructor delegation. * debugger/debugwin.cpp: Don't repeatedly get the focussed window in a loop.
* Windows: Do not drop into debugger when no MAME window has focus (#13902) npwoods2025-07-123-7/+20
| | | | | | | On Windows, the debugger has a special Windows-specific feature that drops the user into the debugger if the key sequence is pressed. This seems to be present so that the key sequence triggers dropping into the debugger not just from the main window, but also from debugger windows. This has also created an oddity where pressing the debugger key sequence from a MAME window will cause a "User-initiated break" but pressing it from a debugger window will cause "Internal breakpoint" to be displayed. However, while this logic has a check to not apply when to a MAME window, it seems to also activate even if MAME itself is not in focus. This change ensures that a stray debugger sequence in a completely unrelated application won't cause the user to be dropped in the debugger.
* debugger/qt/debuggerview.cpp: Used DCA_SELECTED color friendly for ↵ holub2025-07-041-1/+1
| | | | Light/Dark theme (#13909)
* Clean up various stuff. Vas Crabb2025-07-0111-63/+65
| | | | | | | | | | | | | | | | | | | | | | | | docs: Explicitly state that installing a read/write tap returns the pass-through handler. cpu/mb86235: Using lowercas integer literal suffixes hurts readability, especially when it's 1ll (compare to 1LL, especially in a Courier-like font). video/ppu2c0x_vt.cpp: Look for the patterns. mame.lst: Expunge comments that started creeping back in. taito/taitotz.cpp: Use versions as printed on Taito's hard disk labels in descriptions. debug/win: Requiring every debugger window class to care about the console window's views is bad design. That's a clear case of unnecessary coupling. posix/posixptty.cpp: Testing for glibc does not guarantee pty.h is available. It's possible to build glibc for targets where its PTY wrapper functions are not implemented.
* qt/debuggerview.cpp: QPalette:Accent doesn't exist in Qt5 angelosa2025-05-151-1/+7
|
* qt/debuggerview.cpp: style over system colors angelosa2025-05-151-10/+13
|
* Cocoa debugger: debug view scroll workarounds (#13673) Antonio Malara2025-05-141-16/+24
| | | * debugger-osx: workaround to fix bottom scrolling and scrollbars the first time the debug window overflows
* debugger cleanup: use enums for m_views indices (#13687) dave-br2025-05-108-47/+75
| | | | | | | For the wininfos that participate as individual panes in the main console window, their viewinfos are referenced via the m_views[] array with hard-coded indices of 0, 1, and 2. - Define & use enums for those indices (VIEW_IDX_DISASM, VIEW_IDX_STATE, VIEW_IDX_CONSOLE) - Change MAX_VIEWS from a hard-coded constant of 4 to the last enum in that list, which changes it to 3. (I don't think it should have been 4 in the first place.) - wininfos that NEVER appear as panes in the main console window (e.g., logwin_info, pointswin_info, etc.) continue to use m_views[0]
* debugimgui.cpp: Fix obsolete callback; simplify modifier key reading AJR2025-04-201-16/+6
|
* debugger/qt: Fix Qt6 deprecation warning (see GitHub #13207). Vas Crabb2025-04-011-2/+7
|
* -cpu/e132xs.cpp: Improved exception emulation: Vas Crabb2025-04-016-6/+120
| | | | | | | | | | * Fixed behaviour of exceptions in delay slots, and fixed recompiler not updating ILC and P for some exceptions. * Implemented privilege error exception on setting L in user mode for interpreter. -emu/debug, osd/modules/debugger: Added an option to show exceptionpoints in breakpoints windows.
* debugger/debugwin.cpp: Fixed clang build. Vas Crabb2025-03-021-2/+2
|
* debugger/win: Added option to disable window grouping. Vas Crabb2025-03-027-2/+24
| | | | | Option is in debugger console window Settings menu. Changes apply on hard reset or restarting MAME. Setting is saved to default.cfg.
* Added support for multiple features in the gdb stub, and added support for ↵ smf-2025-02-131-371/+546
| | | | PlayStation CPUs [smf]
* m6502: rename m65c02 to w65c02 as well hap2024-12-141-1/+1
|
* debugger/osx: Don't use uninitialised NSRect when creating pop-up button. Vas Crabb2024-11-191-3/+1
| | | | | | | | | | | | The initial size doesn't really matter because the pop-up button is resized before being added to the container that holds it and the expression field. The disassembly viewer apparently wasn't updated properly like the memory viewer when the auto-sizing code was refactored. Hopefully this will fix the debugger crashing when restoring window positions from configuration (although I would have thought this would cause crashes in more situations if it was the cause of that).
* Added gdbstub support for MC68030 (#12906) kms12122024-10-251-0/+28
|
* emu/debug, osd/modules/debugger/qt: Clean up #includes a bit AJR2024-09-307-9/+4
|
* Cleaned up the mess from #12610: Vas Crabb2024-08-271-6/+6
| | | | | | | * Command line options need to be documented. * Don't assume C strings returned as option values remain valid indefinitely. * Fixed wording for option description.
* emu/debug/dvdisasm.cpp: Fixed bad display if view is scrolled horizontally. ↵ dave-br2024-08-241-2/+1
| | | | | (#12679) debugger/win/debugwininfo.cpp: Don't restrict maximum window sizes.
* gdbstub: add -debugger_host option (#12610) Ramiro Polla2024-08-081-3/+6
| | | | * This allows setting the host to 0.0.0.0 to accept connections from outside of localhost.
* -debugger/debugqt.cpp: Don't sleep waiting for events on debugger update. Vas Crabb2024-08-031-1/+1
| | | | | | -metro/metro.cpp: Fixed build, simplified DIP switch matrix. -sanyo/phc25.cpp: Conventional header #include order.
* -debugger/qt: Fixed crash on hard reset. Vas Crabb2024-07-312-2/+4
| | | | -ui/selmenu.cpp: Dismiss error messages on pressing left or right.
* New WORKING - sinclair/specnext.cpp: ZX Spectrum Next (known as tbblue) (#11918) holub2024-06-121-0/+1
| | | | | | | New Working Machines ----------------------- ZX Spectrum Next: TBBlue [holub]
* -heathzenith: Removed trivia file - content should be on wiki, etc. Vas Crabb2024-05-291-4/+4
| | | | -Fixed various warnings.
* -merit/mtouchxl.cpp: Added touch-enabled layout. Vas Crabb2024-05-091-1/+1
| | | | | | -ui/tapectrl.cpp: Ensure device monitored for media change is up-to-date. -osd/windows: Changed a pointer to a const reference in an API.
* debugger/debugimgui.cpp: Refuse to break if unable to take over UI input. Vas Crabb2024-04-121-8/+12
|
* Initial touch input support: Vas Crabb2024-04-121-96/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL. * Started migrating UI code to use new API and reworking mouse/touch interaction. * emu/render.cpp: Support pressing multiple clickable layout items simultaneously. * emu/render.cpp: Allow UI elements to be drawn in any window. * emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input. * ui/ui.cpp: Allow the UI handler to control pointer display. * ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list. * ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust. * ui/menu.cpp: Draw after processing input - greatly improves responsiveness. * ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions. * ui/selmenu.cpp: Made left/right info pane arrows repeat when held. * ui/selmenu.cpp: Use middle click to move keyboard focus. * ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding. * ui/selmenu.cpp: Improved divider sizing. * ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu. * ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing. * ui/simpleselgame.cpp: Allow tap/click to dismiss error message. * ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing. * modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput. * modules/input/input_rawinput.cpp: Added support for horizontal scroll axis. * modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun. * modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus. * osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events. * osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible. * scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
* Drop support for GCC < 10.3, clang 6, SDL < 2.0.14 and Qt 5.10. Vas Crabb2024-03-282-8/+0
|
* -debugger/debuggdbstub.cpp: Don't write data to socket in text mode. Vas Crabb2024-03-251-24/+20
| | | | -mr/dribling.cpp, heathkit/h17_fdc.cpp: Tidy up a little.
* gdbstub: fix checksum on Windows (#12067) BartmanAbyss2024-02-271-4/+7
| | | gdbstub: fix m68000 register names
* debugimgui: fix lockup and debug assert Barry Rodewald2024-02-091-6/+10
|
* debugger/debuggdbstub.cpp: Added aliases for some MOS 6502-compatible CPUs. ↵ John Byrd2024-01-211-0/+5
| | | | | (#11953) Allows m6507, m6510, m65c02, m65ce02 and w65c02s to be debugged with GDB stub.
* Remove flopimg.h and fsmgr.h from floppy device header AJR2023-09-241-0/+2
|
* Allow the use of either Qt5 or Qt6 on Linux (#11413) Jindřich Makovička2023-07-144-2/+20
| | | | | | * Look for MOC in QT_HOME/libexec if not found in QT_HOME/bin * Use the Qt6* libraries if the Qt version is >= 6 * Switch the include paths for QAction & QActionGroup for Qt >= 6 * Replace the deprecated + operator for keys with |
* Miscellaneous cleanup Vas Crabb2023-06-247-67/+56
|
* osd/modules: Cleaned up most macOS deprecation warnings up to and including ↵ arbee2023-06-1011-68/+101
| | | | | | | | | 10.13. [R. Belmont] * This raises the hard minimum macOS and SDK versions to 10.13. * In practice, the minimum since 0.252 has been macOS 11 Big Sur. * 10.13/10.14/10.15 can be built and run with this unsupported patch: https://gist.github.com/rb6502/8a1736ee3775f998e8e71faa47ae4b59 The patch works for me, but no guarantees are offered and it may break at any time.
* sinclair/sprinter.cpp: Added Sprinter Sp2000 enhanced Spectrum clone. (#11018) holub2023-05-121-0/+1
| | | | | | | cpu/z80: Added support for variants with address translation and implemented Z84C015 chip selects. New working clones ------------------- Peters Plus, Ivan Mak Sprinter Sp2000
* Miscellaneous improvements: Vas Crabb2023-04-141-4/+8
| | | | | | | | | | | | | | infoxml.cpp: Thread device processing. Gives about a 10% speed improvement overall, and avoids the need to mess with the locale of the ultimate output stream. debugger/win/consolewininfo.cpp: Show image mount/create error messages on the console. emu/devdelegate.h, util/delegate.h: Added deduction guides for common delegate creation patterns (only used in sega/segas16a.cpp so far). More noexcept on things that have no business throwing exceptions.
* osd/windows: Create single-threaded COM apartment on main thread. Vas Crabb2023-04-081-3/+3
|
* Restored ability of for image devices to report specific error messages. Vas Crabb2023-04-082-5/+5
| | | | | | | | | | | | | | Restores ability to give specific/detailed messages removed in 6f7e4141ea14acaaf9cb973c66788fabb3457023 while pandering to obsession with single return value. Moved responsibility for displaying the error message in the UI to the caller rather than device_image_interface, and made device_image_interface always log the error along with the full path and error condition content. Gave several image devices more detailed error messages. Added some FIXME comments for apparent bugs.
* API change for device_image_interface AJR2023-03-302-5/+6
| | | | | | | | | - 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.
* windows: blind fix for the debugger Olivier Galibert2023-03-181-10/+11
|
* dimemory: Add the target address space to translate, wrap the constants Olivier Galibert2023-03-182-16/+21
| | | | divtlb: Wrap the constants
* Update accumulating relative inputs exactly once per frame. Vas Crabb2023-02-241-1/+1
| | | | | | | | | | | | | This fixes "amplification" effects that would happen if the frame rate rose above 100 Hz (whether by unthrottling or otherwise). Synchronise with wall clock any time inputs are read. Not doing this has weird effects on relative inputs with frame skipping and contributes to unresponsiveness of menus. Reduce visual latency for mouse movement on menus when paused or skipping frames. The rest of the code changes to menus won't provide benefits until draw can happen after event handling.
* osd: Don't pump events when reading inputs. Vas Crabb2023-02-231-1/+1
| | | | | | This was a drain on performance. If anything is trying to poll inputs in a loop, it needs to call input_update() to ensure it gets up-to-date state.
* srcclean and bump copyright date on language files to 2023 Vas Crabb2023-02-191-1/+1
|
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-012-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ignore the return status of OSD module initialisation. Attempt to fall back to an alternate module if the selected module fails to initialise. Log more useful diagnostic information at verbose level. Fixed BGFX crash on exit after toggling fullscreen. Also persist more settings than just the selected chains across toggling fullscreen. Turned video modules into OSD modules in the same sense as all the other OSD modules. They now use the same selection/fallback mechanism as all the other modules without special extra code in the OSD implementations. Untangled some object ownership mess. Windows own renderers, OSD objects own windows. Fixed a refrence loop that caused the first window object to always leak. Don't create renderer object until after underlying window has been created. Fixed issues with order of creation/destruction when toggling fullscreen or changing prescale in fullscreen with -switchres in SDL builds. Use more smart pointers in BGFX and Direct3D render modules. Most of the code now reutrns a smart pointer when handing over ownership or a naked pointer when retaining ownership. Fixed a few leaks and simplified cleanup code. Encapsulated various OSD modules better.
* Various input and OSD refactoring: Vas Crabb2023-01-297-96/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* -debugger/win: Cascade positions of new debugger windows. Vas Crabb2023-01-157-19/+93
| | | | | -osd: Better button names for NVIDIA Shield and Xbox One controllers with SDL game controller module.