Editing PSP 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 280: Line 280:
| || VERSION = 0x%x || VERSION = 0xFFFFFFFF ||  
| || VERSION = 0x%x || VERSION = 0xFFFFFFFF ||  
|-
|-
| || BOOT_MODE = %llx ||
| || BOOT_MODE = %llx || 64 bit bitfield (Big Endian)
  100010000 = Default for Minis  
  100010000 = Minis  
  200010000 = Default for Remaster  
  200010000 = Remaster ||
|| 64 bit bitfield (Big Endian)


bit 31 = unk
  bit 30 = is remaster
  bit 30 = is remaster
bit 31 = unk
  bit 47 = unk
  bit 47 = unk
  bit 63 = A lot of settings changes when this bit is active.
  bit 63 = unk
          Disable ICache Invalidation syscalls,
          Enable "LINCOLN" configs,
          Disable sceFont, scePsmfP, and sceHeap loading
                            (there are other conditions too).
          Many more...
|-
|-
| || REMASTER_VERSION = 0x%x || ||
| || REMASTER_VERSION = 0x%x || ||
Line 308: Line 302:
|-
|-
| || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||
| || TRANS_CACHE_SIZE = %llx || TRANS_CACHE_SIZE = 1000000 ||
  2000000 = (Default for Minis)
  2000000 = (Default)
  1000000 = (Default for Remaster)
  1000000 =  
|-
|-
| || HOSTFS_PATH = %lld || ||  
| || HOSTFS_PATH = %lld || ||  
Line 337: Line 331:
  0 =  
  0 =  
  1 = small picture
  1 = small picture
  2 = (Default for Minis)
  2 = (Default)
  3 =
  3 =
  4 = (Default for Remaster)
  4 =
  ...
  ...
|-
|-
| AW. {||  || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following
| AW. {||  || || indicates LINEAR_ADRS to CLOAD_MODE optional setting following
|-
|-
| || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 1 || Bool
| || LINEAR_ADRS = %llx || AW.LINEAR_ADRS = 40 ||
0 = (Default)
  0 = (Default)
  1 =  
  40 =  
Internal configs use value 40, this value have the same effect as 1 in text config.
|-
|-
| || SINGLE_BUF = %llx || AW.SINGLE_BUF = 1 ||
| || SINGLE_BUF = %llx || AW.SINGLE_BUF = 880 ||
0 = (Default)
  0 = (Default)
1 =  
  80 =  
  2 =
  880 =
3 =
Internal configs use values like 80 or 880.
Those are invalid for text config.
To get similar result as internal 80 use value 1.
To get similar result as internal 880 use value 3.
|-
|-
| || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 1 || Bool
| || DISABLE_FB_TEX = %llx || AW.DISABLE_FB_TEX = 100 ||  
0 = "FB_TEX" Enabled (Default)
  0 = (Default)
  1 = "FB_TEX" Disabled
  100 =  
Internal configs use value 100, this value have the same effect as 1 in text config.
|-
|-
| || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||
| || REUSE_ADRS = %llx || AW.REUSE_ADRS = 110000 ||
Line 371: Line 355:
  110000 =
  110000 =
|-
|-
| || SINGLE_BUF2 = %llx || SINGLE_BUF2 = 1 || Bool
| || SINGLE_BUF2 = %llx || ||
0 = Disabled (Default)
1 = Enabled
|-
|-
| || DECODE_WAIT = %llx || AW.DECODE_WAIT = 1 || Delay GE Commands decoding
| || DECODE_WAIT = %llx || AW.DECODE_WAIT = 1 || Delay GE Commands decoding
  Wait loops * translated_value
  Wait loops * value++
  0 = 0x10000 (Default)
  0 = 0x10000 (Default)
  1 = 0x20000
  1 = 0x20000
Line 385: Line 367:
  6 = 0x400000
  6 = 0x400000
  7 = 0x800000
  7 = 0x800000
  10000 = Value used by 2 internal configs.
  10000 = Value used by 2 internal configs. Seems to be mistake. Paradoxically this value is treated as 0, which ends up as wanted 0x10000.
        This value is invalid for manual configs.
        It works for internal because internal configs aren't
        going thru the same handler as minis2 text configs.
|-
|-
| || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 1 || Bool
| || DISCARD_EDGE = %llx || AW.DISCARD_EDGE = 20000 ||
0 = Disabled (Default)
    0 = Disabled (Default)
1 = Enabled
  else = Enabled  (value is used as "bool", 1 or 20000 works the same way)
   
Internal configs use value 20000, it works the same way as 1 in text config.
|-
|-
| || RECYCLE_RD_TEX = %llx || || Bool
| || RECYCLE_RD_TEX = %llx || ||
0 = Disabled (Default)
1 = Enabled
|-
|-
| || EXT_MODE = %llx || AW.EXT_MODE = 3 ||
| || EXT_MODE = %llx || AW.EXT_MODE = 3 ||
  0 = (Default for Minis)
  0 = (Default)
  Uses different SPU ELF for Renderer and Graphics Engine emulator.
  Uses different SPU ELF for transparency/textures behavior
  1 =  
  1 =  
  2 =  
  2 =  
  3 = (Default for Remaster)
  3 =  
|-
|-
| || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 ||  
| || THR_PIXEL_OFST = %llx || AW.THR_PIXEL_OFST = 0 ||  
Line 411: Line 386:
  3EFFFFFF = (default)
  3EFFFFFF = (default)
|-
|-
| || EXT_CMD = %llx || AW.EXT_CMD = 2 || Ignored when EXT_MODE is default. Some kind of hack for GE NOP handler.
| || EXT_CMD = %llx || AW.EXT_CMD = 2 ||  
  0 = (Default)
  0 = (Default)
  1 =  
  1 =  
  2 =  
  2 =  
  3 =  
  3 =  
Probably game specific, as content (lower 24 bits) of NOP command is analyzed and compared to predefined values.
Chances that games send GE NOP with example value of 0xA6CEA0 value are rather slim.
|-
|-
| || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||
| || VRAM_MODE = %llx || AW.VRAM_MODE = 1 ||
  0 = Disabled (default)  
  0 = Disabled (default)  
  1 = Enabled
  1 = Enabled
Work in conjunction with values set with DRAWN_IMAGE_SCALE. When enabled, emulated VRAM amount is lower.
Resulting VRAM size:
VRAM_MODE 1 and DRAWN_IMAGE_SCALE <= 1  = VRAM size 2MB
VRAM_MODE 0 and DRAWN_IMAGE_SCALE <= 1  = VRAM size 4MB
VRAM_MODE 1 and DRAWN_IMAGE_SCALE 2 or 3 = VRAM size 8MB
VRAM_MODE 0 and DRAWN_IMAGE_SCALE 2 or 3 = VRAM size 16MB
VRAM_MODE 1 and DRAWN_IMAGE_SCALE == 4  = VRAM size 32MB
VRAM_MODE 0 and DRAWN_IMAGE_SCALE == 4  = VRAM size 64MB
Real PSP Have access to 2MB VRAM.
|-
|-
| || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)
| || CLOAD_MODE = %llx || AW.CLOAD_MODE = 1 || (Note: Only available since 4.30?)
Line 648: Line 609:
|-
|-
| || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||
| || VSYNC_OFFSET_US = %lld || VSYNC_OFFSET_US = 8341 ||
  8341 = 0x2095 (Default for Minis)
  8341 = 0x2095 (Default)
16000 = 0x3E80 (Default for Remaster)
  2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)
  2000 = 0x07D0 (Legend of Heroes/Eiyū Densetsu HD Remasters)
|-
|-
| || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||
| || ADHOC_PARTY = %llx || ADHOC_PARTY = 1 ||
  0 = Disabled (Default for Minis)
  0 = Disabled (Default)
  1 = Enable Ad hoc Multiplayer (Default for Remaster)
  1 = Enable Ad hoc Multiplayer
|-
|-
| || GPI = 0x%llx || ||
| || GPI = 0x%llx || ||
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 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)