summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Workaround for issue where the cannonical instance_name for a device was ↵ npwoods2017-04-211-1/+27
| | | | | lost (#2248) This is a hack; details are in the source code. I felt that it was too late in the 0.185 release cycle to do anything intrusive. I intend to fix this "for real" when image/slot option morphing is encapsulated within emu_options.
* Workaround for sibling disk image loading issue (#2246) npwoods2017-04-191-9/+38
| | | Gory details in the comments
* Workaround for scenarios where both the command line and an INI specify an ↵ npwoods2017-04-191-1/+11
| | | | | image option (#2245) This is a hack; see commentary within the code. I intend to fix this "for real" when emu_options become more self contained
* Fixed an issue where reset_on_load images would not properly persist across ↵ npwoods2017-04-191-10/+15
| | | | emulation sessions (#2244)
* Made a number of device_image_interface members private (#2227) npwoods2017-04-171-1/+1
| | | | | | | | * Made a number of device_image_interface members private This also fixes a number of get_default_card_software() implementations that were accessing m_file incorrectly * Remove duplicate prototype
* Merge pull request #2239 from ajrhacker/dipalette_sanity ajrhacker2017-04-164-35/+49
|\ | | | | dipalette: A return to sanity (nw)
| * Disallow a negative number of palette entries by changing some types (nw) AJR2017-04-164-15/+15
| |
| * dipalette: A return to sanity (nw) AJR2017-04-162-22/+36
| | | | | | | | | | * Revert entries(), indirect_entries(), shadows_enabled() and hilights_enabled() to return the configuration parameters instead of accessing the live state. The thought behind the implementation change was that palette devices could potentially determine the number of entries from the sizes of devfind objects. The regressions caused by this have been worked around, but it was probably a bad idea in the first place. * Zero-entry palettes are no longer valid. The code that tried to support them was basically left over from when every running machine had a single global palette.
* | More options refactoring Nathan Woods2017-04-165-63/+154
|/ | | | | | | | This should address outstanding concerns with PR#2231. I'm trying to turn emu_options into a self contained structure that encapsulates behaviors related to options, including the gymnastics pertaining to image/slot loading and interactions with get_default_card_software() and "just works". When the MAME 0.186 development cycle starts up, I hope to take this further. I want to make core_options::entry an abstract base class so that the entries associated with image options and slot options can derive from it. This will eliminate the current need for emu_options to directly expose maps for image and slot options. For now, I'm in stabilization mode, and I hope to get things working for a stable 0.185 release.
* Changed validity_checker to keep a fresh emu_options for validation purposes ↵ npwoods2017-04-152-2/+5
| | | | | | | | | | (#2232) * Changed validity_checker to keep a fresh emu_options for validation purposes This seems to solve the performance problems introduced by PR#2221 while keeping with that PR's goals of not using the "runtime" emu_options for purposes of validation. * Sorry, I can't spell apparently...
* Fixes issues specifying image/slot options fron INI files (reported by ↵ npwoods2017-04-152-3/+86
| | | | | | | Robbbert) (#2231) This fix really doesn't go far enough. I added hooks so that options specified at the command line can also be responded to when parsed from INI files, but in the long run much of the logic that is currently in mame_options should go into emu_options so that when an option is specified, all of the wacko logic around slot/image specification "just works" because it is encapsulated within emu_options. We have a release 11 days away; I want to be in stabilization mode.
* i8251: Improve logging; restrict external command_w and mode_w access to V53 ↵ AJR2017-04-151-0/+1
| | | | variant (nw)
* xtal.h: Correction and addition (nw) AJR2017-04-141-1/+2
|
* Merge pull request #2221 from npwoods/validation_has_own_options R. Belmont2017-04-141-1/+2
|\ | | | | Changed the validity checks to have its own emu_options
| * Changed the validity checks to have its own emu_options Nathan Woods2017-04-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This comes from a regression reported by Tafoid whereby the following command line: mame coco wildcat Would report the following error (which was not really fatal because it happened within validation): Driver t4426 (file coco12.cpp): 1 errors, 0 warnings Errors: Fatal error Unknown slot option 'pak' in slot 'ext' My changes to option processing changed emu_options to put image and slot options in their own arrays, and I expect those image/slot options to be pertinent to the active driver. However, driver validation was passing the emu_options associated with the main emulation to validation specific maching_config for other drivers. This changes validate_one() to always use a fresh emu_options with each individual validation.
* | Merge pull request #2223 from npwoods/get_default_card_software R. Belmont2017-04-146-55/+104
|\ \ | | | | | | Changes to make get_default_card_software() less stupid
| * | Changes to make get_default_card_software() less stupid Nathan Woods2017-04-106-55/+104
| |/ | | | | | | | | | | | | | | | | | | The goals with this change is to make get_default_card_software() a bit more standalone by making it a const method that does not mutate the state of the device_image_interface. This is done by passing in a small structure that encapsulates the minimum of information that get_default_card_software() needs. This also eliminates the need for device_image_interface::open_image_file() I agree with Sarayan that get_default_card_software() is terrible and needs to ultimately go away. This is a small step in that direction. Lastly, I don't care for the name of get_default_card_software_hook (or get_default_card_software() for that matter). If anybody has better ideas, let me know.
* / Move "optional" basemem and extmem arrays out of tilemap_t (nw) AJR2017-04-111-12/+14
|/ | | | This is intended as a first step towards divorcing tilemap_t and tilemap_device.
* Fixed some regressions introduced in my recent refactoring related to ↵ npwoods2017-04-081-20/+17
| | | | | | | | | | software lists (#2217) This fixes crashes invoked by the following command lines mame nes zelda mame gamate cubeup These had two independent causes. The first crash was a consequence of open_image_file() doing something inappropriate required by implementations of get_default_card_software(). The second crash was a failure to access image options moved outside the core_options structure.
* Fixed a pedantic MSVC warning in dipalette.h Nathan Woods2017-04-061-2/+2
|
* Palette device fixes (nw) AJR2017-04-061-3/+3
| | | | | - Enforce dependencies in various Konami, Sega & Seta GFX devices - Disable palette uniqueness check in divideo
* New device interface for palettes AJR2017-04-0614-600/+765
| | | | | | - Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface. - Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices. - Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
* Refactoring in response to MT#6531 Nathan Woods2017-04-0610-148/+222
| | | | | | | | | | Prior to this change, options for images and slots were stored in the emu_options collection. Anything that might restart the emulation (such as slot changes and images that reset on load) had to manipulate the emu_options structure directly. The dynamic nature of images and slots meant that some elaborate conventions for setting up this collection had to be understood by clients. After this change, emu_options has two new members (image_options and slot_options) that expose image and slot selections via an std::map. Anything that changes images or slots in a fashion that needs to persist across sessions needs to modify these data structures. Additionally, some of the hairly logic (e.g. - get_default_card_software) now records its data here rather than trying to subvert the core_options system. This is how MT#6531 was fixed; now when diimage.cpp sees an image that resets on load, it just modifies the image_options structure and forces a reset. This allowed some further cleanups to happen within diimage. This should be considered a very risky change, and scrutiny/feedback is welcome. In particular, there seems to be functionality surrounding device bioses that I'm not 100% sure how it works; the syntax seems to imply that it only works on slot devices.
* Changed a lookup within the softlist code to use std::find_if() Nathan Woods2017-04-061-4/+7
|
* Finish removing direct_update from the core (nw) AJR2017-04-012-22/+4
|
* New games added as GAME_NOT_WORKING: arbee2017-04-011-1/+1
| | | | Pirate Ship [Phil Bennett, R. Belmont, (dump credits?)]
* This is Sparta ! Olivier Galibert2017-04-012-42/+0
|
* Rename the write-only -printer image instance type to -printout. The former ↵ AJR2017-03-311-1/+1
| | | | option name conflicts with RS232 printer ports in several drivers.
* isa8_device: Provide proper unitmask for address spaces of any data width (nw) AJR2017-03-301-3/+6
| | | | screen_device: Guard against assert failure on partial updates starting from incomplete first line (nw)
* Merge pull request #2168 from Happy-yappH/dasm_virtual_space R. Belmont2017-03-291-18/+25
|\ | | | | Make debugger 'dasm' command able to traverse virtual spaces with
| * Make debugger 'dasm' command able to traverse virtual spaces with Happy2017-03-191-18/+25
| | | | | | | | | | | | | | | | 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.
* | fix building with MSVC (nw) smf-2017-03-291-1/+1
| |
* | express: More robust parsing fix (nw) Olivier Galibert2017-03-271-5/+10
| |
* | xtal.h: One more value (nw) AJR2017-03-261-1/+2
| |
* | fidelz80: dame sensory challenger skeleton driver (incomplete dump for now, ↵ hap2017-03-261-1/+2
| | | | | | | | cpu jumps to lalaland) (nw)
* | xtal.h: Better and more info (nw) AJR2017-03-261-2/+4
| | | | | | | | megaaton: Adjust clocks to conform with schematics (nw)
* | disable: Better interface (nw) Olivier Galibert2017-03-262-46/+28
| |
* | disable: reverse polarity (nw) Olivier Galibert2017-03-264-26/+26
| |
* | express: More robust memory access operator parsing (nw) Olivier Galibert2017-03-261-1/+1
| |
* | Fixed writes to decrypted opcode memory [v3] (#2190) PugsyMAME2017-03-261-3/+48
| | | | | | | | | | | | | | | | | | 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.
* | srcclean (nw) Vas Crabb2017-03-266-7/+7
| |
* | Memory unit masking and address mirroring fixes (nw) AJR2017-03-252-8/+31
| | | | | | | | | | | | - Fix a bug which effectively treated AM_MIRROR as AM_SELECT when applied to a single-address range mirrored into a contiguous block. The automatic expansion of zero address masks now only applies to those stemming from (default) configuration, not from optimization. (This allows the assertion in latch8_device to be reinstated.) - Fix a bug where AM_SELECT applied to narrow-width handlers with a submaximal number of subunits would select the wrong address bits or none at all. (This allows rpunch_gga_w to be WRITE8 as intended.) - Add more stringent appropriateness checking of unit masks for narrow-width handlers.
* | Revert "Fixed writes to decrypted opcode memory" (#2185) Olivier Galibert2017-03-241-41/+10
| |
* | Fixed writes to decrypted opcode memory PugsyMAME2017-03-241-10/+41
| | | | | | | | | | | | | | 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
* | Add missing disable_side_effect in find_pc_backwards (nw) Olivier Galibert2017-03-201-0/+1
| |
* | Fixed regression when loading multipart softlists Nathan Woods2017-03-203-8/+28
| | | | | | | | Pernod found a regression introduced in the 0.183 softlist refactoring whereby multi-part softlist items would not distribute to multiple slots. The problem was that the old code was relying on the image slots being loaded into the core. This is not the way the new system works, so I've added a hook into software_list_device::find_mountable_image() that allows the new approach to work.
* | Refactored HTTP handling to be easier to extend and use (nw) Miodrag Milanovic2017-03-196-211/+291
| |
* | Merge pull request #2155 from shattered/_9330d35 R. Belmont2017-03-192-1/+9
|\ \ | | | | | | debugger: print octal addresses in the trace if CPU is octal.
| * | debugger: print octal addresses in the trace if CPU is octal. Sergey Svishchev2017-03-162-1/+9
| |/
* | Merge pull request #2154 from shattered/_b85368c ajrhacker2017-03-161-0/+1
|\ \ | | | | | | hp_ipc: de-skeletonize.