Points of Required Attention™
Friendly reminder: Please don't respond to spammers! Their posts inevitably get memory-holed when staff get around to, leaving behind an inexplicable tableau of you shouting at nothing and (if they otherwise would have been alone in a thread) dangling posts and wrong postcounts.
Views: 48,188,338
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 08-17-18 11:45 AM
Guest: Register | Login

0 users currently in ROM Hacking | 3 guests

Main - ROM Hacking - General Megaman Hacking Thread New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

rock5easily
Posted on 06-28-14 02:18 PM (rev. 9 of 06-28-14 03:10 PM) Link | Quote | ID: 157025


Goomba
Level: 11

Posts: 10/24
EXP: 4592
Next: 1393

Since: 06-13-14
From: Japan

Last post: 959 days
Last view: 464 days
@Trinitronity
Megaman's Palettes Address in the ROM is below:

1.Basic megaman's Palettes(0F 0F 2C 11): 3C8A8-3C8AB
2.The palettes after closing Weapons menu: 4650-467F (weapon / 4bytes)


@caesur4
Thank you for using the viewer.
I will implement the query function, so please wait for a little.

MM5's Sprite Animation Data in the ROM is below:

1.Pointer to each sprite frame:
BANK12-13: 24010-2420F(low), 24210-2440F(high)
BANK14-15: 28010-2820F(low), 28210-2840F(high)
BANK16 : 2C010-2C20F(low), 2C210-2C40F(high)

2.Pointer to each location data:
BANK12-13: 24410-2450F(low), 24510-2460F(high)
BANK14-15: 28410-2850F(low), 28510-2860F(high)
BANK16 : 2C410-2C50F(low), 2C510-2C60F(high)

3.Pointer to each animation:
BANK12-13: 24610-2470F(low), 24710-2480F(high)
BANK14-15: 28610-2870F(low), 28710-2880F(high)
BANK16 : 2C610-2C70F(low), 2C710-2C80F(high)

4.How to calculate ROM addresses from pointers:
(ROM address) = Pointer(low) + Pointer(high)*0x100 + (BANK number)*0x2000 - 0x8000 + 0x10;

5.Unused space in each BANK:
BANK12-13: 27F4E-2800F
BANK14-15: 2BF94-2C00F
BANK16 : 2D18E-2E00F

if these spaces are not enough, you can use the unused space of last BANK(BANK 1F).

caesur4
Posted on 06-28-14 04:12 PM Link | Quote | ID: 157026


Red Goomba
Level: 14

Posts: 14/43
EXP: 11099
Next: 1972

Since: 05-20-14
From: Iowa

Last post: 810 days
Last view: 467 days
Firstly, thanks for laying all of that out, it's going to be extremely helpful!

Okay, so let me try this...

MM blinking animation (animation no. 01), located in bank12
MM eyes open:
Sprite Frame
The low pointer is 0x24011; $62
The high pointer is 0x24211; $9A
MM eyes closed:
The low pointer is 0x24012; $77
The high pointer is 0x24212; $9A
>>>> these work together to locate the data the sprite is built from; every sprite has a unique set

Location data
The low pointer is 0x24411; $D0
The high pointer is 0x24511; $87
>>>> the two points work together to define where each tile is placed in the sprite; multiple sprites use the same location data -- if these are changed, MM eyes open and MM eyes closed are both changed

animation
The low pointer is 0x24611; $E8
The high pointer is 0x24711; $BA
>>>> In the RAM $BAE8 is the animation sequence... the series of frames

So if I wanted to add one more animation frame, I change the Animation Definition at 0x27AF8
0A 08 01 01 01 01 01 01 01 01 01 01 02 0A ---> 0A 09 01 01 01 01 01 01 01 01 01 01 02 03
And move all values forward by 1 until I reach the unused space in Bank12-13, and adjust all of the pointers in bank12-13 for sprite frame, location, and animation so that they point to the correct address.

(ROM address) = Pointer(low) + Pointer(high)*0x100 + (BANK number)*0x2000 - 0x8000 + 0x10
---->
(ROM address) = newPointer(low)-0x01 + (newPointer(high)-0x01)*0x100 + (BANK number)*0x2000 - 0x8000 + 0x10

or something like that?


Insectduel
Posted on 06-28-14 05:16 PM (rev. 2 of 06-28-14 05:18 PM) Link | Quote | ID: 157028


Hammer Brother
Level: 64

Posts: 856/1050
EXP: 2106904
Next: 107193

Since: 02-16-08
From: Insectduel's office

Last post: 119 days
Last view: 119 days
Posted by Trinitronity
Actually, I don't wanna use the CSA anymore, since I heard that it can corrupt the ROM graphically.
I have checked, and thankfully, nothing happened so far, but I don't want to take any risks anymore.
So...any alternatives?


Correct, that's true!

But I do it in a different way so if I were adding more tile pieces I have to relocate into a freely hard-wired bank ROM address to prevent other sprites from corruption.

If I were doing mobile Roll for Rockman 4, I have to leave Rockman alone and relocate it into a new unused ROM address to create her since she has more tiles than Rockman.

At times when I done a side Rockman 5 project, I assembled blues but part of the Gyro Attack sprite is corrupt. I fixed it by relocating into a new address.

SnoruntPyro
Posted on 06-28-14 08:04 PM Link | Quote | ID: 157030

Newcomer
Level: 6

Posts: 2/6
EXP: 571
Next: 336

Since: 06-27-14

Last post: 1428 days
Last view: 1427 days
I'm having trouble with the door editor in MegaFleX. I'm almost done with Gemini Man's level in my MM3 hack, but no matter what I try the door refuses to open. The guide included didn't help very much.

The first gate is located on screen 19 with screen preset 14 in scroll map position A with scroll type A. The hallway is located on screen 1A with screen preset 15 and scroll map position C with scroll type 2.

Zieldak
Posted on 06-29-14 10:56 AM (rev. 2 of 06-29-14 10:57 AM) Link | Quote | ID: 157039


Crow
Level: 38

Posts: 158/377
EXP: 362381
Next: 8066

Since: 12-01-11
From: Hungary

Last post: 32 days
Last view: 9 days
Posted by SnoruntPyro
I'm having trouble with the door editor in MegaFleX. I'm almost done with Gemini Man's level in my MM3 hack, but no matter what I try the door refuses to open. The guide included didn't help very much.

The first gate is located on screen 19 with screen preset 14 in scroll map position A with scroll type A. The hallway is located on screen 1A with screen preset 15 and scroll map position C with scroll type 2.


The Scroll Map positions must follow each other. If C comes after A, it's clear that the scroll of the map will end, because Scroll Map B is missing. So the Hallway should be located on screen 1A, with screen preset 15, scroll map position B with Right×$1, type 2. Scroll Position B may be blank, meaning it has no length, so it skips to C, and that's why it isn't working.

Trinitronity
Posted on 06-29-14 12:31 PM Link | Quote | ID: 157040


Porcupo
Level: 34

Posts: 92/304
EXP: 238210
Next: 15441

Since: 02-04-13

Last post: 125 days
Last view: 105 days
Posted by rock5easily
@Trinitronity
Megaman's Palettes Address in the ROM is below:

1.Basic megaman's Palettes(0F 0F 2C 11): 3C8A8-3C8AB
2.The palettes after closing Weapons menu: 4650-467F (weapon / 4bytes)


Thanks.
About the pallettes during the cutscenes, do I have to find 0F-0F-2C-11 in the address range of said cutscene or are they located somewhere else completely?

SnoruntPyro
Posted on 06-29-14 02:02 PM Link | Quote | ID: 157041

Newcomer
Level: 6

Posts: 3/6
EXP: 571
Next: 336

Since: 06-27-14

Last post: 1428 days
Last view: 1427 days
Posted by Zieldak
Posted by SnoruntPyro
I'm having trouble with the door editor in MegaFleX. I'm almost done with Gemini Man's level in my MM3 hack, but no matter what I try the door refuses to open. The guide included didn't help very much.

The first gate is located on screen 19 with screen preset 14 in scroll map position A with scroll type A. The hallway is located on screen 1A with screen preset 15 and scroll map position C with scroll type 2.


The Scroll Map positions must follow each other. If C comes after A, it's clear that the scroll of the map will end, because Scroll Map B is missing. So the Hallway should be located on screen 1A, with screen preset 15, scroll map position B with Right×$1, type 2. Scroll Position B may be blank, meaning it has no length, so it skips to C, and that's why it isn't working.

The door now works. Thanks!

Trinitronity
Posted on 06-30-14 02:52 PM Link | Quote | ID: 157069


Porcupo
Level: 34

Posts: 93/304
EXP: 238210
Next: 15441

Since: 02-04-13

Last post: 125 days
Last view: 105 days
There is also another weird thing I have found about MegaFleX when editing MegaMan 3.
I could edit the logo in the title screen, but I'm not able to find the graphics for the MegaMan sprite found in Weapon Get Screen...and I really want to edit that sprite as well, complete with the sprite using the new default colors.

Insectduel
Posted on 07-01-14 01:18 AM Link | Quote | ID: 157077


Hammer Brother
Level: 64

Posts: 858/1050
EXP: 2106904
Next: 107193

Since: 02-16-08
From: Insectduel's office

Last post: 119 days
Last view: 119 days
I am beginning to work with Mobile Roll Chan.



First I am using SNES colors as a base. The first 4 colors are your NES colors.

I imported her image from SPRITES-INC website into the tile editor. This should give me the opportunity to insert her tile pieces to create Mobile Roll Chan and using Matrixz's CSA editor. I hope all tiles fit.

Zieldak
Posted on 07-01-14 03:25 PM Link | Quote | ID: 157088


Crow
Level: 38

Posts: 161/377
EXP: 362381
Next: 8066

Since: 12-01-11
From: Hungary

Last post: 32 days
Last view: 9 days
Ok, I'm asking too many stupid questions, but where is the Tile ID for the Dots on the stage select screen of Mega Man 3? Or the same question backwards, where is the Tile ID for the Password dots? Or does it even have one?

kuja killer
Posted on 07-01-14 05:01 PM Link | Quote | ID: 157090


Level: 50

Posts: 386/586
EXP: 915829
Next: 31488

Since: 03-20-07
From: Lake Havasu City, Arizona

Last post: 32 days
Last view: 1 hour
Posted by Zieldak
Ok, I'm asking too many stupid questions, but where is the Tile ID for the Dots on the stage select screen of Mega Man 3? Or the same question backwards, where is the Tile ID for the Password dots? Or does it even have one?


http://postimg.org/image/8zmiaqbyr/ - if you were wanting to change the graphic of the dots for password screen, and the graphics for stage select is at the very end of the graphics at

note: this also affects stage select too. so editing the graphic on those 2 tiles affects both screens

------------------
but if you want to use a different new graphic thats seperate from each other, for stage select then, if you got any spare empty tiles in that section,

312DD for the Tile Id of the little stage select balls. make sure there side-by-side each other like the 2 balls were there. like if your 2 tiles are on tile id 85 and 86 for example, then type 85 on 312DD

Zieldak
Posted on 07-01-14 05:27 PM Link | Quote | ID: 157091


Crow
Level: 38

Posts: 162/377
EXP: 362381
Next: 8066

Since: 12-01-11
From: Hungary

Last post: 32 days
Last view: 9 days
Posted by kuja killer
Posted by Zieldak
Ok, I'm asking[...]


[...]312DD for the Tile Id of the little stage select balls.[...]


Thanks again, Kuja.

Insectduel
Posted on 07-02-14 01:06 AM (rev. 2 of 07-02-14 01:06 AM) Link | Quote | ID: 157102


Hammer Brother
Level: 64

Posts: 859/1050
EXP: 2106904
Next: 107193

Since: 02-16-08
From: Insectduel's office

Last post: 119 days
Last view: 119 days
CHR set for Roll-Chan is now ready to use. It's not for NES and it's a CHR file rather than the other rom files.

Currently you could look at the ripped pixel tilesets only for SNES. BUT it's intended to be used as a base for NES.

Trinitronity
Posted on 07-03-14 12:29 PM Link | Quote | ID: 157144


Porcupo
Level: 34

Posts: 94/304
EXP: 238210
Next: 15441

Since: 02-04-13

Last post: 125 days
Last view: 105 days
Sorry, if I sound impatient, but:
Posted by Trinitronity
There is also another weird thing I have found about MegaFleX when editing MegaMan 3.
I could edit the logo in the title screen, but I'm not able to find the graphics for the MegaMan sprite found in Weapon Get Screen...and I really want to edit that sprite as well, complete with the sprite using the new default colors.

I really finally want to finish the title screen, so please help me there.

Zieldak
Posted on 07-03-14 05:12 PM Link | Quote | ID: 157147


Crow
Level: 38

Posts: 167/377
EXP: 362381
Next: 8066

Since: 12-01-11
From: Hungary

Last post: 32 days
Last view: 9 days
Another question... Is there a way to disable the Giant Snake's tail in room ID 5? I mean that animation or something that's even there if the enemy itself is removed.

kuja killer
Posted on 07-03-14 11:09 PM Link | Quote | ID: 157163


Level: 50

Posts: 387/586
EXP: 915829
Next: 31488

Since: 03-20-07
From: Lake Havasu City, Arizona

Last post: 32 days
Last view: 1 hour
Posted by Zieldak
Another question... Is there a way to disable the Giant Snake's tail in room ID 5? I mean that animation or something that's even there if the enemy itself is removed.


1202E - this is the level id of that wavy animation thingy your talking about. on which level it happens on, if you dont plan on ever using it, or the snake enemy at all in your hack.

then just set this to FF (which just simply means it wont happen on any level)

Zieldak
Posted on 07-04-14 04:14 PM (rev. 2 of 07-04-14 04:19 PM) Link | Quote | ID: 157176


Crow
Level: 38

Posts: 169/377
EXP: 362381
Next: 8066

Since: 12-01-11
From: Hungary

Last post: 32 days
Last view: 9 days
Posted by kuja killer
Posted by Zieldak
Another question... Is there a way to disable the Giant Snake's tail in room ID 5? I mean that animation or something that's even there if the enemy itself is removed.


1202E - this is the level id of that wavy animation thingy your talking about. on which level it happens on, if you dont plan on ever using it, or the snake enemy at all in your hack.

then just set this to FF (which just simply means it wont happen on any level)
So then 12034 is controlling Room ID 05 and 12038 is controlling ID 0E, right? But there is actually no need to answer, I don't really understand how to read the data, but I know how to experiment with things. XD

EDIT: What the... I actually was right. XD

Thanks for the help, Kuja. You are a great person.

kuja killer
Posted on 07-04-14 04:47 PM Link | Quote | ID: 157178


Level: 50

Posts: 389/586
EXP: 915829
Next: 31488

Since: 03-20-07
From: Lake Havasu City, Arizona

Last post: 32 days
Last view: 1 hour
yea, the offset i mentioned was "level 05" which was Snakeman level
00 needle, 01 magnet, 02 gemini, 03 hard... and so on.

So it was checking for level 05 (snake) --- after that, those 2 offsets you mentioned, yea. 05 and 0E the screen numbers of when those vibrating snake tiles would happen at.

rock5easily
Posted on 07-05-14 07:15 AM (rev. 6 of 07-05-14 08:17 AM) Link | Quote | ID: 157195


Goomba
Level: 11

Posts: 11/24
EXP: 4592
Next: 1393

Since: 06-13-14
From: Japan

Last post: 959 days
Last view: 464 days
Posted by caesur4
...
So if I wanted to add one more animation frame, I change the Animation Definition at 0x27AF8
0A 08 01 01 01 01 01 01 01 01 01 01 02 0A ---> 0A 09 01 01 01 01 01 01 01 01 01 01 02 03
And move all values forward by 1 until I reach the unused space in Bank12-13, and adjust all of the pointers in bank12-13 for sprite frame, location, and animation so that they point to the correct address.

(ROM address) = Pointer(low) + Pointer(high)*0x100 + (BANK number)*0x2000 - 0x8000 + 0x10
---->
(ROM address) = newPointer(low)-0x01 + (newPointer(high)-0x01)*0x100 + (BANK number)*0x2000 - 0x8000 + 0x10

or something like that?



I don't think it is a very good way, inserting a frame to the existing animation data.
Because it is mistakable and its quantity of work is large.

So I recommend writing one complete animation data to unused space, and fixing a pointer to the animation data.

I forgot to write the format of sprite frame data earlier, it's below:

sprite frame data:
byte0 -> CHR bank number
byte1 -> Number of tiles - 1
byte2 -> Location data number
byte3 -> Tile number #1
byte4 -> Tile attributes #1
byte5 -> Tile number #2
byte6 -> Tile attributes #2
...

Tile attributes:
HIGH
bit7 -> Flip vertically
bit6 -> Flip horizontally
bit5,4,3,2 -> unused
bit1-0 -> Palette
LOW

Posted by Trinitronity
Posted by rock5easily
@Trinitronity
Megaman's Palettes Address in the ROM is below:

1.Basic megaman's Palettes(0F 0F 2C 11): 3C8A8-3C8AB
2.The palettes after closing Weapons menu: 4650-467F (weapon / 4bytes)


Thanks.
About the pallettes during the cutscenes, do I have to find 0F-0F-2C-11 in the address range of said cutscene or are they located somewhere else completely?

The cutscenes is here?
Well, the palettes is in $16665-16684.

Trinitronity
Posted on 07-05-14 11:02 AM (rev. 2 of 07-05-14 01:07 PM) Link | Quote | ID: 157200


Porcupo
Level: 34

Posts: 95/304
EXP: 238210
Next: 15441

Since: 02-04-13

Last post: 125 days
Last view: 105 days
Posted by rock5easily

Posted by Trinitronity
Posted by rock5easily
@Trinitronity
Megaman's Palettes Address in the ROM is below:

1.Basic megaman's Palettes(0F 0F 2C 11): 3C8A8-3C8AB
2.The palettes after closing Weapons menu: 4650-467F (weapon / 4bytes)


Thanks.
About the pallettes during the cutscenes, do I have to find 0F-0F-2C-11 in the address range of said cutscene or are they located somewhere else completely?

The cutscenes is here?
Well, the palettes is in $16665-16684.

Yep, these cutscenes.
And thanks for the info, I have no saved it.
Now I only need to find a way to change the pallettes of the weapon get sprite of MegaMan and then change the sprites of it, and then, I have finally enough to create a WIP thread of that game and reveal the identity of it.
One thing, though: The weapon get sprites are being reused for the title screen as well, so I would like to know, if it also reuses the same address for the default pallette like in the weapon get screen.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82


Main - ROM Hacking - General Megaman Hacking Thread New thread | New reply

Acmlmboard 2.1+3δ (2016-01-08)
© 2005-2016 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.180 seconds. (345KB of memory used)
MySQL - queries: 116, rows: 156/0, time: 0.140 seconds.