- cleaned up and merged ninjakd2, mnight and omegaf drivers into a single driver
- added flip screen support to all games
- fixed sprite overdraw mode:
- ninjakd2 congratulations screen (e.g. stage 3) shows japanese characters which were previously missing
- in ninjakd2, at the beginning of a level items are visible during the initial fade in. I'm not sure if this is correct but the other effects wouldn't work otherwise
- in mnight attract mode, when the big ship is firing the other sprites no longer leave trails
- in mnight at the end of a level the screen is slowly filled with balls and then slowly cleared to begin the following level. Same effect in the death sequence during attract mode.
- added proper computation of sprites to be drawn taking into account double size sprites. This fixes sticking shots in mnight without need for a hack.
- lowered ninjakd2 PCM playback rate to 13020 (from 16000). This seems to sound better and is a round division from one of the master clocks.
- removed ROM patch that was used to avoid the input protection in omegaf, added a rough but effective protection simulation.
- corrected some dip switches
- hooked up sound cpu reset line
- simplified ROM loading for the older games swizzling address lines in driver init.
- Emulated external OR circuit for all drivers using the PIA chip. This used to be internal to the PIA emulation, but, in fact, this is external logic. The PIA has two seperate INTA and INTB out lines. This fixes at least PlayBall
> This one line fix addresses the crash reported in newui0118u4ora. I
> think most of the other issues reported in the bug are fixed by this
> as well, but I didn't test this thoroughly. Perhaps we should close
> the bug and have the testers file a new bug if remaining issues are
> found.
Updated drivers accordingly.
Major cleanup to the ddragon driver:
- improved video and interrupt timing
- consolidated common memory maps and input ports
- added save state support
- correct clocks
Previous checks would not catch modifications in DRIVER_INIT or MACHINE_START calls.
Also changed one of the cheat calls back to using more generic switch detection so they can be triggered via joysticks.
Changes:
- Re-fixed RSP single-step activation behavior
- Reading the RSP PC returns only the least significant 12 bits
- Fixed flag behavior when read out via CFC2
Oh God, why Nintendo, why? Why make the RSP immediately stop when the main CPU sets single-stepping, but have the RSP execute one instruction before entering single-stepping mode when it sets it on itself? "You manaics! Damn you! God damn you all to hell!"
Changes:
- Initialize RSP registers to 0 in lieu of mame_rand
- Re-fix RSP single-stepping mode when set by a CPU other than the RSP
* 8085 has an internal clock divider by 2. Changed i8085.c to reflect this for I8085. I8080 still at 1.
Games using I8085:
* Changed clock to reflect internal clock divider now in i8085.c
* Added some FIXME: comments where clocks for I8085 are outside specs