Next Gen Boards
 

Sponsored Links
Arcade YouTube vbBux / vbPlaza Calendar FAQ

Reply
 
Thread Tools Display Modes  
Subless
Gunnery Sergeant Grade 2
 
Subless's Avatar
 
Join Date: Sep 2007
Location: In a house
Posts: 135
Rep Power: 2 Subless is on a distinguished road Reputation: 10
Points: 54,946.13
Bank: 2,913.46
Total Points: 57,859.59
Subless is offline
 
Send a message via AIM to SublessSend a message via Yahoo to Subless
 
#1
05-08-2008, 11:58 PM   #1
Reply With Quote
Question Good Video or Text Tutorial

I've been reading a 36 chapter article on MIPS Assembly language and I'm on the 26th chapter now. But I would like to have something to practice with or someone. I only need a little more descriptive help with the decoding the MIPS inside the PS2DIS as far as in where the data I'm looking for is ending up. I'm mostly understanding the MIPS commands but a few a a bit weird to understand where its placing the data that I need to mod.

P.S Also if anybody has the SCUS for socom 3 or ca I would love it if you could upload it to rapid share or mega upload so I could download it. I would use my dvd and cd rom drives but they aren't working since I installed a slave drive.

Thanks for any help.
__________________
Domain Names For Sale !!!
-----------------------------------------------
Code Exploit.com
HTML Quest.com
Free Mix.info
BBWT.org

If you are intrested e-mail me: Subless [at] Yahoo.com
Report Post
1UP
Gunnery Sergeant Grade 1
 
Join Date: Jan 2007
Posts: 113
Rep Power: 2 1UP is on a distinguished road Reputation: 21
Points: 10,196.82
Bank: 93,487.22
Total Points: 103,684.04
1UP is offline
 
 
#2
05-24-2008, 12:22 PM   #2
Reply With Quote
TSHCodes Downloads - PS2 - Scus and Dump Files

Get the dumps from there if you want
__________________
Report Post
LON3-SNIP3R
Apprentice Grade 1
 
Join Date: May 2008
Posts: 9
Rep Power: 0 LON3-SNIP3R is on a distinguished road Reputation: 10
Points: 10,776.79
Bank: 0.00
Total Points: 10,776.79
LON3-SNIP3R is offline
 
 
#3
06-19-2008, 02:37 AM   #3
Reply With Quote
i worked with color mods to get my adding and subtracting, mult and dividing down, and did some side codes to get others down, i just mess with stuff, i think u can learn more from first hand experience then book work, but then again i might be missing something. and the only tut i ever read was bluemans tut LOL
Report Post
Gtlcpimp
Private Grade 1
 
Join Date: Jun 2008
Posts: 27
Rep Power: 0 Gtlcpimp is on a distinguished road Reputation: 10
Points: 9,545.56
Bank: 0.00
Total Points: 9,545.56
Gtlcpimp is offline
 
 
#4
06-19-2008, 04:54 PM   #4
Reply With Quote
Quote:
Originally Posted by Subless View Post
I've been reading a 36 chapter article on MIPS Assembly language and I'm on the 26th chapter now. But I would like to have something to practice with or someone. I only need a little more descriptive help with the decoding the MIPS inside the PS2DIS as far as in where the data I'm looking for is ending up. I'm mostly understanding the MIPS commands but a few a a bit weird to understand where its placing the data that I need to mod.

P.S Also if anybody has the SCUS for socom 3 or ca I would love it if you could upload it to rapid share or mega upload so I could download it. I would use my dvd and cd rom drives but they aren't working since I installed a slave drive.

Thanks for any help.
MIPS is an assembly language used by the PS2's processor. Note the keyword "language". You can read about MIPS all you want from books and spend 4 years studying it before you get the hang of it completely, or you can simply use Google for help and tutorials on various programming languages such as C or C++. Why do I recommend these? C and C++ are very basic and extremely close to a raw assembly language. MIPS is just like these languages in the sense that not only is MIPS a language but also requires certain syntax just like C and C++. The best and most efficient way to learn or understand MIPS is to become a programmer or at least learn how to program.

If you ever plan on writing your own "routines" in MIPS, then you must get an understanding of syntax and why you need correct syntax. The best way to get that understanding is to learn about real programming languages (I am in no way calling MIPS fake, it's just not a "programming" language).

If you are using PS2DIS to disassemble the executables or a block of memory, then you don't need to worry about how to decode the data into the commands. PS2DIS does this for you. All you have to do from there is be able to understand the language.

While your using PS2DIS and are trying to figure out where the functions (routines) are storing data at from a certain line, you have to read above that line. I can't tell you exactly what will be above your line, because not all functions are the same. If you understand MIPS, it's pretty self explanatory. You look above and find the lines that load or retrieve data into the variable (also referred to as "registers" in MIPS) that is being stored somewhere on the line you were originally at. You won't always be able to figure out where the data is being stored, because most of the variables in the game are temporary.

Temporary data is data that will not always exist. This could be data used to create the graphics you see on your screen, text displayed, random data you're not aware of, or anything else that isn't meant to be kept. Temporary data is never stored in a constant place. The address for temporary data is typically high on RAM, normally found in 01XXXXXX and up. If you want to edit the values of temporary data to receive results you want and are sure you have the correct function that causes the effect you want to change, you have to just follow the function. The function will tell you where to store your modified data at by using the storing commands. Temporary data is always relative and not direct due to the fact that it isn't stored in a constant address. For example, if your line that is storing data uses the "Store Word" command and is storing temporary data, then it would look something like this in PS2DIS:

sw XX, $AAAA(MM)

The "XX" is the variable (register) that is being stored, "AAAA" is data relative to the value of "MM", the variable (register) holding the main address of the temporary data used for that function. "MM" will typically be "sp" or any of the "s" variables (registers), it could actually be any of the variables but those are the typical temporary data variables.

(If you noticed, I refer to the "registers" as variables a lot. Why? Because thats all they really are, variables.)

If the line you're looking at that stores data is storing the data directly to an address then it's quite easy to figure out where it stores it. Just look above the line for what is being loaded into the main address variable. If you look above, you should notice lines loading an upper half into the variable and maybe a lower half. The upper half of the data is the first 4 digits of the value. In terms of halves, data looks like this:

UUUULLLL

The "U"'s represent the upper half, and the "L"'s represent the lower half. The MIPS commands for loading data into the upper half of a variable is "Load Upper Immediate". The command looks like this:

lui XX, $DDDD

The "XX" is the variable in which the data is being loaded into, and the "DDDD" is the data. There isn't really a command designated for loading the lower half the data into the variables, but PS2DIS helps you in that area. The real command used in MIPS to load data into the lower half is "Add Immediate Unsigned". PS2DIS changes the text displayed from "addiu" to "li" to let you know its just loading the lower half of the data. The command, when you open up the line in PS2DIS, will look like this:

addiu XX, XX, $DDDD

The "XX" is the variable in which the data is being loaded into, and the "DDDD" is the data for the lower half. The reason why the middle variable is the same as the first is because it is storing its own contents + the lower half into itself.

After you have figured out the contents of the variable that contains the address, your able to figure out where it is being stored. If your too lazy to figure all that out on your own, then you don't have to do what I just explained (it's still nice to know how to do it). PS2DIS sort of makes it easy on you. If it is a direct storage then all you have to do is go to the line that is storing the data that you want to mod and hit the right arrow key on your keyboard. It will automatically jump to the stored address. If it does not take you anywhere, then that's when you have to use the information I explained above to figure out whats going on. If it turns out that its storing temporary data, then your not going to figure out where it stores all the time. The only way you can mod that data is to mod what it stores in the function. In the sense of it being temporary data on SOCOM 3 or CA, good luck with getting that online with no ban.

If none of what I said makes sense to you, then damn, at least I tried to help ;) lol.
Report Post
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off
Forum Jump

top Go to Top All times are GMT -4. The time now is 08:02 PM.

Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 Copyright ©2006 - 2008, NextGenBoards. All Rights Reserved