Commit Graph

66 Commits

Author SHA1 Message Date
Nathan Woods
91126182a4 Merge branch 'master' into debugger_load 2017-07-04 13:02:31 -04:00
Olivier Galibert
cbbbd07484 dimemory: Lift the cap on the number of address spaces per device [O. Galibert] 2017-07-03 08:03:57 +02:00
Olivier Galibert
cb1930f6e6 Rename AS_DECRYPTED_OPCODES to AS_OPCODES [O. Galibert] 2017-07-03 08:03:57 +02:00
Nathan Woods
dd951ec62f Made the debugger 'load' length field be optional, C++-ification 2017-06-25 09:37:31 -04:00
Nathan Woods
c192588f61 Changed 'enum read_or_write' to be 'enum class' 2017-06-19 10:37:03 +10:00
Nathan Woods
e38d3fb15d Fixed a crash in the 'symlist' debugger command (MT#6575) 2017-05-03 09:06:27 -04:00
Happy
1a65879da1 Make debugger 'dasm' command able to traverse virtual spaces with
unmapped holes.

Previously, 'dasm' would enter an infinite loop if it hit an
unmapped pc, continuing to grow the output file until the program
was killed.
2017-03-19 22:26:37 -06:00
npwoods
a011e3a22e Changed a few more 'const char *' ==> 'const std::string &' (#2111) 2017-03-04 16:00:18 -05:00
ajrhacker
64636a1583 Merge pull request #2114 from npwoods/fix_more
Fixed a few more issues broken similarly to 'bpset'
2017-03-03 20:30:11 -05:00
Nathan Woods
234ad468eb Fixed a few more issues broken similarly to 'bpset' 2017-03-03 19:41:46 -05:00
Nathan Woods
4484da457e Fixing stupid error in the bpset command 2017-03-03 19:30:13 -05:00
Nathan Woods
60b8e27e2c C++-ification of debugger code (misc std::string/std::vector adoption mainly) 2017-03-03 10:36:30 -05:00
Vas Crabb
edf64df1db srcclean (nw) 2017-01-22 15:37:37 +11:00
R. Belmont
9d6a96e02f Merge pull request #1987 from npwoods/tracesym_debugger_command
Created a new debugger command 'tracesym'
2017-01-17 12:21:57 -05:00
Nathan Woods
b8453021df Added a facility to allow logerror output to reside in traces
As a consequence, the debugger 'trace' command was changed so that the third parameter is a list of '|' delimited options
2017-01-16 20:13:03 -05:00
Nathan Woods
46b62fb194 Created a new debugger command 'tracesym'
'tracesym' is intended to be a shorthand of 'tracelog', whereby the user doesn't have to specify a format string; the default format string is used
2017-01-15 16:19:03 -05:00
AJR
ff4f03694f Add 'o' variants to memory debugging commands to request decrypted opcodes space 2016-12-01 21:11:35 -05:00
Nathan Woods
7c868e53d0 Moving disasm.clear()/disasm.seekp(0) out of if statement, so the stream is always reset 2016-11-20 19:18:32 -05:00
Nathan Woods
932f69d6e9 Eliminated 'device_disasm_interface::disassemble(std::string &buffer, ...' 2016-11-20 18:27:25 -05:00
Nathan Woods
a29891d2e5 Changed disassembler infrastructure to not use char buffers internally 2016-11-20 08:49:30 -05:00
Vas Crabb
8179a84458 Introduce u8/u16/u32/u64/s8/s16/s32/s64
* New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h"
* Get rid of import of cstdint types to global namespace (C99 does this anyway)
* Remove the cstdint types from everything in emu
* Get rid of U64/S64 macros
* Fix a bug in dps16 caused by incorrect use of macro
* Fix debugcon not checking for "do " prefix case-insensitively
* Fix a lot of messed up tabulation
* More constexpr
* Fix up many __names
2016-11-19 05:38:48 +11:00
Miodrag Milanovic
6b18f90438 Revert "Added IS_ENABLED, so we have compiler check for non used part, it is checked but not compiled in (nw)"
This reverts commit c0407f073b.
2016-11-12 09:12:36 +01:00
Miodrag Milanovic
c0407f073b Added IS_ENABLED, so we have compiler check for non used part, it is checked but not compiled in (nw)
false and true now used instead of integer where used as bool
2016-11-11 18:50:14 +01:00
Miodrag Milanovic
a6bdefec8c more TRUE/FALSE cleanup (nw) 2016-10-22 16:37:12 +02:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
AJR
28cc18b698 Add row size as sixth parameter to debug dump command 2016-10-16 11:55:09 -04:00
AJR
f1b0dfe64a Separate natural keyboard support from ioport.cpp (nw) 2016-10-02 00:07:43 -04:00
smf-
fd279ffffa Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf] 2016-09-28 17:45:37 +10:00
Lord-Nightmare
e8d2853334 Revert "Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf]"
This reverts commit 1a186c8a3a.
2016-09-27 18:05:19 -04:00
smf-
1a186c8a3a Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf] 2016-09-27 14:26:27 +01:00
smf-
c56cd675f2 Fixed trace command access a parameter beyond the list supplied, added an error message if you provide an invalid boolean, allow boolean to be case-insensitive and skip empty strings when parsing booleans. [smf] 2016-09-20 13:34:54 +01:00
Nathan Woods
c38b753f01 The 'trace' and 'traceover' commands were registered as having three arguments. This fixes it so there are four arguments
This seems to have been broken a long time.  My guess is that when the ability to disable loop detection was added, the argument count was not changed to continue allowing the existing command argument.
2016-08-23 09:58:23 -04:00
Vas Crabb
15e7be7ac8 Turn image init/validate into scoped enums to avoid accidental casts to/from integer and boolean types
The image error should also be turned into a scoped enum - the menus were assuming it was the same thing as an init result
2016-08-01 18:47:22 +10:00
therealmogminer@gmail.com
c643372753 Make loop collation optional for debugger trace and traceover commands 2016-07-14 16:13:52 +02:00
AJR
20427d78b4 Don't need debugcpu to translate (nw) 2016-07-03 17:23:47 -04:00
AJR
90b08e2995 Consolidate disassemble functions (nw) 2016-07-03 13:46:21 -04:00
Miodrag Milanovic
63f9a01f8c Cleanup and version bump 2016-06-29 08:34:30 +02:00
AJR
d6f9e3bc1c Eliminate some unnecessary pass-through methods from debugcpu (nw) 2016-06-22 16:52:55 -04:00
R. Belmont
321e593923 Merge pull request #965 from ajrhacker/debugspace
Suppress 'no matching space' debugger error when disassembling CPUs w…
2016-06-18 17:10:26 -04:00
AJR
1702c3fc97 Suppress 'no matching space' debugger error when disassembling CPUs without decrypted opcodes 2016-06-18 10:51:06 -04:00
Miodrag Milanovic
fc8e18d893 tagged_list to unordered_map for debugger (nw) 2016-06-18 15:32:15 +02:00
therealmogminer@gmail.com
56bd36c5ef Major refactoring of debugger core [Ryan Holtz]
* Eliminate globals/file statics
* Remove lots of stuff from global scope
* Use std::function for custom command registration
* Eliminate some trampolines
* Build fixes from Vas Crabb and balr0g
2016-06-08 08:10:55 +10:00
angelosa
62b82f2937 TODO note, nw 2016-06-05 16:11:28 +02:00
angelosa
ea46245a9a Added commit command to debugger. [Angelo Salese] 2016-06-05 16:11:27 +02:00
angelosa
a9a5cceb72 Added comlist comment to debugger [Angelo Salese]
Added notes wrt dangarj protection, nw
2016-06-04 19:43:25 +02:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
AJR
084d3654ca Iterate over devices C++11 style
Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass.

Add a few more typical getters to device_t::subdevice_list.
2016-04-18 18:53:28 -04:00
Jordi Mallach
3d5c53d11e Typo fix: threshhold → threshold 2016-04-01 02:28:16 +02:00
AJR
a7e393b36b Iterate over core classes C++11 style
C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.)

device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config.

memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
2016-03-31 09:43:53 -04:00
Vas Crabb
100fa28671 * Remove confusing method from vectorstreams that hide base_ios method (fixes disassembly view)
* Allow std::string to pass through core_file unmolested (reduces temporary allocations)
* Make zip/7z instances of same class with uniform interface
* zippath browsing is broken at the moment

This is another step towards transparent archive support.  It's now
possible to access zip and 7z archives with the same code.  Nothing is
taking advantage of it yet.  There's now some very similar code in
fileio.cpp and clifront.cpp that could be folded at some point.
2016-03-18 19:32:10 +11:00