Wednesday, July 11, 2012

Two MMBN6 Glitches Explained!

The past 2 days, GM and I have been looking at how 2 major glitches in MegaMan Battle Network 6 work. By observing the game, the glitch can be explained in precise detail!

First up: the Select Chip Glitch.


This is a glitch GM and I discovered about 6 years ago when the game first came out. The glitch allows you to select almost any chip for use during player-versus-player battles. It's quite simple really. To do it, you imply need access to a Link Navi. Here is the procedure.

As MegaMan, select and tag any chips in your folder. It won't matter when you control a Link Navi and get in a PvP battle.

As a Link Navi, swap out the slot of the selected chip in your folder with the chip you want selected in PvP. This works for tag chips as well

Enter a PvP battle as the Link Navi and your selected chip should now be the chip you swapped out the slot for.

As far as I know, this should work in all versions of the game. This won't let you select or tag Giga Chips as there is a special check in place disallowing Giga Chips from being selectable.

The way this glitch works could be seen as a oversight by the programmers. The game keeps the index value for the chips you have selected and tagged and even the folder you have equipped in a memory region reserved for abilities. MegaMan has one and Link Navis share one. When you become a Link Navi, the Link Navi region is used to keep track of the selected and tagged chips. That is why the slot changes don't matter in random encounters. When you enter a PvP battle, you must become MegaMan so the game reads from MegaMan's abilities region which still contains the old selected and tagged chip values. Since the order of the folder was changed and it isn't tied to which Navi you are, the game uses the old slots on the new chip order, allowing you to select any chip in a PvP battle.


Next up is the Tornado Glitch which is only found on the Japanese versions of the game. Unless there is a 1.1 version of the Japanese game floating around somewhere, the US and EU versions are the only ones that fixed this glitch. The Tornado Glitch makes the Tornado chip to 4x the damage when used with a WhiteCapsule and used over an elemental panel such as ice or crater. However, it won't paralyze. This could easily net you an unfair advantage against other players and in-game.

This glitch exists because of an oversight the programmers made in how Tornado's damage is calculated over elemental panels. Below is the ASM code that calculates the damage in the Japanese version.
080CD8B4 8DA8     ldrh    r0,[r5,#0x2C]                          ;7  238
080CD8B6 0040     lsl     r0,r0,#0x1                             ;3  241
080CD8B8 85A8     strh    r0,[r5,#0x2C]                          ;8  249
What this routine does is first load the original attack power of the chip, which is 20. The second line multiplies the attack value by 2. The last line puts the attack value back in memory. What this routine doesn't account for is when special attack-changing attributes are added. They are added to part of the attack value that isn't read as attack. 0x4014 would be the value used in memory for a Tornado with a WhiteCapsule. Since the routine doubles this value, it puts 0x8028 in memory which already doubled the attack and uses the attack modifier bit 0x8000 which also doubles attack. This simple oversight is corrected in US and EU versions with the following ASM routine:
080C9FB4 8DA8     ldrh    r0,[r5,#0x2C]                           ;8  294
080C9FB6 49AC     ldr     r1,=#0xF800                             ;9  303
080C9FB8 1C0A     mov     r2,r1                                   ;2  305
080C9FBA 4002     and     r2,r0                                   ;2  307
080C9FBC 4388     bic     r0,r1                                   ;2  309
080C9FBE 0040     lsl     r0,r0,#0x1                              ;2  311
080C9FC0 4310     orr     r0,r2                                   ;2  313
080C9FC2 85A8     strh    r0,[r5,#0x2C]                           ;9  322
This more complicated routine accounts for attack modifiers. Lines 2 through 5 remove the bits responsible for attack modifiers, the 0xF800 bits. The attack power is then doubled separately for 0x28. Finally, the modifiers and attack power are combined as 4028. Now the Tornado behaves as it should by getting the 2x attack boost from the grass panel and only the paralyzing attribute of WhiteCapsule.


That certainly explains those 2 glitches well enough. There are 2 other glitches I'd like to look into but they're far less interesting. The others being the Meddy glitch in BN5 JP and the Hole-in-the-wall glitch in BN6 JP's Seaside Area 3.

0 comments:

Post a Comment