4 ms·
The Basic was slow for several reasons. 1. Double interpretation: As other already pointed out, the interpreter was written in an interpreted language, a kind
by schlupa 9y ago
The Basic was slow for several reasons.
1. Double interpretation: As other already pointed out, the interpreter was written in an interpreted language, a kind of byte code if you prefer.
2. GROM routines: What added to the pain was that a lot of the routines necessary for the program were not in ROM but in TI specific GROM. All the "CALL something" (CALL CHAR, CALL HCHAR, CALL VCHAR, CALL SOUND, etc.) commands were GROM routines. GROM were a kind of serial ROMS that only TI manufactured (one of the reasons third parties had such a struggle with that machine).
3. VRAM: the worst offender why TI-BASIC (and TI-EXTENDED-BASIC) were so slow was that the basic console only had a wopping 256 bytes of memory. Yes, you read it right, the CPU only had 256 bytes of fast 16 bit memory. This memory was used by the system and were not accessible to the programmer. So where was the BASIC code then? It was stored in the video RAM and the CPU had no direct way to read and write to it. It always had to go through the TMS9918 video chip. This has 2 consequences, it was obviously slow and it clogged the video RAM. So unless one bought the 32K RAM expansion (which was outrageously expensive) or the mini-memory module (but then no Extended Basic was possible) it was impossible to use the graphic modes, making that incredibly advanced graphic chip a dud.
It's probably the strangest machine (aka f..d up) of the home computer era.