New Clone Added
---------------------------------------
Tatacot (JA 951128 V1.000) [BillD, ShouTime, Sean Sutton, Anonymous Donator, Smitdogg, The Dumping Union]
This reverts commit 536990e77b.
Conflicts:
src/frontend/mame/mame.cpp
Sorry, but this change was half-baked. It breaks a lot of existing
functionality and clearly hasn't been tested in more than a tiny subset
of use cases. Please play this work back onto your own branch, and test
it before submitting another PR.
---------
Top Gun (handheld) [hap, Sean Riddle]
Contra (handheld) [hap, Sean Riddle]
Teenage Mutant Ninja Turtles (handheld) [hap, Sean Riddle]
Gradius (handheld) [hap, Sean Riddle]
Lone Ranger (handheld) [hap, Sean Riddle]
Game & Watch: Mickey & Donald [hap, Sean Riddle, Olivier Galibert]
Game & Watch: Donkey Kong II [hap, Sean Riddle, Reinier]
Game & Watch: Boxing [hap, Sean Riddle]
- T0, T1 and PROG handlers are now 1-bit rather than 8-bit
- Eliminate several T0/T1 handlers that DEVCB macros can take care of now
- T0 CLK output emulation (untested)
New Clone Added
---------------------------------------
Rastan Saga (Japan Rev 1) [Michel BLANCO]
previous set by the same name becomes "Rastan Saga (Japan Rev 1, Earlier code base)"
pci-ide: Allow for setting the top 12 decode address bits in legacy mode. (nw)
pci-ide: Add save state support. (nw)
pci9050: Add save state support. (nw)
vrc4373: Add save state support. (nw)
gt64xxx: Remove address map trampolines. (nw)
gt64xxx: Add save state support. (nw)
atlantis: Add save state support. (nw)
This is an overhaul to how MAME handles options to provide a better foundation for what MAME is already doing in practice. Previously, core_options was designed to provide an input/output facility for reading options from the command line and INI files. However, the current needs (image/slot/get_default_card_software calculus and MewUI) go way beyond that.
Broadly, this PR makes the following changes:
* core_options now has an extensibility mechanism, so one can register options that behave dramatically differently
* With that foundation, emu_options now encapsulates all of the funky image/slot/get_default_card_software calculus that were previously handled by static methods in mameopts.cpp. Changes to emu_options should not automatically cascade in such a way so that it stays in a consistent state
* emu_options no longer provides direct access to the slot_options/image_options maps; there are simpler API functions that control these capabilities
* Many core_options functions that expose internal data structures (e.g. - priority) that were only really needed because of previous (now obsolete) techniques have been removed.
* core_options is now exception based (rather than dumping text to an std::string). The burden is on the caller to catch these, and discern between warnings and errors as needed.
Obviously this is a risky change; that's why this is being submitted at the start of the dev cycle.