Player (71)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
That would be something! :D
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
I sec...third that. Heck, I'd like to see it played in any public game-y place.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (206)
Joined: 5/29/2004
Posts: 5712
I wonder if any of the tricks work in the PSP version!
put yourself in my rocketpack if that poochie is one outrageous dude
Joined: 6/5/2005
Posts: 139
All I have to say is Bisqwit and Finalfighter are my idols! They made my favorite game even more interesting by breaking it over and over again. I was wondering if the Bisqbot has uncovered any more juicy morsels of this game? Have either of you guys had time to mess around with this game lately or has Rockman 2 become the game of the moment (which is fine because I am glued to the progress on that TAS, too)?
I like stuff...
Banned User
Joined: 5/11/2004
Posts: 1049
What's going on with the new run? Final Fighter's new tricks will save over a minute right?
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Joined: 1/13/2006
Posts: 109
Well, I've seen all the videos finally, and it's good stuff. There are 2 more tricks that I've found that I haven't seen mentioned here. Sadly, they are just novelties (and time-wasters), so they're not useful in a time-attack as-is, but maybe you can find a way to put them to use or something elsewhere? As usual, they are Nesticle videos. They both should be uploaded. For those who have Nesticle, there's a video inside that dualintro zip that shows the trick in action. For those that can't watch it, it's a simple trick done just before entering Elec Man's room that causes a false battle introduction, or rather, repeats it. After having thrown away the blocks and doing it the second time, the image of the blocks reappear, but they're not really there. You can check the pictures to see what's going on. Link (as usual, you may have to copy and paste link into address bar before it will work): http://www.geocities.com/kolechovski/MM/dualintro.zip http://www.geocities.com/kolechovski/MM/skating.zip edit-links changed-files sent to proper folder
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Sorry for the lack of updates! Yes, as some people here already know, a new Rockman movie is being made. I’m playing it, and AngerFist is also contributing. We’re currently in the middle of the Iceman stage. The progress can be followed, or at least deduced, from the usual location: http://tasvideos.org/Bisqwit/RockmanMovie.html Sorry, we’re not releasing WIPs yet. Yesterday, I made some discoveries regarding this game. It really helps when I have these tools ― it actually surprises me too ― that report some things regarding the game. * It tells precisely each frame what speed Rockman is moving and accelerating in each direction * It tells when the game lags * It tells when an enemy has been hit (and the number of remaining hitpoints) * It tells when an item has been picked * It tells the location and extent of each magnet beam (so I don’t need trial&error to see where it reaches) * It tells when the screen starts scrolling All this is very useful in measuring and comparing different ways of acting. It also saves effort, because I don’t need to do so much trial&error when I get the results earlier in a human-readable form. I will attach the source code later in this post. Discovery number 1: Y speed and position fluctuates when walking a lift/beam Rockman’s Y speed and position are in constant fluctuation when he’s walking on a beam. It is stable when he walks on ground. This was recorded while walking on ground: . Playing frame 11806 - rockman Y=116.00 (−0.75) . Playing frame 11807 - rockman Y=116.00 (−0.75) . Playing frame 11808 - rockman Y=116.00 (−0.75) This was recorded while walking on a beam: . Playing frame 11970 - rockman Y=33.17 (−6.13) . Playing frame 11971 - rockman Y=33.30 (−6.38) . Playing frame 11972 - rockman Y=33.68 (−6.63) . Playing frame 11973 - rockman Y=33.31 (−6.88) . Playing frame 11974 - rockman Y=33.19 (−7.13) The number in parenthesis is his Y speed. Apparently, the whole time he walks on a beam, his Y speed increases as if he was falling, but the beam forces him above it. This explains why Rockman suddenly falls at high speed when the beam stops carrying him. He falls at the speed he would fall if he had been falling the whole time he walked on the beam. When he walks on normal platforms, his vertical speed is a stabile −0.75. The maximum speed is −12.00, as shown below. . Recording frame 11990 - rockman Y=33.25 (−11.13) . Recording frame 11991 - rockman Y=33.38 (−11.38) . Recording frame 11992 - rockman Y=33.76 (−11.63) . Recording frame 11993 - rockman Y=33.39 (−11.88) . Recording frame 11994 - rockman Y=33.27 (−12.00) . Recording frame 11995 - rockman Y=33.27 (−12.00) . Recording frame 11996 - rockman Y=33.27 (−12.00) Btw, this also gives away the formula of Rockman's fall-acceleration: 0.25 added to YSpeed every frame, and YSpeed added to YPos every frame. So, the significance of this discovery? Well. Sometimes you want to set up a beam en-route down from a zipping. The beam has to be placed on exactly the right height of course, but the options you are given depend on the speed you fall. By adjusting the time you spend on the beam, you can also adjust the speed you fall, and therefore, ultimately, the positions you can possibly put a beam on during the falling. Discovery number 2: Game forces a limit on Y coordinate… sort of. Background information: The Y coordinates of the game go so that 0=screen top, 239=screen bottom. Because the datatype used to represent the coordinates is just 8-bit, it also acts simultaneously as a signed datatype. Y coordinate −1 is therefore equal to 255, and −2 is equal to 254, and so on. (This is the reason why you can grab a screen-bottom ladder from the screen top.) Y coordinate −8 (248) indicates a dead character. Normally, when Rockman jumps from a place that's near the top of the screen, the game prevents Rockman’s Y position from ever decreasing below −4. However, he can land on a magnet beam that forces his position to be −5. That is precisely the height that it needs to be in order to zip through screen top. However, if he tries jumping on a magnet beam that forces his Y position be −3..−5, his Y position will instantly become −8 (which indicates a dead character), and therefore he will die. That is, unless the screen can scroll below. Discovery number 3: Walking speed, jumping speed How Rockman walks and jumps, these have been an issue of question for a long time. We have calculated that Rockman moves 1,1,2,1,1,1,2,1,1,2, pixels per frame, and so on. We have also made theories that certain jumps slow down Rockman (7-frame jumps slow down 1 frame, 14-frame jumps slow down 2 frames)... It’s time to throw out the window, this nonsense. First, some background information. In Rockman 1 (also in Rockman 2), there are the following variables defining Rockman's position and movement speed. * Screen_number. This is an unsigned 8-bit integer. * X_position, Y_position, X_speed, Y_speed. These four are decimal numbers that contain a 8-bit integer part and a 8-bit decimal part. Every frame, the game does this to Rockman’s position: X_position = X_position + X_speed Y_position = Y_position − Y_speed If X_position overflows, the carry will be added/subtracted from/to the Screen_number. When Rockman walks, his X_speed is precisely this value 1.375. When Rockman jumps or falls, his X_speed is this value: 1.312. From the screen, you can only observe the integer part of his position, but the game actually tracks a quite precise subpixel position. This means: * When walking, it takes 73 frames to reach the distance of 100 pixels. * When falling or jumping, it takes 76 frames to reach the distance of 100 pixels. Obviously, this means that now we have a good reason to encourage Rockman players to do as small jumps as possible and as few jumps as possible. Note: The X-speed during jumping/falling does not depend on the height or speed of the jump. All jumps work the same way. Discovery number 4 In the Iceman stage, after the shutter, it is faster to not jump after the shutter to regain motion fast. The combined ”Rockman stands still trying to start walking” and ”sliding on the ice” is faster than the jumping movement. The difference is a mere 1 pixel, but it's a difference nonetheless. So, the source code. * Megaman and magnet beam meters (file=movie.c):
    void FCEU_DrawMovies(uint8 *XBuf)
    {
     if(frame_display && current != 0 && last_frame_display!=framecount)
     {
       extern unsigned char RAM[0x800];
       double RockY  = (unsigned short)(RAM[0x600]*256 + RAM[0x620])/ 256.0;
       double RockYS = (signed short  )(RAM[0x680]*256 + RAM[0x660])/ 256.0;
       double RockX  = (unsigned short)(RAM[0x480]*256 + RAM[0x4A0])/ 256.0 + RAM[0x460]*256;
       double RockXS = (signed short  )(RAM[0x4C0]*256 + RAM[0x4E0])/ 256.0;
       unsigned Beam1Y = RAM[0x5F0];
       char msg[512];
       sprintf(msg, " - X=%.2f%+.3f Y=%.2f%+.3f\nBeams:%u,%u-%u; %u,%u-%u; %u,%u-%u; %u,%u-%u; %u,%u-%u\n",
        RockX,RockXS, RockY, RockYS,
        RAM[0x5D5]*256+RAM[0x5C5], RAM[0x5F5], RAM[0x5D5]*256+RAM[0x5C5]+16*RAM[0x5A5], 
        RAM[0x5D6]*256+RAM[0x5C6], RAM[0x5F6], RAM[0x5D6]*256+RAM[0x5C6]+16*RAM[0x5A6],
        RAM[0x5D7]*256+RAM[0x5C7], RAM[0x5F7], RAM[0x5D7]*256+RAM[0x5C7]+16*RAM[0x5A7],
        RAM[0x5D8]*256+RAM[0x5C8], RAM[0x5F8], RAM[0x5D8]*256+RAM[0x5C8]+16*RAM[0x5A8],
        RAM[0x5D9]*256+RAM[0x5C9], RAM[0x5F9], RAM[0x5D9]*256+RAM[0x5C9]+16*RAM[0x5A9]
         );
       
       FCEU_DispMessage("%s #%u%s",(current<0) ? "Play" : "Rec", framecount, msg);
       last_frame_display = framecount;
       return;
     }

     if(!MovieShow) return;
     
     FCEU_DrawNumberRow(XBuf,MovieStatus, CurrentMovie);
     MovieShow--;
    }
* Action indicators (file=bisqbot.cc, called from X6502_RunNormal):
    static bool sound=false;
    if(PC == 0xD54C) sound=true;
    if(PC == 0xD56E) sound=false;
    if(!sound && PC == 0xA238) FCEU_DispMessage("Damage from enemy %02X (%u points)\n", Y,A);
    if(!sound && PC == 0xBEDF) FCEU_DispMessage("Enemy %02X hit with weapon %u (%d points left)\n",
      Y, RAM[0x5F], (signed char)A);
    if(!sound
    && (PC == 0x9FE8)) // horiz scrolling
    {
        FCEU_DispMessage("Scrolling routine at PC=%04X A=%02X X=%02X Y=%02X\n", PC, A,X,Y);
    }
    if(!sound
    && (PC == 0x925D)) // scroll prev room
    {
        FCEU_DispMessage("Scroll previous room at PC=%04X A=%02X X=%02X Y=%02X\n", PC, A,X,Y);
    }
    if(!sound
    && (PC == 0x92A6)) // scroll next room
    {
        FCEU_DispMessage("Scroll next room at PC=%04X A=%02X X=%02X Y=%02X\n", PC, A,X,Y);
    }
    if(PC == 0xC912)
    {
        FCEU_DispMessage("Boss %u damaged with weapon %u (%d points left)\n", RAM[0xAC], RAM[0x5F], (signed char)A);
    }
    if(PC == 0xC833)
    {
        FCEU_DispMessage("Acquire item %u\n", A);
    }
    
    if(PC == 0xD4B1) FCEU_DispMessage("LAG detected\n");
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3576)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
Obviously, this means that now we have a good reason to encourage Rockman players to do as small jumps as possible and as few jumps as possible.
are you saying this for ALL rockman games? and If so, this info should be posted in those threads as well.
It's hard to look this good. My TAS projects
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
adelikat wrote:
are you saying this for ALL rockman games? and If so, this info should be posted in those threads as well.
I don't have ROM hacking knowledge of Rockman 3-6 yet. But I did verify, the precisely same thing goes to Rockman 2 too. (Speeds are the same too.)
Skilled player (1410)
Joined: 5/31/2004
Posts: 1821
Everybody already jumps as less as possible in megaman 3-6, since sliding is obviously faster.
Banned User
Joined: 5/11/2004
Posts: 1049
From the screen, you can only observe the integer part of his position, but the game actually tracks a quite precise subpixel position.
That makes sense, I always suspected that was the case for most games.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Player (206)
Joined: 5/29/2004
Posts: 5712
Baxter wrote:
Everybody already jumps as less as possible in megaman 3-6, since sliding is obviously faster.
Don't you mean "as little as possible"? Sorry, I've just seen "less as possible" one too many times on this board and now it's starting to get to me.
put yourself in my rocketpack if that poochie is one outrageous dude
Joined: 1/13/2006
Posts: 109
Well those discoveries were quite refreshing! I am still wondering though, how the Y position causes the false intro of the Elec Man battle, specifically, making the screen scroll up at that point.
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
kolechovski wrote:
Well those discoveries were quite refreshing! I am still wondering though, how the Y position causes the false intro of the Elec Man battle, specifically, making the screen scroll up at that point.
And chance you could make FCEU movies? It is troublesome for me to start Nesticle, as it's a DOS program and it'd require to run another emulator to run it.
Joined: 1/13/2006
Posts: 109
Hang on...hey, BTW, if anybody can figure out how to record Nesticle output to an MPEG or AVI, it would make things much easier, as that's usually the emu I use when I find these things.
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Joined: 1/13/2006
Posts: 109
I'll have to wait a short bit for one of your past movies to finish playing so I have Gutsman's weapon by the time I'm at the top of the tower. In the mean time, I'll let you ponder something else. You've likely noticed that Rockman's position shifts a bit when a moving platform changes direction in games 1 and 2. I couldn't track all the details in the code that you posted, but what causes his X position to change? Does it have something to do with Rockman's momentum?
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Joined: 1/13/2006
Posts: 109
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Magnet-beam related findings. Background information: There may be at most 5 magnet beams at the same time. Everyone knows that. Each magnet beam possesses the following properties: * Screen number where the far edge of the beam is anchored in * X position within that screen (0-255) * Y position within that screen (0-255) * Length (0-65) * Life (0-156) * Cycle position (0-16) When a new magnet beam is created: The beam is initialized with Length=1, Cycle=0 and Life=156. As long as B button is being held: The Life value will hold in 156. Every frame, the Length increases by 1, until it reaches 65. It won't grow longer after 65 frames. When B button is released: The Life starts decrementing. It decrements by 1 at every interactive frame (not during pause or vertical scrolling). When the counter reaches 0, the beam disappears. The beam does not disappear when the screen scrolls. Beam length The unit of the Length is 4 pixels. * A magnet beam that has length of 8, is 32 pixels long. * A magnet beam that has length of 24, is 96 pixels long. However, the beam is composed of 16-pixel units, one of which is displayed at a time. The Cycle Position tells which portion of the beam is displayed. The Cycle Position increases by 1 every frame. When this formula evaluates into True, the Cycle Position is reseted to 0: (Length*2 == CyclePos*8). The maximum width of the beam is 17 units. However, due to 8-bit arithmetics, the 17th part of the beam is seen at the same position as the 1st part. Note: It takes 198 frames to walk the distance of 272 pixels (207 frames if you hop the way), but the beam dies in 156 frames, which means that the only way to utilize a full-length magnet-beam to its fullest potential is to zip. Beam anchor position A weird property of the beam is that it is anchored in its middle, not in Rockman's weapon. Even weirder is that the anchor position seems to fluctuate. When the player holds B, every frame the magnet beam position is adjusted in the following way: Temp = (BeamLengthBeforeGrowth*2+16) If (Temp & 7) == 0, Then Temp = Temp + 8 If Megaman looks to the left, Then BeamXpos = MegamanXpos - temp If Megaman looks to the right, Then BeamXpos = MegamanXpos + temp For lengths 1-65, the X position of the beam is therefore adjusted in the following ways:
 1: +24[1]M   11: +36[3]    21: +56[6]    31: +76[8]    41: +104[11]M 51: +116[13]  61: +136[16]  
2: +18[1] 12: +38[4]m 22: +58[6] 32: +78[9]m 42: +98[11] 52: +118[14]m 62: +138[16]
3: +20[1] 13: +40[4] 23: +60[6] 33: +88[9]M 43: +100[11] 53: +120[14] 63: +140[16]
4: +22[2]m 14: +42[4] 24: +62[7]m 34: +82[9] 44: +102[12]m 54: +122[14] 64: +142[17]m
5: +24[2] 15: +44[4] 25: +72[7]M 35: +84[9] 45: +104[12] 55: +124[14] 65: +152[17]M
6: +26[2] 16: +46[5]m 26: +66[7] 36: +86[10]m 46: +106[12] 56: +126[15]m 65: +146[17]
7: +28[2] 17: +56[5]M 27: +68[7] 37: +88[10] 47: +108[12] 57: +136[15]M
8: +30[3]m 18: +50[5] 28: +70[8]m 38: +90[10] 48: +110[13]m 58: +130[15]
9: +40[3]M 19: +52[5] 29: +72[8] 39: +92[10] 49: +120[13]M 59: +132[15]
10: +34[3] 20: +54[6]m 30: +74[8] 40: +94[11]m 50: +114[13] 60: +134[16]m
Note: The second "65" is when the beam no longer grows. The number in [brackets] is the beam length in units. Add 1 and multiply by 16 to get the carrying width of the beam. (32 at minimum, 272 at maximum.) m = nearest distance of beam for each length (important when operating on next screen (different than displayed)) M = biggest distance of beam (often the optimal choice for zipping)
Post subject: Re: kolechovski's tricks
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
kolechovski wrote:
http://www.geocities.com/kolechovski/MM/rockman_bugs_fce.zip
I will explain your movie. Upon the movie start, you're very high on the ladder. When you switch weapons, it'll scroll into the boss room because of mere proximity to the screen upper edge (*). When you enter the Elecman room, the game forces that the P1 controller holds the UP button. However, because Megaman is currently performing a transformation, he is unable to climb. Therefore he'll fall out from the room. The battle continues nevertheless. However, when the screen scrolls down, Megaman recovers from the transformation, but he still has the forced UP button. Therefore, he'll automatically climb back into Elecman's lair. Upon entering Elecman's room, the battle starts again, because the room is programmed to start the battle when entered. After dying, you demonstrated the trick I tried explaining to AngerFist a few days back: that you can prolong the transformation indefinitely by hitting START during the transformation. You also demonstrated the vertical early ladder grab. During the battle, the gutsman blocks appeared to be hollow. That's because the game remembers the status of the blocks when they've been taken. However, I don't know why it rendered them although they were taken. This is a visual glitch. As for the "skating" glitch -- I can't improvize an explanation for this one, but I know there's a forced delay when the boss is killed and after that delay it recovers the P1 input and Megaman's current sprite in some weird way, and that this trick is of no practical purpose. Besides Elecman, the only other boss fight that has nonzero forced P1 input (all other fights have forced idle) is Bombman. Bombman's room forces P1 input of DOWN. I don't think transformation can be used to cause a similar glitch in that room. This trick is restricted to Elecman's lair, but it bears no usefulness. Basically, it just forces the battle to continue outside the boss's room, which is something the game does not accept well. For another example of this, see http://www.yuko2ch.net/rockman/r1w3.mpg. *) Or, because you're close to the screen upper edge, and you're on a ladder, and not in "falling" state. The game deduces that the only other option is that you're climbing.
Joined: 1/13/2006
Posts: 109
"Besides Elecman, the only other boss fight that has nonzero forced P1 input (all other fights have forced idle) is Bombman. Bombman's room forces P1 input of DOWN. " -what about the second Wily level, when you climb down into the room where the clone appears? After the screen scrolls down, and the battle music starts, you drop off, so isn't DOWN being forced there, too? As for strange beginning to the Elecman battle, I've been trying a long time, but still haven't found a way to force the screen to scroll up without being in front of the ladder. I'd like to know what would happen if you fell back down, but weren't next to the ladder to grab on to. Would you get stuck at the bottom, with the game trying to constantly make you climb forever, or would it try to make you climb those first couple seconds, then give control back to you after Elec Man's lifeline fills? Looks like fron the video you showed, you would regain control, but I'm not sure when the forced input gets disabled.
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Player (224)
Joined: 10/17/2005
Posts: 399
kolechovski wrote:
-what about the second Wily level, when you climb down into the room where the clone appears? After the screen scrolls down, and the battle music starts, you drop off, so isn't DOWN being forced there, too?
You can fall in air without pressing down. The reason it forces you to press down in Bombman battle is because you can climb ladder down to enter the gate.
<adelikat> I've been quoted with worse
Joined: 1/13/2006
Posts: 109
Hmm, maybe that's a little different then. I screwed more with MM2 than MM1. In MM2, even after you climb down a ladder, and the screen scrolls, you can hang on to the air until you try to move.
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
kolechovski wrote:
what about the second Wily level, when you climb down into the room where the clone appears? After the screen scrolls down, and the battle music starts, you drop off, so isn't DOWN being forced there, too?
You're right. Wily2 has it too.
BossRoomArrivalKeymask ; at $9380   (C,I,B,F,E,G, W1,W2,W3,W4, dummy)
        .byte $00, $00, $20, $00, $10, $00
        .byte $00, $20, $00, $00, $00
kolechovski wrote:
still haven't found a way to force the screen to scroll up without being in front of the ladder.
Neither has anyone else. You need to have a ladder either at the top of the screen, or the bottom of the screen (in which case you need to be standing on a magnet beam with BeamY=11, which forces RockmanY=251). > I'd like to know what would happen if you fell back down, but weren't next to the ladder to grab on to. Would you get stuck at the bottom, with the game trying to constantly make you climb forever, or would it try to make you climb those first couple seconds, then give control back to you after Elec Man's lifeline fills? Looks like fron the video you showed, you would regain control, but I'm not sure when the forced input gets disabled. You'd fall to the bottom. The game gives back the control when Elecman is done with his pose, which is some frames after the meter has filled to full. However, the game may crash soon thereafter, because boss fights weren't written to handle screen scrolling.
Joined: 1/13/2006
Posts: 109
"However, the game may crash soon thereafter, because boss fights weren't written to handle screen scrolling." -I wouldn't be surprised if it crashed, but in the Wily stages, you screen-wrap your way past the bosses, so wouldn't you just be running around below, while Elec Man fires his beam above, in his room? If so, you could always reenter his room, and the battle would restart the right way. -If the game would actually try to bring Elec Man with you, would the game really crash, or would it just pull stunts similar to MM2, where the boss gets all glitchy? You may have noticed that when you fall back down, Elec Man's lifeline begins filling, 2 or 3 units (I'm not sure why it varies), before you make it back up. Since it's too soon for Elec Man to have gone through the process, how does the game define his existence at this moment, while you're on the screen below? Does it instantly place him in his spot, with his pose finished? Or does it leave him non-existent? And one more question about what I've noticed during the screen switch, including in MM2...why does the boss lifeline change color during screen switches?
Life is like a box of chocolates-when you want peanut butter, all you get is coconut.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
kolechovski wrote:
in the Wily stages, you screen-wrap your way past the bosses
Yes. In fact, I tried this technique a long time ago, and it crashed for me. Then Finalfighter demonstrated it and it didn't crash. I copied him, and it didn't crash. I've had plenty of crashes with the first Cutman battle during the making of my hack game for similar reasons. > If the game would actually try to bring Elec Man with you, would the game really crash, or would it just pull stunts similar to MM2, where the boss gets all glitchy? Check out these videos, it has something related to your question. http://tasvideos.org/forum/p/69581#69581 > why does the boss lifeline change color during screen switches? Technical limitations. There are two possible palettes for use by enemies in these two games (Rockman's body and his face(and energy bar) use the other two) . When the screen scrolls, the game sets new palettes according to the enemies that are defined for usable in that screen.