psx.wiki

SYSTEM.CNF: Difference between revisions

Revision as of 02:44, 23 October 2026
RemmyLee
(CPU and system bus at register depth: instruction set, COP0, I/O map, memory control, interrupts, DMA, timers)
Revision as of 02:45, 23 October 2026
RemmyLee
(BIOS and kernel: A, B, C functions, syscalls, events, threads, file I/O, boot, PS-X EXE)
Line 5:Line 5:
category: File formatscategory: File formats
category: System softwarecategory: System software
+info: File name = SYSTEM.CNF
+info: Location = Root directory of the disc
------
## Overview## Overview
−SYSTEM.CNF holds the PlayStation settings and names the application to start.[^os23]+SYSTEM.CNF is Sony's system designation file. It describes the PlayStation system settings and the application that is to be started.[^os23] The kernel reads the file at boot time and uses it to reserve memory for the stack, the tasks and the events.[^lo203] The [PS-X OS](/system/ps-x-os/) first checks the type of disc in the CD-ROM drive, and only an appropriate disc has its SYSTEM.CNF read and the named program executed.[^os23] The [boot](/system/bios/boot/) page describes the whole sequence.
−Sony's name for SYSTEM.CNF is System Designation File.[^os23]+## Syntax
−At boot the [PS-X OS](/system/ps-x-os/) checks the disc. On the right disc it reads SYSTEM.CNF and starts the program it names.[^os23]+Each parameter is described from the beginning of a line in `<key word> = <content>` format. All characters are 1-byte uppercase alphanumerics, and lowercase characters may not be used. A space is necessary on both sides of the equal sign. When the same parameter appears more than once in a file, the first one found takes precedence.[^os23] The TCB and EVENT values are written in hexadecimal.[^lo203]
−## Syntax+## Keywords
−Each parameter starts at the beginning of a line in the form `<key word> = <content>`.[^os23]+The parameters that may be described are shown below.
−The file uses 1-byte uppercase alphanumeric characters. Lowercase characters may not be used.[^os23]+Table: System designation file keywords
−A space is needed on both sides of the equal sign.[^os23]+| Key word | Contents | Default | Minimum | Example |
+| --- | --- | --- | --- | --- |
+| BOOT | Device name, file name and version of the boot executable[^lo203] | cdrom:PSX.EXE;1 | | BOOT = cdrom:\SLUS_123.45;1 |
+| TCB | Number of task control blocks (hex) | 4 | 1 | TCB = 5 |
+| EVENT | Number of event control blocks (hex) | 0x10 | 0 | EVENT = 5 |
+| STACK | Stack pointer value when the BOOT file starts | 0x801FFF00 | 0x8010000 | STACK = 800FFF0 |
−When a parameter appears more than once, the first one found takes precedence.[^os23]+The PlayStation Operating System manual gives the STACK default as 0x8001FF00.[^os23] The Run-Time Library Overview and psx-spx both give 0x801FFF00, which is 256 bytes below the top of 2 MB of memory in segment B.[^lo203][^spxcnf]
−## Keywords+## Limits
−SYSTEM.CNF takes the following parameters:+The number of task control blocks and event control blocks that can be allocated is limited by the formula TCB * 192 + EVENT * 32 + 544 < 4096.[^lo203] The BIOS itself opens 5 events for its CD-ROM functions. Consequently, of the 16 events given by the default EVENT = 10, only 11 are available to the game.[^spxev]
−Table: System designation file keyword list+## Boot Argument
−| Keyword | Content | Default | Example |+The BOOT line may carry an argument string after the file name. The BIOS copies this string to the 128-byte area at address 0x00000180, where the executable may read it.[^spxcnf][^spxmap]
−| --- | --- | --- | --- |
−| BOOT | Name of the file to be started[^os23] | GAME.PSX | BOOT = PSXAPP.EXE |
−| TCB | Number of tasks | 4 | TCB = 5 |
−| EVENT | Number of events | 16 | EVENT = 5 |
−| STACK | Stack pointer value when the BOOT file starts | 0x8001FF00 | STACK = 800FFF0 |
+## Boot File Name
+
+Licensed games name the boot executable after the product code printed on the case. Because ISO 9660 level 1 allows only 8 characters in a base name, the minus sign is replaced by an underscore and the last two digits move into the extension, so SLUS-12345 becomes SLUS_123.45.[^spxcnf] The suffix ";1" is the ISO 9660 file version number. When a disc has no SYSTEM.CNF, the BIOS boots the file PSX.EXE instead.[^spxcnf]
+
+## Example
+
+A typical SYSTEM.CNF reads as follows.[^spxcnf]
+
+```
+BOOT = cdrom:\SLUS_123.45;1
+TCB = 4
+EVENT = 10
+STACK = 801FFF00
+```
+
## References## References
[^os23]: Sony Computer Entertainment Inc. PlayStation Operating System. August 1998. Page 2-3, Table 2-1.[^os23]: Sony Computer Entertainment Inc. PlayStation Operating System. August 1998. Page 2-3, Table 2-1.
+[^lo203]: Sony Computer Entertainment Inc. Run-Time Library Overview. January 1999. Page 2-3, Table 2-1.
+[^spxcnf]: psx-spx. CDROM File Formats, SYSTEM.CNF. https://psx-spx.consoledev.net/cdromfileformats/
+[^spxmap]: psx-spx. Kernel (BIOS), BIOS RAM Map. https://psx-spx.consoledev.net/kernelbios/
+[^spxev]: psx-spx. Kernel (BIOS), B(08h) OpenEvent. https://psx-spx.consoledev.net/kernelbios/