Join 3,418 readers in helping fund MetaFilter (Hide)


Vs. Airman
April 5, 2011 1:46 AM   Subscribe

Vs. Airman is kind of mind-blowing the first time you see it. It is not a PC or flash game, but a romhack that can run on a real NES. But which game is it a hack of?

My own guess: the distinctive physics of Super Mario Bros. would be harder to recreate than the graphics effects and enemies of Air Man's level of Mega Man II, and I notice they changed the music, which could be because SMB's engine couldn't handle the advanced chiptune music techniques Mega Man tend to feature.

There are other versions of the hack out there it seems. Here's one a bit closer to Super Mario Bros. in level design. Auntie Pixelante hosts a copy of the original patch.
posted by JHarris (17 comments total) 9 users marked this as a favorite

 
Duh, it's a patch to be applied to Super Mario Bros., so it's probably a hack of that game.
posted by JHarris at 2:04 AM on April 5, 2011


I love the concept, but would like to see it applied to a more advanced NES engine that can handle the Mega Man 2 music and other elements. I wonder if the Super Mario 3 engine is up to the task.
posted by Servo5678 at 4:53 AM on April 5, 2011


Reminds me of Super Mario Bros. Crossover.
posted by Kaatridge at 5:06 AM on April 5, 2011


How would one go about running such a romhack on an actual nes? Can you buy easily reprogrammable cartridges?
posted by Buckt at 6:26 AM on April 5, 2011


There are literally thousands of these movies.

The program being used is almost certainly M.U.G.E.N.. Previously.
posted by Deathalicious at 6:33 AM on April 5, 2011


I love the mini-bullet-hell of the boss battle.
posted by Nelson at 6:47 AM on April 5, 2011


See how the other side lives, and you can actually PLAY this one!
posted by Uther Bentrazor at 7:45 AM on April 5, 2011


Romhacking is pretty cool. I tried to find the original source (no luck) but from its discussion on emulation forums, apparently this is a very impressive technical feat. Here are other relevant romhack resources,

RomHacking.net: Bad site design, but one of the main names in the romhack scene.

Zophar: Lists hacks in a directory structure by game.

Basically the way that these work is that you need to have the copy of the game that you're hacking (sort of hard to determine in this case, as the .txt readme files are in some sort of jumbled script, possibly japanese), which you then apply the hack to. Forums discussions (for example) seem to think that it's SMB hacked with a MM2 level.
posted by codacorolla at 8:33 AM on April 5, 2011


The program being used is almost certainly M.U.G.E.N..

It is not. It is an actual romhack of Super Mario Bros.
posted by JHarris at 10:52 AM on April 5, 2011


See how the other side lives, and you can actually PLAY this one!

You can play this one too. The patch is linked above.
posted by JHarris at 11:31 AM on April 5, 2011


You guys aren't missing the source of the music are you?

Can someone explain why they think this ROM hack can't handle Megaman 2 music? If you're substituting so much code in the main loop anyway (and not just substituting sprite and tile data as in a simple hack), why not replace the code that plays the music? Whoever composed the NES version of Air Man ga Taosenai probably exported it as an NSF file (which I believe contains the 2A03 code to play the music in addition to the music itself) before the ROM hacker inserted it.
posted by MrFTBN at 1:41 PM on April 5, 2011


I was aware of the source of the music yes, but decided not to dilute the subject of the post. Given the number of comments so far, it probably would have been a good addition, heh.

Anyway, I listened to the music to the Air Man stage and (just because it's awesome) the Crash Man stage before this and the Capcom music programmer does some crazy awesome stuff in these tunes. Mega Man II has, from a technical standpoint, some of the best music for the NES. Super Mario Bros.' is iconic and arguably better-composed, but its music engine is a product of early NES development.

I'm not saying that absolutely it was impossible to reproduce the Air Man music from within the SMB engine, but considering how perfect everything else in the hack is, the decision to include a NES reproduction of a popular Mega Man-related fan tune instead of the stage music itself must have been made for some reason. And notice at the end, they did try to reproduce the stage complete music from Mega Man II, and it sounds pretty bad.
posted by JHarris at 2:05 PM on April 5, 2011 [2 favorites]


(PS MrFTBN, welcome to Metafilter!)
posted by JHarris at 2:14 PM on April 5, 2011


How would one go about running such a romhack on an actual nes? Can you buy easily reprogrammable cartridges?

Yes.
posted by JHarris at 2:37 PM on April 5, 2011


I guess the part I don't understand is why the Megaman 2 music is being recreated with the "SMB engine". Rather, I would expect the music in the patch to be limited by whatever music "engine" is in the NSF for Air Man ga Taosenai. Watching the video, it's hard to tell where the SMB code ends and the Megaman code begins, but maybe it's something like this:

(really, really simplified pseudo code)
WHILE
mario_stuff()
megaman_stuff() //bits and pieces extracted from MM2
some_more_stuff() //other code added to reconcile the above parts?
music_stuff() //code to step through the music, from NSF file
ENDWHILE

and somewhere further down the ROM:
SPRITE DATA, TILE DATA, MUSIC DATA, ETC.

The music needs only to be stepped at a speed of a few hundred bpm (compare with 1.8MHz clock speed), so I think there's a lot of flexibility when the CPU isn't getting bogged down by lots of little sprites.

(PS JHarris, thanks!)
posted by MrFTBN at 3:00 PM on April 5, 2011


It's bothering me that I can't seem to find a point of origin for this thing. I've been digging through a few different Google searches, and the way it's framed in almost every single hit is "look at this cool thing," and if you're lucky "that took a lot of talent to make, wonder how it was done..."

It's weird though, because the Romhacking scene online seems to be pretty cohesive, so wouldn't there be someone somewhere that knows something about this?

I think it's because it's not a native English file, and because (as far as discussion of it goes) it dates back at least 2 years, so maybe it's fallen off the face of the indexed Internet.
posted by codacorolla at 3:05 PM on April 5, 2011


MrFTBN:
When you start working with really limited processors like the 6502 (of which the NES' processor is a variant), you start being beholden more and more to its quirks.

This is why I posted it to Metafilter. It has nothing to do with this being a mashup of the two games, those we've seen before, and frequently, but interfacing two games' elements on a limited system like the NES suggests genius. Both games were constructed using entirely different engines, demands and systems. To some degree, probably some aspects of Mega Man II had to be reimplemented, instead of just pasted in, due to stuff like the limited size of zero page, limited stack size (only 256 bytes!), sprite limits, etc.

Music production tends to be timing-intensive, and NES Mega Man games use a lot of effects. It's probable that it wasn't actually feasible to run the Mega Man music code and have it come out sounding the same, not without reimplementing it. Plus, 6502 code is not often trivially relocatable, and branch instructions have limits of 127-8 bytes depending on direction. And we're talking about a very low-memory system; SMB is only 32K in size, enough to fit in the whole address space of my old Commodore 64 without having to swap out the ROMs even.

codecorolla:
It's because the patch was created by someone in Japan, the Japanese and Western romhacking scenes seem to be largely separate.
posted by JHarris at 1:49 AM on April 6, 2011


« Older Lionfish have invaded; several creative attempts h...  |  The Gradual Demise of Phillipa... Newer »


This thread has been archived and is closed to new comments