| |||
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 |
NetSplit |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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.
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 |
| ||
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...
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 |
| ||
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 |
| ||
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 |
| ||
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. 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.
Only Fire Man works with this code. He's in the 4th room, and he's the 4th in the coding too. |
za909 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
Paragoomba Level: 20 Posts: 58/69 EXP: 39352 Next: 3087 Since: 05-28-11 Last post: 3268 days Last view: 1086 days |
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 |
| ||
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 |
Main - ROM Hacking - General Megaman Hacking Thread | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 112, rows: 152/152, time: 0.039 seconds. |