Commit Graph

12444 Commits

Author SHA1 Message Date
Jordi Mallach
6f103c2391 Fix various spelling fixes. 2016-09-29 10:14:48 +02:00
Jezze
778d54daf6 Fixed OSX build as suggested by ajrhacker
* use fabsf rather than abs for float->float
2016-09-28 22:53:49 +02:00
Jezze
ecf1e166fc Fixed several small issues in HLSL/BGFX
* fixed target texture dimension when -intoverscan is used (this fixes the appereance of scanline and shadow mask)
* added target_scale and screen_count uniforms
* rounded corners now remain aligned with screen bounds when -intoverscan is used (single screen only)
2016-09-28 15:30:43 +02:00
angelosa
b7ab2813f7 Merging machine_flags and master 2016-09-28 11:34:02 +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
angelosa
883cc63eb1 Proposal for new system flags for 0.179 dev-cycle:
* MACHINE_NODEVICE_MICROPHONE
  For unemulated microphone;
* MACHINE_NODEVICE_CAMERA
  For unemulated camera;
* MACHINE_NODEVICE_PRINTER
  For unemulated printer
* MACHINE_NODEVICE_LAN
  For unemulated linking multi-cabinet capabilities;
* MACHINE_NODEVICE_WAN
  For unemulated networking capabilities;

Restructured MACHINE_FLAGS into FATAL / WARNING / BTANB main categories, in order to make them easier to expose.

List of ToDo:
* MACHINE_IS_SKELETON / MACHINE_IS_SKELETON_MECHANICAL needs to be sorted or nuked, your call;
* Verify outputted text for the new flags.
* Define if BTANB type flags should have yellow warning or not.
* Add examples (will do in next commit).
2016-09-26 13:27:16 +02:00
Vas Crabb
33b2c73395 srcclean (nw) 2016-09-26 04:51:59 +10:00
Brad Hughes
31a9c62d1f Merge pull request #1405 from tverona1/master
Adding support for stable controller id's
2016-09-20 17:54:34 -04:00
Tomer Verona
845b36dae2 Adding id() property to input_device
This change adds id() property to input_device, which represents the
unique device id. This allows the osd layer when creating a device to
pass a friendly display name along with a unique identifier.

Currently the device id is only used to map a physical controller device
to controller id, but can be used more generally in the future. For raw
input devices, we use the full raw input name as the device id. For all
other devices, we fall back to device name as the device id. The
"uniqueness" of the device id is not currently enforced in code.
2016-09-20 12:19:58 -07: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
Tomer Verona
32ea8266a3 A couple of fixes
- Fix null-reference exception when mapping device to unused (null)
controller index
- Restrict device map to controller configs
2016-09-20 01:24:36 -07:00
Lord-Nightmare
f12ba601b2 taitosj.cpp: Add XTALs for various clocks based on schematics. Documented and implemented AY-3-8910 outputs being tied directly together for 3 of the 4 AY-3-8910 chips. [Lord Nightmare[ 2016-09-17 22:18:07 -04:00
Tomer Verona
0ed1ce5663 Tweak info message 2016-09-14 17:53:34 -07:00
Tomer Verona
7c6ddc1e4c Merge remote-tracking branch 'mamedev/master' 2016-09-12 18:40:30 -07:00
Tomer Verona
2bd18d5fea Support for configuring device to conrtoller id
This change adds support for configuring device to conrtoller id. This
allows for stable controller ids even if USB devices are plugged /
unplugged, system is rebooted, etc.

See documentation for additional context.
2016-09-12 18:35:36 -07:00
Vas Crabb
0036e43b7b check characters in softlist setnames, fix errors (nw) 2016-09-12 16:21:16 +10:00
Vas Crabb
b36662dbf2 check that driver names contain only [0-9a-z_] (nw) 2016-09-10 10:42:52 +10:00
Vas Crabb
6a2b41aa0b Merge pull request #1332 from npwoods/option_guide_and_imgtool
option_guide C++-ification, touched up imgtool
2016-09-10 10:15:30 +10:00
Vas Crabb
0e03164fc1 Merge pull request #1290 from npwoods/set_filetype_for_softlist_images
Now setting m_filetype for images loaded from softlists
2016-09-09 22:22:24 +10:00
Vas Crabb
c083e36c41 Merge pull request #1370 from npwoods/conditionally_support_cmdline_imagecreate
Allows devices to indicate whether image creation should be supported at the command line
2016-09-09 19:57:34 +10:00
Robbbert
3291684c2b Increased max length of parent name to 16, for evaluation purposes. (nw) 2016-09-09 16:29:26 +10:00
Nathan Woods
98df223c17 Allows devices to indicate whether image creation should be supported at the command line
This addresses MT bug #6372.  The prior issue is that creating serial and/or printer output relied on how image_load() would create images that were not there.  This behavior was not universally desirable (the consensus was that it was wrong for disk images, up in the air for cassettes etc).  This change makes it possible for devices to control this behavior.

Currently I have it associated with image_type(); this might not be the ideal fix.
2016-09-06 07:37:31 -04:00
MetalliC
e153f45560 fix MT06364 2016-09-06 13:31:55 +03:00
Olivier Galibert
7f37b29274 okim6295: Directly use set_rom_bank [O. Galibert]
dirom: Add a mandatory callback on bank change [O. Galibert]
2016-09-06 11:44:15 +02:00
Olivier Galibert
98392fb5e3 dirom: Resist to out-of-bounds bank numbers [O. Galibert] 2016-09-06 11:44:15 +02:00
Curt Coder
908f473f19 dislot: Added missing quote. (nw) 2016-09-05 22:09:23 +03:00
Nathan Woods
4251194fe5 Worked around the OPTION_GUIDE_EXTERN issue by using a crazy trick involving namespaces
Caveats:
  1.  Because of how this trick works, it is no longer possible to declare an option guide as static, so I had to make a bunch of changes
  2.  I'm going to want the hardcore C++ guys (i.e. - Vas) to review this with a fine toothed comb
2016-09-03 16:11:58 -04:00
AJR
a237f50680 More consistent use of integer types in tilemap_t and other graphics-related classes (nw)
- Define indirect_pen_t, requiring a slight reordering of emu.h due to an unsurprising dependency
2016-09-03 10:01:39 -04:00
Nathan Woods
965fb61f95 Attempting to make option_guide and option_guide::entry POD types; need to figure out a better way to do OPTION_GUIDE_EXTERN 2016-09-02 23:52:30 -04:00
AJR
0a8652e03f More new features for UI graphics viewer
- Mouse over GFX tiles to reveal pixel values
- Mouse over tilemap to reveal tile codes and colors
- UI tilemap scrolling controls are now orientation-relative
- Make mouse visible everywhere in UI graphics viewer by treating it like a menu
- Add all necessary getters to tilemap_t and a few more (nw)
- Add comment about role of decoder in tilemap creation (nw)
2016-09-02 18:04:38 -04:00
Nathan Woods
2c9e00b96d Moving null_option_guide to global scope to avoid thread safety issues 2016-09-01 20:05:13 -04:00
Vas Crabb
46bf1ce04b More cleanup on the back of Osso's fix for a7e393b36b (nw)
* Make iterators actually meet requirements of ForwardIterator (and by consequence, ForwardIterator, Iterator and EqualityComparable)
* Don't use function statics if they can be avoided - it isn't thread-safe
* Remove leftover crud from when dynamic_buffer and friends were templates in lib/util

It's still dangerous that the const behaviour of iterators doesn't match STL.
Also, simple_list members with similar functionality to STL container members should be renamed.
2016-08-30 01:31:23 +10:00
Ivan Vangelista
7c6a527e26 emumem.cpp: fix regression in save states (nw) 2016-08-29 15:46:10 +02:00
AJR
6ff64def00 Misc. fixes (nw)
- Correct address space number for audiocpu_map in barni.cpp
- Add missing_dependencies check to airraid_dev (fixes segfault in tilemap viewer; yes, I know these tiles are 100% garbage)
- Add assert to device_gfx_interface::palette() to help catch dependency mistakes like the above
- Add MACHINE_IMPERFECT_SOUND to cshootert (music desyncs a lot)
2016-08-28 16:09:03 -04:00
Vas Crabb
c960435d3e srcclean and translation regeneration 2016-08-29 02:02:04 +10:00
Vas Crabb
67bedd6b2e Merge pull request #1331 from antonioginer/master
New stretching options (as suggested by Jeeze)
2016-08-28 10:36:58 +10:00
Nathan Woods
b60879e595 option_guide C++-ification, touched up imgtool
The main point of this change is to C++-ify option_guide.  It was changed from a struct array to a class, namespaced etc, with the ultimate hope of incorporating an in-emulation image creation UI.

Imgtool got hit with a number of changes; I'll probably have to bring that off of the backburner and touch that up too
2016-08-27 16:41:11 -04:00
Olivier Galibert
fe5a6b57d1 dirom fixes (nw) 2016-08-27 22:37:21 +02:00
Antonio Giner
dcc361c354 Consistently apply -intscalex to the long dimension of the target
monitor, and -intscaley to the short dimension.
2016-08-27 22:12:29 +02:00
Antonio Giner
aa326bd8e6 Implement new option -autostretchxy, to automatically apply
-unevenstretchx or -unevenstretchy based on source native orientation.
2016-08-27 22:12:29 +02:00
Antonio Giner
a976bc2a2a Implement new option -unevenstretchy (complementary to -unevenstretchx) 2016-08-27 22:12:29 +02:00
therealmogminer@gmail.com
7df8323c2d Fix -debug -cheat crash, nw 2016-08-27 18:03:12 +02:00
R. Belmont
4434244d3f Merge pull request #1325 from ajrhacker/palette_viewer
Show color values in palette viewer
2016-08-27 10:05:26 -04:00
AJR
1fe589ca1e Show color values in palette viewer
- On the UI graphics viewer's palette screen, moving the mouse over a color rectangle will show the index of the entry and its RGB values in hexadecimal.
- For indirect pens, the index of the corresponding color will also be shown.
- For colors in normal RAM-based palettes, the raw (i.e. undecoded) value stored in memory will also be shown. This does not currently work with most buffered palettes (though the Seibu SPI driver has been updated for this purpose), and is totally incompatible with PROM-based or RAMDAC-based palettes.

(nw) The changes made to the core while implementing this feature may look more substantial than they really are. A whole batch of read methods have been made const, and palette_device now has a generic read_entry function that is used both internally and externally.
2016-08-26 22:39:58 -04:00
Robbbert
be637e1af8 TEMPORARY PATCH to fix the build. 2016-08-27 12:35:49 +10:00
Vas Crabb
17cf4acbef * Make object finders behave like pointers for the purposes of implicit casts, dereferencing and array access, not something that's part pointer, part reference, part vector
* Require dummy tag to be specified explicitly, magical defaults are unhelpful here as the more common case it to search for a real object
* Make the search methods private in concrete classes where possible as users should rely on the resolution process for these things

Still can't hide the memory bank find method since atari400.cpp subverts the resolution process.
Can't get rid of set_target on shared_ptr_finder as it's abused all over the place.
2016-08-27 08:34:06 +10:00
Vas Crabb
ea3ff96673 More prep for removing pointer/reference duality (nw) 2016-08-27 05:47:36 +10:00
R. Belmont
a9025d1f53 Merge pull request #1279 from npwoods/yet_more_softlist_cleanups
Yet more softlist cleanups
2016-08-26 08:18:23 -04:00
R. Belmont
1f22ce8bda Merge pull request #1306 from GiuseppeGorgoglione/master
gba: 1st batch of code refactorings
2016-08-26 08:13:02 -04:00
Vas Crabb
dd1f102d84 Make object_array_finder a bit more flexible, centralise instantiation of more templates, more preparation for crud removal 2016-08-26 17:19:30 +10:00
Vas Crabb
e38a1e4737 Prepare to make object finders behave like a pointer, not a half-pointer half reference part 1 (nw) 2016-08-26 16:53:13 +10:00
smf-
c1b041e834 hacks for MSVC building until better solutions are found. (nw) 2016-08-26 00:23:02 +01:00
Olivier Galibert
f4db841a2e dirom,okim6295: Add/fix banking support. Better okim fix post-release [O. Galibert] 2016-08-25 19:04:14 +02:00
Nathan Woods
58090e0d5f Changed the "extension as filetype" behavior for software list images to be opt in behavior
It sounds like whether it is up in the air whether softlist file types should be derived from file extensions.  Fair enough.  This patch alters the earlier proposal so this at the very least becomes opt in behavior so that an ugly hack does not have to be replicated in client code in a potentially inconsistent and buggy fashion.
2016-08-25 08:28:35 -04:00
Vas Crabb
1c98b515c5 * Doxyfy a significant chunk of devfind.h
* Eliminate a lot of boilerplate code from devfind.h
* Keep instantiation of templates in one place to improve build time
* Remove some dangerous accessors
2016-08-25 21:34:42 +10:00
Vas Crabb
cfbb882720 Merge pull request #1314 from ajrhacker/clang_warnings
Change warning flags for Clang build (nw)
2016-08-25 14:35:00 +10:00
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