# 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

As of this writing, Windows itself also is capable of running on ARM CPUs, which are used in some Windows tablet computers. PinballY doesn't currently support the ARM versions of Windows, though, so you'll currently only see the two Intel variants listed above. However, to future-proof your code, it's best not to assume that those are the only values possible. An ARM version of PinballY could come along at some point, for example, plus it's entirely possible that Windows will one day run on new CPU architectures that don't exist yet.

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"