# 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 "x86" on 32-bit Windows, or "x64" on 64-bit Windows.

"x86" and "x64" also imply that the CPU is based on the Intel architecture. This doesn't necessarily mean that the CPU was actually manufactured by Intel, only that it uses a compatible instruction set. It could equally well be an AMD chip, since AMD makes CPUs with the same architecture. What "x86" and "x64" do tell you for sure is that the program isn't running on an ARM CPU, which is a different architecture used in some Windows tablets. PinballY doesn't currently run on ARM versions of Windows, so you won't currently see any values besides x86 and x64 for this property. However, it's always good to keep open the possibility that new platforms could come into the picture in the future, so if possible you shouldn't assume that these are the only two possible cases.

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"