Commit Graph

12433 Commits

Author SHA1 Message Date
AJR
717e1eb9d2 Change warning flags for Clang build (nw)
-Wno-missing-braces is unfortunately now necessary to avoid errors on almost every single use of the std::array initializer in devfind.h. (Apparently C++14 does make double braces optional for std::array initializers, but clang and GCC's -Wmissing-braces never took that into proper account, which is why GCC may still have it disabled by default.)

Several other Clang-specific warnings have been undisabled; some might perhaps need to be locally reenabled if legacy 3rdparty code or sundry OSD includes happen to disagree with them. The only warning to require any code changes was -Wabsolute-value, which seems to have caught a minor render bug (and nothing more).
2016-08-25 00:22:14 -04:00
Vas Crabb
3bf7ef43f7 Merge pull request #1234 from ajrhacker/butterflies
Improvements to almost all games in skylncr.cpp
2016-08-25 10:38:47 +10:00
Vas Crabb
0d08c04009 Devices can be found array-style, too 2016-08-25 04:02:08 +10:00
Vas Crabb
5d40f2c9d8 remove legacy forms of (required|optional)_(shared_ptr|ioport)_array 2016-08-25 03:05:55 +10:00
R. Belmont
c96b91cadf Merge pull request #1307 from ajrhacker/output_find
Make output_manager::find_item much more efficient (nw)
2016-08-24 10:25:56 -04:00
AJR
010bd4265d Make output_manager::find_item much more efficient (nw) 2016-08-24 09:12:10 -04:00
Giuseppe Gorgoglione
21e614d91a emucore: add template functions to deal with conversion between strongly typed enums and integral types
As seen in Scott Meyers' "Effective Modern C++".
2016-08-24 14:40:06 +02:00
Vas Crabb
411ef56a86 shared_ptr arrays need love, too 2016-08-24 21:46:03 +10:00
Vas Crabb
0a58a5a05e cleanup (nw) 2016-08-24 21:21:33 +10:00
Vas Crabb
cb1ed917fb Make (required|optional)_ioport_array perform as well as a real array 2016-08-24 21:07:29 +10: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
yz70s
4df54c9986 divtlb.cpp: strore address of elemtnt 0 of m_table and return it in vtlb_table, with this in debug mode i386 is 1.7 times faster (nw) 2016-08-22 19:35:39 +02:00
Nathan Woods
cd745e6095 Now setting m_filetype for images loaded from softlists 2016-08-22 09:15:24 -04:00
AJR
cb8d322890 Create address_space_debug_wrapper to deal with pedantic but common issue (nw) 2016-08-21 22:07:55 -04:00
Nathan Woods
16d4c4e358 Fixed regression with cassette code that caused hangs to happen when loading cassette image formats that lacked read/write support
This entailed reintroducing device_image_interface::make_readonly(); I also reimplemented the feature in the cassette code in a less hacky way.
2016-08-20 22:42:53 -04:00
Nathan Woods
b9487a6c8a Changed software_info::find_part() to use std::find_if() 2016-08-20 11:30:30 -04:00
Nathan Woods
58e2f401ed Minor cleanups to device_image_interface::find_software_item() 2016-08-20 11:30:25 -04:00
Nathan Woods
e17497b9ee Standardized some names for softlist concepts
- "identifier" for a potentially fully qualified way to reference a software item (e.g. - apple2gs:3stooges:flop1)
- "list_name" for the name of a list (e.g. - apple2gs or a800_flop)
- "software_name" for the name of a software item (e.g. - 3stooges)
- "part_name" for the name of a part (e.g. - flop1)
2016-08-20 11:30:10 -04:00
Nathan Woods
a4f59b3242 Changing device_image_interface::determine_open_plan() to not support creating an image unless device_image_interface::create() is used
I'm somewhat surprised that this has not bit us until now.  The implication of how it used to work is that device_image_interface::load() could actually create images; it is hard to eliminate the possibility that something might be incorrectly relying on this behavior.  I've determined that this isn't the case for imgcntrl.cpp and floppycntrl.cpp
2016-08-19 08:24:23 -04:00
Vas Crabb
563690f545 make path_iterator hold onto its search path 2016-08-19 15:23:31 +10:00
Vas Crabb
98907c9283 BIT doesn't need to be a macro 2016-08-18 02:24:14 +10:00
Olivier Galibert
429360df92 dirom: Make robust to too big roms 2016-08-16 16:13:07 +02:00
Vas Crabb
9e3f53356d Fix a comment 2016-08-16 18:07:34 +10:00
Vas Crabb
9121d74344 check number of bits in BITSWAPnn and expand up to 64 2016-08-16 17:53:22 +10:00
Vas Crabb
8aebdfc06d replace BITSWAP8/16/24/32 macros with constexpr function that works for any number of bits 2016-08-16 17:25:19 +10:00
Vas Crabb
af6b18bd68 make &some_required_shared_ptr[offs] work as expected in const context 2016-08-16 17:25:19 +10:00
Olivier Galibert
82c408f54c dirom: device_rom_interface for sound chips with rom/memory map alternative [O. Galibert] 2016-08-15 22:36:39 +02:00
Giuseppe Gorgoglione
01f273d283 gba: rework and simplify I/O registers accessors
Additional info taken from http://problemkaputt.de/gbatek.htm
by Martin Korth
2016-08-15 19:23:16 +02:00
Olivier Galibert
2fbf2919d2 Fix missing region report when DEVICE_SELF is used [O. Galibert] 2016-08-15 14:07:59 +02:00
Jezze
662950fc74 reverted semantic changes of 161a08d 2016-08-14 13:07:07 +02:00
Jezze
161a08dd4a - intscalex, intscaley and unevenstretchx now consider the system orientation and screen rotation 2016-08-13 20:30:54 +02:00
Vas Crabb
41e4133d0b Merge pull request #1222 from npwoods/move_software_name_parsing
device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse()
2016-08-13 01:00:52 +10:00
Nathan Woods
defb9a0aff Adding parentheses around some (but not all) ROM_* macro parameters 2016-08-12 07:19:58 -04:00
Nathan Woods
75f5be77b0 Changed how ROM_COPY and ROM_FILL are represented in tiny_rom_entry to be more how they were in the past
Turbosub had a ROM_COPY declaration with an expression ('ROM_COPY( "main_code", 0x18000 + 0x2000,...) and this simply did not work with the new model.  This required changing ROM_* declarations to more resemble how they used to be and to perform the conversion on load.
2016-08-11 17:16:35 -04:00
Nathan Woods
549df5e6b0 Fixed an issue that caused softlist device descriptions to be blank
This also fixes a likely undiscovered issue where the filename in softlist XML parse error messages was also blank
2016-08-11 07:40:20 -04:00
Nathan Woods
1f7c2b6a4a Changing 'bool iswild' to 'const bool iswild' 2016-08-10 08:36:19 -04:00
Nathan Woods
68c2d88d51 Converted more softlist code to use std::string 2016-08-10 08:08:10 -04:00
Nathan Woods
9f5325a311 device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse()
Also consolidated with code that performed a quick pass to identify whether a piece of text is a software name
2016-08-10 07:22:46 -04:00
Curt Coder
8bf6e9ebb5 pofo: Added skeleton for PCD3311T sound chip. (nw) 2016-08-10 13:05:14 +03:00
Nathan Woods
1cda375d5e Eliminated device_image_interface::make_readonly()
Take note that I eliminated make_readonly(); here is why I think the calls were unnecessary:
1.  All image loads through softlists are done through common_process_file(), and thus going to be readonly anyways
2.  The cassette.cpp call to make_readonly() seems to be a residual hack, if a failure occurs the image will be unloaded anyways
2016-08-09 22:27:24 -04:00
AJR
f9939f28a8 UI-related cleanup (nw)
- Create class ui::machine_info for holding calculated machine info and generating descriptive strings for the UI. This absorbs a number of unimportant core functions that existed only for the UI's convenience.
2016-08-09 20:31:34 -04:00
Vas Crabb
61579a4f16 Merge pull request #1214 from npwoods/more_diimage_softlist_stdstring_stuff
More softlist-related conversions of strings to std::string
2016-08-09 10:51:28 +10:00
Nathan Woods
01844ed061 More softlist-related conversions of strings to std::string 2016-08-08 19:51:32 -04:00
AJR
828f824708 Make address maps complain when entry bounds lie outside the global mask (nw)
- Alter a bunch of address maps so all validity checks pass. These includes global address masks in Hexaa and the Newbrain FDC (regression testing should be done here).
- Remove the Lisa wraparound read/write handlers.
2016-08-08 13:38:40 -04:00
Vas Crabb
6c8bb59ba2 Merge pull request #1206 from ajrhacker/memory_reset
New core input type: "Memory Reset"
2016-08-09 01:10:08 +10:00
Miodrag Milanović
f67311c5a5 Merge pull request #1180 from npwoods/split_softlist_code_redo
Redo of split of src/emu/softlist.[cpp|h]
2016-08-08 13:43:06 +02:00
therealmogminer@gmail.com
74e1aa4619 Fix benchmarking by adding additive-blend YUY16 support to rendersw, nw 2016-08-08 11:08:47 +02:00
AJR
c8d1050110 New core input type: "Memory Reset"
- In machines that store their settings and/or bookkeeping logs in some form of non-volatile memory, "Memory Reset" will reset them to some system-provided default.
- This replaces all existing inputs named "Memory Reset" and a few simply named "Reset" which are known to do this rather than reboot the system (a confusion to be avoided, though many systems will only acknowledge this input at boot time); others should be checked.
- The default key binding (F1) for this new input type is chosen partly to avoid conflicts with those used by gambling/mahjong games which are currently the only systems to use this, though broader use is envisioned.
2016-08-07 22:10:58 -04:00
R. Belmont
8b6f09adcc Merge pull request #1202 from npwoods/use_romentry_vector
C++-fiied code that iterates over rom_entry arrays (without usage of rom_[first|next]_*)
2016-08-07 16:05:30 -04:00
R. Belmont
9342233fda Merge pull request #1188 from npwoods/more_diimage_stdstring
More conversion of 'const char *' --> std::string in diimage
2016-08-07 15:58:00 -04:00
R. Belmont
d7370ae5fe Merge pull request #1159 from shattered/_74dec47
keyboard: add F16..F20 keys (present on DEC LK201 keyboard and its cl…
2016-08-07 15:52:57 -04:00
Nathan Woods
f5968efcea C++-fiied code that iterates over rom_entry arrays (without usage of rom_[first|next]_*) 2016-08-07 10:29:51 -04:00
Nathan Woods
7f5e233933 Created a tiny_rom_entry structure for the purposes of rom_entry declarations in code, and a first pass at the required core changes
to unpack tiny_rom_entry structures at runtime.

WARNING - I've done preliminary testing on a tiny build (pacman works), but nothing more.  I know for a fact that a full compile fails
2016-08-06 08:54:37 -04:00
AJR
da754c8078 Devfind revision phase 2 (nw)
- Eliminate read_safe as a global function and make it a method of optional_ioport (and required_ioport, for which it makes less sense).
- New constructor for optional_ioport_array and required_ioport_array using std::initializer_list to specify tag list
- Remove pointer/reference conversion operators for required_ioport and optional_ioport. Explicit getters like found() and target() are now required when dereferencing isn't wanted. Many drivers have been changed to use required_ioport_array and optional_ioport_array to make this cleaner.
- Update numerous drivers that were using read_safe to use I/O port finders generally. Port names have been kept the same as far as possible to avoid breaking saves.(Some of the optional finders should probably be required.)
- Give edfbl and monkelf their own memory maps so hacky input reading routines can be removed.
- Clean up some legacy static handlers in amiga.cpp and cubo.cpp.
2016-08-05 19:05:01 -04:00
Robbbert
a475f61dd8 Fixed ROM_FILL when fill value is hex. 2016-08-05 14:06:16 +10:00
Nathan Woods
ff064ba37a More conversion of 'const char *' --> std::string in diimage 2016-08-04 07:21:27 -04:00
Vas Crabb
ae0e3fbf57 quick fixes to some more stuff that isn't supplementary plane clean 2016-08-03 14:54:28 +10:00
Nathan Woods
a9e706915c This fixes issues where softlist items (that were not for floppies) were loaded from the software list menu
I'm still not 100% satisfied with this patch.  While I got rid of the weird path when hook_proc() was called for a software list item,
I still don't like the whole m_init_phase infrastructure in devices, which seems to be an arbitrary piece of state.  Baby steps...
2016-08-02 20:06:08 -04:00
Nathan Woods
f9db568146 Redo of split of src/emu/softlist.[cpp|h]
This is a redo of the split first submitted in #137, with the following differences:
* The newly refactored rom_entry data structure is used
* I've kept the refactored softlist code in src/emu, in order to defer the mechanical process of moving it
* I've kept includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation
* Obviously, this goes against the latest master
2016-08-02 17:40:49 -04:00
Vas Crabb
889ecdfd4f Let's give the new srcclean a spin... 2016-08-02 16:59:02 +10:00
Nathan Woods
af967d1ee7 Fixed issue that prevented softlist items specified on devices from loading
The issue is that I expected any softlist items passed to devices to be fully qualified (e.g. - apple2e:flop1:agentusa) when in reality, they might not be.  Therefore, I changed the regex that identifies softlist items passed to devices from:

	\\w+\\:\\w+\\:\\w+

to:

	\\w+(\\:\\w+\\:\\w+)?
2016-08-01 23:16:46 -04:00
Nathan Woods
a7b00e3f6d Converted more stuff in diimage to use std::string instead of 'const char *' 2016-08-01 20:24:06 -04:00
Vas Crabb
062017977d Merge pull request #1176 from npwoods/fix_romload_fill
Fixed breakage caused by a change in how the byte for ROM_FILL is represented with recent changes
2016-08-02 09:52:42 +10:00
Nathan Woods
a2b0b2fbd4 Fixed breakage caused by a change in how the byte for ROM_FILL is represented with recent changes 2016-08-01 19:46:53 -04:00
Nathan Woods
764371c72c Changed device_image_interface::load() to take 'const std::string &' 2016-08-01 19:44:01 -04:00
Vas Crabb
871656c98c Merge pull request #1171 from npwoods/romentry_move_redo
Changes rom_entry from a struct to a class, storing its strings as stdd::string and separated the declaration into a new header
2016-08-01 22:51:23 +10:00
Nathan Woods
7384598c25 Added some default constructors to rom_entry(), and made it so changes to flags are done through a set_flags() accessor method 2016-08-01 08:48:23 -04:00
Nathan Woods
2d2a193c02 Fixing a stupid merge error that broke image loading 2016-08-01 08:13:10 -04:00
Nathan Woods
ee302246c9 Changes rom_entry from a struct to a class, storing its strings as std::string and separated the declaration into a new header.
This should really be followed up by further changes to eliminate the usage of the weird accessor macros in favor of conventional C++
accessors
2016-08-01 08:01:34 -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
Nathan Woods
59ca4d1763 1. Merge branch 'master' into diimage_filetype_as_stdstring
2.  Introduced is_filetype(), instead of normalizing filetype() to lower case
2016-07-31 23:52:57 -04:00
Nathan Woods
7b7faffd01 Merge branch 'master' into separate_softlist_image_load 2016-07-31 22:42:27 -04:00
Nathan Woods
9d1a53bef3 Made a bunch of device_image_interface members private (instead of protected) 2016-07-31 17:55:26 -04:00
Nathan Woods
024f698364 Merge branch 'master' into separate_softlist_image_load 2016-07-31 15:20:49 -04:00
Nathan Woods
a4f24a24d3 This changes device_image_interface::filetype() to return 'const std::string &' instead of 'const char *'.
In the interests of removing burdens from client code, I also changed the following:
- filetype() will always return the file extension in lower case
- device_image_interface::filetype() will return the correct extension for files loaded as a part of softlists
- The code for extracting a file extension is now encapsulated in core_filename_extract_extension()

Client code has been updated
2016-07-31 15:06:06 -04:00
Miodrag Milanovic
91fcff1b6d cleanup (nw) 2016-07-31 20:29:24 +02:00
Miodrag Milanovic
22c7a00d57 reverse logic of IMAGE_VERIFY (nw) 2016-07-31 20:02:56 +02:00
Miodrag Milanovic
6f5e223853 for bool type use true and false (nw) 2016-07-31 20:02:56 +02:00
Vas Crabb
a0ce6c3b37 fix after pass through the diff 2016-08-01 01:20:03 +10:00
Miodrag Milanovic
f127621e13 made constexprs lower case and used constexpr for returning input value as well for rest of defines in osdcomm.h (nw) 2016-07-31 16:47:26 +02:00
Miodrag Milanovic
eaa70ae031 cleanup of some conversions (nw) 2016-07-31 16:41:26 +02:00
Miodrag Milanovic
d91322223b fixed clang (nw) 2016-07-31 15:59:39 +02:00
Miodrag Milanovic
184f7e5605 win compile fix due to previous changes (nw) 2016-07-31 15:31:22 +02:00
Miodrag Milanovic
aeadbfe2b1 fix linux compile (nw) 2016-07-31 14:59:01 +02:00
Vas Crabb
c703235246 Merge pull request #1165 from npwoods/diimage_add_format
Created device_image_interface::add_format() protected member and made device_image_interface::m_formatlist be private
2016-07-31 22:54:28 +10:00
Nathan Woods
b1b29cd44e Created device_image_interface::add_format() protected member and made device_image_interface::m_formatlist be private 2016-07-31 08:47:49 -04: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
Nathan Woods
5f1bb05263 Removed device_image_interface::has_been_created()
This method was necessary long ago when devices didn't have distinct load and create paths, which has since been addressed
2016-07-30 14:41:09 -04:00
Nathan Woods
81c8de57ca Changed device_image_interface::load() so that it is no longer responsible for both loading images and softlist items; now the latter
is done through a new method - device_image_interface::load_software()
2016-07-30 10:59:54 -04:00
Nathan Woods
0df4a2339a Three times is a charm 2016-07-30 09:28:48 -04:00
Sergey Svishchev
e86fd713e7 keyboard: add F16..F20 keys (present on DEC LK201 keyboard and its clones) 2016-07-30 16:26:00 +03:00
Nathan Woods
eb79ffac88 <+cuavas> you've changed the function, you get to change it properly! 2016-07-30 09:15:27 -04:00
Nathan Woods
cfd4397f3c Miscellaneous cleanups:
- Removed some c_str() calls when using util::zippath_parent()
- Removed the error code return value from set_image_filename()
- Consolidated error code translation (osd_file::error ==> image_error_t) in image_error_from_file_error()
- Other cosmetic improvements
2016-07-30 08:56:37 -04:00
Vas Crabb
5fe3b907af make buffered serial a mixin to promote reuse [Vas Crabb] 2016-07-30 20:34:16 +10:00
Vas Crabb
9c9ee49c9f Merge pull request #1156 from npwoods/zippath_strstring
Converted a number of zippath calls that took 'const char *' to std::string
2016-07-30 12:25:22 +10:00
Nathan Woods
a7bfc73cfb Changed various string arguments for emu_file::open() from 'const char *' to std::string 2016-07-29 20:53:46 -04:00
Nathan Woods
bf111bbc6e Converted a number of zippath calls that took 'const char *' to std::string 2016-07-29 18:00:46 -04:00
Nathan Woods
b12da9c090 Miscellaneous cleanups to diimage.[cpp|h]; mostly std::string stuff 2016-07-29 08:29:47 -04:00
Vas Crabb
90e457928f Make some constexpr functions comply with older C++11 rules to keep Visual Studio happy (nw) 2016-07-28 10:18:23 +10:00
AJR
af80bf0e69 Validity checking improvements
- Always print the name of each driver checked with -validate -verbose, and print before beginning the check to help detect crashes
- Fix already_checked test so that softlists get validated the first time, not every time but the first
- Remove #include "validity.h" where not required (nw)
- attotime::from_double cannot be constexpr because it uses floor (nw)
2016-07-27 09:12:55 -04:00
Vas Crabb
eac2a1fcc5 Keyboard/terminal improvements: [Vas Crabb]
* Mark lots of things constexpr in attotime and turn macros into functions
* Add base classes for HLE matrix keyboard and buffered RS232 device
* Make generic keyboard/terminal more usable
* Keyboard has configurable typematic delay/rate
* Keyboard has selectable JIS/ANSI layout
* Keyboard handles simultaneous keypresses more intuitively
* Keyboard uses meta to set high bit
* Terminal has configurable auto LF on CR, auto CR on LF and local echo
* Terminal has audible bell
* Untangle Olivetti M20 keyboard from generic_keyboard
* Add notes to Olivetti M20 keyboard emulation
* Make Olivetti M20 keyboard match physical layout
* Untangle RM Nimbus keyboard from generic_keyboard
* Fix natural keyboard mode with RM Nimbus
* Untangle x68k keyboard from generic_keyboard
* Improve x68k key names and mapping
* Improve x68k typematic behaviour
* Untangle QX-10 keyboard from generic_keyboard
* Keep NGEN keyboard barely working
2016-07-27 21:59:32 +10:00
Miodrag Milanovic
4887ce1844 Cleanups and version bump 2016-07-27 09:26:22 +02:00
Vas Crabb
7f784f365d Merge pull request #1146 from ajrhacker/debugcpu_valid
debugcpu: prevent nullptr exceptions when devices named in expression…
2016-07-26 13:42:07 +10:00
AJR
566c12db31 debugcpu: prevent nullptr exceptions when devices named in expressions lack memory interfaces 2016-07-25 23:20:52 -04:00
mahlemiut
ef22943d01 make ioport_list a map instead of unordered_map, should fix INP incompatibilities across compilers and platforms. 2016-07-25 21:28:19 +12:00
Vas Crabb
2ba37fd95d Merge pull request #1138 from ajrhacker/diimage_cleanup
Cleanups for device_image_interface (nw)
2016-07-25 14:01:26 +10:00
R. Belmont
41875a92af Merge pull request #1117 from shattered/_ded41cad
sm7238: new NOT_WORKING driver: SM 7238 (aka T3300) serial terminal
2016-07-24 14:43:01 -04:00
AJR
d7df2df4a7 Cleanups for device_image_interface (nw)
- Remove the loaded_through_softlist virtual method and add a boolean getter with the same name, replacing a few variables that provided similar but redundant flags.
- Remove call_softlist_load, which the previous change reduces to a simple, unnecessary wrapper.
2016-07-23 21:56:44 -04:00
Nathan Woods
4aa0ab1724 Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and hashing.[cpp|h]) into util:: 2016-07-23 12:49:33 -04:00
Vas Crabb
fe956e9aa9 Merge pull request #1131 from npwoods/consolidate_call_softlist_load
Consolidated implementations of device_image_interface::call_softlist_load()
2016-07-23 23:18:50 +10:00
Nathan Woods
e45d316bc9 Vas Crabb feedback: Replacing the enum with a class hierarchy, derived from 'software_list_loader' 2016-07-23 09:10:14 -04:00
Miodrag Milanovic
52f5d4d0c1 This part was not meant to be commited (nw) 2016-07-23 11:30:30 +02:00
Miodrag Milanovic
b2ebca6189 prevent crashing (nw) 2016-07-23 11:10:17 +02:00
Nathan Woods
87d53be505 Added a usage of std::find_if() in softlist 2016-07-22 07:51:56 -04:00
Nathan Woods
ae5dab64d7 device_image_interface::call_softlist_load() was a virtual function where every implementation was one of two copy-and-paste jobs. This change consolidates all of these implementations, replacing that virtual function with a mere hook that chooses which technique to perform 2016-07-21 21:10:18 -04:00
AJR
8995d84034 Cure software lists of validity checking errors (nw)
- Fix stupid logic errors in software_list_device::internal_validity_check
- Allow info and feature list entries to provide an empty string as the value
- Change a couple of null publisher entries in vz_cass.xml to "<unknown>"
2016-07-21 18:58:03 -04:00
Nathan Woods
7e729626ce Incorporating Vas Crabb feedback 2016-07-21 06:40:07 -04:00
Nathan Woods
a1e4e90619 Changed some usage of simple_list to std::list in the softlist code 2016-07-21 06:17:14 -04:00
Vas Crabb
880d31a573 std::string::c_str() const never returns nullptr
also get rid of extra length parameter using a template
2016-07-21 13:42:39 +10:00
Nathan Woods
40a9e78704 Vas Crabb feedback: Better adoption of move constructors, other cleanups 2016-07-20 19:16:30 -04:00
Nathan Woods
c86ab9dbac Exposed several strings as std::string on softlist objects, and fixed a few bugs 2016-07-20 09:44:27 -04:00
Nathan Woods
8e169de1cd Using std::string more pervasively in softlist.cpp 2016-07-19 22:19:08 -04:00
Nathan Woods
12369fe758 const correctness related changes to softlist 2016-07-19 20:40:45 -04:00
Sergey Svishchev
1930242988 sm7238: new NOT_WORKING driver: SM 7238 (aka T3300) serial terminal 2016-07-18 00:54:34 +03:00
R. Belmont
bc33ee65c4 Merge pull request #1073 from ajrhacker/render_crosshair
Crosshair refactoring (nw)
2016-07-16 06:07:11 -04:00
Vas Crabb
7d5da01f94 check a bunch more RGB operations in validity (nw)
implement the missing ones in rgbgen
format similar one-liners in a more tabular way
use default copy construct/assign
2016-07-15 16:18:42 +10:00
therealmogminer@gmail.com
c643372753 Make loop collation optional for debugger trace and traceover commands 2016-07-14 16:13:52 +02:00
Nathan Woods
109c81d17d Consolidating implementations of create_option_guide() that return nullptr 2016-07-13 20:04:45 -04:00
Vas Crabb
ac7c2ce2d4 Introduce validity checks for RGB utilities and fix bugs uncovered [Vas Crabb]
* Added several missing functions to rgbgen
* Fixed logical shift right in rgbgen
* Fixed sra that should be sra_imm in rdptpipe
* Added some simple SSE4.1 optimisations in rgbsse
* Re-organised rgbsse, rgbvmx and rgbgen to be in more logical order
* Fixed return on some modifying operators
* Made some more reference parameters const
* Removed inline qualifier from a number of methods as it's implied when body is present at declaration
* Mark some constructors explicit
2016-07-14 00:50:19 +10: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
f45998872c rgbvmx: fix the last little endian issue 2016-07-12 15:50:24 +10:00
Vas Crabb
91973008fa rgbvmx: fix bilinear_filter and blend on ppc64le 2016-07-12 14:57:59 +10:00
Vas Crabb
5bd80a2173 more const, start fixing ppc64le 2016-07-12 04:20:31 +10:00
Vas Crabb
21bde640e0 more PPC fix (nw) 2016-07-11 23:38:12 +10:00
Vas Crabb
269ed5c815 rgbvmx: use function-style casts, add explicit casts to keep newer GCC happy 2016-07-11 23:19:04 +10:00
Vas Crabb
066dab4bde better enum increment/decrement operators:
* deduce underlying type rather than assuming int
* return old value from post-increment/decrement
* return reference from pre-increment/decrement
2016-07-11 23:18:16 +10:00
Vas Crabb
7f3ced8c96 Fix scroll in debugger state view 2016-07-11 19:21:39 +10:00
Nathan Woods
4c25315d59 Introduced running_machine::compose_saveload_filename() function to convert a filename (for state save/load) to a fully qualified path 2016-07-10 16:25:10 -04:00
AJR
35b6cb7af1 Crosshair refactoring (nw)
- Individual crosshairs are now first-class objects, rather than bits of state scattered across half a dozen arrays. The class is named render_crosshair with a view towards incorporating crosshairs into layouts in the future, rather than managing them separately as crosshair_manager still does now.
- Removed the old crosshair_user_settings interface for adjusting crosshair settings, since the UI can access the new crosshair objects directly.
2016-07-10 10:26:49 -04:00
Vas Crabb
aaa3090dd3 clean up includes (nw) 2016-07-08 14:04:20 +10:00
Vas Crabb
1c0947a717 Merge pull request #1056 from npwoods/opresolv_cplusplusification
C++-ification of src/lib/util/opresolv.[cpp|h]
2016-07-08 12:37:58 +10:00
Nathan Woods
80a7239950 Changed image_device_format::extensions() to be a vector 2016-07-07 19:23:03 -04:00
Nathan Woods
e3cb2c7d78 C++-ification of src/lib/util/opresolv.[cpp|h] (moved to util:: namespace, changed option_resolution to be a class, etc) 2016-07-07 06:59:35 -04:00
Nathan Woods
4079da505e Changed diimage.cpp to use C++ comments 2016-07-05 21:47:30 -04:00
Nathan Woods
a620ba26cd Converted properties on image_device_format to return 'const std::string &' instead of 'const char *' 2016-07-05 21:36:04 -04:00
Nathan Woods
3b5d83e48b Created a typedef to define the type for device_image_interface::m_formatlist 2016-07-05 21:17:21 -04:00
ajrhacker
71053ad9dd feversoc: Hook up EEPROM; remap buttons (#1028)
feversoc.cpp: Hook up EEPROM; remap buttons, hook up lamps and serial RTC [AJR];

rtc4543.cpp: More complete implementation with better logging features. Added JRC6355E variant used by feversoc. [AJR]
2016-07-05 17:52:30 +02:00
Vas Crabb
9af1661a8b Merge pull request #1037 from npwoods/file_create_refactoring
File create refactoring
2016-07-05 13:26:30 +10:00
Nathan Woods
bdf2059bf4 As per Vas Crabb, readding overloads that take a std::string& parameter for the result 2016-07-04 23:22:37 -04: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
Nathan Woods
de6bbdf176 Changed a few zippath related functions to return their strings as a return value, as opposed to passing in a destination buffer 2016-07-03 13:28:09 -04:00
Vas Crabb
4142ecd794 Use std::map for mapping XML tag name to layout component creation function - makes the code simpler and easier to read as well as being more scalable
Fix problem using layout_element::texture in vector - destructor frees resources but generated copy/assignment operators don't release them, leading to a problem any time vector expands or element is added/removed anywhere but end
2016-07-02 14:18:44 +10: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 Milanovic
bc01a8bfeb simple_list to vector in rendlay (nw) 2016-07-01 14:46:18 +02:00
Miodrag Milanović
17d2a77aa3 Merge pull request #1019 from ajrhacker/laycomp
Polymorphize layout_element::component (nw)
2016-07-01 13:59:20 +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
d34724b3ab - removed FUNC_NULL macro
- made emu_timer register_save properly handle timer_expired_delegate()
- removed timer_expired_func and calls using it
2016-07-01 11:47:12 +02:00
AJR
dd96ec0f2f Polymorphize layout_element::component (nw) 2016-06-30 13:05:21 -04:00
Miodrag Milanovic
63f9a01f8c Cleanup and version bump 2016-06-29 08:34:30 +02:00
AJR
c88953784c Override method (nw) 2016-06-26 13:08:45 -04:00
AJR
7870e6d539 Delegatize dasm overrides (nw) 2016-06-26 13:03:08 -04:00
Miodrag Milanovic
8042037fd9 Added PugiXML and used it for hashfile (nw) 2016-06-25 19:54:44 +02:00
AJR
38c4b762f0 Move disasm overrides into interface, reducing driver-debugger dependencies (nw) 2016-06-24 22:34:13 -04:00
Vas Crabb
5cee9e9bc4 POSIX implementation for new directory read features, cleanup of Windows implementation, return directory handle as smart pointer, fix full build [Vas Crabb] 2016-06-25 03:35:23 +10:00
Nathan Woods
7509a56dc0 Incorporated cleanups requested by Vas Crabb 2016-06-24 07:55:10 -04:00
Nathan Woods
cd8b414e6b C++-ified osd_directory (now osd::directory), and added last_modified to osd::directory::entry 2016-06-24 07:13:18 -04:00
Nathan Woods
f63148b735 "game" ==> "machine" 2016-06-23 06:40:06 -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
AJR
7f3699e69d More efficient device error logging 2016-06-20 14:31:08 -04:00
Olivier Galibert
1c3a6595ff emumem: Fix some issues [O. Galibert]
It's actually a very old bug that was uncovered.  Direct access update
mistaked the per-handler mask and the global mask.  As it happened the
per-handler mask was often the global mask, but I made the frontend
*way* more agressive w.r.t masks now.  So the bug became way more
visible.
2016-06-19 22:54:59 +02:00
AJR
c81e0c43da Forgot a few (nw) 2016-06-19 12:49:46 -04:00
AJR
dd056fd769 Use unshifted addrmask (not bytemask) in check_optimize_foo (nw)
This allows hp9845b to boot again.
2016-06-19 12:39:49 -04:00
Miodrag Milanovic
286a7e06b9 m_formatlist is now vector (nw) 2016-06-19 10:10:11 +02:00
Miodrag Milanovic
1071a620f5 simple_list to vector in screen (nw) 2016-06-19 10:10:11 +02:00
Miodrag Milanovic
025756c2d6 simple_list to vector in sound (nw) 2016-06-19 10:10:11 +02:00
Nathan Woods
f01066bcbb Modernized the cassette animation 2016-06-18 23:48:22 -04:00
AJR
f87a5de446 Prevent NaN errors by initializing variable in ui::text_layout (nw)
Use osd_printf_verbose instead of popmessage in ay8910 (too annoying even for debug build)
2016-06-18 21:00:08 -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
Dankan1890
ba3eba5690 Merge pull request #967 from npwoods/miscellaneous_text_fixes_and_cleanups
Miscellaneous text fixes and cleanups
2016-06-18 22:42:06 +02:00
Nathan Woods
5619297374 Added rgb_t::transparent constant 2016-06-18 14:03:50 -04:00
Olivier Galibert
21af6ad0a8 I need a vacation (nw) 2016-06-18 19:23:32 +02:00
Olivier Galibert
cefd4fe46b Fix stupid typo 2016-06-18 19:22:30 +02: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
408ce16683 removed simple_list from emumem (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
ae8f989a8b cleanup (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02: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
d705e4a28d ioport tagged_list to unordered_map (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
cb9d158d57 proper exception handling (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
a07b82ac11 tagged_list to unordered_map for slots (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
62805f7cac no need for custom allocators (nw) 2016-06-18 15:32:15 +02:00
hap
a205b38cf6 Merge pull request #962 from ajrhacker/addrvalid
Validity checking for AM_MASK/AM_MIRROR/AM_SELECT, based on OG's rece…
2016-06-17 21:10:55 +02:00
R. Belmont
11ed715659 Merge pull request #955 from belegdol/master
Made the way jpeglib.h is included more pretty
2016-06-17 14:26:57 -04:00
AJR
0d6f7bc4b0 Validity checking for AM_MASK/AM_MIRROR/AM_SELECT, based on OG's recent restrictions (nw)
- Update address maps so all drivers pass checks
- Comment out some irregularly-patterned mirrors on RAM areas (needs better solution)
2016-06-17 14:05:34 -04:00
Olivier Galibert
402f0c86ab emumem: Handlers on different subunits of the same address with different address masks are now supported. [O. Galibert] 2016-06-17 19:00:50 +02:00
Olivier Galibert
a903e4c59c Merge pull request #956 from Dagarman/master
Fix comment
2016-06-17 18:27:07 +02:00