I’ve highlighted what a fantastic resource MARP is in the past, especially when they provide complete 1 Credit Clear replay files for games recorded with modern MAME versions. In the case of games where I’ve worked on the emulation, or there have been recent improvements I do take the effort to watch them. (It’s a real shame some drives like DoDonPachi II don’t record properly for unknown reasons)
The reason I watch them is to make sure bugs have properly been fixed, it brings some further level of closure to the reports, and increases the level of confidence we have in our emulation. In the case of Thunder Dragon 2 there were sprite priority fixes from trap15 in 0.150 so I wanted to watch the replay to make sure there were no obvious remaining sprite issues.
Instead of seeing sprite issues I saw something else, once the game hit the level 4 boss there were background glitches, as you can see below.
(Thunder Dragon 2 surprisingly has problems with the background tilemaps in 0.150 / 0.150×1)
This came as a surprise to me because I thought I’d fixed all the background problems in the nmk16 driver a long time ago, my logic seemed sound, and from a hardware point of view made sense. Seeing these glitches didn’t really make sense tho, where were they coming from? A bit of poking around later and I found the issue, only the first tilemap bank was being marked as dirty when the tile graphic bank was changed, meaning that if the tile data was written before the graphic bank change MAME wouldn’t be updating the cache bitmaps. This is still one area you have to be careful in MAME, it’s an optimization MAME has for drawing tilemaps, but if you don’t mark things properly it can lead to glitches like this.
Thankfully it was easy to find, and easy to fix. I assume it’s been like that since I first fixed things in the driver, which means that technically the driver has never had proper video through the years, be it the sprite priority glitches, the tilemap scroll glitches before I rewrote it, or the glitches caused by this oversight.
I didn’t notice any sprite issues during the run, and with the tilemaps hopefully now fixed for good as well 0.151 will almost certainly be *the* version you should be using for Thunder Dragon 2.
Of course me being me I can’t help messing around a bit, and while the replay file on MARP was for Thunder Dragon 2 I actually played it back with the Big Bang clone, and the older Thunder Dragon 2 set as well. In both cases the game played the same way, with no desyncs and the player finished with the same score, this is kinda interesting because it means that if the difference between the revisions was a gameplay tweak or bugfix the player recording the replay didn’t encounter the issue.
I’ve recorded a video file from the replay with the fixes applied and put it on YouTube. The player is ‘edusword’ and it shows the game (running the Big Bang set) from start to finish, as you can see the emulation is looking pretty good these days! Hopefully the player doesn’t have any issue with this being uploaded, I wholeheartedly thank them for the replay!
One interesting thing about the game is that you can destroy the various messages that appear at the start of levels for extra points. You can even destroy the end credits and the points continue to rack up, although for whatever reason they don’t count in your final score!
If you’re wondering about other NMK news I’m afraid to say things have gone very, very quiet on the NMK004 dumping front, not sure what happened because it sounded like the guys looking at it were very close to the end!