Jump to content

Bond697

Former Staff
  • Posts

    1358
  • Joined

  • Last visited

Posts posted by Bond697

  1. this is in the wrong place.

    the spots you're trying to edit are the pokemon(pkm files) in memory:

    00013 022349D4 d h 0 Slot1 PID(W)

    00014 02234AB0 d h 0 Slot2 PID(W)

    00015 02234B8C d h 0 Slot3 PID(W)

    00016 02234C68 d h 0 Slot4 PID(W)

    00017 02234D44 d h 0 Slot5 PID(W)

    00018 02234E20 d h 0 Slot6 PID(W)

    (from my ram watch file)

    the pid is right at the beginning of the pkm. are the numbers you found the current hp/atk/etc or the ivs, or the evs? i'm pretty sure they're unencrypted at that point, so that shouldn;t be a problem.

    e: i think i see. you're trying to edit the party stats in ram. each stat is a short, so 2 bytes. keep in mind, though arm cpus can run in big or little-endian, the nds uses little endian. you'll have to reverse what you're seeing in memory if you have the memory viewer set to 8-bit.

  2. what you might want to try, then, is this hack for the ar:

    023FE074 012FFF11

    that makes the ar execute data using the "E" code type, not patch it. so you could do..

    94000130 FFFB0000(run on hitting select, can be changed to whatever)

    023FE074 012FFF11

    E0000000 0000XXXX(the Xs here are the number of bytes being run in total, 4 per word)

    AAAAAAAA BBBBBBBB

    CCCCCCCC DDDDDDDD

    EEEEEEEE FFFFFFFF

    GGGGGGGG E12FFF1E

    you can make it as long as you want, that's just an example. that will execute the arm assembly(must be arm, not thumb) you put in the code every time you hit select. that way you can just run it from the ar and you won't need to worry about finding free memory, etc.

  3. well, the first thing you need to decide on is how often your code needs to run. if it's a constant write, you'll need to hook an irq handler or something. if it's once, then you can maybe hook the pass from the arm9 bootup code to the main loop and then pass off to the main loop. i dunno, something that runs once. you probably want to read this:

    http://crackerscrap.com/ddoc.php?p=dshooking.html&n=1

    you can probably use something like asm to ards to translate your code to hex for running on the ar.

    i'm really not sure how the nature/stat thing works aside from that it's multiplied and saved somewhere as the stat is needed for whatever it's used in.

    also, a lot of the area before the arm9 binary is never used. roughly 2000100->2003FFC is unused, i think. you could use some of that.

  4. you would need to do it in assembly and write it into the ram using the ar. you would also need to find a place to hook the routine and make sure you don;t wreck any registers.

    e: something like...

    push {r0, r1}

    ldr r0, [a]

    ldr r1,

    add r0, r0, r1

    lsr r0, #0x1

    add r0, r0, #0x7

    ldr r1, [c]

    mul r0, r0, r1

    str r0, [d]

    pop {r0, r1}

    bx lr

    that's really simplistic, though, and doesn't account for the work of finding an open area that won;t be written over, finding a hook spot, etc.

  5. i didn't think i needed to say it was for gen 5. and,

    Be aware that finding a match for a plain wondercard may take a few minutes, possibly up to 10, maybe longer. Also, due to the large search space for regular wondercards, you will often find a hit. There is no way to reduce the search space and give better accuracy. However, even if it isn't the exact creation seed, the inspector finding a hit means that it is valid regardless. Shiny wondercards have very specific, easy to determine, PIDs. They're easy to check so those will be instant.

    i cannot believe i need to start quoting myself 4 posts in.

  6. I've had this functionality in PIDRNG for some time, but I figured that I should probably move it to its own thread by now, since the checking for both kinds of wondercards is done. The wondercard portion validates the PID and IVs of a given wondercard and the shiny portion validates the PID of shiny wondercards.

    http://pokemon.thundaga.com/research/apps/WondercardInspector_10.exe

    Usage is simple. For regular wondercards. use the tab labelled as such. For shiny wondercards, use the so-labelled tab. Be aware that finding a match for a plain wondercard may take a few minutes, possibly up to 10, maybe longer. Also, due to the large search space for regular wondercards, you will often find a hit. There is no way to reduce the search space and give better accuracy. However, even if it isn't the exact creation seed, the inspector finding a hit means that it is valid regardless. Shiny wondercards have very specific, easy to determine, PIDs. They're easy to check so those will be instant.

    ...and no, I didn't rip off the PID-checking functionality on Pokecheck. Might as well get that out of the way now. I showed Pokecheck how to do it in the first place. I've had the functionality in place for some time in my own app.

  7. hm, yeah baubary was post a comment in a forum, he was create tools for viewing only for ncgr+nclr+narn+nanm+... for viewing a animated sprite .. yeah is not perfect but is can be help you to create custom animation .... or used TINKE (yeah you must deal with many bug in Tinke)...

    yeah is just experiment, and it working , but don't trying replace on CT2, since CT2 is have bug on reinsert data on narc if is was not same size ... :/

    how about a link to barubary's post?

  8. Does it work a bit like this in 5th gen? RNG call to see if man has egg (every 17 steps) if he does, generate the stats?

    or are the stats pre-generated before the 17 step check? I think I do have this mixed up.

    the stats aren't generated until you talk to the guy and agree to pick up the egg. the first call to the rng to create the pkm/egg comes a small fraction of a second after saying yes to him. they're completely dynamic this gen. gen 4, the pid was made when the egg spawned and the ivs were done later, so you could have any combo. gen 5, everything happens when you say yes- the ivs are pulled right away, then the other data is generated.

    also, the rng is 64-bit and you can't predict the next seed without having the full current seed. so.. even if you did do (pid + 1) to get the upper seed-half, you need the rest. what was it? who knows? you could MAYBE get a seed to work from with a giant for loop and an hour to spare. even then, though, you're basically always going to get a hit.

    if you want to have a look around,

    http://pastebin.com/u/Bond697

    http://www.smogon.com/forums/showthread.php?t=61090&page=30

  9. i don't think you actually understand how the rng works or how big it is. there is no way in hell to do this in gen 5. you cannot verify anything about the pokemon aside from the basest data. this is not useful nor worthwhile. the no one can prove that anyone used the instant egg cheat. if you knew what you were talking about, you would understand why.

  10. @Bond697 : Im not a 12yr Kid who doesnt know to go though a site. Thnx for your comment.

    Pls dont comment if you dont have any points to help.

    @arcee : Thank you, will try the method you suggested.

    apparently you are, though. which is why you can't manage to use the converter that works fine for this or find how to set no$ to use raw saves by default.(the first hit on google for 'no$gba raw saves') reading *carefully* would help here.

×
×
  • Create New...