Mega Man 4/ROM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Mega Man 4.

Dustman

  • 0x6A8A3 = Dustman's HP
  • 0x70E3F = Time until Dustman does his next attack
  • 0x70DE1 = Dustman's jump height
  • 0x70DF8 = How long Dustman sucks

Level Objects

  • 0x7AF0C = How far trash compactor crushes
  • 0x7B09F = Red block timer, *counts down until the red block breaks apart*
  • 0x7B0A4 = How many times the timer for the Red block starts over, *default 02*

Enemies

  • 0x77A74 = Big red spike guy's jump rest speed
  • 0x70402 = Big red spike guy's HP
  • 0x7668D = Spinning Hard Hat's rest time
  • 0x70411 = Spinning Hard Hat's HP
  • 0x7765D = Fanmouth's HP, *the little guy that comes out of the pits*
  • 0x776D9 = Fanmouth right drift distance
  • 0x77677 = Fanmouth speed, *set it to 00, hundreds come up*
  • 0x7043D = Big red gumball guy's HP
  • 0x774AE = Time between gumballs red bullets
  • 0x7754C = Time until next type of gumball shot is shot
  • 0x77591 = How many red bullets the gumball shoots
  • 0x774ED = Gumball red bullet distance
  • 0x70403 = Flying red shield's HP
  • 0x7641A = Flying red shield's LEFT distance
  • 0x7643A = Flying red shield's RIGHT distance
  • 0x7040B = Jumping hard hat's HP
  • 0x7668D = Jumping hard hat's rest time
  • 0x703CF = RedBlack Perpellar's HP
  • 0x7040A = Walking Hard Hat's HP
  • 0x7668D = Walking Hard Hat's rest time
  • 0x7042B = Bat's HP

Drillman

  • 0x6A8A3 = Drillman's HP
  • 0x711FF = Time until Drillman comes up from the ground, *anything below 1F, he'll never come up*
  • 0x71296 = Time between jumps
  • 0x71089 = Time until he shoots
  • 0x711B7 = How quick Drillman dives into the ground
  • 0x7123B = Different ways Drillman comes out of the ground, *sometimes at an angle towards you*
  • 0x71143 = Drillman's jump height
  • 0x7116D = Drillman's jump height, *before he drills into the ground*

Level Objects

  • 0x7ADCF = Handle movement for invisible ground
  • 0x76221 = Boulder's HP
  • 0x76266 = Boulder Pieces HP
  • 0x7620D = Time until next Boulder comes down

Enemies

  • 0x7041B = Blue Prepeller's HP
  • 0x76E24 = Time until Blue Prepeller's next shot
  • 0x70441 = Gunshield's HP
  • 0x7762E = Time between Gunshield's next shots
  • 0x7762D = Time between Gunshield's shots/shield closes
  • 0x7043A = Wheeleshield's HP
  • 0x773BC = Wheeleshield's LEFT distance
  • 0x773F4 = Wheeleshield's RIGHT distance
  • 0x773E4 = Wheeleshield's sight attack time
  • 0x7743B = Wheeleshield's standstill spin time, until he spins into his next direction

Toadman

  • 0x6A8A3 = Toadman's HP
  • 0x7175D = Time until Toadman's next attack
  • 0x71803 = How long acid rain lasts

Enemies

  • 0x703E3 = Unbrella Guy's HP
  • 0x703D4 = Flying Penguin's HP
  • 0x7573A = Flying Baby Penguin's HP
  • 0x703E0 = Jumping Catfish's HP
  • 0x75AAC = Time until Jumping Catfish jumps again
  • 0x70416 = Jellyfish's HP
  • 0x76A0D = Time until Jellyfish on celing, moves
  • 0x7041C = Small Mechanical Fish's HP
  • 0x76E95 = Small Mechanical Fish's jump type
  • 0x703ED = Giant Snail's HP
  • 0x7A66B = Time until Giant Snail's very first attack, *right when you land*
  • 0x7A6C2 = Effects Giant Snail's bombs
  • 0x7A7AD = Time until Giant Snail's eye's return
  • 0x7A7CA = Time until Giant Snail's eye's attack

Pharaohman

  • 0x6A8A3 = Pharaohman's HP
  • 0x713A1 = Time to load Charged Pharoah Shot
  • 0x713A5 = Time to load GFX for Charged Pharoah Shot
  • 0x71432 = Time until Pharaohman's next attack
  • 0x71422 = Pharaohman's attack times 1
  • 0x7153A = Pharaohman's attack times 2
  • 0x71536 = Pharaohman's attack time, *fireball 1*
  • 0x71537 = Pharaohman's attack time, *fireball 2*
  • 0x71533 = Pharaohman's jump height, *non attack*
  • 0x71534 = Pharaohman's jump height

Enemies

  • 0x75403 = Green Drill's HP
  • 0x754F *2,3,4,5* - Green Drill's movement? *unable to find timer, that tells the Green Drill, when to come up*
  • 0x703E2 = Red Bee's HP
  • 0x75D53 = Red Bee's shot methods
  • 0x75CB9 = Time until Red Bee shoots
  • 0x75CE7 = How many times Red Bee goes back and forth on current screen
  • 0x70436 = Mummy Skeleton's HP
  • 0x77231 = Time until Mummy Skeleton goes into wall
  • 0x7722B = Time until Mummy Skeleton comes out of wall, *"03" looks the best with fastness*

Ringman

  • 0x6A8A3 = Ringman's HP
  • 0x70BAB = Ringman's first attack time
  • 0x70A8A = Ringman's jump height
  • 0x70C4F = Effects ring toss?

Enemies

  • 0x703D5 = Wallgun's HP
  • 0x75814 = Wallgun's bullet time 1
  • 0x75825 = Wallgun's bullet time 2
  • 0x7588a = Wallgun's multiple shots
  • 0x70418 = Saturn's HP
  • 0x703E7 = Hippo's HP
  • 0x7A467 = Hippo's Missiles HP
  • 0x7A4F4 = Time until Hippo's platfom pieces come back
  • 0x70448 = Wheelesaw's HP
  • 0x70E31 = Slinky Eye's HP
  • 0x75B1D = Slinky Eye's attack time

Diveman

  • 0x6A8A3 = Diveman's HP
  • 0x70FCB = Diveman's attack time
  • 0x70F59 = Diveman's missile time
  • 0x70F8B = Diveman's missile HP

Enemies

  • 0x70419 = Water Hard Hat's HP
  • 0x76876 = Time until Water Hard Hat comes up
  • 0x767D9 = Time until Water Hard Hat shoots
  • 0x768A3 = Water Hard Hat time?
  • 0x70407 = Whale's HP
  • 0x7ABFF = Whale attack time
  • 0x7ABB3 = Whale missile time
  • 0x7042C = Orange Fish's HP

Skullman

  • 0x6A8A3 = Skullman's HP
  • 0x70A6 *C,D,E,F* = Skullman's shield times
  • 0x70A7 *0,1,2,3* = Skullman's shield times
  • 0x70A2 *8,9,A,B* = Skullman's jump heights
  • 0x70929 = Skullman's attack time, *once shield goes down*

Enemies

  • 0x703FE = Green Gun's HP
  • 0x76163 = Green Gun Bullet's HP
  • 0x77909 = Green Spike's HP
  • 0x70417 = Skeleton Joe's HP, *This is where it points to, default is 03*
  • I've tried setting it to other values, and there is no change when giving damage to Skeleton Joe????*
  • 0x76B2C = Skeleton Joe's attack time
  • 0x76BBC = Skeleton Joe's recovery time
  • 0x70415 = Orange Gun's HP
  • 0x76CFF = Orange Gun's bullet time
  • 0x70437 = Green Snake's HP

Brightman

  • 0x6A8A3 = Brightman's HP
  • 0x71636 = Time until Brightman's next attack
  • 0x715F8 = How many bullets Brightman shoots
  • 0x7162C = Time between Brightman's shots
  • 0x715A4 = Brightman's jump height
  • 0x716B4 = Brightman's Flash Flicker time?

Level Objects

  • 0x7A94C = Red Lift time
  • 0x7AA16 = Time until Green Lift turns the other way

Enemies

  • 0x703E4 = Firework Guy's HP
  • 0x703DF = Rednight Guy's HP
  • 0x759EC = Rednight Guy's bullet time
  • 0x70405 = Totempoles HP
  • 0x76483 & 7653F = Totempoles bullet time
  • 0x76096 = Green Cutter's HP
  • 0x7605C = Green Cutter's ground movement time
  • 0x7564 *1,5* = Grasshoppers jump time
  • 0x7562 *6,7,8,9,A,B,C,D* = Grasshoppers jump heights
  • 0x7560 *6,A,C,D* = Number of times Grasshoppers jump in one direction

Cossack 1

  • 0x70426 = Cossack 1's HP
  • 0x7B208 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x7B20A = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x7b217 = Max number of HP before battle
  • 0x7B2D0 = Multiple Cossack bullets
  • 0x7B275 = Time until Cossack 1 moves to the other side of the screen, *when it's already against 1 side*
  • 0x7B29F & 7B39E = How quick Cossack 1's drill comes down
  • 0x7B186 = Time until Cossack 1 fades in before fight, *01-0F are awesome color changes*
  • 0x7B4CF = Cossack 1's Drill comes down twice in a row, *01-10 seem to be the best*
  • 0x7B42C = Time until Cossack's drill comes back up
  • 0x7B342 = Time until Cossack 1 comes back up, *non drill attack*
  • 0x7B5EE to 0x7B5EF = Cossack 1's movements
  • 0x7B5F0 to 0x7B5F7 = Cossack 1's movements

Level Objects

  • 0x77B7 *1,6,9* = Ladder Claw clamp time

Enemies

  • 0x703D1 = Slinky's HP
  • 0x7523D = Slinky's speed

Cossack 2

  • 0x70430 = Cossack 2's HP
  • 0x7BABA = Screen Number for Scrolling Map
  • 0x7BAEF = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x7BAF1 = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x7BAFE = Max number of HP before battle
  • 0x7BB88 = How long Cossack 2 stays closed
  • 0x7BBEC = Cossack 2 multiple bullets
  • 0x7BC61 = Screen Number for Enemy Scrolling for Top and Bottom Walls
  • 0x7BC75 = Screen Number for Enemy Scrolling for Corner Walls.
  • 0x7BC81 = Screen Number minus 1 for Enemy Scrolling for the Middle Wall. (Set must be in even scroll number in main room, odd scroll numbers won't work)
  • 0x7BD90 & 7BD9D = Cossack 2 platform movements

Enemies

  • 0x7041D = Skulldropper's HP
  • 0x7783B = Skullwheele's HP
  • 0x77826 = How fast Skulldropper, drops Skullwheeles
  • 0x77806 = Time until more Skullwheeles come out
  • 0x779AD = Spike Platform times

Cossack 3

  • 0x70438 = 1st Cossack Spider's HP
  • 0x719E7 to 0x719EA* = 1st Cossack Spider's movements
  • 0x7195C = 1st Cossack Spider multiple shots
  • 0x6B2DE = Screen Number for the 2nd Cossack Spider.
  • 0x6B2EA = 2nd Cossack Spider's HP
  • 0x6B35B = Time until white platforms fall "pretty useless, even if you set it high, they still fall after your energy meter fills up.
  • 0x719EA = 2nd Cossack Spider's 1st attack time *right when it comes through the door*
  • 0x71B40 = 2nd Cossack Spider's movement time *after shot fired*
  • 0x718BA = Screen Number for the 1st Cossack Spider.
  • 0x71870 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x71872 = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x7187F = Max number of HP before battle
  • 0x7438F = HP Setup for the 2nd Spider Boss.

Cossack 4

  • 0x7042D = Cossack 4's HP
  • 0x74353 = Screen number for dialogue after cossack battle
  • 0x74357 = Number of HP to prevent the cossack sprite from being killed when it's HP drops.
  • 0x7435C = Number of HP to prevent the cossack sprite from being killed? (Don't know what it does.)
  • 797AB = Screen number for VRAM GFX to activate during cossack fight when pressing Start and back.
  • 0x7B69B = Time until Cossack 4 fades in before fight, *01-0F are awesome color changes*
  • 0x7BA86 to 0x7BA87* = Different Cossack movement's, and bullet effects
  • 0x7B6F2 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x7B6F4 = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x7B701 = Max number of HP before battle
  • 0x7B8BA = How long Cossack 4 holds you, before bringing you up
  • 0x7B90A = How long Cossack 4 holds you, before letting you go
  • 7B93A = Cossack 4's movement time, once he lets you go *Set it to 00 may cause a glitch where Dr. Wily is unable to teleport. The claw movement is required. Also, changing offset 7B712 into another 6502 opcode (Default LDA BD6804 to STA 9D6804) will cause some effects and using STA abs, x will have the same effect as 7B93A if set to 00. Using NOP won't do anything.*
  • 0x7BA23 = Time until Protoman & Kalinka teleport down, after you defeat Cossack 4
  • 0x6AA01 = How long Protoman stays, after bringing Kalinka, *set it to 00, and he'll stay forever*

Wily 1

  • 0x7043B = Giant Hard Hat's HP
  • 6A0A6 = Time until Giant Hard Hat fades in before fight, *01-0F are awesome color changes*
  • 0x6A0C5 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x6A0C7 = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x6A0D4 = Max number of HP before battle
  • 0x6A0D8 =Time rate for the opening Giant hard hat. *D3 to D6 seems best*
  • 0x6A31F = Falling Hard Hat's HP
  • 0x6A1E5 = Giant Hard Hat's ground shake time, *Also effects the timing, of the falling Hard Hat's*
  • 0x6A394 = Giant Hard Hat's straight up jump height
  • 0x6A39 *5,6* = Giant Hard Hat's angled jump heights
  • 0x6A36 *2,3,4,5* = How long Giant Hard Hat hides
  • 0x6A120 = How fast Giant Hard Hat closes, *00-Fastest, 05-Slowest* *missing how fast hard hat opens, cannot find correct INC*
  • 0x6A271 = How fast hard hat Opens *00 Slowest, 05 Fastest*

Level Objects

  • 0x6B488 = Invisible Block timer
  • 0x6B414 = Time when invisible blocks begin to appear, *when you first get on the screen*

Wily 2

  • 0x7043E = Boss's HP
  • 0x6A50C = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x6A50E = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x6A51B = Max number of HP before battle
  • 0x6A532 = Multiple fireballs/balls
  • 0x6A5DD = Speed rate for the moving platforms (Down)
  • 0x6A60C = Speed rate for the moving platforms (Down Left)
  • 0x6A65D = Speed rate for the moving platforms (Up)
  • 0x6A68C = Speed rate for the moving platforms (Up Right)

Wily 3

1st Wily Ship

  • 0x70422 = 1'st Wily Ship's HP
  • 0x6AAE9 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x6AAeB = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x6AAf8 = Max number of HP before battle
  • 0x6AB0F = Fireball timer
  • 0x6AEE *c,d,e* = Fireball timer
  • 0x6AB3B = Movement

2nd Wily Ship

  • 0x6AC52 = 2nd Wily Ship's HP
  • 0x6ACF4 = Speed position for Boss Life Energy *Default 95 [Load Direct]*
  • 0x6ACF6 = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x6AD03 = Max number of HP before battle
  • 0x6AD72 = Fireball timer
  • 0x6AF9 *B,C,D,E,F* = Movement
  • 0x6AFA *0,1,* = Movement

Level Warping Routine

Data added by Insectduel. The warp works for all levels besides Wily 3.

  • 0x78A9E = Warp Screen in Wily 3 when warping. (ASM Related) Recommended not to edit this one.
  • 0x78B9D to 0x78BB2 = Warp locations to the next screen for each screen ID.
  • 0x78BB3 to 0x78bC8 = Scroll Map Position for Warp locations to the next screen for each screen ID.
  • 0x78BC9 to 0x78BD6 = X Position for Warp locations to the next screen for each screen ID.
  • 0x78BD7 to 0x78BE4 = Y Position for Warp locations to the next screen for each screen ID.

Wily 4

  • 0x7044E = Wily's HP
  • 0x6B518 = Speed position for Boss Life Energy *Default 95 [Load Direct*
  • 0x6B51A = Speed position for Boss Life Energy *Default 07 [AND Immediate]*
  • 0x6B527 = Max number of HP before battle
  • 0x6B655 = Formed fireballs attack timer.
  • 0x6B92 *2,3,4,5* = How fast fireballs form in between each other

Stage Select

Data added by Insectduel. Stage Select goes in ROM offset x60010 to x6200F

  • 0x60011 to 6006B = Tileset graphics for each portrait. (set 1)
  • 0x60111 to 6016B = Tileset graphics for each portrait. (set 2)
  • 0x60211 to 6026B = Tileset graphics for each portrait. (set 3)
  • 0x60311 to 6036B = Tileset graphics for each portrait. (set 4)
  • 0x60X9A *0, 1, 2, 3* = Tileset graphics for each portrait for the Dr. C logo.
  • 0x60411 to *6042F = Palette and Tile index for each portrait.
  • 0x6049C = Palette and Tile index for the Dr. C logo (4 Bytes).

Boss Weaknesses

Data added by Insectduel. Here's a list of the boss weaknesses in the ROM MAP.

Brightman's weakness

  • 0x4179B = Mega Buster
  • 0x4379B = Rush Coil
  • 0x4579B = Rush Jet
  • 0x4779B = Rush Marine
  • 0x4979B = Rain Flush
  • 0x4B79B = Wire
  • 0x4D79B = Unused/Balloon
  • 0x4F79B = Dive Missle
  • 0x5179B = Ring Boomerang
  • 0x5379B = Drill Bomb
  • 0x5579B = Dust Crusher
  • 0x5779B = Pharoah Shot
  • 0x5979B = Flash Stopper
  • 0x5B79B = Skull Barrier

Toadman's Weakness

  • 0x4179D = Mega Buster
  • 0x4379D = Rush Coil
  • 0x4579D = Rush Jet
  • 0x4779D = Rush Marine
  • 0x4979D = Rain Flush
  • 0x4B79D = Wire
  • 0x4D79D = Unused/Balloon
  • 0x4f79D = Dive Missle
  • 0x5179D = Ring Boomerang
  • 0x5379D = Drill Bomb
  • 0x5579D = Dust Crusher
  • 0x5779D = Pharoah Shot
  • 0x5979D = Flash Stopper
  • 0x5B79D = Skull Barrier

Drillman's Weakness

  • 0x4178E = Mega Buster
  • 0x4378E = Rush Coil
  • 0x4578E = Rush Jet
  • 0x4778E = Rush Marine
  • 0x4978E = Rain Flush
  • 0x4B78E = Wire
  • 0x4D78E = Unused/Balloon
  • 0x4F78E = Dive Missle
  • 0x5178E = Ring Boomerang
  • 0x5378E = Drill Bomb
  • 0x5578E = Dust Crusher
  • 0x5778E = Pharoah Shot
  • 0x5978E = Flash Stopper
  • 0x5B78E = Skull Barrier

Pharoahman's Weakness

  • 0x41794 = Mega Buster
  • 0x43794 = Rush Coil
  • 0x45794 = Rush Jet
  • 0x47794 = Rush Marine
  • 0x49794 = Rain Flush
  • 0x4B794 = Wire
  • 0x4D794 = Unused/Balloon
  • 0x4F794 = Dive Missle
  • 0x51794 = Ring Boomerang
  • 0x53794 = Drill Bomb
  • 0x55794 = Dust Crusher
  • 0x57794 = Pharoah Shot
  • 0x59794 = Flash Stopper
  • 0x5B794 = Skull Barrier

Ringman's Weakness

  • 0x41785 = Mega Buster
  • 0x43785 = Rush Coil
  • 0x45785 = Rush Jet
  • 0x47785 = Rush Marine
  • 0x49785 = Rain Flush
  • 0x4B785 = Wire
  • 0x4D785 = Unused/Balloon
  • 0x4F785 = Dive Missle
  • 0x51785 = Ring Boomerang
  • 0x53785 = Drill Bomb
  • 0x55785 = Dust Crusher
  • 0x57785 = Pharoah Shot
  • 0x59785 = Flash Stopper
  • 0x5B785 = Skull Barrier

Dustman's Weakness

  • 0x41789 = Mega Buster
  • 0x43789 = Rush Coil
  • 0x45789 = Rush Jet
  • 0x47789 = Rush Marine
  • 0x49789 = Rain Flush
  • 0x4B789 = Wire
  • 0x4D789 = Unused/Balloon
  • 0x4F789 = Dive Missle
  • 0x51789 = Ring Boomerang
  • 0x53789 = Drill Bomb
  • 0x55789 = Dust Crusher
  • 0x57789 = Pharoah Shot
  • 0x59789 = Flash Stopper
  • 0x5B789 = Skull Barrier

Diveman's Weakness

  • 0x4178C = Mega Buster
  • 0x4378C = Rush Coil
  • 0x4578C = Rush Jet
  • 0x4778C = Rush Marine
  • 0x4978C = Rain Flush
  • 0x4B78C = Wire
  • 0x4D78C = Unused/Balloon
  • 0x4F78C = Dive Missle
  • 0x5178C = Ring Boomerang
  • 0x5378C = Drill Bomb
  • 0x5578C = Dust Crusher
  • 0x5778C = Pharoah Shot
  • 0x5978C = Flash Stopper
  • 0x5B78C = Skull Barrier

Skullman's Weakness

  • 0x41781 = Mega Buster
  • 0x43781 = Rush Coil
  • 0x45781 = Rush Jet
  • 0x47781 = Rush Marine
  • 0x49781 = Rain Flush
  • 0x4b781 = Wire
  • 0x4D781 = Unused/Balloon
  • 0x4F781 = Dive Missle
  • 0x51781 = Ring Boomerang
  • 0x53781 = Drill Bomb
  • 0x55781 = Dust Crusher
  • 0x57781 = Pharoah Shot
  • 0x59781 = Flash Stopper
  • 0x5B781 = Skull Barrier

Cossack 1 - Boss

  • 0x41797 = Mega Buster
  • 0x43797 = Rush Coil
  • 0x45797 = Rush Jet
  • 0x47797 = Rush Marine
  • 0x49797 = Rain Flush
  • 0x4b797 = Wire
  • 0x4D797 = Unused/Balloon
  • 0x4F797 = Dive Missle
  • 0x51797 = Ring Boomerang
  • 0x53797 = Drill Bomb
  • 0x55797 = Dust Crusher
  • 0x57797 = Pharoah Shot
  • 0x59797 = Flash Stopper
  • 0x5B797 = Skull Barrier

Cossack 2 - Boss (Enemy ID#61)

  • 0x417A5 = Mega Buster
  • 0x437A5 = Rush Coil
  • 0x457A5 = Rush Jet
  • 0x477A5 = Rush Marine
  • 0x497A5 = Rain Flush
  • 0x4B7A5 = Wire
  • 0x4D7A5 = Unused/Balloon
  • 0x4F7A5 = Dive Missle
  • 0x517A5 = Ring Boomerang
  • 0x537A5 = Drill Bomb
  • 0x557A5 = Dust Crusher
  • 0x577A5 = Pharoah Shot
  • 0x597A5 = Flash Stopper
  • 0x5B7A5 = Skull Barrier

Cossack 3 Boss (Enemy ID#69)

  • 0x417AE = Mega Buster
  • 0x437AE = Rush Coil
  • 0x457AE = Rush Jet
  • 0x477AE = Rush Marine
  • 0x497AE = Rain Flush
  • 0x4B7AE = Wire
  • 0x4D7AE = Unused/Balloon
  • 0x4F7AE = Dive Missle
  • 0x517AE = Ring Boomerang
  • 0x537AE = Drill Bomb
  • 0x557AE = Dust Crusher
  • 0x577AE = Pharoah Shot
  • 0x597AE = Flash Stopper
  • 0x5B7AE = Skull Barrier

Cossack 4 - Boss (Enemy ID#5E)

  • 0x417A2 = Mega Buster
  • 0x437A2 = Rush Coil
  • 0x457A2 = Rush Jet
  • 0x477A2 = Rush Marine
  • 0x497A2 = Rain Flush
  • 0x4B7A2 = Wire
  • 0x4D7A2 = Unused/Balloon
  • 0x4F7A2 = Dive Missle
  • 0x517A2 = Ring Boomerang
  • 0x537A2 = Drill Bomb
  • 0x557A2 = Dust Crusher
  • 0x577A2 = Pharoah Shot
  • 0x597A2 = Flash Stopper
  • 0x5B7A2 = Skull Barrier

Wily 1 - Boss (Enemy ID#6C)

  • 0x417B6 = Mega Buster
  • 0x437B6 = Rush Coil
  • 0x457B6 = Rush Jet
  • 0x477B6 = Rush Marine
  • 0x497B6 = Rain Flush
  • 0x4B7B6 = Wire
  • 0x4D7B6 = Unused/Balloon
  • 0x4F7B6 = Dive Missle
  • 0x517B6 = Ring Boomerang
  • 0x537B6 = Drill Bomb
  • 0x557B6 = Dust Crusher
  • 0x577B6 = Pharoah Shot
  • 0x597B6 = Flash Stopper
  • 0x5B7B6 = Skull Barrier

Wily 2 - Boss (Enemy ID#6F)

  • 0x417BB = Mega Buster
  • 0x437BB = Rush Coil
  • 0x457BB = Rush Jet
  • 0x477BB = Rush Marine
  • 0x497BB = Rain Flush
  • 0x4B7BB = Wire
  • 0x4D7BB = Unused/Balloon
  • 0x4F7BB = Dive Missle
  • 0x517BB = Ring Boomerang
  • 0x537BB = Drill Bomb
  • 0x557BB = Dust Crusher
  • 0x577BB = Pharoah Shot
  • 0x597BB = Flash Stopper
  • 0x5B7BB = Skull Barrier

Wily 3 Boss (First Form)

  • 0x417CC = Mega Buster
  • 0x437CC = Rush Coil
  • 0x457CC = Rush Jet
  • 0x477CC = Rush Marine
  • 0x497CC = Rain Flush
  • 0x4B7CC = Wire
  • 0x4D7CC = Unused/Balloon
  • 0x4F7CC = Dive Missle
  • 0x517CC = Ring Boomerang
  • 0x537CC = Drill Bomb
  • 0x557CC = Dust Crusher
  • 0x577CC = Pharoah Shot
  • 0x597CC = Flash Stopper
  • 0x5B7CC = Skull Barrier

Wily 3 Boss (Second Form)

  • 0x417D0 = Mega Buster
  • 0x437D0 = Rush Coil
  • 0x457D0 = Rush Jet
  • 0x477D0 = Rush Marine
  • 0x497D0 = Rain Flush
  • 0x4B7D0 = Wire
  • 0x4D7D0 = Unused/Balloon
  • 0x4F7D0 = Dive Missle
  • 0x517D0 = Ring Boomerang
  • 0x537D0 = Drill Bomb
  • 0x557D0 = Dust Crusher
  • 0x577D0 = Pharoah Shot
  • 0x597D0 = Flash Stopper
  • 0x5B7D0 = Skull Barrier

Wily 4 - Boss (Enemy ID#7F)

  • 0x417D4 = Mega Buster
  • 0x437D4 = Rush Coil
  • 0x457D4 = Rush Jet
  • 0x477D4 = Rush Marine
  • 0x497D4 = Rain Flush
  • 0x4B7D4 = Wire
  • 0x4D7D4 = Unused/Balloon
  • 0x4F7D4 = Dive Missle
  • 0x517D4 = Ring Boomerang
  • 0x537D4 = Drill Bomb
  • 0x557D4 = Dust Crusher
  • 0x577D4 = Pharoah Shot
  • 0x597D4 = Flash Stopper
  • 0x5B7D4 = Skull Barrier

Music Pointers

Data added by Insectduel (Values added by Kiokuffiib11). (Hex Values are listed in "[]")

Some of the ROM-Data is only available for the (U) version of Megaman 4.

  • 0x361E1 = Ending [0b]
  • 0x36375 = Credits [13]
  • 0x36E81 = Prologue [0a]
  • 0x37159 = Prologue 2 [43]
  • Stage Clear Sound Data are 0x6A970, 0x6AE7B, 0x6B082, and 0x6B32B [0C], [S6], [0C], [0C]
  • 0x6B7D1 = Wily Defeated [46]
  • 0x721C9 = Dr. Cossack Intro [3c]
  • 0x7239B = Dr. Cossack Intro (After boss defeated) [3c]
  • 0x7243E = Dr. Wily Intro [3b]
  • 0x7288A to 7288B = Title Screen and Stage Select Music [12 10]
  • 0x72D4C = Got Weapon [14]
  • 0x72E93 = Password (Got Weapon) [0D]
  • 0x72F11 = Game Over [0e]
  • 0x72F1E = Password (Game over ) [0D]
  • 0x73061 = Boss Intro [of]
  • 0x73686 = Password (Start) [0d]
  • 0x77C7C = Got Special Item [3a]
  • 0x78AFC = Music pointer when warping [16]
  • 0x7C86B to 7C87A = Sound ID to Init for each Level. [00 01 03 04 02 07 05 06 08 08 15 15 09 09 16 16]
  • 0x7FDB3 Wily Final Battle Setup Music [45]
  • 0x7FDBF Boss Battle Setup Music [11]

Colour Schemes

  • 0x7275E to 72761 = Intro Helmet Left hand corner [black, blue, cyan, red (ears)] [0f 11 2c 16]
  • 0x7276A to 7276D = Intro Helmet Rest [Black, blue, Dark blue, Light colour [0f 17 15 28]
  • 0x72778 = Intro Helmet Rest [cyan only] [2c]
  • 0x735D9 = Colour behind picked enemy
  • 0x7928D to 79299 = Mega Man's Charging colours Secondary (Originally Cyan [3c])
  • 0x7929D to 792A9 = Mega Man's Charging colours Main (Originally Blue [11])
  • 0x792CA to 792CC = Mega Man's colours After you shoot
  • 0x79V14 to 79B16 = Mega Man's colours after you pause
  • 0x7C864 to 7C866 = Mega Man's colours Before you shoot

Text

Added by Insectduel.

Text Table for Weapon Get and Boss Chosen

To write the text. Write down the text you see in Table 2. The max length is 17 Characters. Text ends must be hex FF 21 8F and loading the text table must change the low byte or any high byte number of the rom offset.

  • 733E7 = YOU GOT (7 Characters)
  • 733F1 = FLASH STOPPER (13 Characters)
  • 73401 = RAIN FLUSH (10 Characters)
  • 7340E = DRILL BOMB (10 Characters)
  • 7341B = PHAROAH SHOT (12 Characters)
  • 7342A = RING BOOMERANG (14 Characters)
  • 7342B = DUST CRUSHER (12 Characters)
  • 7344A = DIVE MISSLE (11 Characters)
  • 73459 = SKULL BARRIER (13 Characters)
  • 73469 = RUSH JET (8 Characters)
  • 73474 = RUSH MARINE (11 Characters)
  • 73482 = BRIGHT MAN (10 Characters)
  • 7348F = TOAD MAN (8 Characters)
  • 7349A = DRILL MAN (9 Characters)
  • 734A6 = PHARAOH MAN (11 Characters)
  • 734B4 = RING MAN (8 Characters)
  • 734BF = DUST MAN (8 Characters)
  • 734CA = DIVE MAN (8 Characters)
  • 734D5 = SKULL MAN (9 Characters)
  • 734E1 = ADAPTOR (7 Characters)

Text Table Load

  • 7E4E9 = YOU GOT (Low Byte) [D5]
  • 7E4EA = FLASH STOPPER (Low Byte) [DF]
  • 7E4EB = RAIN FLUSH (Low Byte) [EF]
  • 7E4EC = DRILL BOMB (Low Byte) [FC]
  • 7E4ED = PHARAOH SHOT (Low Byte) [09]
  • 7E4EE = RING BOOMERANG (Low Byte) [18]
  • 734EF = DUST CRUSHER (Low Byte) [29]
  • 734F0 = DIVE MISSLE (Low Byte) [38]
  • 734F1 = SKULL BARRIER (Low Byte) [47]
  • 734F2 = RUSH JET (Low Byte) [57]
  • 734F3 = RUSH MARINE (Low Byte) [62]
  • 734F4 = BRIGHT MAN (Low Byte) [70]
  • 734F5 = TOAD MAN (Low Byte) [7D]
  • 734F6 = DRILL MAN (Low Byte) [88]
  • 734F7 = PHARAOH MAN (Low Byte) [94]
  • 734F8 = RING MAN (Low Byte) [A2]
  • 734F9 = DUST MAN (Low Byte) [AD]
  • 734FA = DIVE MAN (Low Byte) [B8]
  • 734FB = SKULL MAN (Low Byte) [C3]
  • 734FC = ADAPTOR (Low Byte) [CF]
  • 734FD = 73500 Unknown Data
  • 7E501 = YOU GOT (High Byte) [93]
  • 7E502 = FLASH STOPPER (High Byte) [93]
  • 7E503 = RAIN FLUSH (High Byte) [93]
  • 7E504 = DRILL BOMB (High Byte) [93]
  • 7E505 = PHAROAH SHOT (High Byte) [94]
  • 7E506 = RING BOOMERANG (High Byte) [94]
  • 73507 = DUST CRUSHER (High Byte) [94]
  • 73508 = DIVE MISSLE (High Byte) [94]
  • 73509 = SKULL BARRIER (High Byte) [94]
  • 7350A = RUSH JET (High Byte) [94]
  • 7350B = RUSH MARINE (High Byte) [94]
  • 7350C = BRIGHT MAN (High Byte) [94]
  • 7350D = TOAD MAN (High Byte) [94]
  • 7350E = DRILL MAN (High Byte) [94]
  • 7350F = PHARAOH MAN (High Byte) [94]
  • 73510 = RING MAN (High Byte) [94]
  • 73511 = DUST MAN (High Byte) [94]
  • 73512 = DIVE MAN (High Byte) [94]
  • 73513 = SKULL MAN (High Byte) [94]
  • 73514 = ADAPTOR (High Byte) [94]
  • 73515 to 73518 = Unknown Data

Passwords

Added by Insectduel.

Password for Passcodes

ROM OFFSET Passcode Hex Value
0x739CC A1 00
0x739CD A2 04
0x739D1 A3 08
0x739D0 A4 0C
0x739D5 A5 10
0x739C0 A6 14
0x739CB B1 18
0x739C1 B2 1C
0x739C2 B3 20
0x739CF B4 24
0x739D4 B5 28
0x739D2 B6 2C
0x739C3 C1 30
0x739CA C2 34
0x739CE C3 38
0x739C4 C4 3C
0x739D3 C5 40
0x739C5 C6 44
0x739D9 D1 48
0x739C6 D2 4C
0x739DB D3 50
0x739DA D4 54
0x739BA D5 58
0x739BB D6 5C
0x739D6 E1 60
0x739D8 E2 64
0x739DD E3 68
0x739C7 E4 6C
0x739BD E5 70
0x739C8 E6 74
0x739C9 F1 78
0x739D7 F2 7C
0x739DC F3 80
0x739BC F4 84
0x739BF F5 88
0x739BE F6 8C

Password for Bosses Defeated

ROM OFFSET Hex Value Effect
0x739DE 01 Bright Man Defeated
0x739DF 02 Toad Man Defeated
0x739E0 03 Bright Man & Toad Man Defeated
0x739E1 00 No Bosses Defeated
0x739E2 04 Drill Man Defeated
0x739E3 08 Pharoah Man Defeated
0x739E4 0C Drill Man & Pharoah Man Defeated
0x739E5 00 No Bosses Defeated
0x739E6 10 Ring Man Defeated
0x739E7 20 Dust Man Defeated
0x739E8 30 Ring Man & Dust Man Defeated
0x739E9 00 No Bosses Defeated
0x739EA 40 Dive Man Defeated
0x739EB 80 Skull Man Defeated
0x739EC C0 Dive Man & Skull Defeated
0x739ED 00 No Bosses Defeated
0x739EE 00 Unused
0x739EF 00 Unused
0x739F0 00 Unused
0x739F1 00 Unused


Password for weapons gained

ROM OFFSET - Hex Value - Effect

  • 0x739F2 = 0C - Flash Stopper
  • 0x739F3 = 00 - No Weapons Gained
  • 0x739F4 = 00 - No Weapons Gained
  • 0x739F5 = 04 - Rain Flush
  • 0x739F6 = 03 - Rush Marine
  • 0x739F7 = 00 - No Weapons Gained
  • 0x739F8 = 0C - Flash Stopper
  • 0x739F9 = 04 - Rain Flush
  • 0x739FA = 03 - Rush Marine
  • 0x739FB = 00 - No Weapons Gained
  • 0x739FC = 00 - No Weapons Gained
  • 0x739FD = 00 - No Weapons Gained
  • 0x739FE = 09 - Drill Bomb
  • 0x739FF = 02 - Rush Jet
  • 0x73A00 = 00 - No Weapons Gained
  • 0x73A01 = 0B - Pharoah Shot
  • 0x73A02 = 00 - No Weapons Gained
  • 0x73A03 = 00 - No Weapons Gained
  • 0x73A04 = 09 - Drill Bomb
  • 0x73A05 = 0B - Pharoah Shot
  • 0x73A06 = 02 - Rush Jet
  • 0x73A07 = 00 - No Weapons Gained
  • 0x73A08 = 00 - No Weapons Gained
  • 0x73A09 = 00 - No Weapons Gained
  • 0x73A0A = 08 - Ring Boomerang
  • 0x73A0B = 00 - No Weapons Gained
  • 0x73A0C = 00 - No Weapons Gained
  • 0x73A0D = 0A - Dust Crusher
  • 0x73A0E = 00 - No Weapons Gained
  • 0x73A0F = 00 - No Weapons Gained
  • 0x73A10 = 08 - Ring Boomerang
  • 0x73A11 = 0A - Dust Crusher
  • 0x73A12 = 00 - No Weapons Gained
  • 0x73A13 = 00 - No Weapons Gained
  • 0x73A14 = 00 - No Weapons Gained
  • 0x73A15 = 00 - No Weapons Gained
  • 0x73A16 = 07 - Dive Missle
  • 0x73A17 = 00 - No Weapons Gained
  • 0x73A18 = 00 - No Weapons Gained
  • 0x73A19 = 0D - Skull Barrier
  • 0x73A1A = 00 - No Weapons Gained
  • 0x73A1B = 00 - No Weapons Gained
  • 0x73A1C = 07 - Dive Missle
  • 0x73A1D = 0D - Skull Barrier
  • 0x73A1E = 00 - No Weapons Gained
  • 0x73A1F = 00 - No Weapons Gained
  • 0x73A20 = 00 - No Weapons Gained
  • 0x73A21 = 00 - No Weapons Gained
  • 0x73A22 = 05 - Wire Weapon
  • 0x73A23 = 00 - No Weapons Gained
  • 0x73A24 = 00 - No Weapons Gained
  • 0x73A25 = 06 - Balloon Weapon
  • 0x73A26 = 00 - No Weapons Gained
  • 0x73A27 = 00 - No Weapons Gained
  • 0x73A28 = 05 - Wire Weapon
  • 0x73A29 = 06 - Balloon Weapon
  • 0x73A2A = 00 - No Weapons Gained
  • 0x73A2B = 00 - No Weapons Gained
  • 0x73A2C = 00 - No Weapons Gained
  • 0x73A2D = 00 - No Weapons Gained

Password for weapons gained after stages clear

ROM OFFSET - Hex Value - Effect

  • 0x73A2E = 0C - Flash Stopper
  • 0x73A2F = 04 - Rain Flush
  • 0x73A30 = 09 - Drill Bomb
  • 0x73A31 = 0B - Pharoah Shot
  • 0x73A32 = 08 - Ring Boomerang
  • 0x73A33 = 0A - Dust Crusher
  • 0x73A34 = 07 - Dive Missle
  • 0x73A35 = 0D - Skull Barrier
  • 0x73A36 = 05 - Wire Weapon
  • 0x73A37 = 06 - Balloon Weapon

Weapon Energy

  • 0x7FD9F = Rush Coil
  • 0x7FDA0 = Rush Jet (per tick)
  • 0x7FDA1 = Rush Marine (per tick)
  • 0x7FDA2 = Rain Flush
  • 0x7FDA3 = Wire
  • 0x7FDA4 = Balloon
  • 0x7FDA5 = Dive Missile
  • 0x7FDA6 = Ring Boomerang
  • 0x7FDA7 = Drill Bomb
  • 0x7FDA8 = Dust Crusher
  • 0x7FDA9 = Pharaoh Shot (charged Pharaoh Shot just consumes double)
  • 0x7FDAA = Flash Stopper
  • 0x7FDAB = Skull Barrier

Misc

  • 0x1A726 = Recovery time for Megaman after being hit. *In other words, when Megaman is being backed up* [09 (default)]
  • 0x1A727 = Megaman's hit recovery time (How far you get knocked back (how long you're stunned)) [02 (Default)]
  • 0x41838 = Something to do with the sound init or background animation or both. [60 default]

Set it to: [0C = And Press Start as SOON as you see the AD 200X. Do NOT slide]

  • 0x6A86C = Speed position for Boss Life Energy (The 8 Bosses, Default 95 [LDA Load Direct])
  • 0x6a86E = Speed position for Boss Life Energy (The 8 Bosses, Default 07 [AND Accumulator with Memory])
  • 0x6A87B = Max number of HP before battle (The 8 Bosses)
  • 0x7185F = How far Megaman can jump.
  • 0x72047 = JUMP to Intro. (3 Bytes)
  • 0x7205a = How many times, it tells the Main Title song to loop, *now you can hear the complete song* [Change to 0C]
  • 72DCA = Level ID where you gain the Rush Marine weapon. (Default 01, Mega Man IV only)
  • 0x72DCF & 0x72E72 - Level ID where you gain the Rush Jet weapon. (Default 02, Mega Man IV only)
  • 0x72F08 = Lives to start (After the Game Over Screen)
  • 0x7426E = Delay before gameplay refreshes *death by spikes* Low
  • 0x74273 = Delay before gameplay refreshes *death by spikes* High
  • 0x7437F = Recovery time for Bosses. (This includes the effects of the Flash Stopper and Major bosses. However, this is coded with Immediate ORA and STA Indexed with X. Hex 02 is recommended.)
  • 0x76309 = Time until Eddie teleports away, after giving you and item
  • 0x77BEA = Time till items fade away, *the ones you get, when you kill enemies*
  • 0x77C09 = Max number of lives
  • 0x77C19 = Max number of E-Tanks
  • 0x77C31 = Max number of Life and Weapon energy
  • 0x77C41 = Speed position for Life and Weapon Energy
  • 0x77CB1 = How much energy a big Health Capsule refills[0A]
  • 0x77CB2 = How much energy a small Health Pellet refills[02]
  • 0x77CB3 = How much energy a big Weapon Capsule refills[0A]
  • 0x77CB4 = How much energy a small Weapon Pellet refills[02]
  • 0x77CB6 = Life energy item behaviour
  • 0x77CB8 = Weapon energy item behaviour
  • 0x783E8 = Mega man movement walking speed *Low horizontal byte*
  • 0x786E9 = Ready Time
  • 0x783EF = Megaman movement walking speed *High horizontal byte*
  • 0x786B3 = Timer when Mega Man Teleports after the boss is beaten.
  • 0x786F8 = Teleportation's Y Coordinates
  • 0x786FA = Teleportation's Y Coordinates $STA Memory address. *Default 78* Changing it to 33 will change the $STA's memory to X Coordinate.
  • 0x78F8C = Balloon life time
  • 0x79715 = Speed position for Life Energy when using an E-Tank
  • 0x7971C = Max number of Life Energy when using an E-Tank
  • 0x7C03B = The way the Page refreshes between screens. [65 default]
  • 0x7c462 = Fade in timer, for all fade in sequences, *some text, some non-text*
  • 0x7C464 = Speed for Fade In sequences.
  • 0x7C468 = Fade Out timer, for all fade in sequences, *some text, some non-text* Up to 7F is recommended.
  • 0x7C46F = Speed for Fade Ins and Fade Outs.
  • 0x7c54A = Lives to start
  • 0x7C698 = HP to Start
  • 0x7CC13 to 0x7CC22 - Boss-Doors: Screen Position of level to skip boss-door wrap down after entering boss screen. (0 means no screen. This data is set for most Cossack/Wily levels.)
  • 0x7CE08 = Vertical Screen Scroll Speed - Down
  • 0x7CE18 = Megaman - Movement Speed when climbing ladders Down - Low
  • 0x7CE20 = Megaman - Movement Speed when climbing ladders Down - High
  • 0x7CE32 = Vertical Screen Scroll Speed - Up
  • 0x7CE40 = Megaman Movement Speed when climbing ladders Up - Low
  • 0x7CE48 = Megaman Movement Speed when climbing ladders Up - High
  • 0x7F31C = If adjusted this stops Mega Man's falling all together, and raises you higher with a jump button.

Notes

I'm trying to also figure out how to find the weapon energy settings, what kind of damage they can do, other type of jump settings, etc. If I can find something else, I'll add it to the list. Enjoy! - Infidelity

I have found most of their bosses AI data and added them, I will NOT add any more of the bosses AI data. It's up to you to do it. Most of them are hardcoded by ASM. To change the settings, just change the hex number part of the LDA or CMP address. Be sure you use Matrixz's document because most of the memory addresses are used by the STA's. - Insectduel

List Created By Infidelity and some data added by Insectduel.

External Links

Megaman IV Comprehensive Document - By Matrixz