# systemInfo Object

systemInfo is a pre-defined object that provides information about the PinballY program. You can access it by referring to properties of the global systemInfo object:

message("The PinballY version number is " + systemInfo.version.display);

## Properties

platform: Processor architecture of the current session. This is one of the following:

- "x86" for 32-bit Windows on a CPU using the Intel x86 instruction set
- "x64" for 64-bit Windows on a CPU using the Intel x64 instruction set

To future-proof your code, you shouldn't assume that those are the only possible values, since other platforms could be added in the future. For example, Windows itself runs on ARM CPUs in addition to Intel x86 and x64 platforms, so PinballY could potentially be ported to the ARM version of Windows at some point. Likewise, Windows could add support in the future for new processors that don't even exist yet.

programDir: A string containing the full Windows file system path to the PinballY install folder.

programExe: A string containing the full Windows file system path to the PinballY program (.EXE) file.

programName: A string containing the name of the program ("PinballY").

version: An object with information on the program version. The object has the following properties:

- basic: The basic three-part program version string (e.g., "1.0.0")
- build: An integer giving the build number (an arbitrary serial number that increases on each build, mostly to help identify precise release versions when troubleshooting)
- buildDate: A Date object representing the build date of the running version
- display: The program version string, in a format suitable for display, capturing the basic three-part version, build number, and release status information
- semantic: The semantic versioning representation of the program version
- status: Release status: "Dev", "Alpha", "Beta", "RC" (release candidate), or "Release"