Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,473,241
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-23-24 11:52 PM
Guest: Register | Login

0 users currently in ROM Hacking | 1 guest | 1 bot

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 83 84 85 86

NetSplit
Posted on 09-30-12 04:09 AM Link | Quote | ID: 152549


Level: 32

Posts: 167/178
EXP: 187994
Next: 18448

Since: 02-26-07

Last post: 2214 days
Last view: 2140 days
There's a 6 byte table at $1C15E that contains the index of the special object that is removed upon beating each of the #$3B bosses. The indices are multiples of 6 because objects are 6 bytes long. The first object is 0, the second is 6, etc.

Insectduel
Posted on 09-30-12 07:18 PM Link | Quote | ID: 152556


Hammer Brother
Level: 68

Posts: 768/1069
EXP: 2687209
Next: 41591

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

Last post: 1254 days
Last view: 1254 days
Thank you so much NetSplit! I use the ram searcher to put these hex numbers with the specific $3B Enemy. I moved the $C14E table into an unused slot which the Copy Robot will also included in the fight.

Zieldak
Posted on 10-01-12 04:03 PM Link | Quote | ID: 152563


Crow
Level: 42

Posts: 60/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
I'm still a "noob" at hacking, huh...
Can someone tell me how can I repoint the #$3B bosses by 2 screens? When I try to move them by 2 screens they always give out the wrong rematch boss or even a bugged Wily. I want to place Elec Man and Ice Man behind them (to be in Bomb Man's and Fire Man's rooms) to be in the boss rush and remove them from Wily 2. I made a new Wily2, but the Boss Rematches aren't really fit in there.

Insectduel
Posted on 10-02-12 12:14 AM (rev. 3 of 10-02-12 12:21 AM) Link | Quote | ID: 152566


Hammer Brother
Level: 68

Posts: 770/1069
EXP: 2687209
Next: 41591

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

Last post: 1254 days
Last view: 1254 days
To Zieldak

If you move the $3B bosses 2 screens ahead or anywhere on the screen,
check out my custom enemy $3B disassembly guide below.

Rom offsets you're looking for.
$17DAF is the value where the Cutman boss is pointed.
$17DB3 is the value of Cutman's screen number.
$17DB7 is the value where the Elecman boss is pointed.

And Rom offset $17DF7 are Wily 4 boss values. (4 Bytes)

For me, I created a custom $3B enemy where you put it on any level at any screen if you already seen my Rockman AF video. Place them anywhere, anytime. I also seen NetSplit had Gutsman on Ice Man's stage when I look at his YouTube video.


AI_Object3B

Rom offset starts at $17DA8

To switch the code into another slot, change the 2-byte rom offset at
$16AC1. $17F86 ($BF76) to $1800F ($BFFF) are available to create the
code freely. The bottom of the rom which is $1FF10 are also unused space.

If created from scratch, please don’t forget to change the JMP’s and LDA
ram locations or it will not properly. Also to BNE or BEQ the code where is
properly pointed if expanded from the original point.

$BD98> A5 31: LDA CurrentStage
$BD9A> C9 07: CMP #$07 ; Wily 2 level

If you choose to add another stage, use BEQ where the boss number is
located (to A0 00) then add CMP (C9 XX) for another current stage.

$BD9C> D0 13: BNE ++ ; $BDB1 ($17DC1)
$BD9E> A0 00: LDY #$00 ; Cutman
$BDA0> A5 1B: LDA ScrollPosScreen
$BDA2> C9 1C: CMP #$1c ; Screen Number for Wily 2.
$BDA4> F0 02: BEQ + ; $BDA8 ($17DB8)

If you’re adding more screens with boss numbers,
repeat the LDY, LDA, and CMP codes above. BEQ the code to 84 AC after each entry.

$BDA6> A0 04: LDY #$04 ; Elecman
+
$BDA8> 84 AC: STY FightingBossNum
$BDAA> A9 02: LDA #$02
$BDAC> 85 3E: STA BossCurrentStrategy
$BDAE> 4C BCBD: JMP $BDBC (This is where the 01 special object comes in.)
++
$BDB1> C9 06: CMP #$06 ; Works for Wily stages?
$BDB3> F0 0E: BEQ $BDC3
$BDB5> A6 1B: LDX ScrollPosScreen
$BDB7> BC CABD: LDY $BDCA,X
$BDBA> D0 EC: BNE $BDA8
$BDBC> A9 01: LDA #$01
$BDBE> 85 68: STA ForcedInputFlag
$BDC0> 4C B1BE: JMP RemoveObject ; $BEB1
$BDC3> A9 42: LDA #$42
$BDC5> 9D 2004: STA ObjectFlags,X

$BDC8> A0 CC: LDY #$cc
$BDCA> 20 33F5: JSR InitObjectDefaultSpeed
$BDCD> A9 13: LDA #$13
$BDCF> 9D E006: STA ObjectType,X ; Footholder
$BDD2> 20 63F6: JSR CreateEnemy ; $F663
$BDD5> B0 0F: BCS $BDE6
$BDD7> A9 02: LDA #$02
$BDD9> 9D 2004: STA ObjectFlags,X
$BDDC> A0 CC: LDY #$cc
$BDDE> 20 33F5: JSR InitObjectDefaultSpeed
$BDE1> A9 4C: LDA #$4c
$BDE3> 9D 8004: STA ObjectPosX,X
$BDE6> 60: RTS Return

Wily 4 boss tables. I really do not understand how is coded without anything pointing to these bytes or a loading/comparing tables.
I haven’t found the breakpoint of the code but it’s unknown to me!

These bytes are utterly pointless if the code is created from scratch.
Edit these boss numbers to fight them in Wily 4 only starting at screen 1D.

Rom offset $17DF7

$BDE7> 02: .Bombman
$BDE8> 03: .Fireman
$BDE9> 01: .Iceman
$BDF0> 05: .Gutsman


And I have another question from me!

I noticed that the special 01 and 02 blocks disappear when you're at the checkpoint area. They respawn only if you start at the beginning of the level. I don't want those unsolid blocks after reaching the checkpoint. Can you tell me is it possible to disable or add some code to not have disappearing special blocks after reaching checkpoints?

Zieldak
Posted on 10-04-12 01:43 PM (rev. 2 of 10-04-12 04:02 PM) Link | Quote | ID: 152585


Crow
Level: 42

Posts: 61/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
I knew it it's stored in the enemy AI itself. I was at the right place, and I asked again for help again.

By the way, how exactly Elecman is coded in without the LDA and CMP codes? Or his LDY code adds 4 rooms to the CMP code and determines which boss is there at the same time? I know the doesn't need the BEQ code because it's pointless, but I still don't understand how the original code works there.

I tried to do a custom code a few times, but I can't really get it work. I made 6 copies of the LDY LDA CMP and BEQ codes for all bosses (except for the last, the BEQ code) and placed them after the BNE (D0 13) code, but I always get the last boss (Gutsman) if I go in to the next screen. It's the last entry in this part of the code, before the STY code.
But I'll try to redo the code here again...

So, I placed this into the empty slot and repointed it. I want to place them on the same stage which means I have to input this:

$BF76> A5 31: LDA CurrentStage
$BF78> C9 09: CMP #$09 ; Wily 4 level
$BF80> D0 ##: BNE ++ ; $BDBB ($17DCB)

Then, I have 6 screens so I have to make 6 copies of these codes and change the second bytes of each code to be correct? The last entry doesn't need the BEQ code, because it's pointless, right?

$BD82> A0 00: LDY #$00 ; Cutman
$BD84> A5 1C: LDA ScrollPosScreen
$BD86> C9 1D: CMP #$1D ; - Screen Number for Wily 4.
$BD88> F0 ##: BEQ + ; -- $BDB2 ($17DC2)

$BD8A> A0 01: LDY #$01 ; Iceman
$BD8C> A5 1D: LDA ScrollPosScreen
$BD8E> C9 1E: CMP #$1E ; -
$BD90> F0 ##: BEQ + ; --

$BD92> A0 02: LDY #$02 ; Bombman
$BD94> A5 1E: LDA ScrollPosScreen
$BD96> C9 1F: CMP #$1F ; -
$BD98> F0 ##: BEQ + ; --

$BD9A> A0 03: LDY #$03 ; Fireman
$BD9C> A5 1F: LDA ScrollPosScreen
$BD9E> C9 20: CMP #$20 ; -
$BDA0> F0 ##: BEQ + ; --

$BDA2> A0 04: LDY #$04 ; Elecman
$BDA4> A5 20: LDA ScrollPosScreen
$BDA6> C9 21: CMP #$21 ; -
$BDA8> F0 ##: BEQ + ; --

$BDAA> A0 05: LDY #$05 ; Gutsman
$BDAC> A5 21: LDA ScrollPosScreen
$BDAE> C9 22: CMP #$22 ; -
+
$BDB2> 84 AC: STY FightingBossNum
$BDB4> A9 02: LDA #$02
$BDB6> 85 3E: STA BossCurrentStrategy
$BDB8> 4C C7BD: JMP $BDC7 (This is where the 01 special object comes in.)
++
$BDBB> C9 06: CMP #$06 ; Works for Wily stages?
$BDBD> F0 0E: BEQ $BDC3
$BDBF> A6 1B: LDX ScrollPosScreen
$BDC1> BC D4BD: LDY $BDD4,X
$BDC4> D0 EC: BNE $BDB2
$BDC6> A9 01: LDA #$01
$BDC8> 85 68: STA ForcedInputFlag
$BDCA> 4C B1BE: JMP RemoveObject ; $BEB1
$BDCD> A9 42: LDA #$42
$BDCF> 9D 2004: STA ObjectFlags,X

$BDD2> A0 CC: LDY #$cc
$BDD4> 20 33F5: JSR InitObjectDefaultSpeed
$BDD7> A9 13: LDA #$13
$BDD9> 9D E006: STA ObjectType,X ; Footholder
$BDDC> 20 63F6: JSR CreateEnemy ; $F663
$BDDF> B0 0F: BCS $BDE6
$BDE1> A9 02: LDA #$02
$BDE3> 9D 2004: STA ObjectFlags,X
$BDE6> A0 CC: LDY #$cc
$BDE8> 20 33F5: JSR InitObjectDefaultSpeed
$BDEA> A9 4C: LDA #$4c
$BDEC> 9D 8004: STA ObjectPosX,X
$BDEE> 60: RTS Return

And then these 4 bytes after it are pointless right? So there is no need for them.

Or I just have to add this after the first BEQ in the code instead of having those 6 copies in the coding?

$BD88> F0 0A: BEQ + ; $BD9E
$BD8A> A0 01: LDY #$01
$BD8C> F0 08: BEQ + ; $BD9E
$BD9E> A0 02: LDY #$02
$BD90> F0 06: BEQ + ; $BD9E
$BD92> A0 03: LDY #$03
$BD94> F0 04: BEQ + ; $BD9E
$BD96> A0 04: LDY #$04
$BD98> F0 02: BEQ + ; $BD9e
$BD9A> A0 05: LDY #$05


This is the first time when I work with any code like this. So I don't really know what am I doing.
I'll try both out to see if one of them works correctly.

@Insectduel - I don't know what causes it. (As always...) They disappear as soon as you reach the checkpoint, right? And what happens if you die after a checkpoint? Don't they respawn at Checkpoint 1 or 2 only at the Scroll Start?

Insectduel
Posted on 10-05-12 12:05 AM Link | Quote | ID: 152588


Hammer Brother
Level: 68

Posts: 771/1069
EXP: 2687209
Next: 41591

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

Last post: 1254 days
Last view: 1254 days
I cannot understand what you're written. When you showed me these notes, you better make sure you enter these ram offsets correct. The example is right but probably the wrong ram offset.

If you're actually customizing the Enemy $3B, you have to make sure ALL THE SPACE IS USED. Remove (Put 00, EA, or FF) all original codes that is not in use from $17DA8-$17DE0 if you already switch the main ram code into a empty space. You also must change the ram $BDBC "4C BCBD: JMP $BDBC" Part where it points to [A9 01] 85 68 4C B1 BE. And also $BDCA "BC CABD: LDY $BDCA" where it points to [20 33 F5] A9 13 9D E0 06. If you still cannot get these to work, then I should hand you my IPS patch with instructions. You needed all bosses in Wily 4 right? Seems like a good choice for boss rush stages since Mega Man X or even Rockman & Forte.

I have to figure how to disable the Special 1 or 2 blocks after reaching checkpoint and after you die in a level! They do not respawn when reaching that area and die. It may cause me to change the checkpoints and screen numbers to the end of the level.

It may give me an idea to never respawn $3B bosses after reaching the checkpoint and die but I had no idea where to start.

NetSplit
Posted on 10-05-12 09:39 AM Link | Quote | ID: 152589


Level: 32

Posts: 168/178
EXP: 187994
Next: 18448

Since: 02-26-07

Last post: 2214 days
Last view: 2140 days
Insectduel: Put a read breadkpoint on the special object data location, start a stage to break on the code that copies that data into RAM, and trigger that code in the checkpoint handling routine (which you can track down using breakpoints on checkpoint data). I highly suggest looking through bisqwit's disassembly on the matter, as well; he refers to special objects in there as "actives".

Zieldak: I think you'd benefit from looking at Bisqwit's disassembly to see how some of this stuff is usually done in the standard ROM. Your many many lines of code for getting 6 data values could be done with a table, which are used all throughout the existing code, or perhaps some clever tricks based on what data you're using. Here, you have the 6 bosses appear on consecutive screens in their ID order, starting on screen #$1D, so you could get the boss ID for a #$3B object by just subtracting #$1D from the screen number.

You also need to be very careful with modifying code; your jump at $BDB8, for example, jumps into the middle of an instruction, which (while sometimes a legitimate tactic) is probably not what you want.

Your code at the end is also pretty nonsensical; I assume you're trying to load the values like you would with a table, but the mechanism you're trying to use for doing it is a mystery to me and surely will not work the way you imagine it. LDY will set or clear the zero flag, so loading any of those values will cause the BEQ to never be taken, and it's unclear if you want to be able to fall through from one section to the next or what.

Generally, if you have code that is repeated over and over with tiny differences, you can probably wrap that up into something small with a gain in space and maybe even performance.

Zieldak
Posted on 10-05-12 06:13 PM (rev. 3 of 10-06-12 10:07 AM) Link | Quote | ID: 152593


Crow
Level: 42

Posts: 62/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days


1. [Insectduel] If you're actually customizing the Enemy $3B, you have to make sure ALL THE SPACE IS USED. Remove (Put 00, EA, or FF) all original codes that is not in use from $17DA8-$17DE0 if you already switch the main ram code into a empty space. You also must change the ram $BDBC "4C BCBD: JMP $BDBC" Part where it points to [A9 01] 85 68 4C B1 BE. And also $BDCA "BC CABD: LDY $BDCA" where it points to [20 33 F5] A9 13 9D E0 06.
1. [NetSplit] You also need to be very careful with modifying code; your jump at $BDB8, for example, jumps into the middle of an instruction, which (while sometimes a legitimate tactic) is probably not what you want.

2. [NetSplit] Your code at the end is also pretty nonsensical; I assume you're trying to load the values like you would with a table, but the mechanism you're trying to use for doing it is a mystery to me and surely will not work the way you imagine it. LDY will set or clear the zero flag, so loading any of those values will cause the BEQ to never be taken, and it's unclear if you want to be able to fall through from one section to the next or what.

3. [NetSplit] I think you'd benefit from looking at Bisqwit's disassembly to see how some of this stuff is usually done in the standard ROM. Your many many lines of code for getting 6 data values could be done with a table, which are used all throughout the existing code, or perhaps some clever tricks based on what data you're using. Here, you have the 6 bosses appear on consecutive screens in their ID order, starting on screen #$1D, so you could get the boss ID for a #$3B object by just subtracting #$1D from the screen number.

4. [Insectduel] If you still cannot get these to work, then I should hand you my IPS patch with instructions.

1. Yes, the code which I wrote in my last post hasn't got the right jump codes, but when I tried it out, I rewrote everything to be correct. And yes, I put 00s in place of the original code, it was the first thing I did. ($17DA8-$17DFA) The JMP codes are pointed to the correct commands too. The Footholders work but the bosses are wrong, and all rooms have the same bosses (Gutsman again), like before.

2. I know, it was just a question. I knew it wouldn't really work this way.

3. I read through a lot of AI codes before attepting to do this. I know I should use a table or something, but I don't know how. I still don't know what am I really doing, seriously.

4. No, no, there no need for that. That way, I won't be able to learn ASM or any kind of coding without "stealing" or "borrowing".

By the way, here is the hexdump of the code. I know something is still wrong here but I just don't know what.

$BF76:     [usedspace <-] a5 31 c9 09 d0 37 a0 00 a5 1d
$BF80: c9 1d f0 26 a0 01 a5 1e c9 1e f0 1e a0 02 a5 1f
$BF90: c9 1f f0 16 a0 03 a5 20 c9 20 f0 0e a0 04 a5 21
$BFA0: c9 21 f0 06 a0 05 a5 22 c9 22 84 ac a9 02 85 3e
$BFB0: 4c be bf c9 06 f0 0e a6 1b bc cc bf d0 ec a9 01
$BFC0: 85 68 4c b1 be a9 42 9d 20 04 a0 cc 20 33 f5 a9
$BFD0: 13 9d e0 06 20 63 f6 b0 0f a9 02 9d 20 04 a0 cc
$BFE0: 20 33 f5 a9 4c 9d 80 04 60 [-> unusedspace]


Only Fire Man works with this code. He's in the 4th room, and he's the 4th in the coding too.

za909
Posted on 10-05-12 06:47 PM (rev. 2 of 10-05-12 06:51 PM) Link | Quote | ID: 152594


Cheep-cheep
Level: 32

Posts: 147/196
EXP: 189024
Next: 17418

Since: 04-27-11

Last post: 3050 days
Last view: 2761 days
You should check these links out to know how to use the CPU, and how to control the different hardware with the CPU if you write your own code (Audio, Video, etc.)

If you look at the reference, you see that $0000 - $00FF is Zero Page, $0100 - $01FF is the CPU stack (which I kind of consider as a temporary storage for processor status and stuff like that) and so on, and the rest is accessed via their respective registers that are specific to the NES and not the 6502 ,or the 2A03 in the NES which is the same as the 6502 except it has built in sound and no decimal mode. The low 5 bits (00011111 = $1F means all 5 active) of $4015 for example control which sound channels are turned on / off.

6502 reference
NES hardware and registers n' shit

Zieldak
Posted on 10-06-12 10:47 AM (rev. 3 of 10-06-12 12:58 PM) Link | Quote | ID: 152596


Crow
Level: 42

Posts: 63/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
Oh, finally, I actually got my custom code working! The only problem in the code was with the LDA (ScrollPosScreen) codes in the boss datas. Writing 20 in all 6 LDA (ScrollPosScreen) fixed the problem, and everything works correctly, as they should. All bosses are in their correct boss rush rooms. Thank you for your help!

EDIT: Now I have moved Wily by 2 screens and his graphics is screwed up (sprites) and even if I changed the 0 back to 8 in that room his sprites are still screwed up. Is there a code which swaps the #08 sprites to wily's in Room 23? Where is that if it exists?

NetSplit
Posted on 10-06-12 09:50 PM Link | Quote | ID: 152603


Level: 32

Posts: 169/178
EXP: 187994
Next: 18448

Since: 02-26-07

Last post: 2214 days
Last view: 2140 days
I understand what you're doing now. Yes, you want to use the same number in all of those places with your LDA because the current screen is in a fixed address. However, that address is not $20; $20 is related to the current scroll location, and while it'll probably get you a similar result, you should actually be using $1B. You can find that value in the diassembly by looking for where bisqwit sets the label equal to a value near the top of the file.

If you moved Wily by 2 screens, try moving the 63 63 values at $CD72 in the same direction by 2 bytes.

Zieldak
Posted on 10-07-12 12:54 PM Link | Quote | ID: 152615


Crow
Level: 42

Posts: 65/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
Yes, I releaized that $20 is not the best value. It caused the bosses to screw up after dying and going back to the checkpoint. $1B works fine. And Wily's graphics is normal too. Thank you!

za909
Posted on 10-07-12 02:14 PM Link | Quote | ID: 152617


Cheep-cheep
Level: 32

Posts: 148/196
EXP: 189024
Next: 17418

Since: 04-27-11

Last post: 3050 days
Last view: 2761 days
So...let me interrupt this conversation on MM1...can anyone help me with changing or removing the stupid algorithm in the MM3- MM6 sound engine that stops the triangle channel 2 frames before the next note? The current setting makes it impossible to replicate the "Follin style" with quick 2-3 frame long pitch bend drum sounds because they just turn into nothingness or make a 1 frame pop.

KCEXE
Posted on 10-11-12 02:09 AM (rev. 2 of 10-11-12 02:11 AM) Link | Quote | ID: 152641

Newcomer
Level: 8

Posts: 1/9
EXP: 1752
Next: 435

Since: 10-11-12

Last post: 2595 days
Last view: 1913 days
Hello! Well, I'm starting a Mega Man/Rockman 1 hack, so far I've been trying to figure out how to get that blasted "Rock and Roll" editor to work.. but no success. That very "Please select a valid file" message is ticking me off. I've looked for almost every single rom of MM1, (U), (E), and (J).. NONE OF THEM WORK.

Does anyone have any idea how to get this editor working? Please, and thank you.

Zieldak
Posted on 10-11-12 05:50 PM (rev. 2 of 10-11-12 05:51 PM) Link | Quote | ID: 152643


Crow
Level: 42

Posts: 68/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
My computer is running a hungarian Windows XP, so what I say may not be correct.
Right-Click on a nes rom -> Association file with... (or something like this.), search and select the program. WARNING: If you move the editor or the whole folder, you will have to do this again. It will enable double-clicking on the file without opening the program itself, but only if you check the "always open the file with this program" or something.

It did the same thing for me because I associated the file with FCEUX and RnR thought this file cannot be opened, because it's format is invalid. It's because you may have associated the .NES files with a program.

The editor doesn't like opening associated files from the program itself.

KCEXE
Posted on 10-12-12 04:18 AM Link | Quote | ID: 152648

Newcomer
Level: 8

Posts: 2/9
EXP: 1752
Next: 435

Since: 10-11-12

Last post: 2595 days
Last view: 1913 days
Thanks, Zieldak. That did the trick. I just had to do the "Open with.." thingy for the NES rom. Heh, it's exactly like the "Association file with.." you said.

Anyways, been tinkering around with the Rock and Roll program, editing palettes and editing layouts, a bit. Now what bothers me, I use the Sound/Music changing option, and when saving the rom and testing it, no music plays on the Select Screen, even when selecting a boss. Luckily, the music in the stages play and everything.

Is it because the rom is bad, or the program's feature messes up something in the Music Data?

Zieldak
Posted on 10-12-12 04:03 PM Link | Quote | ID: 152649


Crow
Level: 42

Posts: 69/387
EXP: 512255
Next: 9107

Since: 12-01-11
From: Hungary

Last post: 1309 days
Last view: 1200 days
Well, yes, the Sound Effect Editor has some problems.
When editing the sound effects always change back these values found below. For some reasons the editor always edits it for no reason, even if you didn't touch these values (at least it doesn that for me). You can give them other values like $07 to play Fire Man's theme on Stage Select. But you can only do this manually, the program gives a wrong index for these addresses for some reason.

Rewrite these addresses manually:
$1B6EB - 01 (Plays Stage Select Music, Index of Stage Select music)
$1B78B - 02 (Plays Stage Selected Music, Index of Stage Selected music)
$1C88E - 1A (Plays Bonus Sphere Music, Index of Bonus Sphere music)

With these everything will be normal again.

But if you want to edit more of the sound effects, then here is a "stolen" table from Mega Man (U) rom's data file from the Data folder:
Just jump to these addresses and change those 1 byte values. You can always check which byte is which music/sound in the Level Properties->Level Setting tab->Music: $?? - ???

Editing these values manually won't screw up the game.

SE0Name=Bonus Sphere
SE0Offset=1C88E
SE1Name=Boss Defeated
SE1Offset=1C3A7
SE2Name=Clear Points 1
SE2Offset=1B918
SE3Name=Clear Points 2
SE3Offset=1C1B7
SE4Name=Door
SE4Offset=1D0B3
SE5Name=Hit By Enemy
SE5Offset=1C9BA
SE6Name=Enemy Weapon
SE6Offset=1F67D
SE7Name=Boss Gauge Fill
SE7Offset=1F3C2
SE8Name=Ice Man Gunshot
SE8Offset=1E23E
SE9Name=Zero Energy
SE9Offset=1C239
SE10Name=Buster Gun
SE10Offset=16772
SE11Name=Landing Sound
SE11Offset=155A7
SE12Name=Boss Chosen
SE12Offset=1B786
SE13Name=Stage Select
SE13Offset=1B768
SE14Name=Weapon Menu
SE14Offset=1B118
SE15Name=Weapon Select
SE15Offset=1B2C8
SE16Name=Wily Ship
SE16Offset=1BA11
SE17Name=Boss Medallion
SE17Offset=1C89C
SE18Name=Ending Music
SE18Offset=153AF
SE19Name=Final Chime
SE19Offset=1C07A
SE20Name=Boss Music 1
SE20Offset=15340
SE21Name=Boss Music 2
SE21Offset=15344
SE22Name=Victory Chime
SE22Offset=1C082
SE23Name=Boss Chosen
SE23Offset=1B78B
SE24Name=Stage Select
SE24Offset=1B6EB
SE25Name=Big Eye Sound
SE25Offset=16c2d

Insectduel
Posted on 10-12-12 04:14 PM Link | Quote | ID: 152650


Hammer Brother
Level: 68

Posts: 774/1069
EXP: 2687209
Next: 41591

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

Last post: 1254 days
Last view: 1254 days
Cossack 4 of Rockman 4 Sparking to Hero is released!

Screenshot is in the website!

The Rockman STH project is back in business!

Crist_93
Posted on 10-17-12 10:20 PM Link | Quote | ID: 152678


Paragoomba
Level: 20

Posts: 58/69
EXP: 39352
Next: 3087

Since: 05-28-11

Last post: 3268 days
Last view: 1086 days
Mega Man3 RE
online photo storage



Just a few screens of project I working at. Since I'm near finishing my MM4 hack (Compilation) I'm going to start something new - this time Mega Man 3 hack. I think I would call It Mega Man 3 RE (Remake) but i'll see later. I'm not going to upload any videos or clips since I won't done something serious (for ex. all Robot Master Levels). I'm going to make some maior graphic changes to improve it. I got small request. If anyone have got data about MM3 hacking (mainly about enemy & boss AI + weapons data) let me know.

____________________



kuja killer
Posted on 10-18-12 01:12 AM (rev. 3 of 10-21-12 10:57 PM) Link | Quote | ID: 152681


Level: 55

Posts: 313/628
EXP: 1243630
Next: 70559

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

Last post: 279 days
Last view: 4 days
yea.. of course.

http://acmlm.kafuka.org/uploader/get.php?id=4279 - weapons stuff
http://acmlm.kafuka.org/uploader/get.php?id=4095 - lots of docs
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 83 84 85 86


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

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

Page rendered in 0.050 seconds. (354KB of memory used)
MySQL - queries: 112, rows: 152/152, time: 0.039 seconds.