<!--quoteo(post=222535:date=Sep 6 2008, 04:21 PM:name=Overlord)--><div class='quotetop'>QUOTE (Overlord @ Sep 6 2008, 04:21 PM) The water in Launch Octopus's stage is a flat colored blue wall on layer 3 made transparent. Here's how it looks with and without the transparent variable on. You have to change a grand total of 1 color to get everything else in the water to be colored differently.
That's sort of what I'm starting to think. The white city is concept art. Nothing more. I always thought the Hoganmer was the Sniper Joe of the X series. I'd love to see that code implemented into a hack of Megaman X.
This is probably the wrong place for it, but here are the addresses for palette information and loading points in the rom. WALL OF TEXT INCOMING OBJECT PALETTE INFORMATION ---- 2B900-2B91F: X's main palette (no weapon). 2B920-2B93F: Rush Roader's palette. 2B940-2B95F: Hoganmer's palette. 2B960-2B97F: Dodge Blaster's palette. 2B980-2B99F: Sine Faller's palette. 2B9A0-2B9BF: Boomerang Cutter weapon palette. 2B9C0-2B9DF: X's secondary palette. 2B9E0-2B9FF: Flashing color palette. 2BA00-2BA1F: Flammingle's palette. ((2BA20-2BA3F: MYSTERY PALETTE #1)) 2BA40-2BA5F: Planty + Iworm's palette. 2BA60-2BA7F: X Buster weapon palette. 2BA80-2BA9F: Light Capsule palette. 2BAA0-2BADF: Light Capsule glowing palette. 2BAE0-2BAFF: Homing Torpedo weapon palette. 2BB00-2BB1F: Chameleon Sting weapon palette. 2BB20-2BB3F: Large stone block's palette. 2BB40-2BB5F: RT-55J's palette. ((2BB60-2BB7F: MYSTERY PALETTE #2)) 2BB80-2BB9F: Boss door's palette. 2BBA0-2BBBF: Axe Max + Axe wood + falling leaves' palette. 2BBC0-2BBFF: Megaman in Light Capsule flashing palette. 2BC00-2BC1F: Road Attacker's palette. 2BC20-2BC3F: Crusher's palette. 2BC40-2BC5F: Spiky's palette. 2BC60-2BC7F: Sting Chameleon + falling spikes' palette. 2BC80-2BC9F: Bomb Been's palette. ((2BCA0-2BCBF: MYSTERY PALETTE #3)) 2BCC0-2BCDF: Highway breakway platform's palette. 2BCE0-2BCFF: Road Attacker deployer's palette. 2BD00-2BD1F: Gulpfer's palette. 2BD20-2BD3F: Mad Pecker + Creeper's palette. 2BD40-2BD5F: Sea Attacker's palette. 2BD60-2BD7F: Amenhopper's palette. 2BD80-2BD9F: Bee Blader's palette. 2BDA0-2BDBF: Utuboros' palette. 2BDC0-2BDDF: Ball De Voux's palette. 2BDE0-2BDFF: Gun Volt's palette. 2BE00-2BE1F: Anglerge parts + snake missile's palette. 2BE20-2BE3F: Boss intro lightning's palette. 2BE40-2BE5F: Death Rogumer cannon's palette. 2BE60-2BE5F: Heart Tank palette. 2BE80-2BE9F: Utuboros sand cloud's palette. 2BEA0-2BEBF: Highway car's palette. 2BEC0-2BEDF: Highway trailer trucks's palette. 2BEE0-2BEFF: Highway van's palette. 2BF00-2BF1F: Final Form Sigma head + eyes + claws' palette. 2BF20-2BF9F: Final Form Sigma's fade-in palette. 2BFA0-2BFBF: Final Form Sigma's flames + sparks' palette. 2BFC0-2BFDF: Jellyfish enemy's palette. [UNUSED] 2BFE0-2BFFF: Cruiziler parts' palette. 2C000-2C01F: Stage select cursor + map screen dot's palette. 2C020-2C03F: Storm Tornado weapon palette. 2C040-2C05F: Scrap Robo + Broken Utuboros head's palette. 2C060-2C07F: Scrap Robo + Broken Utuboros head's melting palette. 2C080-2C09F: Mine cart platform's palette. 2C0A0-2C0BF: Shotgun Ice weapon palette. 2C0C0-2C0DF: Fire Wave weapon palette. 2C0E0-2C0FF: Electric Spark weapon palette. 2C100-2C11F: Rolling Shield weapon palette. 2C120-2C19F: Charged Rolling Shield weapon palette. 2C1A0-2C2BF: Mole Borer's palette. 2C1C0-2C1DF: Pink Ride Armor + Pink Armor Soldier's palette. 2C1E0-2C1FF: Bat Bone's palette. 2C200-2C21F: Batton M-501's palette. 2C220-2C23F: Met C-15 + password cursor's palette. 2C240-2C25F: Crag Man + small stone block + Forest rubble's palette. 2C260-2C27F: Dig Labour + factory rubble's palette. 2C280-2C29F: Unknown (Duplicate Dig Labour palette.) 2C2A0-2C2BF: Vile + Vile's first ride armor's palette. 2C2C0-2C2DF: Zero's palette. 2C2E0-2C31F: Zero's Beta charging palette? 2C320-2C33F: Zero's charged shot's palette. 2C340-2C37F: Password screen number's palette. 2C380-2C39F: Password screen cursor's palette. 2C3A0-2C3BF: Hotarion's palette. 2C3C0-2C3DF: Metal Wing's palette. 2C3E0-2C3FF: Conveyor belt crusher's palette. 2C400-2C41F: Jamminger's palette. ((2C420-2C43F: MYSTERY PALETTE #4)) 2C440-2C45F: Airport conveyor platform's palette. 2C460-2C47F: Flamer + floating platform's palette. 2C480-2C49F: Thunder Slimer's palette. 2C4A0-2C4BF: Armored Armadillo + spark palette. 2C4C0-2C51F: Armored Armadillo's charging palette. 2C520-2C53F: Armored Armadillo's rubble palette. 2C540-2C55F: Tombot's palette. 2C560-2C57F: Thunder Slimer's slime blob + electric bolt's palette. 2C580-2C59F: Chill Penguin palette. 2C5A0-2C5BF: Chill Penguin's iceball + sculpture palette. 2C5C0-2C5DF: Unknown (Duplicate Chill Penguin palette, unused) 2C5E0-2C5FF: Unknown (Chill Penguin palette, but all colors are black) 2C600-2C61F: Slide Cannon + sliding platform's palette. 2C620-2C63F: Spring's palette. 2C640-2C65F: X's charged palette. 2C660-2C67F: X's supercharged palette. 2C680-2C69F: Floating laser trap + laser's palette. 2C6A0-2C6BF: Boomer Kuwanger + boomerang palette. 2C6C0-2C6DF: Boomer Kuwanger's afterimage palette. 2C6E0-2C6FF: Launch Octopus + Homing Torpedo's palette. 2C700-2C73F: Launch Octopus' E.Drain palette. 2C740-2C75F: Launch Octopus' fish missile palette. 2C760-2C77F: Launch Octopus' twister palette. 2C780-2C79F: Ladder Yadder's palette. ((2C7A0-2C7BF: MYSTERY PALETTE #5)) 2C7C0-2C7DF: Tower elevator platform's palette. 2C7E0-2C7FF: Power plant spark's palette. 2C800-2C81F: Flame pillar's palette. 2C820-2C83F: Dummy palette (Palette is completely black) 2C840-2C85F: Shattering glass pane's palette. 2C860-2C87F: Dummy palette (Palette is black except for transparent color) 2C880-2C89F: Sky Claw's palette. 2C8A0-2C8BF: Cruiziler missile's palette. 2C8C0-2C8DF: Flame Mammoth + oil + flame's palette. 2C8E0-2C8FF: Unknown (Duplicate Flame Mammoth palette. Used for trunk?) 2C900-2C91F: Flame Mammoth's oil fire palette. 2C920-2C93F: Rolling Gabyool + lava drip's palette. 2C940-2C95F: Ray Bit's palette. ((2C960-2C97F: MYSTERY PALETTE #6)) 2C980-2C99F: Snow Shooter's palette. 2C9A0-2C9BF: Storm Eagle + eagret palette. 2C9C0-2C9DF: Storm Eagle's Storm Tornado palette. 2C9E0-2C9FF: Rolling snowball's palette. 2CA00-2CA1F: Turn Cannon + Turn Cannon's floating platform's + long pillar's palette. ((2CA20-2CA3F: MYSTERY PALETTE #7)) 2CA40-2CA5F: Spark Mandrill's palette. 2CA60-2CA7F: Spark Mandrill's frozen palette. 2CA80-2CA9F: Spark Mandrill's Electric Spark palette. 2CAA0-2CABF: Spark Mandrill's groundshock palette. 2CAC0-2CADF: Igloo rubble's palette. 2CAE0-2CAFF: Green Ride Armor + Green Armor Soldier's palette. 2CB00-2CB1F: Mega Tortoise's palette. 2CB20-2CB3F: Velguarder + flames' palette. 2CB40-2CB5F: Velguarder's spark palette. 2CB60-2CB7F: Rangda Bangda green eye + nose's palette. 2CB80-2CB9F: Rangda Bangda blue eye's palette. 2CBA0-2CBBF: Rangda Bangda red eye's palette. 2CBC0-2CBDF: Rangda Bangda closing wall's palette. 2CBE0-2CC5F: Rangda Bangda fading in palette. 2CC60-2CC7F: Vile's cage's force field + cage parts' palette. 2CC80-2CC9F: Bospider + Bospider baby's palette. 2CCA0-2CCBF: Bospider's retracting thread palette. 2CCC0-2CCDF: D-Rex's head palette. 2CCE0-2CCFF: D-Rex plasma ball's palette. 2CD00-2CD1F: D-Rex's charging palette. 2CD20-2CD3F: Sigma's palette. 2CD40-2CD5F: Sigma's cape palette. ((2CD60-2CD7F: MYSTERY PALETTE #8)) 2CD80-2CD9F: X specification screen analyzer's palette. 2CDA0-2CDBF: Airport rubble's palette. 2CDC0-2CDDF: Mine small rubble's palette. 2CDE0-2CDFF: Sigma's flying fortress explosion + splash's palette. 2CE00-2CE1F: Sigma's flying fortress' palette. 2CE20-2CE3F: Vile's second ride armor's palette. 2CE40-2CE5F: X's Homing.T palette. 2CE60-2CE7F: X's C.Sting palette. 2CE80-2CE9F: X's S.Ice palette. 2CEA0-2CEBF: X's B.Cutter palette. 2CEC0-2CEDF: X's Storm.T palette. 2CEE0-2CEFF: X's E.Spark palette. 2CF00-2CF1F: X's Fire.W palette. 2CF20-2CF3F: X's R.Shield palette. 2CF40-2D03F: Chameleon Sting rotating color palette. 2D040-2D05F: "Weapon Acquired" X's Homing.T object palette. 2D060-2D07F: "Weapon Acquired" X's C.Sting object palette. 2D080-2D09F: "Weapon Acquired" X's Storm.T object palette. 2D0A0-2D0BF: "Weapon Acquired" X's Fire.W object palette. 2D0C0-2D0DF: "Weapon Acquired" X's R.Shield object palette. 2D0E0-2D0FF: "Weapon Acquired" X's E.Spark object palette. 2D100-2D11F: "Weapon Acquired" X's B.Cutter object palette. 2D120-2D13F: "Weapon Acquired" X's S.Ice object palette. BACKGROUND PALETTE INFORMATION ---- 2D140-2D15F: "Weapon Acquired" X's Homing.T object palette. 2D160-2D17F: "Weapon Acquired" X's C.Sting background palette. 2D180-2D19F: "Weapon Acquired" X's Storm.T background palette. 2D1A0-2D1BF: "Weapon Acquired" X's Fire.W background palette. 2D1C0-2D1DF: "Weapon Acquired" X's R.Shield background palette. 2D1E0-2D1FF: "Weapon Acquired" X's E.Spark background palette. 2D200-2D21F: "Weapon Acquired" X's B.Cutter background palette. 2D220-2D23F: "Weapon Acquired" X's S.Ice background palette. 2D240-2D25F: "Weapon Acquired" R.shield device palette. 2D260-2D27F: "Weapon Acquired" C.Sting device palette. 2D280-2D29F: "Weapon Acquired" E.Spark device palette. 2D2A0-2D2BF: "Weapon Acquired" Fire.W device palette. 2D2C0-2D2DF: "Weapon Acquired" S.Ice device palette. 2D2E0-2D2FF: "Weapon Acquired" Homing.T device palette. 2D300-2D31F: "Weapon Acquired" B.Cutter device palette. 2D320-2D33F: "Weapon Acquired" Storm.T device palette. 2D340-2D37F: Dialogue palette. 2D380-2D47F: Sting Chameleon stage main palette. 2D480-2D57F: Armored Armadillo stage main palette. 2D580-2D67F: Flame Mammoth stage main palette (lava). 2D680-2D71F: Title screen palette. 2D720-2D81F: Highway stage palette. 2D820-2D83F: Storm Eagle alt. palette #1. 2D840-2D87F: Highway stage alt. palette #2. 2D880-2D89F: Highway stage alt. palette #1. 2D8A0-2D91F: Large Capcom logo flashing palette. 2D920-2DA1F: Launch Octopus stage main palette. 2DA20-2DADF: Boss intro screen palette. 2DAE0-2DAFF: Launch Octopus alt. palette #2. 2DB00-2DB7F: Launch Octopus cycling water palette. 2DB80-2DBBF: Launch Octopus alt. palette #4. 2DBC0-2DBFF: Launch Octopus alt. palette #1. 2DC00-2DC1F: Launch Octopus alt. palette #3. 2DC20-2DCBF: Stage select main palette. 2DCC0-2DCDF: Stage select map picture palette. 2DCE0-2DCFF: Stage select boss spec palette. 2DD00-2DD1F: Stage select Megaman X icon palette. 2DD20-2DD3F: Title screen small Capcom logo palette. 2DD40-2DD5F: Launch Octopus stage picture palette. 2DD60-2DD7F: Armored Armadillo stage picture palette. 2DD80-2DD9F: Sting Chamleon stage picture palette. 2DDA0-2DDBF: Flame Mammoth stage picture palette. 2DDC0-2DDDF: Storm Eagle stage picture palette. 2DDE0-2DDFF: Chill Penguin stage picture palette. 2DE00-2DE1F: Spark Mandrill stage picture palette. 2DE20-2DE3F: Boomer Kuwanger stage picture palette. 2DE40-2DF3F: Storm Eagle stage main palette. 2DF40-2DFFF: Sting Chameleon alt. palette #1. 2E000-2E0BF: Sting Chameleon alt. palette #2. 2E0C0-2E0DF: Armored Armadillo alt. rock palette [UNUSED] 2E0E0-2E1DF: Weapons / Password screen palette. 2E1E0-2E29F: Sting Chameleon boss room palette. 2E2A0-2E2FF: Armored Armadillo alt. palette #1. 2E300-2E35F: Armored Armadillo cycling waterfall background palette. 2E360-2E3DF: Armored Armadillo cycling water background palette. 2E3E0-2E4DF: Spark Mandrill stage main palette. 2E4E0-2E5DF: Chill Penguin stage main palette. 2E5E0-2E63F: Flame Mammoth cycling lava + conveyor belt palette. 2E640-2E65F: Flame Mammoth alternate palette #1. 2E660-2E7DF: Flame Mammoth cycling lights + lava river palette. 2E7E0-2E83F: Options menu palette. 2E840-2E93F: Boomer Kuwanger stage main palette. 2E940-2E9FF: Storm Eagle cycling conveyor belt + clouds palette. 2EA00-2EA3F: Storm Eagle alternate palette #2. 2EA40-2EADF: Storm Eagle cycling light palette. 2EAE0-2EAFF: "Weapon Acquired" regular X palette. 2EB00-2EB1F: "Weapon Acquired" border palette. 2EB20-2EB3F: "Weapon Acquired" flashing device palette. 2EB40-2EB5F: Chill Penguin alt. palette #1. 2EB60-2EBBF: Chill Penguin alt. palette #2. 2EBC0-2ECBF: Boomer Kuwanger alt. palette #1. 2ECC0-2ECFF: Spark Mandrill cycling yellow electricity palette. 2ED00-2ED5F: Spark Mandrill cycling green electricity palette. 2ED60-2ED7F: Spark Mandrill alt. palette #1. 2ED80-2EDBF: Spark Mandrill alt. palette #2. 2EDC0-2EEBF: Sigma Stage 1 main palette. 2EEC0-2EFBF: Sigma Stage 2 main palette. 2EFC0-2F0BF: Flame Mammoth stage main palette (Frozen). 2F0C0-2F0DF: Stage select Sigma icon palette. 2F0E0-2F0FF: Sigma stage picture palette. 2F100-2F1FF: Sigma Stage 3 main palette. 2F200-2F23F: Sigma Stage 3 cycling water palette. 2F240-2F29F: Sigma Stage 3 conveyor belt palette. 2F2A0-2F2BF: Sigma Stage 3 alt. palette #1. 2F2C0-2F2DF: Sigma Stage 3 D-Rex body flashing palette. 2F2E0-2F3DF: Sigma Stage 4 main palette. 2F3E0-2F45F: Boss Intro Sigma symbol fading palette. 2F460-2F4BF: Sting Chameleon cycling water palette. 2F4C0-2F4FF: <DUMMY PALETTE> 2F500-2F53F: Flame Mammoth cycling lava + conveyor belt palette (Frozen). 2F540-2F57F: Sigma Stage 1 flashing light palette. 2F580-2F63F: Sigma Stage 1 alt. palette #1. 2F640-2F69F: Sigma Stage 2 cycling light palettes. 2F6A0-2F6DF: Sigma Stage 2 alt. palette #3. 2F6E0-2F6FF: Sigma Stage 2 att. palette #4. 2F700-2F73F: Sigma Stage 2 alt. palette #1. 2F740-2F77F: <DUMMY PALETTE> 2F780-2F79F: Megaman X specification screen green outline palette. 2F7A0-2F83F: <DUMMY PALETTE> 2F840-2F89F: Megaman X specification screen fading palette. 2F8A0-2F8BF: Megaman X specification screen palette. 2F8C0-2F8DF: Spark Mandrill shut-off yellow electricity palette. 2F8E0-2F8FF: Spark Mandrill shut-off green electricity palette. 2F900-2F91F: Spark Mandrill plane wreckage palette. 2F920-2F93F: Sigma Stage 1 alt. palette #2. 2F940-2F95F: Sigma Stage 1 alt. palette #3. 2F960-2F97F: Sigma Stage 1 alt. palette #4 (8 bosses defeated cutscene). 2F980-2FA5F: Sigma Stage 2 brightening background palette. 2FA60-2FA7F: Sigma Stage 2 alt. palette #2. 2FA80-2FAFF: Sigma Stage 2 fade-in boss palette. 2FB00-2FCFF: Sigma Stage 4 fade-in boss palette. 2FD00-2FE5F: Cast roll fading foreground palette. 2FE60-2FFFF: Cast roll fading background palette. 30000-3001F: Dr. Light warning screen palette. 30020-3003F: Credits palette. 30040-3007F: Ending cutscene palette. 30080-300FF: Ending cutscene flashing cliff palette. 30100-3019F: Credits fading palette. 301A0-301FF: <EMPTY> LOADING POINTS ---- The loading point format is as follows, where A represents a hexidecimal number: ABCDDEEFFGGHHIIJJKKLLMMNNOOPQ A = Object loader value. Values do different things in different levels. B = Tile loader value. C = Palette loader value. D = X location of Megaman X. E = Y location of Megaman X. F = X location of left side of screen. G = Y location of bottom side of screen. H = X offset of background. Background is moved to the left by HH pixels before X appears onscreen. I = Y offset of background. Background is moved up by II pixels. J = Border for left side of screen. The screen cannot move past this point, nor can X. K = Border for right side of screen. L = Border for top side of screen. M = Border for bottom side of screen. N = Forced X offset. Differs from H in that the background will not try to correct itself based on X's position. It's also applied after X appears on screen, not before. O = Forced Y offset. P = Background scrolling modifier. Affects how background scrolls. Needs more research. Q = Teleport modifier. Affects how far down X goes after he has been teleported. 329F2-32A0E: Loading point #1 (Highway stage) 32A0F-32A2B: Loading point #2 (Highway stage) 32A2C-32A48: Loading point #3 (Highway stage) 32A49-32A65: Loading point #4 (SPECIAL: Cast roll) 32A66-32A82: Loading point #1 (Launch Octopus) 32A83-32A9F: Loading point #2 (Launch Octopus) 32AA0-32ABC: Loading point #3 (Launch Octopus) 32ABD-32AD9: Loading point #1 (Sting Chameleon) 32ADA-32AF6: Loading point #2 (Sting Chameleon) 32AF7-32B13: Loading point #3 (Sting Chameleon) 32B14-32B30: Loading point #1 (Armored Armadillo) 32B31-32B4D: Loading point #2 (Armored Armadillo) 32B4E-32B6A: Loading point #3 (Armored Armadillo) 32B6B-32B87: Loading point #1 (Flame Mammoth) 32B88-32BA4: Loading point #2 (Flame Mammoth) 32BA5-32BC1: Loading point #3 (Flame Mammoth) 32BC2-32BDE: Loading point #1 (Storm Eagle) 32BDF-32BFB: Loading point #2 (Storm Eagle) 32BFC-32C18: Loading point #3 (Storm Eagle) 32C19-32C35: Loading point #1 (Spark Mandrill) 32C36-32C52: Loading point #2 (Spark Mandrill) 32C53-32C6F: Loading point #3 (Spark Mandrill) 32C70-32C8C: Loading point #1 (Boomer Kuwanger) 32C8D-32CA9: Loading point #2 (Boomer Kuwanger) 32CAA-32CC8: Loading point #3 (Boomer Kuwanger) 32CC7-32CE3: Loading point #1 (Chill Penguin) 32CE4-32D00: Loading point #2 (Chill Penguin) 32D01-32D1D: Loading point #3 (Chill Penguin) 32D1E-32D3A: Loading point #1 (Sigma stage 1) 32D3B-32D57: Loading point #2 (Sigma stage 1) 32D58-32D74: Loading point #3 (Sigma stage 1) 32D75-32D91: Loading point #4 (SPECIAL: 8 bosses defeated cutscene) 32D92-32DAE: Loading point #5 (Sigma stage 1) 32DAF-32DCB: Loading point #1 (Sigma stage 2) 32DCC-32DE8: Loading point #2 (Sigma stage 2) 32DE9-32E05: Loading point #3 (Sigma stage 2) 32E06-32E22: Loading point #4 (Sigma stage 2) 32E23-32E3F: Loading point #1 (Sigma stage 3) 32E40-32E5C: Loading point #2 (Sigma stage 3) 32E5D-32E79: Loading point #3 (Sigma stage 3) 32E7A-32E96: Loading point #4 (Sigma stage 3) 32E97-32EB3: Loading point #5 (Sigma stage 3) 32EB4-32ED0: Loading point #6 (Sigma stage 3) 32ED1-32EED: Loading point #1 (Sigma stage 4) 32EEE-32EEF: Loading pointer (Highway stage) 32EF0-32EF1: Loading pointer (Launch Octopus) 32EF2-32EF3: Loading pointer (Sting Chameleon) 32EF4-32EF5: Loading pointer (Armored Armadillo) 32EF6-32EF7: Loading pointer (Flame Mammoth) 32EF8-32EF9: Loading pointer (Storm Eagle) 32EFA-32EFB: Loading pointer (Spark Mandrill) 32EFC-32EFD: Loading pointer (Boomer Kuwanger) 32EFE-32EFF: Loading pointer (Chill Penguin) 32F00-32F01: Loading pointer (Sigma Stage 1) 32F02-32F03: Loading pointer (Sigma Stage 2) 32F04-32F05: Loading pointer (Sigma Stage 3) 32F06-32F07: Loading pointer (Sigma Stage 4)
Since this is in Technical Discussion now, here's a preliminary and very incomplete map of Megaman X's RAM. LowRAM ------ 7E003B: Start Screen counter. 1 byte. Counts down from 255 at the title screen. When it reaches 0, there is a fade out and the intro sequence starts again. The counter is reset to 234 when a new option is selected. 7E003C: Start Screen option. 1 byte. Used to determine which mode is selected. 00: Start game. 01: Password screen. 02: Options menu. 7E00B3: Fader variable. 1 byte. Used to fade in and out of different screens. At 15, the screen will be at full brightness. At 0, the screen will be completely black. 7E00B4: Layer 1 X value. 2 bytes. Used to move and position the 1st BG layer. The X position of the left side of the layer is (X value of bottom border - Layer 1 X value). 7E00B6: Layer 1 Y value. 2 bytes. Used to move and position the 1st BG layer. The Y position of the top of the layer is (Y value of right border - Layer 1 Y value). 7E00B8: Layer 2 X value. 2 bytes. 7E00BA: Layer 2 Y value. 2 bytes. 7E00BC: Layer 3 X value. 2 bytes. 7E00BE: Layer 3 Y value. 2 bytes. 7E00C0: Layer toggle. 1 byte. Uses bit checks to determine what layers to display. 01: Display layer 1. 02: Display layer 2. 04: Display layer 3. 08: Display layer 4 [UNUSED] 10: Display sprites. 7E00C1: Opaque variable. 1 byte. Used to determine what layers NOT to make transparent when the level uses layer transparency. 01: Make layer 1 opaque. 02: Make layer 2 opaque. 04: Make layer 3 opaque. 08: Make layer 4 opaque [UNUSED]. 10: Make sprite layer opaque. 7E00CA: Palette effect variable. 1 byte. Used to control the palette effect settings in a stage. Uses variables 7E00CB-7E00CD to determine how to affect palette colors. Checks bits to determine what layers to affect. When the dark bit is set, the variables subtract from the palette values instead of adding to them. 01: Apply to layer 1. 02: Apply to layer 2. 04: Apply to layer 3. 08: ??? 10: Apply to objects (excluding Megaman X) 20: ??? 40: Apply palette effect below transparent layer Y value. 80: Dark bit. 7E00CB: Blue palette effect variable. 1 byte. 7E00CC: Green palette effect variable. 1 byte. 7E00CD: Red palette effect variable. 1 byte. HighRAM ------- 7E0300-7E03FF: Layers 1 & 2 palette. 2 bytes per color. 128 colors (1 transparent) divided between the foreground layer and the background layer. If dialogue needs to be loaded, the dialogue palette will ALWAYS occupy the first two rows (300-33F) of the palette. 7E0400-7E041F: Hit palette / Sprite palette #1. 2 bytes per color. This palette is used intermittently with the normal palette of every enemy and boss in the game to indicate that something has been hit. It is only used as a main palette by the particles that go into X when he begins to charge his buster. 7E0420-7E043F: X's main palette / Sprite palette #2. 2 bytes per color. Palette information for the main palette in the game. This palette is used exclusively for the X sprite and the 1-up item. 7E0440-7E045F: X's secondary palette / Sprite palette #3. 2 bytes per color. This palette is used by X's health bar, the glowing particles from his charged effect, buster shots, and energy and weapon capsules. 7E0460-7E047F: X's weapon palette / Sprite palette #4. 2 bytes per color. This palette is used by X's weapons bar, the particles generated to indicate the buster has been supercharged, and all of X's weapons, discluding the uncharged buster shots. 7E0480-7E049F: Sprite palette #5. 2 bytes per color. Changes on the objects loaded in a stage. 7E04A0-7E04BF: Sprite palette #6. 2 bytes per color. 7E04C0-7E04DF: Sprite palette #7. 2 bytes per color. 7E04E0-7E04FF: Sprite palette #8. 2 bytes per color. 7E0BAD: Current X position of Megaman X. 2 bytes. 7E0BB0: Current Y position of Megaman X. 2 bytes. 7E0BBD: Number of own shots on screen. 1 byte. Default is 0. L/R weapon changing is disabled at any number higher than 0. Going to the start menu and choosing a weapon sets the value to zero and clears all own projectiles before switching to weapon. Max number of shots per weapon: Buster: 3 H.Torpedo: 2 C.Sting: 4 (1 for initial burst, 3 for sting) R.Shield: 1 F.Wave: 5 Storm T.: 1 E.Spark: 6 (3 for initial shot, 3 for wall shot) B.Cutter: 3 7E0BC5: X vertical acceleration. 1 byte. Measured in pixels. Determines how to push Megaman up/down when he is not on the ground. Values above 128 will push Megaman down, others will push him upwards. 7E0BC6: X gravity. 1 byte. Determines at what point Megaman's vertical acceleration declines. Default is 64, 33 underwater. 7E0BCF: Current health. 1 byte. The cap on health is determined by the maximum health value. Once health reaches 0, X will die. Control is taken away from the player when health reaches 0. Upon spawning, this value is set to the current max health value, unless it is greater than 32, in which case it is set to 32. 7E0BD8: Just Hit counter. 1 byte. Default value is 0. After being hit by an enemy, the value is set to 8 and Megaman can't be hit again. 7E0BDB: Current weapon. 1 byte. 00: X.Buster (default) 02: Homing.T 04: C.Sting 06: R.Shield 08: Fire.W 0A: Storm.T 0C: E.Spark 0E: B.Cutter 10: S.Ice 12: Storm.T (duplicate? Charged shot does nothing) 14: Charged Homing.T 16: Charged C.Sting 18: Charged R.Shield 1A: Charged Fire.W 1C: Charged Storm.T 1E: Charged E.Spark 20: Charged B.Cutter 22: Charged S.Ice 24: Storm.T (duplicate? Charged shot does nothing) 7E0BDF: Button lock. 1 byte. Uses a bitcheck to determine what button has been pressed. When the value is set, the button can't be pressed again. Value is set to 0 after action is performed. 01: Right button. 02: Left button. 04: Down button. 08: Up button. 10: Start button. 20: ??? 40: Shoot button. 80: Jump button. 7E0BF8: Buster pointing modifier. 1 byte. Default value is 255. When the shoot button is pushed, X's buster pointing animations are used and the value is set to 15. After counting down to 0, X is set back to his animations that don't show the X buster. 7E0BFA: Dash modifier? 1 byte. 7E0C03: Current charge level. 1 byte. 00: Uncharged shot. 01: Supercharged shot. This is the only value a boss weapon can be charged to, it is otherwise 0. 02: Charged. 03: Midcharged. 7E0C05: Jump speed modifier. 1 byte. Controls how fast X can move horizontally while jumping. Default is 1 while walking and 3 while dashing. Different values are possible when jumping from moving objects. 7E0C11: Current direction. 1 byte. If Megaman X is facing right, then the 64 bit is toggled. Otherwise the value is 0. 00: Left 40: Right 7E0C13: Flash counter. 1 byte. Counter is set to 60 after X complete his being hit animation. The value is subtracted steadily until it reaches 0. When the value is greater than 1, X will flash on the screen and not take damage. When the counter reaches 1, the Just Hit counter is set to 0. 7E0E68: Object presence of first object on screen. 1 byte. At 0, the object will not appear on screen and cannot be interacted with. 7E0E69: Generic object variable. 1 byte. 7E0E6A: Generic object variable. 1 byte. 7E0E6B: Generic object variable. 1 byte. 7E0E6D: X position of first object on screen. 2 bytes. 7E0E70: Y position of first object on screen. 2 bytes. 7E0E72: Object ID. 1 byte. 7E0E73: Object subID. 1 byte. 7E0E7B: Frame delay of first object on screen. 1 byte. 7E0E7F: Frame number of first object on screen. 1 byte. 7E0E8F: HP of first object on screen. 1 byte. 7E0E90: Projectile reflect bit. 1 byte. At 0, this object will reflect all projectiles and take no damage. Otherwise, this object will destroy projectiles and take damage appropriately. 7E0E9B: Generic object variable. 1 byte. 7E0E9C: Generic object variable. 1 byte. 7E0E9D: Generic object variable. 1 byte. 7E0E9E: Generic object variable. 1 byte. 7E0EAD: X position of second object on screen. 2 bytes. 7E0EB0: Y position of second object on screen. 2 bytes. 7E0EBB: Frame delay of second object on screen. 1 byte. 7E0ECF: HP of second object on screen. 1 byte. 7E122C: X variable of first shot from player. 1 byte. 7E1242: Horizontal accelerator of shot #1. 1 byte. This number is set depending on what type of shot is used. It increases (or decreases, depending on the direction) until it reaches 255, at which it flips back to 0 and it stops affecting the speed of the shot. 7E1243: Horizontal speed of shot #1. 1 byte. The speed of the first shot from the player, measured in pixels. If the 128 bit is toggled the shot moves to the left at a speed of (256 - VAR). Otherwise the shot moves at VAR speed to the right. 7E1244: Vertical acceleration of shot #1. 1 byte. 7E1245: Vertical speed of shot #1. 1 byte. Vertical speed, measured in pixels. If the 128 bit is toggled the shot moves up at a speed of (256 - VAR). Otherwise the shot moves at VAR speed downwards. Note that only shots that can move up and down use this bit. 7E1247: Starting acceleration speed? 7E125F: Shot #1 variable. 1 byte. 7E1262: Shot #1 variable. 1 byte. 7E1282: Horizontal acceleration of shot #2. 1 byte. 7E1283: Horizontal speed of shot #2. 1 byte. 7E1284: Vertical acceleration of shot #2. 1 byte. 7E1285: Vertical speed of shot #2. 1 byte. 7E143B: Stage select map locator frame number. 1 byte. 7E168D: Simple object #1 X coordinate. 2 bytes. 7E1690: Simple object #1 Y coordinate. 2 bytes. 7E193C: Sting Chameleon water palette cycling handler. 1 byte. Values range from 220 to 226. Used to animate the top of the water in the Sting Chameleon stage. 7E1CED: X position of READY text. 2 bytes. 7E1E4B: Stage select information mode. 1 byte. 00: Area image (default) 02: Map screen. 04: Boss information. 7E1E5E: Stage select boss spec toggle. 1 byte. Determines whether to display text when the cursor is over an icon in the stage select with Spec mode on. When switching over to the next icon, the 1 bit is set briefly before determining if text should be displayed, and the text on screen is paused. If it should display text, the 128 bit is set and any text remaining on screen is cleared. Otherwise the 1 bit is unset and no text is displayed. 00: False 01: Switching 81: True 7E1E5F: Stage select boss spec number. 1 byte. This value is used to lookup and display the boss specifications in the main screen of the stage select. It is only used when Spec mode has been selected. Text will not be displayed if the boss spec value's 128 bit has not been set. 00: Launch Octopus 01: Sting Chameleon 02: Armored Armadillo 03: Flame Mammoth 04: Storm Eagle 05: Spark Mandrill 06: Boomer Kuwanger 07: Chill Penguin 7E1E60: Password screen number #1. 1 byte. First number on the password screen (Going left to right, then down). 00: 1 01: 2 02: 3 03: 4 04: 5 05: 6 06: 7 07: 8 7E1E61: Password screen number #2. 1 byte. 7E1E62: Password screen number #3. 1 byte. 7E1E63: Password screen number #4. 1 byte. 7E1E64: Password screen number #5. 1 byte. 7E1E65: Password screen number #6. 1 byte. 7E1E66: Password screen number #7. 1 byte. 7E1E67: Password screen number #8. 1 byte. 7E1E68: Password screen number #9. 1 byte. 7E1E69: Password screen number #10. 1 byte. 7E1E6A: Password screen number #11. 1 byte. 7E1E6B: Password screen number #12. 1 byte. 7E1E5C: Downward scrolling thing. 2 bytes. 7E1E70: Upward scrolling modifier. 1 byte. Specifies the number of pixels needed between the player and the top side of the screen to scroll up. Default is 96. 7E1E72: Downward scrolling modifier. 1 byte. Specifies the number of pixels needed between the player and the top side of the screen to scroll down. Default is 128. 7E1E74: Left scrolling modifier. 1 byte. Specifies the number of pixels needed between the player and the left side of the screen to scroll to the left. Default is 128. 7E1E76: Right scrolling modifier. 1 byte. Specifies the number of pixels needed between the player and the left side of the screen to scroll to the left. Default is 128. 7E1ED2: Weapon Screen selected item variable. 1 byte. 00: X. Buster 01: Homing.T 02: C.Sting 03: R.Shield 04: Fire.W 05: Storm.T 06: E.Spark 07: B.Cutter 08: S.Ice 09: Escape.U 0A: Sub Tank #1 0B: Sub Tank #2 0C: Sub Tank #3 0D: Sub Tank #4 7E1F7A: Level ID. 1 byte. 00: Highway stage. 01: Launch Octopus. 02: Sting Chameleon. 03: Armored Armadillo. 04: Flame Mammoth. 05: Storm Eagle. 06: Spark Mandrill. 07: Boomer Kuwanger. 08: Chill Penguin. 09: Sigma Stage 1. 0A: Sigma Stage 2. 0B: Sigma Stage 3. 0C: Sigma Stage 4. 7E1F80: Current number of lives. 1 byte. Game gives you three lives at the start. The number of lives is capped at value 09. 7E1F83: First subtank check + energy level. 1 byte. Game checks 128 bit to determine whether or not the subtank has been collected. The energy level of the subtank is added to that. Maximum energy level is 14. 7E1F84: Second subtank check + energy level. 1 byte. 7E1F85: Third subtank check + energy level. 1 byte. 7E1F86: Fourth subtank check + energy level. 1 byte. 7E1F88: Homing.T Weapon level. 1 byte. Default is 92. Decreases by 1 every 2 times the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F8A: C.Sting Weapon level. 1 byte. Default is 92. Decreases by 1 every 2 times the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F8C: R.Shield Weapon level. 1 byte. Default is 92. Decreases by 1 every time the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F8E: F.Wave Weapon level. 1 byte. Default is 92. Decreases by 1 every 0.5 seconds the shot button is held. When the counter reaches 64, the weapon cannot be fired. 7E1F90: Storm.T Weapon level. 1 byte. Default is 92. Decreases by 1 every time the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F92: E.Spark Weapon level. 1 byte. Default is 92. Decreases by 1 every time the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F94: B.Cutter Weapon level. 1 byte. Default is 92. Decreases by 1 every time the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F96: S.Ice Weapon level. 1 byte. Default is 92. Decreases by 1 every time the shot button is pressed. When the counter reaches 64, the weapon cannot be fired. 7E1F98: Exit "Weapon" level. 1 byte. Default is 220. This is the energy level displayed on the menu screen. Any value below 192 will cause the exit "weapon" to disappear. 7E1F99: X upgrades. 1 byte. Default is 0. Game checks bits to determine what upgrades X has. That bit is added to the address after X enters the appropriate Light capusle. 00: No upgrades. 01: Head upgrade. 02: Buster upgrade. 03: Head + Buster upgrades. 04: Armor upgrade. 05: Head + Armor upgrades. 06: Buster + Armor upgrades. 07: Head + Buster + Armor upgrades. 08: Leg upgrade. 09: Head + Leg upgrades. 0A: Buster + Leg upgrades. 0B: Head + Buster + Leg upgrades. 0C: Armor + Leg upgrades. 0D: Head + Armor + Leg upgrades. 0E: Buster + Armor + Leg upgrades. 0F: Head + Buster + Armor + Leg upgrades. 7E1F9A: Max health. 1 byte. Value is set at 16 at the beginning of the game, and is increased by 2 with every heart tank. There is a soft cap at 32. 7E1F9B: Intro variable. 1 byte. Value is default at 0. At the end of the intro stage this value is set to 4. Extended RAM ------------ 7EFF80: Options menu variable. 1 byte. Used to determine what option is selected on the options menu. 00: Shot button. 01: Jump button. 02: Dash button. 03: Select_L button. 04: Select_R button. 05: Menu button. 06: Stereo/Mono option. 07: BGM test. 08: S.E. test. 09: Exit. 7EFFC0: Shot button variable. 1 byte. 00: * (No button selected). 01: Start. 02: Select. 04: R button. 08: L button. 10: X button. 20: A button. 40: Y button. 80: B button. 7EFFC1: Jump button variable. 1 byte. 7EFFC2: Dash button variable. 1 byte. 7EFFC3: Select_L button variable. 1 byte. 7EFFC4: Select_R button variable. 1 byte. 7EFFC5: Menu button variable. 1 byte. 7EFFC8: Options menu BGM selection. 1 byte. 7EFFC9: Options menu S.E. selection. 1 byte. 7EFFCA: Options menu Stereo/Mono variable. 1 byte. F7: Stereo. F8: Monoraul.
Hey guys I can palette hack. This is from a hack that turns the game into a Boss Rush. So far the only major things edited are the loading points for levels and the highway stage's palette, but as I learn more about hacking the Megaman X engine I hope to add a scoring system as well. Unfortunately I don't really have a place to permanently upload what I've got so far.
Thank you, Krigo! Got it uploaded. Yay. It's a very early version of course but there's still some notable stuff in there. http://neonhoax.eu/BossRush/BossRush.SMC Note that this ROM is played on what will be the Hard Mode of the game, meaning you get no parts, E-tanks, or heart tanks.
I've started to slow down on the amount of information I'm able to get from this ROM. Is there anyone here proficient in 65c816 assembly hacking or SNES hacking of any kind? Collaboration is key.
Your welcome, I don't normally just give out hosting for free but this project is something that's worth it
I remember finding that debug text in the ROM, too, but couldn't find its associated code. It might not exist anymore. However, I DID find working debug code in Mega Man 7 a few years ago, which is very likely similar to MMX's. Behold! Sprite test: C00620:02 Lets you view all the sprites in the game and tweak their various parameters. I forgot what all the buttons do, but it's not hard to figure out. Sound test: C00620:04 Pretty self-explanatory. There's supposed to be a cursor there, but for some reason it's invisible (maybe there's some initialization code I'm missing). Mega Man 6 has a very similar sprite viewer/sound test, but unfortunately I lost the information on how to activate it (I couldn't find the original entry point for the code, so I did some voodoo bankswitching and memory poking to make it appear). I have a screenshot, though: I've found a lot of debugging stuff in other SNES games, as well as a few NES games, including an arcade-like test mode for Final Fight and a stage select for Super Castlevania IV. Most of my notes seem to have been lost over the years, though. Perhaps I should start a separate topic for the ones I do have...
I hope the debug menu still exits in at least one of the SNES X games... So I'm finally starting to find stuff related to level maps. These are the 32x32 blocks for Launch Octopus's stage. Each block is made of 8x8 tiles, and these large blocks go into the larger 256 x 256 blocks that make up the levels. Once I find out where the game uses the 256 x 256 blocks to construct the levels I can finally start level editing.
<!--quoteo(post=230351:date=Sep 29 2008, 06:52 PM:name=BMF54123)--><div class='quotetop'>QUOTE (BMF54123 @ Sep 29 2008, 06:52 PM) Sprite test: C00620:02 Lets you view all the sprites in the game and tweak their various parameters. I forgot what all the buttons do, but it's not hard to figure out. Sound test: C00620:04 Pretty self-explanatory. There's supposed to be a cursor there, but for some reason it's invisible (maybe there's some initialization code I'm missing). Mega Man 6 has a very similar sprite viewer/sound test, but unfortunately I lost the information on how to activate it (I couldn't find the original entry point for the code, so I did some voodoo bankswitching and memory poking to make it appear). I have a screenshot, though: I've found a lot of debugging stuff in other SNES games, as well as a few NES games, including an arcade-like test mode for Final Fight and a stage select for Super Castlevania IV. Most of my notes seem to have been lost over the years, though. Perhaps I should start a separate topic for the ones I do have...[/quote] I've heard about the stage select in CV4, but did you actually activate it? I think that's whats missing.
<!--quoteo(post=230782:date=Sep 30 2008, 08:26 PM:name=MathUser)--><div class='quotetop'>QUOTE (MathUser @ Sep 30 2008, 08:26 PM)
Looking through the mapping of Sting Chameleon's stage, it's obvious that it was used to test stuff in the game. It has some features that I haven't found in any other area's mapping. http://img301.imageshack.us/img301/9395/scmap25co1.png Image linked due to size. First, note the garbled tiles in the upper area towards the end. These mark the places where the palette changes. The yellow blocks are solid walls that X can't walldash on. They appear in other levels, but there's an additional two walls above the boss room. I guess this is to mark the end of the level. Also note the long vertical line of garbled tiles. I don't know what this represents (Where the level ends vertically?) Lastly (not pictured here), there's a mapping in the ROM for a 256x256 background piece that is identical to the boss room.
Yeah, they replace those areas. There's a similar 256x256 room in Flame Mammoth's stage with frost on it after you beat Chill Penguin.
As far as I know, Zero was meant to be the main character. X was added afterwords. So, I'm not surprised there are leftovers.
I'm still working on hacking right now, but I'm also researching the differences between the 5 different revisions of Mega Man / Rockman X. Here's what I have so far. Note that it doesn't include stuff like translation changes, just programming ones. Also note that bugs common to all versions are not listed. Code (Text): JP 1.0 REVISION BUGS *The powered up S.Ice platform does not self-destruct if it's used to kill a boss. This can lead to a bug when fighting Storm Eagle where the player can get credit for defeating him after dying. *Bug occurs if Sigma and X are killed at the same time -- the boss is defeated, but the player does not regain control and can't advance the cutscene dialogue. *Glitch password is present -- several passwords can start out X with either 0 life or max life and all weapons / subtanks depending on if the game demo was accessed or not. *X can walk on the ceiling in the beginning of Flame Mammoth's room by hopping on the Utuboros heads and climbing up the tube. Walking right and climbing up an invisible wall leads to the central room with the palette and enemy graphics incorrectly loaded, as well as an incorrect lower Y boundary. JP 1.1 FIXES *Fixed the Storm Eagle S.Ice bug by having the platform destruct when the boss's health reaches 0. *Fixed Sigma double death bug. Sigma can no longer be hurt when player health reaches zero. REVISION BUGS *Glitch password is present. *Flame Mammoth ceiling glitch is present. ---- US 1.0 FIXES *Fixed Storm Eagle S.Ice bug. REVISION BUGS *Double death Sigma bug is present. *Glitch password is present. *Flame Mammoth ceiling glitch is present. OTHER *Expands dialogue box length from 64 pixels to 88 pixels to fit in more text. US 1.1 FIXES *All US 1.0 version differences. *Fixed Sigma double death bug. REVISION BUGS *Glitch password is present. *Flame Mammoth ceiling glitch is present. ---- EU 1.0 FIXES *All US 1.1 version differences. *Removes the glitch password as a valid password. *Fixes Flame Mammoth ceiling glitch by making the upper part of the tubes solid. OTHER *Epilogue text is formatted differently than in the other US versions due to PAL timing differences. ---- Version Timeline (speculative) ---- JP 1.0 -> US 1.0 -> JP 1.1 -> US 1.1 -> EU 1.0 US 1.0 based off JP 1.0 EU 1.0 based off US 1.1