Page 81 of 229 Start Back Next End ZBasic Language Reference 71 ZBasic Microcontrollers Register.ExtRamConfig This UnsignedInteger value indicates the current external RAM configuration. Of course, it is only meaningful on ZBasic devices that support external RAM, e.g. the ZX-1281. Although you may change this value during execution, the configuration of the external RAM interface will not be affected until the next time the device resets (i.e. following power up, WatchDog reset, download, etc.). Register.FirstTime This read-only Boolean value is identical to that which would be returned by the FirstTime() function. Note, however, that reading the value via Register.FirstTime does not reset the flag like invoking the FirstTime() function does. Register.UserSP This UnsignedInteger register contains the value of the stack pointer for the current task at the moment it is referenced. This value may be useful in estimating the stack usage for a task. For native mode devices (e.g. the ZX-24n) the value of Register.UserSP is identical to Register.SP. Caution: modifying this value will probably cause your program to malfunction. Register.SP This UnsignedInteger register contains the value of the hardware stack pointer of the underlying processor at the moment it is referenced. For VM code devices, there are few, if any, practical uses for this value. See, instead, Register.UserSP. For native mode devices, the value of Register.SP is identical to Register.UserSP and indicates the value of the current task’s stack pointer at moment it is referenced. Caution: modifying this value will probably cause your program to malfunction. 3.8 Built-in Constants The compiler provides several built-in constants. These constants may be used in conditional directives and they may also be used as if they were constants defined by the normal means. The entries in the table below that begin with Option typically derive their value from the corresponding Option directives, the corresponding compiler command line options or their respective default values. Name Type Description Module.Name String The name of the module being compiled. Module.Number UnsignedInteger The ordinal number of the module being compiled. Option.AllocStr Boolean Indicates if dynamic string allocation is in effect. Option.AtnChar Byte Gives the value of the ATN character (if non-zero). Option.Base Integer Gives the array base value for the current module. Option.CodeLimit UnsignedLong Specifies the code size limit (zero if none is specified). Option.Com1Speed Long Deprecated. Use Option.ConsoleSpeed. Option.ComChannels Byte Indicates the maximum number of SW UART channels. Option.ConsoleChannel Byte Indicates the console serial channel (e.g. 1 means Com1). Option.ConsolePin Byte Gives the pin to be used for console output (zero if none). Option.ConsoleSpeed Long Gives the current default console channel baud rate. Option.CPUFamily String Deprecated. Use Option.TargetFamily. Option.CPUType String Deprecated. Use Option.TargetMCU. Option.ExtRamAble Boolean Indicates if the device supports external RAM use. Option.ExtRamEnabled Boolean Indicates if external RAM use is enabled. Option.HeapLimit UnsignedInteger Indicates the specified heap limit. Option.HeapReserve UnsignedInteger Indicates the default or specified minimum heap size.