Commit Graph

670 Commits

Author SHA1 Message Date
AJR
bb0964f9a2 Changes to debugger memory address translation
- memory_translate now returns an address space number rather a boolean flag, permitting addresses in part of one space to map to an entirely different space. This is primarily intended to help MCUs which have blocks of internal memory that can be dynamically remapped, but may also allow for more accurate emulation of MMUs that drive multiple external address spaces, since the old limit of four address spaces per MAME device has been lifted.
- memory_translate has also been made a const method, in spite of a couple of badly behaved CPU cores that can't honestly treat it as one.
- The (read|write)_(byte|word|dword|qword|memory|opcode) accessors have been transferred from debugger_cpu to device_memory_interface, with somewhat modified arguments corresponding to the translate function it calls through to if requested.
2017-08-01 00:21:19 -04:00
yz70s
5ebe819cce In the windows debugger log window add a Log/Clear menu to remove all logged messages (nw) 2017-07-30 19:09:59 +02:00
smf-
3374c5639f stop hotspot from crashing when you start running. (nw) 2017-07-25 16:17:15 +01:00
smf-
8a12dd4dc6 Don't assume a watch point exists for the address space passed to watchpoint_update_flags(), which fixes the hotspot command. (nw) 2017-07-25 11:10:01 +01:00
Vas Crabb
05e84dccc0 * Make XML file a class of its own managed with smart poitners
* Save/restore a little more of Cocoa debugger state
2017-07-21 11:47:41 +10:00
Vas Crabb
7718fe042c kill a trampoline (nw) 2017-07-13 15:51:33 +10:00
Vas Crabb
d18aa3e097 never hurts to srcclean (nw) 2017-07-09 03:21:32 +10:00
Nathan Woods
91126182a4 Merge branch 'master' into debugger_load 2017-07-04 13:02:31 -04:00
smf-
6951a706ba Revert f8 behaviour, to run until next start of vblank, by re-adding a check that was removed as part of this commit (nw)
SHA-1: 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
2017-07-04 12:33:43 +01: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
Olivier Galibert
8d2a1d4268 debugcpu: Eliminate direct() from read_opcode [O. Galibert] 2017-06-25 11:15:00 +02:00
Olivier Galibert
d34051484d dvdisasm: Simplify by decoupling information creation and display rendering [O. Galibert] 2017-06-25 11:14:51 +02:00
Vas Crabb
f31e735053 srcclean (nw) 2017-06-25 15:18:14 +10:00
Nathan Woods
d3c5f2939d Fixed an issue that could cause the debugger 'source' command to falsely display I/O error
I've discovered a scenario where reading to the end of file seems to trigger the fail bit, in addition to the eof bit.  Because of this, I've changed the error message to display when we can't read from the stream, but the eof bit is _not_ set
2017-06-24 09:39:55 -04:00
npwoods
2af3233101 Changed a few 'const char *' ==> 'const std::string &' in the MAME debugger (#2170) 2017-06-24 09:46:58 +10:00
AJR
3bff05cff7 Don't try to read past the end of a memory space in debug view 2017-06-22 20:50:04 -04:00
Nathan Woods
c192588f61 Changed 'enum read_or_write' to be 'enum class' 2017-06-19 10:37:03 +10:00
Vas Crabb
96c9112785 general cleanup:
* move rarely-used output and pty interfaces out of emu.h
* consolidate and de-duplicate forward declarations, also remove some obsolete ones
* clean up more #include guard macros
* scope down a few more things

(nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h -
this will make it far easier to keep them in sync with declarations than having
them scattered through all the other files.
2017-05-23 15:01:11 +10:00
Vas Crabb
0f0d39ef81 Move static data out of devices into the device types. This is a 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.
2017-05-14 21:44:11 +10:00
Nathan Woods
e38d3fb15d Fixed a crash in the 'symlist' debugger command (MT#6575) 2017-05-03 09:06:27 -04:00
Vas Crabb
dac6dc4f62 srcclean (nw) 2017-04-23 12:27:42 +10:00
R. Belmont
d287a4acbf Merge pull request #2168 from Happy-yappH/dasm_virtual_space
Make debugger 'dasm' command able to traverse virtual spaces with
2017-03-29 16:20:32 -04:00
smf-
79f22e060b fix building with MSVC (nw) 2017-03-29 12:13:53 +01:00
Olivier Galibert
365a639ce9 express: More robust parsing fix (nw) 2017-03-27 20:33:02 +02:00
Olivier Galibert
bf4250e540 disable: Better interface (nw) 2017-03-26 14:52:02 +02:00
Olivier Galibert
b39dcdc613 disable: reverse polarity (nw) 2017-03-26 14:40:16 +02:00
Olivier Galibert
f2aaf2eaa8 express: More robust memory access operator parsing (nw) 2017-03-26 14:08:12 +02:00
PugsyMAME
a97c0fbe87 Fixed writes to decrypted opcode memory [v3] (#2190)
Fixes problem in the debugger and the cheat engine as currently the writes to opcode memory are not handled correctly, so separated EXPSPACE_RAMWRITE and EXPSPACE_OPCODE case statements to allow opcode writes to access the correct memory.

Example:
In flicky this will now disable cat collisions with the main sprite:
maincpu.ob@3ac6=c3

This is the simplest way of updating this, EXPSPACE_OPCODE is now a copy of EXPSPACE_RAMWRITE except it uses AS_DECRYPTED_OPCODES instead of AS_PROGRAM. This method means I've got a lot of work updating a lot of cheat file warnings ...but this is the correct way of doing this.
2017-03-26 13:10:16 +02:00
Vas Crabb
6cb38b0771 srcclean (nw) 2017-03-26 12:57:49 +11:00
Olivier Galibert
7d8c0a8d04 Revert "Fixed writes to decrypted opcode memory" (#2185) 2017-03-24 23:58:17 +01:00
PugsyMAME
3589a77cae Fixed writes to decrypted opcode memory
Fixes problem in the debugger and the cheat engine as currently the writes to opcode memory are not handled correctly, so separated EXPSPACE_RAMWRITE and EXPSPACE_OPCODE case statements to allow opcode writes to access the correct memory.

Example:
In flicky this will now disable cat collisions with the main sprite:
maincpu.ob@3ac6=c3
2017-03-24 19:09:53 +00:00
Olivier Galibert
5a70b70132 Add missing disable_side_effect in find_pc_backwards (nw) 2017-03-20 21:04:00 +01: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
Sergey Svishchev
c2817ded96 debugger: print octal addresses in the trace if CPU is octal. 2017-03-16 22:34:04 +03: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
Olivier Galibert
0cdc64d36c debugger_access: Refactor [O. Galibert] 2017-03-02 22:51:59 +01:00
Vas Crabb
6c23897483 Self-registering devices prep:
* Make device_creator a variable template and get rid of the ampersands
* Remove screen.h and speaker.h from emu.h and add where necessary
* Centralise instantiations of screen and speaker finder templates
* Add/standardise #include guards in many hearers
* Remove many redundant #includes
* Order #includesr to help catch headers that can't be #included alone

(nw) This changes #include order to be prefix, unit header if applicable
then other stuff roughly in order from most dependent to least dependent
library.  This helps catch headers that don't #include things that they
use.
2017-02-27 22:57:14 +11:00
Miodrag Milanovic
f8dbe6a15b cleanup headers of not used friend classes (nw) 2017-02-12 10:27:30 +01:00
AJR
269c4c7410 Fix OS X build (nw) 2017-02-11 13:32:42 -05:00
Olivier Galibert
a2557f1b02 Remove emu.h from headers (nw)
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.
2017-02-11 18:31:20 +01:00
Vas Crabb
0f929b4213 Make debugger fall back from binary to default base on 0b prefix
* This makes expressions like 0B12 parse as hex in hex memory spaces
* Where there's ambiguity (e.g 0B01) binary takes precedence
2017-02-03 09:30:06 +11: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
e5d662adf7 Augmenting help file 2017-01-16 20:24:27 -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
d8d82358c3 Augmenting help file 2017-01-16 20:07:50 -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
Vas Crabb
c9647f6e28 debugger: use 0o for octal prefix, and add support for binary with 0b a la C++, also support uppercase radix speifier 2017-01-06 15:37:43 +11:00
R. Belmont
2c7ab7fe83 Merge pull request #980 from shattered/_ad3979c
debugger: parse octal expressions (prefixed by '0')
2017-01-05 15:18:42 -05:00
Vas Crabb
c8f1954467 XML refactoring:
* move stuff to namespace util::xml
* scope down some enums
* split config load/save delegate types
* make config load take const so it can't mangle data
2016-12-11 18:15:41 +11:00
Olivier Galibert
998e196d55 dimemory: Remove the magic bypass [O. Galibert] 2016-12-10 13:40:26 +01:00
Olivier Galibert
7f0ba30ec5 sharc: Use standard memory maps [O. Galibert] 2016-12-09 20:11:33 +01:00
AJR
f050607f8e One more command that lacked an 'o' version (nw) 2016-12-02 05:39:22 -05:00
AJR
ff4f03694f Add 'o' variants to memory debugging commands to request decrypted opcodes space 2016-12-01 21:11:35 -05:00
Vas Crabb
b8b0774997 Merge pull request #1317 from npwoods/disasm_stdstring
Refactored device_disasm_interface::disassemble() and dasm_override_delegate to take string buffers as std::string
2016-11-21 11:30:06 +11: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
Vas Crabb
c7352f5684 Revert "moved debugger_access() from address space to machine & removed the anti-patterns that updated cascading address spaces. [smf]"
This reverts commit 5f05fbf613.
2016-11-21 05:57:46 +11:00
Nathan Woods
a29891d2e5 Changed disassembler infrastructure to not use char buffers internally 2016-11-20 08:49:30 -05:00
smf-
5f05fbf613 moved debugger_access() from address space to machine & removed the anti-patterns that updated cascading address spaces. [smf] 2016-11-19 22:18:58 +00:00
smf-
9e93cdcd55 Fix for the nonstandard types when not using the broken precompiled headers. (nw) 2016-11-19 13:19:29 +00: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
79714c47d2 Fix Visual Studio build (nw) 2016-11-16 16:25:17 +01:00
Vas Crabb
2354a42010 Turn xmlfile API into something that looks like C++
It's still a bit quirky but it's far better encapsulated before, and it plays nice with const (nw)
2016-11-17 01:44:03 +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
2027d59e7f Do not use FUNC in delegate where applicable (nw) 2016-11-06 14:11:55 +01:00
smf-
e125186e15 Moved device_memory_interface from driver_device to dummy_space_device. Exposed the dummy_space_device as machine().dummy_space(), with a trampoline in driver_device for existing callers. Debugger no longer needs to special case root_device() to avoid showing the dummy address space. [smf] 2016-11-03 19:21:20 +00: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
Miodrag Milanovic
23ad94073f use standard types uintptr_t, char16_t and char32_t instead of FPTR, utf16_char, unicode_char (nw) 2016-10-22 11:31:49 +02:00
Miodrag Milanovic
a291e77b2c some bool <-> int not needed conversions, also cleaned drivenum.* was using memset for clearing vector (nw) 2016-10-21 11:54:18 +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
Jordi Mallach
6f103c2391 Fix various spelling fixes. 2016-09-29 10:14:48 +02: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
Vas Crabb
1de6465b18 fix disassembly if 6809 is interrupted mid-instruction [smf] 2016-09-28 17:45:36 +10:00
Lord-Nightmare
32a5bcf975 Revert "fix disassembly if 6809 is interrupted mid-instruction [smf]"
This reverts commit 320121823c.
2016-09-27 18:05:57 -04: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
Vas Crabb
320121823c fix disassembly if 6809 is interrupted mid-instruction [smf] 2016-09-27 20:57:45 +10: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
therealmogminer@gmail.com
7df8323c2d Fix -debug -cheat crash, nw 2016-08-27 18:03:12 +02: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
Miodrag Milanovic
6f5e223853 for bool type use true and false (nw) 2016-07-31 20:02:56 +02:00
Miodrag Milanovic
eaa70ae031 cleanup of some conversions (nw) 2016-07-31 16:41:26 +02:00
Miodrag Milanovic
9667c6a8cc std::min and std:max instead of MIN and MAX, also some more macros converted to inline functions (nw) 2016-07-31 14:41:02 +02:00
Miodrag Milanovic
4887ce1844 Cleanups and version bump 2016-07-27 09:26:22 +02:00
AJR
566c12db31 debugcpu: prevent nullptr exceptions when devices named in expressions lack memory interfaces 2016-07-25 23:20:52 -04:00
therealmogminer@gmail.com
c643372753 Make loop collation optional for debugger trace and traceover commands 2016-07-14 16:13:52 +02:00
Vas Crabb
5020bb162e fix item hilighting in debugger state view when scrolling [Vas Crabb]
better encapsulate debug_view_state::state_item

also check for debugger access for reads with side effects in osborne1 and s2636
2016-07-13 15:02:48 +10:00
Vas Crabb
7f3ced8c96 Fix scroll in debugger state view 2016-07-11 19:21:39 +10: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
AJR
421b8b28c0 Fix undefined symbols error in clang compile (nw) 2016-07-01 17:23:55 -04:00
Miodrag Milanovic
6e1adc4386 simplified memory management for save states and states (nw) 2016-07-01 19:51:07 +02:00
Miodrag Milanović
5886ed531e Merge pull request #994 from ajrhacker/dasm_override
Move disasm overrides into interface, reducing driver-debugger depend…
2016-07-01 13:55:12 +02:00
Miodrag Milanovic
63f9a01f8c Cleanup and version bump 2016-06-29 08:34:30 +02:00
AJR
38c4b762f0 Move disasm overrides into interface, reducing driver-debugger dependencies (nw) 2016-06-24 22:34:13 -04:00
AJR
d6f9e3bc1c Eliminate some unnecessary pass-through methods from debugcpu (nw) 2016-06-22 16:52:55 -04:00
Sergey Svishchev
0c04a3c893 debugger: parse octal expressions (prefixed by '0') 2016-06-21 00:23:16 +03: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
78c3929217 tagged_list to unordered_map in emumem (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
fc8e18d893 tagged_list to unordered_map for debugger (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
402ad8ef85 small debugger cleanup (nw) 2016-06-17 13:39:42 +02:00
Miodrag Milanovic
3969f6e749 Fixed debugger regression (nw) 2016-06-17 12:04:28 +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
6aa1d4d66c Update help file, the whole help string parser is so 90s, nw 2016-06-04 19:43:26 +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
Vas Crabb
bbb2e917b5 MT6225 MT6226 MT6227 debugger may crash when validating expression with non-existent memory space name 2016-05-30 14:17:01 +10:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +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
R. Belmont
3ed3b7e7fc Merge pull request #776 from jmallach/typos
Fix typos throughout the codebase
2016-04-12 08:48:35 -04:00
couriersud
7b3d46dea7 Add includes for dependency documentation. (nw) 2016-04-09 12:17:51 +02:00
Jordi Mallach
3d5c53d11e Typo fix: threshhold → threshold 2016-04-01 02:28:16 +02:00
AJR
b0e033146a Avoid auto return types; silence some unused variable warnings (nw) 2016-03-31 13:50:31 -04: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
Miodrag Milanovic
913ab1e140 Cleanups and version bump 2016-03-30 08:35:21 +02: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
Lord-Nightmare
acb27808d4 temporary fix for debugger disassembly view on windows (nw) 2016-03-18 03:43:06 -04:00
Vas Crabb
f0e580e40a Clear error status on persistent streams 2016-03-17 13:30:09 +11:00
Vas Crabb
42fbb9c396 Make osd_file a polymorphic class that's held with smart pointers
Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures
Make zip_file and _7z_file classes rather than having free functions everywhere
Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache
Don't dump as much crap in global namespace
Add solaris PTY implementation
Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax
Rearrange stuff so the same things are in file module for all OSDs
Move file stuff into its own module

7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access
Directory functions still need to be moved to file module
SDL OSD may not initialise WinSock on Windows
2016-03-14 18:55:00 +11:00
Vas Crabb
ed88fd30a1 More stream enhancement 2016-03-03 03:53:43 +11:00
Vas Crabb
d50614c8bd Use stream with contiguous backing store for the disasmview's buffer 2016-03-03 03:53:43 +11:00
Vas Crabb
66d0ef8ed4 Fix some oversights in previous changes, sorry guys'n'gals 2016-03-03 01:25:48 +11:00
Happy
8aa07c72e7 Change field format to show leading zeros for debugger 'dasm' command as well 2016-03-01 13:46:33 -07:00
Happy
5257bf21cd Change field format to show leading zeros for debugger 'dump' command 2016-03-01 13:16:38 -07:00
Vas Crabb
599570bf7f Fix stupid reversed subtraction 2016-03-01 22:33:19 +11:00
Vas Crabb
fee5fb55f9 Get rid of most uses of core_i64_hex_format, all remaining uses are in memory.cpp 2016-03-01 21:40:14 +11:00
Vas Crabb
9224c862b2 Move more things to type-safe printf 2016-03-01 18:57:06 +11:00
Vas Crabb
aec01e7407 Replace strformat, strprintf and strcatprintf with type-safe steam_format and string_format
Update MAME to use new function
Instantiate ODR-used static constant members
Make some of the UI code more localisable
Remove use of retired functions in tools
2016-02-28 13:36:19 +11:00
Miodrag Milanovic
3abcaee63f Cleanups and version bump 2016-02-24 07:46:57 +01:00
Miodrag Milanovic
ccae0382bb Added plugins and boot.lua as startup script [Miodrag Milanovic] 2016-02-14 10:58:18 +01:00
AJR
7750a10135 Make octal flag part of address_space/address_space_config, not (illogically) device_execute_interface (nw) 2016-02-04 17:10:53 -05:00
Miodrag Milanovic
42622cfe8e replace osd_lock with std::mutex [Miodrag Milanovic] 2016-01-30 20:43:50 +01:00
AJR
83e6738a0a Add macros for alignment checking (nw) 2016-01-30 13:25:32 -05:00
dankan1890
361d32d37f Small code cleanup:
- corealloc.h: added macro definition for global_alloc (nothrow) memory allocation.
- textbuf.cpp / wavwrite.cpp: removed pointless cast.
- debugcmd.cpp / luaengine.cpp / render.cpp: avoid strlen calls in a loop.
- diimage.cpp: simplified "device_image_interface::set_image_filename" function.
- miscmenu.cpp / selgame.h / video.cpp(h): replaced int with bool where applicable.
- ui.cpp: removed unused code.
2016-01-29 00:43:18 +01:00
Miodrag Milanovic
1991ad3e66 Fixed bug debugging drivers with es5510 core, possibly some others that do not have AS_PROGRAM at all (nw) 2016-01-25 15:00:35 +01:00
Miodrag Milanovic
4e8e3066f8 reverting:
SHA-1: 1f90ceab07

* tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-20 21:42:13 +01:00