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

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

NARFNra
Posted on 02-06-14 12:30 AM (rev. 2 of 02-06-14 12:30 AM) Link | Quote | ID: 155627


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
Posted on 02-06-14 01:41 AM (rev. 2 of 02-06-14 01:45 AM) Link | Quote | ID: 155628


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
Posted on 02-06-14 02:07 AM Link | Quote | ID: 155630


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 Gavzilla1000
I found tutorial online that helps you build on your ASM knowledge.
The link is;

http://bbitmaster.com/neshackingtutorial1.txt
Wow - 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
Posted on 02-06-14 03:12 AM (rev. 2 of 02-06-14 03:13 AM) Link | Quote | ID: 155631


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
Posted on 02-06-14 03:42 AM (rev. 2 of 02-06-14 03:43 AM) Link | Quote | ID: 155632


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
Posted on 02-06-14 07:05 PM Link | Quote | ID: 155637


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
Posted on 02-07-14 12:53 AM Link | Quote | ID: 155638


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
Posted on 02-07-14 01:12 AM (rev. 2 of 02-07-14 01:16 AM) Link | Quote | ID: 155639


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
Posted on 02-08-14 02:57 AM (rev. 2 of 02-08-14 02:58 AM) Link | Quote | ID: 155646


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
Posted on 02-08-14 03:18 AM Link | Quote | ID: 155647


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
Posted on 02-08-14 05:00 PM Link | Quote | ID: 155653


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
Posted on 02-08-14 06:06 PM Link | Quote | ID: 155654


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
Posted on 02-09-14 12:57 AM Link | Quote | ID: 155657


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
Posted on 02-09-14 11:06 AM Link | Quote | ID: 155659


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
Posted on 02-09-14 04:56 PM Link | Quote | ID: 155660


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
Posted on 02-09-14 07:37 PM Link | Quote | ID: 155661


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 Gavzilla1000
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.
I 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
Posted on 02-11-14 03:48 PM (rev. 2 of 02-11-14 04:03 PM) Link | Quote | ID: 155663


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 Gavzilla1000
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.

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!
Is 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
Posted on 02-11-14 09:06 PM Link | Quote | ID: 155665


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
Posted on 02-12-14 01:13 AM Link | Quote | ID: 155669


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
Posted on 02-12-14 01:52 AM Link | Quote | ID: 155670


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.
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.045 seconds. (343KB of memory used)
MySQL - queries: 122, rows: 162/162, time: 0.036 seconds.