| |||
Views: 88,476,215 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-24-24 08:10 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 4 guests | 1 bot |
Main - ROM Hacking - General Megaman Hacking Thread | New thread | New reply |
NARFNra |
| ||
Koopa Level: 25 Posts: 49/114 EXP: 87633 Next: 1987 Since: 02-13-10 From: Texas Last post: 1804 days Last view: 1804 days |
It's cool, sorry if I seemed aggressive as well.
I do agree with you guys that it would be neat to have some better ASM guides, though. As it is now, I'm still not really sure how to use the Code/ASM Logger, and whenever you ask how to figure things out the general response is "use the Code/ASM Logger". I think there need to be more transitional guides for that stage between "i can read what the code is doing to the registers" and "i can actually understand what the disassembled code is really doing". |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 35/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
Don't worry people I'm not here to help!
I found tutorial online that helps you build on your ASM knowledge. The link is; http://bbitmaster.com/neshackingtutorial1.txt When you get to the end of the first document, just replace the "1" with a 2 and your off to the second document! To get to document 3, just replace 2 with 3. To get to document 4, switch 3 with 4- I THINK YOU GET THE POINT! In the first document, there's two link to dahrkdaiz's ASM tutorial. Could this be what kuja killer was talking about? We'll never know because both links don't work for me. Here's a link to the 6502 simulator that he talks about in the first document. The link to the original website is down, so I had to do some digging to find this; http://exifpro.com/utils.html After reading the first couple documents, I managed to be able to make this custom ASM code! .ORG 8000 LDA #$02 CLC ADC #$02 PHA LDA #$03 CMP #$03 BEQ branch2 branch1: LDA #$04 TAY INY PLA BRK branch2: LDA $1 CMP #$03 BNE branch1 Once you guys read through the documents, or already understand some ASM, then you know what's going on here! Just a quick note, the BRK command that's under branch1 is just there for the 6502 program, so... just ignore that... |
DurfarC |
| ||
Shyguy Level: 24 Posts: 43/97 EXP: 71887 Next: 6238 Since: 10-23-08 From: Norway Last post: 1955 days Last view: 353 days |
Posted by Gavzilla1000Wow - had I just known about this one before starting to learn, it would have made things so much easier. It's written in a way that's much more understandable for people who have zero 6502 knowledge initially (like I had), compared to most of the tutorials I managed to find otherwise. To be honest, I never got what the PHA and PLA commands did, but by reading this I instantly got it (it's actually really simple, haha). Thanks for the link! |
Chaobomr |
| ||
Buster Beetle Banned: Spammer takeover? Level: 45 Posts: 220/467 EXP: 638626 Next: 21538 Since: 05-07-13 From: The dirty south Last post: 3478 days Last view: 3476 days |
This is getting into the ASM tutorial, but can I use Microsoft Visual Studio instead of what's in < a href="http://home.pacbell.net/michal_k/6502.html">pacbell.net? I have an assembler somewhere. Tch, never mind. The address doesn't exist anymore. ____________________ Sorry for the stupidity. That jerk will be dealt with in the most insane way possible. |
kuja killer |
| ||
Level: 55 Posts: 364/628 EXP: 1243665 Next: 70524 Since: 03-20-07 From: Lake Havasu City, Arizona Last post: 280 days Last view: 5 days |
oh my god, that's the IRC log, that's the one 100%!!!
that log is how i learned ASM when i first began http://web.archive.org/web/20040123103017/http://dahrkdaiz.panicus.org/asmlog.txt it exists on the "way back machine" website Warning: just as i remember'd, it is very very long, but this is how i truly learned. not all those super complicated documents that expect people to already have programming language expiernece |
Trinitronity |
| ||
Porcupo Level: 38 Posts: 40/311 EXP: 351037 Next: 19410 Since: 02-04-13 Last post: 1936 days Last view: 578 days |
Thanks, now I just need to find the parts that could help me. |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 36/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
Ok... I'm going to need some help with this small ASM "hack"
With the IRC log kuja killer linked, they talk about changing the ASM so that when Mario does in SMB1, he gains a life, instead of losing one. I thought this would be a nice exercise to do with Megaman 5. I used the Cheat Search with FCEUX, and found that the live address is $00BF. SWEET! I thought. I busted open the Debugger, and "Seek to" BF. The piece of ASM that was there was; :00BF:01 00 ORA ($00,X) @ $0002 = #$62 BOOM! I'm instantly confused. Reason being, it's not as straight forward as I thought. I know that ORA means "OR" in Memory. And I know that value $00 will be added with whatever Registry X is. "($00,X)" But what threw me off, is that $00002 = #$62 is constantly switching around. It switches to; $CDFF = #$01 $0000 = #$00 $1018 = #$00 $00FF = #$88 $F000 = #$F0 And; $0002 = #$18 I put a Break at $00BF, but that doesn't seem to help. (I should do some research on the Break option anyway.) I sorta confused, so if anybody can help, please do. |
kuja killer |
| ||
Level: 55 Posts: 365/628 EXP: 1243665 Next: 70524 Since: 03-20-07 From: Lake Havasu City, Arizona Last post: 280 days Last view: 5 days |
ok no you got the right idea at first.
yes, megaman lives counter is BF in the RAM, that's correct you cant change code from the RAM physically, but you can still mess around with the values in real time. i do not ever use the cheat search myself personally since i dont need it anymore, but for beginners, it's useful of course here's what i did, take a look at this image: http://postimg.org/image/lg3m96m8j/ i open the debugger, i click the Add button, type "BF" and check the box for "write" so i set a write breakpoint on the BF RAM. i now go die to an enemy, and the emulator pauses and brings up the debugger at this location, 85A0: C6 BF .... DEC $BF i right click next to that instruction on the little panel on the far left edge of the debugger, and it instantly brings you to where in the ROM it was, 2E5B0 change the C6 to an E6 (INC instruction)...and it will increase megaman's lives instead of going down when ya die |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 37/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
I apologize if I'm getting ahead of myself, but I decided to give a crack at custom ASM coding for Megaman 5.
What I wanted to create was ASM code that did the reverse of Insectduel's Full lives become full energy code did. A.K.A, if you collected a "Big Energy" power up with full health, it would give you an extra life. I busted open FCEUX, and found the Offset for Megaman's health. $00B0, quite close to the lives offset if I say so myself... 15 bytes off... I put a breakpoint at $00B0, and collected a "Big Energy". BOOM! The debugger appeared to the offset $AEE6. Here's the ASM; INC $B0,X @ $00B0 = #$94 ; #$94 being my life at the time. So, I busted open my 6502 simulator and started making some code. This wasn't going to be a perfect ASM hack, so I wouldn't of minded if something got messed up, but yet the ASM still worked. Here's my problem. With the ASM knowledge that I know, I created this; .ORG 0 ; There for program sake. Starts from $0000. LDA #$9C ; This is the value of Megaman health bar at its max value. STA $01 ; Stores the value #$9C in address $0001. This is just for the prgram sake, I'll change it if I put it in the ROM. LDA #$1F ; This is just to make sure that this next command works. LDA $01 ; Loads #$9C from address $0001. CMP $9C ; This is supposed to compare STA $01, to make sure of its value. BEQ $000C ; If the command worked like I thought it did, then if the value of $0001 was #$9C, then it skips this. INC $00BF ; If the value was #$9C, then it adds one to the address #$00BF, witch adds one life to Megaman. INC $B0,X ; This is for if $01 wasn't #$9C, then it'll give you your energy as normal. The thing is... CMP didn't work the way I expected. I thought that it if the value didn't match the CMP, then it would activate the Z flag, and skip the INF command. I tried finding / looking for an ASM command that will allow me to achieve this, but no luck. The ASM code that I made looks pretty good to me, but this is coming from a n00b... If anybody knows a "fix", then I would be very grateful. |
NARFNra |
| ||
Koopa Level: 25 Posts: 50/114 EXP: 87633 Next: 1987 Since: 02-13-10 From: Texas Last post: 1804 days Last view: 1804 days |
Is CMP $9C supposed to be CMP #$9C?
|
32x1000 |
| ||
Koopa Level: 24 Posts: 6/116 EXP: 76723 Next: 1402 Since: 12-27-13 From: Florida Last post: 2036 days Last view: 1482 days |
Does anybody know what the address is for the palette for bubble mans background? |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 38/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
Hmm... I never knew this, but apparently the underwater tiles in BubbleMan's Stage actually use multiple pallets.
Underwater green tiles: $FE10; $FE30; FE40; FE50 That's all I really found so far. I'll edit this post if I find more. |
32x1000 |
| ||
Koopa Level: 24 Posts: 7/116 EXP: 76723 Next: 1402 Since: 12-27-13 From: Florida Last post: 2036 days Last view: 1482 days |
Ok thanks
|
Zynk |
| ||
Purple Leever Level: 32 Posts: 35/209 EXP: 195926 Next: 10516 Since: 10-19-12 Last post: 78 days Last view: 1 day |
Does anybody know how to assign palettes to Robot Masters on Megaman III Stage Select screen? I want to change Megaman's palette, but as I modify the hexadecimals at $3C144 the whole screen gets affected and the blue colored RMs were also affected.
____________________ |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 39/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
Megaman 3's stage select still uses the normal 4 pallets like any other stage. That's why there's usually 1 or 2 unique boss pallet on the stage select screen, and the rest uses the same color pallet.
You have the right pallet tho... That's still something... What you'll have to do, is dedicate one pallet for Megaman, and use the other three for the robot masters. You'll have to cram, but with careful planning, you could make it work! OR! You could simply leave the stage select screen the same, and simply edit the pallet in game. But... I would suggest option 1 tho. Good Luck! Post a screenshot of the final product! (If you go through with it of course.) |
RetroRain |
| ||
Fuzz Ball Level: 66 Posts: 705/994 EXP: 2437763 Next: 24088 Since: 09-30-07 Last post: 1933 days Last view: 955 days |
Posted by Gavzilla1000I love the lives ASM hack. The lives ASM hack is the easiest ASM hack, and perhaps the best ASM hack for beginners. And there are so many ways you can do it too. You can simply change the STA to a LDA, so that the lives never gets stored if the game SBC's the lives and stores it. Or you can simpy change the SBC to an ADC. If the game decreases the lives with DEC, you can simply change it to an INC. Or, you can simply NOP out the code that decrements the lives altogether so that it is never executed! There are so many ways to do it, and there is no wrong way. However, if you don't want lives in your game at all, I'd probably just NOP out the code, that way you have more free space in your game if you ever need it. ____________________ My YouTube Channel |
Zynk |
| ||
Purple Leever Level: 32 Posts: 36/209 EXP: 195926 Next: 10516 Since: 10-19-12 Last post: 78 days Last view: 1 day |
Posted by Gavzilla1000Is it possible to assign Megaman's color with the red-colored Robot Masters? Do you know how can I make that happen? I'm curious on how Battle of Gamma got its purple background without turning everyone into purple Or how on Megaman ICFE got all the Robot Masters grayish without MM getting gray too ____________________ |
NARFNra |
| ||
Koopa Level: 25 Posts: 51/114 EXP: 87633 Next: 1987 Since: 02-13-10 From: Texas Last post: 1804 days Last view: 1804 days |
Zynk, Mega Man's tiles are their own TSA block; you can edit their palette of choice and make it different from the background easily by using scene screen mode in Mega FLEX.
The colors are weird here because this is Mega Man Memento's stage select, by the way. |
Gavzilla1000 |
| ||
Red Paragoomba Level: 18 Posts: 40/60 EXP: 29354 Next: 543 Since: 05-22-13 Last post: 1909 days Last view: 1834 days |
Here's a very "simple" question I have that deals with the "Boss Intro" screen. You know... when you select a boss... and they kinda do there little "intro dance." I want to find the ASM that deals with this, but how do I exactly figure that out?
I used the Trace Logger, and just logged the "Boss Intro" screen, but that didn't help. I'm trying to find this with Megaman 3, but I'm not really looking to hack any game in particular. Just wanting to know how you guys figure things out that you can't exactly look up in the Cheat Search tool. |
infidelity |
| ||
Fuzz Ball Level: 66 Posts: 495/968 EXP: 2367648 Next: 94203 Since: 05-24-07 Last post: 956 days Last view: 812 days |
The dance formation you are talking about, is the game loading 3 sprite animations of the boss in action. It'll be loged as data (blue).
Idk where any of those are located, I haven't touched a MM game in years, but that's how it's done. |
Main - ROM Hacking - General Megaman Hacking Thread | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 122, rows: 162/162, time: 0.036 seconds. |