NefMoto

Technical => Reverse Engineering => Topic started by: turdburglar44 on December 13, 2014, 04:29:49 PM



Title: 5mp LDRXN
Post by: turdburglar44 on December 13, 2014, 04:29:49 PM
Can anyone help me out by verifying this bin has the ldrxn switch code properly implemented?

the original code has this:
mov     r12, #0E400h
mov     r13, #23Fh

but it would make more sense to  me if it was this:
mov     r12, #2400h
mov     r13, #23Fh

the map is at 8FE400 so my logic is:

23F * 4000 = 8FC000
+ 2400       = 8FE400

same with the ldrxnzk call below it

****************Removed bin.
I abandoned this attempt because I realized the code I was using was not up to date. I'll eventually write my own code and get back to it.



Title: Re: 5mp LDRXN
Post by: masterj on December 15, 2014, 01:51:28 AM
Can anyone help me out by verifying this bin has the ldrxn switch code properly implemented?

the original code has this:
mov     r12, #0E400h
mov     r13, #23Fh

but it would make more sense to  me if it was this:
mov     r12, #2400h
mov     r13, #23Fh

the map is at 8FE400 so my logic is:

23F * 4000 = 8FC000
+ 2400       = 8FE400

same with the ldrxnzk call below it


23Ch × 4000h = 8F0000h

I haven't looked at your file but I guess it is your "base" address. If I am correct then unless you have register with saved value 23Fh just before instruction it is 23Ch. Same as 204h for most ME7 files I've seen

In this specific case I would say r13 is being used with another constant or register

UPDATE: Reread your post and I think you are correct if this is not original code, then there might be error and you are right


Title: Re:
Post by: turdburglar44 on December 15, 2014, 09:30:22 AM
Sorry for the lack of info. Posted that in a hurry. The code in question I got from the link here.

http://nefariousmotorsports.com/forum/index.php?topic=1556.0

I went through and changed the respective ram addresses and changed the call for ldrxn and ldrxnzk to look at the new sub. Anything else I need to do?