Editing Talk:PS2 Emulation
Jump to navigation
Jump to search
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 1,452: | Line 1,452: | ||
* rfid is hit, let's go to our newly hooked srr0 with 0x2EFCC address. | * rfid is hit, let's go to our newly hooked srr0 with 0x2EFCC address. | ||
* Time to use address preserved in r3. This address going thru few checks, it needs to be in 0x10000000- 0x12FFFFFF range (EE JIT Code). | * Time to use address preserved in r3. This address going thru few checks, it needs to be in 0x10000000- 0x12FFFFFF range (EE JIT Code). | ||
* From this address emulator get single word, that word is used to figure out what mips code wanted to do. This | * From this address emulator get single word, that word is used to figure out what mips code wanted to do. This isn't simple offset but some kind of custom identifier. | ||
* When matching identifier is found, task is performed. Some tasks just jump to function and do what is needed, some continue that hackfest and instead are injected into recompiled code as branches to functions that will perform what game want them to do. | |||
* When matching | |||
* blr is hit, remember that link register is patched earlier to 0x28F8C8 | * blr is hit, remember that link register is patched earlier to 0x28F8C8 | ||
* This function restores previously backed up regs and set link register to value returned by hook. That's all. | * This function restores previously backed up regs and set link register to value returned by hook. That's all. | ||
Line 1,548: | Line 1,547: | ||
Note: This code don't exist in ps2_netemu. | Note: This code don't exist in ps2_netemu. | ||
== Shin Sangoku Musou config == | |||
This config does something with sceGsSyncPath by storing 0x4 to INTC_STAT before jumping to it (from one of the main function, so only a specific jump to sceGsSyncPath). I am thinking it fixes this: WhECT9RGZ0k (YouTube link) | |||
What could be happening internally for something like this to be fixed? Interrupt delay to avoid an infinite loop or something? The freeze looks similar to something like the Ecole games (Melty Blood) where the game can move slightly after the freeze, or even break out of it entirely (rare). | |||
* It does write an interrupt request for the start of the VBlank. Looks like the game does sync with the refresh rate and the game logic (at least the specific function you have mentioned) does break itself when the timing is not right.--[[User:Agrippa|Agrippa]] ([[User talk:Agrippa|talk]]) 14:59, 10 August 2022 (UTC) | |||
** Writing to INTC_STAT remove vblank start bit in this case (acknowledge that interrupt happened). But yeah, generally this is timing issue. Probably similar issue to what pcsx2 have: [[https://github.com/PCSX2/pcsx2/issues/5369#issuecomment-1146042222 | here.]] But affect different games due to other differences in emulator. --[[User:Kozarovv|Kozarovv]] ([[User talk:Kozarovv|talk]]) 19:38, 10 August 2022 (UTC) | |||
== Universal DNAS anti-wipe patch == | == Universal DNAS anti-wipe patch == | ||
Line 1,659: | Line 1,666: | ||
== Games with EE threading/interrupt issues == | == Games with EE threading/interrupt issues == | ||
* '''Harry Potter and the Chamber of Secrets''' | * '''Harry Potter and the Chamber of Secrets''' | ||
** Seems to randomly hang on the last stage of loading (ra=0x19bf70). WaitSema calls spotted during the hang. | ** Seems to randomly hang on the last stage of loading (ra=0x19bf70). WaitSema calls spotted during the hang. | ||
Line 1,770: | Line 1,773: | ||
*PS2 Memory and Hardware Mapped Registers Layout | *PS2 Memory and Hardware Mapped Registers Layout | ||
*Video Modes | *Video Modes | ||
* | *Config related info | ||
'''Video Modes''' listed there are not even supported by emulators without GS, and likely to fail even on PS3 with GS. This is really info for PS2 wiki in my opinion. '''PS2 Memory and Hardware Mapped Registers Layout''' also fit more in PS2 wiki. This is more like general PS2 dev knowledge than emulation related stuff. Eventually keep them as a links to ps2tek or ps2 devwiki, or something. Let me know if you think this is/isn't good idea. For example PS1 page don't list stuff like this, same goes for PSP page. In case of Config stuff. This is crucial part of this page, but i feel that harm general readability. Due to complicated nature of PS2 config descriptions are getting bigger, and bigger. Honestly this is still missing a lot of info because many times we are limiting ourself to not make descriptions too extensive. All that to not flood page too much. Maybe it's time to move most of that to new dedicated page? We can leave some basic info, like that small table, plus some '''BOLD''' link to "advanced page". This should allow to wikify and move some non-config stuff from talk page. This are only ideas, i expect not everyone will be happy about all of them. Lets talk. :P --[[User:Kozarovv|Kozarovv]] ([[User talk:Kozarovv|talk]]) 08:21, 16 January 2023 (UTC) | '''Video Modes''' listed there are not even supported by emulators without GS, and likely to fail even on PS3 with GS. This is really info for PS2 wiki in my opinion. '''PS2 Memory and Hardware Mapped Registers Layout''' also fit more in PS2 wiki. This is more like general PS2 dev knowledge than emulation related stuff. Eventually keep them as a links to ps2tek or ps2 devwiki, or something. Let me know if you think this is/isn't good idea. For example PS1 page don't list stuff like this, same goes for PSP page. In case of Config stuff. This is crucial part of this page, but i feel that harm general readability. Due to complicated nature of PS2 config descriptions are getting bigger, and bigger. Honestly this is still missing a lot of info because many times we are limiting ourself to not make descriptions too extensive. All that to not flood page too much. Maybe it's time to move most of that to new dedicated page? We can leave some basic info, like that small table, plus some '''BOLD''' link to "advanced page". This should allow to wikify and move some non-config stuff from talk page. This are only ideas, i expect not everyone will be happy about all of them. Lets talk. :P --[[User:Kozarovv|Kozarovv]] ([[User talk:Kozarovv|talk]]) 08:21, 16 January 2023 (UTC) | ||
Line 1,894: | Line 1,897: | ||
{| class="wikitable" style="font-size:small;" | {| class="wikitable" style="font-size:small;" | ||
|- | |- | ||
! Name !! Start | ! Name !! Start !! End !! Flags !! Notes | ||
|- | |- | ||
| work | | work | ||
Line 2,410: | Line 2,413: | ||
|| 0x13000000 | || 0x13000000 | ||
|| 0xD00000003 | || 0xD00000003 | ||
|| | || | ||
|- | |- | ||
| vu0_jit_code | | vu0_jit_code | ||
Line 2,416: | Line 2,419: | ||
|| 0x18400000 | || 0x18400000 | ||
|| 0xD00000003 | || 0xD00000003 | ||
|| | || | ||
|- | |- | ||
| vu0_jit_data | | vu0_jit_data | ||
Line 2,428: | Line 2,431: | ||
|| 0x22000000 | || 0x22000000 | ||
|| 0xE00000003 | || 0xE00000003 | ||
|| | || | ||
|- | |- | ||
| eerom_jit_lut | | eerom_jit_lut | ||
Line 2,434: | Line 2,437: | ||
|| 0x30000000 | || 0x30000000 | ||
|| 0xE00000003 | || 0xE00000003 | ||
|| | || | ||
|- | |- | ||
| ustack (micro stack) | | ustack (micro stack) | ||
Line 2,501: | Line 2,504: | ||
|| 0x42000B0000001 | || 0x42000B0000001 | ||
|| Thread EEonBE | || Thread EEonBE | ||
|- | |- | ||
|} | |} |