Stuff
Hacker
Sr. Member
Karma: 31
Posts: 415
0x80000000 = -0
|
|
« Reply #15 on: November 28, 2011, 08:28:37 PM » |
|
updated to 0.20b. Version numbers continue to have little meaning..just a way of saying latest or not for me.
Anyway, like I said, it's still C#. I'll mess with C++ later. I'll call that version 1.0 or something whenever it happens.
Check the changelog for changes.
Even though there's a validate button, all it does is try to port back to the source region and compares that result to what you entered. It's pretty bootleg, so it might not work like I intended. Just test the new code to make sure it works. Validate is just there to give you a heads up...maybe.
|
|
|
Logged
|
|
|
|
|
Stuff
Hacker
Sr. Member
Karma: 31
Posts: 415
0x80000000 = -0
|
|
« Reply #17 on: December 13, 2011, 01:50:37 PM » |
|
Of course. If you find something wrong with it or have any suggestions let me know. I'm all out of ideas. Probably a performance upgrade if I come up with a way. If it becomes an issue, I'll have to add a check for large offsets too. And I want to port to C++ like dcx2 suggested. But that'll have to wait.
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #18 on: December 13, 2011, 03:25:24 PM » |
|
thought you didn´t fix the branches issue, yet, did you? Last time (29. November) I tried your *new* built, it still failed to port correctly on a branch code.
|
|
|
Logged
|
|
|
|
Stuff
Hacker
Sr. Member
Karma: 31
Posts: 415
0x80000000 = -0
|
|
« Reply #19 on: December 13, 2011, 03:33:58 PM » |
|
oh? I tried to fix that when I change the labels to source/destination. I made it step back 4 bytes if the code is on a branch. And it'll keep stepping back until it's not on a branch while counting how many byes it moved back(to add them in later. Can I get the dumps your using and the code that's being a problem?
|
|
|
Logged
|
|
|
|
Bully@Wiiplaza
Hacker
Legendary Member
Karma: 93
Posts: 1853
|
|
« Reply #20 on: December 13, 2011, 03:58:21 PM » |
|
oh? I tried to fix that when I change the labels to source/destination. I made it step back 4 bytes if the code is on a branch. And it'll keep stepping back until it's not on a branch while counting how many byes it moved back(to add them in later. Can I get the dumps your using and the code that's being a problem?
Goldeneye 007 // links dead // and e.g. this (NTSC-U) code: Unlock All Mission's [Thomas83Lin] 0424BB88 480002D4 *Non Permanent*
|
|
« Last Edit: May 16, 2013, 01:27:05 PM by Bully@Wiiplaza »
|
Logged
|
|
|
|
Stuff
Hacker
Sr. Member
Karma: 31
Posts: 415
0x80000000 = -0
|
|
« Reply #21 on: December 19, 2011, 10:09:32 AM » |
|
well here's the culprit
8024BB74: 3CA0805E lis r5,-32674 8024BB78: 38A5E6A0 subi r5,r5,6496 ##Pal does -E720.
8024BB80: 80A50038 lwz r5,56(r5)
I guess in a future update I'll have to watch out for large offsets in branches, loads, stores, and now lis&subi. What else? I wonder how I'm gonna handle those...
In case you still want it, the pal address is 8024BBF8
Still, I wonder where it got 2F from. lol. (I didn't run it from the debugger >.<) I thought I gave it a message to say when it couldn't find the values.
|
|
|
Logged
|
|
|
|
dcx2
Computer Engineer
Moderator
Legendary Member
Karma: 165
Posts: 3468
|
|
« Reply #22 on: December 19, 2011, 04:32:51 PM » |
|
Look for lis (careful, lis is a mnemonic for addis rB, r0, IMM; if you're looking for op codes you will have to make sure the rA operand is 0!).
When you find an lis, examine the last 16 bits (IMM). If they form the top half of a valid address (8000 <= last 16-bits <= 8180 || 9000 <= last 16-bits <= 9340), that will tell you there's probably an addi/subi/ori in the near future loading the lower 16-bits.
Note that you must check what the address would be, you can't just look for an lis. lis is sometimes used to load fixed-point fractions when doing integer multiplies.
EDIT:
I should probably note that this is the compiler optimizing a global/static pointer. So if you were trying an ASM hack and you needed that pointer in r5 (805DE6A0), you could just use it with a 48 or 4A code directly. That's how I would usually do a "pointer search" anyway.
|
|
« Last Edit: December 19, 2011, 04:36:51 PM by dcx2 »
|
Logged
|
|
|
|
Arudo
Crazier-than-thou
Moderator
Hero Member
Karma: 64
Posts: 1004
(╯°□°)╯︵ ┻━┻ щ(゚Д゚щ)
|
|
« Reply #23 on: December 23, 2011, 06:36:36 PM » |
|
Neat, got it to work for a code from Itadaki Street (JP) to Fortune Street (US).
|
|
|
Logged
|
-Crazy Hacker Hates You All (definitely)- ノಠ益ಠ)ノ彡┻━┻ Do NOT PM me about Code Requests Pro-tip: Hit the Applaud Button Oh? Failed to read the rules? You're already dead.
|
|
|
|