- 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.
Even though the PCB the Touchmaster 3000 eval roms came had the original v1.0 sound rom, the game clearly should have the 3K sound rom based on missing sounds in the newly added Kick Champion game.
* Fix random crash while drawing characters at the screen borders.
* draw_char_40 & draw_char_80 : use of std::min.
* Fix invalid instructions length. Each 6800 invalid opcodes have a different behavior.
This commit fix the PC increment of each invalid opcode execution.
There is three groups of invalid opcodes :
One byte invalid opcodes/instructions :
00,02,03,04,05,12,13,15,18,1A,1C,1D,1E,1F,21,
38,3A,3C,3D,41,42,45,4B,4E,51,52,55,5B,5E
Two bytes invalid opcodes/instructions :
61,62,65,6B,83,93,A3,C3,D3,DC,E3,EC,ED
Three bytes invalid opcodes/instructions :
71,72,75,7B,B3,CC,CD,F3,FC,FD
Behavior checked from the Visual 6800 and the real hardware (goupil computer)
http://www.visual6502.org/JSSim/expert-6800.html
* cosmetic changes : invalid opcodes renamed.
The +1 was previously needed becasue std::string::assign(char *) expects
the string to be NUL-terminated. The final NUL is not part of the
result. It's not needed when adjusting the length of the string
directly. Can people please be careful when refactoring, and alo when
reviewing pull requests? This stood out immediately.
- added sprite colours, basic starfield (rendering isn't correct, eg. no twinkle, uncertain star positions);
- documented what is probably a hw collision bit as you can't destroy the large sprites with it off, but if you turn it on all the time then a shot in the corner will cause the game to lock up repeating the explosion sequence over and over;
- added preliminary flipscreen support