Editing PS2 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 159: Line 159:
| The King of Fighters 2000 || Seemingly one of the most GIF-accurate emus, it '''prevents Koei Tecmo games (Dynasty Warriors 5: Empires and Samurai Warriors 2) from suddenly freezing when battle starts. Moreover, it is likely the only emulator where '''Batman Begins''' does not crash.''' Often referred to as "KOF2000"|| 1.2 || '''Roguev1''', '''KOF98''', '''Okage'''
| The King of Fighters 2000 || Seemingly one of the most GIF-accurate emus, it '''prevents Koei Tecmo games (Dynasty Warriors 5: Empires and Samurai Warriors 2) from suddenly freezing when battle starts. Moreover, it is likely the only emulator where '''Batman Begins''' does not crash.''' Often referred to as "KOF2000"|| 1.2 || '''Roguev1''', '''KOF98''', '''Okage'''
|-
|-
| Destroy All Humans! || Fixed '''Tenchu: Fatal Shadows'''', and Veggietales crashing, as well as Bratz The Movie from freezing. || 0.1 ||  
| Destroy All Humans! || Fixed '''Tenchu: Fatal Shadows'''' from crashing, and Bratz The Movie from freezing. || 0.1 ||  
|-
|-
| Destroy All Humans! 2 ||  || 0.7 ||  
| Destroy All Humans! 2 ||  || 0.7 ||  
Line 321: Line 321:
|  || || || Speedhacks / Desync Fixes|| ||
|  || || || Speedhacks / Desync Fixes|| ||
|-
|-
| --ee-cycle-scalar  || {{Universal}} ||Slowest cycles speed: 5.0<br>Normal cycles speed: 1.0<br>Fastest cycles speed: 0.1 || {{Float}} || Changes the cycle speed of the EE. It can benefit core sync or performance (lowering the cycle rate may affect FMVS). The default value for most emulators is ~1.0. It is highly sensitive, as any slight change may break or fix the game. (Dividing 100 with the entered value is how to find what EE clock speed percentage % the value is setting. For example, 100/5.00 = 20%) || --ee-cycle-scalar=1.0  
| --ee-cycle-scalar  || {{Universal}} ||Slowest cycles speed: 5.00<br>Normal cycles speed: 1.000<br>Fastest cycles speed: 0.100 || {{Float}} || Changes the cycle speed of the EE. It can benefit core sync or performance (lowering the cycle rate may affect FMVS). The default value for most emulators is ~1.0. It is highly sensitive, as any slight change may break or fix the game. (Dividing 100 with the entered value is how to find what EE clock speed percentage % the value is setting. For example, 100/5.00 = 20%) || --ee-cycle-scalar=1.0  
|-
|-
| --ee-context-switch-cycles  || {{Exclusive}} || Accelerate cycles (360 => 0) <br>Decelerate cycles (361 => ∞ ) || {{4 Bytes}}||Its effects are mysterious. Possibly configures how many CPU cycles the emulator should run before switching between different tasks or threads. Does not work on Jak emulators. Default value is 360. Seems to be useful for Bee Movie, Metal Gear Solid 3, as well as others with IPU issues. It bears no effect on VU timing, but it may alter the core's timing with some DMA channels. || --ee-context-switch-cycles=2700?
| --ee-context-switch-cycles  || {{Exclusive}} || Accelerate cycles (360 => 0) <br>Decelerate cycles (361 => ∞ ) || {{4 Bytes}}||Its effects are mysterious. Possibly configures how many CPU cycles the emulator should run before switching between different tasks or threads. Does not work on Jak emulators. Default value is 360. Seems to be useful for Bee Movie, Metal Gear Solid 3, as well as others with IPU issues. It bears no effect on VU timing. || --ee-context-switch-cycles=2700?
|-
|-
| --ee-hook  || {{Variable}} || AdvanceClock<br>FastForwardClock<br>Mfifodrain || style="background:#212d9c; color:#ffffff;|4 Byte hex (offset),string,4 Byte hex (opcode),4 Byte Decimals (advanceclock value)|| Runs the specified functionality each time a selected EE offset is reached. FastForwardClock and AdvanceClock help fix core sync issues, but can be used as a speedhack. It is believed that AdvanceClock stalls the EE for a specified amount of cycles, while FastForwardClock behaves similarly. They are commonly used on the offset directly succeeding an affected CTC2 instruction. For a mysterious reason, some offsets are ignored by AdvanceClock - it could be that this function only works on instructions 2 cycles ahead of a branch, likely specifically designed to work at both the start or end of a branch. However, this is only the case for old emulators like King Of Fighters 2000 and War Of The Monsters. Newer ones such as Jak operate differently, where AdvanceClock only works 2 cycles ahead at the end of a branch instruction.<pre>
| --ee-hook  || {{Variable}} || AdvanceClock<br>FastForwardClock<br>Mfifodrain || style="background:#212d9c; color:#ffffff;|4 Byte hex (offset),string,4 Byte hex (opcode),4 Byte Decimals (advanceclock value)|| Runs the specified functionality each time a selected EE offset is reached. FastForwardClock and AdvanceClock help fix core sync issues, but can be used as a speedhack. It is believed that AdvanceClock stalls the EE for a specified amount of cycles, while FastForwardClock behaves similarly. They are commonly used on the offset directly succeeding an affected CTC2 instruction. For a mysterious reason, some offsets are ignored by AdvanceClock - it could be that this function only works on instructions 2 cycles ahead of a branch, likely specifically designed to work at both the start or end of a branch. However, this is only the case for old emulators like King Of Fighters 2000 and War Of The Monsters. Newer ones such as Jak operate differently, where AdvanceClock only works 2 cycles ahead at the end of a branch instruction.<pre>
Line 521: Line 521:
| || || || Graphical fixes  || ||
| || || || Graphical fixes  || ||
|-
|-
| --vu-xgkick-delay  || {{Universal}} || Default = 1<br>Limit is between (0 => 31)  || {{1 Byte}}|| Delay xgkick instruction execution. PCSX2 uses 6 cycles, PS3 uses 2-8 cycles depending on the game. A game with missing graphics will require a low value such as 0, while one that crashes might require a high value such as 7.|| --vu-xgkick-delay=8
| --vu-xgkick-delay  || {{Universal}} || Limit is between (0 => 31)  || {{1 Byte}}|| Delay xgkick instruction execution. PCSX2 uses 6 cycles, PS3 uses 2-8 cycles depending on the game. A game with missing graphics will require a low value such as 0, while one that crashes might require a high value such as 7.|| --vu-xgkick-delay=8
|-
|-
| --vu-custom-min-max  || {{Universal}} || 0, 1 || {{binary}} || Custom Max/Mini logic for denormals. Disabled on pcsx2 by default but enabled by default on a couple of emus such as jakv2. Disabling it could potentially restore missing graphics, as it tends to adjust VU timing.|| --vu-custom-min-max=0
| --vu-custom-min-max  || {{Universal}} || 0, 1 || {{binary}} || Custom Max/Mini logic for denormals. Disabled on pcsx2 by default but enabled by default on a couple of emus such as jakv2. Disabling it could potentially restore missing graphics, as it tends to adjust VU timing.|| --vu-custom-min-max=0
Line 605: Line 605:
| --vu1-mul0fix-range || {{Exclusive}} || vu1 memory offset start,end (0x0 - 0x800) || style="background:#5c32a8; color:#ffffff;"|Hex combination || Allows the VU1 to accurately multiply by 0 in the specified memory range by using software floats rather than hardware floats. || --vu1-mul0fix-range=0x0,0x800
| --vu1-mul0fix-range || {{Exclusive}} || vu1 memory offset start,end (0x0 - 0x800) || style="background:#5c32a8; color:#ffffff;"|Hex combination || Allows the VU1 to accurately multiply by 0 in the specified memory range by using software floats rather than hardware floats. || --vu1-mul0fix-range=0x0,0x800
|-  
|-  
| --vu1-injection || {{Universal}} || 0, 1 || {{binary}} || Replace some VU1 instructions with pre-made optimized instructions? || --vu1-injection=1
| --vu1-injection || {{Universal}} || 0, 1 || {{binary}} || unknown || --vu1-injection=1
|-
|-
| --vu1-native-patch || {{Exclusive}} || 0, 1 || {{binary}} || Use native patches from recompiler, not compatible with Jak emus. Sony uses it for their official release of Primal || --vu1-native-patch=1
| --vu1-native-patch || {{Exclusive}} || 0, 1 || {{binary}} || Use native patches from recompiler, not compatible with Jak emus. Sony uses it for their official release of Primal || --vu1-native-patch=1
Line 670: Line 670:
|  || || Other || || ||
|  || || Other || || ||
|-
|-
| --vu0-injection || {{Exclusive}} || 0, 1 || {{binary}} || Replace some VU0 instructions with pre-made optimized instructions? || --vu0-injection=1
| --vu0-injection || {{Exclusive}} || 0, 1 || {{binary}} || Unknown usage. || --vu0-injection=1
|-
|-
| --vu0-inst-q || {{Universal}} || 0, 1  || {{binary}} || instant Q, no stalling on WAITQ, or instances of Q  || --vu0-inst-q=1
| --vu0-inst-q || {{Universal}} || 0, 1  || {{binary}} || instant Q, no stalling on WAITQ, or instances of Q  || --vu0-inst-q=1
Line 707: Line 707:
| --vif1-ignore-cmd-ints || {{Exclusive}} || 0, 1 ||  {{Binary}} ||  Set to 1 to ignore command interrupt bit. ([https://psi-rockin.github.io/ps2tek/#vifcommands info] , explanation of int bit is right before command list). Can in some cases fix games that freeze while showing the same frame if set to 1. Games likes "Men in Black II - Alien Escape" and "Test Drive Unlimited" Will always need it. || --vif1-ignore-cmd-ints=1
| --vif1-ignore-cmd-ints || {{Exclusive}} || 0, 1 ||  {{Binary}} ||  Set to 1 to ignore command interrupt bit. ([https://psi-rockin.github.io/ps2tek/#vifcommands info] , explanation of int bit is right before command list). Can in some cases fix games that freeze while showing the same frame if set to 1. Games likes "Men in Black II - Alien Escape" and "Test Drive Unlimited" Will always need it. || --vif1-ignore-cmd-ints=1
|-
|-
| --vif1-instant-xfer || {{Universal}} ||  1 = Instant VIF1<br>0 = Delayed VIF1 || {{Binary}} || Changes VIF1 timing. 0 slows its timing and is the compatible option for most games, while 1 speeds up its timing, and being more compatible with a small fraction of games. It can be used to fix graphical glitches or potentially prevent games from freezing and crashing. || --vif1-instant-xfer=0
| --vif1-instant-xfer || {{Universal}} ||  1 = Instant VIF1<br>0 = Delayed VIF1 || {{Binary}} || Changes VIF1 timing. 0 slows its timing and is the compatible option for most games, while 1 speeds up its timing, and being more compatible with a small fraction of games. It can be used to fix graphical glitches or potentially prevent games from freezing. || --vif1-instant-xfer=0
|}
|}


Line 719: Line 719:
|  ||  || || || SIF1 (IOP) ||
|  ||  || || || SIF1 (IOP) ||
|-
|-
| --iop-sif1-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Default = 1.0<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the IOP receives from the EE || --iop-sif1-cycle-scalar=0.1
| --iop-sif1-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the IOP receives from the EE || --iop-sif1-cycle-scalar=0.1
|-
|-
| --ee-sif1-cycle-scalar || {{Exclusive}} ||Accelerate SIF cycles: (0.99 => 0.1)<br>Default = 5.0<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the EE sends to the IOP || --ee-sif1-cycle-scalar=0.1
| --ee-sif1-cycle-scalar || {{Exclusive}} ||Accelerate SIF cycles: (0.99 => 0.1)<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the EE sends to the IOP || --ee-sif1-cycle-scalar=0.1
|-style="background-color:#99ddff"
|-style="background-color:#99ddff"
|  ||  || || || SIF0 (EE) ||
|  ||  || || || SIF0 (EE) ||
|-
|-
| --iop-sif0-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Default = 1.0<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the IOP sends to the EE || --iop-sif0-cycle-scalar=0.1
| --iop-sif0-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the IOP sends to the EE || --iop-sif0-cycle-scalar=0.1
|-
|-
| --ee-sif0-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Default = 5.0<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the EE receives from the IOP || --ee-sif0-cycle-scalar=0.1
| --ee-sif0-cycle-scalar || {{Exclusive}} || Accelerate SIF cycles: (0.99 => 0.1)<br>Decelerate SIF cycles: (1.1 => ∞ )|| {{Float}}|| Controls the speed at which the EE receives from the IOP || --ee-sif0-cycle-scalar=0.1
|-
|-
|}
|}
Line 744: Line 744:
==== [https://www.psdevwiki.com/ps2/Graphics_Synthesizer GS] ====
==== [https://www.psdevwiki.com/ps2/Graphics_Synthesizer GS] ====


<pre>"GS" stands for Graphics Synthesizer. It is the PlayStation®2's co-processor that is responsible for rendering the graphics (but is also used by some games for additional calculations and other purposes). In rare cases, these commands may help fix crashes and slowdowns.</pre>
<pre>"GS" stands for Graphics Synthesizer. It is the PlayStation®2's co-processor that is responsible for rendering the graphics (but is also used by some games for additional calculations and other purposes)</pre>


{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center; font-size:small;"
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center; font-size:small;"
Line 762: Line 762:
| --gs-use-mipmap || {{Universal}} || Default = 0<br>Values = 0, 1 || {{binary}} || Enables mipmapping support. Can be used to fix graphics. Needs --gs-kernel-cl="mipmap" for full mipmapping support. If upscaling, however, --gs-kernel-cl-up="mipmap2x2" is also needed. It works best on War of the Monsters emulator, as can be seen in the Ratchet series' mipmapping issues responding only to this emu's mipmapping functionality.|| --gs-use-mipmap=1
| --gs-use-mipmap || {{Universal}} || Default = 0<br>Values = 0, 1 || {{binary}} || Enables mipmapping support. Can be used to fix graphics. Needs --gs-kernel-cl="mipmap" for full mipmapping support. If upscaling, however, --gs-kernel-cl-up="mipmap2x2" is also needed. It works best on War of the Monsters emulator, as can be seen in the Ratchet series' mipmapping issues responding only to this emu's mipmapping functionality.|| --gs-use-mipmap=1
|-  
|-  
| --gs-use-deferred-l2h || {{Universal}} || 0, 1 || {{binary}} || Delay option for L2H (local to host, GS to EE). It may fix freezes when set to 0, as was seen in Star Wars - Battlefront 2. || --gs-use-deferred-l2h=1  
| --gs-use-deferred-l2h || {{Universal}} || 0, 1 || {{binary}} || Delay option for L2H (local to host, GS to EE). || --gs-use-deferred-l2h=1  
|-
|-
| --gs-use-clut-merge || {{Universal}} || 0, 1 ||  {{binary}} || Enabling CLUT merging helps improve how the emulator processes textures that use indexed color palettes. It ensures more accurate emulation of the PS2’s color handling. It sometimes restores missing graphical elements, and fix texture flickering (prominently flickering shadows or UI elements).  It prevents Spyro's shadow from flickering in Enter the Dragonfly. Enabling it is the accurate, albeit slow option. || --gs-use-clut-merge=1
| --gs-use-clut-merge || {{Universal}} || 0, 1 ||  {{binary}} || Enabling CLUT merging helps improve how the emulator processes textures that use indexed color palettes. It ensures more accurate emulation of the PS2’s color handling. It sometimes restores missing graphical elements, and fix texture flickering (prominently flickering shadows or UI elements).  It prevents Spyro's shadow from flickering in Enter the Dragonfly. Enabling it is the accurate, albeit slow option. || --gs-use-clut-merge=1
Line 768: Line 768:
| --gs-flush-ad-xyz || {{Exclusive}} ||  always, safe, safeZwrite, off, 0 || {{string}} || Force a primitive flush when a framebuffer is also an input texture. This fixes some processing effects, but it can sometimes be heavy on the GS in terms of performance. GTA: SA, and Jak 3 use this command. || --gs-flush-ad-xyz=safe
| --gs-flush-ad-xyz || {{Exclusive}} ||  always, safe, safeZwrite, off, 0 || {{string}} || Force a primitive flush when a framebuffer is also an input texture. This fixes some processing effects, but it can sometimes be heavy on the GS in terms of performance. GTA: SA, and Jak 3 use this command. || --gs-flush-ad-xyz=safe
|-
|-
| --gs-force-bilinear || {{Universal}} || 0, 1 || {{binary}} || Forces bilinear filtering, can fix ghosting problems in some cases, and corrects positioning between pixels. Recommended for most games except the ones using 2D images, as it could possibly break games that rely on nearest filtering. || --gs-force-bilinear=1
| --gs-force-bilinear || {{Universal}} || 0, 1 || {{binary}} || Forces bilinear filtering, can fix ghosting problems in some cases. Not recommended for games that use 2D images, as it could possibly break games that rely on nearest filtering.|| --gs-force-bilinear=1
|-
|-
|-style="background-color:#D7EF54"
|-style="background-color:#D7EF54"
Line 805: Line 805:
| --gs-fieldswap-delay || {{Universal}} || Default = 0<br>Highest = 254 || {{1 Byte}} || Wait longer than usual to change field. In essence, it blurs/sharpens image. ||
| --gs-fieldswap-delay || {{Universal}} || Default = 0<br>Highest = 254 || {{1 Byte}} || Wait longer than usual to change field. In essence, it blurs/sharpens image. ||
|-   
|-   
| --gs-uv-shift-pointsampling || {{Exclusive}} || 0, 1 || {{binary}} || It is used on games like manhunt. || --gs-uv-shift-pointsampling=1
| --gs-uv-shift-pointsampling || {{Exclusive}} || 0, 1 || {{binary}} || Can be used on games like manhunt that have issues with [https://github.com/PCSX2/pcsx2/issues/257#issuecomment-1140338680 UV light rendering] || --gs-uv-shift-pointsampling=1
|-
|-
| --gs-render-tile-threshold || {{Exclusive}} || Lowest = 0<br>Default = 4294967295 || {{4 Bytes}}  || Unknown. Used by Psychonauts|| --gs-render-tile-threshold=300000
| --gs-render-tile-threshold || {{Exclusive}} || Lowest = 0<br>Default = 4294967295 || {{4 Bytes}}  || Unknown. Used by Psychonauts|| --gs-render-tile-threshold=300000
Line 811: Line 811:
| --threaded-gs || {{Universal}} || 0, 1 || {{binary}} || Multi-threaded-gs ? || --threaded-gs=1
| --threaded-gs || {{Universal}} || 0, 1 || {{binary}} || Multi-threaded-gs ? || --threaded-gs=1
|-
|-
| --gs-aspect-ratio || {{Universal}} || aspect/float (default=0.81) ||  {{float}} || Can fix too-zoomed in games and vice versa. || --gs-aspect-ratio=0.65
| --gs-aspect-ratio || {{Universal}} || aspect/float (default=0.81) ||  {{float}} || || --gs-aspect-ratio=0.65
|-
|-
| --gs-frontend-opt-mode || {{Exclusive}} || 0, 1, 2 || {{Semi-Binary}} || GS optimization mode? Unknown effect. Used on the Jak series. || --gs-frontend-opt-mode=1
| --gs-frontend-opt-mode || {{Exclusive}} || 0, 1, 2 || {{Semi-Binary}} || GS optimization mode? Unknown effect. Used on the Jak series. || --gs-frontend-opt-mode=1
Line 881: Line 881:
| --detect-idle-iop || {{Universal}} || 0, 1  || {{binary}}|| Enabled by default. || --detect-idle-iop=0
| --detect-idle-iop || {{Universal}} || 0, 1  || {{binary}}|| Enabled by default. || --detect-idle-iop=0
|-
|-
| --iop-jit-disasm || {{Universal}} || 0, 1, 2?|| || ||   
| --iop-jit-disasm || {{Universal}} || || || ||   
|-
|-
| --iop-evt-check-full || {{Universal}} || 0, 1 ?|| {{binary}} || ||  
| --iop-evt-check-full || {{Universal}} || 0, 1 ?|| {{binary}} || ||  
Line 899: Line 899:
| --boot-disc-id || {{Universal}} || 1-5  ||  {{1 Byte}} || sets boot disc for multi-disc pkg || --boot-disc-id=0
| --boot-disc-id || {{Universal}} || 1-5  ||  {{1 Byte}} || sets boot disc for multi-disc pkg || --boot-disc-id=0
|-
|-
| --switch-disc-reset || {{Exclusive}}||  1 = Enables resetting the game upon disc swap,<br>0 = Disables resetting the game upon disc swap|| {{Binary}} || 0 Can be used to prevent resetting the game when switching multiple discs. Useful for games like Samurai Warriors 2 that include an import data feature. Sadly this command isn't supported by many emulators, but jakv2 is confirmed to support it || --switch-disc-reset=1
| --switch-disc-reset || {{Exclusive}}||  1 = Enables resetting the game upon disc swap, 0 = Disables resetting the game upon disc swap|| {{Binary}} || 0 Can be used to prevent resetting the game when switching multiple discs. Useful for games like Samurai Warriors 2 that include an import data feature. Sadly this command isn't supported by many emulators, but jakv2 is confirmed to support it || --switch-disc-reset=1
|-style="background-color:#46a4e8"
|-style="background-color:#46a4e8"
|  || || Timing || || ||
|  || || Timing || || ||
Line 911: Line 911:
|}
|}


=====Pad=====
=====Pad - Memory Card=====
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center; font-size:small;"
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center; font-size:small;"
! Command !! Emulator Support !! Values  !! Value Type !! Notes !! Usage  
! Command !! Emulator Support !! Values  !! Value Type !! Notes !! Usage  
|-style="background-color:#D7EF54"
| Controllers || || || || ||
|-  
|-  
| --ds4-deadzone-adjust || {{universal}} || ||  ||  ||  
| --ds4-deadzone-adjust || {{universal}} || ||  ||  ||  
Line 930: Line 932:
|-
|-
| --mtap2 || {{universal}} || Disabled, Always, ByHost || {{string}} || Multitap switch. Some games require multitap to be selected only on second port (1, 2-a, 2-b, 2-c layout). To achieve that, we need to disable the first mtap. In some cases, the emulator can be flawed in how it handles multi-tap when it involves "--mtap2". All functions for 2A, 2B, 2C, 2D must be redirected to ports on multi-tap 1 by using memory patches. || --mtap2=always
| --mtap2 || {{universal}} || Disabled, Always, ByHost || {{string}} || Multitap switch. Some games require multitap to be selected only on second port (1, 2-a, 2-b, 2-c layout). To achieve that, we need to disable the first mtap. In some cases, the emulator can be flawed in how it handles multi-tap when it involves "--mtap2". All functions for 2A, 2B, 2C, 2D must be redirected to ports on multi-tap 1 by using memory patches. || --mtap2=always
|}
|-style="background-color:#b146b3"
 
| Memory Cards || || || || ||
=====Memory Card=====
|-
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center; font-size:small;"
! Command !! Emulator Support !! Values  !! Value Type !! Notes !! Usage
|-  
| --mcd1 || {{universal}}  ||  || || ||
| --mcd1 || {{universal}}  ||  || || ||
|-
|-
Line 977: Line 976:
| --pcr0-delta-hack || {{Exclusive}} || 0<br>Default=1.0<br>400000.0 || {{float}} || A scalar that modifies delta of pcr0 when reading it from MFC0. Some games rely on good performance counters accuracy (Spyro ANB cutscenes), and since emulator don't implement most events, hack it is. || --pcr0-delta-hack=1.0
| --pcr0-delta-hack || {{Exclusive}} || 0<br>Default=1.0<br>400000.0 || {{float}} || A scalar that modifies delta of pcr0 when reading it from MFC0. Some games rely on good performance counters accuracy (Spyro ANB cutscenes), and since emulator don't implement most events, hack it is. || --pcr0-delta-hack=1.0
|-
|-
| --jitproc-use-aslr || || || {{binary}} ||Disables compiler process ASLR, useful for easier debugging, as the compiler process will be always on fixed address. Theoretically useful for mast1c0re, but to change it you need to be already in... || --jitproc-use-aslr=0
| --jitproc-use-aslr || || || ||Disables compiler process ASLR, useful for easier debugging, as the compiler process will be always on fixed address. Theoretically useful for mast1c0re, but to change it you need to be already in... || --jitproc-use-aslr=0
|-
|-
| --verbose-deci2 || {{Exclusive}} || 0, 1 || {{Binary}} || ||
| --verbose-deci2 || {{Exclusive}} || 0, 1 || {{Binary}} || ||
Line 987: Line 986:
| --detect-idle-chcr|| {{universal}} || 0, 1 || {{Binary}} || Enabled by default, 0 disables it  || --detect-idle-chcr=0
| --detect-idle-chcr|| {{universal}} || 0, 1 || {{Binary}} || Enabled by default, 0 disables it  || --detect-idle-chcr=0
|-
|-
| --rom || {{universal}} || || location of the bios that's inside of the fpkg || Could allow to use custom bios, though still not working ||  --rom="PS20220WD20050620.crack" or --rom="/roms/PS20220WD20050620.crack"
| --rom || || || location of the bios that's inside of the fpkg || Could allow to use custom bios, though still not working ||  --rom="PS20220WD20050620.crack" or --rom="/roms/PS20220WD20050620.crack"
|-
|-
| --cop1 || {{universal}} || jit, trans || {{string}} || ?  ||
| --cop1 || {{universal}} || jit, trans || {{string}} || ?  ||
Line 2,687: Line 2,686:
|-
|-
| Unknown IOP issues || Genji - Dawn of the Samurai, Wild Arms 4 ||  A number of issues can be at play here; IOP's cycle speed, for example, is 2x overclocked, CDVD's read speed and the SIF's speed are unknown.||  
| Unknown IOP issues || Genji - Dawn of the Samurai, Wild Arms 4 ||  A number of issues can be at play here; IOP's cycle speed, for example, is 2x overclocked, CDVD's read speed and the SIF's speed are unknown.||  
|-
| Unknown GS crashes || Star Wars - Battlefront II ||  Different combinations of GS commands. ||
|-
|-
|}
|}
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 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)