Mega Man 4
Capcom's 1991 action platformer for the NES, the fourth in the series.
Mega Man 4 is Capcom’s action platformer for the NES, the fourth in the series, released in Japan in December 1991 and in North America the next month1. The player picks which of eight Robot Masters to fight from a screen of their portraits, in any order2. Capcom chose them from about 70,000 boss designs that players sent in3. One was Dust Man, by the manga artist Yusuke Murata4.
The new Mega Buster charges its shot while B is held. The charge shot stayed in the series from then on5. A cleared stage can be played again, without its boss, to find items missed the first time6. Rush returns as a springboard, a submarine, and a jet sled, and new adaptors add floating platforms and a wire that pulls Mega Man up to a ledge7. Keiji Inafune designed its two new characters8: Dr. Cossack, the apparent villain, and his daughter Kalinka, whom Dr. Wily holds hostage to make Cossack fight9.
Electronic Gaming Monthly’s reviewers called it a safe bet for old and new fans, and noted that some of its weapons and bosses were recycled from earlier games10. Famitsu’s four reviewers split over its difficulty. One found it beyond his level and another called it a game for advanced players, while a third found it the same Mega Man its fans expected, with a charge shot that takes some getting used to11. GameSpot’s history of the series ranks it below Mega Man 2 and 3 and calls it the game where the series began to show its age12.
#How it plays
Every jump leaves the ground at the same speed. Let go of A on the way up and Mega Man stops rising at once13. Down and A start the slide, a low dash that lasts under half a second. A press of A without Down jumps out of it on the next frame14.
Tap B and the Mega Buster fires at once. Hold it and the next shot charges: let go after about half a second for a half-charged shot, or hold three times as long for a full one. Only the Mega Buster charges, not the weapons taken from bosses15.
A hit pushes him slowly back as he falls, until the hurt animation ends. A hit in the middle of a slide doesn’t push him at all16.
#Across the series
Against Mega Man 3, the jump leaves the ground a touch faster, and letting go of A stops the rise dead where Mega Man 3 turns it into a slow fall13. The slide runs five frames longer, and it can turn into a jump from its second frame, where Mega Man 3’s can’t until its ninth14. The knockback is unchanged16. The charge shot is new to the series here15,5, and GameSpot notes that going back into stages for hidden items, as here, later dominates the Mega Man X games6.
Cartridge
Code lineage
Mechanics
| Mechanic | Kind | How |
|---|---|---|
| Jump | One speed | every jump takes off at the same speed |
| Variable jump height | Release cap | letting go of A stops the rise at once |
| Ground slide | Timed | a slide of under half a second that a press of A turns into a jump at once |
| Charge shot | Tiers on release | hold B to charge; let go for a half-charged shot or, held three times as long, a full one |
| Knockback | Fixed shove | a hit pushes him slowly back until the hurt animation ends |
Every claim about this game, by concept (62)
References
- ^Mega Man 4, the fourth game in the series on the NES, came out in Japan on 6 December 1991 and in North America in January 1992.PublisherMM25 · Nintendo, NES Games · Nintendo Power 32revised
How we know
NES 12/06/1991
p. 46, release table · archived copy ↗ Mega Man 4 Capcom January 1992
PDF p. 8 · archived copy ↗ continue in the fourth NES
p. 8, feature · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-22.
- ^Mega Man 4 has the player pick which of eight Robot Masters to fight from a screen of their portraits, in any order; they are Pharaoh Man, Toad Man, Bright Man, Dive Man, Ring Man, Drill Man, Dust Man, and Skull Man.ManualMega Man 4 NES manual · Nintendo Power 32
How we know
you will see various mug shots of … master you wish to battle, press the A button and get ready for action!
p. 5 (PDF 3), Getting Started · archived copy ↗ PHARAOH MAN TOAD MAN BRIGHT MAN DIVE MAN
p. 14 (PDF 8), Robot Masters · archived copy ↗ Take on the robot leaders in any order.
p. 8, feature · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^Mega Man 4's Robot Masters were picked from about 70,000 boss designs that players sent in to Capcom's contest, and the team scrapped a stage in progress to rebuild it for the winning Skull Man.PublisherMM25
How we know
Total number of boss character submissions: 70,000
p. 46, release table · archived copy ↗ once we had selected the winning entries. I remember Skull Man in particular, as we scrapped a whole level that was in progress to recreate it specifically for Skull Man.
p. 49 · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^The manga artist Yusuke Murata sent in Dust Man to the Mega Man 4 contest.PublisherMM25
How we know
Murata is a manga artist who sent in submissions for the "Mega Man 4" and "Mega Man 5" boss character design contests. His submissions were Dust Man and Crystal Man.
Capcom Heroes calendar, Yusuke Murata's profile (between pp. 298 and 310; the copy's OCR has no page numbers there) · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^ abMega Man 4 adds the New Mega Buster, whose shot charges while B is held, and Capcom's developers say the charge shot became a staple of the series from this game on.ManualMega Man 4 NES manual · MM25 · GameSpot, History of Mega Man
How we know
energize the Mega Buster.
p. 7 (PDF 4), Controlling Mega Man · archived copy ↗ The Charge Shot became a staple attack starting with '4'
p. 47, New Mega Buster · archived copy ↗ The innovations in this title included a chargeable Mega Buster
1991, Mega Man IV, The Basics · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^ abIn Mega Man 4 a cleared stage can be played again, without its Robot Master, to look for items missed the first time, and each Robot Master beaten gives a password to continue from.ManualMega Man 4 NES manual · GameSpot, History of Mega Man
How we know
you are allowed to play that level again in … NOT be waiting for you the second time
p. 15 (PDF 8), The Winner's Edge · archived copy ↗ Each time you obliterate one of Dr. Cossack's robot masters you will be
p. 13 (PDF 7), Using Your Password · archived copy ↗ the requirement that you go back into levels to find random, hidden stuff (a play mechanic that would later dominate the X series)
1991, Mega Man IV, The Basics · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^Mega Man 4's helpers are Rush, who turns into a springboard (Rush Coil), a submarine (Rush Marine), and a flying sled (Rush Jet), and Flip-Top, a suitcase robot in some stages who hands out a power-up; two new adaptors launch small floating platforms (Balloon) and pull Mega Man up to a ledge or ceiling on a wire (Wire).ManualMega Man 4 NES manual
How we know
Rush turns into a springboard to catapult you over … Rush transforms into a submarine for undersea travel. … Rush becomes a jet sled for sky high travel. … Waiting for you in certain stages is Flip-Top, Dr. Light's cybernetic suitcase
p. 11 (PDF 6), A Little Help From Your Friends · archived copy ↗ Man to launch out small floating platforms. … fire a wire up to a ledge or ceiling.
p. 10 (PDF 6), Mega Power! cont. · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^Keiji Inafune designed Mega Man 4's two new story characters, Dr. Cossack and his daughter Kalinka; Hayato Kaji worked on the charge shot; and Yasuaki Fujita and Minae Fujii are among the game's composers.PublisherMM25 · Capcom Unity, 2010 soundtrack post
How we know
Since both Light and Wily were elderly, we made Cossack more of a 'young scientific genius'.
p. 46 · archived copy ↗ This is how Kalinka came about. … I had a lot of fun working on '4', and I'm very happy with the two new character designs.
p. 47, Kalinka · archived copy ↗ I think I was the one working on the Charge Shot. I had a lot of trouble perfecting it.
p. 47, New Mega Buster · archived copy ↗ Yasuaki Fujita (Mega Man 3 and 4), Minae Fujii (Mega Man 4)
list of the Mega Man 10 music team · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^Mega Man 4's apparent villain is Dr. Cossack, but Dr. Wily turns out to be behind him, having taken Cossack's daughter Kalinka hostage to force him into the fight.WebGameSpot, History of Mega Man · MM25revised
How we know
the hollow storyline charade involving Dr. Cossack- as it unsurprisingly turned out, Dr. Wily is pulling the strings.
1991, Mega Man IV, The Basics · archived copy ↗ Kalinka is Dr. Cossack's daughter. Dr. Wily took her hostage … used her to manipulate Dr. Cossack.
p. 148, character profiles · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-22.
- ^Electronic Gaming Monthly's Review Crew called Mega Man 4 a safe bet for old and new fans of the series, and one remark noted that some weapons and bosses were recycled from earlier games.MagazineEGM 31revised
How we know
safe bet that … and new Mega Man fans. … Capcom definitely has a winner in the … recycled from the previous games. … Our favorite 8-Bit hero is back for another
p. 22 (PDF 25), Review Crew · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-22.
- ^Famicom Tsūshin's four Cross Review reviewers split over Mega Man 4's difficulty. The first found it beyond his own level, though a game learned by repetition that a good action player would want to take on; the second called it a puzzle of how to get through without dying, and noted the series' popularity in the US; the third, Mariko, called it a game for advanced action players and was quickly sent to game over in every stage; the fourth found it faithful to the series' tradition, the same Mega Man its fans expected, with a new charge shot that takes some getting used to (the atlas's translations).MagazineFamitsu 156revised
How we know
僕レベルではとても追いつかない難易度だ … 純然たる学習型だし
p. 38, New Games Cross Review, Rockman 4 column, first comment · archived copy ↗ 米国でも極めて人気が高いのだ … 死なずにクリアーできるか、それを考えていくパズル
p. 38, New Games Cross Review, Rockman 4 column, second comment · archived copy ↗ 完全にアクションゲーム上級者向けですね … あっという間にゲームオーバーに
p. 38, New Games Cross Review, Rockman 4 column, third comment · archived copy ↗ 相変わらずな『ロックマン』ぶりだ … タメ撃ちは慣れるまでちょっと
p. 38, New Games Cross Review, Rockman 4 column, fourth comment · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-22.
- ^GameSpot's history of the series ranks Mega Man 4 below Mega Man 2 and 3 and calls it the game where the series' invention began to run out and it began to show its age.WebGameSpot, History of Mega Man
How we know
While it never really got to the level of II or III, it was certainly not a complete slouch - although this was where innovation began to run sour.
1991, Mega Man IV, The Basics · archived copy ↗ the series began to show its age with this title.
1991, Mega Man IV, Final Thoughts · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-22.
- ^ abMega Man 4 takes off at exactly 5 px/frame (
$05.$00), up from Mega Man 3's$04.$E5, and a release cuts any rise to a speed of 0 where Mega Man 3 sets 0.25 px/frame downward. Both cut on every rising frame without A.Codeplasticsmoke/megaman4-disassembly-ca65 · “Mega Man 4 (USA) (Rev 1)” · plasticsmoke/megaman3-disassembly-ca65How we know
179L_813E: 180 LDA ent_angle ; player $04B0 flag 181 BNE L_8149 ; nonzero: normal jump 182 LDA joy1_held ; held buttons 183 AND #$04 ; Down held? 184 BNE L_8156 ; Down+A = slide 185L_8149: 186 LDA #$00 ; zero sub-velocity 187 STA ent_yvel_sub ; Y velocity sub = 0 188 LDA #$05 ; jump speed 5 px/frame 189 STA ent_yvel ; Y velocity = +5 (up) 190 JMP L_82C8 ; enter airborne physics
src/bank3C.asm lines 179–190 at a63bb6e · upstream ↗ 420L_8306: 421 LDA ent_yvel ; player Y velocity 422 BMI L_8338 ; moving down: keep falling 423 LDA ent_var6 ; knockback/no-jump-cut flag 424 BNE L_833D ; set: no jump cut 425 LDA joy1_held ; held buttons 426 AND #$80 ; A still held? 427 BNE L_8338 ; held: full jump 428 LDA #$00 ; zero 429 STA ent_yvel_sub ; cut jump: Y vel sub = 0 430 STA ent_yvel ; cut jump: Y vel = 0 431 BEQ L_8338 ; (always taken)
src/bank3C.asm lines 420–431 at a63bb6e · upstream ↗ In the cartridge (“Mega Man 4 (USA) (Rev 1)”): bank $3C $8149, the take-off in the Rev 1 ROM; bank $3C $8312, the cut in the Rev 1 ROM. We don't reproduce the bytes.
74 lda #$E5 ; normal jump: Y vel = $04.E5 75 sta ent_yvel_sub,x ; store Y velocity sub-pixel 76 lda #$04 ; Y velocity whole = $04 77 sta ent_yvel,x ; store Y velocity whole
src/fixed/player_ground.asm lines 74–77 at 58ca1c3 · upstream ↗ 424reset_gravity_player: lda #$C0 ; player rest vel sub = $C0 425 sta ent_yvel_sub,x ; store Y sub velocity 426 lda #$FF ; player rest vel = $FF ($FFC0 = -0.25) 427 sta ent_yvel,x ; store Y velocity whole byte
src/fixed/movement.asm lines 424–427 at 58ca1c3 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-21.
Checked by a second AI model, 2026-10-21.
- ^ abMega Man 4's slide keeps Mega Man 3's 2.5 px/frame but moves on 26 frames (a timer of
$1A, counted after each move from the set-up frame on) where Mega Man 3's moves on 21 (a timer of 20). Its A test runs on every slide frame, the set-up's included: a fresh A press without Down jumps out whenever he has headroom, where Mega Man 3 waits for its 9th frame, and A with Down held keeps sliding. The set-up's own press comes with Down, and A held from it into the second frame is no fresh press, so the earliest jump out comes on the slide's 3rd frame.Verifiedplasticsmoke/megaman4-disassembly-ca65 · “Mega Man 4 (USA) (Rev 1)” · plasticsmoke/megaman3-disassembly-ca65revisedHow we know
254 JMP L_8368 ; post-slide-start processingsrc/bank3C.asm line 254 at a63bb6e · upstream ↗ 510 LDY #$04 ; speed selector 4 = slide 511 JSR entity_horiz_dispatch ; move player horizontally 512 BCS L_83C3 ; hit wall: try to stand 513 LDA $34 ; slide timer 514 BEQ L_83C3 ; expired: try to stand 515 DEC $34 ; count down slide 516 BNE L_83EF ; still sliding: done
src/bank3C.asm lines 510–516 at a63bb6e · upstream ↗ 217 LDA #$1A ; slide duration 26 frames 218 STA $34 ; set slide timer 219 LDA #$02 ; state $02 = slide 220 STA player_state ; enter slide state 221 LDA #$80 ; slide speed 2.5 px/frame 222 STA ent_xvel_sub ; X velocity sub = $80 223 STA $37 ; mirror in $37 224 LDA #$02 ; 2 px 225 STA ent_xvel ; X velocity = 2 226 STA $38 ; mirror in $38
src/bank3C.asm lines 217–226 at a63bb6e · upstream ↗ 473L_8368: 474 LDA joy1_press ; newly pressed 475 AND #$80 ; A button? 476 BEQ L_839D ; no jump: steering 477 LDA joy1_held ; held buttons 478 AND #$04 ; Down held? 479 BNE L_839D ; Down+A: stay sliding 480 LDY #$03 ; probe 3 = standing headroom 481 JSR tile_collision_detect ; check tile above head 482 LDA $10 ; collision result 483 BNE L_839D ; blocked: no jump 484 JSR L_83F2 ; platform overhead check ⋮
src/bank3C.asm lines 473–496 at a63bb6e · upstream ↗ In the cartridge (“Mega Man 4 (USA) (Rev 1)”): bank $3C $8184, the slide's set-up in the Rev 1 ROM; bank $3C $8368, the jump out of the slide in the Rev 1 ROM. We don't reproduce the bytes.
288 lda #$14 ; slide timer = 20 frames 289 sta $33 ; store slide timer
src/fixed/player_states.asm lines 288–289 at 58ca1c3 · upstream ↗ 344slide_collision_wall_solid: lda $10 ; hit a wall? 345 and #$10 ; bit 4 = solid wall 346 bne slide_end_ground_check ; yes → end slide 347 lda $33 ; timer expired? 348 beq slide_end_ground_check ; yes → end slide
src/fixed/player_states.asm lines 344–348 at 58ca1c3 · upstream ↗ 349 dec $33 ; decrement timer 350 lda $33 ; check slide timer phase 351 cmp #$0C ; >= $0C? (uncancellable phase) 352 bcs slide_continue_moving ; yes → uncancellable, keep sliding 353 lda joy1_press ; A button pressed? (cancellable phase) 354 and #BTN_A ; check A button 355 bne slide_end_ground_check ; yes → cancel into slide jump
src/fixed/player_states.asm lines 349–355 at 58ca1c3 · upstream ↗ Measured by a script in MesenCE 2.2.1 (build 4b8a196), on Mega Man 4 (USA) (Rev 1) (SHA-1
05d238c2a315…). 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-26.
Revised after a check by a second AI model, 2026-10-21.
Checked by a second AI model, 2026-10-26.
- ^ abA B press fires a normal shot and sets the charge counter to 1; each frame B stays held in a state below 4 the counter rises by 1, looping from 100 back to 92. On release, a counter under 32 (
$20) fires nothing more, 32 or more fires a half-charged shot, and 92 ($5C) or more a full one.Codeplasticsmoke/megaman4-disassembly-ca65 · “Mega Man 4 (USA) (Rev 1)”How we know
73L_8073: 74 LDA $35 ; charge counter 75 BEQ L_80CF ; not charging: done 76 LDA player_state ; player state 77 CMP #$04 ; states >= 4 (Rush riding etc.) 78 BCS L_80CF ; cannot charge: done 79 LDA joy1_held ; held buttons 80 AND #$40 ; B button still held? 81 BEQ L_80CF ; released: fire handled at L_8CCC 82 INC $35 ; advance charge 83 LDA $35 ; reload charge ⋮ 89 LDA $35 ; reload charge ⋮
src/bank3C.asm lines 73–95 at a63bb6e · upstream ↗ 1694 LDA $35 ; charge counter 1695 BEQ L_8D2F ; no charge: check B press 1696 LDA current_weapon ; current weapon 1697 BNE L_8D2F ; not buster: check B press 1698 LDA joy1_held ; held buttons 1699 AND #$40 ; B still held? 1700 BNE L_8D59 ; still charging: no fire 1701 LDA #$21 ; charged spawn offset $21 1702 STA $11 ; set spawn-offset index ⋮ 1705 LDA $35 ; charge counter ⋮ 1707 LDA #$00 ; zero ⋮ 1710 CMP #$20 ; level 1 threshold ($20) ⋮
src/bank3C.asm lines 1694–1722 at a63bb6e · upstream ↗ 1743L_8D2F: 1744 LDA joy1_press ; newly pressed 1745 AND #$40 ; B button? 1746 BEQ L_8D5B ; no fire: done 1747L_8D35: 1748 LDY #$00 ; slot 0 marker 1749 STY temp_00 ; clear chosen-slot temp 1750 INY ; Y = 1 1751 STY $35 ; minimum charge (tap)
src/bank3C.asm lines 1743–1751 at a63bb6e · upstream ↗ 1769L_8D59: 1770 LDA #$00 ; A = 0 (no shot fired) 1771L_8D5B: 1772 RTS ; done
src/bank3C.asm lines 1769–1772 at a63bb6e · upstream ↗ In the cartridge (“Mega Man 4 (USA) (Rev 1)”): bank $3C $8073, the counter in the Rev 1 ROM; bank $3C $8CF2, the thresholds in the Rev 1 ROM. We don't reproduce the bytes.
Checked against the evidence by its author, an AI model, 2026-10-21.
Checked by a second AI model, 2026-10-21.
- ^ abMega Man 4 keeps Mega Man 3's knockback, 0.5 px/frame (
$00.$80) against his facing under gravity until the hurt animation reaches 9, with no push when the hit lands during a slide.Codeplasticsmoke/megaman4-disassembly-ca65 · plasticsmoke/megaman3-disassembly-ca65How we know
801 LDY ent_var5 ; knockback probe selector 802 JSR entity_player_collide ; ride/collide with platforms 803 LDA #$80 ; knockback speed 0.5 px/frame 804 STA ent_xvel_sub ; X velocity sub 805 LDA #$00 ; zero 806 STA ent_xvel ; X velocity px 807 LDA ent_flags ; player flags 808 PHA ; save (facing) 809 LDA ent_hp ; hurt sub-state 810 CMP #$02 ; $02 = was sliding 811 BEQ L_8616 ; sliding: skip pushback
src/bank3C.asm lines 801–811 at a63bb6e · upstream ↗ 830 LDA ent_anim_phase ; player anim counter 831 CMP #$09 ; knockback anim done (frame 9)? 832 BNE L_865B ; not yet: keep flying back
src/bank3C.asm lines 830–832 at a63bb6e · upstream ↗ 776player_knockback_physics: lda $3E ; check saved OAM for special cases: 777 cmp #$10 ; $10 = sliding (no knockback physics) 778 beq player_knockback_landing ; sliding → skip knockback ⋮ 783 lda #$80 ; knockback speed = $00.80 (half pixel/frame) 784 sta ent_xvel_sub ; set knockback X speed sub 785 lda #$00 ; knockback X speed whole = 0 786 sta ent_xvel ; x_speed whole = 0
src/fixed/player_states.asm lines 776–786 at 58ca1c3 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-21.
Checked by a second AI model, 2026-10-21.
Sources
Code
- plasticsmoke. 2026. “Mega Man 4 (U), annotated ca65 disassembly (plasticsmoke).” Commit a63bb6e. plasticsmoke/megaman4-disassembly-ca65 @ a63bb6e · licence, all uses
- 1992. “Mega Man 4 (USA) (Rev 1).” · licence, all uses
- plasticsmoke. 2026. “Mega Man 3 (U), annotated ca65 disassembly (plasticsmoke).” Commit 58ca1c3. plasticsmoke/megaman3-disassembly-ca65 @ 58ca1c3 · licence, all uses
Primary
- Capcom and UDON Entertainment. 2013. “MM25: Mega Man & Mega Man X Official Complete Works.” UDON Entertainment. original · archived · licence, all uses
- America, Nintendo of. n.d. “NES Games (Nintendo of America release list).” Nintendo of America. original · archived · licence, all uses
- U.S.A., Capcom. 1992. “Mega Man 4 Instruction Booklet (NES, North America).” Capcom U.S.A. original · archived · licence, all uses
- Joveth, Gonzales,. 2010. “Japanese Mega Man 10 Soundtrack Details.” Capcom. original · archived · licence, all uses
Secondary
- Nintendo Power editors. 1992. “Nintendo Power, issue 32 (1992-01): Mega Man 4 feature and Now Playing.” Nintendo Power, vol. 32, pp. 8-9 and 103. Nintendo of America. original · archived · licence, all uses
- Christian, Nutt, and Speer, Justin. 2003. “The History of Mega Man.” original · archived · licence, all uses
- staff, Electronic Gaming Monthly. 1992. “Electronic Gaming Monthly, issue 31 (1992-02): Review Crew.” Electronic Gaming Monthly, no. 31, p. 22. Sendai Publishing. original · archived · licence, all uses
- Famicom Tsushin editors. 1991. “Famicom Tsushin (Famitsu) no. 156, 13 December 1991: New Games Cross Review.” Famicom Tsushin, no. 156, p. 38. ASCII. original · archived · licence, all uses