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 597: | Line 597: | ||
| 0xFFFFFFFF || Yes || Multi command | | 0xFFFFFFFF || Yes || Multi command | ||
bit: | bit: | ||
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 618: | ||
| 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 657: | Line 652: | ||
| 0x10 || No || Size for MD5 memory check. Tested memory starts at entrypoint 0x8804000 ends at 0x8804000 + value from config. Require 0x11 command to be active too. | | 0x10 || No || Size for MD5 memory check. Tested memory starts at entrypoint 0x8804000 ends at 0x8804000 + value from config. Require 0x11 command to be active too. | ||
|- | |- | ||
| 0x11 || No || Expected MD5 memory check result. Value is first 4 bytes of expected MD5 in little endian. Require 0x10 command to be active too, if 0x10 or 0x11 are not active ScePspemuMemoryCheck is skipped. | | 0x11 || No || Expected MD5 memory check result. Value is first 4 bytes of expected MD5 in little endian. Require 0x10 command to be active too, if 0x10 or 0x11 are not active, ScePspemuMemoryCheck is skipped. | ||
|- | |- | ||
| 0x12 || Unk || | | 0x12 || Unk || | ||
Line 5,505: | Line 5,500: | ||
|- | |- | ||
|} | |} | ||
[[Category:Devices]] | [[Category:Devices]] |