A system variable is a variable, which is not freely usable, but provides some specific information of the system. The name of such a variable can be of any length, but only the first two characters are significant.
- ST or STATUS: Input-/output status; read-only
- TI or TIME: Counter of the internal clock in 1/60 seconds steps since system startup (as long it is not set back by modifying TIME$); read-only
- TI$ or TIME$: The time in format HHMMSS since system start (except no changed before); read and write
BASIC 3.5 and higher
- EL (ErrorLine): Number of the BASIC line where the last error has occurred; read-only
- ER (ERror): Number of the last error which has occurred; read-only
- DS (DiskStatus): Disk drive error code of the latest drive in use; read-only
- DS$ (DiskStatus): Disk drive error message text of the latest drive in use; read-only
All these additional system variables introduced with BASIC 3.5 could lead to problems if BASIC V2 are ported to the C264 eries or to the C128. Variables with the same name breaks the program in case of write access and raises the error message .
Even Simons' Basic knows fixed variables:
- GRAPHICS: returns the base address to the register of the C64's VIC chip.
- ERRLN: line number of the latest occurred error.
- ERRN: error number of the latest occurred error.
- JOY: Value from Controlport 2
- PENX: Lightpen X position
- PENY: Lightpen Y position
- SOUND: returns the base address to the register of the C64's SID chip.