summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger/osx
Commit message (Collapse)AuthorAgeFilesLines
* debugger/win, debugger/osx: Check that you have a memory interface before ↵ Vas Crabb2026-01-305-11/+23
| | | | trying to use it (MT09377).
* lisa: Massive updates Olivier Galibert2026-01-074-6/+12
| | | | | | | | core: Better support for external mmus Note: I didn't expect to push that one right now, it's missing documentation among other things, but since some people seems to be interested to work on that driver I don't want to hold them.
* Clean up various stuff. Vas Crabb2025-07-011-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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
* -cpu/e132xs.cpp: Improved exception emulation: Vas Crabb2025-04-013-6/+84
| | | | | | | | | | * 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/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).
* -heathzenith: Removed trivia file - content should be on wiki, etc. Vas Crabb2024-05-291-4/+4
| | | | -Fixed various warnings.
* Miscellaneous cleanup Vas Crabb2023-06-247-67/+56
|
* osd/modules: Cleaned up most macOS deprecation warnings up to and including ↵ arbee2023-06-1010-65/+98
| | | | | | | | | 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.
* debugger: Hopefully fix undefined names in Cocoa debugger. Vas Crabb2022-12-022-2/+6
|
* -debugger: Improved session save/restore. Vas Crabb2022-12-025-4/+41
| | | | | | | | | | | | * Qt: Save expression for memory and disassembly views. * Qt: Made command history behave more like Cocoa. * Qt: Added expression history and made behaviour more like Cocoa. * Qt: Refactored global notifications to use signals. * Win32: Increased command/expression history size to 100 items. * Cocoa: Save state of device info viewer windows. * Qt/Win32/Cocoa: Save command/expression history. -util/xmlfile.cpp: Fixed bug where copyInto failed to copy nodes.
* 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
|
* debugview.mm: full dark mode support for macOS 10.14 and later [R. Belmont] arbee2022-09-171-0/+21
|
* debugger/win: Added capability to save/restore window arrangement. Vas Crabb2022-09-1613-103/+73
| | | | | | | | | * 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.
* Debugger changes AJR2022-08-281-1/+1
| | | | | | | - 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.
* 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.)
* -frontend: Refactored menu event handling and fixed a number of issues. (#8777) Vas Crabb2021-10-312-59/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
|
* srcclean in preparation for branching 0.237 release Vas Crabb2021-10-241-2/+2
|
* Still more user experience improvements: Vas Crabb2021-10-183-6/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* dvmemory: Substitute strongly typed enum for magic numbers specifying data ↵ AJR2021-08-161-23/+40
| | | | format
* -util/xmlfile: Escape attribute and element content. Vas Crabb2020-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | The previous behaviour was unintuitive - parsing an XML file and writing it out immediately would produce invalid XML if the file contained any characters that needed escaping. It makes far more sense to escape on writing rather than expecting the user to escape input. -Add preliminary support for visibility toggles to artwork system. This allows the user to show/hide related elements in a view, with nesting. The view can specify whether elements are shown or hidden by default. Settings are saved per host window/screen per view. There is no way to set the initial visibility state on the command line. Legacy "Space Invaders cabinet model" layers are mapped onto visibility toggles. This is not stable yet. In particular, the XML element/attribute names have not been finalised. The new features have not been added to complay.py to prevent them from being used before they're finalised.
* Debugger expression and memory access overhaul AJR2020-05-257-30/+33
| | | | | | | | | | | | | - Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead. - The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails. Related internal changes (nw) - The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes. - The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it. - The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file. - The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup. - The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead. - Many minor bits of code have been simplified.
* OS X debugger: Avoid crashing when a nonexistent disassembly or memory view ↵ AJR2020-04-202-9/+18
| | | | is selected (which may happen automatically with .cfg files)
* use C++ library includes (nw) firewave2020-01-221-1/+1
|
* mac: fix copy/paste error, get rid of allocWithZone as it's ignored on ↵ Vas Crabb2019-11-183-6/+6
| | | | 64-bit ABI (nw)
* missed a couple of Mac debugger things (nw) Vas Crabb2019-11-182-28/+24
|
* misc cleanup: Vas Crabb2019-11-183-11/+11
| | | | | | | * Got rid of some more simple_list in core debugger code * Fixed a buffer overrun in wavwrite (buffer half requried size) * Slightly reduced dependencies and overhead in wavwrite * Made new disassembly windows in Qt debugger default to current CPU
* Use std::forward_list for breakpoint and registerpoint lists (nw) AJR2019-09-104-22/+8
|
* OS X debugger: Update window titles when restoring configuration for ↵ AJR2019-03-272-0/+2
| | | | disassembly and memory viewers
* How to remove unwanted macros, or: getting out of discovered "check" (nw) AJR2018-06-291-0/+2
| | | | This fixes the OS X build.
* Eliminate machine().firstcpu (nw) AJR2018-01-041-1/+1
|
* stupid API, I'll fix this one day (nw) Vas Crabb2017-07-231-1/+1
|
* cocoa debugger: save/restore console split positions Vas Crabb2017-07-213-2/+25
|
* * Make XML file a class of its own managed with smart poitners Vas Crabb2017-07-213-7/+24
| | | | * Save/restore a little more of Cocoa debugger state
* * Save/restore more Cocoa debugger state Vas Crabb2017-07-2110-9/+111
| | | | | | * Fix some Cocoa debugger desync issues - Scroll to selection on gaining focus by keyboard (e.g. tab) only - Fixes jump on clicking a memory or disasm view that you've scrolled
* Added basic support for saving/restoring Cocoa debugger window state, ↵ Vas Crabb2017-07-2018-1/+231
| | | | compatible with Qt debugger where possible
* Misc fixes (nw) Olivier Galibert2017-07-031-1/+1
|
* dimemory: Lift the cap on the number of address spaces per device [O. Galibert] Olivier Galibert2017-07-031-1/+1
|
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* srcclean (nw) Vas Crabb2017-04-231-1/+1
|
* Fix OS X build (nw) AJR2017-02-1113-0/+13
|
* Remove emu.h from headers (nw) Olivier Galibert2017-02-1116-16/+0
| | | | | | | | | | | | Per Vas' request. If the compile fails for you (i'm thinking osx and windows native debuggers here in particular), add '#include "emu.h"' as first include of the cpp files that fail. Due to our use of precompilation and forced inclusion, emu.h must be included as the very first non-comment thing we do if we want to be sure msvc compiles are identical to gcc/clang ones. Doing it directly instead of through an include increases the correctness probability by a magnitude.
* OS X Cocoa debugger: Improved view scroll behavior. [Curt Coder] Curt Coder2017-01-177-0/+10
|
* OS X Cocoa debugger: Autoscroll log window. [Curt Coder] Curt Coder2017-01-171-1/+1
|
* Fix OSX build - no idea why it wasn't breaking before (nw) Vas Crabb2016-12-311-1/+1
|
* srcclean (nw) Vas Crabb2016-11-2712-77/+77
|