etabeta's playground

MESS & MAME wip

NES on fire! (part 2)

without comments

However, in case you wonder, my efforts have not been only directed towards adding new mappers, but also towards fixing very old and annoying issues. Hence, there are a few chances that some of your favorite games might have been fixed in addition to the ones I show below.

Let’s start from Bandai. Mapper 16 was using incorrect mirroring. As a result of the fix, we have a lot of improvements (before vs. after):
wip40wip42
wip41wip43
wip61wip60

While at it, I added support for Mapper 159 (same as 16, but with different EEPROM communications… not a big deal in MESS, since at the moment we don’t emulate the EEPROM at all… it’s on the todo list however).
wip44wip45

I added also support for Datach games (mapper 157, same hardware), but they cannot work without Barcode reader emulation (which is not implemented at all). Finally, I added mapper 153 (similar to mapper 16, but no EEPROM) and it’s working quite well (with the exception of Famicom Jump II, which is not properly mapper 153).
wip46wip47

Passing to Jaleco, Mapper 18 was having huge IRQ issues, e.g. in Pizza Pop, and mirroring issues as well. Now you can compare these games before and after, and see that everything works much better (first snap series from Pizza Pop, second one from Plasma Ball):
wip48wip49
wip50wip51

Also, this fixes the crashes reported with many of these games.

Then there is Namco. Mapper 19 was having some IRQ problem and needed mirroring to be Horizontal at start (actually, many emu use mapper 210 for some of these games, but I can see no big issues in the current code so I stick to mapper 19 until proven wrong 😉 ). Comparisons should speak by themselves
wip58wip59
wip56wip57
wip54wip55
wip52wip53
wip82wip83

Another announcement I’m proud of is that Mapper 48 (used by some Taito games) have been finally added to MESS. This means that we can finally play Bubble Bobble 2, Don Doko Don 2 and a few other nice games without changing emulator 🙂
wip64wip65
wip62wip63

Also, talking about Taito, small glitches in Mapper 82 have been rectified
wip66wip67
wip68wip69

Mmmm…. Jaleco, Bandai, Namco, Taito… am I forgetting any big Japanese producer whose game are now more enjoyable in MESS? oh yeah! Irem!!!
Irem Mapper 65 got some attention too! Fixing IRQ issues (IRQ was triggered at the wrong time), we are now able to see play Spartan X 2
wip70wip71
wip72wip73

And then, I noticed that Mapper 67 (by Sunsoft) was suffering of IRQ issues as well. This was a bit harder to fix properly (and there is still a 1 line glitch which cannot be fixed without rewriting the whole video emulation) but the improvement in Fantasy Zone 2 should be clear
wip74wip75

oh, and talking about Sunsoft games, Gimmick! regression has been fixed (the game required to load PRG in 0x6000-0x7fff, and we were not doing that anymore for some reason)
wip76wip77

Another mapper was using the wrong mirroring: Mapper 118. Thanks to Disch’s docs, I was able to code the correct mirroring and the fixes pay back! (screens from RPG Game of Life and Pro Hockey Sport)
wip78wip79
wip80wip81

Also, Firewave’s regression tool has been useful to catch at least two crashes which would have never been noticed (by me): a 2-in-1 pirate game (which does not crash anymore, but does not work either) and Wally Bear which now works with no problems
wip84

Not all the news are good, unfortunately. Mapper 5 requires a few tricks that it’s not clear how to implement in MESS; Mapper 185 is not properly emulated and this results in Mighty Bombjack and Seicross being not working; Mapper 64 and 158 (used mostly by Tengen games) are basically impossible to emulate properly at the moment. About the latter, some Tengen games have always been playable with no issues (e.g. Shinobi & Rolling Thunder) and I have improved Klax to the point that now it can be played to some extent
wip93wip94
but there are still MANY glitches, as you can see. And games like Skulls and Crossbones simply show nothing. Something to look at, in the future.

I also want to take the chance to complain about the whole iNES format (or better, about the mis-use it has been subject to for some time): there are at least 6 cases of multiple incompatible boards using the same mapper number!!! This makes impossible to properly emulate both variants of Mappers 32, 34, 78, 113, 153 and 242 without checking the checksum of the game you are loading!! However, after adding a small hack (clearly documented in the source) we can now emulate correctly the following games

Major League (mapper 32, without and with the hack in the snaps)
wip85wip86

HES 6-in-1 (mapper 113, without and with the hack in the snaps)
wip91wip92

Cosmo Carrier and Dragon Quest VIII (which would not work at all by using their standard mappers)
wip87wip88
wip89wip90

Mission Impossible II and Famicom Jump 2 use this small hack as well, but they still do not work in MESS for other reasons. Notice that, UNIF dumps of these 6 games would not suffer of these conflicts.
That’s why I dream about the day all iNES files will be replaced by UNIF ones (even if MESS still does not fully support .unf images currently… but I’m working on it, even if it will take some time)

Finally, I have added preliminary support to the remaining FFE mapper (used by an old copier… the dumps using it are labeled as hFFE by GoodNES). I have basically no interest in emulating these 3 mappers, but the source is there if anyone wants to work on them.

This has been a lot of work, as you may guess, but at least now that it’s done we won’t need to go through all the mappers again 😉

See you…

Written by etabeta

October 7th, 2009 at 4:54 pm

Posted in MESS

Leave a Reply

You must be logged in to post a comment.