Page 80 of 229 Start Back Next End ZBasic Language Reference 70 ZBasic Microcontrollers Register.Console.Echo This Boolean value, initially set to True, controls whether characters received by Console.Read() and Console.ReadLine() are echoed back to the sending device. See the descriptions of these two functions in the ZBasic System Library Reference for more information. Register.Console.Speed Deprecated – use Option.ConsoleSpeed instead. This read-only UnsignedInteger value gives the default console speed, the baud rate for which Com1 is configured when the system begins running. Register.SignOn This Boolean register contains the flag that controls whether or not the ZX issues a sign-on message when it starts up after reset. It is a Persistent Memory value that may also be set or cleared by using the Option SignOn directive. See Section 2.3.1 for more information. Register.CodeSize Register.RamSize Register.RamStart Register.RamUsed Register.PersistentSize Register.PersistentStart Register.PersistentUsed These system values may be useful for diagnostic and other purposes. Register.CodeSize is a Long constant that indicates the number of bytes of Program Memory consumed by your program together with any Program Memory data items that it defines. Register.RamSize is an UnsignedInteger constant that indicates the total number of bytes of User RAM that is directly available to your program. Register.RamStart is an UnsignedInteger constant that indicates address at which User RAM begins. Register.RamUsed is an UnsignedInteger constant that indicates the total number of bytes of User RAM that your program statically allocates. The difference between Register.RamSize and Register.RamUsed represents the number of bytes that will be allocated automatically for the task stack for the Main() task. Similarly, Register.PersistentSize is an UnsignedInteger value that indicates the size of Persistent Memory, in bytes, that is available to your program. Register.PersistentStart is an UnsignedInteger value that indicates address at which User Persistent Memory begins and Register.PersistentUsed indicates the number of byte of Persistent Memory actually used by your program. These values are all read-only. Register.HeapEnd This read-only UnsignedInteger value indicates the lower bound of the memory allocation heap. The heap grows from the high end of RAM toward the beginning of RAM. As blocks of memory are allocated from the heap (for String variables or to satisfy System.Alloc() requests), the value of Register.HeapEnd will decrease. As blocks of memory are returned to the heap (as String variables change or go out of scope, or due to calls to System.Free()), the value of Register.HeapEnd may or may not increase. The value of Register.HeapEnd will not increase until the allocated block of memory closest to its current value is freed. At that time, Register.HeapEnd will increase to be near the lowest still-allocated block.