Editing 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 170: | Line 170: | ||
| || Speedhacks / Desync Fixes|| || | | || Speedhacks / Desync Fixes|| || | ||
|- | |- | ||
| --ee-cycle-scalar || | | --ee-cycle-scalar || Accelerate EE cycles: (0.999 => 0.100)<br>Decelerate EE cycles: (1.001 => 5.000) || Can benefit core sync or performance (too much deceleration can cause stuttery fmvs.) The default value for most emulators is ~1.0. It is highly sensitive, as any slight change may break or fix the game. (Possibly divides 100 with the entered value and sets the result as EE's clock speed percentage % .) || --ee-cycle-scalar=1.0 | ||
|- | |- | ||
| --ee-context-switch-cycles || Accelerate cycles (360 => 0) <br>Decelerate cycles (361 => ∞ ) || Its effects are mysterious | | --ee-context-switch-cycles || Accelerate cycles (360 => 0) <br>Decelerate cycles (361 => ∞ ) || Its effects are mysterious, but likely affect COP0. 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.|| --ee-context-switch-cycles=2700? | ||
|- | |- | ||
| [[--ee-hook|--ee-hook]] || AdvanceClock<br>FastForwardClock<br>Mfifodrain || Runs the specified | | [[--ee-hook|--ee-hook]] || AdvanceClock<br>FastForwardClock<br>Mfifodrain || Runs the specified feature every time a selected EE offset is reached. FastForwardClock and AdvanceClock help fix core sync issues, but can be used as a speedhack. Mfifodrain is still unknown. [[--ee-hook|For more examples]] ||--ee-hook=0x0025A9F2,AdvanceClock,,500 <br>--ee-hook=0x0019F0AD,FastForwardClock | ||
|- | |- | ||
|-style="background-color:#D7EF54" | |-style="background-color:#D7EF54" | ||
Line 287: | Line 287: | ||
| --fpu-rsqrt-fast-estimate || 0, 1 || Decreases RSQRT's accuracy. Enabled by default, disabling it helps with achieving full FPU accuracy. || --fpu-rsqrt-fast-estimate=1 | | --fpu-rsqrt-fast-estimate || 0, 1 || Decreases RSQRT's accuracy. Enabled by default, disabling it helps with achieving full FPU accuracy. || --fpu-rsqrt-fast-estimate=1 | ||
|- | |- | ||
| --fpu-accurate-mul-fast || 0, 1 || Speedhack for | | --fpu-accurate-mul-fast || 0, 1 || Speedhack for FPU muldiv commands. || --fpu-accurate-mul-fast=1 | ||
|-style="background-color:#FFAA00" | |-style="background-color:#FFAA00" | ||
| || Other || || | | || Other || || | ||
Line 335: | Line 335: | ||
| || Other || || | | || Other || || | ||
|- | |- | ||
| --cop2-regalloc || 0, 1 ? || | | --cop2-regalloc || 0, 1 ? || PCSX2 seems to have this enabled by default. Uknown function, might be a speechack. || | ||
|- | |- | ||
| --cop2-inst-q || 0, 1 || instant Q, no stalling on VWAITQ, or instances of Q. Crashes some games when enabled. || | | --cop2-inst-q || 0, 1 || instant Q, no stalling on VWAITQ, or instances of Q. Crashes some games when enabled. || | ||
Line 389: | Line 389: | ||
| --vu-t-bit || 0, 1 || Debug halt. Acts similarly to D-bit || --vu-t-bit=0 | | --vu-t-bit || 0, 1 || Debug halt. Acts similarly to D-bit || --vu-t-bit=0 | ||
|- | |- | ||
| --vu-inst-mflag || 0, 1 || Instant macflag? | | --vu-inst-mflag || 0, 1 || Instant macflag? || --vu-inst-mflag=1 | ||
|- | |- | ||
| --vu-inst-cflag || 0, 1 || Instant cflag? || --vu-inst-cflag=1 | | --vu-inst-cflag || 0, 1 || Instant cflag? || --vu-inst-cflag=1 | ||
Line 412: | Line 412: | ||
| --vu1-di-bits || 0, 1 || 0 Skips setting invalid, and Divides by zero flags in status register. Can be used as a speedhack as it can skip costly calculations. But at the same time, it can cause issues such as broken geometry. || --vu1-di-bits=0 | | --vu1-di-bits || 0, 1 || 0 Skips setting invalid, and Divides by zero flags in status register. Can be used as a speedhack as it can skip costly calculations. But at the same time, it can cause issues such as broken geometry. || --vu1-di-bits=0 | ||
|- | |- | ||
| --vu1-const-prop || 0, 1|| Enabled by default. 0 will disable it and cause performance issues | | --vu1-const-prop || 0, 1|| Enabled by default. 0 will disable it and cause performance issues.[https://github.com/PCSX2/pcsx2/blob/58f5a5b915915293b90e7e8f34c33f9c0424d1e8/pcsx2/x86/microVU_Misc.h#L312 More info] || --vu1-const-prop=1 | ||
|- | |- | ||
| --vu1-opt-flags || 0, 1, 2 || Optimize flags upon recompilation (1 is safe, 2 update sticky, and mac flag on every status flag update) [https://github.com/PCSX2/pcsx2/blob/58f5a5b915915293b90e7e8f34c33f9c0424d1e8/pcsx2/x86/microVU_Misc.h#L280 More Info] || --vu1-opt-flags=0 | | --vu1-opt-flags || 0, 1, 2 || Optimize flags upon recompilation (1 is safe, 2 update sticky, and mac flag on every status flag update) [https://github.com/PCSX2/pcsx2/blob/58f5a5b915915293b90e7e8f34c33f9c0424d1e8/pcsx2/x86/microVU_Misc.h#L280 More Info] || --vu1-opt-flags=0 | ||
Line 569: | Line 569: | ||
| --gs-use-deferred-l2h || 0, 1 || Delay option for L2H (local to host, GS to EE). || --gs-use-deferred-l2h=1 | | --gs-use-deferred-l2h || 0, 1 || Delay option for L2H (local to host, GS to EE). || --gs-use-deferred-l2h=1 | ||
|- | |- | ||
| --gs-use-clut-merge || 0, 1 || | | --gs-use-clut-merge || 0, 1 ||Color lookup table(?). It sometimes restores missing graphical elements, and fix texture flickering. || --gs-use-clut-merge=1 | ||
|- | |- | ||
| --gs-flush-ad-xyz || always, safe, safeZwrite, off, 0 || 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 || always, safe, safeZwrite, off, 0 || 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 | ||
Line 584: | Line 584: | ||
| --gs-kernel-cl-up || "DarkCloud2" "fantavision" "h2lpool2x2", "OptRightTri", "clutmerge2x2", "mipmap2x2", "up2x2simple", "up2x2skipinterp", "up2x2tc", "up2x2", default || Kernel Variant Color lookup Upscaler (?), mipmap and clutmerge and h2l need to be enabled before their options become usable|| --gs-kernel-cl-up="clutmerge2x2" | | --gs-kernel-cl-up || "DarkCloud2" "fantavision" "h2lpool2x2", "OptRightTri", "clutmerge2x2", "mipmap2x2", "up2x2simple", "up2x2skipinterp", "up2x2tc", "up2x2", default || Kernel Variant Color lookup Upscaler (?), mipmap and clutmerge and h2l need to be enabled before their options become usable|| --gs-kernel-cl-up="clutmerge2x2" | ||
|- | |- | ||
| --gs-override-small-tri-area || 0, 1 || | | --gs-override-small-tri-area || 0, 1 || Small triangle rejection. Could potentially restore missing text in some games. || --gs-override-small-tri-area=1 | ||
|- | |- | ||
| --gs-dirty-page-policy || 0, 1 || Unknown. Used by Star Wars: Jedi Starfighter || --gs-dirty-page-policy=1 | | --gs-dirty-page-policy || 0, 1 || Unknown. Used by Star Wars: Jedi Starfighter || --gs-dirty-page-policy=1 | ||
Line 592: | Line 592: | ||
| --gs-ignore-rect-correction || 0, 1 || Setting it to 1 is known to fix flickering textures and graphical glitches in far distances. || --gs-ignore-rect-correction=1 | | --gs-ignore-rect-correction || 0, 1 || Setting it to 1 is known to fix flickering textures and graphical glitches in far distances. || --gs-ignore-rect-correction=1 | ||
|- | |- | ||
| --gs-opt-frbuff-switch || 0, 1 || | | --gs-opt-frbuff-switch || 0, 1 || Uknown. Used by Everybody's Tennis/Hot Shots Tennis || --gs-opt-frbuff-switch=0 | ||
|- | |- | ||
| --gs-kernel-cl || h2lpool, clutmerge, mipmap, DarkCloud2, fantavision, Mipmap and clutmerge and h2l need to be enabled before their options become usable ||Kernel Variant Color lookup(?). Options included here can be upscaling if --gs-kernel-cl-up were to be used along with it || --gs-kernel-cl="clutmerge" | | --gs-kernel-cl || h2lpool, clutmerge, mipmap, DarkCloud2, fantavision, Mipmap and clutmerge and h2l need to be enabled before their options become usable ||Kernel Variant Color lookup(?). Options included here can be upscaling if --gs-kernel-cl-up were to be used along with it || --gs-kernel-cl="clutmerge" | ||
Line 602: | Line 602: | ||
| --gs-progressive || 0, 1 || Enables progressive scan. Can fix graphical glitches/double screen issues. || | | --gs-progressive || 0, 1 || Enables progressive scan. Can fix graphical glitches/double screen issues. || | ||
|- | |- | ||
| --gs-vert-precision || 8, 16 || | | --gs-vert-precision || 8, 16 || 3D rendering vertex precision. The emu expects the values of 8 or 16, any other values are not permitted. || --gs-vert-precision=8 | ||
|- | |- | ||
| --gs-skip-dirty-flush-on-mipmap || 0, 1 || Skip flushing textures marked as dirty from cache when enabled. It does, however, require mipmap to be enabled first. || --gs-skip-dirty-flush-on-mipmap=1 | | --gs-skip-dirty-flush-on-mipmap || 0, 1 || Skip flushing textures marked as dirty from cache when enabled. It does, however, require mipmap to be enabled first. || --gs-skip-dirty-flush-on-mipmap=1 | ||
|- | |- | ||
| --gs-packed15-fmv-opt || 0, 1 || Unknown | | --gs-packed15-fmv-opt || 0, 1 || Unknown. Used by Ape Escape 2|| --gs-packed15-fmv-opt=1 | ||
|- | |- | ||
| --gs-fieldswap-delay || 0, 254 || Wait longer than usual to change field. | | --gs-fieldswap-delay || 0, 254 || Wait longer than usual to change field. Blurs/sharpens image. (Trilinear filtering??) || | ||
|- | |- | ||
| --gs-uv-shift-pointsampling || 0, 1 || 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-uv-shift-pointsampling || 0, 1 || 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 || 0, 3000000 || | | --gs-render-tile-threshold || 0, 3000000 || Uknown. Used by Psychonauts|| --gs-render-tile-threshold=300000 | ||
|- | |- | ||
| --threaded-gs || 0, 1 || Multi-threaded-gs ? || --threaded-gs=1 | | --threaded-gs || 0, 1 || Multi-threaded-gs ? || --threaded-gs=1 | ||
Line 620: | Line 620: | ||
| --gs-frontend-opt-mode || 0, 1, 2 || GS optimization mode? Unknown effect. Used on JakX || --gs-frontend-opt-mode=1 | | --gs-frontend-opt-mode || 0, 1, 2 || GS optimization mode? Unknown effect. Used on JakX || --gs-frontend-opt-mode=1 | ||
|- | |- | ||
| --gs-motion-factor || 25, 50 || | | --gs-motion-factor || 25, 50 || Uknown. Used by Wild ARMS 3|| --gs-motion-factor=25 | ||
|- | |- | ||
| --gs-scanout-delay || 0, 200 || || --gs-scanout-delay=200 | | --gs-scanout-delay || 0, 200 || || --gs-scanout-delay=200 | ||
|- | |- | ||
| --gs-check-trans-rejection || 0, 1 || Check transfer rejection? | | --gs-check-trans-rejection || 0, 1 || Check transfer rejection? Uknown. Used by Grand Theft Auto: Vice City || --gs-check-trans-rejection=1 | ||
|- | |- | ||
| --gs-check-trans-rejection68 || 0, 1 || Unknown. Used by Star Wars: Jedi Starfighter || --gs-check-trans-rejection68=1 | | --gs-check-trans-rejection68 || 0, 1 || Unknown. Used by Star Wars: Jedi Starfighter || --gs-check-trans-rejection68=1 | ||
Line 820: | Line 820: | ||
| || 2015 || || | | || 2015 || || | ||
|- | |- | ||
|War of the monsters v1 || Subjectively the best emulator to use. Used as PS2CLASSICSGUI's default emulator, it is the best one around for accurate gs emulation, as some graphical issues on the Ratchet series and Tekken 5 can only be fixed by it | |War of the monsters v1 || Subjectively the best emulator to use. Used as PS2CLASSICSGUI's default emulator, it is the best one around for accurate gs emulation, as some graphical issues on the Ratchet series and Tekken 5 can only be fixed by it. Additionally, its VU0 timing is much better than Jakv2's, making it one of the best emulators on the PS4. || 0.1 || '''Rogue v1 and v2, Arc the Lad, Star Wars Jedi Starfighter''' | ||
|- | |- | ||
| GTA 3 || Fixed the pal version of '''Genji: Dawn of the Samurai'''. || 0.6 || | | GTA 3 || Fixed the pal version of '''Genji: Dawn of the Samurai'''. || 0.6 || | ||
Line 1,172: | Line 1,172: | ||
|- | |- | ||
|FastForwardClock || eeObj.FastForwardClock() || Skip Emotion Engine cycles? | |FastForwardClock || eeObj.FastForwardClock() || Skip Emotion Engine cycles? | ||
|- | |- | ||
|AdvanceClock || eeObj.AdvanceClock() || | |AdvanceClock || eeObj.AdvanceClock() || it is still unknown how to use this command. Check Psychonauts lua for more details. | ||
|- | |- | ||
| GetClock || eeObj.GetClock() || Returns the value of how many cycles the EE is ahead of normal clock (?) | | GetClock || eeObj.GetClock() || Returns the value of how many cycles the EE is ahead of normal clock (?) | ||
Line 1,540: | Line 1,531: | ||
|- | |- | ||
| FastForwardClock || iopObj.FastForwardClock() || | | FastForwardClock || iopObj.FastForwardClock() || | ||
|- | |- | ||
| AdvanceClock || iopObj.AdvanceClock() || | | AdvanceClock || iopObj.AdvanceClock() || | ||
|- | |- | ||
| GetClock || iopObj.GetClock() || Returns the value of cycles the iop is ahead of (?) | | GetClock || iopObj.GetClock() || Returns the value of cycles the iop is ahead of (?) |