Editing PS2 Emulation

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 2,414: Line 2,414:
|-
|-
|}
|}
=Faqs=
<pre>A section dedicated to sharing knowledge about PS2 emulation in PS4</pre>
==CLI==
'''Making a comment inside the CLI'''
<pre>
1.You can make a comment inside a cli by using a Hashtag (#) at the start of the comment
Example:
#Speedup
--vu1-mpg-cycles=1000
2.Your comments will be fully ignored if they are in the same line as the hashtag
Example:
#This is a comment
Incorrect example:
#This is a comment
This is not a part of the comment and will crash the emu
3. hyphens are the start of a command in CLI (--)
And as for the equals, (=) everything that comes after it is the value that the command will use
On a lua hyphens (--) mean it is a comment, but on the cli it's the start of the command.
4. Commands cannot contain spaces
Example: --ee-cycle-scalar=0.1
Incorrect example: --ee cycle scalar = 0.1
</pre>
'''Making a CLI.'''
<pre>
1. You can use any text editor to make a CLI
2. Each command has to be below the previous one and they cannot share the same line.
Correct CLI example:
--vu1-mpg-cycles=1000
--ee-cycle-scalar=1.1
Incorrect CLI example:
--vu1-mpg-cycles=1000 --ee-cycle-scalar=1.1
3. Your commands cannot contain spaces
4. Values start after the (=) sign
5. Commands can possibly contain multiple value entries and some values can be skipped by adding (,,).
Example: --ee-hook=0x0028A578,AdvanceClock,,1000
Unskipped value example: --ee-hook=0x0028A578,AdvanceClock,0x13a893bd,1000</pre>
==LUA==
'''Making a lua'''
<pre>
When making a lua there is 1 part that is always necessary (Apirequest)
and 2 parts that are almost always necessary (Object) (Object's commands).
By order it goes like this:
1. Apirequest
2. Object calling, gsobj/eeobj/iopobj, etc
3. the object's command
You cannot call an object without first requesting an api, as that will cause a crash.
and you most certainly cannot use an object's command without calling the object first
For instance you cannot use
iopObj.ReadMem32(0x400000)
Without first having this in your lua
local iopObj = getIOPObject()
</pre>
'''Making a comment inside the lua'''
<pre>
You can make a comment in a lua by using two hyphens (--)
Your comments will be ignored by the lua
You can also use --[[ (comment) --]]
All text between --[[ and --]] will be ignored by lua
</pre>
==Commands==
<br>'''(Cycle scalars)'''
<pre>
Cycle scalar commands are basically a scale between overclock and cycle skip (Underclock), we say that to simplify
for anyone making configs, but in the truth it controls cycle speed of that Processor whether it be (IOP) or (SIF) or (EE).
Slowing the cycles can be done by setting it higher than 1.0 (Underclock) (Cycle skip)
Speeding up the cycles can be done by setting it anything lower than 1.0 (Overclock)
So, it's basically a multiplier of the Processor's cycle speed in a way that's connected to the Delta counter.
Sony uses all of them to improve sync, It's recommended to use them for sync also considering that using them can possibly
cause stuttering or input lag with no real benefit.
Except for eecyclescalar. as using it can be very helpful for performance gain
when you slow down the cycles (Anything higher than 1.0).
Some games like (Metal gear solid 3) want a very fast EE cycle speed,
and will refuse to work if it's at the Default speed.
(0.1) is the highest number for overclocking
And (1.0) is the Default clock value.
And (5.0) is the highest value for Underclocking (Cycle skipping) For the (IOP) and (EE)
As for the (SIF) it has no limit for underclocking.
</pre>
'''(vu1/0 mpg cycles)'''
<pre>
This command sets the cycle speed of vu1 or vu0.
0.1 is the fastest cycle speed and the most compatible (Slowest in terms of performance).
100 is the default value set by sony
1000 is the recommended value for performance gain but you can increase it to any value you like.
</pre>
==PS2 emulation related links==
*[https://github.com/Scalerize/PS2-tutorials-archive How to create general patches for PS2 games]
*[https://github.com/Scalerize/Ps2-assembly Knowledge about Assembly instructions in PS2]
*[https://forums.pcsx2.net/Thread-60-fps-codes Thread with 60 fps patches]
*[https://psi-rockin.github.io/ps2tek/ A great website for learning about PS2 hardware]


= PS2 Bios =
= PS2 Bios =
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)