POPStarter DOCS

Config Table ($410โ€“$42F)

POPStarter r13 stores a 32-byte configuration table at file offset $410 inside POPSTARTER.ELF/.KELF. Each byte is one setting.

โ„น Nuance
'classic 00 vs debug FF' build label The LABEL is community shorthand, not a verbatim krHACKen string, BUT it is accurate and grounded: it is literally the state of config byte $410 (00 = off = shipped/'classic', FF = realtime = old POPStarter-12). Nuance to state: any value 0x01-0xFE gives PACED (not just 00/FF) debug, and DEBUG_AND_HALT.PPF also flips $411.
โ„น Nuance
$415 / $429 exact byte enumeration - Note that $429 values 00/01/02 (both/none/first-only) are confirmed, but the precise byte values of a few peripheral offsets ($415 ASCII range, $417 residual 0x01 meaning, $42C purpose) are documented qualitatively only

๐Ÿ“Ž from the recovered Configuration Table wiki page ยท merged across snapshots, primary 20170812012646

POPStarter Configuration Table โ€“ Advanced Settings


This documentation concerns the advanced configuration of POPStarter r13, involving the harcoding (or the patch-on-load) of settings to the POPStarter ELF/KELF...

The POPStarter r13 ELF and KELF have a 32 bytes long configuration table, starting from the offset $410 (or 1040 in decimal).

Offset Description Values Notes
$410 Display of the debug texts/pages 0x00 = disables the debug printing
0x01 < X < 0xFF = defines the delay between each page of texts The higher the value is, the longer the delay is
0xFF = the debug texts are displayed in realtime without delay (like in POPStarter 12 and lower)
$411 Break the POPStarter execution after an error has occured 0x00 = POPStarter prints the error message for a short time, then it kicks the user to the OSD.
0x0X POPStarter prints the error message and sleeps on that screen indefinitely
$412 SetGsCrt hack 0x00 = disabled (default)
0x01 = enabled Helps with the HDTVs that canโ€™t deal with the interlaced resolutions thru component (plain green screens and other rubbish displayed otherwise).
$413 USB access delay, after the execution of the POPStarter embedded USB modules 0x02 should be fine. Increase the value if POPStarter fails to access your USB device
$414 RESERVED (in USB operation mode) Must be 0x40
$415 User ID for individual VMCs If set to 0x00, the function is disabled. For assigning an ID to the couple of VMC, the value must be an ASCII character of โ€œ0โ€, โ€œ1โ€, โ€œ2โ€, โ€œ3โ€, โ€œ4โ€, โ€œ5โ€, โ€œ6โ€, โ€œ7โ€, โ€œ8โ€ or โ€œ9โ€
$416 POPS dev9 module loading (in USB operation mode) 0x00 = Let POPS load it Default is 0x03. If you need to wake the NIC up (for debugging stuff for example), set this to 0x00
0x03 = Forbids its loading
$417 NOT USED
$418 Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$419 Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41A Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41B Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41C Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41D Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41E Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$41F Force a single compatibility mode 0x00 = No compatibility mode is forced
0x0X = the respective compatibility mode is forced and the automatic activator gets disabled
$420 Patch the genuine HDD check 0x00 = Donโ€™t patch Totally useless. When running in a PS2, a homebrew ATAD is used. When running in a PSX, the original POPS ATAD is used. Leave it to 0x01
0x01 = Patch
$421 Loading and execution of the OSD shell of the POPS built-in BIOS 0x00 = Load in the user memory and execute (donโ€™t patch anything) 0x01 has the same effect as the compatibility mode 0x06. Skips the CD checks and the PS logo. Both donโ€™t work if the user uses a BIOS.BIN
0x01 = Donโ€™t load, donโ€™t execute
$422 Exception breakpoints control 0x00 = Break the emulator (donโ€™t patch anything) 0x01 NOPs the break instructions of the 2nd-stage exception handler, allowing the user to trigger IGR after the emulation has crashed (in a few cases)
0x01 = Donโ€™t break the emulator
$423 Original SLBB-00001 disc0 integrity check control 0x00 = Donโ€™t skip the integrity check
0x01 = Skip the integrity check
$424 IGR exit method 0x00 = Original SLBB-00001+PSBBN method 0x00 causes the emulator to read the MBR by its own, without flushing the cache and without resetting the IOP. Crashy for most users.
0x01 = POPStarter r13 method
$425 IOPCD stack size (in USB operation mode) 0x00 = Donโ€™t patch
0x01 = Patch
$426 Delcroโ€™s patches (in USB operation mode) 0x00 = Donโ€™t apply those to POPS
0x01 = Apply those to POPS
$427 Emulator modules loading failure 0x00 = Donโ€™t patch (Kick to the PS2 OSD) For your h4ร—0ring needz. . Patch it so you no longer have to care about the returned code of your injected IRX.
0x01 = Patch (Ignore and continue)
$428 Internal HDD initialization failure 0x00 = Donโ€™t patch (Kick to the PS2 OSD) For your h4ร—0ring needz.
0x01 = Patch (Ignore and continue)
$429 Virtual Memory Cards control 0x00 = Use both VMCs
0x01 = Donโ€™t use VMCs at all
0x02 = Use just the first VMC in the first virtual slot
$42A Automatic PAL patch upon European VCD recognition 0x00 = Disabled The Automatic PAL Patcher of POPStarter expects โ€œEuroโ€ at the offset $102514 of the VCD
0x01 = Enabled
0x02 = Force 480p
$42B Resident modules loader 0x00 = Disabled POPS/MODULE_0.IRX POPS/MODULE_1.IRX... up to POPS/MODULE_9.IRX. Are executed AFTER the IOP gets reset with IOPRP252.IMG, for Great Justice.
0x01 = Enabled
$42C Software PowerOff fix 0x00 = Disabled Canโ€™t remember what it is. Perhaps itโ€™s a redundant option of a deimplemented functionโ€ฆ Prolific, mass ?
0x01 = Enabled
$42D IGR textures loader 0x00 = Disabled POPS/IGR_BG.TM2 POPS/IGR_NO.TM2 POPS/IGR_YES.TM2
0x01 = Enabled
$42E Game license/region check of the POPS built-in BIOS 0x00 = Leave unpatched The patch just NOPs the loop. The PS logo is not shown when a non-JAP game is run.
0x01 = Patch it so it does not loop the check when the VCD isnโ€™t NTSC J
$42F POPStarter automatic compatibility mode activator 0x00 = Do not enable anything If set to 0x03 and a compatibility mode is forced, it will be changed to 0x02 automatically (applies the forced modes and not the automatic ones)
0x01 = Enable the automatic compatibility modes activation
0x02 = Enable the other subroutines (like LibCrypt cracks, when available)
0x03 = Enable all

Default values :


PPF bunch pack :


=================================================================================
-----------------------PPF Bunch pack for POPStarter r13-------------------------
=================================================================================
Hi !
I am a bunch of .PFF files. You can use me to enable POPStarter advanced settings. You need a PPF patcher (such as PPF-O-Matic) to use me and apply PPF over POPStarter.ELF.
Here is what I can do for you :
- File name : description (notes)
- NO_LC_CRACKS.PPF : Disables the built-in LC cracks of POPStarter r13 (from WIP05. Automated modes are disabled also).
- DEBUG_AND_HALT.PPF : Prints the screen debug messages and halt (from WIP05).
- NO_VMC.PPF : Disables VMC feature (new)
- ONLY_1ST_VMC.PPF : Only the first VMC in the first virtual slot is created (new)
- NO_PAL.PPF : Disables the automatic PAL patch (new)
- FORCE_MODEX.PPF : Mode X hardcoded into POPStarter r13 (new)
- DEFAULT_IGR_TEXTURES.PPF : Disables the IGR textures loader (new)
- LC_ONLY.PPF : Enable the other subroutines (like LibCrypt cracks), disable the compatibility modes. (new).
- NO_AUTO_PATCH.PPF : Disables everything (modes, LC cracks...) (new).


Images & screenshots

The 32-byte config table in POPSTARTER.ELF/.KELF

POPStarter r13 stores a single contiguous 32-byte configuration table at file offset $410 (1040 dec) through $42F, one byte per setting, in both the ELF and the KELF (byte-identical tables). The verified factory default is: 00 00 00 02 40 00 03 01 | 00 00 00 00 00 00 00 00 | 01 00 01 01 01 01 01 01 | 01 00 01 01 01 01 01 03. Patch it by direct hex edit or via the PPF bunch pack (PPF-O-Matic); always back up the original 32 bytes first.

The base report's four seed offsets are adjudicated as follows. $410 = debug-text display (00 = off / 'classic', 01-FE = paced page delay, FF = realtime / old POPStarter-12 behaviour) - the base's '04 = debug print' is imprecise, since 04 is merely a short delay. $413 = USB access delay, default 0x02 (raise it if a USB drive isn't detected) - and this is the offset that fixes detection, NOT the $USBDELAY_# cheat, which patches POPS for streaming. $42A is multi-valued: 00 = PAL patcher off, 01 = auto-PAL (default), 02 = force 480p. The big correction is $412: in r13 it is the SetGsCrt/HDTVFIX hack (default 0x00), NOT a 'function skipper.' The function skipper genuinely lived at $412 in pre-Beta-13 builds and was REMOVED in Beta 13 (2015-12-07, ~10 KB saved); the freed byte was repurposed for HDTVFIX in Beta 15/16. Relatedly, the USB delay migrated: the 2015 PFS-wrapper delay was at $417 (default 0x05 then 0x00), which is marked 'NOT USED' in r13 - old guides citing 417h are obsolete.

Beyond the seeds, the full table was recovered: $411 halt-on-error, $414 RESERVED (=0x40), $415 per-VMC user ID (ASCII digit), $416 POPS dev9 loading, $418-$41F the 8-slot force-compatibility array, $420 HDD check (leave 0x01), $421 BIOS OSD shell (= mode 0x06), $422 exception breakpoints (IGR-after-crash), $423 SLBB-00001 integrity, $424 IGR exit method (gates the BOOT.ELF chain), $425 IOPCD stack, $426 Delcro's patches, $427/$428 module/HDD failure-ignore, $429 VMC count (00 both / 01 none / 02 first only), $42B MODULE_#.IRX resident loader, $42C software-poweroff fix (purpose uncertain even to the author), $42D IGR-textures loader, $42E region/license check, and $42F the auto-patch master switch (00 none / 01 auto modes / 02 LibCrypt subroutines / 03 all (default) / 04 test mode). The PPF bunch pack maps friendly patches onto these bytes: DEBUG_AND_HALT ($410+$411), NO_VMC / ONLY_1ST_VMC ($429), NO_PAL ($42A), FORCE_MODEX ($418-$41F), DEFAULT_IGR_TEXTURES ($42D), LC_ONLY / NO_AUTO_PATCH / NO_LC_CRACKS ($42F).

From the official thread โ€” config-table & direct hex edits

Sourced from the official psx-place POPStarter thread.
krHACKen items are authoritative.

See the full per-offset table in the Config Table section above; these thread notes pin down
$412/$413 with concrete edit values.

Per-offset reference cards (cross-sourced summary)

Config table location/size primary config

Effect: The POPStarter r13 ELF and KELF contain a 32-byte configuration table from file offset $410 (1040 dec) through $42F, one byte per setting. Verified default table: 00 00 00 02 40 00 03 01 | 00 00 00 00 00 00 00 00 | 01 00 01 01 01 01 01 01 | 01 00 01 01 01 01 01 03. ELF (167700B) and KELF (167708B) tables are byte-identical. There is NO offset above $42F.
Scope: POPSTARTER.ELF/.KELF, r13. Patch via hex edit or the PPF bunch pack.
Conflicts: krHACKen: 'don't tamper unless you know exactly what it is for; back up the default config first.'
$410..$42F = 00 00 00 02 40 00 03 01 00 00 00 00 00 00 00 00 01 00 01 01 01 01 01 01 01 00 01 01 01 01 01 03
๐Ÿ“Ž PRIMARY: config-table wiki (Wayback 20170626021731 / 20220321112104) + direct hexdump of archive.org popstarter-r-13-beta-20190605

$410 - debug text display primary config

Effect: 0x00 = debug printing DISABLED (factory default, the 'classic' build). 0x01-0xFE = delay between debug pages (higher = longer; ~0x12/18 dec readable). 0xFF = realtime debug text (POPStarter 12 behavior). Basis of the community 'classic 00 vs debug FF' label.
Scope: POPSTARTER.ELF/.KELF byte $410. r13. SMB-mode setups effectively run debug-on.
Conflicts: Equivalent to applying DEBUG_AND_HALT.PPF (which also sets $411).
Set byte $410 to 12 (=18 dec) for paced debug pages, or FF for realtime
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump; ps2-home debug tutorial t=5311 (Wayback 20190808161830)

$411 - break/halt on error primary config

Effect: 0x00 = print the error briefly then kick to PS2 OSD (default). Non-zero = print the error and sleep on that screen indefinitely (so you can read it).
Scope: POPSTARTER.ELF/.KELF byte $411. r13. Default 0x00.
Conflicts: Pairs with $410: DEBUG_AND_HALT.PPF sets both.
Set $411=0x01 to freeze on the error/debug screen when a game fails to boot
๐Ÿ“Ž PRIMARY: config-table wiki (Wayback 20170626021731) + ELF hexdump

$412 - SetGsCrt / HDTVFIX hack primary config

Effect: 0x00 = disabled (default). 0x01 = enabled. The feature exposed as the $HDTVFIX cheat. CORRECTION to base report: in r13 $412 is HDTVFIX, NOT a 'function skipper'. The function skipper lived at $412 ONLY in pre-Beta-13 builds and was REMOVED in WIP06 Beta 13 (2015-12-07, ~10KB saved); the freed byte was repurposed for SetGsCrt in Beta 15/16 (2016).
Scope: POPSTARTER.ELF/.KELF byte $412. r13. Default 0x00. SetGsCrt implemented Beta 15, default-off Beta 16.
Conflicts: INCOMPATIBLE with some CRT TVs. Equivalent to $HDTVFIX.
$HDTVFIX, or hex-edit byte $412=0x01, to fix green-screen on a component HDTV
๐Ÿ“Ž PRIMARY: r13 CHANGES.TXT (function-skipper removal 2015/12/07; HDTVFIX 2016/09/18 + 2016/11/20) + config-table wiki + ELF hexdump

$413 - USB access delay primary config

Effect: USB access delay applied AFTER POPStarter's embedded USB modules run (how long it waits before reaching the USB device). Default 0x02. Increase if POPStarter fails to access the USB device.
Scope: POPSTARTER.ELF/.KELF byte $413. r13. USB mode. Default 0x02 (verified).
Conflicts: DO NOT confuse with the $USBDELAY_# CHEATS.TXT command (that patches POPS for streaming and does NOT help find the drive). Distinct from the old PFS-wrapper delay at $417.
USB drive not detected: hex-edit byte $413 from 02 up to 05/0A until it mounts
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump; ps2-home debug tutorial t=5311

$414 - RESERVED primary config

Effect: RESERVED (in USB operation mode). Must be 0x40. Not a user tunable.
Scope: POPSTARTER.ELF/.KELF byte $414. r13. Default 0x40.
Conflicts: Changing it can break USB operation.
(leave at 0x40)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$415 - per-VMC user ID primary config

Effect: User ID for individual VMCs. 0x00 = disabled (default). Set to the ASCII code of a digit '0'..'9' (0x30..0x39) to tag the VMC pair to a user (lets multiple users keep separate VMCs from one install).
Scope: POPSTARTER.ELF/.KELF byte $415. r13. Default 0x00.
Conflicts: Value must be a literal ASCII digit byte (0x31 for '1'), not raw 0x01.
Set $415=0x32 (ASCII '2') so this build uses VMCs tagged for user 2
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$416 - POPS dev9 module loading primary config

Effect: POPS dev9 module loading (USB mode). 0x00 = let POPS load dev9. 0x03 = forbid loading (default). Set 0x00 to wake the NIC (e.g. for debugging).
Scope: POPSTARTER.ELF/.KELF byte $416. r13. Default 0x03.
Conflicts: Only relevant in USB mode.
(default 0x03 keeps NIC off during USB play)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$417 - NOT USED (legacy PFS-wrapper USB delay) primary config

Effect: Marked 'NOT USED' in the r13 wiki (vestigial; shipped byte reads 0x01). HISTORICALLY this was the PFS-wrapper USB delay (default 0x05 in Beta 2 2015-06-25, changed to 0x00 in Beta 8 2015-10-23). Old guides citing 'USB delay at 417h' refer to this obsolete PFS-wrapper delay; in r13 use $413.
Scope: POPSTARTER.ELF/.KELF byte $417. r13 = NOT USED; 2015 betas = PFS-wrapper delay.
Conflicts: Do not patch $417 expecting a USB-detect fix in r13.
(do not edit; use $413 instead)
๐Ÿ“Ž PRIMARY: r13 CHANGES.TXT (Beta 2 + Beta 8) + config-table wiki + ELF hexdump; Pastebin 719TCAd5

$418-$41F - force compatibility modes (8 slots) primary config

Effect: Force a single compatibility mode per byte; 8 slots = force up to 8 modes simultaneously. Per byte: 0x00 = no mode; 0x0X = force that mode AND disable the automatic activator. All default 0x00. The 8-slot design was added WIP02 (2014-08-22).
Scope: POPSTARTER.ELF/.KELF bytes $418-$41F. r13.
Conflicts: Hardcoded equivalent of $COMPATIBILITY_0x##. Modes 0x01/0x02/0x03/0x05 still must NOT be combined. Forcing any mode here interacts with $42F (auto-changes 0x03 -> 0x02).
Hardcode mode 0x04 + 0x06 globally: $418=0x04, $419=0x06 (rest 0x00)
๐Ÿ“Ž PRIMARY: config-table wiki + CHANGES.TXT 2014/08/22 + ELF hexdump

$420 - patch the genuine HDD check primary config

Effect: 0x00 = don't patch. 0x01 = patch (default). Effectively a no-op for end users (homebrew ATAD on PS2, original POPS ATAD on PSX). krHACKen: 'totally useless, leave it to 0x01.'
Scope: POPSTARTER.ELF/.KELF byte $420. r13. Default 0x01.
Conflicts: No practical reason to change.
(leave at 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$421 - load/execute POPS BIOS OSD shell primary config

Effect: 0x00 = load into user memory and execute (default; don't patch). 0x01 = don't load/execute - same effect as compatibility mode 0x06 (skips CD checks and the PS logo). Neither value applies if a user BIOS.BIN is supplied.
Scope: POPSTARTER.ELF/.KELF byte $421. r13. Default 0x00.
Conflicts: Hardcoded equivalent of mode 0x06 / $COMPATIBILITY_0x06. Overridden by a user BIOS.BIN.
Set $421=0x01 to globally skip the BIOS OSD shell / PS logo (same as mode 6)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$422 - exception breakpoints primary config

Effect: 0x00 = break the emulator. 0x01 = NOP the 2nd-stage exception handler's break instructions, allowing IGR after the emulation has crashed (in a few cases). Shipped default 0x01.
Scope: POPSTARTER.ELF/.KELF byte $422. r13. Default 0x01.
Conflicts: Debug/recovery aid.
(default 0x01 lets you IGR out of a crashed emulator)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$423 - SLBB-00001 disc0 integrity check primary config

Effect: Original SLBB-00001 disc0 integrity-check control. 0x00 = don't skip. 0x01 = skip (default). Relates to the PSX/PSBBN SLBB-00001 boot disc path.
Scope: POPSTARTER.ELF/.KELF byte $423. r13. Default 0x01.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$424 - IGR exit method primary config

Effect: 0x00 = original SLBB-00001+PSBBN method (reads MBR itself, no cache flush, no IOP reset - crashy for most users). 0x01 = POPStarter r13 method (default), which enables the mc0->mc1:/BOOT/BOOT.ELF->OSDSYS exit chain from Beta 13.
Scope: POPSTARTER.ELF/.KELF byte $424. r13. Default 0x01.
Conflicts: Leaving 0x00 reproduces the old crashy exit.
(default 0x01 enables the BOOT.ELF exit chain)
๐Ÿ“Ž PRIMARY: config-table wiki + CHANGES.TXT 2015/12/07 + ELF hexdump

$425 - IOPCD stack size patch primary config

Effect: IOPCD stack size patch (USB mode). 0x00 = don't patch. 0x01 = patch (default).
Scope: POPSTARTER.ELF/.KELF byte $425. r13. Default 0x01. USB mode.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$426 - Delcro's patches primary config

Effect: Delcro's patches (USB mode). 0x00 = don't apply to POPS. 0x01 = apply (default).
Scope: POPSTARTER.ELF/.KELF byte $426. r13. Default 0x01. USB mode.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$427 - emulator-modules load-failure behavior primary config

Effect: 0x00 = don't patch (kick to PS2 OSD). 0x01 = patch: ignore the returned code of an injected IRX and continue (default). 'For your h4x0ring needz.'
Scope: POPSTARTER.ELF/.KELF byte $427. r13. Default 0x01.
Conflicts: Developer/modder convenience for custom injected IRX.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$428 - internal-HDD init-failure behavior primary config

Effect: 0x00 = don't patch (kick to PS2 OSD). 0x01 = patch: ignore and continue (default). 'For your h4x0ring needz.'
Scope: POPSTARTER.ELF/.KELF byte $428. r13. Default 0x01.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$429 - Virtual Memory Cards control primary config

Effect: 0x00 = use both VMCs (default). 0x01 = don't use VMCs at all. 0x02 = use only the first VMC in the first virtual slot. This (NOT $42A) controls how many VMCs are created. Hardcoded equivalent of $NOVMC0/$NOVMC1.
Scope: POPSTARTER.ELF/.KELF byte $429. r13. Default 0x00.
Conflicts: PPF equivalents: NO_VMC.PPF (=0x01), ONLY_1ST_VMC.PPF (=0x02).
Disable all VMCs globally: $429=0x01 (or NO_VMC.PPF)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$42A - auto-PAL patch / 480p primary config

Effect: 0x00 = disabled (PAL patcher off, = $NOPAL). 0x01 = enabled (auto-PAL when 'Euro' is found at VCD offset $102514; default). 0x02 = FORCE 480p output. 480p calc added Beta 15 (2016-09-18).
Scope: POPSTARTER.ELF/.KELF byte $42A. r13. Default 0x01.
Conflicts: 0x02 is the hardcoded equivalent of $480p (cannot be done via a PATCH file). 0x00 = NO_PAL.PPF / $NOPAL. Some games (e.g. Dead Or Alive) output an unsupported 480p signal.
Force 480p: byte $42A=0x02 (or $480p). Disable PAL patcher: $42A=0x00 (or $NOPAL)
๐Ÿ“Ž PRIMARY: config-table wiki + CHANGES.TXT 2016/09/18 + ELF hexdump

$42B - resident modules loader primary config

Effect: 0x00 = disabled. 0x01 = enabled (default). Loads POPS/MODULE_0.IRX .. MODULE_9.IRX AFTER the IOP is reset with IOPRP252.IMG (kills matching embedded POPS drivers).
Scope: POPSTARTER.ELF/.KELF byte $42B. r13. Default 0x01.
Conflicts: Enables the MODULE_#.IRX user-driver injection system.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$42C - software PowerOff fix primary config

Effect: 0x00 = disabled. 0x01 = enabled (default). Purpose uncertain even to the author ('can't remember... perhaps redundant... Prolific, mass?').
Scope: POPSTARTER.ELF/.KELF byte $42C. r13. Default 0x01.
Conflicts: Author admits ambiguity (possibly Prolific/mass-storage poweroff).
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$42D - IGR textures loader primary config

Effect: 0x00 = disabled. 0x01 = enabled (default). Loads POPS/IGR_BG.TM2, IGR_NO.TM2, IGR_YES.TM2 for the IGR menu skin.
Scope: POPSTARTER.ELF/.KELF byte $42D. r13. Default 0x01.
Conflicts: PPF to disable: DEFAULT_IGR_TEXTURES.PPF (sets 0x00, reverts to built-in textures).
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$42E - game license/region check primary config

Effect: 0x00 = leave unpatched. 0x01 = patch so the BIOS doesn't loop the region check when the VCD isn't NTSC-J (default; NOPs the loop). The PS logo is not shown for non-JAP games.
Scope: POPSTARTER.ELF/.KELF byte $42E. r13. Default 0x01.
Conflicts: Trade-off: region-free skips the PS logo for non-JP titles.
(default 0x01)
๐Ÿ“Ž PRIMARY: config-table wiki + ELF hexdump

$42F - automatic compatibility-mode activator (master switch) primary config

Effect: 0x00 = enable nothing. 0x01 = automatic compatibility-mode activation. 0x02 = other subroutines (LibCrypt cracks). 0x03 = ALL (default). 0x04 = 'test mode' (disables per-game fixes, automated modes and LibCrypt fixes; enables integrated test-hacks; added WIP06 Prototype 2 2017-05-27). Special: if 0x03 AND a mode is forced in $418-$41F, it auto-changes to 0x02.
Scope: POPSTARTER.ELF/.KELF byte $42F (last byte). r13. Default 0x03.
Conflicts: PPF equivalents: NO_AUTO_PATCH.PPF (=0x00), LC_ONLY.PPF (=0x02), NO_LC_CRACKS.PPF. 0x04 is a diagnostic mode - not for normal play.
Disable all auto-patching: $42F=0x00 (NO_AUTO_PATCH.PPF). LibCrypt-only: $42F=0x02 (LC_ONLY.PPF)
๐Ÿ“Ž PRIMARY: CHANGES.TXT 2017/05/27 (Prototype 2 adds the 0x04 test mode) + ELF hexdump. Note: the recovered config-table wiki rows list 0x00โ€“0x03 only.

'classic 00 vs debug FF' build label near-primary config

Effect: Community shorthand for the two states of config byte $410: 'classic' ships $410=0x00 (silent boot), 'debug' is $410=0xFF (realtime debug text, old POPStarter-12 behavior). NOT a separate codebase - same ELF, one byte differs (plus optionally $411).
Scope: POPSTARTER.ELF/.KELF byte $410. Canonical r13 download ships 'classic' (00).
Conflicts: VERDICT: the LABEL is informal community usage, but ACCURATE and grounded in the primary $410 semantics. Nuance: 0x01-0xFE gives PACED debug (not just 00/FF), and DEBUG_AND_HALT also flips $411.
'Classic': $410=00. 'Debug realtime': $410=FF. 'Debug paced': $410=12 (18 dec)
๐Ÿ“Ž NEAR-PRIMARY: derived from PRIMARY $410 definition + verified shipped byte 0x00 + ps2-home tutorial t=5311. Exact phrase is community, not a verbatim krHACKen string.

All 1 wiki pages in this topic

Every recovered page filed under this section โ€” including the deep-reference pages not embedded above.