On this page
  1. How it plays
  2. Across the series
  3. Cartridge
  4. Code lineage
  5. Related
  6. Mechanics
  7. References
  8. Sources

Mega Man 6 is Capcom’s action platformer for the NES. It came out in Japan on 5 November 19931 as Rockman 6: Shijō Saidai no Tatakai!! (in our translation, The Greatest Battle in History!!)2. In North America Nintendo published it, where Capcom had published the first five3. GameSpot’s history of the series says Capcom, committed to the Super NES and let down by Mega Man 5’s sales, chose not to release it there4.

In the North American manual’s story, a billionaire called Mr. X holds a robot tournament, then turns its eight finalists against the world5. The player picks which of the eight to fight from the stage select6. Capcom’s design contest for them drew 200,0007 entries. Two of the winners, Knight Man and Wind Man, were Nintendo Power readers whose designs the magazine sent to Capcom8. Keiji Inafune drew the character art while working on Mega Man X, so it is closer in density to that Super NES game9.

The game adds two Rush adaptors that merge Mega Man with his dog, as armor that punches or as a jet pack10. Famicom Tsūshin’s reviewers gave it 23 of 4011; one called it a Rockman for Rockman players, and another preferred Rockman X11. Nintendo Power placed it in its top five NES games of 199312. GameSpot’s 2003 history called it the series’ last NES game and its cheesiest13.

#How it plays

Every jump leaves the ground at the same speed, a touch faster than in Mega Man 514. Held, a jump rises for a third of a second, about three tiles15, under the same pull of gravity on every frame16. Letting go of A ends the rise at once, and he starts down slowly17. Gravity is far lighter in one type of tile, and a fall levels off at a top speed18.

A tap of the d-pad moves Mega Man one short step. Held, he pauses in that step for a few frames and then walks19. In the air the d-pad steers him at the walking speed, and he climbs ladders at that speed too20. Another tile type slows his jump, slide, and walk21. On two kinds of floor his speed carries on after the d-pad is let go and fades away22.

Down and A start the slide, as fast and as long as Mega Man 5’s23. A press of A without Down ends it but doesn’t jump; a jump needs a fresh press24. Turning around ends a slide early, and a low ceiling keeps it going until he can stand25.

Tapping B fires a normal shot. Holding it charges the charge shot, which comes out half-charged after six-tenths of a second and fully charged after a second and a half26. A hit pushes him back, and holding the way he faces halves the push27. He can’t be hurt again until a second after the push ends28.

The Power and Jet adaptors are chosen from the weapon menu once found. Power Mega Man punches instead of shooting and can’t slide10. His punch charges faster than the buster, to a full charge in half a second29, and it breaks cracked stone walls30. Jet Mega Man flies while A is held in the air. He hangs still for a moment, then rises to a set height above where he started and stays there31. A meter holds a second and a third of flight, and it fills again once he lands32.

Beat, a robot bird that attacks enemies on its own, joins once Mega Man finds the four plates B, E, A, and T33. A hidden Energy Balancer sends each weapon capsule to the weapon lowest on energy34. A password resumes the game from the stage where it was given35.

Under the hood, every object on screen, Mega Man included, runs as a script that hands control back once a frame and picks up where it stopped on the next. This is a form of cooperative multitasking36.

#Across the series

Against Mega Man 5, the jump leaves the ground faster14. Letting go of A turns the rise straight into a slow fall, where Mega Man 5’s stops it dead17. The slide keeps its speed and length23, but a press of A no longer jumps out of it24. The knockback is unchanged27. The half charge comes sooner and the full charge later26.

Mega Man 5’s Rush was a springboard and a jet sled37; here Rush merges with Mega Man instead10. Beat returns, built this time from four plates rather than the letters of MEGA MAN V33,38.

Cartridge

Interactive: rom-parts (needs JavaScript)

512 KB, a cell per 512 bytes, from 296 mapped regions

Code lineage

FromToMatchBytesWhat
Mega Man 5 aim-and-divideMega Man 6 divide-16relocated65Mega Man 6's 16-bit division at $CC70 is Mega Man 5's `div16` at $F22D, except that it saves X in $08 instead of $09.
Mega Man 5 chr-bank-00Mega Man 6 tiles-bank-00identical176116 of the 157 non-blank sprite tiles in Mega Man 6's bank $00 at $8000-$89FF (115 distinct) appear in Mega Man 5's sprite CHR at $00000-$01FFF, rearranged: the longest stretch that matches tile for tile is 11 tiles (176 bytes), Mega Man 5's tiles $0A-$14 as Mega Man 6's $0B-$15.
Mega Man 5 chr-bank-18Mega Man 6 tiles-bank-10changed2,064Mega Man 6's bank $10 holds, at $8800-$900F, the 129 tiles of Mega Man 5's CHR at $31800-$3200F (2,064 bytes), the title screen block of claim mm4-mm5-title-tiles plus one tile, with one tile changed: the 33rd ($8A00), a hollow square in Mega Man 5 and a circled R in Mega Man 6.
Mega Man 5 chr-bank-19Mega Man 6 tiles-bank-11changed416Mega Man 6's bank $11 holds, at $82B0-$844F, Mega Man 5's 26 letter tiles, A to Z, from its CHR at $32410 (416 bytes), with the J redrawn: its hook reaches a pixel further left.
Mega Man 5 chr-bank-19Mega Man 6 tiles-bank-11identical160Mega Man 6's background bank $11 has 83 different tiles of Mega Man 5's background CHR at $32000-$33FFF. Besides the 26 letters (claim mm5-mm6-letter-tiles), the ten tiles right before them, at $8200-$829F, are byte for byte Mega Man 5's ten tiles at $32300 (160 bytes); the rest come in stretches of up to 10 tiles.
Mega Man 5 frequency-outputMega Man 6 frequency-outputchanged232Mega Man 6's period output is Mega Man 5's with one step added: after adding the channel's signed offset at $0714 to the period, a period of zero becomes 1. The added 8 bytes push the sound tables seven bytes higher, and the routine's table operands follow.
Mega Man 5 music-track-readerMega Man 6 music-track-readerrelocated587Mega Man 6's music track reader is Mega Man 5's, one byte lower ($8392 against $8393); only its call and jump targets, jump-table entries, and the addresses of the tables it reads differ.
Mega Man 5 note-frequencyMega Man 6 note-frequencyrelocated220Mega Man 6's note-to-period lookup is Mega Man 5's, one byte lower; the only differences are the two operands that address the period table, which sits seven bytes higher in Mega Man 6 ($8960 against $8959).
Mega Man 5 play-soundMega Man 6 play-soundchanged339Mega Man 6's sound command routine is Mega Man 5's with one change: where Mega Man 5 steps the sound's data pointer by incrementing $C1 and, on a carry, $C2 before copying it to $D0 and $D1, Mega Man 6 carries into X instead, so $C2 is left as it was, and the routine is a byte shorter. Code after it sits one byte lower, and its jumps, calls, and jump-table entries follow.
Mega Man 5 sfx-streamMega Man 6 sfx-streamrelocated321Mega Man 6's sound effect stream reader is Mega Man 5's, one byte lower ($8251 against $8252); only its call and jump targets and jump-table entries differ.
Mega Man 5 sound-data-bank1aMega Man 6 sound-data-bank36changed875Mega Man 6's sounds $23-$3C, the first 26 after its music, at $B758-$BAC2 of bank $36, are 22 of Mega Man 5's sounds from $1A to $3E plus four new ones ($2A-$2D). The 22 keep Mega Man 5's order, except that its $3E comes in as $2E. Seventeen are byte for byte. In the other five only addresses differ, each moved as far as the sound: one address inside each of four effects, and the four track pointers of $39, a sound with music's priority $00 (Mega Man 5's $30). Mega Man 6 leaves out 12 of Mega Man 5's $1A-$3A: $1F, $21, $23, $2B, $2F, $31-$34, and $36-$38. The Mega Man 5 disassembly's notes name two of the carried sounds, the ricochet ($1E, Mega Man 6's $27) and the hit ($2A, Mega Man 6's $35); the kill sound ($2B) is one of those left out.
Mega Man 5 sound-data-bank1aMega Man 6 sound-data-bank36identical79Mega Man 6's sound effects $61 and $62, at $BE99-$BEE7 of bank $36, are byte for byte Mega Man 5's $17 and $18, the first two effects after its music.
Mega Man 5 sound-data-bank1aMega Man 6 sound-data-bank36relocated116Mega Man 6's music $13, 116 bytes at $A19B-$A20E of bank $36, is Mega Man 5's music $11 moved. Only the four track pointers in its header differ, each $625 lower, as far as the song's start moved.
Mega Man 5 sound-directory-and-instrumentsMega Man 6 sound-directory-and-instrumentschanged568Mega Man 6's instrument table, 71 instruments of 8 bytes at $8B0F, has as many instruments as Mega Man 5's at $8ADB, but only 27 are the same under the same number. The longest such run is nine instruments, $3D-$45 (72 bytes). One more of Mega Man 6's is in Mega Man 5's table under another number.
Mega Man 5 sound-driver-entryMega Man 6 sound-driver-entrychanged108Mega Man 6's sound bank, bank $34, opens with Mega Man 5's entry jumps, multiply, and sound-data read at the same addresses; only the two bank numbers the read maps differ: the overflow data bank, $1A in Mega Man 5 and $36 in Mega Man 6, and the data bank it restores, $19 and $35.
Mega Man 5 sound-driver-tablesMega Man 6 sound-driver-tablesidentical292Mega Man 6's sound tables (note lengths, octave offsets, envelope steps, octave thresholds, and the period table) are Mega Man 5's byte for byte, seven bytes higher at $891C; the zero padding after them, up to the song directory at $8A40, is seven bytes shorter.
Mega Man 5 sound-driver-updateMega Man 6 sound-driver-updaterelocated146Mega Man 6's per-frame sound tick is Mega Man 5's at the same address; three call targets differ, because the stream readers they call sit one byte lower in Mega Man 6.
Mega Man 5 spawn-engineMega Man 6 stage-spawnerrewritten663Both games walk a stage's sorted spawn list with two cursors, one for each side of the screen, comparing the scroll position with each entry's screen and X position, but Mega Man 6's spawner is new code. Mega Man 5 reads fixed tables in the stage bank ($A9FF, $AA7F, $AB80), keeps its cursors in $AD and $AE, and treats codes from $C0 up as palette and CHR commands; Mega Man 6 reaches each stage's lists through pointers it sets in $74-$7F from tables in bank $3A, keeps its cursors in $0649 and $064A, and skips entries whose bit in $0650 marks them used.
Mega Man 5 vertical-section-transitionMega Man 6 vertical-section-transitionrewritten442Both games slide the screen to a new section when Mega Man leaves by the top or bottom, but Mega Man 6's is new code. Mega Man 5 tests the player's Y ($0378) against $08 and $E8 inside its per-frame scroll update, reads the section layout from the stage bank at $A950, and steps the slide 4 pixels a frame from there; Mega Man 6's transitions are separate routines that clear the object slots, reset the spawner, and run their own loop of 120 frames for a vertical move, drawing and waiting a frame each time.
Mega Man 5 volume-envelopeMega Man 6 volume-enveloperelocated379Mega Man 6's volume envelope code is Mega Man 5's, one byte lower; only its jump-table entries, call targets, and the address of the envelope step table, seven bytes higher, differ.

Mechanics

MechanicKindHow
JumpOne speedevery jump takes off at the same speed, a little faster than in Mega Man 5
GravityOne gravitythe same pull on every frame, lighter in one kind of tile
Variable jump heightRelease capletting go of A turns the rise into a slow fall at once
RunningSteppeda step, a short halt, then the walking speed
Air controlDirectthe d-pad sets the speed in the air on every frame
Ground slideTimedMega Man 5's slide, as fast and as long, but A ends it without a jump
Charge shotTiers on releasehold B for a half or a full charge; the Power adaptor's punch charges faster
KnockbackFixed shoveMega Man 5's push, halved by holding the way he faces
Invincibility framesFrame timerthe timer starts only once the push ends, for a second and a half in all
FlightHeld heightthe Jet adaptor lifts him to a set height while A is held, until its meter runs out
Destructible terrainBreakable tilesthe Power adaptor's punch breaks cracked stone walls
ClimbingVine or ladderladders, climbed at the walking speed
Stage selecteight Robot Masters, in any order
Password and battery savea password grid resumes from the stage where it was given
Cooperative multitaskingevery object, Mega Man included, is a script that yields once a frame
Every claim about this game, by concept (71)
generalMega Man 6's cartridge ROM, counted by part of the game: each stretch of code or data goes to the part the disassembly's labels and comments say it serves, and the value sums the bytes of each part.Code notes
Mega Man 6 came out on the Famicom in Japan on 5 November 1993.Publisher
Nintendo of America's list of NES games dates the North American release March 1994.Publisher
In Japan the game is Rockman 6: Shijō Saidai no Tatakai!! The atlas translates the subtitle as The Greatest Battle in History!!, where GameSpot gives The Biggest Battle in History!!Magazine
Capcom published the game in Japan and Nintendo of America published it in North America, where Capcom had published Mega Man 1 to 5.Manual
GameSpot's history says Capcom, committed to the Super NES and disappointed by Mega Man 5's sales, chose not to release the game in the United States.Web
In the North American manual's story, the billionaire Mr. X holds a robot tournament, then takes the eight finalists to help him conquer the world.Manual
The player picks which of the eight robots to fight from the stage select; they are Blizzard Man, Wind Man, Knight Man, Plant Man, Centaur Man, Flame Man, Tomahawk Man, and Yamato Man.Manual
Two adaptors Mega Man finds let Rush merge with him, chosen from the weapon menu. As Power Mega Man he wears Rush as armor that punches, charged by holding B, but he can't slide or use other weapons; as Jet Mega Man, Rush is a jet pack that lifts him while A is held, for a short time before it overheats.Manual
The manual's hints say the Power armor breaks through cracked stone walls.Manual
Collecting four circuit plates, B, E, A, and T, lets Dr. Light finish Beat, a robot bird Mega Man can call to attack.Manual
An Energy Balancer, hidden in a stage, makes each weapon capsule refill the weapon with the least energy.Manual
A password grid resumes the game from the stage where the password was given.Manual
Capcom's design contest for Mega Man 6's bosses drew 200,000 entries.Publisher
Two of the bosses, Knight Man and Wind Man, came from Nintendo Power readers: the magazine sent their designs to Capcom, which adapted them. GameSpot names their designers as Daniel Vallie, a Canadian, and Michael Leader, an American; the other six bosses were designed in Japan.Magazine
Keiji Inafune says he drew the game's character art while working on Mega Man X, so it is closer to that Super NES game's density.Publisher
Famicom Tsūshin's four reviewers scored it 7, 5, 5, and 6 of 10, 23 of 40; one called it "a Rockman for Rockman players", and another found only minor changes in a finished series and preferred Rockman X on the Super Famicom.Magazine
Nintendo Power's January 1994 issue placed it in its top five NES games of 1993, saying Mega Man's sixth NES adventure "might just be his best".Magazine
GameSpot's 2003 history of the series called it the last NES game of the series and the cheesiest.Web
Mega Man 6's per-frame sound tick is Mega Man 5's at the same address; three call targets differ, because the stream readers they call sit one byte lower in Mega Man 6.Code
Mega Man 6's sound command routine is Mega Man 5's with one change: where Mega Man 5 steps the sound's data pointer by incrementing $C1 and, on a carry, $C2 before copying it to $D0 and $D1, Mega Man 6 carries into X instead, so $C2 is left as it was, and the routine is a byte shorter. Code after it sits one byte lower, and its jumps, calls, and jump-table entries follow.Code
Mega Man 6's 16-bit division at $CC70 is Mega Man 5's div16 at $F22D, except that it saves X in $08 instead of $09.Code
Both games slide the screen to a new section when Mega Man leaves by the top or bottom, but Mega Man 6's is new code. Mega Man 5 tests the player's Y ($0378) against $08 and $E8 inside its per-frame scroll update, reads the section layout from the stage bank at $A950, and steps the slide 4 pixels a frame from there; Mega Man 6's transitions are separate routines that clear the object slots, reset the spawner, and run their own loop of 120 frames for a vertical move, drawing and waiting a frame each time.Code
Both games walk a stage's sorted spawn list with two cursors, one for each side of the screen, comparing the scroll position with each entry's screen and X position, but Mega Man 6's spawner is new code. Mega Man 5 reads fixed tables in the stage bank ($A9FF, $AA7F, $AB80), keeps its cursors in $AD and $AE, and treats codes from $C0 up as palette and CHR commands; Mega Man 6 reaches each stage's lists through pointers it sets in $74-$7F from tables in bank $3A, keeps its cursors in $0649 and $064A, and skips entries whose bit in $0650 marks them used.Code
Mega Man 6's bank $10 holds, at $8800-$900F, the 129 tiles of Mega Man 5's CHR at $31800-$3200F (2,064 bytes), the title screen block of claim mm4-mm5-title-tiles plus one tile, with one tile changed: the 33rd ($8A00), a hollow square in Mega Man 5 and a circled R in Mega Man 6.Code
Mega Man 6's bank $11 holds, at $82B0-$844F, Mega Man 5's 26 letter tiles, A to Z, from its CHR at $32410 (416 bytes), with the J redrawn: its hook reaches a pixel further left.Code
116 of the 157 non-blank sprite tiles in Mega Man 6's bank $00 at $8000-$89FF (115 distinct) appear in Mega Man 5's sprite CHR at $00000-$01FFF, rearranged: the longest stretch that matches tile for tile is 11 tiles (176 bytes), Mega Man 5's tiles $0A-$14 as Mega Man 6's $0B-$15.Verified
Mega Man 6's background bank $11 has 83 different tiles of Mega Man 5's background CHR at $32000-$33FFF. Besides the 26 letters (claim mm5-mm6-letter-tiles), the ten tiles right before them, at $8200-$829F, are byte for byte Mega Man 5's ten tiles at $32300 (160 bytes); the rest come in stretches of up to 10 tiles.Verified
Mega Man 6's sounds $23-$3C, the first 26 after its music, at $B758-$BAC2 of bank $36, are 22 of Mega Man 5's sounds from $1A to $3E plus four new ones ($2A-$2D). The 22 keep Mega Man 5's order, except that its $3E comes in as $2E. Seventeen are byte for byte. In the other five only addresses differ, each moved as far as the sound: one address inside each of four effects, and the four track pointers of $39, a sound with music's priority $00 (Mega Man 5's $30). Mega Man 6 leaves out 12 of Mega Man 5's $1A-$3A: $1F, $21, $23, $2B, $2F, $31-$34, and $36-$38. The Mega Man 5 disassembly's notes name two of the carried sounds, the ricochet ($1E, Mega Man 6's $27) and the hit ($2A, Mega Man 6's $35); the kill sound ($2B) is one of those left out.Verified
Air controlIn the air the d-pad sets his horizontal speed from the same table at $8BEA each frame, 1.30 px/frame or 0, and clears any carried momentum, except when his surface ($A7) is $15: then the air loop runs the momentum routine code_388B0F instead, and the carried speed stays (momentum-surfaces). On a ladder, Up or Down moves him along it at the same 1.30 px/frame.Code
Charge shotMega Man 6's buster fires a normal shot on the press of B, which sets the charge counter $9E to 0; each later frame with B held adds 1, and on release the counter fires a half-charged shot from 36 ($24) and a full one from 90 ($5A, kept in $06AB), and nothing under 36. Between games these are counts, not frames: Mega Man 5's counter, whose start isn't traced, fires its half charge from 40 and its full one from 80, and Mega Man 4's, which starts at 1 on the press, from 32 and 92.Code
With the Power adaptor ($9B 2) the charge counter gains 2 a frame and caps at 60 ($3C), so a half-strength punch comes from 18 frames held and a full one from 30 (computed). Each punch (shot types $0C, $0E, $0F by tier) holds him in a 12-frame pose that keeps the charge off ($9E = $FF).Code
Cooperative multitaskingMega Man 6 runs its objects, Mega Man included, as coroutines. Each frame code_3FE41C counts the slots from 22 down to 0 and calls each live one at its resume address ($0413/$042A); a script yields by calling code_3FE468, which pops its own return address into that pointer and moves to the next slot, so the script resumes after the call the next frame. Mega Man's movement (slot 0) is written as loops around that call, each loop ending the frame through code_388E95.Code
Coyote timeWalking or standing off a ledge, Mega Man 6 stays in his ground loop while the whole byte of his vertical speed is 0: gravity's 0.25 px/frame a frame moves him down 0.25, 0.5, 0.75, and 1 px on the first four frames over the gap, and through the 2nd to 4th a fresh A press still jumps. After the 4th the loop finds the whole byte at 1 and enters the air loop with the fraction set to $CC, so he falls at 2.05 px/frame the next frame. Measured in Mesen from power-on, walking right off the ledge at X 160 near the start of Tomahawk Man's stage, he fell 0.25, 0.5, 0.75, and 1 px in the walking state, then 2.05 px/frame in the air; a press of A on the 4th frame over the gap jumped at the full take-off speed, and one on the 5th didn't.Verified
FlightWith the Jet adaptor ($9B 1), holding A in the air while not rising and with jet energy left starts the jet. It slows his fall by 1/8 px/frame each frame until he would rise, holds him still for 10 frames, then lifts him from 2 px/frame, faster each frame, and holds him at 84 px ($54) above where he stopped; the d-pad steers him at 1 px/frame. Letting go of A, or running out of energy, drops him back into the fall.Code
The jet's energy $9C drains by 1 every 4 frames the jet runs, and the jet stops when it goes below 0, so a full meter of 20 steps (0 to 19) lasts 80 frames (computed). It refills by 1 every other frame up to 19, from empty in 40 frames (computed), while the jet's frame counter $9D is 0, which landing sets, and the buster is the weapon in hand.Code
GravityOutside tile type $08, gravity adds $40 (0.25 px/frame) to Mega Man's vertical speed every frame before he moves. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, his speed grew by 0.25 px/frame on each frame of a held jump.Verified
In tile type $08 gravity is $18 a frame (0.09 px/frame) instead of $40. Falling, the whole-pixel byte of his speed stops at 7 while the fraction keeps growing, so under the normal gravity his top falling speed steps between 7.05 and 7.80 px/frame (computed).Code
Ground slideMega Man 6 keeps Mega Man 5's slide speed and length, 2.5 px/frame for 26 frames ($1A), set from the table at $8003, outside tile type $09, where the table at $8009 gives 1.5 px/frame (slow-surface). Measured in Mesen from power-on, at the start of Tomahawk Man's stage, a slide from Down and A moved him 2.5 px on each of 26 frames, 65 px in all.Verified
A press of A without Down ends Mega Man 6's slide but doesn't jump: the slide hands over to the standing loop, which looks for a jump only in a later frame's fresh press ($9A). In Mega Man 5 the same press jumps out of the slide when there is headroom. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, an A press on a slide's 8th frame with Down let go ended the slide that frame, and A held for the next 6 frames left him on the floor.Verified
Down and A start the slide only with no Rush adaptor on ($9B 0); with one, the press jumps. A turn (a held direction against his facing) ends the slide early, and at its end two tile probes above him keep it going 4 frames at a time while the ceiling is low.Code
Mega Man 6's slide ends on a turn, a wall (wall-stop), a fresh A without Down (slide-exit), its 26th frame, or the 2nd frame over a gap, when gravity has taken his speed's fraction to $41 or more. Unless a low ceiling keeps the slide going (slide-rules), it hands over in the same frame: over a gap to the air loop, with the fraction set to $CC, and otherwise to the standing loop, which moves him a second time that frame, at the walking speed toward a held direction or not at all. So a turn out of a slide moves him 2.5 px forward and 1.30 px back in one frame, and the next frame starts a step. Measured in Mesen from power-on near the start of Tomahawk Man's stage, a slide off the ledge at X 160 slid on its first frame over the gap and fell from the second, and Left on a rightward slide's 7th frame moved him 1.20 px right that frame ($01.$34, the slide's $02.$80 less the walk's $01.$4C), then 1.30 px left as a step began.Verified
HitboxMega Man 6 tests the tiles at points around his center, from the table at $9119 (X) and $912D (Y): falling or standing, his floor at 12 px below the center, at the center and 7 px to each side; rising, his head at 9 px above it, at the same three; and walls 7 px to the side he moves toward, at 7 px below the center (level with it when rising), 9 px above, and 10 px below. In a slide the high wall point and the head's two side points drop to 3 px above the center (the head's center point stays 9 above), and the low wall point to 12 below. Each point reads the 16 px tile holding it.Code
After each move Mega Man 6 tests his points in a fixed order: the center floor or head point, then the wall point at mid height, then, if he moves sideways, the high wall point, then the two floor or head corners, and last one more wall point, the low one if he moves sideways or the high one if not. A floor or ceiling found pushes him out at once, so the points after it test from where it left him; a wall found ends the frame's tests.Code
When a floor or head point finds a solid tile, Mega Man 6 is pushed out of it by the point's depth in its 16 px tile: from the tile's top half up to the row above it, from its bottom half down to the row below it; his Y fraction stays. Falling or standing, his vertical speed is set to 0; rising, only its whole byte (ceiling-hit). After the frame's tests a push moves him 1 px back down, so a standing Mega Man's floor point lies in the floor's top row. Standing, gravity adds $40 to his speed and his Y every frame and the floor pushes him back, so his Y fraction drifts by $40 a frame while his whole Y stays. Measured in Mesen from power-on near the start of Tomahawk Man's stage, a walk, a slide, and a jump off the ledge at X 160 each landed with his floor point on the top row of the lower floor (row 160, 32 px below the start floor's top row, 128), the speed 0.Verified
When a wall point finds a solid tile, Mega Man 6 is pushed back out across by the point's depth in its 16 px tile, from its left half to the column left of it, from its right half to the column right of it; his X fraction stays, and the frame's other tile tests are skipped. The push also ends a slide. Measured in Mesen from power-on near the start of Tomahawk Man's stage, walking left on the lower floor into the face of the ledge at X 160 held his X at 167, his left wall points on column 160, right of the face, while he kept walking.Verified
At the end of every frame Mega Man 6 holds Mega Man on the screen: his X is kept from 16 px ($A8, which his routine's start sets to $10) to 244 px right of the camera's left edge, with its fraction left as it is, and a Y of 240 or more on the screen's own rows kills him. Measured in Mesen from power-on near the start of Tomahawk Man's stage, where the camera can't scroll left, walking left stopped at X 16 while his X fraction kept changing.Verified
Invincibility framesA hit sets Mega Man 6's invincibility timer $A2 to 60 frames ($3C), but the 30-frame knockback runs through the frame routine's entry past the countdown (code_388EB9), so the timer starts to count, and he starts to blink, only once the knockback ends: he can't be hurt for 90 frames in all (computed). The damage routine skips a hit while $A2 isn't 0.Code
JumpOn a fresh A press with no slide, on ordinary floor, Mega Man 6's standing loop sets his vertical speed to $FA.$CC, 5.20 px/frame up, where Mega Man 5 writes 5 px/frame ($05.$00); in tile type $09 it writes the slower $FB.$CC instead (slow-surface). The air loop adds gravity before each move, so the first frame lifts him 0.25 less, 4.95 px. Measured in Mesen from power-on, standing where he lands at the start of Tomahawk Man's stage, the first frame of a jump moves him up at that 4.95 px/frame.Verified
Computed from the ordinary take-off and gravity, outside tile types $08 and $09 (fall-limits, slow-surface), a jump with A held peaks 51.6 px above the floor on its 20th frame. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, the held jump rose 51.56 px and turned to fall after frame 20.Verified
A Mega Man 6 falling onto a floor has his vertical speed set to 0, fraction included, by the floor push (floor-snap). The air loop reads the landing on the next frame, from the fraction being 0, and goes into the walking loop at once: that frame he turns to a held direction and walks at 1.30 px/frame with no step, or a fresh A press jumps again. A press on the touchdown frame itself is never read, since only the air loop runs then, and it reads A only as held.Code
Rising into a solid tile, Mega Man 6 is pushed down below it and 1 px further, and the whole byte of his vertical speed is set to 0 while its fraction stays, so on the next frame, gravity added, he moves down 0.30 to 1.05 px (under the normal gravity). He stays in the air loop, and the jump's release cut, which needs the whole byte negative, no longer applies.Code
Nothing in Mega Man 6's ground loops tests the ceiling before a jump or a slide: a fresh A press sets the take-off speed or starts the slide outright, and a jump under a low ceiling meets it on its first move (ceiling-hit). Mega Man 5 tests a point over his head before a slide starts.Code
Mega Man 6's ordinary-floor movement isn't Mega Man 5's: the first difference is a jump's take-off. Mega Man 6 sets his vertical speed to $FA.$CC, 5.20 px/frame up; Mega Man 5 sets its whole byte $03F0 to $05 and its fraction $03D8 to $00, 5 px/frame (jump-speed). Letting go of A sets only the whole byte to 0 in Mega Man 6 and both bytes in Mega Man 5 (release-cut), and Mega Man 5 tests for headroom before a slide where Mega Man 6 doesn't (jump-under-ceiling). The two run different code: Mega Man 5's player is a state machine dispatched each frame from $30, Mega Man 6's a coroutine of loops (coroutine-scheduler).Code
KnockbackMega Man 6 keeps Mega Man 5's knockback: 0.5 px/frame against his facing, or 0.25 px/frame ($40) with the direction he faces held, here for 30 frames ($1E), with Up, Down, Start, and Select masked out of the held buttons.Code
Music driverMega Man 6's sound bank, bank $34, opens with Mega Man 5's entry jumps, multiply, and sound-data read at the same addresses; only the two bank numbers the read maps differ: the overflow data bank, $1A in Mega Man 5 and $36 in Mega Man 6, and the data bank it restores, $19 and $35.Code
Mega Man 6's music track reader is Mega Man 5's, one byte lower ($8392 against $8393); only its call and jump targets, jump-table entries, and the addresses of the tables it reads differ.Code
Mega Man 6's note-to-period lookup is Mega Man 5's, one byte lower; the only differences are the two operands that address the period table, which sits seven bytes higher in Mega Man 6 ($8960 against $8959).Code
Mega Man 6's volume envelope code is Mega Man 5's, one byte lower; only its jump-table entries, call targets, and the address of the envelope step table, seven bytes higher, differ.Code
Mega Man 6's period output is Mega Man 5's with one step added: after adding the channel's signed offset at $0714 to the period, a period of zero becomes 1. The added 8 bytes push the sound tables seven bytes higher, and the routine's table operands follow.Code
Mega Man 6's sound tables (note lengths, octave offsets, envelope steps, octave thresholds, and the period table) are Mega Man 5's byte for byte, seven bytes higher at $891C; the zero padding after them, up to the song directory at $8A40, is seven bytes shorter.Code
Mega Man 6's music $13, 116 bytes at $A19B-$A20E of bank $36, is Mega Man 5's music $11 moved. Only the four track pointers in its header differ, each $625 lower, as far as the song's start moved.Verified
Mega Man 6's instrument table, 71 instruments of 8 bytes at $8B0F, has as many instruments as Mega Man 5's at $8ADB, but only 27 are the same under the same number. The longest such run is nine instruments, $3D-$45 (72 bytes). One more of Mega Man 6's is in Mega Man 5's table under another number.Verified
RunningFrom standing, a held direction moves Mega Man one frame at the walking speed, $01.$4C (1.30 px/frame) from the table at $8BEA, then holds him in the step pose while a counter of 6 ($95) runs out, and walks at 1.30 px/frame from the 7th frame. That is on ordinary floor: on surface type $05 he walks at once, on $15 he carries momentum at up to 2 px/frame (momentum-surfaces), and in tile type $09 he walks at 0.5 px/frame (slow-surface). Measured in Mesen from power-on, at the start of Tomahawk Man's stage, Right moved him 1.30 px on frame 1, not at all on frames 2 to 6, and 1.30 px on each frame after.Verified
On the ground Mega Man 6 runs one of three loops, each ending its frame with a yield and reading the next frame's input after it. Standing, a held direction turns him and starts the step: one move at the walking speed, then 5 frames still (walk-start); after it a held direction walks on, turning to it, and none stands him. Walking, letting go stands him on the same frame, and a held direction against his facing turns him at once and walks on with no new step. A fresh A press jumps from any of the three, before that frame's move, or slides with Down held, except on the frame a walk's direction is let go: that frame goes straight to the standing loop's move, and the press is lost. Down alone does nothing.Code
Each frame, after a loop's checks, Mega Man 6 makes one move through code_3886CE: on ordinary floor and in the air alike, the horizontal speed comes from the d-pad's table at $8BEA, 1.30 px/frame or 0; gravity is added to the vertical speed; he moves by both speeds in 8.8 fixed point; and the tile checks run after the move (collision-order).Code
On tile type $09 ($064B) Mega Man moves slower: a jump starts at $FB.$CC (4.20 px/frame up), the slide at 1.5 px/frame, and walking at 0.5 px/frame, from the tables at $8009 and $8BF6.Code
On surface types $05 and $15 his walking speed is a carried momentum ($A1.$A0). A held direction sets it to full speed at once, 1.30 px/frame on $05 and 2 px/frame on $15; with nothing held it slows by 6/256 px/frame each frame, and holding the other way slows it by 12/256 (computed), until its sign flips and it stops.Code
Sound effectsMega Man 6's sound effect stream reader is Mega Man 5's, one byte lower ($8251 against $8252); only its call and jump targets and jump-table entries differ.Code
Mega Man 6's sound effects $61 and $62, at $BE99-$BEE7 of bank $36, are byte for byte Mega Man 5's $17 and $18, the first two effects after its music.Verified
Variable jump heightOn a rising frame without A, Mega Man 6 sets the whole-pixel byte of his vertical speed to 0 and keeps its fraction, so he starts down at once at under 1 px/frame; Mega Man 5 sets both bytes to 0. Outside tile type $08 the cut waits until the rise is no faster than 5 px/frame ($05C8 at $FB or above), and it needs bits $0C of the fraction set, which they always are under the normal gravity, since the jump's $CC gains $40 a frame. Measured in Mesen from power-on at the start of Tomahawk Man's stage, with A let go after 3 frames, the 4th frame left him falling at 0.80 px/frame ($00.$CC).Verified

References

  1. ^Mega Man 6 came out on the Famicom in Japan on 5 November 1993.PublisherMM25 · Famitsu 256-257
    How we know
    NES11/05/1993
    p. 58, release table · archived copy ↗
    11月5日
    p. 38, New Games Cross Review · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  2. ^In Japan the game is Rockman 6: Shijō Saidai no Tatakai!! The atlas translates the subtitle as The Greatest Battle in History!!, where GameSpot gives The Biggest Battle in History!!MagazineFamitsu 256-257 · GameSpot, History of Mega Manrevised
    How we know
    ロックマン6 ~史上最大の戦い!!~
    p. 38, New Games Cross Review · archived copy ↗
    Rockman 6: The Biggest Battle in History!! in Japan
    1993, Mega Man VI · archived copy ↗

    The quote matches our archived copy.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  3. ^Capcom published the game in Japan and Nintendo of America published it in North America, where Capcom had published Mega Man 1 to 5.ManualMega Man 6 NES manual · Nintendo, NES Games · Famitsu 256-257 · GameSpot, History of Mega Manrevised
    How we know
    © 1993 Nintando of America inc. … MEGA MAN fS A TRADEMARK OF CAPCOM CO.LTD.
    copyright page · archived copy ↗
    Mega Man 6 Nintendo
    PDF p. 8 · archived copy ↗
    ファミコンカートリッジ カプコン 7800円
    p. 38, New Games Cross Review · archived copy ↗
    Mega Man Capcom December 1987 Mega Man 2 Capcom June 1989 Mega Man 3 Capcom November 1990 Mega Man 4 Capcom January 1992 Mega Man 5 Capcom December 1992
    PDF p. 8 · archived copy ↗
    Nintendo stepped in and published Mega Man VI in the States.
    1993, Mega Man VI · archived copy ↗

    The quote matches our archived copy.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  4. ^GameSpot's history says Capcom, committed to the Super NES and disappointed by Mega Man 5's sales, chose not to release the game in the United States.WebGameSpot, History of Mega Man
    How we know
    Capcom was so committed to the SNES that after low sales of Mega Man V, it chose not to release this game in the US.
    1993, Mega Man VI · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  5. ^In the North American manual's story, the billionaire Mr. X holds a robot tournament, then takes the eight finalists to help him conquer the world.ManualMega Man 6 NES manualrevised
    How we know
    Annual Robot Tournament sponsored by the billionaire, Mr X. … when the top eight robots enter the arena for the final event, the lights dim and the mysterious Mr. X appears … final test for these robots is to help me conquer the world!
    The Mysterious Mr. X! · archived copy ↗

    The quote matches our archived copy.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  6. ^The player picks which of the eight robots to fight from the stage select; they are Blizzard Man, Wind Man, Knight Man, Plant Man, Centaur Man, Flame Man, Tomahawk Man, and Yamato Man.ManualMega Man 6 NES manual
    How we know
    Mega Man will be faced with eight of the kidnapped robots. Use the control pad to select the robot you wish to battle
    Getting Started · archived copy ↗
    BLIZZARD MAN WIND MAN KNIGHT MAN PLANT MAN … CENTAUR MAN FLAME MAN TOMAHAWK MAN YAMATO MAN
    Robot Masters · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  7. ^Capcom's design contest for Mega Man 6's bosses drew 200,000 entries.PublisherMM25
    How we know
    character submissions: 200,000
    p. 58, release table · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  8. ^Two of the bosses, Knight Man and Wind Man, came from Nintendo Power readers: the magazine sent their designs to Capcom, which adapted them. GameSpot names their designers as Daniel Vallie, a Canadian, and Michael Leader, an American; the other six bosses were designed in Japan.MagazineNintendo Power 55 · GameSpot, History of Mega Man
    How we know
    Mega Man VI, were sent to Capcom by Nintendo Power. Thousands of our readers submitted designs for brand new mechanical maniacs for Mega Man to battle. Capcom interpreted the ideas of the winners into what you see in the game.
    p. 83, Nintendo Power Readers Design New Robots! · archived copy ↗
    two of the bosses, Knight Man and Wind Man, were designed by North Americans. Daniel Vallie - a Canadian - designed Knight Man, and Michael Leader - an American - designed Wind Man. The rest of the bosses were of Japanese design.
    1993, Mega Man VI · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  9. ^Keiji Inafune says he drew the game's character art while working on Mega Man X, so it is closer to that Super NES game's density.PublisherMM25
    How we know
    This was around the time when I was working on 'Mega Man X', so I think the character illustrations are closer in density to 'X', the density of the Super NES.
    p. 59, Inafune · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  10. ^ abcTwo adaptors Mega Man finds let Rush merge with him, chosen from the weapon menu. As Power Mega Man he wears Rush as armor that punches, charged by holding B, but he can't slide or use other weapons; as Jet Mega Man, Rush is a jet pack that lifts him while A is held, for a short time before it overheats.ManualMega Man 6 NES manual
    How we know
    POWER MEGA MAN Rush transforms into body armor and gives Mega Man an extra punch. Press and hold the B button to charge up the armor to make a really big hit! … Mega Man cannot use other weapon systems and cannot slide while wearing it. … JET MEGA MAN Rush transforms into a jet pack to help launch Mega Man into the sky! Press and hold the A button to … air for short time before they overheat and drop Mega Man back down to the ground. … Once you find the adaptors, you can transform Mega Man using your weapon box.
    More Power to You! · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  11. ^ abFamicom Tsūshin's four reviewers scored it 7, 5, 5, and 6 of 10, 23 of 40; one called it "a Rockman for Rockman players", and another found only minor changes in a finished series and preferred Rockman X on the Super Famicom.MagazineFamitsu 256-257revised
    How we know
    『ロックマン』プレーヤーのための『ロックマン』。それだけ。 … このシリーズはもう完成しちゃってるので、ホントマイナーチェンジだけ。これならスーパーファミコンの『ロックマンX』のほうがおもろいです。
    p. 38, New Games Cross Review · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  12. ^Nintendo Power's January 1994 issue placed it in its top five NES games of 1993, saying Mega Man's sixth NES adventure "might just be his best".MagazineNintendo Power 56
    How we know
    Man and Battletoads both showed up in totally new action titles that claimed spots on the NES Top 5.
    p. 2 · archived copy ↗
    His sixth NES adventure, in which he uses two new. special Power-Ups, might just be his best.
    p. 5 · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  13. ^GameSpot's 2003 history of the series called it the last NES game of the series and the cheesiest.WebGameSpot, History of Mega Man
    How we know
    Mega Man VI was the final NES adventure - and also the cheesiest.
    1993, Mega Man VI · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  14. ^ abOn a fresh A press with no slide, on ordinary floor, Mega Man 6's standing loop sets his vertical speed to $FA.$CC, 5.20 px/frame up, where Mega Man 5 writes 5 px/frame ($05.$00); in tile type $09 it writes the slower $FB.$CC instead (slow-surface). The air loop adds gravity before each move, so the first frame lifts him 0.25 less, 4.95 px. Measured in Mesen from power-on, standing where he lands at the start of Tomahawk Man's stage, the first frame of a jump moves him up at that 4.95 px/frame.Verifiedrefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65revised
    How we know
    105loc_700D7:
    ⋮
    112loc_700E5:
    ⋮
    115loc_700EA:
    116code_3880EA:
    
    bank38_3F.asm lines 105–118 at f0763c4 · upstream ↗
    924loc_706E0:
    
    bank38_3F.asm lines 919–937 at f0763c4 · upstream ↗
    L80A4: lda $AF bne L80B5 lda #$00 sta $03D8 lda #$05 sta $03F0
    src/bank1B.asm#L122-L128 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  15. ^Computed from the ordinary take-off and gravity, outside tile types $08 and $09 (fall-limits, slow-surface), a jump with A held peaks 51.6 px above the floor on its 20th frame. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, the held jump rose 51.56 px and turned to fall after frame 20.Verifiedrefreshing-lemonade/megaman6-disassemblyrevised
    How we know
    LDA #$FA STA $05C8 … LDA #$CC STA $05B1
    bank38_3F.asm#L113-L118 · upstream ↗
    LDA #$40
    bank38_3F.asm#L919-L921 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  16. ^Outside tile type $08, gravity adds $40 (0.25 px/frame) to Mega Man's vertical speed every frame before he moves. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, his speed grew by 0.25 px/frame on each frame of a held jump.Verifiedrefreshing-lemonade/megaman6-disassembly
    How we know
    924loc_706E0:
    
    bank38_3F.asm lines 919–937 at f0763c4 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  17. ^ abOn a rising frame without A, Mega Man 6 sets the whole-pixel byte of his vertical speed to 0 and keeps its fraction, so he starts down at once at under 1 px/frame; Mega Man 5 sets both bytes to 0. Outside tile type $08 the cut waits until the rise is no faster than 5 px/frame ($05C8 at $FB or above), and it needs bits $0C of the fraction set, which they always are under the normal gravity, since the jump's $CC gains $40 a frame. Measured in Mesen from power-on at the start of Tomahawk Man's stage, with A let go after 3 frames, the 4th frame left him falling at 0.80 px/frame ($00.$CC).Verifiedrefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65
    How we know
    156loc_70135:
    
    bank38_3F.asm lines 146–162 at f0763c4 · upstream ↗
    L8259: lda $03F0 bmi L8283 L825E: lda $16 and #$80 bne L8283 lda #$00 sta $03D8 sta $03F0
    src/bank1B.asm#L335-L343 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  18. ^In tile type $08 gravity is $18 a frame (0.09 px/frame) instead of $40. Falling, the whole-pixel byte of his speed stops at 7 while the fraction keeps growing, so under the normal gravity his top falling speed steps between 7.05 and 7.80 px/frame (computed).Coderefreshing-lemonade/megaman6-disassembly
    How we know
    935loc_706F6:
    
    bank38_3F.asm lines 919–937 at f0763c4 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  19. ^From standing, a held direction moves Mega Man one frame at the walking speed, $01.$4C (1.30 px/frame) from the table at $8BEA, then holds him in the step pose while a counter of 6 ($95) runs out, and walks at 1.30 px/frame from the 7th frame. That is on ordinary floor: on surface type $05 he walks at once, on $15 he carries momentum at up to 2 px/frame (momentum-surfaces), and in tile type $09 he walks at 0.5 px/frame (slow-surface). Measured in Mesen from power-on, at the start of Tomahawk Man's stage, Right moved him 1.30 px on frame 1, not at all on frames 2 to 6, and 1.30 px on each frame after.Verifiedrefreshing-lemonade/megaman6-disassemblyrevised
    How we know
    59loc_70084:
    ⋮
    61loc_70087:
    
    bank38_3F.asm lines 46–78 at f0763c4 · upstream ↗
    LDY $99 LDA $8BEA,y STA $A1 STA $ED LDA $8BED,y STA $A0 STA $EB
    bank38_3F.asm#L1475-L1485 · upstream ↗
    db $00, $01, $FE, $00, $4C, $B4, $00, $02
    bank38_3F.asm#L1550 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  20. ^In the air the d-pad sets his horizontal speed from the same table at $8BEA each frame, 1.30 px/frame or 0, and clears any carried momentum, except when his surface ($A7) is $15: then the air loop runs the momentum routine code_388B0F instead, and the carried speed stays (momentum-surfaces). On a ladder, Up or Down moves him along it at the same 1.30 px/frame.Coderefreshing-lemonade/megaman6-disassemblyrevised
    How we know
    LDA #$00 STA $A1 STA $A0 LDY $99 LDA $8BEA,y STA $ED LDA $8BED,y STA $EB JMP code_3886CE
    bank38_3F.asm#L1540-L1548 · upstream ↗
    LDA $40 AND #$0C BEQ loc_703E5 LSR LSR TAY LDA $8BEA,y STA $EE LDA $8BED,y STA $EC
    bank38_3F.asm#L498-L510 · upstream ↗
    db $00, $01, $FE, $00, $4C, $B4, $00, $02
    bank38_3F.asm#L1550 · upstream ↗
    124loc_700F9:
    
    bank38_3F.asm lines 124–129 at f0763c4 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  21. ^On tile type $09 ($064B) Mega Man moves slower: a jump starts at $FB.$CC (4.20 px/frame up), the slide at 1.5 px/frame, and walking at 0.5 px/frame, from the tables at $8009 and $8BF6.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    LDA $064B CMP #$09 BNE loc_700E5 LDA #$FB STA $05C8
    bank38_3F.asm#L106-L111 · upstream ↗
    LDA $8009,y STA $ED LDA $800C,y STA $EB
    bank38_3F.asm#L367-L372 · upstream ↗
    db $80, $00, $01, $FE, $00, $80, $80, $00 db $01, $FF, $00, $00, $00, $00, $00, $FF
    bank38_3F.asm#L7-L8 · upstream ↗
    LDA $064B CMP #$09 BNE loc_70BA0 LDY $99 LDA $8BF6,y STA $ED LDA $8BF9,y STA $EB
    bank38_3F.asm#L1498-L1506 · upstream ↗
    db $FE, $00, $00, $00, $00, $00, $FF, $00 db $80, $80, $00, $06, $FA, $00, $00, $FF
    bank38_3F.asm#L1551-L1552 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  22. ^On surface types $05 and $15 his walking speed is a carried momentum ($A1.$A0). A held direction sets it to full speed at once, 1.30 px/frame on $05 and 2 px/frame on $15; with nothing held it slows by 6/256 px/frame each frame, and holding the other way slows it by 12/256 (computed), until its sign flips and it stops.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    1436loc_70B19:
    
    bank38_3F.asm lines 1431–1472 at f0763c4 · upstream ↗
    1487loc_70B77:
    
    bank38_3F.asm lines 1486–1494 at f0763c4 · upstream ↗
    db $00, $01, $FE, $00, $4C, $B4, $00, $02 db $FE, $00, $00, $00, $00, $00, $FF, $00 db $80, $80, $00, $06, $FA, $00, $00, $FF db $00, $FA, $06, $00, $FF, $00, $00
    bank38_3F.asm#L1550-L1553 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  23. ^ abMega Man 6 keeps Mega Man 5's slide speed and length, 2.5 px/frame for 26 frames ($1A), set from the table at $8003, outside tile type $09, where the table at $8009 gives 1.5 px/frame (slow-surface). Measured in Mesen from power-on, at the start of Tomahawk Man's stage, a slide from Down and A moved him 2.5 px on each of 26 frames, 65 px in all.Verifiedrefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65revised
    How we know
    LDA #$00 STA $98 LDA #$1A STA $95
    bank38_3F.asm#L334-L340 · upstream ↗
    368loc_702C8:
    
    bank38_3F.asm lines 359–372 at f0763c4 · upstream ↗
    db $00, $40, $00, $00, $02, $FD, $00, $80 db $80, $00, $01, $FE, $00, $80, $80, $00
    bank38_3F.asm#L6-L7 · upstream ↗
    lda #$1A sta $35 lda #$02 sta $30 lda #$80 sta $03A8 lda #$02 sta $03C0
    src/bank1B.asm#L161-L168 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  24. ^ abA press of A without Down ends Mega Man 6's slide but doesn't jump: the slide hands over to the standing loop, which looks for a jump only in a later frame's fresh press ($9A). In Mega Man 5 the same press jumps out of the slide when there is headroom. Measured in Mesen from power-on, at the start of Tomahawk Man's stage, an A press on a slide's 8th frame with Down let go ended the slide that frame, and A held for the next 6 frames left him on the floor.Verifiedrefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65revised
    How we know
    382loc_702E3:
    
    bank38_3F.asm lines 382–395 at f0763c4 · upstream ↗
    423loc_70332:
    ⋮
    435loc_7034B:
    
    bank38_3F.asm lines 423–436 at f0763c4 · upstream ↗
    30loc_7004F:
    
    bank38_3F.asm lines 27–33 at f0763c4 · upstream ↗
    20043code_3FE41C:
    
    bank38_3F.asm lines 20043–20051 at f0763c4 · upstream ↗
    lda $14 and #$80 beq L82C8 lda $16 and #$04 bne L82C8 … jmp L80A4
    src/bank1B.asm#L377-L393 · upstream ↗

    Measured by a script in MesenCE 2.2.1 (build 4b8a196), on . It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  25. ^Down and A start the slide only with no Rush adaptor on ($9B 0); with one, the press jumps. A turn (a held direction against his facing) ends the slide early, and at its end two tile probes above him keep it going 4 frames at a time while the ceiling is low.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    LDA $9B BNE loc_700D7 … LDA $40 AND #$04 BEQ loc_700D7 JMP code_38828A
    bank38_3F.asm#L95-L103 · upstream ↗
    388loc_702ED:
    ⋮
    393loc_702F6:
    ⋮
    396loc_702FA:
    397code_3882FA:
    
    bank38_3F.asm lines 388–416 at f0763c4 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-26.

    In the claim ledger

  26. ^ abMega Man 6's buster fires a normal shot on the press of B, which sets the charge counter $9E to 0; each later frame with B held adds 1, and on release the counter fires a half-charged shot from 36 ($24) and a full one from 90 ($5A, kept in $06AB), and nothing under 36. Between games these are counts, not frames: Mega Man 5's counter, whose start isn't traced, fires its half charge from 40 and its full one from 80, and Mega Man 4's, which starts at 1 on the press, from 32 and 92.Coderefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65 · plasticsmoke/megaman4-disassembly-ca65revised
    How we know
    843loc_7065B:
    ⋮
    847loc_70660:
    
    bank38_3F.asm lines 818–852 at f0763c4 · upstream ↗
    881loc_7069B:
    
    bank38_3F.asm lines 876–889 at f0763c4 · upstream ↗
    805code_388615:
    
    bank38_3F.asm lines 805–814 at f0763c4 · upstream ↗
    db $09, $0A, $0B, $09, $09, $09, $09, $09
    bank38_3F.asm#L703 · upstream ↗
    LDA #$5A STA $06AB
    bank38_3F.asm#L17084-L17085 · upstream ↗
    buster_tier_threshold:.byte $28,$50,$FF
    src/bank1B.asm#L2891 · upstream ↗
    1710    CMP #$20                            ; level 1 threshold ($20)
    1711    BCC L_8D59                          ; tap shot: normal spawn
    1712    INC $36                             ; flash phase 8
    1713    CMP #$40                            ; level 2 threshold ($40)
    1714    BCC L_8D0C                          ; small charge
    1715    INC $36                             ; flash phase 9
    1716    CMP #$5C                            ; full charge threshold ($5C)
    
    src/bank3C.asm lines 1710–1716 at a63bb6e · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Revised after a check by a second AI model, 2026-10-25.

    In the claim ledger

  27. ^ abMega Man 6 keeps Mega Man 5's knockback: 0.5 px/frame against his facing, or 0.25 px/frame ($40) with the direction he faces held, here for 30 frames ($1E), with Up, Down, Start, and Select masked out of the held buttons.Coderefreshing-lemonade/megaman6-disassembly · plasticsmoke/megaman5-disassembly-ca65
    How we know
    660loc_704FA:
    
    bank38_3F.asm lines 640–674 at f0763c4 · upstream ↗
    db $00, $60, $A0, $00, $80, $80, $00, $00 db $C0, $40, $00, $FF, $00, $00, $00, $FF db $00, $00, $FF, $24, $31
    bank38_3F.asm#L9-L11 · upstream ↗
    615player_st_hurt:
    
    src/bank1B.asm lines 615–637 at 7fd6512 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  28. ^A hit sets Mega Man 6's invincibility timer $A2 to 60 frames ($3C), but the 30-frame knockback runs through the frame routine's entry past the countdown (code_388EB9), so the timer starts to count, and he starts to blink, only once the knockback ends: he can't be hurt for 90 frames in all (computed). The damage routine skips a hit while $A2 isn't 0.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    LDA #$1E STA $95 LDA #$3C STA $A2
    bank38_3F.asm#L640-L643 · upstream ↗
    JSR code_3886D5 JSR code_388EB9
    bank38_3F.asm#L671-L672 · upstream ↗
    1899loc_70EB9:
    1900code_388EB9:
    
    bank38_3F.asm lines 1883–1900 at f0763c4 · upstream ↗
    LDA $A2 BNE locret_70F95 … LDA $03E5 SEC SBC $04 STA $03E5
    bank38_3F.asm#L1991-L2001 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  29. ^With the Power adaptor ($9B 2) the charge counter gains 2 a frame and caps at 60 ($3C), so a half-strength punch comes from 18 frames held and a full one from 30 (computed). Each punch (shot types $0C, $0E, $0F by tier) holds him in a 12-frame pose that keeps the charge off ($9E = $FF).Coderefreshing-lemonade/megaman6-disassembly
    How we know
    871loc_7068C:
    ⋮
    881loc_7069B:
    
    bank38_3F.asm lines 870–887 at f0763c4 · upstream ↗
    db $5A, $3C, $3C
    bank38_3F.asm#L2842 · upstream ↗
    db $09, $0A, $0B, $09, $09, $09, $09, $09 db $0C, $0E, $0F, $09, $2C, $82, $82, $D9
    bank38_3F.asm#L703-L704 · upstream ↗
    JSR code_388615 LDA $9B CMP #$02 BNE loc_70678 JSR code_3FE522 JMP code_388417
    bank38_3F.asm#L852-L858 · upstream ↗
    546code_388417:
    
    bank38_3F.asm lines 546–559 at f0763c4 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  30. ^The manual's hints say the Power armor breaks through cracked stone walls.ManualMega Man 6 NES manual
    How we know
    The Power Mega Man armor can be used to break through cracked stone
    hints · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  31. ^With the Jet adaptor ($9B 1), holding A in the air while not rising and with jet energy left starts the jet. It slows his fall by 1/8 px/frame each frame until he would rise, holds him still for 10 frames, then lifts him from 2 px/frame, faster each frame, and holds him at 84 px ($54) above where he stopped; the d-pad steers him at 1 px/frame. Letting go of A, or running out of energy, drops him back into the fall.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    LDA $05C8 BMI loc_7011F LDA $9C BMI loc_7011F LDA $40 AND #$80 BNE loc_70180
    bank38_3F.asm#L138-L144 · upstream ↗
    LDA $05B1 CLC ADC #$E0 STA $05B1 STA $EC LDA $05C8 ADC #$FF BMI loc_701C7
    bank38_3F.asm#L208-L215 · upstream ↗
    239loc_701D1:
    ⋮
    257loc_701F7:
    
    bank38_3F.asm lines 234–293 at f0763c4 · upstream ↗
    JSR code_388531 LDY $99 LDA $800F,y STA $ED LDA $8012,y STA $EB
    bank38_3F.asm#L324-L329 · upstream ↗
    db $80, $00, $01, $FE, $00, $80, $80, $00 db $01, $FF, $00, $00, $00, $00, $00, $FF
    bank38_3F.asm#L7-L8 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  32. ^The jet's energy $9C drains by 1 every 4 frames the jet runs, and the jet stops when it goes below 0, so a full meter of 20 steps (0 to 19) lasts 80 frames (computed). It refills by 1 every other frame up to 19, from empty in 40 frames (computed), while the jet's frame counter $9D is 0, which landing sets, and the buster is the weapon in hand.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    310loc_7025D:
    
    bank38_3F.asm lines 310–321 at f0763c4 · upstream ↗
    JSR code_388531 LDA $05B1 BNE loc_700F9 LDA #$00 STA $9D
    bank38_3F.asm#L164-L168 · upstream ↗
    17263loc_7CF92:
    
    bank38_3F.asm lines 17263–17282 at f0763c4 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  33. ^ abCollecting four circuit plates, B, E, A, and T, lets Dr. Light finish Beat, a robot bird Mega Man can call to attack.ManualMega Man 6 NES manual
    How we know
    If Mega Man is able to find and collect the B, E, A, and T circuit plates, he'll will automatically teleport them back to Dr, Light for final assembly. … BEAT will automatically attack any enemy on screen
    A Little Cybernetic Support · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  34. ^An Energy Balancer, hidden in a stage, makes each weapon capsule refill the weapon with the least energy.ManualMega Man 6 NES manual
    How we know
    the Energy Balancer will automatically recharge Mega Man’s lowest weapon energy level each time he picks up a weapon capsule.
    hints · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  35. ^A password grid resumes the game from the stage where the password was given.ManualMega Man 6 NES manual
    How we know
    and if the password is correct, the game will return you to the stage you
    Using Your Password · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  36. ^Mega Man 6 runs its objects, Mega Man included, as coroutines. Each frame code_3FE41C counts the slots from 22 down to 0 and calls each live one at its resume address ($0413/$042A); a script yields by calling code_3FE468, which pops its own return address into that pointer and moves to the next slot, so the script resumes after the call the next frame. Mega Man's movement (slot 0) is written as loops around that call, each loop ending the frame through code_388E95.Coderefreshing-lemonade/megaman6-disassembly
    How we know
    20058loc_7E438:
    
    bank38_3F.asm lines 20056–20070 at f0763c4 · upstream ↗
    20081code_3FE468:
    ⋮
    20090code_3FE477:
    ⋮
    20093loc_7E47A:
    
    bank38_3F.asm lines 20081–20095 at f0763c4 · upstream ↗
    JMP code_3FE468
    bank38_3F.asm#L1976 · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-25.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

  37. ^Mega Man's dog Rush becomes a springboard (Rush Coil) from the start, and a jet sled (Rush Jet) once Mega Man finds its adaptor.ManualMega Man 5 NES manual
    How we know
    (RC) Rush Coil: Rush tums into a springboard to send Mega Man flying over obstacles. … Rush can only transform into the Rush Coil at the beginning of the game. Mega Man must find the Rush Jet adaptor before Rush can become the Rush Jet.
    p. 10, Robot Reinforcements · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  38. ^Collecting the letters M-E-G-A-M-A-N-V, hidden in the stages, lets Mega Man call Beat, a robot bird that fights for him; Beat is new in this game.ManualMega Man 5 NES manual · GameSpot, History of Mega Man
    How we know
    If Mega Man can collect the letters to spell out M EG A M AN V, Mega Man can call and activate BEAT,
    p. 12, Just Beat It! · archived copy ↗
    There were letters hidden in the stages that spelled out "MEGA MAN V."
    1992, Mega Man V, Gameplay · archived copy ↗
    Still, this game saw the introduction of Rock's friend and helper, Beat, a small mechanical bird.
    1992, Mega Man V, The Basics · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-22.

    In the claim ledger

  39. ^Nintendo of America's list of NES games dates the North American release March 1994.PublisherNintendo, NES Games
    How we know
    March 1994
    PDF p. 8 · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-25.

    In the claim ledger

Sources

Code

Primary

Secondary