| |||
Views: 88,491,558 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-27-24 07:23 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 2 guests | 2 bots |
Main - ROM Hacking - Mega Man 2 Regeneration: help for changing sprites | New thread | New reply |
manu89 |
| ||
Goomba Level: 12 Posts: 19/22 EXP: 7483 Next: 438 Since: 12-02-09 Last post: 4997 days Last view: 5004 days |
I understand what you mean, Thanatos. Don't worry! Anyway, the sprite of a Doc Robot is always bigger than a sprite of a normal robot master because requires more tiles; this was my problem: the tiles of robot master's sprites are insufficient for inserting all Doc Robots' tiles. Who is the hacker who has the better knowledge in this? Matrixz? Infidelity? I know they are always busy yet... |
infidelity |
| ||
Fuzz Ball Level: 66 Posts: 173/968 EXP: 2368217 Next: 93634 Since: 05-24-07 Last post: 959 days Last view: 815 days |
8/18/10
infidelity This will be as far as I go in helping/explaining sprite usage in Megaman 2. $28010 - $2BFEF Sprite Bank (3FE0 Bytes) $28010 - $2820F GFX Low Byte Pointer Table (200 Bytes) $28210 - $2840F GFX High Byte pointer table (200 Bytes) $28410 - $2850F XY Low Byte Pointer Table (100 Bytes) $28510 - $2860F XY High Byte Pointer Table (100 Bytes) $3F910 - $3FA0F Sprite GFX Animation Speed/Order Low Byte Table (100 Bytes) $3FA10 - $3FB0F Sprite GFX Animation Speed/Order High Byte Table (100 Bytes) Extreme Spoonfed Explaination --------------------------------------- Following example is done using FCEUX 2.1.2, if you have no idea on how to use it, I can't help you. Have Megaman alone on the screen standing still. Have 'Code Data Logger' running. Open the 'Hex Editor' and view the hex in 'Rom File' mode. Scroll to $3FB10, you will see the following. 0A 08 04 04 04 04 04 04 04 04 04 04 05 What you see here, is Megaman's Standstill Sprite GFX Animation Speed/Order Every Sprite GFX in Megaman 2, starts with 2 bytes in this table, in the case for Megaman standing still.... 0A = How many frames/gfx, whatever you want to call it. 00 to 0A (00 counts) 08 = How fast to cycle through frames/gfx After that, comes the actual GFX Animations to display.... 04 = Megaman with eyes open 05 = Megaman with eyes closed How are these numbers (04 and 05) loading the gfx? well.... 04 is loading $28014 & $28214 (3C,87) which is $2874C, Megaman with eyes open 05 is loading $28015 & $28215 (52,87) which is $28762, Megaman with eyes closed Lets take a look at Megaman with eyes open GFX (0A00) 1A00 2900 2A00 2B00 0900 0A00 0B00 1900 1B00 0001 There is a reason why I split this up into 2 bytes a piece. (0A00) 1st byte 0A is, how many sprite tiles to load (00-09 or 01-0A however you want to read it) 2nd byte 00 is, XY Order. How is the number (00) loading the xy? well.... 00 is loading $28410 & $27510 (B4,AA) which is $2AAC6, Megaman with eyes open XY (For some reason in Megaman 2, the pointer is 2 bytes lower than the actual address, no idea why, that's just the case for ONLY xy values being loaded, so be careful) FCFC 04F4 04FC 0404 F4F4 F4FC F404 FCF4 FC04 FAFB (00) (01) (02) (03) (04) (05) (06) (07) (08) (09) or, however you want to read it FCFC 04F4 04FC 0404 F4F4 F4FC F404 FCF4 FC04 FAFB (01) (02) (03) (04) (05) (06) (07) (08) (09) (0A) Lets look at FCFC 1st byte = Vertical Position (Y) 2nd byte = Horizontal Position (X) Now lets go back to, 1A00 2900 2A00 2B00 0900 0A00 0B00 1900 1B00 0001 These numbers represent the Sprite Tiles, and Palettes Open up the PPU Viewer The left window, holds all sprite tiles Lets look at, 1A00 1A = Sprite Tile 1A (take your mouse cursor, and drag it over the left PPU window, below the window you will see 'Tile:' Drag the cursor over the tiles till you see 1A appear, this is what Sprite Tile 1A is) 00 = Load 1st Sprite Palette. (palettes are loaded in this order, 00,01,02,03) The most part, this is the typical in-game usage 00 = Megaman 01 = Face of Megaman and other faces for sprites 02 = Enemy/Boss 03 = Enemy/Boss You will notice bosses using 01, that's where they get the color for they're faces as well, not just Megaman So lets recap on, 0A00 1A00 2900 2A00 2B00 0900 0A00 0B00 1900 1B00 0001 This is how 0A works 0A00 1A00 2900 2A00 2B00 0900 0A00 0B00 1900 1B00 0001 (01) (02) (03) (04) (05) (06) (07) (08) (09) (0A) or if you read it differently... 0A00 1A00 2900 2A00 2B00 0900 0A00 0B00 1900 1B00 0001 (00) (01) (02) (03) (04) (05) (06) (07) (08) (09) That's the end of my spoonfed explination. Now, from what I see, $2BB46 - $2BFEF contains ALOT of free space for sprite modifications/additions. (4AA bytes worth) And, from what I see as well, $3FF97 - $3FFEF contains some free space for speed gfx & speed order modifications/additions Good Luck -infidelity |
manu89 |
| ||
Goomba Level: 12 Posts: 20/22 EXP: 7483 Next: 438 Since: 12-02-09 Last post: 4997 days Last view: 5004 days |
Thanatos, are these the informations you needed? May you help me now? |
Thanatos-Zero |
| ||
Nipper Plant Level: 45 Posts: 173/423 EXP: 652894 Next: 7270 Since: 11-25-08 From: Germany - Rheinlandpfalz - Wittlich - Zur Phillippsburg 25 Last post: 1092 days Last view: 1054 days |
Mano, do I look like a scholar of ASM programming? I am a designer, not a game programmer.
What I need is a size limitation for the trimed Doc Bot sprite sheet hence it will replace all Robot Masters. What ?x? in Pixels has the Doc Bot sprites to be? I'm just a freaking sprite designer and not a master in replacing tiles or the pro to programm the things you need. You are the hacker who puts the graphics in, I'm only the designer. That is all. ____________________ I was a prisoner enclosed in the void, were everything might end up just as myself. There I was called the death in the void, but after a long sleep my drill was ready to pierce the void. I came back... to guide those who are in doubt and to crush any corrupted mind. "Just who in the hell do you think I am?!". |
Praetarius |
| ||
Level: 12 Posts: 16/23 EXP: 7827 Next: 94 Since: 07-14-10 Last post: 4647 days Last view: 4576 days |
If i may:
the smallest of the 8 robots would be Metal Man, with 3x3 tiles or 24x24 pixel, but his top-left most 8x8 pixel are blank/not displayed from what i can see in his animations. The likes of airman go up to 32x32, but i guess that is unimportant in this case. Does that help? |
Thanatos-Zero |
| ||
Nipper Plant Level: 45 Posts: 174/423 EXP: 652894 Next: 7270 Since: 11-25-08 From: Germany - Rheinlandpfalz - Wittlich - Zur Phillippsburg 25 Last post: 1092 days Last view: 1054 days |
So the smallest is 24x24? Thank you Praetarius.
Although... Wouldn't it be easier to import the Doc Bot Data into Megaman 2? ____________________ I was a prisoner enclosed in the void, were everything might end up just as myself. There I was called the death in the void, but after a long sleep my drill was ready to pierce the void. I came back... to guide those who are in doubt and to crush any corrupted mind. "Just who in the hell do you think I am?!". |
manu89 |
| ||
Goomba Level: 12 Posts: 21/22 EXP: 7483 Next: 438 Since: 12-02-09 Last post: 4997 days Last view: 5004 days |
Thanatos, can't you find the size limitations and the other informations you need seeing a normal rom of Mega Man 2? Probably because of I am italian and you are German and English isn't our language, we don't understand themselves.
Anyway, if we already know that the Doc Robots' sprites are bigger than Robot Masters, do you however says that you are able to change sprites? I need someone who works on the rom, I am not able with sprite's sheets...this is the matter! |
infidelity |
| ||
Fuzz Ball Level: 66 Posts: 174/968 EXP: 2368217 Next: 93634 Since: 05-24-07 Last post: 959 days Last view: 815 days |
manu89 |
| ||
Goomba Level: 12 Posts: 22/22 EXP: 7483 Next: 438 Since: 12-02-09 Last post: 4997 days Last view: 5004 days |
Infidelity, your last comment was empty. |
Main - ROM Hacking - Mega Man 2 Regeneration: help for changing sprites | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 72, rows: 101/101, time: 0.016 seconds. |