David Haywood's Homepage
MAME work and other stuff
December 1, 2015 Haze Categories: General News. 9 Comments on Bubble Bubble

In the comments of my update about Nostradamus an original reference video for another game I’d emulated a long time ago was posted. That game was Aquarium by Excellent System, the video was this one by YouTuber ‘zu4989’

The post was made in relation to an audio issue in the emulation, now, the driver was done long before I really had any idea how to hook up audio chips, so that side of thing was done by somebody else (R. Belmont from memory?) but with a better understanding of these things myself now I decided to take a look.

The basic issue was that the wrong music was being played at the wrong times.

Initially I thought it might be a simple case of a bad modernization, old versions of MAME required you to leave a gap in the CPU region where you loaded a ROM if RAM was present for 8-bit CPUs (Z80 etc.) Newer versions don’t have this flaw and as a result a lot of drivers were cleaned up to remove that hack and handle things properly, it looked on the surface like the rom loading on Aquarium had been updated, but the modernized banking code was pointing to the wrong places (it was looking for 7 banks of 0x8000 from an offset of 0x18000 in the z80 region, which actually exceeded the size of the region and could have potentially caused crashes if the final banks were actually banked in)

However, even fixing that, the music did NOT match the reference videos provided.

Looking more closely at the banking writes the game was making revealed a little more, we were using the bottom 3 bits of the register, so writes of 0x00, 0x01, 0x02 … up to 0x07 would select different banks. What the game was actually writing was 0x0, 0x1, 0x2, 0x3 and 0x10, 0x11, 0x12, 0x13, nothing else. At this point it was clear that we were using the wrong banking bits, the correct bits to use were the bottom 2 bits, and the 4th bit.

Each bank contains a difference piece of music, so by cross-referencing with the video again I was able to establish which bank write related to each real bank, and re-order the above bank select bits into the proper bank value (bit 0x01 -> 0x01, bit 0x10 -> 0x02, bit 0x02 -> 0x04) with that done, the music was fixed. This scrambling isn’t too surprising, the driver already had a descramble function for the OKI commands.

I’ve recorded a video of the game with the correct music being played, (CHEATS ARE ENABLED TO MAKE DEMONSTRATING ALL THE LEVELS EASIER) You can cross-reference it with the video linked above if you want


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

The reference video also showed a number of cases where our priority handling wasn’t correct, namely the top border should have been chopping the large fish sprites and wasn’t, the large fish sprites also needed to go under the insert coin text (already correct) but at the same time needed to be shown above the bottom part of the NEXT text. Furthermore the smaller sprites showing the next pieces to appear needed to go underneath the tilemap. All those cases were fixed. The background colour was also incorrect, this wasn’t really visible anywhere except on the Winners Don’t Use Drugs screen, but I fixed that while I was at it as it was obvious even without a reference.

9 Comments

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

Great post again, I love the work done on the older drivers !

Yay! I am satisfied now!

Also, curious that the video is set in English, when for now only Japanese is a “legitimate” option, and English can only be enabled though Pugsy’s Cheats. Was it discovered that there was some legit dipswitch/code setting for it yet?

Glad to hear that stage 3 music emulated too.

there was a US set lying around, so I added it, wouldn’t have noticed the background pen colour issue without it, so that was handy.

I was using cheats anyway tho, as mentioned, although afaik the cheats to put it in English don’t give the Winners Don’t Use Drugs logo which was the important part in fixing the background.

Ah, Aquarium in America? Thought the thing was a Japan exclusive all this time. Where was it found? Some arcade in a small town tucked around in the corner?

just a pile of non-working junk PCBs based on the notes, which is how a lot of stuff gets found..

I have found the Night Slashers arcade pcb game play :https://www.youtube.com/watch?v=MHKmhhRnt7Y,does it help resolve the remain issues in Mame?

Why Toaplan games: Ghox,Fireshark,Vimana have no sound yet ?

mask / jsad> no, please stop spamming junk or I’ll spamlist this version of you too. That isn’t even a real PCB video, it’s a MAME video, and for hardware with complex blending like that the only way I can see it ever being 100% is with hardware tests.

blueliimbo> because the sound MCUs aren’t dumped, we literally have no sound code to run. The sound code contains all the music sequences to send to the sound chips etc. We have no way of dumping them.

Thanks Haze for answer!

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.

Close