TI-99/4A Character Memory
Recently I came across something on my TI-99/4A which I don't understand. With Extended BASIC installed and no program in memory, I defined a character from 127 to 143 with the CHAR subprogram. I then typed NEW and SIZE (to give the amount of memory available). I found no memory had been used although the character remained redefined. Can you explain this?
In Extended BASIC, the SIZE command returns the number of bytes left for BASIC programming and variable storage. Character codes for characters from 127 to 143, however, are stored in a separate protected area of memory. This is why you observed no difference in the memory available for programming after you defined a character in this range.
Since the area of memory used for defining characters 127 to 143 is not affected by the BASIC program, it can be used to pass variable values between programs. Variable data need only be coded into a 16-character hexadecimal string (a pattern identifier). CALL CHAR is used to store the string (which can hold eight bytes), and CALL CHARPAT will retrieve the string. For details on this method, see "Transferring Variables in TI Extended BASIC" by Patrick Parrish in COMPUTE!'s TI Collection, Volume 1.