David Haywood's Homepage
MAME work and other stuff
December 12, 2015 Haze Categories: General News. 4 Comments on Mirror Mirror

Another long-standing problem with the Mega System 1 driver is the lack of character movement in the attract modes of 64th Street and Chimera Beast. A similar problem was fixed in Cybattler a long time ago by handling a mirror address for main RAM, easily noticed due to unmapped reads/writes, but the other two games weren’t making any unmapped reads or writes.

Today I decided to try a little experiment. I knew from the ‘nmk16.cpp’ hardware that sometimes the 68k is hooked up to RAM in a way that means the byte write behavior is a little unusual. The standard way of handling byte writes is to make sure only the byte of the word that is being written to changes, leaving the other half of the word alone. Due to the way the 68k works it’s also possible for that hookup to be slightly different, so that a byte write alters the content of both bytes in the destination word, mirroring the written byte in the other half.

Most games break if you implement things the latter way, they assume they can write bytes without them corrupting the adjacent byte. I quickly changed Megasystem 1 to use that method to see what happened, the result, a working attract mode. I do wonder if this is part of a bigger picture, NMK and Jaleco often worked together, there are Jaleco games in ‘nmk16.cpp’ and NMK developed several of the titles for Jaleco’s Megasystem hardware too, it’s possible some hardware ideas / designs were also being shared.

While only Chimera Beast and 64th Street show obvious improvements from this, and both of those are ‘Megasystem 1 Type C’ hardware, I’ve hooked it up to all hardware types (except D, but that’s very different and did cause the game to crash) I’ve not noticed any real differences this way, most games don’t make many byte writes, some avoid them entirely. St. Dragon makes an unusually high number so it might be worth checking / verifying that nothing has broken there with these changes, it is afterall possible that only one of the board types has this design.

Here are some revised attract mode videos from the games. The 64th Street one also shows the environment damage that was previously missing (Kale fixed it last week) and the Chimera Beast one, to my surprise, shows the Mosaic effect, it’s used ingame when you get grow.


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


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

4 Comments

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

Whow! Thank you both (Kale and Haze) for the fixes on this driver. The game experience will be much better than before.

Great news Haze and Kale :) I hope someday rest of games will be playable in main mame, until then I’ll use MAMEUIFX code for Ninja Kazan.

I suspect that NMK might have designed the Mega System 1 hardware for Jaleco, like how SNK’s Neo Geo hardware was actually designed by ADK.

On youtube there’s a video posted of 64 Street from the original pcb, running it alongside mame it’s obvious mame is running the game way too fast – should be around 56.2hz to sync up correctly. Vandyke from upl/nmk also runs at this speed, which seems to suggest (as it’s a pretty unique vertical sync rate) that nmk did in fact have something to do with designing the MS1 board.

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