||Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search||03-19-18 02:21 AM
|Guest: Register | Login|
|0 users currently in ROM Hacking | 1 guest | 1 bot|
|Main - ROM Hacking - The Ultimate Mega Man 1 (U) Hacking Notepad||New thread | New reply|
Last post: 9 days
Last view: 9 days
|The Ultimate Mega Man 1 (U) Hacking Notepad
Data in the (E) and (J) ROMs should be at the same adresses or close.
Rock and Roll editor help
To delete enemies in RnR, simply Ctrl+RMB on the object you wish to delete.
Shift+LMB opens up another menu:
Enemies - Let's you change the enemy type, screen number and global health (damage it deals to Mega Man)
Objects - Let's you change the block type, width and height and also the screen it's on.
Short Hallways / Door data
First and second door tables (last bytes are for Wily 5 - yes, there is an unused Wily 5 but the beginning of it is Elec Man now RIP)
15F12: 13 13 13 0F 13 0E FF FF FF FF FF - First door (Wily levels only use the second door)
15F07: 16 16 FF 12 FF 11 FF FF FF 22 20 - Second door (If the entrance is from above or below, it must be FF as they're special doors. The first three Wily doors are in the same boots.)
If everything is correctly set up, it's possible to have properly working 1 screen corridors.
Which direction is a boss room entered from. First set is RMs and second is Wily. 00 is default, 10 is up, 20 is down.
15390: 00 00 20 00 10 00
15396: 00 20 00 00 00
Palette animation in boss rooms
Each level uses three sets of palettes. The first is the before door palettes, the second is the sprite palettes that are loaded when you start the stage, and the third one is the boss appears palettes.
Simply search for the palette you use in your level in the ROM and you should easily find it. After door palettes are stored elsewhere.
The Rock and Roll editor (nor Visine appearently) doesn't seem to save checkpoints correctly. All the tables for checkpoint stuff are located here, however Rock and Roll does edit the first 4 tables just fine, so that's good. I highlighted the tables that are not editable with Rock and Roll properly. Use Screen No. for reference for most of them.
Checkpoint activate table. Which rooms activate a checkpoint. This works fine in the Rock and Roll editor.
Checkpoint 1 activate: 1C2E4, 12 bytes **
Checkpoint 2 activate: 1C2F0, 12 bytes **
Screen data table. This is weird. It is only for loading the correct room graphics before teleporting. RnR edits these properly.
Initial screen: 1C2FB, 10 bytes
Checkpoint 1 respawn: 1C307, 12 bytes ** #
Checkpoint 2 respawn: 1C313, 11 bytes * ##
Room order table. The scroll editor in RnR edits these correctly. If you want to edit these manually, don't forget the first scroll point is 0.
Initial scroll point: 153B0, 12 bytes **
Checkpoint 1: 153BC, 12 bytes **
Checkpoint 2: 153C8, 11 bytes *
First screen enemy table. The enemy manager in RnR edits these correctly, however it can't edit the initial screen ones. Keep in mind you have to select the last enemy in the checkpoint room, not the last.
Initial screen: 153D3, 12 bytes **
Checkpoint 1: 153DF, 12 bytes **
Checkpoint 2: 153EB, 11 bytes *
First room of the checkpoint section. Rock and Roll does in fact edit these values, however incorrectly. Usually it saves values between A0 and CF for some reason, so it's probably a formula error. You have to edit these manually.
Checkpoint 1 first room: 1540A, 12 bytes ** #
Checkpoint 2 first room: 15416, 12 bytes ** ##
Last room of the checkpoint section. This is the last screen of the checkpoint. So if your checkpoint is on screen 0A and that section ends at 0C, you're going to write 0C here. Also, if you have a one screen long section, you're going to write the first room value. Like the first room table, RnR edits these incorrectly, and should be fairly easy to find since RnR saves the same incorrect values here too.
Checkpoint 1 first room: 15422, 12 bytes **
Checkpoint 2 first room: 1542E, 12 bytes **
* last byte is Wily 5
** last two bytes are Wily 5 and Ending
# should be the same as Checkpoint 1 activate
## should be the same as Checkpoint 2 activate
Some checkpoints actually require at least 1-4 enemies in them on the first screen, that can be edited in the first screen enemy table mentioned before. Also, try not to use FF enemies unless you know how to use them. They are used for changing PPU data, and placing them just anywhere will cause crashes.
Moving them is not a good idea, which is why I recommend either leaving them alone or just deleteing them in case you don't want to do fancy enemy set changes in long sections. By the way, these FF enemies are the cause of the Ice Man glitch too for example.
There should always be a Boss/End type scroll (00) before the start of any Wily level scroll data, or else bad stuff happens.
With all that data, you should be able to change all the checkpoints in the game without running into problems!
EDIT: Appearently this was right here on the forums for a long time. It was just buried. I mean, it's a 10 year old thread. I wish I found this when I made that crappy MM1 hack of mine. Mega Man (1) respawn points...
Enemy weakness / damage tables
The global enemy health thing in RnR is not what it seems to be. It's the damage they deal to the player instead. (I'm not mentioning it here since editing them works just fine in RnR, bit it's after the tables mentioned below in the ROM)
Weapon damage data against enemies can be found at these offsets. Use RnR's to get the enemy IDs. Each enemy has 20 HP (14 in HEX) by default, and that can't be changed (at least I have not found the location for that yet). Also, each table is 59 entries long (3B in HEX), each table ends with CWU-01P's damage data.
1FDC3-1FDFD: Magnet Beam? Possibly guts block debris?
To easily find a value, just copy a table's starting offset depending on the weapon and add the Enemy's ID to it.
Weapon Energy Consume and Damage
168E8 - How many shots until weapon energy is consumed. Order is CIBFEGM.
168EF - How much power a weapon uses. They messed up the code during localization, so numbers other than 1 or 2 will cause a glitch depending on how much weapon energy you have left when you are about to run out of energy. (Infinite ammo)
Damage values against bosses can be changed in the Level Properties menu (MM head, second tab), however some values are stored elsewhere (which is the reason why some hacks have weakness inconsistencies, including even MM3 ones), like getting 10 damage from Elec Man if you have Rolling Cutter equipped, even though you've changed his damage output. (Maybe they wanted to make you weak to boss weapons if they were the weakness against the weapon's RM you had equipped at some point? I can't word.)
If you want to edit them using a hex editor, here are the offsets and the order (PCIBFEGM):
1FDFE-1FE05 - Cut
1FE06-1FE0D - Ice
1FE0E-1FE15 - Bomb
1FE16-1FE1D - Fire
1FE1E-1FE25 - Elec
1FE26-1FE2D - Guts
1FE2E-1FE35 - Yellow Devil
1FE36-1FE3D - Mega Man Clone
1FE3E-1FE45 - CWU-01P, but it doesn't use this table. Refer to the offsets below this table.
1FE46-1FE4D - Wily Phase 1
1FE4E-1FE55 - Wily Phase 2
1FE56-1FE5D - ???? (Possibly Wily 5 boss)
CWU-01P damage data. Each CWU-01P unit has 20 HP (14 in HEX), so edit them accordingly.
1FDFD: Magnet Beam? Possibly guts block debris?
Weapon related notes
In case you'd like to make very simple changes to the weapons.
1649A - time until bomb explodes
164A4 - number of small explosions, without modificating the spawn order of the small ones, 03 (bomberman) and 07 (round shape) are good values for less projectiles (and less lag). You might want to edit their speed though, and if you do then experiment here, but it will also affect RM explosions or MM dying:
164C3 - time until explosion disappears, must be higher than 1649A
16A21-16A26: 11 00 03 80 01 FC 0C - flag (more about flags later), vertical speed fraction, vertical speed, horizontal speed fraction, horizontal speed, spawn y pos, spawn x pos respectively
Editing the following affects all explosions, including both Bomb Man's and Copy Mega Man's bombs and the Killer Bullet's.
1F89A-1F8A5 - positions? No, definitely not.
1F8A6-1F8B1 - horizontal speeds for small explosions (experiment with them values)
1F8B2-1F8BD - positions? No, definitely not.
1F8BE-1F8C9 - vertical speeds for small explosions (same)
It's possible to make the bomb explode instantly, but it requires editing the throwing animation.
169C6-169CC: 15 00 03 A0 03 F0 10 - flag, vertical speed fraction, vertical speed, horizontal speed fraction, horizontal speed, spawn y pos, spawn x pos
Guts block pieces, each column is one piece, affects Guts Man's blocks too.
1F836: 08 18 08 18 - spawn x pos
1F83A: 08 08 18 18 - spawn y pos
1F83E: 04 04 03 03 - piece horizontal speed
1F842: 02 00 02 00 - piece vertical speed
1F846: 6D 6D 6D 6D 6D 6D 56 6D 6D 6D 56 6D - sprite id for each level, including Wily 5 and the Ending.
169A9 - sprite to use, 5F is tiny explosion, 60 is default, 61 is the fireball around MM. 55 and 56 are tiny and small gutsblock pieces.
169AB-169AF: 04 00 00 00 04 - flag, vertical speed fraction, vertical speed, horizontal speed fraction, horizontal speed
Fire shield (Editing these also affects Copy Mega Man's fire shield)
1650A: 20 14 0 -14 -20 -14 0 14 - y positions
16512: 0 -14 -20 -14 0 14 20 14 - x positions
1651A: 0 -1 -1 -1 0 0 0 0 - I don't really get it but has to do something with the positions
Elec is a completely different story, each piece seems to have it's own speed and stuff (and it's made up of 6-7 objects omg).
to be included later
169D6 - sprite to use, 5E is Magnet Beam, 5F is tiny explosion
169D8-169DE - 04 00 00 00 04 00 10 - flag, vertical speed fraction, vertical speed, horizontal speed fraction, horizontal speed, spawn y pos, spawn x pos
to be included later
You can use the following values for flags for the weapons:
00= disappears when hits enemies, doesn't detect walls and has no gravity. (Buster)
01= collision detection
04= no gravity
11= affected by gravity and collision detection
14= affected by gravity
15= used by super arm's guts block
24= super arm?
First bit of a flag:
even= no gravity
2= super arm uses it but ???
8+ even or uneven= changes how y position is calculated.
Second bit of a flag
even= no collision detection
uneven= collision detection
8+ even or uneven= changes how x position is calculated.
Boss invulnerability frames
1C9A4-1C9AE - Invulnerability frames for each boss. Only Cut and Elec have knockback as far as I'm aware. The last two bytes are both for the Wily Machine. It's time to make Elec Man worse.
Relocating the Ending scene to make more space for Guts Man's level
1AB21 from 14 to 04/24 - Ending last screen (or should I say, where the house is)
1AB25 from 1E to 0E/2E - Ending first screen (where MM teleports in)
1AC5E from 10 to 00/20 - To make sure the sunset happens on these screens. (You can also "disable" the sunset effect completely with this value btw, however MM's sprite still changes when he jumps)
1ACDC from 14 to 04/24 - End the Ending (make MM jump), should be same as 1AB21
Move those rooms in Rock and Roll's Room Order Editor too. Doing this moves the ending to screens 04-0E or 24-2E depending on which column of values you used.
Moving the ending to screens 04-0E means you will need to move Guts Man's level. That is not a huge deal if you know how to edit checkpoint data properly.
Moving the ending to screens 24-2E is easier because you don't have to worry about relocating Guts Man's level, however the game doesn't forget the special objects when loads the ending cutscene, and that can cause the game to softlock, if an object is on screen 25 for example. Mega Man will run into it and the cutscene will be unable to end (unless you set 1ACDC to 25). So having that object on screens 25-2E means the ending will softlock.
If you want to have a long Wily 4, you'll probably want to move the ending to screens 04-0E, or make sure Mega Man can't get stuck on special objects.
The ending cutscene is kind of hardcoded, so these are the only options. Also, I think you also have to edit the checkpoint data for the ending level if you do this.
Quick access to Wily levels from the Stage Select for testing purposes
All you have to do is changing the initial level of the Stage Select.
Simply change the value at 1B6FF from 00 to
- 06 for Wily 1
- 07 for Wily 2
- 08 for Wily 3
- 09 for Wily 4
- 0A for the unused Wily 5
- 0B for Ending (can be glitchy - sun will always flicker)
Note that the Stage Select screen will be slightly glitchy after doing so. You may save the glitchy stage select screen using savestates even after finishing the game, as it will have the same results and you'll also have all weapons if you do.
I've been messing around with it 0B a bit because glitches are fun.
- pressing left right right start loads Wily 3
- pressing left right left right left right start loads Wily 4
Graphics the game loads for guts block when you equip super arm on each level
1B2F1-1B2FB - offset (increasing this by one makes it load the next 4 16x16 tiles for example, valid values are 80-BF)
1B2FC-1B306 - which bank the graphics is loaded from (valid values are 01-08, 00 crashes the game)
The last byte is for Wily 5
The level tilesets in
- bank 1 are at offsets 90-BF (Robot Master level tilesets)
- bank 3 are at offsets 90-A7 (Wily level and Ending tilesets)
Graphics the game replaces guts blocks with when picked up
Structure ID to replace buts block with.
1CE4E-1CE58 - First Block Table
Blocks in boss rooms (needed for the second block table):
Which room a boss is fought in.
1CE59-1CE5F - Robot Masters
1CE60-1CE63 - Wily Bosses
Structure ID to replace guts block with in boss room (00 crashes the game)
1CE41-1CE4B - Second Block Table
1CE4C-1CE4D - ???
A blast from the past - Useful links
How to make sure the correct special objects get "removed" when a rematch boss is defeated
Mega Man (1) respawn points... - Checkpoint stuff.
Help with Mega Man (U) Configuration Settings - Footholder and Palette animation in Fire and W2
Googie's hack thread - Contains a bit of useful info.
Let me know if there are other threads related to MM1 hacking and I'll add them.
Reply here if you want to
- move Wily 2 refights to Wily 4 and edit where the teleporter spawns or you want to drop something instead when you beat a rematch boss (doesn't require free programming space.) There's no point in spawning a teleporter AND an item though (since the player could easily miss the item), so forget that. You may also go here and read the second paragraph after the code block: http://acmlm.kafuka.org/board/thread.php?pid=89177#89177, but that isn't everything you need. I'm not going to link to that certain post I made in the past about relocating the refights because it's a mess and I was really dumb back then (that didn't change though).
- properly change the powerups to the new ones (no animation for the small ones though).
- i dunno, anything else. I'm still a noob at ASM though!
Should fully research and include later (reply here if it's important)
- CWU-01P pattern editing (vertical and horizontal travel limits found, needs to be documented.)
- Door editing (Palette overwrite flags not understood yet, everything else - location, tile data - needs to be documented. Find by searching for door mask TSA data - order: top-right, bottom right, top-left, bottom-left)
- PPU data editing (PPU data includes MM's palette when the level loads, making them fairly easy to find. Needs to be documented)
- Behind Foreground Effect editing
- Disappearing Block editing
- Guts Lift pattern editing
Edit: More stuff.
Edit 2: I forgot to include the rest of the checkpoint stuff, and I've found more of it too! Good! Anyway, it's there now.
Edit 3: Some enemy damage data added. Also cleaned up this mess a tiny bit.
Edit 4: Added how to find the boss appears palette for the levels. It's really easy btw.
Edit 5: Corrected some mistakes.
Edit 6: Corrected some more mistakes.
Edit 7: Corrected even more mistakes.
Edit 8: Ending cutscene shenanigans added.
Edit 9: Rewrote some stuff to actually make some sense. Should add more stuff about boss rematches.
Edit 10: Added how to quickly access some Wily levels without editing the Stage Select screen too much.
Edit 11: This post is already too long so I can't include everything here so scroll back a tiny bit.
Edit 12: Some super arm and guts block related stuff and some useful links added.
Edit 13: CWU-01P and scroll order related data added. I should try removing the score system... RetroRain really should have made a standalone IPS for that!
Edit 14: I dunno. Shouldn't I make a new thread for this? I probably should...
Edit 15: Created a thread for this.
Last post: 4 days
Last view: 16 days
|Very in depth, awesome contribution! :-)|
Last post: 3 days
Last view: 12 hours
|This is very nice. You should also include the notes on how to hack the titlescreen.
|Main - ROM Hacking - The Ultimate Mega Man 1 (U) Hacking Notepad||New thread | New reply|
© 2005-2016 Acmlm, blackhole89, Xkeeper et al.
MySQL - queries: 47, rows: 71/0, time: 0.055 seconds.