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.
-----------------------------------
ibm5150: Prince of Persia v1.0 [ArcadeShadow]
ibm5170: Monkey Island 2: LeChuck's Revenge, Space Quest V: The Next Mutation [ArcadeShadow]
- more use of c++ features
- some CRTP in pfmtlog
- demangled code for truthtables
- use more constexpr
- rewrite main loop
- use default constructors and assignment operators were applicable.
- optimized 7448 and 9316
All of this has decreased startup time by approx. 25% to 30%. Complex
netlists like pong or kidniki are parsed, analyzed and constructed in
around 15 ms. Run performance has increased by about 5%.
All in all not to bad. A game like pong uses a clock of 7 MHz (after
division by 2). Thats 14 MHz clock invocations. Running at over 200%, 28
MHz. On a 3.9 GHz Machine about 140 cycles/clock change.
[Couriersud]
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.