Editing Talk: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 36: Line 36:
  --ee-cache-breaks-block
  --ee-cache-breaks-block
  No matter which value is used, 1 is set.
  No matter which value is used, 1 is set.
== Few popular misunderstandings ==
*vu-xgkick-delay take integer between 0-31 (confirmed on both emulator and compiler side), and not float (0.5 is invalid, will be truncated to 0 probably).
*Cop2 rounding in PCSX2 is governed by "EE/FPU" rounding setting, not by VU or VU0.
*Cop2 clamping is hardcoded in PCSX2 as far as i know, if no then is likely also governed by EE/FPU setting not VU/VU0.
*xx-no-clamping setting is not really no clamping known from PCSX2. This is a special mode which can be used regardless of other clamp commands. For comparison, PCSX2 have similar mode only for FPU (Full). To fully mimic that mode, we still need fpu-to-double enabled.


== ee-native-function ==
== ee-native-function ==
Line 244: Line 251:


Same goes for "kernel" injections, they are also based on ID + Hash + address. Generally all "injections" should be safe to be enabled by configs. There is really small chance for hash/address(and id) collision. Not to be confused with "native" / "native-patch" !
Same goes for "kernel" injections, they are also based on ID + Hash + address. Generally all "injections" should be safe to be enabled by configs. There is really small chance for hash/address(and id) collision. Not to be confused with "native" / "native-patch" !
== Fast Accurate MUL Implementation ==
Whilst Accurate MUL is implemented as very resource heavy fully fledged soft float operation, there is theoretically less accurate but very fast "accurate MUL" available. Surprisingly this is not a copy pasted PS3 implementation (no need to reach Olympus from Lop Nor this time). While this implementation is assumed to be less accurate (than soft floats), the result should be the same as with soft floats. r14 and esi are source floats for operation. So, here it comes:
<pre>
mov    edx, r14d
mov    eax, esi
xor    eax, r14d
shr    edx, 23
and    eax, 80000000h
and    edx, 0FFh
jz      mul_end        ; mul by denormal
mov    ecx, 817h
bextr  ecx, esi, ecx  ; esi >> 23 & 0xFF
jz      mul_end        ; mul by denormal
and    r14d, 7FFFFFh
and    esi, 7FFFFFh
add    edx, ecx
or      r14d, 800000h
or      esi, 800000h
imul    rsi, r14
shr    rsi, 23
vcvtsi2ss xmm0, xmm0, rsi
vaddss  xmm0, xmm0, cs:(float)0.5
vmovd  ecx, xmm0
shr    ecx, 23
lea    edx, [rcx+rdx-115h]
cmp    edx, 0FFh
jle    case1
mov    ecx, 7F800000h
mov    esi, 7FFFFFh
jmp    case2
case1:
add    ecx, -150
xor    ebx, ebx
shr    esi, cl
mov    ecx, edx
and    esi, 0FF7FFFFFh
shl    ecx, 23
test    edx, edx
cmovle  esi, ebx
cmovle  ecx, ebx
case2:
or      esi, eax
or      esi, ecx
mov    eax, esi
mul_end:
ret
</pre>


= RESEARCH TO DO =
= RESEARCH TO DO =
Line 818: Line 876:
|-
|-
|}
|}
== PS2 Classic Manuals (from ps2-museum website) ==
* Latest version of ps2-museum - v0.0.1 - 2015-11-24: https://s3.amazonaws.com/isdalive/2em/man/common/js/app.min.js
* CSS normalize script: https://s3.amazonaws.com/isdalive/2em/man/common/css/styles.min.css
Usage: create a index.html file at the root, containing (example here for the Fahrenheit game):
<source lang="html">
<!DOCTYPE HTML>
<html ng-app="museumApp">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width = device-width, initial-scale = 1.0, user-scalable=no">
    <script>
      var TITLE = "Fahrenheit™";
      var PAGES = 52;
    </script>
    <link rel="stylesheet" href="/css/styles.min.css"/>
    <link rel="stylesheet" href="https://s3.amazonaws.com/isdalive/2em/man/common/css/styles.min.css"/>
  </head>
  <body>
  <div id="main" ng-controller="MainController">
    <nav ng-class="{'toggle-menu': menuState}">
      <div class="nav-title">
        <h1 ng-bind="title"></h1>
      </div>
    </nav>
    <ng-include src="currentTemplate"></ng-include>
    <div ng-if="debug" ng-bind="debugInfo" style="position: fixed; top: 0; z-index: 8888;"></div>
  </div>
  <script src="/js/app.min.js"></script>
  <script src="https://s3.amazonaws.com/isdalive/2em/man/common/js/app.min.js"></script>
  </body>
</html>
</source>
<pre>
SCEA:
War of the Monsters
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01554_00-SCUS971970000001/index.html
Twisted Metal: Black
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02036_00-SCUS971010000001/index.html
The Mark of Kri
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01729_00-SCUS971400000001/index.html
Grand Thrft Auto: Vice City
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03509_00-SLUS205520000001/index.html
Grand Theft Auto: San Andreas
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03506_00-SLUS209460000001/index.html
Grand Theft Auto 3
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03508_00-SLUS200620000001/index.html
PaRappa the Rapper 2
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01555_00-SCUS971670000001/index.html
Arc the Lad: Twilight of the Spirits
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02205_00-SCUS972310000001/index.html
Star Wars: Racer Revenge
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1082-CUSA03474_00-SLUS202680000001/index.html
Star Wars Bounty Hunter
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1082-CUSA03472_00-SLUS204200000001/index.html
Dark Cloud 2
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02037_00-SCUS972130000001/index.html
Puzzle Quest: Challenge of the Warlords
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0367-CUSA03571_00-SLUS216920000001/index.html
Rise of the Kasai
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01730_00-SCUS974160000001/index.html
OKAGE: Shadow King
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02199_00-SCUS971290000001/index.html
Manhunt
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03512_00-SLUS208270000001/index.html
Bully
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03507_00-SLUS212690000001/index.html
Max Payne
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03513_00-SLUS202300000001/index.html
THE KING OF FIGHTERS 2000
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP4002-CUSA03748_00-SLUS208340000001/index.html
Wild Arms 3
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02197_00-SCUS972030000001/index.html
Kinetica
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01725_00-SCUS971320000001/index.html
Rogue Galaxy
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02195_00-SCUS974900000001/index.html
Primal
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02035_00-SCUS971420000001/index.html
Psychonauts
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP2154-CUSA03881_00-SLUS211200000001/index.html
Dark Cloud
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA01728_00-SCUS971110000001/index.html
SIREN
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02198_00-SCUS973550000001/index.html
The Warriors
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03515_00-SLUS212150000001/index.html
METAL SLUG ANTHOLOGY
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03749_00-SLUS215500000001/index.html
Indigo Prophecy
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1642-CUSA04798_00-SLUS211960000001/index.html
Hot Shots Tennis
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02193_00-SCUS976100000001/index.html
Red Dead Revolver
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1004-CUSA03517_00-SLUS205000000001/index.html
Destroy All Humans!
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP4389-CUSA05232_00-SLUS209450000001/index.html
Samurai Shodown VI
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03787_00-SLUS216290000001-A0100-V0100/index.html
Destroy All Humans! 2
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP4389-CUSA05233_00-SLUS214390000001/index.html
Red Faction
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP4389-CUSA06402_00-SLUS200730000001/index.html
FU'UN SUPER COMBO
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03784_00-SLPS257810000001-A0100-V0100/index.html
ADK DAMASHII
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03783_00-SLPS259060000001-A0100-V0100/index.html
Fatal Fury: Battle Archives Volume 2
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03750_00-SLUS217230000001-A0100-V0100/index.html
Harvest Moon: A Wonderful Life Special Edition
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1014-CUSA06584_00-SLUS211710000001-A0100-V0100/index.html
RESIDENT EVIL CODE: Veronica X
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0102-CUSA07104_00-SLUS201840000001-A0100-V0100/index.html
Harvest Moon: Save The Homeland
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1014-CUSA06585_00-SLUS202510000001-A0100-V0100/index.html
Star Ocean: Till The End Of Time
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0082-CUSA04778_00-SLUS204880000001/index.html
Eternal Ring
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP1022-CUSA04654_00-SLUS200150000001/index.html
Jak and Daxter: The Precursor Legacy
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA02522_00-SCUS971240000001-A0100-V0100/index.html
Red Faction II
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP4389-CUSA06405_00-SLUS204420000001-A0100-V0100/index.html
Art of Fighting Anthology
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03754_00-SLUS214870000001-A0100-V0100/index.html
Jak X: Combat Racing
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA07842_00-SCUS974290000001/index.html
Jak II
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA07840_00-SCUS972650000001/index.html
Jak 3
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP9000-CUSA07841_00-SCUS973300000001/index.html
The King of Fighters ’98 Ultimate Match
https://isdalive.s3.amazonaws.com/2em/man/SCEA/UP0576-CUSA03751_00-SLUS218160000001/index.html
The King of Fighters Collection: The Orochi Saga
missing link
SCEE:
Ape Escape 2
https://isdalive.s3.amazonaws.com/2em/man/SCEE/EP9000-CUSA02269_00-SCES508850000001/index.html
Fahrenheit
https://isdalive.s3.amazonaws.com/2em/man/SCEE/EP1628-CUSA05760_00-SLES535390000001/index.html
</pre>
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)