Welcome dear guest! Very Happy

To start posting and being part of the community, you simply need to register an account or log into an existing one.

Be sure to check out disposable e-mail services, in case you prefer using one for this site instead of your legit address: http://10minutemail.com/10MinuteMail/

If you do not wish to register at all, that's fine but there will be more advertisements. :/

You can see and download all content provided for regular members even without an account!

Your contributions will be greatly appreciated though, give it a shot and register today! thumbsup

Gaming, Modding & Programming

Important reminders:

- Click *HERE* for advanced forum search or check out the text field below on the front page for Google before posting
- NO support via private message (use the forum)
- Write meaningful topic titles
Site Translation

Display results as :

Rechercher Advanced Search

July 2019

Calendar Calendar

Country Statistics
Free counters!

You are not connected. Please login or register

Automatic Code Porting Tips

Go down  Message [Page 1 of 1]

1Automatic Code Porting Tips Empty Automatic Code Porting Tips on 11/22/2014, 7:14 am


When using my porting program or anyone else's to port codes one has to pay attention to addresses as values or inside of assembly because these need to be ran through the application as well. It does not happen automatically if you just paste the entire code. I might implement the value thing but for now you'll have to pay attention to that.

The following code is a direct RAM write using a pointer address as its value:

04609F30 8130DEF0

The address of this code will be recognized as "has to be ported/ checked" but the value not since it's usually not an address that might need to be ported. The porting result of the application may look like this:

04609FA0 8130DEF0

However, the value has to be ported as well. It didn't happen. For this to work with the porting application we need to create a new code which uses the value as as address and a random new value like this:

0530DEF0 00000000

Now the application will port the new address and return the result for example like this:

0530DFF0 00000000

For the final ported code we replace the non-ported pointer value with the ported one:

04609FA0 8130DFF0

There you go, good job. Let's see about other typical codes that have "hidden" addresses which will prevent a successful port. Smile

1) Pointer
48000000 81234580
DE000000 81008180
14000020 40000000
E0000000 80008000

2) Memory Copy
80000000 812A4990
8A000C0F 009A2C34

3) Assembly

C0000000 00000003
3D808123 618C8710
3D608120 918B1874
398C0005 4E800020

lis r12, -32477
ori r12, r12, 34576
lis r11, -32480
stw r12, 6260 (r11)
addi r12, r12, 5

Addresses involved that need to be ran through the porter:

In general you'll have to watch out for suspicious values or assembly whose 2nd 16 bits look like the first 16 bits of an address like in the above example assembly code. You better decompile it and then check for addresses though. A program can't really detect those so you need this little common sense when porting certain tricky codes. Wink

Automatic Code Porting Tips Lejx87ba

Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum