| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
| |
Gory details in the comments
|
|
|
|
|
| |
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
|
|
|
|
| |
emulation sessions (#2244)
|
|
|
|
|
|
|
|
| |
* 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
|
|\
| |
| | |
dipalette: A return to sanity (nw)
|
| | |
|
| |
| |
| |
| |
| | |
* 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.
|
|/
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
(#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...
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
variant (nw)
|
| |
|
|\
| |
| | |
Changed the validity checks to have its own emu_options
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Changes to make get_default_card_software() less stupid
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
This is intended as a first step towards divorcing tilemap_t and tilemap_device.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
- Enforce dependencies in various Konami, Sega & Seta GFX devices
- Disable palette uniqueness check in divideo
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Pirate Ship [Phil Bennett, R. Belmont, (dump credits?)]
|
| |
|
|
|
|
| |
option name conflicts with RS232 printer ports in several drivers.
|
|
|
|
| |
screen_device: Guard against assert failure on partial updates starting from incomplete first line (nw)
|
|\
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
cpu jumps to lalaland) (nw)
|
| |
| |
| |
| | |
megaaton: Adjust clocks to conform with schematics (nw)
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| | |
- 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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| | |
| | | |
debugger: print octal addresses in the trace if CPU is octal.
|
| |/ |
|
|\ \
| | |
| | | |
hp_ipc: de-skeletonize.
|