Editing PSP Emulator
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 572: | Line 572: | ||
==Compatibility Settings== | ==Compatibility Settings== | ||
Emulator file stores compatibility settings for 898 Title IDs (as of 3.65 firmware). Additionally, settings can be supplied by title_specific.bin files. Title IDs are hidden under simple hash, which Sony borrowed from PSP POPS. That's not only similarity between two compatibility systems. Same like on POPS single config entry have 4 bytes ID and 4 bytes value, also here Sony decided to start count from -1, so config ID are in range of -1 - 0x1F. Which gives 33 possible settings per game.<br><br> | Emulator file stores compatibility settings for 898 Title IDs (as of 3.65 firmware). Additionally, settings can be supplied by title_specific.bin files. Title IDs are hidden under simple hash, which Sony borrowed from PSP POPS. That's not only similarity between two compatibility systems. Same like on POPS single config entry have 4 bytes ID and 4 bytes value, also here Sony decided to start count from -1, so config ID are in range of -1 - 0x1F. Which gives 33 possible settings per game.<br><br> | ||
'''Warning!''' Current version of Vita Adrenaline break internal table settings and use own values in ScePspemuInitTitleSpecificInfoPatched. This is probably reasoning why some games run better outside of Adrenaline (in ARK for example). This is because adrenaline hook's function responsible for reading | '''Warning!''' Current version of Vita Adrenaline seems to break internal table settings and use own values in ScePspemuInitTitleSpecificInfoPatched. This is probably reasoning why some games run better outside of Adrenaline (in ARK for example). This is because adrenaline hook's function responsible for reading config table and use own code that totally skips internal table. This can be easily fixed, just remove ScePspemuInitTitleSpecificInfoRef hooks. | ||
===Title ID Hash generator=== | ===Title ID Hash generator=== | ||
Line 598: | Line 598: | ||
bit: | bit: | ||
2 = When enabled sceCompatInitEx is called with 0 as a param, when disabled then with 1 as a param. | 2 = When enabled sceCompatInitEx is called with 0 as a param, when disabled then with 1 as a param. | ||
20 = Alternative setting for ScePspemuIoCacheBuffer memory. Use SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_RW instead SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_NC_RW. | 20 = Alternative setting for ScePspemuIoCacheBuffer memory. Use SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_RW instead SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_NC_RW. | ||
31 = PocketStation saves related. | |||
31 = | |||
|- | |- | ||
| 0x00 || Unk || | | 0x00 || Unk || | ||
Line 623: | Line 619: | ||
| 0x08 || Unk || | | 0x08 || Unk || | ||
|- | |- | ||
| 0x09 || Unk || | | 0x09 || Unk || | ||
|- | |- | ||
| 0x0A || Unk || Some kind of delay. Value is multiplied by 1000 before used. | | 0x0A || Unk || Some kind of delay. Value is multiplied by 1000 before used. | ||
|- | |- | ||
| 0x0B || No || Predefined | | 0x0B || No || Predefined setting for selected games. Many of them use different comp flags under the hood. | ||
0x01: UCUS98687 Twisted Metal: Head-On | 0x01: UCUS98687 Twisted Metal: Head-On | ||
0x02: UCES00018 Twisted Metal: Head-On | 0x02: UCES00018 Twisted Metal: Head-On | ||
Line 5,505: | Line 5,501: | ||
|- | |- | ||
|} | |} | ||
[[Category:Devices]] | [[Category:Devices]] |