Files
psxrecomp/docs/RUNTIME_FLAGS.csv
T
NyperYuhgard b24d685421 Documentation
2026-07-11 19:05:44 -05:00

13 KiB

1typeflag_or_fielddefaultdescription
2CLI--bios <path>(compile-time default)Override the BIOS ROM path (SCPH1001.BIN). CLI wins over game.toml and settings.toml.
3CLI--game <toml>(auto-detect)Load a game config TOML (single source of truth for disc / memcard / title / debug port). Relative paths resolve against exe dir.
4CLI--disc <path>(from game.toml)Override the game config disc path (CUE/BIN).
5CLI--debug-port <n>4370Override the TCP debug-server port (multi-instance soak fleet). Wins over game.toml.
6CLI--renderer <name>softwareOverride renderer: software | opengl | vulkan.
7CLI--window-title <str>(from game.toml)Override SDL window title (fleet labeling).
8CLI--launcheroffForce the GUI launcher on (overrides skip_launcher in settings.toml).
9CLI--no-launcheroffSkip the GUI launcher (boot straight in). Same as PSX_NO_LAUNCHER=1.
10CLI--headlessoffSkip SDL window + audio; TCP screenshots/state only. Same as PSX_HEADLESS=1.
11CLI<positional>(none)Deprecated alias for --bios.
12ENVPSX_BIOS_HLEfrom game.tomlEnable HLE BIOS tier (1=on0=off). When on: instant boot-skipkernel services computed in-runtime. 0 for pure LLE.
13ENVPSX_BIOS_HLE_KEEP_INTRO0When HLE BIOS is onkeep the intro boot animation (don't skip to game).
14ENVPSX_HLE_SCHEDULER1Enable deterministic HLE TCB scheduler (1=on0=off). Works under both BIOS backends.
15ENVPSX_HEADLESS0Boot without SDL window/audio (1=on). Use TCP for all I/O.
16ENVPSX_NO_LAUNCHER0Skip the GUI launcher window (1=on). Boots straight into game.
17ENVPSX_DEV_INPUT0Merge all controllers to P1 for debugging (1=on).
18ENVPSX_EXIT_HALT0Halt-and-serve on PC=0 exit (1=on). Keeps TCP server alive after game ends.
19ENVPSX_FAIL_FAST_UNKNOWN_DISPATCH1Abort on unknown dispatch target (1=on). 0 = log and continue.
20ENVPSX_FAIL_FAST_UNIMPLEMENTED1Abort on unimplemented opcode (1=on). 0 = log and continue.
21ENVPSX_FAIL_FAST_UNSUPPORTED1Abort on unsupported instruction (1=on). 0 = log and continue.
22ENVPSX_FORCE_INTERP0Route ALL RAM through dirty-RAM interpreter (1=on). Debug: disables compiled native code entirely.
23ENVPSX_SHELLWIN_INTERP0Route BIOS shell window [0x300000x5AFFF] through dirty-RAM interpreter (1=on).
24ENVPSX_MMIO_WAIT1Enable device-region read-cycle waits (1=on). 0 = no waits (fast but breaks timing).
25ENVPSX_POLL_PROOF0Extra cycle cost for low-RAM reads (0=off>0=cycles added). Timing correction factor.
26ENVPSX_LOAD_DELAY1Enable R3000A load-delay interlock timing (1=on0=off). 0 = no load-delay modeling.
27ENVPSX_ICACHE1Enable I-cache simulation (1=on0=off).
28ENVPSX_IDLE_SKIP0Skip pacing in idle loops (1=on). Runs at host speed during BIOS idle polling.
29ENVPSX_RECURSION_LIMIT256Max dispatch recursion depth before abort.
30ENVPSX_MIXED_OWNER1Enable mixed-mode stack watermark (1=on0=off). Controls compiled↔interp transitions.
31ENVPSX_MIXED_STACK_KB700Mixed-mode stack overflow threshold in KB.
32ENVPSX_STARVATION_TIMEOUT_US4000000Watchdog timeout in microseconds (default 4s). Aborts if emulation stalls.
33ENVPSX_RECORD_FRAME(none)Arm the frame-gated ordered access recorder from boot for guest frame N.
34ENVPSX_READ_WATCHlo,hiArm a targeted main-RAM read watch range for the recorded frame.
35ENVPSX_STACK_GUARD_KB(default)Stack guard size in KB for overflow detection.
36ENVPSX_PRECISE_SLICE0Precise-cycle slicing mode (0=off1=on). Breaks large blocks at device deadlines.
37ENVPSX_PRECISE_ALWAYS0Always use precise-cycle mode (0=off1=on).
38ENVPSX_PRECISE_MARGIN500Margin in cycles for precise-slice deadline detection.
39ENVPSX_DIRTY_ENTRY_POLL0Dirty-RAM entry poll interval.
40ENVPSX_DEFER_SWITCH1Defer mode switch on exception (1=on0=off).
41ENVPSX_EXC_CLEAR_RESUME_LATCH0Clear resume latch on exception.
42ENVPSX_SAME_THREAD_RESTORE0Restore on same thread (0=default).
43ENVPSX_COSIM_PORT4600TCP port for cycle-lockstep cosimulation oracle.
44ENVPSX_COSIM_STRIDE(default)Cosimulation stride (cycles between checks).
45ENVPSX_COSIM_START_CYCLE0Cycle number to start cosimulation.
46ENVPSX_PARITY_TRACE0Enable control-flow parity trace (compiled vs interp dispatch parity1=on).
47ENVPSX_PARITY_WATCHlo,hiAddress range for parity watch (hex).
48ENVPSX_DEVTRACE0Enable device event ring (1=on). Records I_STAT source events with cycle timestamps.
49ENVPSX_FNTRACE_ALL0Enable function trace for ALL dispatches (1=on). Heavy overhead.
50ENVPSX_OVERLAY_BACKENDautoOverlay tier selection: auto | gcc | tcc | auto-no-gcc | sljit(deprecated).
51ENVPSX_OVERLAY_NATIVE_BLOCKaddr,...Per-game overlay addresses to block from native compilation (hexcomma-separated).
52ENVPSX_OVERLAY_NATIVE_OFF0Force overlay native compilation OFF (1=on). Routes everything through interpreter.
53ENVPSX_OVERLAY_DIFF0Enable overlay shadow diff (track native vs interpreter divergence1=on).
54ENVPSX_OVERLAY_IRQ_SUPPRESS0Suppress IRQ delivery during overlay native execution (1=on). For timing isolation.
55ENVPSX_OVERLAY_IRQ_RATELIMIT0IRQ rate-limit during overlay native execution (finer than full suppress).
56ENVPSX_OVERLAY_IRQ_BUDGET(default)IRQ budget during overlay native execution.
57ENVPSX_OVERLAY_IRQ_NO_CDROM0Exclude CDROM IRQs from overlay IRQ suppression.
58ENVPSX_OVERLAY_IRQ_DEFER_CDROM0Defer CDROM IRQs during overlay native execution.
59ENVPSX_OVERLAY_IRQ_POST_PUMP(default)Post-IRQ pump cycles during overlay native execution.
60ENVPSX_OVERLAY_UNIT_DEFER0Defer overlay unit loading.
61ENVPSX_SLJIT_ENABLE0Enable SLJIT JIT tier for overlays.
62ENVPSX_SLJIT_SYNC0Force synchronous SLJIT compilation (disable async).
63ENVPSX_SLJIT_LIVE0Enable SLJIT live compilation mode.
64ENVPSX_NO_SLJIT0Disable SLJIT entirely.
65ENVPSX_WS_FORCE_2D0Force widescreen 2D mode (1=on). For testing pure-2D games.
66ENVPSX_SCREEN(default)Override CRT filter / screen kind (raw|crt|composite|trinitron).
67ENVPSX_AUDIO_SHADOW0Enable SPU float-shadow re-render (1=on). Catmull-Rom resampleverified-enhancement.
68ENVPSX_CD_TRAP_CMD(none)Trap specific CDROM command (hex byte). Pauses when matching command is issued.
69ENVPSX_CD_TRAP_NTH1Stop on the Nth matching CDTRAP command (default 1st).
70ENVPSX_CD_DMA_TRACE0Enable CD DMA trace logging (1=on).
71ENVPSX_XLATE_LE0Little-endian text translation mode.
72ENVPSX_XLATE_ALLOW_NUL0Allow NUL bytes in text translation capture.
73ENVPSX_XLATE_CAPTURE0Enable text translation capture mode.
74ENVPSX_LOW_LATENCY_INPUT1Re-sample pad after wall-clock pacer (1=on). Reduces input→photon latency.
75ENVPSX_VSYNC1Present/swap mode: 1=on (tear-free)0=immediate (may tear)-1=adaptive.
76ENVPSX_XPROBE_FRAME_TRIP(default)Cross-probe frame trip threshold.
77ENVPSX_XPROBE_STK_KB(default)Cross-probe stack KB threshold.
78ENVPSX_XPROBE_WARMUP(default)Cross-probe warmup frames.
79ENVPSX_RECORD_FRAME(default)Arm frame-gated ordered-access recorder from boot for frame N.
80ENVPSX_READ_WATCHlo,hiArm targeted main-RAM read watch for recorded frame.
81game.toml[game].exe_path(required)Path to PS-X EXE file.
82game.toml[game].load_address0x80010000EXE load address in guest RAM.
83game.toml[game].entry_pc(required)EXE entry PC address.
84game.toml[game].text_size(required)EXE text segment size in bytes.
85game.toml[game].stack_base(none)Initial $sp value.
86game.toml[game].disc...Disc path (CUE). Single disc or first of [[game.discs]].
87game.toml[[game.discs]](none)Array of disc paths for multi-disc games.
88game.toml[game].disc_crc(none)Expected CRC32 of data track (for launcher badge).
89game.toml[game].disc_sha1(none)Expected SHA-1 of data track (hex).
90game.toml[runtime].debug_port(none)TCP debug-server port for this game.
91game.toml[runtime].languageenDefault localization language code.
92game.toml[[runtime].languages](none)Launcher language menu options [{codelabel}].
93game.toml[runtime].window_title(none)Default SDL window title.
94game.toml[runtime].memcard_dir(none)Memory card directory path.
95game.toml[runtime].fast_boot0DEPRECATED → alias for HLE boot shell-skip.
96game.toml[runtime].bios_hle1Enable HLE BIOS tier (1=on0=off for pure LLE).
97game.toml[runtime].bios_hle_keep_intro0Keep intro animation when HLE BIOS is on.
98game.toml[runtime].hle_scheduler1Enable deterministic HLE TCB scheduler (1=on).
99game.toml[runtime].overlay_cache0Enable overlay DLL cache + capture (1=on).
100game.toml[runtime].turbo_loads0OPT-IN: run unpaced during CD load screens (1=on).
101game.toml[runtime].overlay_autocompile_cmd(none)Shell command for auto-overlay compilation.
102game.toml[runtime].overlay_autocompile_cmd_tcc(none)Same as above but using bundled TinyCC.
103game.toml[runtime].overlay_backendautoOverlay compiler backend: auto | gcc | tcc | auto-no-gcc.
104game.toml[[runtime].overlay_native_block][]Overlay function addresses to force through interpreter.
105game.toml[video].supersampling1Internal-resolution SSAA factor (1= native2..4 = scaled).
106game.toml[video].antialiasing1Linear-filter upscale (1=smooth0=sharp pixels).
107game.toml[video].low_latency_input1Re-sample pad before present (1=on).
108game.toml[video].vsync1Present mode: 1=on0=immediate-1=adaptive.
109game.toml[video].auto_skip_fmv0Skip FMVs instantly when detected (1=on).
110game.toml[video].fmv_skip_total_table0Address of per-movie total-frame table (for game-native FMV skip).
111game.toml[video].fmv_skip_movie_id0Address of current movie-id byte.
112game.toml[video].fmv_skip_end_total3Offset subtracted from total to trigger skip.
113game.toml[video].fmv_skip_no_xa0Broaden FMV detection to MDEC-only (no XA required).
114game.toml[audio].spu_hq0Enable SPU float-shadow re-render (Catmull-Rom1=on).
115game.toml[controller].allow_hybrid1Show Hybrid option in launcher pad-mode selector.
116game.toml[controller].lock_mode0Hide pad-mode selector (force default_mode for all ports).
117game.toml[controller].lock_device0Hide controller device picker entirely.
118game.toml[controller].deadzone12000Default analog-stick deadzone (raw SDL axis units0..32767).
119game.toml[controller].legacy_pad_config0Legacy pad protocol (pre-DualShock config SM). Only Tomba opts in.
120settings.toml[video].renderer(from game.toml)Override renderer: 0=software1=opengl.
121settings.toml[video].supersampling(from game.toml)Override SSAA factor (1..4).
122settings.toml[video].window_width1280Window width in pixels (height = width*3/4).
123settings.toml[video].antialiasing(from game.toml)Override AA toggle.
124settings.toml[video].texture_filter(from game.toml)Override texture filtering: 0=nearest1=bilinear.
125settings.toml[video].screen_kind(from game.toml)Override CRT filter.
126settings.toml[video].auto_skip_fmv(from game.toml)Override FMV skip toggle.
127settings.toml[video].turbo_loads1Override turbo-through-loads toggle.
128settings.toml[video].fast_boot0Override fast boot toggle.
129settings.toml[video].bios_hle(from game.toml)Override HLE BIOS toggle.
130settings.toml[video].fullscreen0Launch in desktop fullscreen (1=on). In-game F11/Alt+Enter toggles live.
131settings.toml[video].low_latency_input(from game.toml)Override low-latency input toggle.
132settings.toml[video].vsync(from game.toml)Override vsync mode.
133settings.toml[launcher].skip_launcher0Boot straight inskip GUI launcher (1=on).
134settings.toml[launcher].ui_scale1.0Launcher UI scale (0.5 .. 2.0).
135settings.toml[audio].spu_hq(from game.toml)Override SPU HQ toggle.
136settings.toml[bios].path(from game.toml)Override BIOS ROM path.
137settings.toml[disc].path(from game.toml)Override disc path.
138settings.toml[memcard].dir(from game.toml)Override memory card directory.
139settings.toml[memcard].card1_path(auto)Override slot-1 card file path.
140settings.toml[memcard].card2_path(auto)Override slot-2 card file path.
141settings.toml[memcard].card1_enabled1Enable memory card slot 1.
142settings.toml[memcard].card2_enabled1Enable memory card slot 2.
143settings.toml[controller].p2_devicenonePlayer 2 input device.
144settings.toml[controller].p1_modehybridPlayer 1 pad mode: hybrid | analog | digital.
145settings.toml[controller].p2_modehybridPlayer 2 pad mode.
146settings.toml[controller].deadzone(from game.toml)Override analog-stick deadzone.
147settings.toml[localization].languageenOverride localization language.