Around 5 years ago MAME 0.150 was released (17 September 2013) and in this release was a rewrite of the Data East protection chip handling, which allowed many previously problematic games that ran on Data East hardware to run without hitting protection related issues. To me it was one of the biggest advances in emulation at the time because quite a number of games made very devious use of the protection.
At that time there were two sets of Super Shanghai Dragon’s Eye dumped. The first was an English language bootleg that partially worked, but appeared to have buggy code where the bootleggers had missed protection checks and not reworked certain elements for the bootleg hardware properly. The emulation was imperfect, and trying to figure it out wasn’t helped by being unsure which bugs were emulation bugs and which were errors that would happen in the actual bootleg.
The second set was a Japanese set of the original game, which prior to the Data East protection work previously mentioned, had not worked properly either as various protection checks were failing.
Once the new protection code was in the Japanese set became playable, but had a number of graphical problems, and it wasn’t 100% clear how things hooked up because the existing hookups in the driver were based around the bootleg, which wasn’t quite the same as the original hardware, and some bad assumptions had been made.
While the game worked well enough to be marked as ‘Working’ in MAME the palette and priority issues were annoying, however, due to interests wavering, the driver got put on the back-burner and remained there ever since.
A recent dump of the original, non-bootleg English language set however prompted me to go back and look at the driver, and looking at it with fresh eyes I was able to spot some really quite obvious errors and reimplement the priority and mixing in a way that actually works for all situations.
Left old emulation, Right new emulation
|MAME 0.201 and below||MAME 0.202 and above|
The emulation of the bootleg was also improved, and benefits from the priority fixes, however there are still a number of other glitches, such as it not clearing the text in certain situations, and hanging at the end of the intro text until you press a button in quest mode. These appear to be cares where the bootleggers failed to deal with the protection properly as previously mentioned, so very likely happen on the bootleg hardware too.
Interesting note unrelated to the emulation: using the infinite ‘helper’ cheat isn’t actually very useful as the game always ends up recommending the first pair it finds, not the best, which inevitably leads to you failing levels.
and yeah, I know it’s a Shanghai tile matching game, and everybody seems to hate those these days, but all drivers need attention :-)