Commit Graph

12444 Commits

Author SHA1 Message Date
Vas Crabb
edf64df1db srcclean (nw) 2017-01-22 15:37:37 +11:00
Vas Crabb
31ae79c107 need LOG_GENERAL before VERBOSE (nw) 2017-01-21 10:20:34 +11:00
Vas Crabb
59ed49f709 Help me template compiler! You are my only hope!
6805 cleanup:
* Reduce massive amounts of redundancy by templating opcode handlers
* Replace the epic switch statement with a dispatch table
* Fix timings for a few instructions
2017-01-20 22:13:25 +11:00
Vas Crabb
19a9122748 add logmacro.h inspired by Edstrom's log macros
* should be #included after other headers and after optionally #defining VERBOSE
* usage samples in z80scc.cpp and m68705.cpp

68705: add lots of logging to help trace issues
2017-01-20 16:53:12 +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
Nathan Woods
3b55bebadc Removing unnecessary callback
I'm doing this in response to a compilation error on MSVC 2015.  As far as I can tell, this is a bug in the compiler.  My basis for asserting this is that placing the following declaration within the 'endpoint.on_open = <<lambda>>' gives the same compilation error:

	const std::function<void(void)> mycallback = [](void) {};

Whereas moving that logic outside of the 'endpoint.on_open = <<lambda>>' does not give an error.

Normally I don't like working around buggy compilers, but in this case the callback is supposed to be optional anyways.
2017-01-15 11:55:33 -05:00
AJR
17af0f9c66 Make "requirement" field in softlists actually work (MT 6464)
(nw) MAME's architecture for software loading remains gruesomely overcomplicated, and this makes it even less efficient than it already was. However, I think more invasive cleanups would best be left until later.
2017-01-11 13:00:41 -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
Miodrag Milanovic
b5df96fd37 Fix issue enabling/disabling http (nw) 2017-01-04 19:42:13 +01:00
Miodrag Milanovic
74b24ecefb Added websockets as well (nw) 2017-01-04 19:22:13 +01:00
Miodrag Milanovic
7119f5ba73 One more fix (nw) 2017-01-04 16:23:47 +01:00
Miodrag Milanovic
0c44c4c766 Fix non-VS build (nw) 2017-01-04 16:18:38 +01:00
Miodrag Milanovic
63e3f48775 Added initial HTTP/HTTPS webserver/websocket server support (nw) 2017-01-04 16:15:57 +01:00
AJR
e624a3cd38 Service mode DIP switch adjustments
- Changed how input sequences are assigned to service mode DIP switches. The frontend now assigns them the default sequence for the non-toggle service mode/test switch (not necessarily the F2 key, the previously hardcoded default) unless the machine happens to have one of those as well (as is somewhat common with gambling games).
- All DIP and configuration switches are automatically defined as toggle fields to make assigning input codes to them easier.
2017-01-02 21:39:49 -05:00
AJR
dd1d40b9fd Fix for a potential problem if natural keyboard input gets disabled while machine is running (nw) 2016-12-31 17:11:10 -05:00
AJR
9558460b68 Correct natural keyboard handling of toggle keys 2016-12-31 17:02:20 -05:00
AJR
67df9e6432 Address map fixes (nw)
- tms32025: Correct space of internal data maps
- mc1000: Separate out opcodes map
- addrmap.cpp: Replace a few debug asserts with friendlier error messages (makes validation less dangerous in debug builds)
2016-12-25 01:13:44 -05:00
AJR
ff68193741 Overhaul of devcb (nw)
- Allow stringing multiple callbacks together recursively. Chained callbacks will be read or written in sequence, and each can be configured with its own type and mask/shift/XOR parameters.
- Chained input callbacks cannot have overlapping masks (there's no such thing as a free multiplex). Chained output callbacks have no such restriction.
- Remove the constant parameter for the LOGGER callback type: it makes no sense for output, was always zero in existing usage, and is now unnecessary with callback chaining.
- Change LOGGER behavior for writes to log the user-defined message only if the output as masked is nonzero. With callback chaining, this can be used to monitor when individual bits become active.
- Constant read callbacks can no longer have MCFG_DEVCB_XOR or MCFG_DEVCB_INVERT specified (makes no sense in this context).
- Add a MEMBANK callback type to allow output bits to be used for bank-switching.
- Add ASSERTLINE and CLEARLINE callback types that raise or lower an interrupt line if the selected bit of the written value is active. These are intended for where periodic or ready-pulse signals from devices are used to trigger IRQs that the CPU program will independently acknowledge.
- Add MCFG_DEVCB_BIT as shorthand for masking and shifting out an individual bit for a callback.
- Removed DEVCB_LINE_DISPATCH_<n>. Where we're going, we don't need line dispatcher devices.

The incompatibility of compilers with regard to post-C90 printf string formats is shockingly bad. There seems to be no easy way to format a 64-bit value and please both gcc and clang, let alone MSVC.
2016-12-21 15:20:54 -05:00
Vas Crabb
be26ac9abf coretmpl: add an associative LRU cache with map-like behaviour
selmenu: use LRU cache so icons don't all need to be reloaded on scroll

uismall.bdf: set default character for missing glyphs

rendfont.cpp:
* encapsulate many BDF and BDC handling details
* make file I/O 64-bit clean, check for allocation errors
* more solid BDF parser with error messages and trace logging
* fix heap smash when building bitmaps for BDF fonts
* extend BDC format to support high planes and default character
* render default character if glyph not found for BDF/BDC
2016-12-15 17:00:34 +11: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
Vas Crabb
d44a1ac1fa Merge pull request #1804 from bradhugh/autorepeat_fix
Double-check key state before UI autorepeat. Fixes #1169
2016-12-10 14:49:49 +11:00
Olivier Galibert
7f0ba30ec5 sharc: Use standard memory maps [O. Galibert] 2016-12-09 20:11:33 +01:00
Brad Hughes
22397e0c5d Double-check key state before UI autorepeat. Fixes #1169 2016-12-06 09:02:20 -05: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
Joakim Larsson Edstrom
3812a7c586 WIP: Apple Laser Writer II NT skeleton driver added [LN, Edstrom] 2016-11-30 17:31:54 +01:00
Vas Crabb
7238415d1f srcclean (nw) 2016-11-27 09:56:49 +11:00
R. Belmont
cb248419ca Merge pull request #1777 from ajrhacker/sei80bu
Move SEI80BU encryption out of the SEIBU_SOUND device and make it a d…
2016-11-26 09:16:44 -05:00
Vas Crabb
3bffc041c5 Quick fix for symptom of #1778 but doesn't address how it decided the joystick component was unknown to begin with 2016-11-26 15:59:30 +11:00
AJR
4c9814ab30 Move SEI80BU encryption out of the SEIBU_SOUND device and make it a device of its own
Add MCFG_DEVICE_ROM to override region tag for device_rom_interface (nw)
2016-11-25 17:47:10 -05:00
Scott Stone
30cda1d3e5 A round of spelling/typographical fixes to source comments (nw) 2016-11-24 09:24:01 -05:00
Miodrag Milanovic
ee8580bb79 We do not use this for some time, since liboptional now contains all devices so no linking issue (nw) 2016-11-23 15:28:10 +01: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
Olivier Galibert
53df201f32 emucore: Kill generic_ptr [O. Galibert] 2016-11-19 22:59:24 +01: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
cracyc
1a9cdb5c7a machine: don't do the periodic_check before every timeslice (nw) 2016-11-17 16:23:40 -06: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