| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
trying to use it (MT09377).
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
* debugger-osx: workaround to fix bottom scrolling and scrollbars the first time the debug window overflows
|
| |
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
| |
-Fixed various warnings.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
format
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
| |
is selected (which may happen automatically with .cfg files)
|
| | |
|
| |
|
|
| |
64-bit ABI (nw)
|
| | |
|
| |
|
|
|
|
|
| |
* 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
|
| | |
|
| |
|
|
| |
disassembly and memory viewers
|
| |
|
|
| |
This fixes the OS X build.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* Save/restore a little more of Cocoa debugger state
|
| |
|
|
|
|
| |
* 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
|
| |
|
|
| |
compatible with Qt debugger where possible
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|