Cheats โ CHEATS.TXT
POPStarter's embedded cheat engine. Codes live in a CHEATS.TXT in the game's VMC folder; always start it with $SAFEMODE. The full recovered cheat documentation is below, followed by community additions and a quick-reference.
- The file must be named
CHEATS.TXTin UPPERCASE on internal HDD/PFS โ aCHEATS.txtis silently ignored (the real cause of most "my cheat /$HDTVFIXdoes nothing on HDD" reports). $SAFEMODEonly gates raw GameShark codes โ it delays them until after POPS startup. Named$commands($NOPAL,$IGR#,$WIDESCREENโฆ) do not need it; it's harmless but unnecessary if your file has no raw codes.- The external device mastercode
902377F4 0C0902EFis for ps2rd / CodeBreaker only โ do not put it inCHEATS.TXT. The in-file mastercode is the per-gameC0type. - Copy
0x##not0ร##โ paste hex with an ASCIIx.
$NOPAL(PALโnative NTSC) usually needs a$YPOS_##companion (e.g.$YPOS_10) to re-center the picture afterward.$HDTVFIXoutputs 480i (NTSC) / 576i (PAL) โ if a game unexpectedly shows 480i instead of 240p, check for a stray$HDTVFIX. Don't use it as a default (CRT interlace flicker).$USBDELAY_#patches POPS for streaming stalls (try +2โ3) โ it does not fix "USB not detected"; raise config byte$413for detection.
๐ from the recovered Special Cheats wiki page ยท merged across snapshots, primary 20241203112538
Special Cheats โ Automated Codes
Some useful commands have been automated. Here are them :
- Sample : here
| Cheat Code | Description | Notes |
| $SAFEMODE | Disables the cheat engine and only activate it after POPS has left the PS OSD. | Should be always ON. Some game codes do patch the memory area where the PS OSD is loaded, causing crashes and other garbageโฆ |
| $COMPATIBILITY_0x## | Activates a compatibility mode. | ## is a hexadecimal value. You can write as many $COMPATIBILITY_0x## as you want. |
| $CODECACHE_ADDON_0 | For games that lag badly or stall randomly. | If compatibility mode and mode 0x04 doesnโt fix that doesnโt fix your issue. Do not use it by default on all your games, because most games will stop working with it. |
| $SUBCDSTATUS | A variant of $COMPATIBILITY_0x05. | |
| $FAKELC | Loads a null LibCrypt magic word into the cop0 register. | May be needed by some discs that have a messed up LC protection. |
| $SMOOTH | Enables the smooth texture mapping at startup. | Just for the records : value is $S0003390 00000001. |
| $NOPAL | Disables POPStartersโ PAL patcher. | Can be done using a PATCH_#.BIN file. Not meant to convert NTSC games to PAL. |
| $FORCEPAL | Forces the activation of the PAL patcher (POPS will run it PAL) and patches the BIOS region code to Euro (shows the boot screen in PAL). | Useful for PAL VCDs that donโt have a valid license text in their bootsector. Can be done using a PATCH_#.BIN file. |
| $480p | Forces 480p. | Not compatible with $XPOS, $YPOS, $DWSTRETCH, $DWCROP & NOT reliable ATM. See notes here |
| $WIDESCREEN | Enables POPS GTE widescreen hack and forces 16:9. | Does not deal with stuff like HUDs, texts/fonts, menus, 2D backgroundsโฆ This hack is not finished (no render fixโฆ). |
| $ULTRA_WIDESCREEN | Same as $WIDESCREEN, but wider FOV. | Does not match any aspect ratio standard. Does not deal with stuff like HUDs, texts/fonts, menus, 2D backgroundsโฆ |
| $EYEFINITY | Same as $WIDESCREEN, with 3ร16:9 aspect ratio. | Does not deal with stuff like HUDs, texts/fonts, menus, 2D backgroundsโฆ |
| $XPOS_#### | Centers the screen horizontally. | #### is a number (decimal, negative values not supported). Works only in PAL and NTSC modes. Default value : 640. Value lower than 640 will move the screen on the left, value higher than 640 will move it to the right. Not compatible with $480p. |
| $YPOS_## | Centers the screen vertically. | ## is a number (decimal, negative values not supported). Works only in PAL and NTSC modes. Not working in OBT15, fixed in OBT16. No default value, depends on the game, you have to experiment. The higher the value is, the more the screen moves down. Not compatible with $480p. |
| $DWSTRETCH_#### | Stretches the display horizontally to your screen. | #### is a number (decimal). Works only in PAL and NTSC modes. Default value : 2559. Increase it to stretch the screen on the right, decrease it for the left. Not compatible with $480p. |
| $DWCROP_#### | Reduces/expands the display area width. | #### is a number (decimal). Works only in PAL and NTSC modes. Maximum value : 2560. Decrease it to crop the screen on the right. Not compatible with $480p. |
| $HDTVFIX | Enables SetGsCrt hack. | Helps with the HDTVs that canโt deal with the interlaced resolutions thru component (plain green screens and other rubbish displayed otherwise). Not compatible with some CRT TVs. |
| $SCANLINES | Enables the scanlines generator. | A scanline is a horizontal line, or row, in a raster scanning pattern, so that the image of the games are seen with this type of lines that the old TVs and tube monitors (CRT) had. |
| $MUTE_CDDA | Mutes CDDA tracks. | Done automatically when you play a physical PS1 CDROM from the disc drive. |
| $UNDO_MUTE_CDDA | Unmutes CDDA tracks in PS1CD mode. | |
| $MUTE_VAB | Mute VAB/VAG/VB+VH based sounds/music on games. | May be useful for these old games which output distorted SFX, wrong audio samples or stupid noises. |
| $00507028 00000001 | Rumble Always On (Pad 1). | |
| $005070B8 00000001 | Rumble Always On (Pad 2). | |
| $D2LS | โLeft Stick is the D-Padโ code + Stay on Digital Mode. | Enables joystick support for games that doesnโt support it natively. $D2LS should be OK for most games. If it doesnโt work, the user should try $D2LS_ALT. |
| $D2LS_ALT | โLeft Stick is the D-Padโ code + Stay on Analog Mode. | Enables joystick support for games that doesnโt support it natively. |
| $NOVMC0 | Use VMC1 only. | |
| $NOVMC1 | Use VMC0 only. | |
| $IGR0 | L1 + L2 + R1 + R2 + โ + โ | Opens the IGR menu. |
| $IGR1 | Select + Start | Opens the IGR menu. |
| $IGR2 | L1 + L2 + R1 + R2 + Select + Start | Opens the IGR menu. |
| $IGR3 | L1 + L2 + R1 + R2 + โ + โ | Terminates POPS (no IGR menu). |
| $IGR4 | Select + Start | Terminates POPS (no IGR menu). |
| $IGR5 | L1 + L2 + R1 + R2 + Select + Start | Terminates POPS (no IGR menu). |
| $NOIGR | Disables the IGR menu. | |
| $CACHE1 | Makes POPS buffer 1 sector instead of 16. | |
| $USBDELAY_# | Sets up the PFS wrapper USB delay. | # is a number. |
| $UNDO_GAME_FIXES | Prevents POPStarter from activating game fixes. | This comand may not work for some games to show their problems again, since during the end development of the latest beta, work was done fixing bugs to the POPS, and probably due to patching one of this bugs makes the game work well without needing the specific fixes for each game, (which seems to be the case of the game Crash Bandicoot game in its PAL version). Some game fixes were also removed (it is not remembered for which games) because were made obsolete by the subsequent POPS patches. |
| $20210CF8 2442FFFF $20210CFC 7C640000 $20210D00 00000000 $20210D04 00000000 $20210D08 00000000 $00210D0C 000000FA $S200009C 1F000000 | LibCrypt code for Jackie Chan Stuntmaster (PAL) | With this game in its first batch of discs it has been discovered that it lacks the LibCrypt protection. So if the LibCrypt code built into the POPStarter or the $FAKELC command fails to prevent game freezing, then these codes should be used. |
๐ from the recovered Cheat Engine wiki page ยท merged across snapshots, primary 20200920023545
Cheat Engine
POPStarter has an embedded cheat engine that supports Gameshark/Action Replay PS1 codes (PS1 RAW codes of types 30, 50, 80 and D0 are supported). Some basic rules about the cheat engine :
-
codes will be stored into a txt file named CHEATS.TXT placed into the VMC game folder (each game will have his own dedicated CHEATS.TXT file) ;
-
each code line has to start with the $ character otherwise the code is not enabled ;
-
each code line must have a space between the adress and the value ;
Example :
Castlevania โ Symphony of the Night [NTSC-U]
CHEATS.TXT location :
POPS/Castlevania Symphony of the Night (NTSC-U)/CHEATS.TXT
CHEATS.TXT content :
$SAFEMODE
$80097BA0 270F // Infinite Health
Notes :
-
It is highly recommended to have to $SAFEMODE command code at the very first line of the CHEATS.TXT file ;
-
Some PS1 games need mastercodes otherwise they crash (ex : Air Race Championship). Only type C0 are supported. Mastercodes of type C1 (aka activation on delay time) are not and will not be supported ;
-
You can disable a code if you remove the $ character from the code ;
-
You can enable a code for ALL your games if you place the CHEATS.TXT file in POPS folder ;
-
You can find a list of useful generic commands here ;
-
A massive PS1 codes list in PS1 RAW format can be found here ;
-
Gamehacking.org is also a great place for PS1 cheats code ;
-
You can also use POPStarter with a PS2 cheat device (ps2rd, Codebreaker, Cheat Device PS2). POPS Mastercode is 902377F4 0C0902EF. PS2 RAW codes of types 0, 1 and 2 are supported. A massive PS1 codes list in PS2 RAW format โ ready-to-use โ can be found here. In order to use a PS1 code with a PS2 cheat device, you need to convert it to PS2 RAW format : add $01000000 to the PS1 code adresses and comply with the code type definitions of the target PS2 cheat engine. For more info about how to convert codes, check this post.
Related stuff :
You may want to give a look at this :
From the official thread โ cheat clarifications
Sourced from the official psx-place POPStarter thread;
items marked krHACKen are from POPStarter's author and are authoritative.
CHEATS.TXTmust be UPPERCASE. ACHEATS.txtis silently ignored on internal HDD/PFS (case-sensitive),
even though SMB is tolerant โ this is the real root cause behind many "my cheat /$HDTVFIXdoes nothing on
HDD" reports. In uLaunchELF press R1 to renameCHEATS.txtโCHEATS.TXT. (krHACKen / jolek)$SAFEMODEis ONLY for raw hexadecimal (GameShark/Action-Replay) codes โ the built-in named$
commands ($IGR#,$NOPAL,$NOIGR,$WIDESCREEN, โฆ) do not need it. Leading every file with
$SAFEMODEis harmless but unnecessary for named commands. (krHACKen)$IGR5is the OPL-style In-Game-Reset โ combo Select + Start + L1 + L2 + R1 + R2, with no
YES/NO exit popup. This is the variant most people actually want for a clean, OPL-like instant exit.
(krHACKen)- Raw codes: put them in
CHEATS.TXTin the game's VMC folder, prefix every code line with$, and
lead the file with$SAFEMODE. Some unusual code types simply won't work or will crash the emulation.
(krHACKen, hand-correcting a user's syntax)
Ready-to-use PS1 code lists
Massive collections of PS1 GameShark/Action-Replay codes in POPS-ready format (large pages):
Cross-sourced quick-reference cards (provenance-tagged)
$SAFEMODE primary cheats
$SMOOTH primary cheats
$NOPAL primary cheats
$FORCEPAL primary cheats
$FAKELC primary cheats
$COMPATIBILITY_0x## primary cheats
$CODECACHE_ADDON_0 primary cheats
$SUBCDSTATUS primary cheats
$480p primary cheats
$HDTVFIX primary cheats
$SCANLINES primary cheats
$XPOS_#### primary cheats
$YPOS_## primary cheats
$DWSTRETCH_#### primary cheats
$DWCROP_#### primary cheats
$WIDESCREEN primary cheats
$ULTRA_WIDESCREEN primary cheats
$EYEFINITY primary cheats
$MUTE_CDDA primary cheats
$UNDO_MUTE_CDDA primary cheats
$MUTE_VAB primary cheats
$D2LS primary cheats
$D2LS_ALT primary cheats
$NOVMC0 primary cheats
$NOVMC1 primary cheats
$CACHE1 primary cheats
$USBDELAY_# primary cheats
$UNDO_GAME_FIXES primary cheats
Raw GameShark/AR code line ($<addr> <val>) primary cheats
C0 master code primary cheats
PS1->PS2 RAW conversion / external mastercode primary cheats
Rumble Always On raw codes primary cheats
LibCrypt example block (Jackie Chan Stuntmaster PAL) primary cheats
All 4 wiki pages in this topic
Every recovered page filed under this section โ including the deep-reference pages not embedded above.