Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
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

Pages: 1 2

manu89
Posted on 08-16-10 01:51 AM Link | Quote | ID: 134437


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
Posted on 08-18-10 09:42 PM Link | Quote | ID: 134584


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
Posted on 08-19-10 07:17 PM Link | Quote | ID: 134627


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
Posted on 08-19-10 07:47 PM Link | Quote | ID: 134632


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
Posted on 08-19-10 08:25 PM (rev. 2 of 08-19-10 08:26 PM) Link | Quote | ID: 134639


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
Posted on 08-20-10 12:32 AM Link | Quote | ID: 134651


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
Posted on 08-20-10 04:03 AM Link | Quote | ID: 134657


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
Posted on 08-20-10 12:41 PM (rev. 2 of 08-20-10 02:22 PM) Link | Quote | ID: 134659


Fuzz Ball
Level: 66

Posts: 174/968
EXP: 2368217
Next: 93634

Since: 05-24-07

Last post: 959 days
Last view: 815 days

manu89
Posted on 08-22-10 02:44 AM Link | Quote | ID: 134756


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.
Pages: 1 2


Main - ROM Hacking - Mega Man 2 Regeneration: help for changing sprites New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.022 seconds. (340KB of memory used)
MySQL - queries: 72, rows: 101/101, time: 0.016 seconds.