Slow Tl BASIC
In his review of Robot Runner for the T1-99/4A in COMPUTE!, January 1984, Tony Roberts stated that games written in BASIC on the TI are notoriously slow because the microprocessor can't interpret BASIC fast enough. I want to clear up any implication that the TMS9900 CPU in the 99/4A is at fault.
TI BASIC is indeed slow, due to the unusual architecture of the machine and the design of the BASIC interpreter. First of all, the RAM in which BASIC programs are stored is not CPU RAM. The 16K of RAM in the 99/4A is maintained by the TMS9918A video display processor (VDP). There are only 256 bytes of CPU RAM in the 99/4A console.
Every time the microprocessor accesses or RUNs a BASIC program, it must request the program from the VDP one byte at a time, one statement at a time. This causes a great increase in execution time, because the microprocessor must wait for the VDP. While the TMS9900 microprocessor is a word-oriented (16 bits) chip, the VDP works in bytes.
The second reason why TI BASIC is so slow is that the interpreter itself is not written in machine language. It is written in another high-level language known as Graphics Programming Language, or GPL. The GPL interpreter is also built into the 99/4A console. Thus, whenever a BASIC program is RUN, a double interpretation takes place. This is similar to writing a BASIC interpreter in BASIC for an IBM PC. It is really amazing that the TMS9900 can run BASIC as fast as it does, considering.