ahappylife201x
Forum Noob
Unlimited Saga - Working
Dawn of Mana - Works but graphic issue in game
Dawn of Mana - Works but graphic issue in game
Hi ..can explain how to repackage the Jak emu? what I get is been log out from my acc... :-(Onimusha 2 [NTSC/U]
working with emu from jak and daxter TPL
You are saying that Oni work without patches on JAK emu?Oni [SLES-50134] (works but has some fairly severe slowdown, unsure if present on PS2 HW so minor issue?)
http://www.psdevwiki.com/ps4/Talk:PS2_Classics_Emulator_Compatibility_List#NBA_Street_Vol.2NBA Street vol 2 [SLUS-20651] (works but has flickering/popping/missing geometry issues at the edges of the camera)
VU0: added a special case to the CFC2 instruction if it copies the value from the TPC register (fixes Street Fighter EX3 #954 and R Racing Evolution the invisible cars issue)R: Racing Evolution [SLUS20721] Looks good and runs fine, cars are completely invisible however. Definitely not fun to play. Issue supposedly fixed in PCSX2 1.5.0 and above, yet no specific fixes in database to apply to PS2emu.
+ if (_Rd_ == REG_TPC) { // Divide TPC register value by 8 during copying
+ // Ok, this deserves an explanation.
+ // Accoring to the official PS2 VU0 coding manual there are 3 ways to execute a micro subroutine on VU0
+ // one of which is using the VCALLMSR intruction.
+ // The manual requires putting the address of the micro subroutine
+ // into the CMSAR0 register divided by 8 using the CTC2 command before executing VCALLMSR.
+ // Many games (for instance, 24: The Game, GTA LCS, GTA VCS and FFXII) do in fact use this way,
+ // they diligently put the address of the micro subroutine into a separate register (v0, v1 etc), divide it by 8
+ // and move it to CMSAR0 by calling the CTC2 command.
+
+ // However, there are also at least 2 confirmed games (R Racing Evolution, Street Fighter EX3)
+ // that execute a piece of code to run a micro subroutine on VU0 like this:
+ //
+ // ...
+ // cfc2 t4, TPC
+ // ctc2 t4, CMSAR0
+ // callmsr
+ // ...
+ //
+ // Interestingly enough there is no division by 8 but it works fine in these 2 mentioned games.
+ // It means the division operation is implicit.
+ // Homebrew tests for the real PS2 have shown that in fact the instruction "cfc2 t4, TPC" ends up with values that are not always divisible by 8.
+
+ // There are 2 possibilities: either the CFC2 instruction divides the value of the TPC (which is the Program Counter register
+ // for micro subroutines) by 8 itself during copying or the TPC register always works with addresses already divided by 8.
+ // The latter seems less possible because the Program Counter register by definition holds the memory address of the instruction.
+ // In addition, PCSX2 already implements TPC as an instruction pointer so we'll assume that division by 8
+ // is done by CFC2 while working with the TPC register.
+ // (fixes R Racing Evolution and Street Fighter EX3)
+
+ xSHR(eax, 3);
+ }
Nice work.X files - resist or serve NTSC
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-clamp-results=1
fix for missing models (jak emu)
Sadly this need to be fixed in lua. But looking at "lua_include" files, there is no way to check COP2 registers, only gpr ones from EE. Or is just not described there."--vu0-opt-subroutine" may be of some use for Street fighter EX3 based on what @kozarovv posted
Btw. Do anyone tried Need for Speed: Underground 2 with jak emu?