Skip to main content

MMBN6 Custom Battle Guide

Mega Man Battle Network 6 is the final game in the series. Based on the revisions from BN5, this game is easily the most flexible in terms of modifications allowed. You can also freely control different Navis in this game.

To follow this guide, you need VisualBoyAdvance (VBA) and a backup of the game. I do not condone piracy, but if you somehow already have a copy, follow along.

This guide will utilize the HeatMan/AquaMan freefight for the Gregar and Falzar version respectively.
Both Navis can be fought in ResearchLab 1 which is in the school.

You can download saves for this game.

Download Battle Network 6 saves.

Here is the freefight location.

Using VBA’s Memory Viewer window, the following steps will let you make temporary changes. Remember that any changes will be lost if the emulator is closed. You can make the changes permanent if the same steps are done in a hex editor such as HxD.

Choose the Battle Settings offset for your version from the list below.

Gregar BR5E US
080B0780

Falzar BR6E US
080AEF10

Gregar BR5P EU
080B0780

Falzar BR6P EU
080AEF10

Grega BR5J JP
080B2CA0

Faltzer BR6J JP
080B1430

The Battle Settings data has the following values by default:
00 64 16 00 FF 00 38 00 D7 98 41 00 16 18 0B 08

The Battle Settings format is the same as BN5 and is generally smaller and more efficient. It is documented below.

0x00 Battlefield
0x01 Unknown
0x02 Music
0x03 Battle Mode
0x04 Background
0x05 Battle Count
0x06 Panel Column Pattern
0x07 Unlock?
0x08 Battle Effects (4 bytes)
0x0C Object Setup Pointer

Remember that the Battle Settings offset from above works as a base offset from which you add the bytes on the side to get to the correct data.

0x00 Battlefield

The first byte in the format specifies the battlefield to use. You can choose from over 230 different stages. 00 is a plain stage with no special panel types.
Default is: 00

Download all stages.

0x01 Unknown

This byte is never read and has no effect on the battle.
Default is: 00

0x02 Music

You can change the music used in battle for this byte. Any music track from the game is usable and you can even have no music. The full music list is below.
Default is: 16

00 = No Music
01 = Title Screen
02 = WWW Theme
03 = Cyber City Theme
04 = Indoors Theme
05 = School Theme
06 = Seaside Town Theme
07 = Sky Town Theme
08 = Green Town Theme
09 = Graveyard Area Theme
0A = Mr. Weather Comp Theme
0B = Event Occurrence
0C = Crisis Theme
0D = Sad Theme
0E = Hero Theme
0F = Transmission
10 = Robo Control Comp
11 = Aquarium Comp
12 = Judge Tree Comp
13 = Network Theme
14 = Undernet Theme
15 = Virus Battle
16 = Boss Battle
17 = Final Battle
18 = Pavilion Theme
19 = Winner Theme
1A = Loser Theme
1B = Game Over
1C = Boss Prelude
1D = Credits
1E = Navi Customizer Theme
1F = Winner Theme (short version)
20 = Pavilion Comp
21 = Theme of the CyberBeasts
22 = Crossover Battle Theme
23 = Shark Chase Theme
24 = ACDC Town
25 = Expo Theme

0x03 Battle Mode

This byte sets the Battle Mode which lets you play special types of battles. The full list is below.
Default is: 00

00 = Normal Battle
01 = Crossover Battle
02 = Tutorial 1
03 = Tutorial 2
04 = Tutorial 3
05 = Beast Out Tutorial
06 = Virus Battler
07 = TomahawkMan Mini Game
08 = Cross Tutorial
09 = DustMan Mini Game
0A = Hakushaku's Invincible Mode
0B = Hakushaku's Defeat

Some notes:
The Crossover Battle mode causes the battle to not load in the Japanese version. However, it loads properly in the US versions, but many features have been removed such that the custom gauge never fills and there are no other obvious effects.
For 07, when the TomahawkMan Mini Game is enabled, the player automatically becomes TomahawkMan and the custom screen is skipped. Combined with the Totem Pole enemies, you raise the gauge until all the enemies are defeated. Pushing B swings the Tomahawk for 10 damage. You should also set the value at 0x06 to 00 to get a full stage and allow flipping with L and R, which is essential.
For 09, when the DustMan Mini Game is enabled, the player automatically becomes DutsMan and the custom screen is skipped. Combined with the Flying Junk enemies, you must inhale the junk with A and smash the bombs with B. Like in the previous mini-game, a full stage will be necessary for this mini-game. This Battle Mode does not work in the Gregar version.
Battle Modes 0A and 0B have no effect in the US versions. In the Japanese versions, these perform their intended effects. For value 0A, when combined with Hakushaku, he will be invincible. On the 4th turn, Django will appear in an in-battle cutscene. For 0B, when Hakushaku is defeated, another cutscene will occur.

0x04 Background

This byte lets you change the background used during battle. The full background list is below.
Default is: FF

00 = Lan's HP BG
01 = ACDC HP BG
02 = Nothing
03 = Seaside HP BG
04 = Sky HP BG
05 = Green HP BG
06 = Robo Control Comp BG
07 = Generic Comp Green BG
08 = Generic Comp Purple BG
09 = Central Area BG
0A = Aquarium Comp BG
0B = Seaside Area BG
0C = Judgement Tree BG
0D = Green Area BG
0E = Sky Area BG
0F = Undernet BG
10 = Mr. Weather Comp BG
11 = Underground BG
12 = CyberBeast Comp BG
13 = ACDC Area BG
14 = Graveyard Area BG
15 = Mr. Weather Comp BG (storm)

Download all backgrounds.

0x05 Battle Count

On values greater than 00, the number of the current battle appears after the enemies appear. This is normally reserved for sequential battles.
Default is: 00

0x06 Panel Column Pattern

By default, there are 3 red columns on the left and 3 blue columns on the right. Because of Liberation battles, it is possible to have irregular column patterns. Each column can either be a 0 bit or 1 bit, red, or blue. Using this simple binary-to-hex converter, enter the column order in bits, in reverse. For example, 111000 becomes 38, the normal stage. Use the output hex value in the game. When an irregular pattern is used, you can turn your Navi around with L or R. Push both L and R to enter the custom screen.
Default is: 38

0x07 Unknown

It is unknown what this byte does.
Default is: 00

0x08 Battle Effects

This 32-bit, 4 byte value flags various effects in battle. You can add the values in hex to stack multiple effects. The list of effects are below.
Default is: D7 98 41 00

00000001 = Boss Ranking Mode
00000002 = Show Results
00000004 = Start with Max HP
00000008 = Network Battle
00000010 = Recover to Max HP After Battle
00000020 = Allow Running and Keep Full Sync
00000040 = Keep HP After Battle
00000080 = Folder is Randomized
00000100 = Allow Game Over
00000200 = Unknown
00000400 = Multiplayer Sequence Battle
00000800 = Unknown
00001000 = Unknown
00004000 = Allow Locate Enemy SubChip and Keep Full Sync
00008000 = Force Low Enemy Level
00010000 = Unknown
00020000 = Unknown
00040000 = Unknown
00080000 = Unknown
00100000 = Disallow Dark Chips

Some notes:In Boss Ranking Mode, defeating 1 enemy can still get you an S-rank. The other boss-specific rules apply.
00000008, Network Battle won’t work and forces the battle to not load.
For 00000040, this means you keep the HP you had at the end of the battle, similar to virus battles. If you ended with 1HP, you have 1HP back on the overworld.
00000400 will make the second battle vs a 100HP MegaMan. It is unknown how to customize the sequence battle.
00008000 forces lower enemy levels.  If you use the Rare Virus Codebreaker code (32004804 0001), all viruses will be upgraded to their Rare form. This bit disables the code’s behavior.

0x0C Object Setup Pointer

This pointer points to where the Object Setup data is. This is data on what enemies or objects are in battle and where they appear.
Default varies by version.

 

After you’ve set all the Battle Settings, you can move on to the Object Setup. Use the value from above to find the Object Setup for your version.

The Object Setup format is the same, condensed format from the previous game. The format is documented below.

0x00 Object Type
0x01 X- and Y-Coordinates
0x02 Enemy Value (2 bytes)

Each “slot” takes up 4 bytes and every slot can become an enemy, the player, or an object. The game stops reading when the first byte in the format is F0 or greater. There is a limit of 4 enemies for each side, counting the player. Gregar and Falzar take up more panels and available memory, which can create unstable battles.

0x00 Object Type

This value affects directly affects how the Enemy Value functions. You can use a slot to make objects like Rocks or enemies on the red or blue side. The full object type list is below.

00 = Player-Controlled Navi
01 = Opponent Player-Controlled Navi
10 = Fight on Red Side
11 = Fight on Blue Side
20 = Mystery Data
30 = Rock
70 = Flag
80 = Rock Cube
90 = Guardian
A0 = Metal Cube

Some notes:
00 and 01 are both reserved for the Navi you normally control on the left and for multiplayer battles, the Navi your opponent controls on the right.
A value of 11 makes enemies while 10 makes allies. When you put enemies on your side, you do not share HP and enemies may behave strangely as they only normally target MegaMan and other Navis you play.
For Mystery Data to appear, the enemy value must be greater than 0D.
You can have up to 2 Rocks on the battlefield. However, you can have up to 5 Rock Cubes on the battlefield at once.
A Rock Cube can become an Ice Cube when the value at 0x02 is 03. The value at 0x03 also becomes the Rock Cube’s HP which can have a maximum of 256 HP. Ice Cubes do not take HP values.
Flags don’t normally appear in this game, but function exactly as they did since BN3. The Enemy Value becomes the Flag’s HP. Values 00-7F are HPs for your flag and 80-FF become HPs for the opponent’s flag. A flag deleted means the side the flag was on loses. The flag uses an appearing Rock Cube animation as sprite since the Flag’s original sprite was deleted.
For A0, Metal Cubes are unbreakable objects used during BlastMan’s battle. They can be removed using DustMan chips or Snowball.

0x01 X- and Y- Coordinates

Coordinates have been condensed to one value. Similar values apply just like before. Use the following values and add them to place the object on the desired panel. For example, the player normally starts on the center-left, 22, and the opponent on center right, 25.

[10]
[20]
[30]

[01][02][03][04][05][06]

0x02 Enemy Value

Enemy value is handled by 2 bytes. 00-FF handle viruses while 0100-01FF handles Navis. The first byte of the Enemy Value also functions as the Flag’s HP. The full enemy list is below.

00 = Test Virus
01 = Mettaur
02 = Mettaur2
03 = Mettaur3
04 = Mettaur SP
05 = Rare Mettaur
06 = Rare Mettaur2
07 = Piranha
08 = Piranha2
09 = Piranha3
0A = Piranha SP
0B = Rare Piranha
0C = Rare Piranha2
0D = HeadyA
0E = HeadyH
0F = HeadyW
10 = HeadyE
11 = Rare Heady
12 = Rare Heady2
13 = Swordy
14 = Swordy2
15 = Swordy3
16 = Swordy SP
17 = Rare Swordy
18 = Rare Swordy2
19 = KillerEye
1A = DemonEye
1B = JokersEye
1C = KillerEye SP
1D = Rare KillerEye
1E = Rare KillerEye2
1F = Quaker
20 = Shaker
21 = Breaker
22 = Quaker SP
23 = Rare Quaker
24 = Rare Quaker2
25 = Catack
26 = Cateen
27 = Catapult
28 = Catack SP
29 = Rare Catack
2A = Rare Catack2
2B = Champy
2C = Chumpy
2D = Chimpy
2E = Champy SP
2F = Rare Champy
30 = Rare Champy2
31 = WindBox
32 = VaccuumFan
33 = WindBox2
34 = VaccuumFan2
35 = Rare Box
36 = Rare Fan
37 = Trumpy
38 = Tuby
39 = Tromby
3A = MuteAnt
3B = Xylos
3C = Trumpy SP
3D = OldStove
3E = OldStove2
3F = OldStove3
40 = OldStove SP
41 = Rare OldStove
42 = Rare OldStove2
43 = HauntedCandle
44 = HauntedCandle2
45 = HauntedCandle3
46 = HauntedCandle SP
47 = Rare HauntedCandle
48 = Rare HauntedCandle2
49 = Kettle
4A = Kettle
4B = SuperKettle
4C = Kettle DX
4D = Kettle SP
4E = Rare Kettle
4F = Puffy
50 = Puffy2
51 = Puffy3
52 = Puffy SP
53 = Rare Puffy
54 = Rare Puffy2
55 = StarFish
56 = StarFish2
57 = StarFish3
58 = StarFish SP
59 = Rare StarFish
5A = Rare StarFish2
5B = EarthDragon
5C = ThunderDragon
5D = WaterDragon
5E = WoodDragon
5F = WhiteDragon
60 = BlackDragon
61 = ScareCrow
62 = ScareCrow2
63 = ScareCrow3
64 = ScareCrow SP
65 = Rare ScareCrow
66 = Rare ScareCrow2
67 = PulseBulb
68 = PulseBulb2
69 = PulseBulb3
6A = PulseBulb SP
6B = Rare PulseBulb
6C = Rare PulseBulb2
6D = BigHat
6E = BigHat2
6F = BigHat3
70 = BigHat SP
71 = Rare BigHat
72 = Rare BigHat2
73 = BombCorn
74 = MegaCorn
75 = GigaCorn
76 = BombCorn SP
77 = Rare BombCorn
78 = Rare BombCorn2
79 = Shrubby
7A = Shrubby2
7B = Shrubby3
7C = Shrubby SP
7D = Rare Shrubby
7E = Rare Shrubby2
7F = HoneyBomber
80 = HoneyBomber2
81 = HoneyBomber3
82 = HoneyBomber SP
83 = Rare HoneyBobmer
84 = Rare HoneyBomber2
85 = Gunner
86 = Shooter
87 = Sniper
88 = Gunner SP
89 = Rare Gunner
8A = Rare Gunner2
8B = FighterPlane
8C = FighterPlane2
8D = FighterPlane3
8E = FighterPlane SP
8F = Rare FighterPlane
90 = Rare FighterPlane2
91 = DarkMech
92 = ElecMech
93 = DoomMech
94 = DarkMech SP
95 = Rare DarkMech
96 = Rare DarkMech2
97 = SnakeArm
98 = SnakeArm2
99 = SnakeArm3
9A = SnakeArm SP
9B = Rare SnakeArm
9C = Rare SnakeArm2
9D = Armadill
9E = Armadill2
9F = Armadill3
A0 = Armadill SP
A1 = Rare Armadill
A2 = Rare Armadill2
A3 = Cragger
A4 = MetalCragger
A5 = BigCragger
A6 = Cragger SP
A7 = Rare Cragger
A8 = Rare Cragger2
A9 = Nightmare
AA = BlackMare
AB = DarkMare
AC = Nightmare SP
AD = Rare Nightmare
AE = Rare Nightmare2
AF = Flying Garbage 1
B0 = Flying Garbage 2
B1 = Flying Garbage 3
B2 = Nothing
B3 = Nothing
B4 = Nothing
B5 = Totem Pole 1
B6 = Totem Pole 2
B7 = Totem Pole 3
B8 = Totem Pole 4
B9 = Totem Pole 5
BA = Totem Pole 6
BB = Mettaur
BC = Mettaur 2
BD = Mettaur 3
BE = Mettaur SP
BF = Rare Mettaur
C0 = Rare Mettaur2
C1 = Mettaur1
C2 = Mettaur1 EX
C3 = Mettaur2
C4 = Mettaur2 EX
C5 = Mettaur3
C6 = Mettaur3 EX
C7 = Tuby
C8 = Tuby EX
C9 = Tuby2
CA = Tuby2 EX
CB = Tuby3
CC = Tuby3 EX
CD = Flag
CE = Rock
CF = Otenko
D0 = RockCube
D1 = IceCube
D2 = Nothing
D3 = Nothing
D4 = BombCube
D5 = BlackBomb
D6 = Wind
D7 = Fan
D8 = TimeBomb
D9 = TimeBomb+
DA = Nothing
DB = Anubis
DC = PoisonPharoah
DD = Fanfare
DE = Discord
DF = Timpani
E0 = Silence
E1 = DarkSonic
E2 = VDoll
E3 = Guradian
E4 = Voltz
E5 = AirSpin
E6 = ChaosLord
E7 = RedFruit
E8 = ChemicalFlash
E9 = ModMegaman
EA = BassCrossMegaman

0101 = HeatMan
0102 = HeatMan EX
0103 = HeatMan SP
0104 = HeatMan RV
0105 = HeatMan BX
0106 =
0107 = ElecMan
0108 = ElecMan EX
0109 = ElecMan SP
010A = ElecMan RV
010B = ElecMan BX
010C =
010D = SlashMan
010E = SlashMan EX
010F = SlashMan SP
0110 = SlashMan RV
0111 = SlashMan BX
0112 =
0113 = KillerMan
0114 = KillerMan EX
0115 = KillerMan SP
0116 = KillerMan RV
0117 = KillerMan BX
0118 =
0119 = ChargeMan
011A = ChargeMan EX
011B = ChargeMan SP
011C = ChargeMan RV
011D = ChargeMan BX
011E =
011F = AquaMan
0120 = AquaMan EX
0121 = AquaMan SP
0122 = AquaMan RV
0123 = AquaMan BX
0124 =
0125 = TomahawkMan
0126 = TomahawkMan EX
0127 = TomahawkMan SP
0128 = TomahawkMan RV
0129 = TomahawkMan BX
012A =
012B = TenguMan
012C = TenguMan EX
012D = TenguMan SP
012E = TenguMan RV
012F = TenguMan BX
0130 =
0131 = GroundMan
0132 = GroundMan EX
0133 = GroundMan SP
0134 = GroundMan RV
0135 = GroundMan BX
0136 =
0137 = DustMan
0138 = DustMan EX
0139 = DustMan SP
013A = DustMan RV
013B = DustMan BX
013C =
013D = ProtoMan
013E = ProtoMan EX
013F = ProtoMan SP
0140 = ProtoMan FZ
0141 = ProtoMan BX
0142 =
0143 = BlastMan
0144 = BlastMan EX
0145 = BlastMan SP
0146 = BlastMan RV
0147 = BlastMan BX
0148 =
0149 = DiveMan
014A = DiveMan EX
014B = DiveMan SP
014C = DiveMan RV
014D = DiveMan BX
014E =
014F = CircusMan
0150 = CircusMan EX
0151 = CircusMan SP
0152 = CircusMan RV
0153 = CircusMan BX
0154 =
0155 = JudgeMan
0156 = JudgeMan EX
0157 = JudgeMan SP
0158 = JudgeMan RV
0159 = JudgeMan BX
015A =
015B = ElementMan
015C = ElementMan EX
015D = ElementMan SP
015E = ElementMan RV
015F = ElementMan BX
0160 =
0161 = Hakushaku
0162 = Hakushaku EX
0163 = Hakushaku SP
0164 = Hakushaku RV
0165 = Hakushaku BX
0166 =
0167 = Colonel
0168 = Colonel EX
0169 = Colonel SP
016A = Colonel RV
016B = Colonel BX
016C =
016D = Bass
016E = Bass BX
016F = Bass SP
0170 = Bass SP
0171 = Bass BX *
0172 = Bass XX
0173 = Gregar
0174 = Gregar EX
0175 = Gregar SP
0176 = Gregar RV
0177 = Gregar BX
0178 =
0179 = Falzar
017A = Falzar EX
017B = Falzar SP
017C = Falzar RV
017D = Falzar BX
017E =
017F = Hakushaku
0180 = Hakushaku EX
0181 = Hakushaku SP
0182 = Hakushaku RV
0183 = Hakushaku BX
0184 =
0185 = Gregar Beast
0186 = Gregar Beast EX
0187 = Gregar Beast SP
0188 = Gregar Beast RV
0189 = Gregar Beast BX
018A =
018B = Falzar Beast
018C = Falzar Beast EX
018D = Falzar Beast SP
018E = Falzar Beast RV
018F = Falzar Beast BX
0190 =
0191 = MegaMan
0192 = MegaMan
0193 = MegaMan
0194 = MegaMan
0195 = MegaMan
0196 = MegaMan
0197 = MegaMan
0198 = MegaMan
0199 = MegaMan
019A = MegaMan
019B = MegaMan
019C = MegaMan
019D = MegaMan
019E = MegaMan
019F = MegaMan
01A0 = MegaMan
01A1 = HeatMan
01A2 = ElecMan
01A3 = SlashMan
01A4 = KillerMan
01A5 = ChargeMan
01A6 = AquaMan
01A7 = TomahawkMan
01A8 = TenguMan
01A9 = GroundMan
01AA = DustMan
01AB = ProtoMan

Some notes:
The Test Virus is a 500 HP Mettaur that never attacks.
Enemies AF-B1 are the Flying Garbage enemies needed for the DustMan mini game. As DustMan, you crush or inhale the garbage. B2-B3 don’t work properly.
Enemies B5-B7 are the Totem Pole enemies needed for the TomahawkMan mini game. As TomahawkMan, you chop at the poles until they are all defeated. B5-B7 are the 3 versions used by the game but B8-BA are more difficult versions which don’t show up correctly.
Mettaurs BB-C0 are the same as the regular Mettaur except they have no name and always drop Cannon *.
Enemies C1-CC are leftover Crossover Battle enemies from BN5. The names are the same, but the versions aren’t the same anymore.
Enemy values CD-EA are leftover names from BN5’s Operation Battle. In-battle, they all appear as Mettaurs.
Enemy values 0191-019F all appear as a 4000 HP MegaMan.Values 01A0-01AB are names used to identify controllable characters and are recognized by enemies as hittable. In-battle, they all appear as a 100 HP MegaMan.

That concludes the Mega Man Battle Network 6 Custom Battle guide.
Below is a sample video demonstrating some of the possibilities allowed with this guide.

Discussion topic on the TREZ Forums