Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Need refresher in using FCEUXD Tracer. My html's no longer work | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
infidelity

Red Paratroopa
Level: 21

Posts: 142/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-04-05 07:15 AM Link | Quote
For the hell of it, I was messing around with Megaman 3, sparkmans level. At the very beginning, there's the little red thing with 2 legs, walking back and forth. I wanted to screw around with how many shots it can take to kill him. For the plasma gun, it takes 3 shots to kill him. You can clearly see this at address $4FF. ="03" Now here's what I'm doing.

add/write breakpoint to 4FF
start Tracer
i shot the guy, and everything stops
i click Step Into about 6 times
i start looking for DEC, and the only close one i see says,
$FF89:C6 F6 DEC $F6 = #$01
i goto address $FF89 in the Debuger, and it says,
$FF89:C6 F6 DEC $F6 = #$00
i then goto it in hex which is $3ff99
i try messing around with the values before it, after it, all 1 at a time, and nothing happens. I wouldn;'t ask, but my html notes do not work anymore, so i'll the notes i got from bbitmaster are lost. what steps am i doing wrong? thanks :-)

Oh, and what i'm trying to do, is increase the amount of damage the little guy can take. just for the hell of it. Thanks



Sukasa

Boomboom
Error 349857348734534: The system experienced an error.
Level: 57

Posts: 1892/1981
EXP: 1446921
For next: 39007

Since: 02-06-05
From: *Shrug*

Since last post: 6 days
Last activity: 1 day
Posted on 10-04-05 07:35 AM Link | Quote
Ehh, I'm more at home with 65816 as opposed to 6502, but since they're similar, I'll try to help you out. DEC $F6 would be working on a different RAM address the way I understand it, try finding the code for the write, then go back a few bytes in the ROM and place an execute breakpoint (I can't see why there wouldn't be one like that) there, so you can see what comes before the address $4FF. I wouldn't be surprised if the code goes something likeLDA $04FF
DEC A
BNE wherever
;death code here
wherever:
STA $04FF
your other code here
.
.
.
DEC $F6
.
.
.
kuja killer

Rat
Level: 11

Posts: 19/80
EXP: 4582
For next: 1403

Since: 09-22-05
From: Lake Havasu City, Arizona

Since last post: 10 hours
Last activity: 1 hour
Posted on 10-04-05 08:35 AM Link | Quote
I know this is going to sound really cheap and not the real way to do it, but megafle 0.42 can allow you to modify the hex value of the amount of life a sprite has. It's what I did with the large hardhat enemy driving the bulldozer, on my hack. Normally it takes 3 hits to kill, but I modified it to $08 so that it takes 8 hits instead, because those things deserve to have more strength. 3 hits to kill it is just not enough. O_o


(edited by kuja killer on 10-03-05 11:37 PM)
(edited by kuja killer on 10-03-05 11:38 PM)
(edited by kuja killer on 10-03-05 11:41 PM)
(edited by kuja killer on 10-03-05 11:42 PM)
LocalH

Red Goomba
Level: 12

Posts: 42/46
EXP: 7612
For next: 309

Since: 03-17-04

Since last post: 25 days
Last activity: 4 days
Posted on 10-04-05 08:52 AM Link | Quote
Originally posted by infidelity
For the hell of it, I was messing around with Megaman 3, sparkmans level. At the very beginning, there's the little red thing with 2 legs, walking back and forth. I wanted to screw around with how many shots it can take to kill him. For the plasma gun, it takes 3 shots to kill him. You can clearly see this at address $4FF. ="03" Now here's what I'm doing.

add/write breakpoint to 4FF
start Tracer
i shot the guy, and everything stops
i click Step Into about 6 times
i start looking for DEC, and the only close one i see says,
$FF89:C6 F6 DEC $F6 = #$01
i goto address $FF89 in the Debuger, and it says,
$FF89:C6 F6 DEC $F6 = #$00
i then goto it in hex which is $3ff99
i try messing around with the values before it, after it, all 1 at a time, and nothing happens. I wouldn;'t ask, but my html notes do not work anymore, so i'll the notes i got from bbitmaster are lost. what steps am i doing wrong? thanks :-)

Oh, and what i'm trying to do, is increase the amount of damage the little guy can take. just for the hell of it. Thanks


I'm not particularly well-versed with either MM3 or the NES, but I do understand 6502 quite well. If $04FF is indeed the RAM address for that variable, then you should look for instructions that stuff $04FF with the desired value. (LDA #$xx : STA $04FF or LDA $xxxx : STA $04FF, possibly with an index displacement on the LDA). It's possible that the game doesn't use a DEC but rather an SBC (since, if I remember correctly, different weapons do different amounts of damage), in which case you'll need to find an instruction that loads the value in $04FF, subtracts a value from it, then stores it back (LDA $04FF : SBC #$xx : STA $04FF). The subtracted value could also be in zeropage, or could come from a lookup table that stores the damage values for each weapon. If the game uses SBC, then there may also be a CLC present before the SBC, to ensure that the current contents of the carry flag don't disrupt the intended behavior of the subtraction.


(edited by LocalH on 10-03-05 11:53 PM)
(edited by LocalH on 10-03-05 11:54 PM)
infidelity

Red Paratroopa
Level: 21

Posts: 143/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-04-05 06:54 PM Link | Quote
well, when the breakpoint kicks in for this, it automatcily stops at address,
$81CD:9D E0 04 STA $04E0,X @ $04FF = #$03 A:02 X:1F Y:07 P:nvUBdizC

now, when I scroll up a bit in the 6502 debugger, it shows "LDA" at this address,
$81C3:BD E0 04 LDA $04E0,X @ $04FF = #$03 A:00 X:1F Y:07 P:nvUBdizc

and if i scroll up somemore, i see the same LDA at,
$81B6:BD E0 04 LDA $04E0,X @ $04FF = #$03 A:00 X:1F Y:07 P:NvUBdizc

i dont konw if i'm supposed to look for a "LDX" or "LDA" I want to say it's the X register, but nothing is working. I don't want to take the cheap way out, cause this from of knowledge can apply to anything, not just Megaman 3, what I'm doing is learning, I'm just looking in the wrong place.....

I'm including a lengthy list of Tracer. Because I keep thinking the "X" value is what I need to look for. The "X" value I start this list at is "X:1F" Before that is "X:01" Like I said, I'm probably wrong, and I would like it if someone could point out where I'm screwed up. The list will end where the amount of hits are left are #$02 at $8218

Also, when 1 or a number of sprites appear, they usually fill up $4FF to like $4FA, I guess this is where they load the sprite order or something?



$F8B2:60 RTS A:01 X:1F Y:02 P:nvUBdizC
$8149:A5 F5 LDA $F5 = #$1D A:01 X:1F Y:02 P:nvUBdizC
$814B:48 PHA A:1D X:1F Y:02 P:nvUBdizC
$814C:86 0F STX $0F = #$00 A:1D X:1F Y:02 P:nvUBdizC
$814E:A9 0A LDA #$0A A:1D X:1F Y:02 P:nvUBdizC
$8150:85 F5 STA $F5 = #$1D A:0A X:1F Y:02 P:nvUBdizC
$8152:20 6B FF JSR $FF6B A:0A X:1F Y:02 P:nvUBdizC
$FF6B:E6 F6 INC $F6 = #$00 A:0A X:1F Y:02 P:nvUBdizC
$FF6D:A9 06 LDA #$06 A:0A X:1F Y:02 P:nvUBdizC
$FF6F:85 F0 STA $F0 = #$07 A:06 X:1F Y:02 P:nvUBdizC
$FF71:8D 00 80 STA $8000 = #$4C A:06 X:1F Y:02 P:nvUBdizC
$FF74:A5 F4 LDA $F4 = #$1C A:06 X:1F Y:02 P:nvUBdizC
$FF76:85 F2 STA $F2 = #$1C A:1C X:1F Y:02 P:nvUBdizC
$FF78:8D 01 80 STA $8001 = #$0C A:1C X:1F Y:02 P:nvUBdizC
$FF7B:A9 07 LDA #$07 A:1C X:1F Y:02 P:nvUBdizC
$FF7D:85 F0 STA $F0 = #$06 A:07 X:1F Y:02 P:nvUBdizC
$FF7F:8D 00 80 STA $8000 = #$4C A:07 X:1F Y:02 P:nvUBdizC
$FF82:A5 F5 LDA $F5 = #$0A A:07 X:1F Y:02 P:nvUBdizC
$FF84:85 F3 STA $F3 = #$1D A:0A X:1F Y:02 P:nvUBdizC
$FF86:8D 01 80 STA $8001 = #$0C A:0A X:1F Y:02 P:nvUBdizC
$FF89:C6 F6 DEC $F6 = #$01 A:0A X:1F Y:02 P:nvUBdizC
$FF8B:A5 F7 LDA $F7 = #$00 A:0A X:1F Y:02 P:nvUBdiZC
$FF8D:d0 01 BNE $FF90 A:00 X:1F Y:02 P:nvUBdiZC
$FF8F:60 RTS A:00 X:1F Y:02 P:nvUBdiZC
$8155:A6 0F LDX $0F = #$1F A:00 X:1F Y:02 P:nvUBdiZC
$8157:A4 A0 LDY $A0 = #$00 A:00 X:1F Y:02 P:nvUBdizC
$8159:B9 AF 83 LDA $83AF,Y @ $83AF = #$00 A:00 X:1F Y:00 P:nvUBdiZC
$815C:85 00 STA $00 = #$1F A:00 X:1F Y:00 P:nvUBdiZC
$815E:B9 BB 83 LDA $83BB,Y @ $83BB = #$A1 A:00 X:1F Y:00 P:nvUBdiZC
$8161:85 01 STA $01 = #$18 A:A1 X:1F Y:00 P:NvUBdizC
$8163:BC 20 03 LDY $0320,X @ $033F = #$07 A:A1 X:1F Y:00 P:NvUBdizC
$8166:B1 00 LDA ($00),Y @ $A107 = #$01 A:A1 X:1F Y:07 P:nvUBdizC
$8168:d0 06 BNE $8170 A:01 X:1F Y:07 P:nvUBdizC
$8170:A5 A0 LDA $A0 = #$00 A:01 X:1F Y:07 P:nvUBdizC
$8172:C9 08 CMP #$08 A:00 X:1F Y:07 P:nvUBdiZC
$8174:d0 40 BNE $81B6 A:00 X:1F Y:07 P:NvUBdizc
$81B6:BD E0 04 LDA $04E0,X @ $04FF = #$03 A:00 X:1F Y:07 P:NvUBdizc
$81B9:29 E0 AND #$E0 A:03 X:1F Y:07 P:nvUBdizc
$81BB:F0 03 BEQ $81C0 A:00 X:1F Y:07 P:nvUBdiZc
$81C0:BC 20 03 LDY $0320,X @ $033F = #$07 A:00 X:1F Y:07 P:nvUBdiZc
$81C3:BD E0 04 LDA $04E0,X @ $04FF = #$03 A:00 X:1F Y:07 P:nvUBdizc
$81C6:38 SEC A:03 X:1F Y:07 P:nvUBdizc
$81C7:F1 00 SBC ($00),Y @ $A107 = #$01 A:03 X:1F Y:07 P:nvUBdizC
$81C9:B0 02 BCS $81CD A:02 X:1F Y:07 P:nvUBdizC
$81CD:9D E0 04 STA $04E0,X @ $04FF = #$03 A:02 X:1F Y:07 P:nvUBdizC
$81D0:d0 35 BNE $8207 A:02 X:1F Y:07 P:nvUBdizC
$8207:BD E0 04 LDA $04E0,X @ $04FF = #$02 A:02 X:1F Y:07 P:nvUBdizC
$820A:F0 23 BEQ $822F A:02 X:1F Y:07 P:nvUBdizC
$820C:BD 00 03 LDA $0300,X @ $031F = #$80 A:02 X:1F Y:07 P:nvUBdizC
$820F:29 40 AND #$40 A:80 X:1F Y:07 P:NvUBdizC
$8211:d0 0A BNE $821D A:00 X:1F Y:07 P:nvUBdiZC
$8213:BD E0 04 LDA $04E0,X @ $04FF = #$02 A:00 X:1F Y:07 P:nvUBdiZC
$8216:09 20 ORA #$20 A:02 X:1F Y:07 P:nvUBdizC
$8218:9D E0 04 STA $04E0,X @ $04FF = #$02 A:22 X:1F Y:07 P:nvUBdizC

Thanks.
Matrixz

Goomba
Level: 8

Posts: 11/20
EXP: 2186
For next: 1

Since: 03-15-04
From: Norway

Since last post: 12 hours
Last activity: 7 hours
Posted on 10-04-05 07:39 PM Link | Quote
If you are looking for the actual HP of the enemy.. when you start the Sparkman stage, you see that $4FF already contains the value $03. This means you cannot find what sets the initial value of $4FF by looking for writes to $4FF when you shoot the enemy, but you have to find it when it sets $4FF to $03. So keep the Write breakpoint to $4FF enabled, but reset the game and choose Sparkman's stage. Now, right when megaman is about to warp down and the enemies becomes visible, you should get a snap at PC adress $9CF4 where it writes to $4FF. On the line above, it loads the HP value from a table at $A400. Now you should be able to figure out the rest from there.
infidelity

Red Paratroopa
Level: 21

Posts: 144/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-04-05 09:54 PM Link | Quote
damn it, i can't find an LDA #$03

i can only find

$F838:A9 00 LDA #$00
$F869:A9 01 LDA #$01
$F87D:A9 02 LDA #$02
$9CF1:B9 00 A4 LDA $A400,Y @ $A436 = #$03

i notice that $9CF1 is showing #$03, but I'm looking further up as well, to see where A is, but I cant find it. am i looking correctly? i went to $A400 but couldn't find any values that edit the HP for him. *sigh* i'm making triple backups of my notes from now on.

EDIT - Wait, think I got it. brb

EDIT - Got it. my problem was, i wasn't refreshing the screen with the changes I made. I did this with megaman2, and the effects were immediate, right on the spot. I didn't know that I had to refresh the screen for the changes to take effect. Thank You!

WOO HOO! it's working. I'm now able to edit enemies HP with the plasma gun. I started tinkering with Megaman4's HP for enemies, they have it in a different part of the rom, but I found it. I also found something else. $77bea, this lets you edit the time left for an item that appears when you kill an enemy. set to FF, and your weapon,health,large/small,extra life, will never disappear! or, you could set it so you have like a split second to grab it, lol! awesome!


(edited by infidelity on 10-04-05 12:54 PM)
(edited by infidelity on 10-04-05 12:56 PM)
(edited by infidelity on 10-04-05 01:04 PM)
(edited by infidelity on 10-04-05 01:09 PM)
(edited by infidelity on 10-04-05 01:37 PM)
(edited by infidelity on 10-04-05 03:15 PM)
(edited by infidelity on 10-04-05 03:15 PM)
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 2165/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 10-05-05 03:19 AM Link | Quote
If the game uses SBC, then there may also be a CLC present before the SBC, to ensure that the current contents of the carry flag don't disrupt the intended behavior of the subtraction.

This is an important but nitpicky correction. On a 6502 or 65816 processor, you'll want to do

SEC
SBC (arguments)

Because of the way SBC ( = Subtract with Carry) works you have to set the carry flag first to get a pure subtractions, sometimes called SUB
kuja killer

Rat
Level: 11

Posts: 21/80
EXP: 4582
For next: 1403

Since: 09-22-05
From: Lake Havasu City, Arizona

Since last post: 10 hours
Last activity: 1 hour
Posted on 10-05-05 04:37 AM Link | Quote
Originally posted by infidelity


WOO HOO! it's working. I'm now able to edit enemies HP with the plasma gun. I started tinkering with Megaman4's HP for enemies, they have it in a different part of the rom, but I found it. I also found something else. $77bea, this lets you edit the time left for an item that appears when you kill an enemy. set to FF, and your weapon,health,large/small,extra life, will never disappear! or, you could set it so you have like a split second to grab it, lol! awesome!


Ohh, that's cool. Nice job. Just curious where the beginning of that data starts at for hp values of sprites (mm3 wise)? Better for me to learn that now rather than not at all, for my own info. Only thing I've found so far and understand for enemies is this:

(within per level)
$B10 ($100): Sprite Data: Screen Position for each Enemy
$C10 ($100): Sprite Data: X Position for each Enemy
$D10 ($100): Sprite Data: Y Position for each Enemy
$E10 ($100): Sprite Data: Type for each Enemy




(edited by kuja killer on 10-04-05 09:25 PM)
(edited by kuja killer on 10-04-05 11:03 PM)
LocalH

Red Goomba
Level: 12

Posts: 43/46
EXP: 7612
For next: 309

Since: 03-17-04

Since last post: 25 days
Last activity: 4 days
Posted on 10-06-05 12:08 PM Link | Quote
Originally posted by MathOnNapkins
If the game uses SBC, then there may also be a CLC present before the SBC, to ensure that the current contents of the carry flag don't disrupt the intended behavior of the subtraction.

This is an important but nitpicky correction. On a 6502 or 65816 processor, you'll want to do

SEC
SBC (arguments)

Because of the way SBC ( = Subtract with Carry) works you have to set the carry flag first to get a pure subtractions, sometimes called SUB

Ah, that's right, I'm an idiot, you CLC for a pure ADC, not SBC. My bad =P
infidelity

Red Paratroopa
Level: 21

Posts: 145/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-06-05 06:25 PM Link | Quote
I'm finding a shitload of offsets thoughout Megaman 4. I'm basicly going through every level, and trying to find every possible offset, for every enemy that comes up on the screen, weather it's their HP, jumping distance, traveling distance, projectile distance, time until their next attacks, etc. So far, I've torn through Dustman, Drillman, & Toadman. The other things i'm trying to figure out, are speed values. I've tried messing with some jumping distances for some enemies, but when I edit them, it edits all jumping for everyone, including megaman. I've also tried finding what cause the rain effect in Toadman's stage *when megaman jumps straight up, he gets pushed back* I'm trying to find the offset for that, so I can screw around with how light/hard, the rain pushes him.

Going back to my idea on tyring to find the speed values, no luck. For the hell of it, i'm tyring to see if I can increase movement speed of certain enemies, and shorten the length time it takes to charge your mega buster. I've been searching through 300-3FF and trying to find a counter for when you hold the B button down. Must be something else that's doing this.


(edited by infidelity on 10-06-05 09:26 AM)
(edited by infidelity on 10-06-05 11:38 AM)
(edited by infidelity on 10-06-05 11:41 AM)
kuja killer

Rat
Level: 11

Posts: 22/80
EXP: 4582
For next: 1403

Since: 09-22-05
From: Lake Havasu City, Arizona

Since last post: 10 hours
Last activity: 1 hour
Posted on 10-06-05 09:19 PM Link | Quote
Originally posted by infidelity
I'm finding a shitload of offsets thoughout Megaman 4. I'm basicly going through every level, and trying to find every possible offset, for every enemy that comes up on the screen, weather it's their HP, jumping distance, traveling distance, projectile distance, time until their next attacks, etc..


Got a question if I may ask. Concerning Megaman 3 though. Since you know alot and understand much more. I'm working on the snakeman level on my hack, and there's an issue i want to figure out how to resolve concerning those giant snakes found through the level...there's only 2 of them right? I don't really need to know anything about the 1st one, it's just the 2nd one.

First of all the snakeman level data is between 0x0A000 - 0x0BFFF in the rom memory ...i'm guessing there's probably even more somewhere..
But I can't seem to get part of the 2nd giant snake's body OFF the screen so that I can push it back a few screens before. It's on screen position $0E
So that'd be right around 0x0AB10 (around that area) for what enemies are on what screen position they're on. I'm trying to get the whole thing moved to screen 0B which is just a couple backwards. I've moved all the instances of the giant snake sprites to it...edited the maps..reused the same screen preset from the 1st snake ...tried other screen presets ...and it's not working. I mean I can fight the thing ...it's just that the body won't move. ..and it's still stuck on screen 0E

Is there some type of controller or pointer that I have to find and change to get the whole body thing transfered to the screen/scroll postion/preset that I want it to be on? I've tred changing every instance of $0E to $0B between the snakeman level data just to see what happens (and i did make backups first) in the hex editor ...and still no luck.

I guess it's not stage specific? It's only this one particular enemy. I've got all the sprites right..it's just that the body part that animates and jiggles up and down ...is stuck a few screens away and not on the screen I want it to be.
Here's an example:

This is all fine and dandy ...body doesn't move up and down so where's that happening?

It's happening over here just a bit further away. ..
That's why i need to know if there's really some type of controller in the ROM memory of some sort that's pointing to a specific area that makes what's happening on the 2nd image, being on that screen.


(edited by kuja killer on 10-06-05 12:22 PM)
(edited by kuja killer on 10-06-05 12:35 PM)
(edited by kuja killer on 10-06-05 12:37 PM)
(edited by kuja killer on 10-06-05 12:41 PM)
infidelity

Red Paratroopa
Level: 21

Posts: 146/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-06-05 10:34 PM Link | Quote
dang, honestly I don't know. your not trying to have the giant snake head appear while your scrolling are you? moving stuff around, i'm not aware of. sounds like a cool idea though, let me know if you have any luck.
kuja killer

Rat
Level: 11

Posts: 23/80
EXP: 4582
For next: 1403

Since: 09-22-05
From: Lake Havasu City, Arizona

Since last post: 10 hours
Last activity: 1 hour
Posted on 10-06-05 11:10 PM Link | Quote
Well, something like that. I mean that in the 2nd image ..that little part of the body just sits in mid air doing nothing except jiggling up and down ...that's the default screen it happens on originally..but i'm trying to get it pushed back a few screens earlier.

Now I've also messed around once by just forgetting about that idea, and put them all on that particular screen (sprites and stuff), edited the maps to reflect it ...and it works absolutely fine. Just that I don't want it on that screen though.

Oh and just a little more info, I understand all the stage data between $A10 - $1FFF ...but I don't know what anything means yet between $000 - $999. I'm thinking this sort of pointer thing (if it even is) is between 000 - 999 either that...or somewhere else completely. it'd take me way too long to go through every single value one by one to figure it out. Still going to try though.



(edited by kuja killer on 10-06-05 02:14 PM)
(edited by kuja killer on 10-06-05 02:16 PM)
(edited by kuja killer on 10-06-05 02:16 PM)
(edited by kuja killer on 10-06-05 02:31 PM)
infidelity

Red Paratroopa
Level: 21

Posts: 147/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-07-05 03:25 AM Link | Quote
I've finished grabbing as many offsets from the 8 levels os Megaman 4 as I could.

I'm currently working on Cossack's castle. But there is another method I'm unaware of doing. The slinky in the very beginning of the castle, has an INC that goes from 0 to 9 at "4C7" and resets back to 0 and increases to 9. I'm thinking that this is the speed the graphics move. I'd like to know, how do I properly search for the value of INC? I want to change the "9" value, to whatever. Thank You.


(edited by infidelity on 10-06-05 06:29 PM)
(edited by infidelity on 10-06-05 06:29 PM)
Dish

Spiny
Level: 38

Posts: 594/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 10-07-05 03:39 AM Link | Quote
Originally posted by infidelity
how do I properly search for the value of INC?


Well for starters there is no "value of INC" as you put it. All INC does is:

1) Read a byte from memory
2) Add 1 to that byte
3) Write that value back to memory

Are you sure an INC is being used? or are you just saying INC because the value is incrementing? It's possible the game uses ADC to add 1 to the value rather than INC... and if it does that, it might be followed by a CMP #$09 or CMP #$0A instruction so that it knows when it reached it's max (9), so it can reset.... or it may use INX/CPX instead.
infidelity

Red Paratroopa
Level: 21

Posts: 148/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-07-05 03:33 PM Link | Quote


well, i think i found it. the CMP has a value of 08, yet when viewing the INC by clicking run over and over, it increments all the way up to 9, and resets back to 0. But for some reason, the CMP is 1 byte lower? I edited that number, and to my suprise and luck, it edited the slinkies speed! only problem, anything lower than it's default, the thing takes off like a bastard, and you migh as well set it's HP to 1 hit, cause it's that fast. I can make it even slower if I wanted to, but I guess I'll just leave it at it's default, but I'm hoping this will now help me find INC's for other offsets that I may have missed before. Thank you Disch!


(edited by infidelity on 10-07-05 06:35 AM)
(edited by infidelity on 10-07-05 06:38 AM)
kuja killer

Rat
Level: 11

Posts: 26/80
EXP: 4582
For next: 1403

Since: 09-22-05
From: Lake Havasu City, Arizona

Since last post: 10 hours
Last activity: 1 hour
Posted on 10-07-05 03:45 PM Link | Quote
gah, i gotta figure out how to really use the debugger. ..im not too familiar with it yet. I'm just used to using the hex editor in fceuxd most of the time now that I've been using it more often recently.
infidelity

Red Paratroopa
Level: 21

Posts: 149/164
EXP: 42804
For next: 7139

Since: 09-13-04
From: U.S.A.

Since last post: 2 days
Last activity: 6 hours
Posted on 10-07-05 05:05 PM Link | Quote
something weird. i forgot to write down where the slinky speed was, so i did everything again, and when the INC kicked in, it pointed me to another place, that did nothing. I was scratching my head, and decided to go through the INC 0-9 just once, and when it reseted itself, I went back to the debugger, and then, it took me to where I can actually edit the speed as I did before. I have no idea why that happend. Yes, I'd like to know, why I had to go through the INC first, in order to get to the actuall value to edit? Thanks

EDIT

I'm trying to find the DEC that is at "497" I'm currently at Cossack 3, the 2nd spider enemy.

The debugger snaps, when the enemy hits the screen. This DEC I'm looking for, tells the game
how much time the enemy has left, until it stops movement. The DEC goes from FF to 00. I've tried
looking at the debugger right when the value starts at #$FF, but I think I'm doing it wrong, and
looking in the wrong place. Here's what I've been doing.

$BABD:dE 80 04 DEC $0480,X @ $0497 = #$00

clicked up 11 times to this address

$BAB2:05 A9 ORA $A9 = #$FF

is this right, and if so, where do i look? I'm lost looking for the beginning of the decimal

i click run, and then this address is here

$BABD:dE 80 04 DEC $0480,X @ $0497 = #$FF
i click run again
$BABD:dE 80 04 DEC $0480,X @ $0497 = #$FE
an so on...

I appreciate the help, cause now I know about INC, and I hope I, or someone, can explain the DEC
aspect of this. When I finish, I'll post all my findings, to show my devotion to learning this.

Any ideas? Thank You.


(edited by infidelity on 10-07-05 09:57 AM)
(edited by infidelity on 10-07-05 09:58 AM)
(edited by infidelity on 10-07-05 09:59 AM)
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Need refresher in using FCEUXD Tracer. My html's no longer work | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.021 seconds.