David Haywood's Homepage
MAME work and other stuff
October 3, 2013 Haze Categories: General News. 14 Comments on The Thunder Dragon 2 Theory

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 emulation glitch Thunder Dragon 2 emulation glitch Thunder Dragon 2 emulation glitch
(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!

Content not available.
Please allow cookies by clicking Accept on the banner

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!


You can follow any responses to this entry through the RSS 2.0 feed.

I saw this game in 1995.
I was 9.
Still need a few fixes.
Thanks Haze.

Hacha Mecha Fighter had a similar issue with level 2 (or 3) Submarine boss…

All games by NMK, UPL, IGS and Semicom should be destroyed.

They are all low-budget devopers who use either cheap, poorly realised sprites, or nasty pre-rendered monstrosities in every game they made.

Their crappy low-budget games make “Rise of the Robots” look like the greatest fucking game in history.

HMF doesn’t use banked tilemaps, just tile banking so is probably just the protection or something.

Hey Haze, the stuff for drgw3 I sent you was a bit preliminary. :S I should have mentioned that. There are still some bugs I have to work out. I broke killbld and there are some bugs in drgw3/ex. If you want to revert it, that’s fine. If not, I should be able to get back at it either this weekend or the latest Monday.

ah ok, I thought it was for submission.

there’s no rush, I doubt 0.151 is going to be sprung on us before then ;-)

Dear Wolf…

Like to see you fix these wonderful games.
Because I forget, the less passion for video games, the less time you lose your life! Look what Haze is very pleased to please all fans of Arcade coin.

Sorry for my bad English…

@ AnimalBear

It is impossible to understand what you are saying.

Can you re-post that in English?

Nice catch.. I didn’t realize these were broken myself… ^_^

Speaking of tile mapping….or, rather, I don’t know whether this is the same thing, but it looks similar: I just fired up Nightmare in the Dark, and noticed during the ‘story screen’ there is a shifting blank blue one each side of the image, sort of right to left, as the image is scrolling. This is a Neogeo game, though.

that’s expected on NeoGeo games, the real hardware does it. For some reason 99% of the games are programmed assuming a visible area of 304 pixels wide (or sometimes less in the case of kotm / cyberlip) when the real hardware always outputs 320 pixels.

No Wolf because you are a idiot.

Hi Haze, any chance of looking at legionnaire and zero team issues and fixing them this year…….

no, and no.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.